Remember folded filters, start in the search box, move the description last, add Help - #18
Conversation
The offer under "keeps running" was drawn in the quiet outline of Copy. It now uses the red outline of "Force stop...", chosen from photographs of both. The offer's style is based on the force stop's rather than a copy of it, and keeps its own name so the two can part again without touching the template. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n last, add Help Four items of the window's UX audit, each on the owner's decision. The filters (UX-GUI-007): folding the filter chips away is remembered, so the window opens the way it was left. The preferences file grows one key, filtersFolded, written only when true, which makes it schema 5 and makes a version 4 file read as "open" - what the window has always done. A first run still opens with the filters showing. Measured on a live window at 1650 x 1050: the list gains about 187 pixels, about six rows. The keyboard (UX-GUI-010): the window starts with the keyboard in the search box, and so does the list after "Show the list" on the overview. The hand-over is quiet, so the suggestions under the box do not open by themselves, and it waits for layout at input priority - a plain Focus() at the moment the overview went was measured doing nothing. A new probe checks both paths, since a window the test host builds is never shown and has no focus to read. The row menu writes Ctrl+C beside "Copy everything". The columns (UX-GUI-013): the description is the last of the columns shown at the start. As the one star column it took all the spare width of a maximised window and pushed the state about 2800 pixels right of the name. A saved layout keeps its own order, and "Restore the usual columns" gives the new one. Help (UX-GUI-014): a Help button ends the top row, with Donate beside it, and F1 opens the same menu. It lists the keyboard shortcuts - each item does what its key does, through the same act - opens the query language page and the project's website the way Donate opens its page, and shows the version with a way to copy it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (27)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (5)
🧰 Additional context used📓 Path-based instructions (12)Applies to text shown to the user (labels, buttons, tooltips, placeholders, dialogs, errors, status messages, empty states, translations).⚙️ CodeRabbit configuration file Files:
Verify tests check real behavior and would fail if the implementation were broken.⚙️ CodeRabbit configuration file Files:
Performance is a known weak spot of these projects.⚙️ CodeRabbit configuration file Files:
Applies only to code that builds or styles a GUI.⚙️ CodeRabbit configuration file Files:
User-facing changelog.⚙️ CodeRabbit configuration file Files:
SECURITY, HIGH PRIORITY.⚙️ CodeRabbit configuration file Files:
C# / .NET code.⚙️ CodeRabbit configuration file Files:
Check that documentation matches the actual code in this PR: commands, flags, config keys, file paths, build steps and examples must exist.⚙️ CodeRabbit configuration file Files:
All code in this repository is written by an AI coding agent (Claude Code).⚙️ CodeRabbit configuration file Files:
No hardcoded UI styling: Only if the PR adds or changes GUI code (XAML, Slint, Fyne, Tkinter, WPF code-behind): warn if new or changed UI code sets colors, fonts, font sizes, margins, paddings, sizes or corner radii as literal values on ind...📄 CodeRabbit inference engine (Custom checks) Files:
Source excerpt: **No view invents an appearance value of its own.**📄 CodeRabbit inference engine (CONTRIBUTING.md) Files:
Scope, duplication and docs: Warn if any of these is true: the PR contains significant changes not mentioned in the title/description, or mixes unrelated refactors with a feature or fix; the PR adds functionality, helpers, UI components, st...📄 CodeRabbit inference engine (Custom checks) Files:
🪛 LanguageToolCHANGELOG.md[grammar] ~49-~49: Use a hyphen to join words. (QB_NEW_EN_HYPHEN) 🔇 Additional comments (1)
📝 WalkthroughWalkthroughThe GUI adds a Help menu and F1 shortcut, persists filter visibility, changes search-box focus and the default column order, and updates offer-button styling. The changelog and tests reflect these changes. ChangesGUI updates
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
actor User
participant MainWindow
participant Shortcuts
participant HelpMenu
participant ExternalLinks
User->>Shortcuts: Press F1
Shortcuts->>MainWindow: Map key to Shortcut.Help
MainWindow->>HelpMenu: Open Help menu
User->>HelpMenu: Select a page
HelpMenu->>MainWindow: Run page action
MainWindow->>ExternalLinks: Open page asynchronously
Suggested labels: Merge Risk: ⚪ Minimal · up to The Help and saved-filter behaviors are consistent with their intended actions; the change is mergeable after normal checks. 🚥 Pre-merge checks | ✅ 9 | ❌ 5❌ Failed checks (5 warnings)
✅ Passed checks (9 passed)
Full details: No Obvious Performance ProblemsExplanation The new filter toggle handlers run on the WPF UI thread and call Resolution Queue or debounce preference writes off the UI thread. Serialize queued snapshots so writes preserve the latest state, and marshal write errors back to the dispatcher before updating the status line. Keep the toggle handlers limited to updating in-memory state and scheduling the persistence operation. Full details: Desktop RobustnessExplanation The Help menu adds two new page handovers that can outlive the window. Resolution Make the new page handovers window-scoped and lifetime-aware. Reject new requests after Full details: Clear User-Facing TextExplanation The new Help page links can display a raw exception message. Resolution Replace the direct Full details: No Resource LeaksExplanation The Help menu adds two new paths that call Resolution Add cancellation and shutdown handling to Full details: Scope, Duplication And DocsExplanation The PR is scoped and documents the user-facing changes in Resolution Centralize informational-version extraction in one shared helper that accepts the target ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
The text key guard counts a key as said when it stands as a literal inside a call that reads it, or as a named constant. Passing the failure key as a parameter took both failure sentences out of its sight, and CI went red on them. They are named constants now, and the guard sees them again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Package 6 of the window UX audit: items UX-GUI-007, 010, 013 and 014, each on the owner's decision. The first commit is a follow-up to #17: the "Also stop it" offer is now drawn in the red of "Force stop...", chosen from photographs of both styles.
filtersFolded, written only when true, so it becomes schema 5 and a version 4 file reads as "open". A first run still shows the filters. On a live window at 1650 x 1050 the list gains about 187 pixels (about 19 rows visible instead of 13).Contract change
bws-preferences.json) is now schema 5. The change is additive: one optional key, written only when true. This build reads schemas 1 to 5 and writes 5.Verification
runs=anywhere24/24.FoldedFiltersGuards(written, read back, window opens as left, first run open, key order) andHelpMenuGuards(menu content with keys read from the items, F1, version, an item doing what its key does, select all, pages over https). Existing guards updated where the behaviour changed on purpose (schema number, column order, Donate's position).Not in this change
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Changes
Documentation