diff options
| author | Aiden Cline <[email protected]> | 2025-07-22 22:37:36 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-22 22:37:36 -0500 |
| commit | b7b0cdbd7cc515d7c9c683889a7141425d4837ac (patch) | |
| tree | c412386c11235bf29dd8a86527481bc5df169ab9 | |
| parent | fd98c3189a0466b5389c36584812a26872fa3f19 (diff) | |
| download | opencode-b7b0cdbd7cc515d7c9c683889a7141425d4837ac.tar.gz opencode-b7b0cdbd7cc515d7c9c683889a7141425d4837ac.zip | |
tweak: ensure most recently interacted with session appears at the top (#1239)
| -rw-r--r-- | packages/opencode/src/server/server.ts | 1 | ||||
| -rw-r--r-- | packages/opencode/src/session/index.ts | 2 | ||||
| -rw-r--r-- | packages/tui/internal/app/app.go | 4 |
3 files changed, 3 insertions, 4 deletions
diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index d79560f36..b096f20f5 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -196,6 +196,7 @@ export namespace Server { }), async (c) => { const sessions = await Array.fromAsync(Session.list()) + sessions.sort((a, b) => b.time.updated - a.time.updated) return c.json(sessions) }, ) diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index a619a4d37..5f090137a 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -508,6 +508,8 @@ export namespace Session { for (const part of userParts) { await updatePart(part) } + // mark session as updated since a message has been added to it + await update(input.sessionID, (_draft) => {}) if (isLocked(input.sessionID)) { return new Promise((resolve) => { diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go index 50d60b53b..0556750a0 100644 --- a/packages/tui/internal/app/app.go +++ b/packages/tui/internal/app/app.go @@ -5,7 +5,6 @@ import ( "fmt" "os" "path/filepath" - "sort" "strings" "log/slog" @@ -519,9 +518,6 @@ func (a *App) ListSessions(ctx context.Context) ([]opencode.Session, error) { return []opencode.Session{}, nil } sessions := *response - sort.Slice(sessions, func(i, j int) bool { - return sessions[i].Time.Created-sessions[j].Time.Created > 0 - }) return sessions, nil } |
