claude-threads 1.8.1 → 1.8.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.8.2] - 2026-04-22
9
+
10
+ ### Breaking
11
+ - **Minimum Node.js bumped from 18 to 20.** Required by `@hono/node-server@2`. Node 18 has been past end-of-life since April 2025, so most installs are already on 20+. (#335)
12
+
13
+ ### Fixed
14
+ - **Plain reply could no longer resume a paused session after bot restart** — when the bot restarted more than 2× `sessionTimeoutMinutes` after a session's last activity, `cleanStale()` soft-deleted the paused record. The reply-resume path used `load()` (which hides soft-deleted sessions), so a user reply in the thread promised by the timeout message (`send a new message to continue`) fell through to the `Mention me with your request` branch and a subsequent @mention started a fresh session, losing thread context. The 🔄 reaction path never had this problem because it reads raw data via `findByPostId`. The two resume paths now share the same visibility into the 3-day history window. (#336, thanks @shaders)
15
+ - **Flaky `MAX_SESSIONS Limit` integration test** — the Mattermost docker container in CI throws transient 500s on `/posts` that trigger ~1.5s of retry backoff per call. Six sequential session starts under that overhead pushed at least one `waitForSessionActive` past its 10s deadline ~30-50% of runs. The test now uses a 20s per-step budget under `CI`. The race the test guards (`maxSessions` cap, fixed in v1.7.1 / #331) is unchanged. (#337)
16
+
17
+ ### Changed
18
+ - **Dependencies** — `@hono/node-server` 1.19.14 → 2.0.0 (#335), `eslint` 10.2.0 → 10.2.1, `prettier` 3.8.2 → 3.8.3, `typescript` 6.0.2 → 6.0.3, `typescript-eslint` 8.58.2 → 8.59.0 (#334).
19
+
8
20
  ## [1.8.1] - 2026-04-21
9
21
 
10
22
  ### Fixed
package/dist/index.js CHANGED
@@ -53511,6 +53511,15 @@ class SessionStore {
53511
53511
  const data = this.loadRaw();
53512
53512
  return data.sessions[sessionId];
53513
53513
  }
53514
+ findByThreadIdAnyState(threadId) {
53515
+ const data = this.loadRaw();
53516
+ for (const session of Object.values(data.sessions)) {
53517
+ if (session.threadId === threadId) {
53518
+ return session;
53519
+ }
53520
+ }
53521
+ return;
53522
+ }
53514
53523
  findByPostId(platformId, postId) {
53515
53524
  const data = this.loadRaw();
53516
53525
  for (const session of Object.values(data.sessions)) {
@@ -68387,13 +68396,7 @@ class SessionRegistry {
68387
68396
  return this.sessionStore.findByThread(platformId, threadId);
68388
68397
  }
68389
68398
  getPersistedByThreadId(threadId) {
68390
- const all = this.sessionStore.load();
68391
- for (const session of all.values()) {
68392
- if (session.threadId === threadId) {
68393
- return session;
68394
- }
68395
- }
68396
- return;
68399
+ return this.sessionStore.findByThreadIdAnyState(threadId);
68397
68400
  }
68398
68401
  getSessionStore() {
68399
68402
  return this.sessionStore;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-threads",
3
- "version": "1.8.1",
3
+ "version": "1.8.2",
4
4
  "description": "Share Claude Code sessions live in a Mattermost channel with interactive features",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -63,7 +63,7 @@
63
63
  "package.json"
64
64
  ],
65
65
  "dependencies": {
66
- "@hono/node-server": "^1.19.11",
66
+ "@hono/node-server": "^2.0.0",
67
67
  "@inkjs/ui": "^2.0.0",
68
68
  "@modelcontextprotocol/sdk": "^1.26.0",
69
69
  "@redactpii/node": "^1.0.16",
@@ -104,7 +104,7 @@
104
104
  "yazl": "^3.3.1"
105
105
  },
106
106
  "engines": {
107
- "node": ">=18.0.0",
107
+ "node": ">=20.0.0",
108
108
  "bun": ">=1.2.21"
109
109
  },
110
110
  "lint-staged": {