Skip to content

fix(app): restore green Flutter suite on main - #21433

Closed
Git-on-my-level wants to merge 1 commit into
mainfrom
fix/app-main-flutter-suite-red
Closed

Git-on-my-level wants to merge 1 commit into
mainfrom
fix/app-main-flutter-suite-red

Conversation

@Git-on-my-level

@Git-on-my-level Git-on-my-level commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

What changed and why

The Flutter suite on main (Mobile App Checks › Dart Analyze & Tests) is red, so any PR that touches app/ fails. This restores a green suite.

  1. test/widgets/settings/ai_app_generator_large_text_test.dart — looks for Try something like, but English l10n is Try something like…. Breaking PR: fix(settings): scale AI app generator suggestion strip height with text size (#19239) #21341 (8c2909e5faf). The assertion was wrong when that test landed; the ellipsis has been in app_en.arb since feat(app): mobile UX consistency pass: shared primitives, contract and audit fixes #18436. Fix: expect the ellipsis the page already paints.

  2. test/widgets/settings/settings_search_header_stability_test.dart — SettingsDrawer watches UsageProvider and the harness does not provide it, so the first frame throws ProviderNotFoundException. Breaking PR: fix(settings): stabilize Settings search header height and alignment (#19241) #21343 (2d77690f5b1). The watch has been in the drawer since feat(app): Plan, Referral and Feedback back on the Settings sheet; one visual-audit tool #18723; the new header test omitted the provider. Fix: provide UsageProvider in the harness.

  3. test/widgets/apps_category_section_large_text_test.dart — two failures, both from fix(apps): derive category row and title height from text size (#19238) #21340 (ac1b866d569). find.text('Productivity') matches the section title and each card's category label. And the card column overflows by 13px at text scale 1.3: row height was measured with TextPainter on the raw OmiType style, while painted text inherits Material's line height (~1.43), and the header was measured as title2 instead of the title3 it paints. Fix: measure the effective style (theme line height included) and the real title, chip, artwork, and action extents so the row grows with the text. Point the test at the title3 title so the card labels are not ambiguous.

  4. test/services/device_service_connection_failure_test.dart — "launch timeout preserves the connection and transport for native background reconnection" stays disconnected immediately after emitConnected(). Breaking PR: fix(devices): preserve connection and transport on launch timeout for native reconnect (#20777) #21302 (ce3826d2fd1). No later commit changed DeviceConnection's transport listener or this test. The product is right: a launch timeout keeps the connection and transport, and a later connected event updates status. Production transports and the test fake both use an asynchronous broadcast stream, so the listener runs on a later microtask. The failed expect was followed by the debug log device connection state changed … connected. Fix: the test waits for that event. Product reconnect behavior is unchanged.

Product invariants affected

none

How it was verified

  • cd app && flutter test on each of the four files: all passed.
  • cd app && flutter test (full suite): 5493 passed, 21 skipped, 0 failed.
  • app/scripts/analyze_ratchet.sh: passed.
  • scripts/pr-preflight --lane local: passed (23 checks).

Tests

The four failing files are the regression coverage. The category-section test still fails on a real overflow; the row-height fix is what makes text scale 1.3 and 1.5 lay out.

UI evidence

UI-Evidence: none -- text-scale overflow is asserted by the category-section widget test; no new screen

Failure class (fixes)

Failure-Class: none

🤖 Generated with Claude Code

View guided diff Turn on auto-fix

Category rows measured text without Material's inherited line height, so names and ratings overflowed at larger text sizes. The other three red tests asserted a string, a provider, and a stream event that production already had.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 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-10-13T19:34:27.852538Z 6380fc3 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.

@Git-on-my-level

Copy link
Copy Markdown
Collaborator Author

Superseded by #21425, which landed the same four test fixes (with stricter category-height assertions) on main first. Closing without merge.

@github-actions

Copy link
Copy Markdown
Contributor

Hey @Git-on-my-level 👋

Thank you so much for taking the time to contribute to Omi! We truly appreciate you putting in the effort to submit this pull request.

After careful review, we've decided not to merge this particular PR. Please don't take this personally — we genuinely try to merge as many contributions as possible, but sometimes we have to make tough calls based on:

  • Project standards — Ensuring consistency across the codebase
  • User needs — Making sure changes align with what our users need
  • Code best practices — Maintaining code quality and maintainability
  • Project direction — Keeping aligned with our product principles and locked invariants

Before your next PR, please skim:

  • PRODUCT.md — product north star
  • Product invariants — locked rules (shared chat, memory tiers, agent control plane, integrations, brand)

If this was declined for direction or taste, maintainers should cite an invariant ID or open a proposed one — ask if that citation is missing.

Your contribution is still valuable to us, and we'd love to see you contribute again in the future! If you'd like feedback on how to improve this PR or want to discuss alternative approaches, please don't hesitate to reach out.

Thank you for being part of the Omi community!

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