@alecdotdev — I've been working through a backlog of defects over the last stretch and there are now a handful of decisions that are yours rather than mine. Rather than pinging you on each one, here is a single index. Nothing here is urgent and nothing needs a long reply — a one-line "yes/no/not now" on any of them is enough, and I'm happy to implement whichever way you point.
Decisions I'd like your call on
|
Question |
| #390 |
⌘Q discards the session snapshot while the red X keeps it, and quit only closes the focused window. Both live in appExit(), so they're one decision. My reading is that the discard is deliberate — the confirm dialog literally promises it — but that dialog only appears when a tab is dirty, so most people never see the sentence that explains the design. |
| #391 |
Undo history is destroyed on every tab switch, because one Monaco model is shared by all tabs and setValue clears the undo stack by definition. Fix is one model per tab (Monaco's intended usage), but it changes observable behaviour and adds model lifetime management. |
| #392 |
Ctrl+T means three different things across platforms, and the Home tab it opens on Windows/Linux renders blank. |
| #393 |
Monaco's defaults were never audited — that's why fullwidth CJK punctuation gets outlined (#186, #94) and why Vim's whole z family is dead (#104). Offering to bring a list before touching anything. |
| #394 |
img-src https: means opening an untrusted .md can silently contact a third party; assetProtocol.scope: ["**"] exposes the filesystem. Both look like deliberate trade-offs — I'd like to know if they are, so they can be recorded as such. |
| #395 |
The portable and installer .exe are the same binary distinguished by filename, and re-running the installer after installing silently opens the app instead of offering Repair/Uninstall. |
| #368 |
Undo deletes pasted/dropped images permanently, and sometimes the wrong one. Three separate defects; I closed my own PR for it because the prior question is whether that deletion should exist at all. Obsidian and Typora keep the file and make orphan cleanup an explicit command. |
| #372 |
Non-UTF-8 documents. #379 has landed the stop-loss (they open, but saving over the original is refused), so nothing is destroyed now. The open question is whether you want real encoding detection, which means a new dependency. |
| #373 |
Saving a read-only file: hard error, or a "this file is read-only, overwrite?" prompt like VS Code. #371 made all three platforms fail consistently, which removed a capability Unix users had. |
| #385 |
Three stale statements in AGENTS.md — most importantly that the frontend has no test framework, when there are 67 test files and CI runs them. Happy to PR it if you'd rather not. |
Where the code stands
Roughly 60 commits are on master but unreleased. Several of those fix things people reported (checkbox toggling, preview width, Ctrl+O, PDF layout), so a release would let reporters confirm on their own machines rather than taking my word for it.
I've deliberately not closed any issue, even where the fix looks complete — I'd rather the reporter confirms against a build than have me close it from reading the code. I'll comment on the relevant ones with what changed and which PR did it.
Two more things worth flagging, neither needing a decision:
Thanks for merging the recent series — happy to keep going, slow down, or drop anything you'd rather not carry.
@alecdotdev — I've been working through a backlog of defects over the last stretch and there are now a handful of decisions that are yours rather than mine. Rather than pinging you on each one, here is a single index. Nothing here is urgent and nothing needs a long reply — a one-line "yes/no/not now" on any of them is enough, and I'm happy to implement whichever way you point.
Decisions I'd like your call on
appExit(), so they're one decision. My reading is that the discard is deliberate — the confirm dialog literally promises it — but that dialog only appears when a tab is dirty, so most people never see the sentence that explains the design.setValueclears the undo stack by definition. Fix is one model per tab (Monaco's intended usage), but it changes observable behaviour and adds model lifetime management.Ctrl+Tmeans three different things across platforms, and the Home tab it opens on Windows/Linux renders blank.zfamily is dead (#104). Offering to bring a list before touching anything.img-src https:means opening an untrusted.mdcan silently contact a third party;assetProtocol.scope: ["**"]exposes the filesystem. Both look like deliberate trade-offs — I'd like to know if they are, so they can be recorded as such..exeare the same binary distinguished by filename, and re-running the installer after installing silently opens the app instead of offering Repair/Uninstall.AGENTS.md— most importantly that the frontend has no test framework, when there are 67 test files and CI runs them. Happy to PR it if you'd rather not.Where the code stands
Roughly 60 commits are on
masterbut unreleased. Several of those fix things people reported (checkbox toggling, preview width,Ctrl+O, PDF layout), so a release would let reporters confirm on their own machines rather than taking my word for it.I've deliberately not closed any issue, even where the fix looks complete — I'd rather the reporter confirms against a build than have me close it from reading the code. I'll comment on the relevant ones with what changed and which PR did it.
Two more things worth flagging, neither needing a decision:
\\collapses a multi-linealignedinto one line,\%makes KaTeX treat the rest as a comment, and_{1}becomes<em>. The current guard protects only_and only$$— the intersection of the three. Masking the whole delimited span before comrak and restoring after fixes all three at once. I'm working on that.create_shortcutnever callscreate_dir_all, so a missing Desktop or Start Menu directory fails the install outright.Thanks for merging the recent series — happy to keep going, slow down, or drop anything you'd rather not carry.