Skip to content

feat: refresh Material UI and simplify expense splitting - #31

Merged
seenu-k merged 3 commits into
mainfrom
codex/material-ui-and-splits
Oct 11, 2026
Merged

seenu-k merged 3 commits into
mainfrom
codex/material-ui-and-splits

Conversation

@seenu-k

@seenu-k seenu-k commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

The app mixed field styles, weak expense hierarchy and disconnected visual assets. This refresh uses consistent Material components and colour roles across the app and launch surfaces. Custom splits now start evenly and distribute the remainder as individual values are edited, while existing saved allocations remain fixed until explicitly released. The release is version 3.1.0, with Cider notes and automated Play listing artwork uploads.

Changes

  • Use Material indigo as the brand seed, bundled Google Sans Flex, consistent fields/buttons/notices, palette-based avatars and clearer appearance diagnostics. Refresh native palette reads on resume and brightness changes, with an independent accent fallback.
  • Share full-row group cover artwork, avatar and name with group details. Extend built-in Hero transitions to relevant expense/payment elements, respecting reduced motion and responsive navigation.
  • Give expenses a prominent amount input, focused payer/split sections and progressively disclosed time. Add a dedicated payment editor and preserve payment kind and sender/recipient invariants in both the client and server.
  • Share one integer remainder calculation between amount splits, percentage splits and multiple payers. Store only typed overrides; pin custom values, offer per-person release and an even-split reset, and preserve saved values on reopening. Generate the client UUID when the draft opens so preview/save rounding matches without creating an expense early.
  • Refresh launcher, splash, web, email, landing and store assets, with actual Flutter screenshots and generation/design documentation.
  • Package the committed icon, feature graphic, five ordered phone screenshots and Cider notes in Fastlane's standard en-US metadata tree. Validate every source before writing, preserve screenshot bytes, reject stale output and sync artwork by checksum while preserving listing text. Save the prepared metadata as a separate release artifact and exercise the lane offline in CI.
  • Use Cider to add tester-facing changelog entries, bump to 3.1.0 and finalize the matching version section.

Validation

  • All 657 Flutter tests passed with REQUIRE_BACKEND=true against the local Worker.
  • All 280 backend tests passed; server type checking and repository lint passed.
  • Dart formatting and dart analyze --fatal-infos passed; fix dry run found nothing to fix.
  • All 18 targeted Dart release-tool tests passed, including real artwork packaging, source preservation, missing/invalid/stale inputs, CLI failures and version/changelog consistency. The real Fastlane lane passed with the network action replaced, confirming upload options and rejection of incomplete artwork. Fastlane syntax, lane discovery and workflow YAML validation passed.
  • The exact Chrome domain/refresh-UI gate passed all 180 tests. The Chrome/WASM browser database gate passed all 3 tests. The overflow regression also passed all 8 native remainder tests, using values JavaScript can represent exactly while retaining native wraparound coverage.
  • Production Flutter web and Android debug builds, screenshot renderer and promotional-asset generation passed.
  • Local Wrangler browser checks covered phone/desktop layouts, group and payment flows, and remainder/reset interactions. Tests cover large text, reduced motion, palette failures/resume, saved allocations, validation and rounding conservation.

No database migration or API schema change is required. The Play release service account needs Manage store presence permission for artwork; its current permission grant has not been verified. Listing images apply across Play tracks, although the bundle is still sent to closed testing. Physical Galaxy F54 / One UI dynamic-colour acceptance remains unverified.

@seenu-k
seenu-k merged commit 3960fa9 into main Oct 11, 2026
4 checks passed
@seenu-k
seenu-k deleted the codex/material-ui-and-splits branch October 11, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant