[Bug]: Turning off "Working section" silently switches Active list to creation-time sorting and ignores latest replies

Đang mở Phù hợp với người mới
#37,275 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
frontend

Hướng nghiên cứu

Mã liên quan nằm trong apps/web; tìm sidebarWorkingShelfEnabled, boringSidebarEnabled, activeTimeOrdered và activeOrderKey để tìm các nhánh sắp xếp của Active-list được mô tả trong issue. Truy vết nơi sidebarThreadSortOrder được đọc và nơi mô tả của phần Working được render. Tái hiện bằng cách tắt phần Working và xác nhận rằng một thread cũ hơn có phản hồi mới vẫn bị chôn. Hoàn thành nghĩa là tắt cài đặt đó không còn làm mất sắp xếp theo độ mới.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/web

Steps to reproduce
  1. Open Settings → General → Sidebar and disable Working section (sidebarWorkingShelfEnabled: false), while keeping Settings → Labs → Boring sidebar disabled (boringSidebarEnabled: false).
  2. Keep an older active thread (for example, created ~1 day ago) alongside several newer active threads created later.
  3. Send a new prompt in that older thread and wait for the reply to finish (Done).
Expected behavior

An active thread that just received a new user message / completed reply should move up to the top of the Active list (or have an independent setting to sort Active threads by latest activity), unless the user explicitly switches to manual ordering.

At minimum, disabling Working section should not silently switch the Active list from recency sorting to creation-time sorting.

Actual behavior

The older thread updates its status badge to Done, but remains buried in its original createdAt position below all threads created after it.

From inspecting the bundled client logic:

  • When workingShelfEnabled is true (and boringSidebarEnabled is false), the Active list is sorted by Math.max(createdAt, unsettledAt, latestRun.requestedAt, latestRun.completedAt, returnedAt).
  • When both workingShelfEnabled and boringSidebarEnabled are false, the Active list unconditionally switches to activeTimeOrdered = false and sorts by activeOrderKey (if manually dragged) or Math.max(createdAt, unsettledAt) — ignoring updatedAt, latestRun.requestedAt, latestRun.completedAt, and sidebarThreadSortOrder (which is currently persisted in client-settings.json as "updated_at" by default, has no UI control, and is only used for fallback thread selection on archive/delete/project switch).
  • The UI description for Working section does not warn that turning it off disables recency sorting for Active threads.
Impact

Minor bug or occasional failure

Version or commit

0.1.10-nightly.20261115.4736 (commit 7379f1969b0f)

Environment

macOS 27.3 (Build 26C5035r), T3 Code (Nightly) Desktop

Workaround

Re-enable Settings → General → Sidebar → Working section (sidebarWorkingShelfEnabled: true), or enable Boring sidebar in Settings → Labs.

Ngôn ngữ chính
TypeScript
Star
24.8k
Fork
6.4k
Merge trung bình
3 giờ 40 phút
Pull request đã merge (30 ngày)
543

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pingdotgg/t3code

Tất cả issue của pingdotgg/t3code

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.