v2: sessions with path=NULL (around v1's add_session_path schema change) are missing from project session lists
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Inizia da packages/core/src/session/store.ts intorno alla riga 108 e confronta il filtro relativo al progetto con packages/opencode/src/session/session.ts intorno alle righe 970-976. Verifica come SessionStore.list gestisce un sottopercorso radice e riproduci la query sulle righe in cui path IS NULL. Il lavoro è completato quando le sessioni radice attribuite correttamente compaiono nell’elenco del progetto senza modificare il comportamento di tutti i progetti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Sessions with path = NULL are missing from project session lists after the v1→v2 upgrade, even though their project_id is correct.
v1 began with no path column; 20260428004200_add_session_path added it (default NULL), and v1's inserts still left it NULL for root-level sessions for a while (in our DB: a clean NULL window 2026-04-03→05-05, with every later session writing ''). The v1→v2 importer copies path verbatim, so these rows arrive in session_v2 with path IS NULL. The project-scoped picker sends {project, subpath: ''} and SessionStore.list filters with an exact eq(SessionTable.path, input.subpath) (packages/core/src/session/store.ts:108) — in SQL, NULL = '' is not true, so the rows are excluded. The projector only rewrites the path of the session that triggered a Resolved event; historical rows are never backfilled.
Scope in our DB (opencode 2.0.14, upgraded from 1.18.x): 90 sessions — 88 in one git repo (87 top-level, mostly user-initiated forks, ~1,300 messages total) + 2 in a second repo. All have directory = project.worktree, so the correct value is ''. They are only reachable via "all projects" scope / global search.
This is a different defect from #50980 (where the row is absent from session_v2 entirely) and from the project_id='global' family (#50551, #50800, #50999): here the project attribution is right, only path is null.
Plugins
None relevant (server-side data/filter behavior).
OpenCode version
2.0.14 (affected, by source comparison: 2.0.14–2.0.16; not fixed on latest tag)
Steps to reproduce
- In opencode v1, create sessions in a git repo root during the window where v1 didn't write
path(around the20260428004200_add_session_pathchange — e.g. after thepathcolumn exists but before v1 started writing''). - Upgrade to v2.0.14–2.0.16 and open that repo. The import copies
path = NULLintosession_v2. - List sessions in the project: the NULL-path sessions don't appear, though "all projects" scope shows them.
Check your own DB:
SELECT project_id, directory, COUNT(*) FROM session_v2 WHERE path IS NULL GROUP BY 1, 2;
Expected Behavior
Sessions whose directory equals the project worktree should be listed at subpath = '', i.e. NULL should be treated as the empty path (the dev branch already adds this: and(isNull(path), eq(directory, …)) at packages/opencode/src/session/session.ts:970-976).
Related issues
- #35750 — v1-era: new
pathcolumn not back-filled during migration (origin of these NULLs) - #50980 — sister symptom: v1-era session missing from
session_v2entirely - #50551 — the
project_id='global'family (different root cause, same picker filter)
Operating System
Arch Linux, x86_64
Terminal
kitty
- Lingua principale
- TypeScript
- Stelle
- 210k
- Fork
- 27.8k
- Merge medio
- 8h 1m
- PR unite (30g)
- 357
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di anomalyco/opencode
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
anomalyco/opencode#51159 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di anomalyco/opencode
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
melgarafael/DeskcommCRM#1812 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
prisma/prisma-cli#309 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
gregwebs/pi-quota-dispatcher#26 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
openwatersio/slackwater.xyz#124 ·
I maintainer di solito rispondono entro 1 giorno
-
agent-reported area/browser area/docs documentation good first issue hacktoberfest help wanted P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 2 giorni