feat(spellcheck): proofread Mastodon posts and spell-check before saving - #758
Merged
Conversation
… (WIP #spellcheck) Per-account MastodonAccount.spell_check_before_post (default False; accounts saved before the field migrate to off) with a set_spell_check_before_post() setter, and a global Settings.spell_check_before_save (default False) + searchable spec. Both opt-in. UI hooks (compose pre-post, accounts checkbox, pre-save) and docs still to come. Co-Authored-By: Claude Opus 4.8 <[email protected]>
…ing (#spellcheck) Wire the two opt-in spelling-review hooks onto the core added earlier: - Mastodon compose: when the selected account has spell_check_before_post on, pressing Post first runs the F7 spelling review over the post text (new quill/ui/spell_review.review_textctrl helper, applied in place) before sending. - Mastodon Accounts dialog: a per-account "Spell-check posts before sending" checkbox, synced fresh from the store on selection and persisted on toggle. - Save / Save As: when Settings.spell_check_before_save is on, open the F7 spelling review on the document before the file is written. Both default off; existing accounts migrate to off. Docs: user guide (Spelling Review + Mastodon sections + the editing-settings list), CHANGELOG and release0.8.1-beta1 release notes (Enhancements) with regenerated HTML/EPUB. GATE-11: settings.py/settings_specs.py rebaselined for the new field + spec. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Co-Authored-By: Claude Opus 4.8 <[email protected]>
…st-and-save # Conflicts: # CHANGELOG.md # docs/release notes/release0.8.1-beta1.epub # docs/release notes/release0.8.1-beta1.html # docs/release notes/release0.8.1-beta1.md # docs/user guide/userguide.epub # quill/tools/module_size_budgets.json
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.
What
Two opt-in spelling-review options, both off by default:
Migration (as confirmed)
Existing Mastodon accounts get the new
spell_check_before_postfield in the off state (loaded from the missing key →False), so nothing changes for current users until they opt in. The global save setting also defaults off.Changes
quill/core/mastodon/accounts.py— per-accountspell_check_before_post(default False, missing-key → off), persisted,add_accountparam, andset_spell_check_before_post().quill/core/settings.py+settings_specs.py— globalspell_check_before_save(default False) + searchable spec.quill/ui/spell_review.py(new, wx-free helper) — runs the F7ReviewSession+SpellingReviewDialogover anywx.TextCtrl, applying corrections in place.quill/ui/mastodon_dialogs.py— compose dialog runs the review pre-Post when the selected account opts in (re-reads the corrected text); accounts dialog gains the per-account checkbox (synced fresh from the store, persisted on toggle, no selection reset).quill/ui/main_frame.py—_spell_review_textctrl(passed to the compose dialog) and pre-save hooks insave_file/save_file_as.release0.8.1-beta1release notes (Enhancements), regenerated HTML/EPUB.Tests / gates
ruffclean;mypyclean on the core;py_compileof the UI files OK.settings.py/settings_specs.pyrebaselined (+5/+10) for the canonical new field + spec, with a dated note; everything else fits existing budgets (the helper is a new wx-free module)..html/.epubfor both edited docs.Note: the wx-bound dialog flows (compose pre-post gating, accounts checkbox) follow the codebase's pattern of not unit-testing wx dialogs directly; the gating logic is a simple guard on the account flag.
🤖 Generated with Claude Code