tandem-editor 0.11.0 → 0.11.2

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.
@@ -40,12 +40,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
40
40
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
41
41
 
42
42
  // src/shared/constants.ts
43
- var DEFAULT_WS_PORT, DEFAULT_MCP_PORT, SUPPORTED_EXTENSIONS, MAX_FILE_SIZE, MAX_WS_PAYLOAD, IDLE_TIMEOUT, SESSION_MAX_AGE, TANDEM_MODE_DEFAULT, SELECTION_DWELL_DEFAULT_MS, SELECTION_DWELL_MIN_MS, SELECTION_DWELL_MAX_MS, CHARS_PER_PAGE, LARGE_FILE_PAGE_THRESHOLD, VERY_LARGE_FILE_PAGE_THRESHOLD, CTRL_ROOM, Y_MAP_ANNOTATIONS, Y_MAP_AWARENESS, Y_MAP_USER_AWARENESS, Y_MAP_MODE, Y_MAP_DWELL_MS, Y_MAP_CHAT, Y_MAP_DOCUMENT_META, Y_MAP_ANNOTATION_REPLIES, Y_MAP_SAVED_AT_VERSION, Y_MAP_AUTHORSHIP, Y_MAP_SELECTION, Y_MAP_ACTIVITY, Y_MAP_OPEN_DOCUMENTS, Y_MAP_ACTIVE_DOCUMENT_ID, Y_MAP_GENERATION_ID, Y_MAP_STORE_READ_ONLY, NOTIFICATION_BUFFER_SIZE, TUTORIAL_ANNOTATION_PREFIX, CHANNEL_EVENT_BUFFER_SIZE, CHANNEL_EVENT_BUFFER_AGE_MS, CHANNEL_SSE_KEEPALIVE_MS, TOKEN_FILE_NAME, DEFAULT_BIND_HOST, TANDEM_ALLOW_UNAUTHENTICATED_LAN_ENV, TAURI_HOSTNAME;
43
+ var DEFAULT_WS_PORT, DEFAULT_MCP_PORT, TANDEM_REPO_URL, TANDEM_ISSUES_NEW_URL, SUPPORTED_EXTENSIONS, MAX_FILE_SIZE, MAX_WS_PAYLOAD, IDLE_TIMEOUT, SESSION_MAX_AGE, TANDEM_MODE_DEFAULT, SELECTION_DWELL_DEFAULT_MS, SELECTION_DWELL_MIN_MS, SELECTION_DWELL_MAX_MS, CHARS_PER_PAGE, LARGE_FILE_PAGE_THRESHOLD, VERY_LARGE_FILE_PAGE_THRESHOLD, CTRL_ROOM, Y_MAP_ANNOTATIONS, Y_MAP_AWARENESS, Y_MAP_USER_AWARENESS, Y_MAP_MODE, Y_MAP_DWELL_MS, Y_MAP_CHAT, Y_MAP_DOCUMENT_META, Y_MAP_ANNOTATION_REPLIES, Y_MAP_SAVED_AT_VERSION, Y_MAP_AUTHORSHIP, Y_MAP_SELECTION, Y_MAP_ACTIVITY, Y_MAP_OPEN_DOCUMENTS, Y_MAP_ACTIVE_DOCUMENT_ID, Y_MAP_GENERATION_ID, Y_MAP_STORE_READ_ONLY, NOTIFICATION_BUFFER_SIZE, TUTORIAL_ANNOTATION_PREFIX, CHANNEL_EVENT_BUFFER_SIZE, CHANNEL_EVENT_BUFFER_AGE_MS, CHANNEL_SSE_KEEPALIVE_MS, TOKEN_FILE_NAME, DEFAULT_BIND_HOST, TANDEM_ALLOW_UNAUTHENTICATED_LAN_ENV, TAURI_HOSTNAME;
44
44
  var init_constants = __esm({
45
45
  "src/shared/constants.ts"() {
46
46
  "use strict";
47
47
  DEFAULT_WS_PORT = 3478;
48
48
  DEFAULT_MCP_PORT = 3479;
49
+ TANDEM_REPO_URL = "https://github.com/bloknayrb/tandem";
50
+ TANDEM_ISSUES_NEW_URL = `${TANDEM_REPO_URL}/issues/new`;
49
51
  SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".md", ".txt", ".html", ".htm", ".docx"]);
50
52
  MAX_FILE_SIZE = 50 * 1024 * 1024;
51
53
  MAX_WS_PAYLOAD = 10 * 1024 * 1024;
@@ -68462,7 +68464,7 @@ var init_env_paths = __esm({
68462
68464
  });
68463
68465
 
68464
68466
  // src/server/platform.ts
68465
- import { execSync } from "child_process";
68467
+ import { execFileSync, execSync } from "child_process";
68466
68468
  import net from "net";
68467
68469
  import path4 from "path";
68468
68470
  function resolveAppDataDir() {
@@ -68520,8 +68522,22 @@ function freePortWindows(port) {
68520
68522
  });
68521
68523
  const pid = out.trim().split(/\s+/).at(-1);
68522
68524
  if (pid && /^\d+$/.test(pid)) {
68523
- execSync(`taskkill /PID ${pid} /F`, { stdio: "ignore" });
68524
- console.error(`[Tandem] Killed stale PID ${pid} holding port ${port}`);
68525
+ try {
68526
+ const killOut = execFileSync("taskkill", ["/PID", pid, "/F"], {
68527
+ encoding: "utf-8",
68528
+ stdio: ["pipe", "pipe", "pipe"]
68529
+ });
68530
+ const trimmed = killOut.trim();
68531
+ console.error(
68532
+ `[Tandem] Killed stale PID ${pid} holding port ${port}${trimmed ? `: ${trimmed}` : ""}`
68533
+ );
68534
+ } catch (err) {
68535
+ const stderr = err && typeof err === "object" && "stderr" in err ? String(err.stderr ?? "") : "";
68536
+ const message = err instanceof Error ? err.message : String(err);
68537
+ console.error(
68538
+ `[Tandem] taskkill failed for PID ${pid} on port ${port}: ${message}${stderr ? ` \u2014 stderr: ${stderr.trim()}` : ""}`
68539
+ );
68540
+ }
68525
68541
  }
68526
68542
  }
