100 Commits
Author SHA1 Message Date
Storm Dragon 679d81a804 Some browser fixes for reliability. 2026-11-13 22:49:10 -05:00
Storm Dragon c1ca5746d0 Use shared emoji catalog 2026-11-11 23:47:45 -05:00
Storm Dragon 8592d3be11 Keep master-tracking package independent of unreleased DuckDB 2026-11-11 11:29:32 -05:00
Storm Dragon 8cfb9e5593 Merge reviewed hunter changes into testing 2026-11-11 11:26:02 -05:00
Storm Dragon 12cadda7c1 Dismiss Wayland internal UI on suspension and retain key repeats 2026-11-11 11:25:47 -05:00
Storm Dragon 2fb4a1b9a0 Merge branch 'testing' of ssh://git.stormux.org:1101/storm/cthulhu into testing 2026-11-10 21:34:44 -05:00
Storm Dragon 5f7806eb32 Merge branch 'testing' of ssh://git.stormux.org:1101/storm/cthulhu into testing 2026-11-10 20:46:59 -05:00
Storm Dragon 5b2b558d2e Handle exited OCR descendants in package checks 2026-11-08 14:00:00 -05:00
Storm Dragon db6b9cc492 Merge testing for the 2026.10.31 release refresh 2026-11-08 13:26:02 -05:00
Storm Dragon 3dbd7f2554 Avoid repeating Mumble server labels across columns
Collapse identical full-row labels only for Mumble while preserving mixed column data and repeated values from other providers. Add Qt native coverage and document live saved-server listening confirmation.
2026-11-07 20:12:25 -05:00
Storm Dragon c925344c41 Merge branch 'testing' of https://git.stormux.org/storm/cthulhu into testing 2026-11-07 14:43:12 -05:00
Storm Dragon bf4a23645e Support compact Remote setup with reader-owned access selection 2026-11-06 20:07:05 -05:00
Storm Dragon ac67236eca Find works in browsers. 2026-11-05 12:34:36 -05:00
Storm Dragon 1074904c5d Party popper emoji added. 2026-11-04 23:17:21 -05:00
Storm Dragon f034a2ec97 Continue web fixes. Sound bug for locations hopefully fixed. 2026-11-04 22:09:55 -05:00
Storm Dragon f23e89ed93 Filter out stale accessibility events. 2026-11-04 14:23:54 -05:00
Storm Dragon 9e15f8652d Tentacle enhancements. 2026-11-04 13:44:13 -05:00
Storm Dragon 4f9b89e38b Merge hunter terminal and keyboard improvements into testing
Preserve meaningful title status symbols during spinner suppression and keep testing version metadata.
2026-11-04 12:25:16 -05:00
Storm Dragon e222d336a5 Preserve terminal feedback while coalescing repaints 2026-11-04 12:22:11 -05:00
Storm Dragon 8c26aad128 Merge remote-tracking branch 'origin/testing' into hunter 2026-11-04 12:13:00 -05:00
Storm Dragon 24261edb3d Tentacle support enhancements. 2026-11-04 12:10:41 -05:00
Storm Dragon 4cf3335017 More work on tentacles. 2026-11-03 23:48:31 -05:00
Storm Dragon a47253d697 Found a few ways in which the Braille problem with browsers could resurface. Fixed now. 2026-11-03 16:48:39 -05:00
Storm Dragon 0a3d946ffa Latest merge from Hunter. Also a couple files I forgot to add yesterday. 2026-11-03 11:41:33 -05:00
Storm Dragon 4da61465b0 Fix document retention and helper retry regressions
Keep failed cursor trials and native recapture anchored to the original document, and restore the requested cached root before LRU eviction. Base braille retry resets on established connection time rather than stalled startup. Poll private AT-SPI daemon ownership without triggering service activation and clean up partial startup failures. Add focused regressions and update browser testing notes.
2026-11-03 11:37:36 -05:00
Storm Dragon 9bd5c15dd4 Updated cthulhu build script. Should work on systems even with old versions of go. 2026-11-03 03:02:32 -05:00
Storm Dragon 14743f96bb Updated cthulhu build script. Should work on systems even with old versions of go. 2026-11-03 03:02:00 -05:00
Storm Dragon 89686fa029 Refresh browser tests and recover Firefox tab announcements
Bring the fragmented-line browser fixture into agreement with current browse
navigation. Rich editors are read through their text descendants, so Down from
the preceding heading must read "Review the code." directly. Remove the stale
empty editor-control stop while retaining forward and reverse line navigation,
character and word movement, Read All, and inline Braille-routing assertions.

