a native ios client for gitbay

client ios swift

https://gitbay.org

readmes as org, review threads anchored in the diff !13

merged cmc wants to merge krz/gitbay-ios:org-readmes-inline-threads into main

cmc

Two features plus the test-harness lessons they surfaced.

README.org renders as Org (closes #4). The Markdown block parser turned #+title: into a heading and left [[link]] raw. Now: headings from #+title and stars, #+begin_src/example/quote blocks, both list forms, and inline =code= / [[url][text]]. A bold *word* opening a line stays prose. Format follows the file name, never a guess at content.

Review threads anchor to their diff line, with reply and resolve in place. Threads the diff has moved past — stale, or on a line no longer shown — collect in their own section instead of disappearing. The anchoring rule moved out of the view into UnifiedDiff where it belongs and can be tested: match on path plus the side's numbering; a stale thread anchors nowhere, because the head it referenced is gone. ThreadView became ReviewThreadView, shared by the MR screen and the diff.

Two UI-test helpers, each encoding a real failure:

  • selectTab taps until the tab reports front. A tap dispatched before the app is interactive is swallowed silently — this only passed on runs where signing in happened to add the delay, which is why it looked device-specific.
  • focusAndType waits for the keyboard before typing; a tap can land before the field is ready and the keystrokes go nowhere. All 16 typing sites route through it.

RepoRefs models the shape krz/gitbay#45 proposes. No such command exists, so it stays unused and the comment says so — branch names are still typed, not picked.

150 unit tests green. Screenshot checkpoint green across iPhone 17e, 17 Pro, and 17 Pro Max in both appearances.

Closes #4 Ref #11