An app's deployments page lists its 10 most recent deployments, newest first, instead of up to 50 (#238).
An app's page shows its deploy branch next to the status badge in the title (#240).
An app's page is 84rem wide instead of 56rem, its build and container logs are twice as tall, the build log sits between Webhook URL and Environment Variables, and the container log sits above Deploy Key (#246). At 1920px the page is now wider than the site header and footer (72rem), which were left as they were.
An image built from a git clone shows its commit (git describe output) in the footer, /health and a new startup log line, instead of dev (#236).
A failed app build now reports the build's own error instead of "failed to inspect image", with the build output before it in the deploy log. upaas refuses to build on a Docker Engine older than 18.09, which cannot build with BuildKit (#234).
To deploy: from an up-to-date clone (not a copy without .git), run docker compose up -d --build. Plain up -d keeps the old image, which is how the webhooker build on fsn1app1 got the legacy builder. Dockerfiles that use RUN --network need Docker Engine 23.0 or later. The image's layers after COPY . . now rebuild on every commit.
No schema or configuration changes.
Model: opus-5-5
On `next`:
- An app's deployments page lists its 10 most recent deployments, newest first, instead of up to 50 (https://git.eeqj.de/sneak/upaas/issues/238).
- An app's page shows its deploy branch next to the status badge in the title (https://git.eeqj.de/sneak/upaas/issues/240).
- An app's page is 84rem wide instead of 56rem, its build and container logs are twice as tall, the build log sits between Webhook URL and Environment Variables, and the container log sits above Deploy Key (https://git.eeqj.de/sneak/upaas/issues/246). At 1920px the page is now wider than the site header and footer (72rem), which were left as they were.
- An image built from a git clone shows its commit (`git describe` output) in the footer, `/health` and a new startup log line, instead of `dev` (https://git.eeqj.de/sneak/upaas/issues/236).
- A failed app build now reports the build's own error instead of "failed to inspect image", with the build output before it in the deploy log. upaas refuses to build on a Docker Engine older than 18.09, which cannot build with BuildKit (https://git.eeqj.de/sneak/upaas/issues/234).
To deploy: from an up-to-date clone (not a copy without `.git`), run `docker compose up -d --build`. Plain `up -d` keeps the old image, which is how the webhooker build on fsn1app1 got the legacy builder. Dockerfiles that use `RUN --network` need Docker Engine 23.0 or later. The image's layers after `COPY . .` now rebuild on every commit.
No schema or configuration changes.
Model: opus-5-5
An app's deployments page listed up to 50 deployments; it now lists the
10 most recent, newest first. The query behind the page already sorted
newest first and applied the limit in SQL, so only the number changes.
A handler test creates 12 deployments with distinct start times and
checks that exactly the 10 newest are shown, in order.
Model: opus-5-5
Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
The app page shows the app's configured branch as a neutral label next
to the status badge, so it can be read without opening the edit page.
The line under the title now shows only the repository. A new test
renders the app page for an app on a non-main branch and checks the
branch is in the title row.
Model: opus-5-5
Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
clawbot
changed title from Merge next into main: deployments page shows the 10 most recent to Merge next into main: 10 most recent deployments, deploy branch in the app page title2026-09-29 12:22:57 +02:00
.dockerignore left out .git, so `make build` in the image found no git
metadata and stamped `dev`. It now sends .git, and no longer leaves out
tracked files (LICENSE, README.md, ...), which git would see as deleted
and mark the version -dirty. The footer and /health already read the
same version. The startup log line that reports it, the logger's
Identify(), was never called; main now calls it. The README says to
build from a git clone.
Side effect: image layers after `COPY . .` now rebuild whenever `.git` changes.
Disclosure: merged after a rebase that changed only TODO.md; the second review gated this same tree on this base.
Model: opus-5-5
clawbot
changed title from Merge next into main: 10 most recent deployments, deploy branch in the app page title to Merge next into main: 10 most recent deployments, branch in the app title, commit in the footer2026-09-29 12:37:36 +02:00
A build whose output ends in Docker's error line now fails with that
error, instead of going on to inspect a tag that was never created. The
build output is written to the deployment log before the failure is
recorded, so the log ends in order. Before building, upaas compares the
daemon's API version with 1.39 (Docker Engine 18.09), the first that
builds with BuildKit without experimental mode, and fails the deploy on
an older daemon instead of letting it use the legacy builder. The
README's Compose section gives the update command and the Docker Engine
versions builds need.
Disclosure: merged after a rebase that changed only TODO.md; the review gated this tree on the current next.
Model: opus-5-5
Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
clawbot
changed title from Merge next into main: 10 most recent deployments, branch in the app title, commit in the footer to Merge next into main: build errors reported, commit in the footer, branch in the app title, 10 recent deployments2026-09-29 12:44:24 +02:00
The app page's content column is now at most 84rem wide instead of
56rem (max-w-4xl), set inline because the committed Tailwind CSS has no
class for that width. The build log and container log boxes are 800px
tall instead of 400px. The build log section moves to between the
webhook URL and the environment variables, and the container log
section moves to directly above the deploy key; nothing else moves. A
new handler test renders the app page and checks the width, the section
order and both log heights.
Disclosure: merged after a rebase that changed only TODO.md; the review gated this change on the next before #234, which touches no template.
Model: opus-5-5
Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
clawbot
changed title from Merge next into main: build errors reported, commit in the footer, branch in the app title, 10 recent deployments to Merge next into main: build errors, commit in the footer, wider app page, branch in the title, 10 recent deployments2026-09-29 12:48:16 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
On
next:git describeoutput) in the footer,/healthand a new startup log line, instead ofdev(#236).To deploy: from an up-to-date clone (not a copy without
.git), rundocker compose up -d --build. Plainup -dkeeps the old image, which is how the webhooker build on fsn1app1 got the legacy builder. Dockerfiles that useRUN --networkneed Docker Engine 23.0 or later. The image's layers afterCOPY . .now rebuild on every commit.No schema or configuration changes.
Model: opus-5-5
Merge next into main: deployments page shows the 10 most recentto Merge next into main: 10 most recent deployments, deploy branch in the app page titleMerge next into main: 10 most recent deployments, deploy branch in the app page titleto Merge next into main: 10 most recent deployments, branch in the app title, commit in the footerMerge next into main: 10 most recent deployments, branch in the app title, commit in the footerto Merge next into main: build errors reported, commit in the footer, branch in the app title, 10 recent deploymentsMerge next into main: build errors reported, commit in the footer, branch in the app title, 10 recent deploymentsto Merge next into main: build errors, commit in the footer, wider app page, branch in the title, 10 recent deploymentsView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.