opencode-sesh 0.7.0 → 0.7.1

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/AGENTS.md CHANGED
@@ -160,9 +160,11 @@ Resume happens in place (`exec` after `cd` to the session's cwd).
160
160
  opens locally). Works for background agents and older panels too.
161
161
  - **Workspace naming.** The poll renames this workspace to the current
162
162
  session title (`cmux workspace rename <id> --title …`), skipping titles that
163
- are still the pre-first-turn placeholder. `bin/sesh-cmux-sync.sh` does the
164
- same for every workspace at once. The session title is the source of truth;
165
- a manual cmux rename is overwritten on the next session-title change.
163
+ must never name a workspace: the pre-first-turn placeholder
164
+ (`/^New session\b/`) and plugin sentinels (`ghost-hidden`, which
165
+ opencode-ghost titles its internal sessions). `bin/sesh-cmux-sync.sh` does
166
+ the same for every workspace at once. The session title is the source of
167
+ truth; a manual cmux rename is overwritten on the next session-title change.
166
168
  These are the only cmux calls in the panel; keep them behind the
167
169
  `CMUX_WORKSPACE_ID` guard.
168
170
  - **Picker:** a custom dialog (not `DialogSelect`) grouped by
package/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.7.1] - 2026-09-24
11
+
12
+ ### Fixed
13
+
14
+ - Workspace naming no longer pushes the `ghost-hidden` sentinel that the
15
+ opencode-ghost plugin uses for its internal sessions. The placeholder check
16
+ was also corrected, so `New session - …` titles are skipped as intended
17
+ rather than slipping through.
10
18
  ## [0.7.0] - 2026-09-24
11
19
 
12
20
  ### Added
@@ -22,6 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
30
  - Click-to-focus now reads cmux's per-surface resume record (`checkpoint_id`)
23
31
  instead of heartbeat files, so it also finds background agents and panes
24
32
  running an older panel, and has no files to sweep.
33
+
25
34
  ## [0.6.0] - 2026-09-24
26
35
 
27
36
  ### Added
@@ -293,7 +302,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
293
302
  - Fixture-database regression suite, TypeScript typechecking, and ShellCheck in
294
303
  CI.
295
304
 
296
- [Unreleased]: https://github.com/ozandogrultan/opencode-sesh/compare/v0.7.0...HEAD
305
+ [Unreleased]: https://github.com/ozandogrultan/opencode-sesh/compare/v0.7.1...HEAD
306
+ [0.7.1]: https://github.com/ozandogrultan/opencode-sesh/compare/v0.7.0...v0.7.1
297
307
  [0.7.0]: https://github.com/ozandogrultan/opencode-sesh/compare/v0.6.0...v0.7.0
298
308
  [0.6.0]: https://github.com/ozandogrultan/opencode-sesh/compare/v0.5.0...v0.6.0
299
309
  [0.5.0]: https://github.com/ozandogrultan/opencode-sesh/compare/v0.4.0...v0.5.0
@@ -111,7 +111,10 @@ FINAL=$(printf '%s' "$PAIRS" | "$JQ_BIN" -c \
111
111
  | ($current[0] | map({key: .workspace, value: .title}) | from_entries) as $shown
112
112
  | [ .[]
113
113
  | ($byId[.session] // "" | gsub("^ +| +$"; "")) as $t
114
- | select($t != "" and ($t | test("^New session\\b"; "i") | not))
114
+ | select($t != "")
115
+ # Never push a placeholder or a plugin sentinel (opencode-ghost titles its
116
+ # internal sessions "ghost-hidden").
117
+ | select(($t | test("^New session\\b|^ghost-hidden$"; "i") | not))
115
118
  | select(($shown[.workspace] // "") != $t)
116
119
  | . + {title: $t} ]')
117
120
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-sesh",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "type": "module",
5
5
  "description": "Browse, search, preview and resume opencode sessions from the terminal and the TUI.",
6
6
  "license": "MIT",
@@ -177,9 +177,10 @@ function pinnedFirst(entries: Entry[], pins: Pins): Entry[] {
177
177
  // dialog). Native `/sessions` and session_list (<leader>l) stay untouched.
178
178
  const BASE_MODE = "base"
179
179
  const POLL_MS = 15_000
180
- // opencode names a session only after its first turn; until then the title is
181
- // a placeholder that should not become a cmux workspace name.
182
- const PLACEHOLDER_TITLE = /^New session\b/i
180
+ // Titles that must never become a cmux workspace name: opencode's pre-first-
181
+ // turn placeholder, and the sentinel other plugins (opencode-ghost) use for
182
+ // internal sessions so their scaffolding rows stay out of the UI.
183
+ const PLACEHOLDER_TITLE = /^New session\b|^ghost-hidden$/i
183
184
 
184
185
  function shortDir(dir: string, home: string): string {
185
186
  if (!dir || dir === "/") return "other"