Stop polling while minimised and parse the query once per keystroke - #25
Merged
Merged
Conversation
The full mutation run before 0.3.0 left three entries alive, and each was a test that no longer reached what its name promised. The plan panel contrast guard now picks a driver beside the two services. Since the warnings got their own template, the plain sentence template draws only the problem list, and a plan over two services has no problems, so its colour could go without the guard noticing. A driver is refused on sight by the core, which puts a sentence into that list, and the test now asserts the sentence is on the panel. The wiring of the search box to the list under it is held by a new window test that types key by key and then moves the caret alone. The old test wrote a row, which since the suggestions rework tells the list itself, so it stayed green with both events unwired. The two typing helpers moved out of KeyboardTests into SearchBoxKeys, because the new test would have pushed that file over the share of its size ceiling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The first batch of window fixes from the external performance report of 2026-09-28, each backed by a new test and a mutation that proves it can fail. A minimised window no longer reads the service list every second. WPF leaves IsVisible true on a minimised window, so the timer only ever stopped when the window was hidden. The timer now follows the window state as well, and a restore asks at once rather than a second later. A window started minimised reads once for its first look and then waits the same way. One keystroke parsed the same query eighteen times, once to narrow the list, once for the scope sentence and once for each of the sixteen filter chips. The core gains QueryAsTyped, the text together with its parse, and the window keeps one beside the query text and replaces it whenever the text differs. The chips still hold nothing of their own. Smaller changes in the same vein: - the details panel rebuilds only when a cell or the name changes, not for every shape and highlight a row raises - the second pass announces itself by saying the sentence rather than by rereading the whole list - the plan sheet renders its commands once per plan and builds its warnings once per plan and state of the offer - the row highlight fades once per tick instead of twice - a row works out its start type label and account once per full reading Cost figures in comments that were measured before the readings ran in parallel are replaced with dated figures from the measurements of 2026-09-28, and three comments that claimed the version and hash come from the file already opened for the signature now say that each answer opens it. The method count ceiling in ShapeCeilings goes down from 79 to 78, as the ratchet asks when the largest type shrinks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository UI (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The first two commits of W2 in the performance series that follows the external
performance report of 2026-09-28. No change of look and no change to any frozen
contract.
Guards that could not fail. The full mutation run before 0.3.0 left three
entries alive. The plan panel contrast guard now picks a driver, so the problem
list and its template are actually on screen. The search box wiring is held by
a new window test that types key by key and moves the caret alone.
Window work.
once when it is restored. A window started minimised reads once and waits.
core type, QueryAsTyped, kept beside the query text.
Evidence.
SecondPassSettingOutTests, PlanSheetListsTests, SuggestingWindowTests and one
more in ChosenGuards.
re-anchored entries.
without administrator rights, all on the sentence about missing rights.
tests 24 of 24.
time went from 375 ms to 125 ms when minimised after the list filled, and
from 203 ms to 109 ms when started minimised. What the remainder is was not
separated.
🤖 Generated with Claude Code