Both apps had both features. iOS carried them in its tab bar; Android had them as buttons most of the way down the Account screen, behind a comment arguing the kit's bar is four icons and "a wallet people open occasionally does not earn the slot".
What that produced: somebody testing the Android build reported Files and Wallet as missing. That is a fair reading of a feature you have to scroll past a dozen settings sections to reach — and two apps disagreeing about where a feature lives is worse than either answer.
What changed
Seven destinations, in iOS's order: Home · Messages · Calls · Stories · Files · Wallet · Account.
The Account sections are gone, not kept alongside. Two routes to one screen is two things to keep in step, and the bar is the one people look at.
Tapping a tab calls navigateTo, not showScreen. Wallet and Files each read the vault before they have anything to draw, so a bare showScreen lands somebody on an empty screen with nothing loading and no error. That is now one method with the loading inside it, so no future caller can navigate past it.
The bar's contents are data now, and a test reads them
It was a hand-written run of NavButton calls, so nothing could assert what was in it — a destination could vanish in a refactor and no test anywhere would go red. That is exactly how this divergence survived for weeks.
NavDestinations.tabs() returns the list. Five tests pin:
the order, against iOS's
the nav-* tags the instrumented suite looks for (its nodesWithTag(...).isEmpty() guards turn a renamed tag into a silent early return, so a wrong tag is a test that stops testing and still passes)
that every tab has an accessibility label — the bar draws icons only, so that string is all TalkBack has
that supervision removes Stories and only Stories
Verified from test-results/*.xml — 5 tests, 0 failures — not from BUILD SUCCESSFUL, which prints no test names for :app.
The kit's artboard is four icons and this is seven. A deliberate departure, said in the comment rather than left looking like an oversight.
Related: iOS MainTabView already has this shape.
Both apps had both features. iOS carried them in its **tab bar**; Android had them as buttons most of the way down the **Account screen**, behind a comment arguing the kit's bar is four icons and "a wallet people open occasionally does not earn the slot".
What that produced: somebody testing the Android build reported Files and Wallet as **missing**. That is a fair reading of a feature you have to scroll past a dozen settings sections to reach — and two apps disagreeing about where a feature lives is worse than either answer.
## What changed
Seven destinations, in iOS's order: Home · Messages · Calls · Stories · **Files** · **Wallet** · Account.
The Account sections are **gone**, not kept alongside. Two routes to one screen is two things to keep in step, and the bar is the one people look at.
**Tapping a tab calls `navigateTo`, not `showScreen`.** Wallet and Files each read the vault before they have anything to draw, so a bare `showScreen` lands somebody on an empty screen with nothing loading and no error. That is now one method with the loading inside it, so no future caller can navigate past it.
## The bar's contents are data now, and a test reads them
It was a hand-written run of `NavButton` calls, so **nothing could assert what was in it** — a destination could vanish in a refactor and no test anywhere would go red. That is exactly how this divergence survived for weeks.
`NavDestinations.tabs()` returns the list. Five tests pin:
- the order, against iOS's
- the `nav-*` tags the instrumented suite looks for (its `nodesWithTag(...).isEmpty()` guards turn a renamed tag into a silent early return, so a wrong tag is a test that stops testing and still passes)
- that every tab has an accessibility label — the bar draws icons only, so that string is all TalkBack has
- that supervision removes Stories **and only Stories**
Verified from `test-results/*.xml` — 5 tests, 0 failures — not from BUILD SUCCESSFUL, which prints no test names for `:app`.
The kit's artboard is four icons and this is seven. A deliberate departure, said in the comment rather than left looking like an oversight.
Related: iOS `MainTabView` already has this shape.
added 1 commit
<ul><li>563e9efe - The same purple ground, and a test that checks it stays the same</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009471618&start_sha=832cbf9214f4f1c416084dda808feb7816a9f702)
added 1 commit
<ul><li>49854ac2 - Darker ground, the mark on sign-in, and a dark mode that was never readable</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009501178&start_sha=563e9efed7a519af1c63fe25f99d96c33a664040)
added 1 commit
<ul><li>4444e7e8 - The ground shades from purple into a medium blue</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009564375&start_sha=49854ac222831a2b12b2a18d8f04f288118e9fb1)
added 1 commit
<ul><li>c688ed21 - One theme, and it is dark — matches ios!144</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009618127&start_sha=37143c5b6e69dbd54506823a15583c2f183ca5e2)
added 1 commit
<ul><li>28d10bec - The recovery button did not recover, and half the text went black</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009632760&start_sha=c688ed21b4f9be5d8bb8826db2a2677a1a2073db)
added 1 commit
<ul><li>15e678d5 - Bright, but still dark — matches ios!144</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009643596&start_sha=28d10bec4da69234d5e429892d85bb10af8ffb84)
added 1 commit
<ul><li>b824e626 - Three stops — purple into blue into black — matches ios!144</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009706346&start_sha=15e678d593ab778248f5b1766a55e588a3c4b718)
added 1 commit
<ul><li>8fa66cd6 - White text boxes — matches ios!144</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009741670&start_sha=b824e626e769beea8ab1f10f0de4b35cbe3245fc)
added 1 commit
<ul><li>17495659 - Icons and initials are white, not the accent — matches ios!144</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009793501&start_sha=8fa66cd6035f39637e3d4bf71f3e7cd4498ff522)
added 1 commit
<ul><li>ca0d3f78 - A photo sent as a file loses its location too (android#17)</li></ul>
[Compare with previous version](/paulhitt/flamenet-messenger-android/-/merge_requests/89/diffs?diff_id=2009833284&start_sha=17495659eb1298bd9369fc78125bb87d190d6609)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Both apps had both features. iOS carried them in its tab bar; Android had them as buttons most of the way down the Account screen, behind a comment arguing the kit's bar is four icons and "a wallet people open occasionally does not earn the slot".
What that produced: somebody testing the Android build reported Files and Wallet as missing. That is a fair reading of a feature you have to scroll past a dozen settings sections to reach — and two apps disagreeing about where a feature lives is worse than either answer.
What changed
Seven destinations, in iOS's order: Home · Messages · Calls · Stories · Files · Wallet · Account.
The Account sections are gone, not kept alongside. Two routes to one screen is two things to keep in step, and the bar is the one people look at.
Tapping a tab calls
navigateTo, notshowScreen. Wallet and Files each read the vault before they have anything to draw, so a bareshowScreenlands somebody on an empty screen with nothing loading and no error. That is now one method with the loading inside it, so no future caller can navigate past it.The bar's contents are data now, and a test reads them
It was a hand-written run of
NavButtoncalls, so nothing could assert what was in it — a destination could vanish in a refactor and no test anywhere would go red. That is exactly how this divergence survived for weeks.NavDestinations.tabs()returns the list. Five tests pin:nav-*tags the instrumented suite looks for (itsnodesWithTag(...).isEmpty()guards turn a renamed tag into a silent early return, so a wrong tag is a test that stops testing and still passes)Verified from
test-results/*.xml— 5 tests, 0 failures — not from BUILD SUCCESSFUL, which prints no test names for:app.The kit's artboard is four icons and this is seven. A deliberate departure, said in the comment rather than left looking like an oversight.
Related: iOS
MainTabViewalready has this shape.added 1 commit
563e9efe- The same purple ground, and a test that checks it stays the sameCompare with previous version
added 1 commit
49854ac2- Darker ground, the mark on sign-in, and a dark mode that was never readableCompare with previous version
added 1 commit
4444e7e8- The ground shades from purple into a medium blueCompare with previous version
added 1 commit
37143c5b- Darker again — matches ios!144Compare with previous version
added 1 commit
c688ed21- One theme, and it is dark — matches ios!144Compare with previous version
added 1 commit
28d10bec- The recovery button did not recover, and half the text went blackCompare with previous version
added 1 commit
15e678d5- Bright, but still dark — matches ios!144Compare with previous version
added 1 commit
b824e626- Three stops — purple into blue into black — matches ios!144Compare with previous version
added 1 commit
8fa66cd6- White text boxes — matches ios!144Compare with previous version
added 1 commit
17495659- Icons and initials are white, not the accent — matches ios!144Compare with previous version
added 1 commit
ca0d3f78- A photo sent as a file loses its location too (android#17)Compare with previous version
mentioned in commit
0fab7cc6d3changed the description