feat: v2.7.8 — Artifacts hub, clone related repos as extra folders, quieter resume prompt
- Artifacts (/artifacts): claude.ai pages sessions publish (captured from the Artifact tool's hook), pinned workspace files, skills and plugins, each kept as a snapshot; shared ones appear in a Hub and a skill or plugin installs into the viewer's own account (server/lib/artifacts.js, /api/artifacts, docs/plans/artifacts/). - Workspace extra folders: clone one or more related repos beside the workspace and add them in one step (POST /api/lanes/:id/sources/clone). - A pane that ended by itself while tmux kept running is no longer offered for resume (tmux.serverStartedAt in reconcileOrphans). - Changes panel: a folder that is not a git repo opens on Files, and its files open from there. - Plus the parallel sessions' work in this tree: File Explorer button in the panel header, user delete, RSA SSH keys, chat/terminal and pet fixes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -386,6 +386,22 @@ function serverPid() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* When the tmux server that holds (or held) session `name` started, in epoch
|
||||
* ms — the host's, or the member's under S3 — or null when there is no such
|
||||
* server or it cannot be asked. A pane gone while its server ran on since
|
||||
* before the pane began exited by itself; one whose server is gone or newer
|
||||
* died with it (a reboot, a killed tmux).
|
||||
*/
|
||||
function serverStartedAt(name) {
|
||||
try {
|
||||
const out = String(onServerOf(name, ["display-message", "-p", "#{start_time}"])).trim();
|
||||
return /^\d+$/.test(out) ? Number(out) * 1000 : null;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/** `-e NAME=value` pairs for tmux, in a stable order. */
|
||||
function envFlags(env) {
|
||||
const flags = [];
|
||||
@@ -703,6 +719,7 @@ module.exports = {
|
||||
capturePane,
|
||||
sendKey,
|
||||
killSession,
|
||||
serverStartedAt,
|
||||
listSessions,
|
||||
liveSessions,
|
||||
isTmuxAvailable,
|
||||
|
||||
Reference in New Issue
Block a user