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 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.8" : "0.0.0-dev";
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")) {
@@ -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 [srv] = await Promise.all([
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
- const changelogPath = path10.resolve(
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 (getOpenDocs().size === 0 && !process.env.TANDEM_NO_SAMPLE) {
5932
- const samplePath = path10.resolve(
5933
- path10.dirname(fileURLToPath2(import.meta.url)),
5934
- "../../sample/welcome.md"
5935
- );
5936
- openFileByPath(samplePath).then(() => {
5937
- const doc = getOrCreateDocument(docIdFromPath(samplePath));
5938
- injectTutorialAnnotations(doc);
5939
- }).catch((err) => {
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("");