Update Claude on container start; harden file-list scroll
Build App / compute-version (pull_request) Successful in 3s
Build Container / build-container (pull_request) Successful in 7m34s
Build App / build-linux (pull_request) Successful in 5m2s
Build App / build-windows (pull_request) Failing after 16m56s
Build App / build-macos (pull_request) Successful in 2m37s
Build App / create-tag (pull_request) Has been skipped
Build App / sync-to-github (pull_request) Has been skipped
Build App / compute-version (pull_request) Successful in 3s
Build Container / build-container (pull_request) Successful in 7m34s
Build App / build-linux (pull_request) Successful in 5m2s
Build App / build-windows (pull_request) Failing after 16m56s
Build App / build-macos (pull_request) Successful in 2m37s
Build App / create-tag (pull_request) Has been skipped
Build App / sync-to-github (pull_request) Has been skipped
Add a time-bounded `claude update` to entrypoint.sh that runs as the claude user before the container is marked ready, so every terminal session launches the latest CLI. Non-fatal and capped at 120s so an offline/slow network never blocks container readiness; PATH covers both ~/.claude/bin and ~/.local/bin install locations. Add flex-shrink-0 to the FileManagerModal header/footer so a long file list can't squeeze them and the scroll region stays robust. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user