Skip to content

Release 2.79.0: empty sub-task typing (#1012) and private CA servers (#1009) - #1013

Merged
adibhanna merged 2 commits into
mainfrom
v2.79.0
Oct 29, 2026
Merged

adibhanna merged 2 commits into
mainfrom
v2.79.0

Conversation

@adibhanna

Copy link
Copy Markdown
Contributor

Two fixes found on release morning, before the 2.79.0 tag.

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

…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.
@adibhanna
adibhanna merged commit cefd86d into main Oct 29, 2026
10 checks passed
@adibhanna
adibhanna deleted the v2.79.0 branch October 29, 2026 14:19
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 15:49 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 15:49 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 15:53 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 16:39 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 16:41 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 16:41 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 18:23 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 18:26 — with GitHub Actions Active
@adibhanna
adibhanna deployed to boundary-artifacts October 29, 2026 18:27 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
boundary-artifacts — cefd86d9 Deployed Oct 29, 2026 by adibhanna via draft #94
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.

1 participant