Repository navigation
usertest: the user-testing droplet's setup and log collector - #182
Merged
Merged
Conversation
The instance at plugins.178-62-223-35.sslip.io (set up 2026-09-28) was configured by hand. This folder holds what rebuilds it: the Caddyfile and its systemd drop-in, server.sh (the pinned e2e image behind Caddy), catalog.mjs (a test catalog with every drive app installable and shown without the experimental toggle, unpublished apps built from this checkout) and deploy.sh. The README lists the hosts, the limits testers hit, how to update an app, and where testers' data ends up. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ir bytes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Sep 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
usertest/: the setup of the user-testing droplet as files, so it can be rebuilt and others can see how it works. Approved by Michiel as a top-level folder (it is shared tooling, not a plugin).What it runs
On one DigitalOcean droplet (Ubuntu 24.04, 2 vCPU, 4 GB, AMS3), set up by hand on 2026-09-28 and now deployed from these files:
https://plugins.178-62-223-35.sslip.io2567fc30b) behind Caddy (server.sh)https://catalog.178-62-223-35.sslip.io/catalog.jsoncatalog.mjs)https://logs.178-62-223-35.sslip.iocollector/)The proxy is localthought.io, which was moved to
atomic-integration-proxy0.2.1 today (localthought/integration-proxy#78). The Heroku build had been failing since 22 Sep on a leftoverAPP_BASE/monorepo buildpack; both are now removed.The collector
server.shsetsSENTRY_DSN(atomic-server) andSENTRY_DSN_BROWSER(the data-browser; atomic-server injects it into the page at runtime). That reports page and server errors and switches on the sidebar's Feedback form.POST /logfor anything else. A drive app's errors never leave its sandboxed frame: the host (AppFrame.tsx) shows them and reports nothing. So each app has to post its own. That comes next, calendar first./var/lib/usertest-logs/<UTC date>.jsonl.Verified: an error thrown in the data-browser on the test instance arrived in the log within seconds, with its stack and URL. Locally: an envelope with an event plus a session item, a
/logpost, and anull-origin preflight.Not covered
usertest/.oxlintover the folder reports oneno-consolewarning (the same kind the tooling scripts have), andoxfmt --checkpasses.catalog.mjsreproduces the deployed catalog exactly (compared ignoring key order), and every module it builds is byte-identical to the deployed one.🤖 Generated with Claude Code