github / github/copilot-cli

General Chat is silently archived after session resume timeout, with no restore UI

Đang mở
#4,474 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

area:platform-windows area:sessions
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

Summary

A long-running General Chat was silently archived when the app failed to resume it within 60 seconds. I did not archive or delete the chat. The app automatically created a replacement chat, while the original disappeared from the sidebar with no UI to view or restore archived chats.

Environment

  • GitHub Copilot app: 1.1.8 (0945da4)
  • Bundled Copilot CLI: 1.0.79-9
  • OS: Windows x86_64

Observed behavior

  1. Opened an existing General Chat with substantial history.
  2. The UI appeared unresponsive for about a minute.
  3. The original chat disappeared and a newly created chat became active.
  4. The original chat was absent from the session list.
  5. Attempting to navigate to its ID returned: This chat is archived. Restore it before continuing.
  6. There is no archived-chat list or Restore action in the app UI.

The local database showed that the original general_chat row received an archived_at value at exactly the same time the replacement session was created. Clearing only that archived_at value restored the original chat and its full history, confirming the data had not been deleted.

Relevant sanitized log timeline

09:36:25 resuming session ... session_type=GeneralChat
09:37:25 session resume timed out; releasing CLI and surfacing error ... timeout_secs=60
09:37:26 Failed to resume session ... the CLI process may be unresponsive, attempting to recreate
09:37:26 Recreating session old_session_id=<original>
09:37:33 CLI session created cli_session_id=<replacement>
09:37:33 SessionManager create_session flow completed session_id=<replacement>

The original row's archived_at timestamp was 09:37:33.779, immediately after the replacement session was created.

Expected behavior

  • A resume timeout must not silently archive an existing chat.
  • If a replacement process/session is needed, the existing chat identity and history should remain visible and recoverable.
  • The app should surface the timeout and offer Retry rather than replacing the chat without consent.
  • If chats can be archived, the UI must provide an Archived view and Restore action.

Impact

This looks like data loss to the user and strands important long-running chat history. Recovery currently requires manually editing the app's SQLite database, which is not a safe or reasonable user workflow.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

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.

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện timeout resume 60 giây và kiểm tra luồng SessionManager create_session cùng với thay đổi của archived_at trong hàng SQLite cục bộ. Xác minh rằng cuộc trò chuyện ban đầu vẫn hiển thị và có thể khôi phục, rằng phản hồi timeout cung cấp Retry, và rằng các cuộc trò chuyện đã lưu trữ có chế độ xem và hành động Restore.

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

Đánh giá

Công nghệ
sqlite
Lĩnh vực
cli, database
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

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.