Repository navigation
Conversation
…ckbox (#1012) Vim `o` on a task line, then Tab, then typing: the caret showed after the new sub-task's `- [ ] `, but the text went in before it, as ` abc- [ ] `. Enter then Tab with Vim off did the same, in Live Preview and in Source mode. Only an empty task that gets indented; a task with text, plain bullets and numbered lists were fine. Since #952 (f2512e3, first in 2.71.0) the list indent is drawn as one single-space cell per column so nested lists line up in a proportional font. On an empty task the caret sits after the marker's trailing space, itself a lone space text node. When Tab indents that line, CodeMirror's redraw reuses that very node for one of the new indent cells. getSelection() then reports the line's end, which CodeMirror takes as already right and leaves alone, but Chromium keeps its own caret in the moved node, so the next keystroke lands inside the indent. CodeMirror's guard for this Chrome behavior only notices a node that was rewritten or removed, not one moved intact (6.43.15 does not change that). The list indent plugin now notes the caret's text node before a document change is drawn and, when that node is still in the editor but the reported caret has left it, collapses the selection onto the position it already reports, which brings Chromium's caret back. It skips IME composition and costs nothing while the caret stays in its node. Every editor that draws list cells gets it through the plugin: the main editor, the pinned reference pane and the link popover. It does not change how the cells are drawn; the alignment from #952 stays.
…on macOS (#1009) Connecting to a self-hosted server over HTTPS with a certificate from a private CA (step-ca here) failed with "Could not reach the server: fetch failed", although macOS trusted that CA and a browser opened the server. NODE_USE_SYSTEM_CA=1 cured it, but only when set before the app starts. The window trusts the system's certificate store through Chromium, but every request from the main process, the MCP server and the bundled CLI goes through Node's TLS (fetch, and the `ws` change feed), and Node trusts only the list bundled into it. On this Mac the system store holds roots Node does not ship: gs.apple.com, signed by Apple Root CA, fails with SELF_SIGNED_CERT_IN_CHAIN on Node's list and answers once the system's certificates are added, which is the same failure and the same cure. system-trust.ts adds the system's certificates to Node's default list with tls.setDefaultCACertificates (Node 24.18 in Electron 41). Reading the store costs 20 to 30 ms on macOS, so it is read once and off the boot path: before the first request a remote client makes (RemoteServerClient for the app, remoteJsonRequest for the MCP server and the CLI), and two seconds after the window shows for Cloud, update checks and link previews. Trust is only added: a store that cannot be read, or a Node without these calls, keeps Node's own list, so nothing that connected before stops connecting.
This branch was successfully deployed
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.
Two fixes found on release morning, before the 2.79.0 tag.
othen tab) it starts typing from the left of the "- [ ] " #1012, Vimothen Tab on an empty task types before the- [ ](a134a59). A regression from Nested lists in Edit misalign with a proportional font: source spaces render narrower than the ch-based hanging indent and guides #952's list prefix cells (f2512e3, since 2.71.0): Tab's redraw reused the caret's text node for an indent cell and Chromium kept its caret there. The list indent plugin now puts Chromium's caret back on the position the editor reports. Reproduced and verified over CDP in the built app (Vimo+ Tab, Ctrl-T, Vim off Enter + Tab, Live Preview and Source).The third issue looked at the same morning, #1004 (Cloud sync 422), is a server-side fix in the website repo.
How to test locally
othen tab) it starts typing from the left of the "- [ ] " #1012: with Vim on, open a note with- [ ] parent, presso, then Tab, then typeabc. Before:abc- [ ]. After:- [ ] abc. With Vim off, Enter then Tab behaves the same way.NODE_USE_SYSTEM_CA). Before: "Could not reach the server: fetch failed". After: it connects.