Version 3.14.0

QA Features Summary

1
Dynamic tabs
ANDROID REMOTECONFIG

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" }
  ]
}
Firebase โ€” app_tabs_configuration (Remote Config)
Firebase Remote Config showing app_tabs_configuration parameter and conditional values
Platform ANDROID
Type REMOTECONFIG
Status โœ… Tested & Verified
2
Allow any partner in Add Partner (CanAddAnyPartner)
BOTH FEATURE

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
Figma โ€” Add partner flow (invitee details, relationship, eligibility)
Figma screens for add partner: invitee details, relationship selection, who can be added
Figma โ€” ID expired (front/back only, no slip)
Add partner screen for expired ID: upload front and back only, confirm disabled until both set
Platform BOTH
Type FEATURE
Status โœ… Tested & Verified

Definition of Done

All features listed above have been tested and verified by the QA team.