Merge pull request 'UX improvements: Claude auto-update on container start + file-list scroll' (#5) from feature/ux-improvements into main
Build App / compute-version (push) Successful in 3s
Build Container / build-container (push) Successful in 1m3s
Build App / build-linux (push) Successful in 4m58s
Build App / build-macos (push) Successful in 2m19s
Build App / build-windows (push) Failing after 18m35s
Build App / create-tag (push) Has been skipped
Build App / sync-to-github (push) Has been skipped

Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
2026-06-24 01:51:49 +00:00
2 changed files with 12 additions and 2 deletions
@@ -70,7 +70,7 @@ export default function FileManagerModal({ projectId, projectName, onClose }: Pr
> >
<div className="bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded-lg shadow-xl w-[36rem] max-h-[80vh] flex flex-col"> <div className="bg-[var(--bg-secondary)] border border-[var(--border-color)] rounded-lg shadow-xl w-[36rem] max-h-[80vh] flex flex-col">
{/* Header */} {/* Header */}
<div className="flex items-center justify-between px-4 py-3 border-b border-[var(--border-color)]"> <div className="flex items-center justify-between px-4 py-3 border-b border-[var(--border-color)] flex-shrink-0">
<h2 className="text-sm font-semibold">Files {projectName}</h2> <h2 className="text-sm font-semibold">Files {projectName}</h2>
<button <button
onClick={onClose} onClick={onClose}
@@ -177,7 +177,7 @@ export default function FileManagerModal({ projectId, projectName, onClose }: Pr
</div> </div>
{/* Footer */} {/* Footer */}
<div className="flex items-center justify-between px-4 py-3 border-t border-[var(--border-color)]"> <div className="flex items-center justify-between px-4 py-3 border-t border-[var(--border-color)] flex-shrink-0">
<button <button
onClick={uploadFile} onClick={uploadFile}
className="text-xs text-[var(--accent)] hover:text-[var(--accent-hover)] transition-colors" className="text-xs text-[var(--accent)] hover:text-[var(--accent-hover)] transition-colors"
+10
View File
@@ -292,6 +292,16 @@ if ls "$SCHEDULER_DIR/tasks/"*.json >/dev/null 2>&1; then
echo "entrypoint: restored crontab from persisted tasks" echo "entrypoint: restored crontab from persisted tasks"
fi fi
# ── Claude Code self-update ──────────────────────────────────────────────────
# Update the Claude Code CLI to the latest version on container start, before
# any terminal session launches `claude`. Runs as the claude user (the CLI is
# installed under /home/claude/.claude/bin). Non-fatal and time-bounded so a
# slow or offline network never blocks container readiness.
echo "entrypoint: checking for Claude Code updates..."
timeout 120 su -s /bin/bash claude -c 'export PATH="/home/claude/.claude/bin:/home/claude/.local/bin:$PATH"; claude update' \
&& echo "entrypoint: Claude Code is up to date" \
|| echo "entrypoint: warning — Claude Code update skipped or failed (continuing)"
# ── Stay alive as claude ───────────────────────────────────────────────────── # ── Stay alive as claude ─────────────────────────────────────────────────────
echo "Triple-C container ready." echo "Triple-C container ready."
exec su -s /bin/bash claude -c "exec sleep infinity" exec su -s /bin/bash claude -c "exec sleep infinity"