fix(desktop): register the relocated notification bridge actions with flow lint - #11984
Conversation
… flow lint d5596a6 moved settings_notifications_snapshot and set_notification_settings out of DesktopAutomationBridge.swift into DesktopAutomationBridge+Notifications.swift to satisfy the line-count ratchet, but did not add the new file to ACTION_SOURCE_RELATIVE_PATHS. The flow lint reads registered actions only from that list, so both actions became invisible and notifications-settings.yaml — which still references them — now fails on main: notifications-settings.yaml: unknown bridge action 'settings_notifications_snapshot' notifications-settings.yaml: unknown bridge action 'set_notification_settings' desktop-flow-lint: 2 error(s) This is main-wide, not specific to any branch: every desktop PR that merges current main inherits a red desktop-core-e2e-t0. It went unnoticed because main's own Desktop Backend Contracts runs are sitting at action_required rather than executing. The contract file's own comment states the intent this restores — "Keep the flow lint reader and CI impact resolver on this single list so an added bridge action cannot skip its flow validation route." A relocated action is an added action as far as that list is concerned. Verification: - pristine origin/main (41afef9) reproduces both errors - with this line: desktop-flow-lint OK (72 flows, 162 registered actions), up from 161 - guard proven live: removing the line again reproduces the same 2 errors - desktop/macos/tests/test-e2e-flow-coverage.sh -> passed - .github/scripts/test_pre_push_ci_prediction.py -> 22 passed (the other consumer of this contract) Failure-Class: none
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Closing — main fixed this independently while the PR was open, and this diff is now a literal no-op.
The bug was real and reproducible when I filed this: main was at Nothing to merge here. Tracking issue #11985 updated with the same finding — leaving that open only for the wider point it raises, which #11962 does not address: nothing enforces that a file defining a bridge action appears on that list, so the next relocation defeats it the same way. |
|
Hey @aryanorastar 👋 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:
Before your next PR, please skim:
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! |
Summary
desktop-flow-lintcurrently fails onmain. Two bridge actions were relocated to a new file without adding that file to the contract list the lint reads, so both became invisible and the flow that references them fails.Cause
d5596a6("refactor(macos): relocate journal copy + notification bridge actions to satisfy line-count ratchet") movedsettings_notifications_snapshotandset_notification_settingsout ofDesktopAutomationBridge.swiftintoDesktopAutomationBridge+Notifications.swift, but leftACTION_SOURCE_RELATIVE_PATHSindesktop/macos/scripts/desktop_flow_contract.pyunchanged.The lint reads registered actions only from that list.
notifications-settings.yamlstill references both actions, so on currentmain:This is main-wide rather than branch-specific: every desktop PR that merges current main inherits a red
desktop-core-e2e-t0. It went unnoticed because main's own Desktop Backend Contracts runs are sitting ataction_requiredrather than executing, so nothing re-ran the lint after the relocation.Fix
One line: add the relocated file to
ACTION_SOURCE_RELATIVE_PATHS.That file's own comment states the intent this restores — "Keep the flow lint reader and CI impact resolver on this single list so an added bridge action cannot skip its flow validation route." A relocated action is an added action as far as that list is concerned.
Verification
origin/main(41afef9b) reproduces both errors — this is not introduced by any branch.desktop-flow-lint OK (72 flows, 162 registered actions), up from 161.desktop/macos/tests/test-e2e-flow-coverage.sh— passed..github/scripts/test_pre_push_ci_prediction.py— 22 passed (the other consumer of this contract).Honest gaps
No new test. The lint itself is the guard, it already runs in the
desktop-core-e2e-t0lane, and it fails correctly when the entry is absent — a test asserting the list contains a specific string would be a static tripwire restating the data, not behavioural coverage.Failure-Class: none