@gotcos/glasses-server 6.24.0 → 6.24.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/CHANGELOG.md +17 -0
- package/package.json +1 -1
- package/server/routes/session-index.ts +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
## 6.24.1
|
|
2
|
+
|
|
3
|
+
Surfaces `project` on session rows, so the list can group the way Claude Code's own
|
|
4
|
+
sidebar does.
|
|
5
|
+
|
|
6
|
+
- The indexer was scanning ONE project directory. `PROJECTS_DIR` was hardcoded to
|
|
7
|
+
MU-Chief-Staff, so 17 of 18 project dirs — `cos-glasses-app`, `cos-glasses-server`,
|
|
8
|
+
the 119 projects, the COS examples — were never indexed at all. That is why the
|
|
9
|
+
Sessions list could never match the sidebar: entire projects were absent, not just
|
|
10
|
+
mislabelled. Fixed in session_indexer.py (COS repo); 1,212 sessions now carry a
|
|
11
|
+
project where 1,000 were visible before.
|
|
12
|
+
- `project` comes from the `cwd` on the session records, not from decoding the
|
|
13
|
+
directory name. Claude Code replaces path separators with dashes and a real dash is
|
|
14
|
+
indistinguishable from a separator afterwards, so
|
|
15
|
+
`-Users-ukaoma-Documents-GitHub-Ukaoma-Chief-Of-Staff-MU-Chief-Staff` decoded to
|
|
16
|
+
"Ukaoma-Chief-Of-Staff-MU-Chief-Staff" where the sidebar says "MU-Chief-Staff".
|
|
17
|
+
|
|
1
18
|
## 6.24.0
|
|
2
19
|
|
|
3
20
|
The Sessions tab stops 404ing, and a read-only presence view of Claude Code
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gotcos/glasses-server",
|
|
3
|
-
"version": "6.24.
|
|
3
|
+
"version": "6.24.1",
|
|
4
4
|
"description": "COS Glasses \u2014 self-hosted AI heads-up-display server for Even G2 smart glasses, powered by Claude Code, Codex, or Cursor Agent CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -54,6 +54,8 @@ export interface SessionEntry {
|
|
|
54
54
|
display_label: string
|
|
55
55
|
/** True when the harness opened this session rather than a person. */
|
|
56
56
|
machine_spawned: boolean
|
|
57
|
+
/** Project name, matching the group heading in Claude Code's own sidebar. */
|
|
58
|
+
project: string
|
|
57
59
|
glasses_session_id: string
|
|
58
60
|
slug: string
|
|
59
61
|
created: string
|
|
@@ -210,6 +212,7 @@ sessionIndexRouter.get('/session-index', async (req, res) => {
|
|
|
210
212
|
display_label: str(entry.display_label) || str(entry.custom_title)
|
|
211
213
|
|| str(entry.first_prompt) || str(entry.slug) || entry.session_id.slice(0, 8),
|
|
212
214
|
machine_spawned: entry.machine_spawned === true,
|
|
215
|
+
project: str(entry.project),
|
|
213
216
|
domain,
|
|
214
217
|
device_id: deviceId,
|
|
215
218
|
})
|
|
@@ -260,6 +263,7 @@ sessionIndexRouter.get('/session-index/:session_id', async (req, res) => {
|
|
|
260
263
|
display_label: str(entry.display_label) || str(entry.custom_title)
|
|
261
264
|
|| str(entry.first_prompt) || str(entry.slug) || entry.session_id.slice(0, 8),
|
|
262
265
|
machine_spawned: entry.machine_spawned === true,
|
|
266
|
+
project: str(entry.project),
|
|
263
267
|
tools_used: (entry.tools_used && typeof entry.tools_used === 'object') ? entry.tools_used : {},
|
|
264
268
|
files_touched: Array.isArray(entry.files_touched) ? entry.files_touched : [],
|
|
265
269
|
domain: str(entry.domain, 'unknown') || 'unknown',
|