* fix(mobile): build the Source Control action sheet from desktop's menu rows
Adds Force Push and desktop's order, enable rules and hints.
* fix(mobile): rebase from desktop's effective base and keep the Force Push warning in the action sheet
* fix(mobile): keep the rebase row's base when the branch compare fails
* fix(mobile): keep upstream compares working when the default base lookup fails
* fix(mobile): keep the rebase target apart from the branch compare so failed or unsupported compares keep it
* fix(mobile): leave force pushes to desktop when the linked review has its own push target
* refactor(mobile): rebase onto the shown base and share the force-push block with the primary action
* fix(mobile): list Source Control changes with desktop's sections, sort and row rules
Conflicts get their own section in the user's group order, submodule rows lose stage and
discard like desktop, paths sort with the shared collator, and review notes go out as desktop formats them.
* fix(mobile): read the group order the host now publishes and keep submodule rows read-only
The host's paired settings projection now carries sourceControlGroupOrder, the
normalized status projection keeps submodule metadata, and conflict rows reuse the
shared conflict-kind labels.
* refactor(mobile): share Source Control grouping and row rules with desktop
Desktop and mobile group rows through one shared helper, mobile's unstage button
follows desktop's rule, and the group order resets when the host changes.
* fix(mobile): prepare Create PR and the commit action like desktop
Create PR now fast-forwards a behind-only branch before committing, picks its push step
from desktop's shared rule, and the commit-area button reads the branch's review state.
* fix(mobile): keep Create PR commit failures intact and skip fork push-target gating
Restaging after a failed commit is best effort and checks the branch first, and reviews
with their own push target are not gated until mobile reads targeted upstream status.
* fix(mobile): enter Create PR on desktop's intent rule and leave fork push targets ungated
* refactor(mobile): share the linked-review push decision and enter Create PR on desktop's intent rule
Desktop and mobile compose the review push target through one shared function, the
Create button admits branches Create PR can prepare, and older hosts without a lookup
outcome still fail closed on mobile.
Render committed branch changes as virtualized SectionList rows for clean and dirty working trees, keeping all files accessible without delaying Back. Share the existing sleek scrollbar rules with mobile web pages and retain explicit hidden-indicator settings.
Fixes#30170. Review reference: #30171; thanks to @zhangxaochen for the diagnosis and initial proposed fix.
Co-authored-by: zhangxaochen <zhangxaochen@163.com>