Open
Bug 2062016
Opened 1 month ago
Updated 1 month ago
Persist availability and privacy values
Categories
(Calendar :: Calendar Frontend, enhancement)
Calendar
Calendar Frontend
Tracking
(Not tracked)
NEW
People
(Reporter: arschmitz, Unassigned)
References
(Depends on 4 open bugs, Blocks 1 open bug)
Details
(Whiteboard: [calendar-ui-create-edit])
Summary:
Map availability and privacy values into the draft and persist the final values through the existing Save controllers.
Links:
- Zeplin footer dropdown annotations: https://app.zeplin.io/project/66dd0f2b2fe8f1b63cda36f1/screen/6a0f2f285393a283202254bc
- Interaction guide: Create > Availability/privacy: https://docs.google.com/document/d/15OpMthOHmBGyPpDBNRW8vp6CxeoitBp8n7Fti3LD10/edit?tab=t.why4m6lqup0#heading=h.5fg39gqf1jkr
- SOW: In Scope: https://docs.google.com/document/d/1ZVLX8VjxaYsSBuywLyFsXf27Q-Pf55g8QxT8G9z0eZ4/edit?tab=t.0#heading=h.bz8l40hwl6cr
Acceptance criteria:
- The source-to-draft mapper initializes edit sessions’ availability and privacy draft values from the shared loader’s plain source snapshot.
- For create sessions, a default provider reads the relevant settings outside Redux and initializes the plain availability/privacy draft values, falling back to the interaction-guide defaults when settings provide no value.
- Redux stores only plain availability and privacy enums plus serializable draft/baseline state. It contains no preference object,
calIEvent, calendar object, DOM value, or default-provider callback. - A route/session replacement rejects obsolete source or default-provider output and prevents it from initializing a newer session’s footer draft.
- Initial availability/privacy resolution and footer rendering complete before the dialog readiness gate permits
PositionedDialog.show(). - The existing create and edit Save controllers read the final current-session enum values and apply them to the event only at the calendar transaction boundary.
- A pending Save is associated with the current session; stale or duplicate Save work cannot persist values into another event.
- Cancel or close without successful Save leaves existing event values unchanged. On Save failure, retain the current footer draft for retry.
- Bugs 2062013 and 2062015 own selector UI, options, and local popup state.
- Add focused tests for create-mode setting and guide fallback, edit-source mapping, plain serializable baseline/draft state, stale-session rejection, readiness before show, create/edit Save mapping, failure/cancel/no-change behavior, and axe coverage where supported.
Out of scope:
- Availability/privacy selector UI, preference writes, additional unconfirmed enum values, generic default-provider infrastructure, a new footer-specific Redux slice, and direct calendar mutation outside the existing Save transaction.
You need to log in
before you can comment on or make changes to this bug.
Description
•