summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-07-22 22:37:36 -0500
committerGitHub <[email protected]>2025-07-22 22:37:36 -0500
commitb7b0cdbd7cc515d7c9c683889a7141425d4837ac (patch)
treec412386c11235bf29dd8a86527481bc5df169ab9
parentfd98c3189a0466b5389c36584812a26872fa3f19 (diff)
downloadopencode-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.ts1
-rw-r--r--packages/opencode/src/session/index.ts2
-rw-r--r--packages/tui/internal/app/app.go4
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
}