Fix Firefox's missing announcement when creating a second tab. Firefox can emit
selection events before the new tab enters its accessible child list, causing
the native selected-child lookup to return nothing. Use the subsequent
child-added event only when its target is a live, freshly selected browser-chrome
tab with the emitting tab list as its direct parent. Keep document-authored tabs
and unselected background additions excluded, retain foreground filtering and
tab-identity deduplication, and release native references on the GLib owner.

Normalize child-added origin suffixes such as :system before event dispatch,
preserving the original native type in diagnostics. Rename the shared mutation
normalizer to reflect its expanded scope and update its callers, including the
Pidgin insertion check. Extend the normalization regression to cover child
additions and reject unrelated event names. Firefox keeps its normal animations
and all existing tab-announcement and address-editing assertions.

Make private-session teardown tolerate the document portal's asynchronous FUSE
unmount after D-Bus exits. Retry only ENOTCONN and EBUSY cleanup failures for at
most five seconds. Keep unrelated errors and persistent mount failures visible.
Add regressions for transient teardown, preservation of a failing child's exit
status, unrelated cleanup errors, and the cleanup deadline. Runtime directories
and accessibility buses remain private, with no init-system dependency.

Update browser verification notes and the parity ledger with the fixes, evidence,
regression risks, and concrete live acceptance procedures.

Validation:
- All 33 Chromium browser proofs passed in the final combined run.
- Firefox baseline and tab checks passed repeatedly with normal animations.
- All eight private-session isolation and cleanup regressions passed.
- AT-SPI, app, and review package race suites passed during development; focused
  race regressions passed again after the final event-normalization change.
- Go vet passed for internal/atspi, internal/app, and internal/review.
- A separate reader binary built successfully.
- Parity-ledger validation passed for 75 rows; git diff --check passed.
2026-11-03 02:38:59 -05:00
Storm Dragon 7ec6e4ccaf Preserve native offsets after braille text expansion
Expanding embedded-object placeholders changes the displayed braille text
without changing native AT-SPI offsets. Several consumers still validated
native positions against the expanded string, which could reject a valid
line end after contraction, accept an offset beyond the native line after
expansion, or drop selection and text-attribute indicators on a plain-text
fragment following an embedded object.

Use RawText for native-offset validation and fragment comparisons whenever
a braille line is expanded. Apply the same rule to parent/child native-caret
handoff: identical displayed text must not authorize an offset transfer
when the underlying native strings differ. Expanded spans retain their
existing conservative presentation without native cell routes.

Restrict the assembled-line displayed-text fallback to lines from which
embedded-object placeholders were actually removed. Ordinary whitespace-only
lines now retain their spaces, cursor position, and native routing instead
of being replaced with the object's text or accessible name.

Add regressions for contracted and expanded native offset bounds, suffix
selection and attribute preservation, immutable line enrichment, ambiguous
caret transfer, and whitespace-only line routing. The regressions reproduced
the review findings before the fixes and pass afterward.

Validation:
- Full Go suite before fixes; full race and BrlAPI suites after fixes.
- Focused Braille and native-caret regressions, including race checks.
- go vet ./...; reader and BrlAPI helper builds; parity-ledger validation.
- Private Chromium linked-heading, selection, and browse-mode checks.
- Private Firefox baseline and linked-heading checks.
- git diff --check.

The Chromium fragment harness still fails its embedded-editor navigation
step, and the Firefox harness still times out in its New Tab test. Both
failures reproduce on the parent of the reviewed commit, 8ce5e5c, as well.
These failures are not claimed as passing checks.

