Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
560f201
🎨 Palette: Associate connection modal inputs with labels explicitly f…
google-labs-jules[bot] Jul 27, 2026
9d13471
test(computer): fix stale load_computer_manifests_from_udo import
SoulWayy Jul 27, 2026
94ce8d2
fix(dashboard): make credential modal input ids collision-safe
SoulWayy Jul 27, 2026
067a3fa
test(computer): fix stale from_udo import in acceptance server facade
SoulWayy Jul 27, 2026
441ed65
🎨 Palette: Associate connection modal inputs with labels explicitly f…
google-labs-jules[bot] Jul 27, 2026
344f69f
fix(dashboard): restore collision-safe credential input ids
OnlineChef Jul 27, 2026
2a87b5d
🎨 Palette: Associate connection modal inputs with labels explicitly f…
google-labs-jules[bot] Jul 27, 2026
4ea7b32
🎨 Palette: Associate connection modal inputs with labels explicitly f…
google-labs-jules[bot] Jul 27, 2026
e748899
🎨 Palette: Associate connection modal inputs with labels explicitly f…
google-labs-jules[bot] Jul 27, 2026
9cd416a
fix(dashboard): restore collision-safe credential input ids
OnlineChef Jul 30, 2026
218c525
Merge remote-tracking branch 'origin/main' into jules-271001834195359…
OnlineChef Aug 1, 2026
e579f49
docs(palette): correct label-pairing a11y claim (programmatic label, …
SoulWayy Aug 1, 2026
ab2f36b
🎨 Palette: Explicit label pairing for dynamic credentials inputs
google-labs-jules[bot] Aug 1, 2026
ff70fc9
fix(dashboard): resolve leftover merge conflict markers in credential…
SoulWayy Aug 1, 2026
35ce2d8
docs(palette): resolve leftover conflict markers in credential modal …
SoulWayy Aug 1, 2026
d9c0dc0
🎨 Palette: Explicit label pairing for dynamic credentials inputs
google-labs-jules[bot] Aug 1, 2026
d155c98
fix(dashboard): resolve reintroduced conflict markers in credential m…
SoulWayy Aug 1, 2026
3dd4344
test(dashboard): drop stale source-text assertion for credential ids
SoulWayy Aug 1, 2026
a617e03
🎨 Palette: Explicit label pairing for dynamic credentials inputs
google-labs-jules[bot] Aug 1, 2026
f8a21c5
fix(dashboard): re-resolve conflict markers and drop stale credential…
SoulWayy Aug 1, 2026
671ef67
merge: resolve palette.md after focus-restoration (#189)
OnlineChef Aug 1, 2026
38b18d6
Merge remote-tracking branch 'origin/main' into jules-271001834195359…
SoulWayy Aug 1, 2026
c9523bb
merge: remote updates on #167 after palette resolve
OnlineChef Aug 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .Jules/palette.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@
**Action:** Always fully bind role="combobox" inputs with their respective role="listbox" container using dynamic aria-activedescendant to ensure standard-compliant command palette accessibility.

## 2026-07-23 - [Credential Modal Label Pairing]
**Learning:** For dynamically generated forms (e.g. the connection credential modal), each dynamically created input must have a uniquely generated, sanitized ID paired with its corresponding label's `for` attribute to guarantee the element is keyboard-navigable and its name is properly announced by screen readers.
**Action:** Dynamically generate sanitized unique IDs for connection credential inputs and explicitly associate them with labels using `for` and `id` attributes.

**Learning:** For dynamically generated forms (e.g. the connection credential modal), each dynamically created input must get a sanitized, collision-safe ID (sanitizing is lossy, so `A_B` and `A-B` would otherwise collapse to one ID; append the field index to keep IDs unique) and pair it via the label's `for` attribute and the input's `id` attribute. This gives the input a programmatically associated label so screen readers announce the credential name when the field gains focus.
**Action:** Dynamically generate sanitized, index-suffixed unique IDs (via `credInputId(v, i)`) for connection credential inputs and explicitly associate each with its label using matching `label[for]` / `input[id]` attributes.

## 2026-07-24 - [Standard-Compliant Focus Restoration for Overlays]

Expand Down
2 changes: 1 addition & 1 deletion src/kater/automations/builtins.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def run_proxy_heal(config: dict[str, Any]) -> dict[str, Any]:
proxy = get_proxy()
if not proxy.started:
return {"healed": 0, "skipped": "proxy_not_started"}

result = proxy.heal()
if isinstance(result, dict) and "healed" in result:
return result
Expand Down
1 change: 0 additions & 1 deletion tests/test_browser_providers.py
Original file line number Diff line number Diff line change
Expand Up @@ -493,4 +493,3 @@ def test_act_timeout_invalidates_browser_state(monkeypatch):
# Replacement worker must still accept work.
assert provider._runner.submit(lambda: 42, timeout=2.0) == 42
provider.stop()

Loading