68527
68543
  function freePortUnix(port) {
@@ -116130,7 +116146,7 @@ function registerNavigationTools(server) {
116130
116146
 
116131
116147
  // src/server/mcp/server.ts
116132
116148
  var esmRequire = createRequire(import.meta.url);
116133
- var APP_VERSION = true ? "0.11.0" : _readVersionFromDisk();
116149
+ var APP_VERSION = true ? "0.11.2" : _readVersionFromDisk();
116134
116150
  var MCP_SDK_VERSION = true ? "1.27.1" : "0.0.0-unknown";
116135
116151
  var __dirname3 = dirname3(fileURLToPath4(import.meta.url));
116136
116152
  var CLIENT_DIST = join3(__dirname3, "../client");
@@ -116360,14 +116376,14 @@ var TUTORIAL_ANNOTATIONS = [
116360
116376
  {
116361
116377
  id: `${TUTORIAL_ANNOTATION_PREFIX}highlight-1`,
116362
116378
  type: "highlight",
116363
- targetText: "collaborative document editor",
116379
+ targetText: "highlight text and Claude sees it",
116364
116380
  content: "This is a highlight \u2014 it marks text for attention without suggesting changes.",
116365
116381
  color: "yellow"
116366
116382
  },
116367
116383
  {
116368
116384
  id: `${TUTORIAL_ANNOTATION_PREFIX}comment-1`,
116369
116385
  type: "comment",
116370
- targetText: "review your documents",
116386
+ targetText: "edit this document at the same time",
116371
116387
  content: "Comments let you or Claude leave notes on specific text passages."
116372
116388
  },
116373
116389
  {
@@ -116687,7 +116703,7 @@ async function main2() {
116687
116703
  try {
116688
116704
  const versionStatus = await checkVersionChange(APP_VERSION, LAST_SEEN_VERSION_FILE);
116689
116705
  if (versionStatus === "upgraded") {
116690
- await openFileByPath(path16.join(projectRoot, "CHANGELOG.md"));
116706
+ await openFileByPath(path16.join(projectRoot, "CHANGELOG.md"), { readOnly: true });
116691
116707
  console.error(`[Tandem] Opened CHANGELOG.md (upgraded to v${APP_VERSION})`);
116692
116708
  }
116693
116709
  } catch (err) {