Skip to content

feat: group mobile settings and refine supporting pages - #126

Merged
Eoic merged 2 commits into
developmentfrom
feat/grouped-settings
Nov 6, 2026
Merged

Eoic merged 2 commits into
developmentfrom
feat/grouped-settings

Conversation

@Eoic

@Eoic Eoic commented Nov 6, 2026

Copy link
Copy Markdown
Member

Issue and requirements

Closes #125. Contributes to NFR-5_1, NFR-5_2, NFR-5_5, and FR-7_1's storage-usage presentation criterion. These broader requirements remain open.

Summary

Mobile Settings previously placed every option in one long form. It now opens a grouped index with separate Account, Appearance, Storage, Accessibility, and About pages, while desktop retains its sidebar.

  • Replace the App updates dialog with a responsive page, compact actions, and stable retry feedback.
  • Show storage usage with a progress bar and compact wrapping actions. Remove Acquisition from Settings.
  • Make Support follow the existing page alignment preference and tighten mobile header spacing.
  • Prepare licenses before opening, delay loading feedback on direct routes, and clip selection ink below the header.
  • Remove Settings page transitions and pressed switch ripples while retaining keyboard focus.

Testing

Final review found no blocking issues.

  • Clean checkout: flutter pub get --enforce-lockfile retained the committed Git reader pin.
  • Clean checkout: flutter test --no-pub — 2,190 passed, 19 skipped.
  • Clean checkout: Flutter analysis and 17 web bootstrap/worker tests passed.
  • Workspace: tools/papyrus check client and git diff --check passed.
  • iPhone 17 Pro simulator: both committed integration tests passed, covering navigation, saved preferences, Back, update checks/retries/install states, light/dark/e-ink themes, and 200% text.
  • iPad mini simulator: storage layout/theme review and selected-license scrolling passed with deterministic fixtures.
  • The license regression compares rendered header pixels before and after scrolling. It failed before the clipping fix and passes afterward.

To reproduce the automated checks, run the pinned Flutter SDK from app/. For the native flows, run integration_test/mobile_settings_test.dart and integration_test/app_updates_test.dart on an iOS simulator.

UI evidence

Native simulator captures. Storage uses the desktop card layout on iPad with fixture usage data. The license capture uses synthetic notices.

Mobile index Focused section Update retry
Mobile Settings Appearance Update retry
Storage Scrolled license selection
Storage usage and compact actions License highlight remains below header

Compatibility and migration

No schema, backend, dependency, or version changes. Existing preferences are retained. The local reader path override and its lockfile change are excluded from this PR.

Notes

Native evidence is from iOS simulators, not physical e-ink hardware or a complete assistive-technology audit. Hosted CI is separate from the local results above.

Checklist

  • The branch, commits, and pull request title follow the repository conventions.
  • The change is complete and limited to the agreed scope.
  • Relevant tests have been added or updated.
  • Formatting, analysis, and tests pass locally.
  • Documentation, UI evidence, and migration notes are included where relevant.
  • No credentials, personal data, copyrighted fixtures, or unrelated generated files are included.
  • The branch is up to date with its target branch.

Copilot AI balanced review requested due to automatic review settings November 6, 2026 10:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-06T11:00:34.022507Z 1bc85c2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Eoic
Eoic enabled auto-merge November 6, 2026 11:02
@codecov

codecov Bot commented Nov 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.54839% with 20 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
app/lib/pages/app_updates_page.dart 92.85% 11 Missing ⚠️
app/lib/config/app_router.dart 33.33% 6 Missing ⚠️
...widgets/profile/storage_sync_settings_section.dart 92.10% 3 Missing ⚠️

📢 Thoughts on this report? Let us know!

@Eoic
Eoic merged commit 72b9678 into development Nov 6, 2026
10 checks passed
@Eoic
Eoic deleted the feat/grouped-settings branch November 6, 2026 11:08
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.

Group mobile Settings and refine updates, storage, support, and licenses

2 participants