The active reader was not replaced. Physical keyboard, audible speech, and
Braille acceptance remain for maintainer testing: check linked headings,
mixed inline-link text, selection indicators after links, and ordinary or
blank-line cursor routing in both browser families before submission.
2026-11-03 01:54:25 -05:00
Storm Dragon 60f7f7a2e9 Code review and fixes. 2026-11-02 23:37:45 -05:00
Storm Dragon 7918fc02c4 Found more weird breakage on Slint. Fixed now. 2026-11-02 17:28:31 +00:00
Storm Dragon b4ddcf65c0 Merge branch 'testing' backport fixes for 2026.10.31 release. 2026-11-02 11:01:39 -05:00
Storm Dragon 6df27c88de Another problem exposed and fixed on Slint. 2026-11-01 22:49:08 -05:00
Storm Dragon bbe931335f Better handling of some qt and gtk applications. Used Audacious for testing. 2026-11-01 21:37:01 -05:00
Storm Dragon 300f4a7504 More work on cthulhu recognizing focused items that should be read. 2026-11-01 18:31:58 -05:00
Storm Dragon 6ed0e36960 More problems deiscovered from the problem child. :) I think these fixes should improve reliability across the board for reading focused windows though. Needs testing. 2026-11-01 16:22:15 -05:00
Storm Dragon 1c12bc6636 The initial Slint problem was larger than thought. Hopefully a more universal fix. 2026-11-01 15:48:33 -05:00
Storm Dragon 512b4413f2 Keep release version at 2026.10.31 2026-11-01 14:49:57 -05:00
Storm Dragon 2f8fb66803 Fixes backported for released version. 2026-11-01 14:47:44 -05:00
Storm Dragon d0fdce7285 Descovered a but on Slint where if the reported sizes differ preferences would not rport. HOpefully fixed. This could probably affect more than just Slint, just happened to catch it there. 2026-11-01 14:33:50 -05:00
Storm Dragon f2cc47c8a0 Merged changes from hunter. Attempt to fix cthulhu announcing modifiers when suspended for xterm. 2026-10-31 16:07:29 -04:00
Storm Dragon 27867a48cb Merge Hunter announcement support into testing 2026-10-31 15:48:42 -04:00
Storm Dragon 03cf063d60 Make sure testing matches master. 2026-10-31 14:56:39 -04:00
Storm Dragon 9680b583fa Publish Tentacle fixture markers atomically and patch the release package 2026-10-31 11:26:12 -04:00
Storm Dragon 9538776fe3 Publish helper test output atomically and patch the release package 2026-10-31 11:03:48 -04:00
Storm Dragon 2ddd2098fc Add release package metadata for Stormux automation 2026-10-31 00:48:49 -04:00
Storm Dragon f321a9b7ec Release ready for tag. 2026-10-31 00:32:44 -04:00
Storm Dragon 53a9aa301f Preparing for release. 2026-10-31 00:23:28 -04:00
Storm Dragon 702894ee4a Package updates. 2026-10-31 00:21:34 -04:00
Storm Dragon ff7055d715 Preparing for release. 2026-10-30 01:51:47 -04:00
Storm Dragon 44581c4038 Merge from testing. 2026-10-29 21:44:43 -04:00
Storm Dragon 01f50c17e8 Fenrir's emoji ported to cthulhu. 2026-10-29 19:20:29 -04:00
Storm Dragon 74afa425da Merge testing. 2026-10-29 13:35:34 -04:00
Storm Dragon 3e2429b8a5 Add autofocus mode. 2026-10-28 22:06:04 -04:00
Storm Dragon b232c1eebb Fix for repeating in some instances, e.g. pidgin. 2026-10-27 19:40:17 -04:00
Storm Dragon 4d29f2bb23 Merge branch 'master' into testing 2026-10-27 12:31:15 -04:00
Storm Dragon 498b8bf908 Simple script to build cthulhu and its Braille support added. 2026-10-27 00:54:28 -04:00
Storm Dragon e9a2dc1975 Possible fix for mate's window switcher. 2026-10-27 00:51:32 -04:00
Storm Dragon eb5b2038d6 Some echo tests added. 2026-10-27 00:40:49 -04:00
Storm Dragon 8a32895457 Latest changes. 2026-10-26 21:16:37 -04:00
Storm Dragon d8b59aa05b Start cthulhu in laptop layout with -l. 2026-10-26 21:14:22 -04:00
Storm Dragon 7723bd7e09 Merged testing. 2026-10-26 02:42:38 -04:00
Storm Dragon 0d76e44f9a Fixed some element types being spoken even though sound only is selected. 2026-10-26 02:41:07 -04:00
Storm Dragon 6ee0454fbe Speech settings updated, no large decimals for settings. Also changing with quick settings keys now applies across window changes. 2026-10-25 19:35:55 -04:00
Storm Dragon 7ae2801e53 Merged changes from Deedra. 2026-10-25 19:05:48 -04:00
Storm Dragon 309ac6babc PKGBUILD update. 2026-10-25 19:01:34 -04:00
Storm Dragon f0352878f7 updated hook.'
git commit updated hook.
2026-10-25 15:36:09 -04:00
Storm Dragon cba6925bb9 Merge remote-tracking branch 'origin/testing' 2026-10-25 15:27:30 -04:00
Storm Dragon af78dd7a20 Connect testing ancestry to the master snapshot 2026-10-25 15:27:27 -04:00
Storm Dragon 01a43872ba Prepare master release metadata and packaging 2026-10-25 15:27:15 -04:00
Storm Dragon 42afa2a56c Reset master to testing content 2026-10-25 01:57:54 -04:00
Storm Dragon 9462ebfc82 More browser work. 2026-10-24 18:33:04 -04:00
Storm Dragon bf4b9d7b54 Browser changes. 2026-10-24 15:59:07 -04:00
Storm Dragon 133953e972 Report wine-access version if available in version commands. 2026-10-24 15:19:43 -04:00
Storm Dragon 8a560a25a5 Version bump. 2026-10-24 13:21:35 -04:00
Storm Dragon 54722e985e Simplified speech settings. 2026-10-24 05:27:16 -04:00
Storm Dragon 03e2b31e09 Fixed a bug with some edit field types that would cause every event to read the whole field. 2026-10-23 12:21:34 -04:00
Storm Dragon 736f5a0f68 Version Bump. 2026-10-23 01:31:20 -04:00
Storm Dragon 1d75168807 Extended tentacle capabilities a bit. 2026-10-22 21:13:08 -04:00
Storm Dragon d7b1efeba0 Some hopefully final flat review touch ups. 2026-10-22 16:39:44 -04:00
Storm Dragon fb2c5b818d Browser and flat review fixes. 2026-10-22 16:00:30 -04:00
Storm Dragon 754f1ce6d7 Fixed multiple sound types being played for some controls. 2026-10-22 14:22:36 -04:00
Storm Dragon 205d5c49d2 Preparing for release, so a bit of maintenance. 2026-10-22 13:14:06 -04:00
Storm Dragon 3e9c4f83ce Options for controlling how and when speech is interrupted now wired up in preferences under the speech tab. 2026-10-22 03:25:40 -04:00
Storm Dragon e62f8c8e17 Fixed a bug in a test that caused other channel names than master to fail.? 2026-10-22 01:42:53 -04:00
Storm Dragon b7426177d9 Version bump 2026-10-22 01:37:59 -04:00
Storm Dragon e88de5ee66 More flat review improvement. 2026-10-21 20:56:18 -04:00
Storm Dragon 4643f8e47f Flat review improvements. 2026-10-21 11:49:25 -04:00
Storm Dragon ce5f196956 Make unrelated atspi events filtering better. 2026-10-20 23:37:50 -04:00
Storm Dragon 41283a5d8d Add a description column to the reading settings table under speech. 2026-10-20 19:33:48 -04:00
Storm Dragon ffcea2efea Touch up our phonetic settings. 2026-10-20 19:19:04 -04:00
Storm Dragon 08cbcc00cb Improved flat review timing by a lot. 2026-10-20 18:55:32 -04:00
Storm Dragon 58e4b8aa15 Found and fixed a bug where Cthulhu could get stuck in a loop sometimes on pages with tooltips. 2026-10-20 18:33:29 -04:00
Storm Dragon 90f1411405 mnemonics are now spoken without surrounding punctuation e.g. les or greater. 2026-10-20 16:40:06 -04:00
Storm Dragon 1f8420ab4b Merged changes from Deedra. 2026-10-20 14:03:44 -04:00
Storm Dragon f4400cf3bb Updated AGENTS.md. 2026-10-20 13:52:38 -04:00
Storm Dragon 88e8627867 Updated docs. 2026-10-20 13:39:27 -04:00
Storm Dragon dcdeab256e Merge branch 'deedra' into testing
Combine relation-only edit-label capture while retaining bounded text reads,
password-target exclusion, UTF-8 output limits and menu checkability capture.
Keep both label regression fixtures and the existing foreground test dispatch.
Preserve Wine helper diagnostics and recovery documentation, and retain the
current parity records alongside the incoming edit-label entry.

Validation:
- go test ./... -count=1 -timeout=180s
- go vet ./...
- CTHULHU_NATIVE_EDIT_LABELS=1 python3 tests/native_atspi.py
- Isolated TestNativeTextLabelRelations
- python3 tests/native_atspi.py
- Parity ledger validation: 65 rows
- Python syntax and staged diff checks

Native GTK table fixtures emitted ATK warnings; all assertions passed.
Live speech and physical Braille were not retested.
2026-10-20 13:35:29 -04:00
Storm Dragon f8efae9a92 Version bump and feature freeze. Until release bug fixes only. 2026-10-20 02:40:24 -04:00
Storm Dragon 82887b3897 Attempt to fix the rest of speech interrupting when it shouldn't. Also play radio buttons after the ui after they figure out if they are checked or not. 2026-10-19 19:25:11 -04:00