agentbbs/internal/files
Anthony Ettinger 43dbdf0e06
Some checks failed
CI / build (push) Has been cancelled
deploy / deploy (push) Has been cancelled
test / test (push) Has been cancelled
ci(deploy): preempt self-update timer so it can't starve the deploy lock (#72)
* ci(deploy): preempt self-update timer so it can't starve the deploy lock

The self-update systemd timer redeploys from source (no SKIP_BUILD) and
can hold setup.sh's flock for >5min while compiling on a tiny droplet.
When it fires close to a CI push it starves the deploy, which waits the
full 5min on the lock and then fails with 'another setup.sh run is in
progress (lock held >5m)'.

The CI push is authoritative (ships prebuilt binaries + resets to the
exact commit), so stop any in-flight timer run to release the lock and
pause the timer before taking it. setup.sh re-enables the timer at the
end of its run.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test(files): isolate over-quota test from seeded-README baseline

TestWebSaveOverQuotaPreservesExistingFile set quota=5 but left sess.used
at the newSession baseline, which already counts the README.txt that
ensureUserPub seeds into /public (added in d19c5c4). That baseline alone
exceeds 5 bytes, so the initial 2-byte save was rejected with
'quota exceeded' before the test could exercise the over-quota replace.

Reset sess.used to 0 after setting the tiny quota, mirroring
TestQuotaEnforced, so the writer starts from a clean gauge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 01:32:10 -07:00
..
admin.go feat(files): SFTP member storage — private workspaces + shared public area + mgmt TUI 2026-06-23 09:35:04 +00:00
backend.go files: seed a default README.txt into every member's public area 2026-07-01 02:47:27 +00:00
default_readme.txt files: seed a default README.txt into every member's public area 2026-07-01 02:47:27 +00:00
e2e_test.go files: per-user public at ~name/public; home = member directory 2026-06-26 01:21:00 +00:00
files_test.go ci(deploy): preempt self-update timer so it can't starve the deploy lock (#72) 2026-07-01 01:32:10 -07:00
fs.go fix: canonicalize root in safeJoin to handle symlinked storage roots (#64) 2026-07-01 01:10:20 -07:00
server.go feat(files): SFTP member storage — private workspaces + shared public area + mgmt TUI 2026-06-23 09:35:04 +00:00
tui.go feat(files): SFTP member storage — private workspaces + shared public area + mgmt TUI 2026-06-23 09:35:04 +00:00
web.go files: /me and /public are two separate per-user areas 2026-06-26 01:36:43 +00:00
web_test.go files: seed a default README.txt into every member's public area 2026-07-01 02:47:27 +00:00