Remove popup notifications - #50
Conversation
|
Closing without merge. This PR was used only to obtain the CodeQL result required by the dev branch ruleset; the exact scanned commit will be pushed directly to dev. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a5a051dc31
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (window.FolderViewPlusUI?.announce) { | ||
| return window.FolderViewPlusUI.announce({ | ||
| title, | ||
| message, | ||
| level: level === 'error' ? 'danger' : level, | ||
| durationMs, | ||
| actionLabel, | ||
| onAction | ||
| message | ||
| }); |
There was a problem hiding this comment.
Keep actionable validation messages visible
When a sighted user triggers an action that fails a precondition, this routes the only feedback into the visually clipped live region. For example, saveFolderDefaultsFromSelection with no selected folder and applySavedFolderDefaultsToAll with no saved defaults return immediately after calling showToastMessage, so their enabled buttons now appear to do nothing. Reserve announce() for completion status and present these actionable information/warning messages through a visible modal or inline state.
Useful? React with 👍 / 👎.
| addActivityEntry( | ||
| `${actionLabel} completed. Recovery backup ${backup.name} is available in Advanced > Recovery.`, | ||
| 'warning' | ||
| ); |
There was a problem hiding this comment.
Refresh recovery data before directing users to it
When the Recovery tab was loaded within the last two minutes and the user then performs an operation whose caller does not refresh backups—such as folder/branch pinning or tree-integrity repair—this records that the new backup is available without updating backupsByType. Returning to Advanced > Recovery skips the fetch because ensureAdvancedDataLoaded considers the module fresh, so the advertised backup is absent until the cache expires or a forced refresh occurs. Refresh or merge the backup into recovery state before publishing this activity entry.
Useful? React with 👍 / 👎.
Summary
Validation