56 Commits
Author SHA1 Message Date
hjozwiak 00dbb1fea7 Graphical terminal improvements.
It makes using programs who like to refresh a ton much more tollerable
when I'm not in Emacs; I suspect others will like them too.
2026-11-04 04:05:19 -05:00
hjozwiak 1fcf7e6f87 Merge in testing. 2026-11-04 00:16:01 -05:00
hjozwiak da4ae8525f Fix Shift+digit heading navigation on Wayland 2026-11-03 16:37:46 -05:00
hjozwiak a4d427099e Merge origin/testing into hunter 2026-11-03 10:35:41 -05:00
hjozwiak 002e515edf Wait quietly for an absent braille display
Helper retries BrlAPI open in-process until BRLTTY answers, supervisor waits with the parked helper instead of kill/respawn cycles, exponential backoff and warn-once for real helper exits, bounded give-up so permanent failures still surface.
2026-11-03 10:35:00 -05:00
hjozwiak 6c10ed0517 Add native coverage for ticking browser pages
Incremental-game style fixture whose AT-SPI leaves recreate every 250 ms, native navigation test, private-session AT-SPI daemon launch in the harness (no systemd, no host session required), and testing notes.
2026-11-03 10:35:00 -05:00
hjozwiak 7eef6e8be6 Make web document navigation survive live-updating pages
Recreated-node caret recovery, tolerant caret validation, per-root retained document trees and cursors across tab switches, document warm-up, coalesced structural moves, and hung-provider fast-fail with an 'Application is not responding' announcement.
2026-11-03 10:34:55 -05:00
hjozwiak 8ce5e5cdad Expand embedded objects in braille document lines
Structural navigation to a heading whose native text is a single embedded-object placeholder for its child link showed only that placeholder in braille while speech used the expanded title. Braille line reads now expand embedded objects like speech capture, preserving RawText and native offsets; expanded lines carry no cell routes or native selection/attribute dots and only a line-start cursor. Frame assembly strips any remaining placeholders and falls back to displayed text so a placeholder never reaches the display. Regression tests cover placeholder-only, mixed, expanded, assembled, and empty headings plus native linked-heading and Firefox mixed-line braille. Maintainer confirms physical braille and speech agree on YouTube headings.
2026-11-03 00:17:08 -05:00
hjozwiak f2a35a9305 Sync with testing. 2026-11-02 23:15:59 -05:00
hjozwiak 3026bc55c2 Bring in goodies from testing.
# Conflicts:
#	docs/testing/wine-proton.md
2026-11-02 11:30:32 -05:00
hjozwiak f44d0144bf Close Wine stage as accepted with known limitations
Maintainer decision, 2026-11-02: the core implementation and basic live behavior are sufficient for this stage. The original exhaustive done checklist was not fully satisfied and the contract is not marked Final; unfinished verification and known failures remain visible as future work.
2026-11-02 07:33:08 -05:00
hjozwiak 5af9231822 Reframe wine-access CTest environment requirement
A quiet live Wayland desktop is not assumed to yield a reliable single-environment 7/7. Record that a purpose-built private compositor/XWayland harness may be needed and whether split-environment evidence suffices is open for review.
2026-11-02 07:22:57 -05:00
hjozwiak eddf1da70f Freeze Phase 4 interim state for further input
Phase 4 remains in progress and the contract is not Final. This records the verified interim results, the open Wine title and Battle.net blockers, the incomplete Braille pass, and the owed quiet-desktop wine-access CTest run.
2026-11-02 07:18:04 -05:00
hjozwiak d6a54fc5e5 Clarify Notepad++ editing coverage 2026-11-02 05:50:50 -05:00
hjozwiak 56c47c0897 Record Notepad++ Phase 4 result 2026-11-02 05:26:51 -05:00
hjozwiak 7eaea736c2 Record deferred Battle.net Phase 4 result 2026-11-02 04:57:10 -05:00
hjozwiak d26d23e6ce Localize Wine title failure from maintainer debug log 2026-11-02 04:42:46 -05:00
hjozwiak 52515225cd Record preliminary Braille observations and Wine title failure 2026-11-02 04:23:25 -05:00
hjozwiak 4768dc4aa4 Record mixed-prefix and preferences round-trip results 2026-11-02 03:55:39 -05:00
hjozwiak 3d337813b6 Classify wine-access CTest baseline anomaly 2026-11-02 03:47:08 -05:00
hjozwiak 2a77cd4352 Record Mistworld Phase 4 result 2026-11-02 03:39:27 -05:00
hjozwiak fabac16ab0 Record Phase 4 automated baseline and Diablo IV result 2026-11-02 03:20:33 -05:00
hjozwiak ec1a620ae3 Run Phase 4 verification from the master session
Maintainer amendment: no fresh Phase 4 session; the maintainer runs the live corpus, the master session records results and runs automated checks, and defect sessions are spawned only on proven need.
2026-11-02 03:03:57 -05:00
hjozwiak 86def886ae Defer edit-subclass caveat remedy past this stage
Maintainer disposition: no Phase 4 fix or wine-access defect branch for the pre-attached edit subclass; record it honestly in the Phase 4 results. Future work item: dynamic add/remove of hook exclusions inside the running helper.
2026-11-02 02:57:09 -05:00
hjozwiak 72a6cd1601 Record accepted Phase 3 handoff and subclass caveat
Wine preferences tab landed as 75f34ea with maintainer flesh-test results; the pre-attached edit-subclass dynamic-addition caveat is recorded and localized for Phase 4.
2026-11-02 02:50:11 -05:00
hjozwiak 75f34ea767 Add global Wine preferences tab
Phase 3 of the Wine/Proton stage (decisions 6, 9, 13, 19 in docs/testing/wine-proton.md): a global-only Wine tab modeled on the Pronunciation page, with the controller-only checkbox and a typed editable program list. Wine values flow through the preferences protocol so a global Apply reaches the live Wine settings from Phase 2 with no reader restart. Entries are validated as edited and named in-tab, blocking Apply until fixed; case-insensitive duplicates collapse. Per-application preferences expose no Wine editing and an app-scoped Apply cannot change the governing list.
2026-11-02 02:49:33 -05:00
hjozwiak dc6a961032 Record accepted Phase 2 handoff in phase ledger
Live Wine settings landed as 9a10a15; includes the maintainer smoke results and the settled note that external settings-file edits have never auto-reloaded in Go or legacy Cthulhu.
2026-11-02 01:16:33 -05:00
hjozwiak 9a10a15b68 Read Wine settings live at poll and spawn
Phase 2 of the Wine/Proton stage (decisions 3, 4, 16, 17, 19 in docs/testing/wine-proton.md): replace the Wine manager's startup snapshot with a live settings source read once per poll, so accepted global settings take effect with no reader restart. The source publishes only the active/global profile's Wine values; per-application profile switching never changes the governing list. A newly listed running program restarts its helper once in the same mode; removals and clearing the global switch never downgrade a running helper.
2026-11-02 01:15:33 -05:00
hjozwiak a60a251472 Document Wine/Proton stage contract and phase ledger
Settled decisions, scope and done checklist in wine-proton.md; execution ledger with batch amendments, the satisfied Phase 0 gate and the accepted Phase 1 handoff in wine-proton-phases.md.
2026-11-01 23:28:24 -05:00
hjozwiak 71093286c7 Add Wine ready-record and mixed-prefix spawn semantics
Phase 1 of the Wine/Proton stage (decisions 2, 5, 16, 17, 18, 24 in docs/testing/wine-proton.md): classify the helper exclusion-count line as info, parse the ready hook_exclusions count, mirror programs=[...] extra=[...] in the helper-start record, and stop passing prefix-wide --no-dialog-reader merely because a listed program is present, so ordinary programs in a mixed prefix keep dialog reading. Wholesale mode remains for the global controller-only switch, the environment override, and helpers whose ready record does not confirm the exclusions sent; unconfirmed binaries are remembered. A newly listed running program restarts its helper once in the same mode; removals never downgrade.
2026-11-01 23:27:55 -05:00
hjozwiak 7e7a83d5c5 Merge goodies from master. 2026-10-31 15:28:10 -04:00
hjozwiak 1780afccba Add the announcement of switched workspaces from Niri.
I haven't tested this with Braille support; I don't remember what I did with the cable.
2026-10-31 15:27:40 -04:00
hjozwiak ec7e073431 Add pywayland to the dependencies array. 2026-04-09 12:19:26 -04:00
hjozwiak 5bb5f3d711 fix: harden Wayland compositor runtime checks 2026-04-09 12:02:26 -04:00
hjozwiak 8fc77c5a2f feat: prioritize script activation using compositor context 2026-04-09 12:02:26 -04:00
hjozwiak 309822a0ca feat: suppress stale AT-SPI churn from compositor state 2026-04-09 12:02:26 -04:00
hjozwiak 80d53ebcc3 fix: dispatch Wayland workspace events at runtime 2026-04-09 12:02:06 -04:00
hjozwiak 3671b0d6b9 fix: normalize workspace state signals 2026-04-09 12:02:06 -04:00
hjozwiak d0aef1331d feat: add shared Wayland workspace backend 2026-04-09 12:02:06 -04:00
hjozwiak f2f1de737d fix: tighten compositor adapter lifecycle 2026-04-09 12:02:06 -04:00
hjozwiak 0f54fad9ba feat: add compositor state adapter scaffold 2026-04-09 12:02:06 -04:00
hjozwiak daf3d46eeb fix: add relevance gate state defaults 2026-04-09 11:42:16 -04:00
hjozwiak 16004af7c1 fix: tighten relevance gate focus handling 2026-04-09 11:38:09 -04:00
hjozwiak 45b57b4d13 feat: wire event relevance gate 2026-04-09 11:38:09 -04:00
hjozwiak 629785d548 refactor: add relevance gate helpers 2026-04-09 11:38:09 -04:00
hjozwiak fb5684f8ef fix: restore speech dispatcher interruption 2026-04-09 11:34:41 -04:00
hjozwiak 56030567ed test: harden relevance gate regressions 2026-04-09 10:41:06 -04:00
hjozwiak 6793522d93 test: add relevance gate regressions 2026-04-09 10:35:15 -04:00
hjozwiak 67abceda9a Add Wayland compositor event interface design spec 2026-04-09 06:14:03 -04:00
hjozwiak cc5adf4cce Merge branch 'atspi-document-selection' into testing 2026-04-09 05:24:07 -04:00
hjozwiak 04c79f2e0f Implement AT-SPI selection bridging groundwork
Add the document selection adapter, integrate it through script utilities and major callers, and package the clipboard fallback work that was needed during manual testing on Wayland.

Also include a handoff note for the still-open browser link-selection issue so other developers can continue from the current branch state without reconstructing the debug trail.
2026-04-09 05:22:00 -04:00
hjozwiak 4a41b51d37 Ignore local worktrees 2026-04-08 18:35:36 -04:00
hjozwiak e72cc79c6a When dismissing a message, it should be removed from the list and the tree view. 2026-04-06 23:53:46 -04:00
hjozwiak 667c0babcb Add support for getting at the actions of notifications inline. 2026-04-06 23:08:20 -04:00
hjozwiak a8950c42e2 Initial support for mako notification daemon. 2026-04-06 21:09:41 -04:00
hjozwiak 91edf64a72 Drop claude.md. 2026-04-06 20:27:17 -04:00