pingdotgg / pingdotgg/t3code

[Bug]: Preserve native spellcheck behavior in the composer

Open
#4,253 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/web and apps/desktop

Steps to reproduce
  1. Open a thread draft and type multiple misspelled words in the composer, for example speeling and teh.
  2. Accept the native spelling correction for the first word from the host context menu.
  3. Continue editing or right-click another underlined word.
  4. On macOS desktop, also try a misspelling such as teting for which NSSpellChecker has suggestions.
Expected behavior

Accepting a correction should preserve the remaining native spelling markers and immediately re-check the edited text. The desktop context menu should show the operating system's available suggestions.

Actual behavior

Lexical's controlled replacement and full text-node reconciliation can make Blink discard existing spelling markers until the next real keystroke. Electron can also report an underlined misspelledWord with an empty dictionarySuggestions array even though the macOS checker has candidates, leaving the menu at No suggestions.

Impact

Minor bug or occasional failure

Version or commit

main at 6f34ad3e87eb

Environment

macOS 26.5.2; Electron 41.5.0; Chromium/Blink composer

Logs or stack traces

No runtime errors are emitted. For teting, macOS NSSpellChecker returns texting, testing, toting, teeing, and tenting while Chromium may provide no Electron dictionary suggestions.

Workaround

Typing another character can make the browser re-check the text. There is no consistent workaround for an empty desktop suggestion list.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the composer behavior in apps/web and apps/desktop with multiple misspellings, accepting the first native correction, and opening the desktop context menu. Compare the remaining spelling markers and macOS suggestions with the Chromium/Electron results. Done means corrections preserve other native markers, edited text is rechecked immediately, and the desktop menu shows available operating-system suggestions.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, typescript
Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.