Repository navigation
Conversation
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
4ec5909 to
22043a0
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
Settings now uses fixed categories rather than daemon groups as rail entries. The old layout test waited for a category heading that no longer exists, so it could no longer check the scrollbar regression. Keep the short-to-long category transition and its position checks with settings the daemon can actually return.
1f29209 to
fac6511
Compare
roborev: Combined Review (
|
Clicking Settings while a leave warning is open can leave its old action active after browser history has moved. Discarding then uses a stale history distance and can land on the wrong page. Settle held leaves for every in-app navigation so returning to Settings closes the warning and preserves the expected Back path.
Repeated navigation scenarios made the Settings tests harder to maintain without protecting another outcome. Keep each leave decision covered once, preserve the provider-card checks in their existing scenario, and make every coverage state check its displayed tone. Separate stored search choices from saving them so both behaviors have a clear assertion path within the existing test count.
roborev: Combined Review (
|
roborev: Combined Review (
|
A shared-settings conflict reload could let removal delete a profile and its stored key after another tab changed the policy. The confirmation still showed the old profile while the request used the newer revision. Keep People writes tied to the revision returned with their profile data so the existing conflict response requires a reload before removal.
Saving another settings category advances the config revision while the workspace keeps its People controller alive. Returning with cached profile status then causes an avoidable conflict on the next People write. Reload on each mount so the displayed profile and its revision arrive together, including after an ordinary settings save.
roborev: Combined Review (
|
Saving shared settings while People lookups stays open leaves its profile snapshot and configuration revision stale. Cover ordinary settings and provider saves, including clearing the prior check and checking again. Keep this regression failing because refreshing after each save would lengthen the existing save functions, which this change's scope forbids.
A held Back navigation restores Settings through a second history traversal. The shell moves focus to navigation during that traversal, disrupting keyboard access to the leave confirmation. Keep this regression failing because guarding history focus restoration would lengthen its existing function, which this change's scope forbids.
Back from dirty Settings opens the leave confirmation, then restores the Settings entry with a second history traversal. The shell restored history focus on both, moving focus from Stay to the navigation. Leave focus where it is when Settings is still showing and already holds it. A real Back into Settings unmounts the previous workspace, so navigation still receives focus then.
Saving ordinary settings or an enrichment provider advances the shared config revision. People lookups stayed on its old profile snapshot and revision, so the next People write failed with a conflict. Reload People after each successful save so its profiles and revision arrive together.
A failed coverage refresh kept the last answer, so Overview still offered a Build index action for coverage it could no longer confirm. Show Message search as Unavailable instead. Other feature rows stay, since they come from operations status.
roborev: Combined Review (
|
Conflict recovery reported that the latest settings were loaded while People lookups still showed an older profile snapshot. The next profile action then failed with another config conflict. Refresh People alongside general settings so users can review the current profiles and continue without a second reload.
roborev: Combined Review (
|
An enrichment provider conflict loaded the latest general settings while People lookups kept an older profile and config revision. The next People action could then fail with another conflict. Conflict recovery needs the same complete snapshot regardless of which settings write triggered it.
roborev: Combined Review (
|
The first build has counts for its pending generation before any generation becomes active. Overview should show that progress while the build runs.
A network failure left Overview showing counts from the previous status read. Message and visual search should fall back to their operation state when fresh counts are unavailable.
roborev: Combined Review (
|
|
Risk accepted: People lookups can miss a refresh when a provider save lands while its profiles are still loading. You'd have to save a provider in the few milliseconds while People lookups is loading from the local daemon. If that happens, the next profile action says the settings changed on disk and asks you to reload. Clicking Reload fixes it, and nothing is lost or written with old data. Preventing it means queuing or serializing requests, which adds new state for a window normal use doesn't hit. |
Settings opens on Overview with feature status and setup actions. Seven categories group settings by task. Operations links to Overview. Contacts has one Sync now action. The daemon decides when it needs a full reconciliation.
Save changes covers ordinary settings, including Kata and task service keys, and says when a pending edit needs a restart. Leaving Settings or reloading with unsaved changes asks first. Provider keys, People lookups providers, contact accounts, and replacement inference keys still save at once with their own buttons.
settings-save-flow-dark.webm
Refs #1552, slice 2 (Settings categories)