tandem-editor 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/cli/index.js +1 -1
- package/dist/server/index.js +21 -22
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to Tandem will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.2.9] - 2026-04-05
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Changelog tab no longer disappears after upgrade — version check and sample/welcome.md now open before servers start, preventing CRDT merge races with stale browser tabs
|
|
13
|
+
- Tutorial annotation injection errors now get their own log message instead of being misattributed as file-open failures
|
|
14
|
+
|
|
8
15
|
## [0.2.8] - 2026-04-05
|
|
9
16
|
|
|
10
17
|
### Added
|
package/dist/cli/index.js
CHANGED
|
@@ -337,7 +337,7 @@ var init_start = __esm({
|
|
|
337
337
|
|
|
338
338
|
// src/cli/index.ts
|
|
339
339
|
import updateNotifier from "update-notifier";
|
|
340
|
-
var version = true ? "0.2.
|
|
340
|
+
var version = true ? "0.2.9" : "0.0.0-dev";
|
|
341
341
|
updateNotifier({ pkg: { name: "tandem-editor", version } }).notify();
|
|
342
342
|
var args = process.argv.slice(2);
|
|
343
343
|
if (args.includes("--help") || args.includes("-h")) {
|
package/dist/server/index.js
CHANGED
|
@@ -5908,42 +5908,41 @@ async function main() {
|
|
|
5908
5908
|
} catch (err) {
|
|
5909
5909
|
console.error(`[Tandem] ${err instanceof Error ? err.message : err} \u2014 proceeding anyway`);
|
|
5910
5910
|
}
|
|
5911
|
-
const
|
|
5912
|
-
startMcpServerHttp(mcpPort),
|
|
5913
|
-
startHocuspocus(wsPort).then(() => {
|
|
5914
|
-
console.error(`[Tandem] Hocuspocus WebSocket server running on ws://localhost:${wsPort}`);
|
|
5915
|
-
})
|
|
5916
|
-
]);
|
|
5917
|
-
httpServer = srv;
|
|
5911
|
+
const projectRoot = path10.resolve(path10.dirname(fileURLToPath2(import.meta.url)), "../..");
|
|
5918
5912
|
try {
|
|
5919
5913
|
const versionStatus = await checkVersionChange(APP_VERSION, LAST_SEEN_VERSION_FILE);
|
|
5920
5914
|
if (versionStatus === "upgraded") {
|
|
5921
|
-
|
|
5922
|
-
path10.dirname(fileURLToPath2(import.meta.url)),
|
|
5923
|
-
"../../CHANGELOG.md"
|
|
5924
|
-
);
|
|
5925
|
-
await openFileByPath(changelogPath);
|
|
5915
|
+
await openFileByPath(path10.join(projectRoot, "CHANGELOG.md"));
|
|
5926
5916
|
console.error(`[Tandem] Opened CHANGELOG.md (upgraded to v${APP_VERSION})`);
|
|
5927
5917
|
}
|
|
5928
5918
|
} catch (err) {
|
|
5929
5919
|
console.error("[Tandem] Version check / changelog open failed (non-fatal):", err);
|
|
5930
5920
|
}
|
|
5931
|
-
if (
|
|
5932
|
-
const samplePath = path10.
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
5937
|
-
|
|
5938
|
-
|
|
5939
|
-
|
|
5921
|
+
if (docCount() === 0 && !process.env.TANDEM_NO_SAMPLE) {
|
|
5922
|
+
const samplePath = path10.join(projectRoot, "sample/welcome.md");
|
|
5923
|
+
try {
|
|
5924
|
+
await openFileByPath(samplePath);
|
|
5925
|
+
try {
|
|
5926
|
+
const doc = getOrCreateDocument(docIdFromPath(samplePath));
|
|
5927
|
+
injectTutorialAnnotations(doc);
|
|
5928
|
+
} catch (err) {
|
|
5929
|
+
console.error("[Tandem] Failed to inject tutorial annotations:", err);
|
|
5930
|
+
}
|
|
5931
|
+
} catch (err) {
|
|
5940
5932
|
if (err.code === "ENOENT") {
|
|
5941
5933
|
console.error("[Tandem] Sample file not found (skipping):", samplePath);
|
|
5942
5934
|
} else {
|
|
5943
5935
|
console.error("[Tandem] Failed to auto-open sample document:", err);
|
|
5944
5936
|
}
|
|
5945
|
-
}
|
|
5937
|
+
}
|
|
5946
5938
|
}
|
|
5939
|
+
const [srv] = await Promise.all([
|
|
5940
|
+
startMcpServerHttp(mcpPort),
|
|
5941
|
+
startHocuspocus(wsPort).then(() => {
|
|
5942
|
+
console.error(`[Tandem] Hocuspocus WebSocket server running on ws://localhost:${wsPort}`);
|
|
5943
|
+
})
|
|
5944
|
+
]);
|
|
5945
|
+
httpServer = srv;
|
|
5947
5946
|
console.error("");
|
|
5948
5947
|
console.error(` Tandem v${APP_VERSION}`);
|
|
5949
5948
|
console.error("");
|