Преглед изворни кода

tweak: ensure most recently interacted with session appears at the top (#1239)

Aiden Cline пре 7 месеци
родитељ
комит
b7b0cdbd7c

+ 1 - 0
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)
         },
       )

+ 2 - 0
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) => {

+ 0 - 4
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
 }