Skip to content

LiveText: pumped generator follow-up - #20216

Merged
seanbudd merged 6 commits into
nvaccess:masterfrom
codeofdusk:live-text-skip-beep
Jul 1, 2026
Merged

LiveText: pumped generator follow-up#20216
seanbudd merged 6 commits into
nvaccess:masterfrom
codeofdusk:live-text-skip-beep

Conversation

@codeofdusk

Copy link
Copy Markdown
Contributor

Link to issue number:

#20177

Summary of the issue:

After #20177:

  • It is impossible to tell whether lines have been skipped during large text floods;
  • The new generator behaviour cannot be tuned or disabled if it is problematic for some applications;
  • Copyright and attributions were outdated or missing.

Description of how this pull request fixes the issue:

This PR:

  • Updates copyright and attribution;
  • Adds a "beep for skipped lines" option to terminal programs settings, with tunable hidden frequency and duration settings (similar to progress bars);
  • Adds a hidden config setting to change the batch size of new lines sent to speech (setting to 0 disables batching and reverts to the previous behaviour);
  • Adds a hidden config setting to change the maximum number of new lines that can be reported at once (set to 0 to revert to the previous uncapped behaviour).

Testing strategy:

Verified that all settings and the beep work as expected. Alpha testing.

Known issues with pull request:

None known

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

Copilot AI review requested due to automatic review settings May 26, 2026 02:46
@codeofdusk
codeofdusk requested review from a team as code owners May 26, 2026 02:46
@codeofdusk

Copy link
Copy Markdown
Contributor Author

CC @ethindp, @seanbudd.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new “Beep for skipped lines” terminal setting and related terminal flood-handling controls, while updating release notes for the live-region freeze fix.

Changes:

  • Documented and surfaced a new Advanced setting: “Beep for skipped lines”.
  • Added config options to cap/batch reported terminal lines and to configure the skipped-lines beep.
  • Updated changelog entry to include additional issue/credit references.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
user_docs/en/userGuide.md Documents the new “Beep for skipped lines” Advanced setting.
user_docs/en/changes.md Updates the bug-fix entry with additional references/credits.
source/gui/settingsDialogs.py Adds the Advanced Settings checkbox, default handling, and persistence.
source/config/configSpec.py Introduces new [terminals] tuning options (limits, batching, beep params).
source/NVDAObjects/behaviors.py Implements line dropping, batching, and optional beep when lines are skipped.

Comment thread user_docs/en/userGuide.md
Comment thread user_docs/en/userGuide.md
Comment thread source/config/configSpec.py Outdated
Comment thread source/gui/settingsDialogs.py
@seanbudd seanbudd added the blocked/needs-product-decision A product decision needs to be made. Decisions about NVDA UX or supported use-cases. label May 26, 2026
@codeofdusk
codeofdusk force-pushed the live-text-skip-beep branch from 8ac79a8 to f003e22 Compare May 26, 2026 02:57
@ethindp

ethindp commented May 31, 2026

Copy link
Copy Markdown
Contributor

@codeofdusk I like this, fully agree it should be done.

@seanbudd seanbudd removed the blocked/needs-product-decision A product decision needs to be made. Decisions about NVDA UX or supported use-cases. label Jun 1, 2026
Comment thread user_docs/en/userGuide.md Outdated
Comment thread user_docs/en/userGuide.md Outdated
Comment thread source/config/configSpec.py Outdated
Comment thread source/gui/settingsDialogs.py Outdated
Comment thread source/NVDAObjects/behaviors.py
Comment thread user_docs/en/changes.md
@seanbudd
seanbudd marked this pull request as draft June 2, 2026 01:35
@seanbudd

Copy link
Copy Markdown
Member

Is this something you intend to continue to work on?

codeofdusk and others added 5 commits June 15, 2026 17:17
@codeofdusk
codeofdusk marked this pull request as ready for review June 30, 2026 20:53

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @codeofdusk

@Qchristensen Qchristensen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reads well

@seanbudd
seanbudd merged commit 9fe7dde into nvaccess:master Jul 1, 2026
42 of 44 checks passed
@github-actions github-actions Bot added this to the 2026.3 milestone Jul 1, 2026
Comment thread user_docs/en/userGuide.md
Warning: with this option enabled, typed characters that do not appear onscreen, such as passwords, will not be suppressed.
In untrusted environments, you may temporarily disable [speak typed characters](#KeyboardSettingsSpeakTypedCharacters) and [speak typed words](#KeyboardSettingsSpeakTypedWords) when entering passwords.

##### Beep for skipped lines {#AdvancedSettingsBeepForSkippedLines}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We usually no longer put the name of the panel in the anchor. This way, if the setting is moved in the future, the anchor remains valid and does not become inconsistent with its new location.

Suggested change
##### Beep for skipped lines {#AdvancedSettingsBeepForSkippedLines}
##### Beep for skipped lines {#TerminalBeepForSkippedLines}

@CyrilleB79

Copy link
Copy Markdown
Contributor

@seanbudd I am surprised to see that you have accepted 3 new hidden config parameters, while you have recently written that you wouldn't accept new ones. Did I miss something?

Also, the anchor should ideally be fixed to avoid the panel's name; if a subsequent PR is done, this can be included in it.

@seanbudd

seanbudd commented Jul 9, 2026

Copy link
Copy Markdown
Member

@CyrilleB79 - my bad, I assumed the review comment was addressed correctly and missed this on the diff review. Will revert this for now.

seanbudd added a commit that referenced this pull request Jul 9, 2026
This reverts commit 9fe7dde.

### Reverts PR
Reverts #20216

### Issues fixed
N/A

### Issues reopened
N/A

### Reason for revert

Introduced hidden config params

### Can this PR be reimplemented? If so, what is required for the next
attempt

#20216 (comment)
@seanbudd

seanbudd commented Jul 9, 2026

Copy link
Copy Markdown
Member

Reverted via #20472, please make sure the next implementation doesn't introduce hidden config params as requested. Fixing up the user guide anchor would be great too

seanbudd pushed a commit that referenced this pull request Aug 13, 2026
#20177, supersedes #20216.
Summary of the issue:

After #20177:

    It is impossible to tell whether lines have been skipped during large text floods;
    Copyright and attributions were outdated or missing.

Description of how this pull request fixes the issue:

This PR:

    Updates copyright and attribution;
    Adds a "beep for skipped lines" option to terminal programs settings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants