- void setThreadStatus(session.id, "idle")}>
- Clear Status
+
- togglePin(session.id)}>
+ {pinned ? : }
+ {pinned ? "Unpin" : "Pin"}
+
+ {!remote && (
+ -
+ Rename…
)}
- {statusMissing && (
- Kept by the app: {statusMissing}
- )}
+ - markUnread(session.id)}>
+ Mark Unread
+
{snoozed ? (
- snoozeThread(session.id, null)}>
Unsnooze
@@ -375,49 +368,37 @@ function ThreadMenuItems({
)}
- {!remote && (
-
- setView({ kind: "review", threadId: session.id })}>
- Review Changes
+
+ {status === "done" ? (
+
- void setThreadStatus(session.id, "idle")}>
+ Unsettle
+
+ ) : (
+ - settleThread(session.id)}>
+ Settle
)}
- - setAutoCompactForThread(session.id, autoCompactOff)}>
- {autoCompactOff ? "Turn On Auto-compact" : "Turn Off Auto-compact"}
-
- - markUnread(session.id)}>
- Mark Unread
-
-
- - togglePin(session.id)}>
- {pinned ? : }
- {pinned ? "Unpin" : "Pin"}
-
- {!remote && (
- -
- Rename…
+ {status !== "review" && (
+
- void setThreadStatus(session.id, "review")}>
+ Mark for Review
)}
- - void repairThread(session.id)}>
- Repair Thread
-
- - copyThreadLink(session.id)}>
- Copy link
-
- - copyText(session.id, "Thread ID copied")}>
- Copy Thread ID
-
+ {status === "review" && (
+ - void setThreadStatus(session.id, "idle")}>
+ Clear Status
+
+ )}
+ {statusMissing && (
+ Kept by the app: {statusMissing}
+ )}
{!remote && (
- -
- void openThreadLog(session.id).catch((e) =>
- toast(`Could not open the thread log: ${errorText(e)}`, "error"),
- )
- }
- >
- Open Thread Log
+
- setView({ kind: "review", threadId: session.id })}>
+ Review Changes
)}
+ - copyThreadLink(session.id)}>
+ Copy Link
+
{worktree && (
<>
@@ -443,6 +424,46 @@ function ThreadMenuItems({
)}
>
)}
+
+ {/* What a thread needs now and then, not every day: kept one level down so the menu leads
+ with what is used. */}
+
+
+ More
+
+
+
+
+ - setAutoCompactForThread(session.id, autoCompactOff)}>
+ {autoCompactOff ? "Turn On Auto-compact" : "Turn Off Auto-compact"}
+
+ - copyText(session.id, "Thread ID copied")}>
+ Copy Thread ID
+
+ {!remote && (
+ -
+ void openThreadLog(session.id).catch((e) =>
+ toast(`Could not open the thread log: ${errorText(e)}`, "error"),
+ )
+ }
+ >
+ Open Thread Log
+
+ )}
+ - void repairThread(session.id)}>
+ Repair Thread
+
+
+
+
{!remote && (
<>