summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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
}