a native ios client for gitbay

client ios swift

https://gitbay.org

commits: show the patch in place; move the profile to a tab !22

merged cmc wants to merge krz/gitbay-ios:commit-diff-and-profile-tab into main

cmc

Closes #7.

The commit screen is the diff now. A Changes row navigated to RepoRoute.file — the whole file at that commit — while the patch sat behind a separate toolbar button. Tapping a row labelled +12 −3 and getting an unannotated source file is not what it says it does.

The web has no such split: on /{owner}/{repo}/commit/{sha} the file path is a <summary> that expands the patch inline, and there is no separate diff page. DiffFileSection already implements exactly that and the MR diff uses it; CommitView hand-rolled a row that linked away. It now uses the component, which makes the toolbar button, the commitDiff route and CommitDiffView redundant — all removed. Net −1 route, −1 view.

This drops the only way to open a whole file from a commit. The web does not offer that either; browse to it through the tree.

Profile is a tab. The account control now lives on that tab and nowhere else — dashboard and repositories keep their +, feed and explore carry nothing. "My Profile" left the account menu, being the tab itself. ProfileView takes an optional title so your own profile is titled to match its tab while other people's keep their name.

Verified on device: dashboard shows only +, feed and explore show no toolbar, My Profile shows the account button. testProfileAndNavigation, testAccountFlows and testOrgFlows pass live; the commit assertion is now that a hunk header renders inline, which only a real diff produces.

Three tests fail on main for unrelated reasons — instance data they pin has drifted. Confirmed pre-existing by running them on main, and filed as #8 rather than patched here. The one exception is the email-section scroll in testAccountFlows, fixed here because this branch changes how that screen is reached.