feat: right-click menus everywhere, workspace/session cost, long-term DB safety
Right-click menus: one portal shell (components/ContextMenu.tsx) for every item with actions - sidebar/Recents/archived session rows (SessionMenu), console tabs, pane headers, the Changes panel's files/tree/commits, the workspace home, sessions outside a workspace (SessionRowMenu: Sessions table, Dashboard, Activity, Workflow runs), prompt images, every Settings list and every Claude Code/Codex config list (FileItemMenu). Buttons stay; a delete keeps its button's confirm; the shell stops portal clicks from reaching the card that opened it. Status bar: Workspace $ and Session $ on the Workspace page, from ?lane= on GET /api/pricing/cost and the focused/replayed session's cost. Database, no data dropped: synchronous=NORMAL, journal_size_limit 64 MB, hourly PASSIVE checkpoint + PRAGMA optimize, idx_events_session_created (replacing the redundant idx_events_session), watchdog reads sessions.transcript_path, transcript parsed before the hook's write transaction, GET /api/sessions/:id?events=0 for the web page (reloads only on its own session, debounced), streamed export, transactional clear-data and chunked cleanup, subagent import reads tool_use_ids once, runtime logs rotated past 5 MB.
This commit is contained in:
@@ -44,6 +44,7 @@
|
||||
"viewSource": "View source",
|
||||
"close": "Close",
|
||||
"copyPath": "Copy path",
|
||||
"copyName": "Copy name",
|
||||
"copied": "Copied",
|
||||
"truncated": "(truncated for preview)",
|
||||
"size": "Size",
|
||||
@@ -266,6 +267,7 @@
|
||||
"saving": "Saving…",
|
||||
"renameLabel": "Profile name",
|
||||
"renameHint": "Click to rename",
|
||||
"rename": "Rename",
|
||||
"renameSuccess": "Renamed to \"{{name}}\"."
|
||||
},
|
||||
"explain": {
|
||||
|
||||
@@ -38,7 +38,9 @@
|
||||
"newButton": "New",
|
||||
"viewButton": "View source",
|
||||
"editButton": "Edit",
|
||||
"deleteButton": "Delete"
|
||||
"deleteButton": "Delete",
|
||||
"copyPath": "Copy path",
|
||||
"copyName": "Copy name"
|
||||
},
|
||||
"edit": {
|
||||
"saveSuccess": "Saved · {{path}}",
|
||||
|
||||
@@ -402,5 +402,18 @@
|
||||
"panes.newTerminal": "New terminal",
|
||||
"panes.close": "Close pane (its session keeps running as a tab)",
|
||||
"panes.resize": "Resize panes",
|
||||
"tabs.home": "Workspace home"
|
||||
"tabs.home": "Workspace home",
|
||||
"sessionMenu.open": "Open",
|
||||
"sessionMenu.openSplit": "Open in split",
|
||||
"sessionMenu.details": "Session details",
|
||||
"sessionMenu.copyId": "Copy session ID",
|
||||
"sessionMenu.archive": "Archive",
|
||||
"panes.show": "Show {{name}} here",
|
||||
"panes.splitNew.right": "Split right with a new terminal",
|
||||
"panes.splitNew.bottom": "Split down with a new terminal",
|
||||
"panes.closeShort": "Close pane",
|
||||
"changes.copyPath": "Copy relative path",
|
||||
"changes.viewCommit": "View commit",
|
||||
"changes.copySha": "Copy commit SHA",
|
||||
"changes.copySubject": "Copy commit message"
|
||||
}
|
||||
|
||||
@@ -64,7 +64,9 @@
|
||||
"statusBar": {
|
||||
"running": "{{count}} running",
|
||||
"needYou": "{{count}} need you",
|
||||
"today": "Today {{cost}}"
|
||||
"today": "Today {{cost}}",
|
||||
"workspace": "Workspace {{cost}}",
|
||||
"session": "Session {{cost}}"
|
||||
},
|
||||
"version": "Version"
|
||||
}
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
"uploading": "Uploading image…",
|
||||
"failed": "Could not attach the image",
|
||||
"imagesOnly": "Only images can be dropped here",
|
||||
"remove": "Remove image"
|
||||
"remove": "Remove image",
|
||||
"view": "View image"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,5 +40,11 @@
|
||||
"transcriptNotFound": "Conversation transcript not found for this agent. The transcript file may be missing or not yet linked."
|
||||
},
|
||||
"remoteSourceBadgeTitle": "Collected from a remote machine",
|
||||
"toolBadgeTitle": "Recorded by {{tool}}"
|
||||
"toolBadgeTitle": "Recorded by {{tool}}",
|
||||
"menu": {
|
||||
"details": "Open session details",
|
||||
"inWorkspace": "Open in its workspace",
|
||||
"copyId": "Copy session ID",
|
||||
"copyFolder": "Copy folder path"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -735,5 +735,13 @@
|
||||
"en": "English",
|
||||
"vi": "Tiếng Việt"
|
||||
}
|
||||
},
|
||||
"rowMenu": {
|
||||
"copyHost": "Copy host",
|
||||
"copyUrl": "Copy endpoint",
|
||||
"copyPattern": "Copy model pattern",
|
||||
"copyPath": "Copy path",
|
||||
"enable": "Enable",
|
||||
"disable": "Disable"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user