Skip to content

feat: remove send tab, default tips on, drop tipping beta flag - #1182

Merged
bmc08gt merged 1 commit into
code/cashfrom
feat/remove-send-tab-tips-default
Aug 5, 2026
Merged

feat: remove send tab, default tips on, drop tipping beta flag#1182
bmc08gt merged 1 commit into
code/cashfrom
feat/remove-send-tab-tips-default

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Removes the Send tab (nav button), launches tipping as an always-on feature (dropping the Tipping beta flag), and stops handling chat deeplinks.

Send tab

  • Delete NavBarButton.Send, the NavigationBar button + preview, ScannerDecorItem.Send + the scanner mapping.
  • Disconnect the direct-send flow from the build: remove AppRoute.Sheets.Send, the nav-graph entry, the settings.gradle.kts include, and the app module dep.
  • The direct-send feature module (and core/send/SendStep.kt) are kept on disk but no longer built — parked so the flow can be re-enabled later by re-wiring it (re-add to settings.gradle.kts + app dep, restore AppRoute.Sheets.Send + the nav entry + the nav-bar button).
  • Rework NavBarConfigTest for the new default order [Discover, Give, Tips, Wallet] and add a regression test that a persisted order containing the removed "Send" token deserializes cleanly (dropped + back-filled) rather than crashing on upgrade.

Tipping (launched)

  • Delete FeatureFlag.Tipping (definition + title/message) — tips are on for all users. Remove the session observer + isTippingEnabled state, and strip the now-orphaned FeatureFlagController dependency from TippingCoordinator. The Tips tab is always shown.

Chat deeplinks

  • Remove DeeplinkType.Chat and isChat/handleChat from AppRouter. /chat/{id} links now fall through unhandled and land on the camera (documented in classify() so the routing isn't re-added by accident). Tip DMs still route via /tip/chat/.
  • Fold non-tip and contact-addressed chat push notifications into a plain launch intent; delete the now-dead Linkify.chatById/chatByPhone.
  • The app.flipcash.com/chat/.* manifest intent filter is intentionally kept so links still open the app (→ camera); send.flipcash.com cash links are untouched.

Maestro

  • Delete direct_send.yaml and send_to_contact.yaml (they tapped the removed tab), drop the dead tipping_enabled beta-flag args (tipping is default-on), and update the README.

Testing

  • ./gradlew :apps:flipcash:app:assembleDebugBUILD SUCCESSFUL (parked direct-send module is not in the build and is ignored).
  • Unit tests pass for every touched module: core, shared:session, shared:tipping, shared:router, shared:featureflags, shared:notifications, features:scanner, app.

29 files changed, +57 / −245.

@github-actions github-actions Bot added type: feature New functionality area: scanner QR/Kikcode scanning, camera area: notifications Push notifications, in-app messaging area: build-system Gradle, convention plugins, build-logic area: deeplinks Deep link handling, URL routing, and link parsing area: session and removed type: feature New functionality labels Aug 5, 2026
Remove the Send *tab* (nav button), launch tipping as an always-on feature
(dropping the Tipping beta flag), and stop handling chat deeplinks.

Send tab
- Delete NavBarButton.Send, the NavigationBar button + preview,
  ScannerDecorItem.Send + the scanner mapping.
- Disconnect the direct-send flow from the build: remove AppRoute.Sheets.Send,
  the nav-graph entry, the settings.gradle.kts include, and the app module dep.
  The direct-send feature module (and core/send/SendStep.kt) are kept on disk
  but no longer built, so the flow can be re-enabled later by re-wiring it.
- Rework NavBarConfigTest for the new default order [Discover, Give, Tips,
  Wallet] and add a regression test that a persisted order containing the
  removed "Send" token deserializes cleanly (dropped + back-filled), not crash.

Tipping (launched)
- Delete FeatureFlag.Tipping (definition + title/message); tips are on for all
  users. Remove the session observer and isTippingEnabled state, and strip the
  now-orphaned FeatureFlagController dependency from TippingCoordinator. The
  Tips tab is always shown.

Chat deeplinks
- Remove DeeplinkType.Chat and isChat/handleChat from AppRouter. /chat/ links
  now fall through unhandled and land on the camera (documented so the routing
  isn't re-added by accident). Tip DMs still route via /tip/chat/.
- Fold non-tip and contact-addressed chat push notifications into a plain
  launch intent; delete the now-dead Linkify.chatById/chatByPhone.

Maestro
- Delete direct_send.yaml and send_to_contact.yaml (tapped the removed tab),
  drop the dead tipping_enabled beta-flag args (tipping is default-on), and
  update the README.
@bmc08gt
bmc08gt force-pushed the feat/remove-send-tab-tips-default branch from 1cc6c54 to 440e73d Compare August 5, 2026 16:10
@github-actions github-actions Bot added the type: feature New functionality label Aug 5, 2026
@bmc08gt
bmc08gt merged commit 362a3ac into code/cash Aug 5, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the feat/remove-send-tab-tips-default branch August 5, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build-system Gradle, convention plugins, build-logic area: deeplinks Deep link handling, URL routing, and link parsing area: notifications Push notifications, in-app messaging area: scanner QR/Kikcode scanning, camera area: session type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant