Releases: stephengpope/shockwave
Releases · stephengpope/shockwave
1.0.5
1.0.4
v1.0.4 Fix Windows build: remove npm's recursive cli-tools self-link before …
1.0.2
Release v1.0.2 — list/todo Enter fixes; wiki-link cursor-reveal
Markdown list Enter behavior had two distinct bugs that made bullets and todos
feel broken in note files with spacing:
1. Empty markers didn't collapse on the first Enter. markdown() defaults to
addKeymap:true, injecting its own markdownKeymap at Prec.high — that
high-prec copy pre-empted our ordered keymap, so taskEnterKeymap never ran
(empty `- [ ]` never cleared) and bullets used the default tight->loose
conversion (insert a blank line, collapse only on the 2nd Enter). Fix: pass
addKeymap:false and own the binding via
insertNewlineContinueMarkupCommand({ nonTightLists: false }), bound after
taskEnterKeymap so tasks win on `- [ ]` lines.
2. Continuing a bullet inside a "loose" list (items separated by blank lines)
re-inserted a blank line every Enter — self-perpetuating, since one blank
makes the list loose. CM's nonTightList branch isn't reachable by config.
New listContinueKeymap continues a non-empty bullet/ordered item tightly
(copies its own indent + marker, no blank line); empty items still fall
through to collapse. Tasks were already tight via taskEnterKeymap.
Also: taskEnterKeymap now handles Enter mid-text in a todo — splitting carries
the after-cursor text onto a new `- [ ] ` line instead of dropping the checkbox.
wikiLinks: reveal raw [[name]] when the cursor/selection touches the link, so
it can be edited (same convention as markdownLinks).
Verified via CDP against real keypresses: plain/star bullets, nested, ordered,
tasks, loose lists, mid-text split — all collapse/continue correctly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.0.1
Release v1.0.1 + fix sync clobbering typed edits The useLinkIndex.updateFile wrapper was dropping its third argument (mtime), so writeNow's call resolved to mtimes.set(path, undefined) and fell through to a Date.now() fallback in linkIndex.updateFile. Date.now() is integer ms; fs.stat.mtimeMs has fractional precision. The watcher's stat then read a mtime > the stored integer, isFresh fired, and the editor was reloaded from disk mid-typing — losing the last keystrokes and jumping the cursor. Fix the wrapper to forward mtime, and remove the misleading Date.now() fallback in linkIndex so a missing mtime no longer silently corrupts the self-echo guard. updateFile now preserves existing mtime if called without one (used by the rename-echo path, where renameFile already carried the mtime over). renameOps captures the mtime returned from writeFile so the reference-rewrite path threads the real value through. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.0.0
Rewrite README around AI agent + free sync; stable release filenames - README: lead with the two selling features (integrated AI agent, free GitHub sync), add an Install section with permanent latest/download links and concise unsigned-build workarounds per OS. - package.json: version-less artifactName per platform so the releases/latest/download/<file> links never need editing each release. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>