fix(web): handle calendar event editor bugs#1839
Merged
Merged
Conversation
4f890f4 to
56b3076
Compare
e242711 to
7e12459
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Root cause
A new recurring draft was being treated like an existing recurring event because the confirmation gate only checked for a recurrence rule, not whether the event already existed.
A saved recurring instance can still have recurrence metadata even when the series only contains one occurrence. The old gate showed the update-scope dialog for that event even though applying the change directly is the only useful outcome.
Day event cards opened from the keyboard, but the same activation key kept bubbling upward. That left parent/global shortcut handling free to react to the same key press after the form opened.
The Week editor action menu was allowed to move focus into menu items in a way the surrounding editor treated as leaving the edit surface. That made the editor close while moving over menu options.
The shared modal backdrop was on the same base layer as calendar maximum z-index, while floating event editors sit one layer above it. That let the editor paint over the recurring delete scope dialog.
Closes #1837
Closes #1838
Validation
cd packages/web && bun test src/views/Forms/ActionsMenu/ActionsMenu.test.tsx src/views/Week/components/Draft/grid/GridDraft.test.tsxbun lintbun type-checkgit diff --checkhttp://localhost:9080/week: opened a Week draft action menu and confirmed the editor/menu stayed open while moving focus through the menu surface.http://localhost:9080/day/2026-05-31:ithen Enter opened the event form without crashing.http://localhost:9080/day/2026-05-31:mopened the event form without crashing.http://localhost:9080/day/2026-05-31: command palette "Edit event" opened the event form without crashing.Manual note
The local temporary account disables Repeat, so the exact Week recurring-create browser flow could not be completed locally. The recurrence save decision, including the single-occurrence follow-up, is covered by focused regression tests.
For the final modal layer follow-up, the in-app browser automation endpoint did not expose the open tab, so the modal-over-editor behavior was not re-clicked in-browser after the code change.