Open Bug 2062016 Opened 1 month ago Updated 1 month ago

Persist availability and privacy values

Categories

(Calendar :: Calendar Frontend, enhancement)

enhancement

Tracking

(Not tracked)

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:

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.