Main lobbies navigation is driven by Firebase Remote Config โ one JSON payload defines the bottom bar and each lobbyโs inner tabs. This release is a navigation + stability focus: order, deep links, state, and safe handling when tabs move or disappear.
- ๐ Remote Config parameter: app_tabs_configuration (structure of main tabs + innerTabItems).
- ๐งญ QA focus: tab order vs JSON, lazy load, inner chips โ pager, scroll/state when switching main tabs, return-from-flow refresh, headers (chat / settings / badge), Android back, and deep links that follow the current hierarchy.
- ๐ก๏ธ Unknown tab types are skipped โ the app should stay stable (no crash) when JSON changes.
- ๐ References: OZ-97135 (tech QA), OZ-99278 (test plan). Firebase console: bssbfirst โ Remote Config โ app_tabs_configuration.
- ๐ฆ Packaged defaults can differ by flavor (e.g. remote_config_defaults_dev.xml vs prod) โ always confirm the active value in Firebase or the build youโre testing.
๐ Example JSON โ app_tabs_configuration (baseline shape; match your environment)
{
"tabBarItems": [
{ "type": "dashboard" },
{
"type": "myAccount",
"innerTabItems": [ "movements", "cards", "fcy", "savings", "loans" ]
},
{
"type": "payments",
"innerTabItems": [ "payments", "cheques", "mandates" ]
},
{
"type": "myWealth",
"innerTabItems": [ "myWealthLobby", "pensions" ]
},
{ "type": "securities" }
]
}
| Platform | ANDROID |
| Type | REMOTECONFIG |
| Status | โ Tested & Verified |
Add Partner is split by a backend flag โ CanAddAnyPartner โ based on whether the inviter had tax-related transactions in the current tax year. When true, customers may add any relationship type (not married-only), the ID slip step is skipped per updated Figma, and copy/analytics differ; when false, the legacy married-only flow and mandatory ID slip remain unchanged. Validate both paths on Android and iOS.
- ๐ Story: OZ-97910 โ https://thefirstdigitalbankinsetup.atlassian.net/browse/OZ-97910 (acceptance criteria + DoD).
- ๐งฎ When CanAddAnyPartner = true: inviter may add any partner; skip ID slip upload; new โID expiredโ UI needs only front + back (no slip) per Figma; remove the married-only bottom-sheet line (ืื/ืืช ืืื); eligibility copy updated (e.g. remove โmarried spouse in ID appendixโ style wording per ticket).
- ๐ When CanAddAnyPartner = false: keep existing married-only flow; ID slip (ืกืคื ืช"ื) stays mandatory; UI and localization unchanged vs baseline.
- ๐ก Analytics (Firebase / Mobile Events): fire add_partner_flow when the โwho can be addedโ screen opens; param type = any_partner or married_only.
- ๐จ Design: Figma link also appears under screenshots below (Onboarding / Add Partner).
๐ก Analytics โ event shape (per story)
event name: add_partner_flow
// when "ืืช ืื ืืคืฉืจ ืืฆืจืฃ ืืืฉืืื" (eligibility) is shown
param: type = any_partner | married_only
| Platform | BOTH |
| Type | FEATURE |
| Status | โ Tested & Verified |
Definition of Done
All features listed above have been tested and verified by the QA team.