2026-04-19 - 2026-10-19
Overview
46 Pull requests merged by 2 users
Merged
#275 Leave out of the build context what the app's .dockerignore names (closes #274)
Merged
#276 Hash passwords with 1 MiB in tests so make test fits in 4 GiB (closes #261)
Merged
#273 Wrap the top bar's buttons onto a second row when narrow (closes #272)
Merged
#267 Allow dots in app names (closes #260)
Merged
#268 Keep the Applications list's table inside its card (closes #262)
Merged
#270 Keep git-ignored files and data/ out of the Docker build context (closes #266)
Merged
#271 Keep .git/config out of the Docker build context (closes #269)
Merged
#265 Read the architecture at run time instead of a Buildarch ldflag (closes #259)
Merged
#263 Revert "Say that a deploy keeps only an app's volumes when the app has none"
Merged
#250 Tag built images with the commit's short hash (closes #239)
Merged
#258 Make concurrent database writes wait instead of failing (closes #253)
Merged
#257 Say env var changes take effect at the next deploy or rollback (closes #255)
Merged
#254 Say that a deploy keeps only an app's volumes when the app has none (closes #248)
Merged
#256 Attach a BuildKit session to builds and demultiplex container logs (closes #251)
Merged
#252 Have Docker create a missing volume host path (closes #235)
Merged
#247 Widen the app page, double its log heights and move the logs (closes #246)
Merged
#245 Report the build's own error and refuse daemons too old for BuildKit (closes #234)
Merged
#242 Stamp the git commit into images built from the Dockerfile (closes #236)
Merged
#243 Show the deploy branch in the app page title (closes #240)
Merged
#241 Show the 10 most recent deployments on the deployments page (closes #238)
Merged
#232 Merge next into main: every setting upaas reads in the README, UPAAS_PORT in the Compose file
Merged
#233 Set UPAAS_PORT as well as PORT in docker-compose.yml
Merged
#231 List every setting upaas reads in the README Configuration table
Merged
#228 Merge next into main: UPAAS_ setting names in the README
Merged
#227 Name the UPAAS_-prefixed settings in the README Configuration table (closes #224)
Merged
#226 Merge next into main: docker-compose.yml for deploying upaas
Merged
#225 Add docker-compose.yml for deploying upaas
Merged
#207 Merge next into main: deploy-rehearsal fixes, pinned prettier toolchain and canonical lint config
Merged
#222 Sync next2 into next: the four fixes from the fsn1app1 deploy rehearsal
Merged
#221 Build apps with BuildKit so build stages stop piling up
Merged
#219 Remove images from earlier deploys after a successful deploy
Merged
#217 Remove the git clone container's anonymous volume with it (closes #215)
Merged
#218 Keep deployment logs findable after the container is recreated
Merged
#212 Wait for webhook deployments in handlers tests instead of sleeping (closes #211)
Merged
#210 Re-vendor canonical .golangci.yml from prompts
Merged
#199 1.1.0 milestone: security, lint, and bootstrap fixes
Merged
#204 Vendor pinned prettier/format toolchain from prompts scaffold (closes #203)
Merged
#201 Fix flaky t.TempDir cleanup race in webhook tests
Merged
#200 Run all linting in Docker via Dockerfile.lint (closes #188)
Merged
#196 Install pinned goimports in script/bootstrap
Merged
#194 Reject path traversal in deploy log download handler (#177)
Merged
#195 Add .prettierignore for vendored minified JS (closes #185)
Merged
#193 Fix four deployability blockers found by QA
Merged
#187 Update golangci-lint to v2.12.2 with canonical config
Merged
#174 scripts-to-rule-them-all
Merged
#173 TODO
1 Pull request proposed by 1 user
Proposed
#244 Merge next into main: fix builds failing with "no active sessions", commit-hash image tags, dotted app names, build context secrets, layout fixes
53 Issues closed from 1 user
Closed
#274 Build-context tar ignores the app's .dockerignore, so excluded files such as .git/config reach the build
Closed
#264 TOP PRIORITY: fix every open issue now, one parallel worker each
Closed
#261 TOP PRIORITY: docker build . fails on next
Closed
#272 Top bar: "by @sneak" runs into the New App button in a narrow window
Closed
#260 Allow dots in app names (e.g. sneak.berlin)
Closed
#262 Application list: the table overflows its card, so the Action column and Deploy buttons are clipped
Closed
#266 Git-ignored secrets reach the Docker build stages; data/ is not git-ignored
Closed
#269 Keep .git/config out of the Docker build context
Closed
#259 Remove buildarch: read the architecture at runtime from runtime.GOARCH
Closed
#180 Verify branch protection on main requires the Check workflow before merge
Closed
#181 Deploy µPaaS to fsn1app1 and verify end-to-end
Closed
#239 Tag built images with the commit short hash instead of the deployment number
Closed
#253 Concurrent database writes fail with "database is locked" instead of waiting
Closed
#255 The app page says environment variable changes need a restart; they need a deploy
Closed
#248 Say that a deploy keeps only an app's volumes when the app has none
Closed
#251 Build fails with "no active sessions" when a base image is not already on the host (webhooker deploy on fsn1app1)
Closed
#235 Create a missing volume host directory before starting an app container
Closed
#249 Run every build, test and lint step in the Dockerfiles at nice -n 19
Closed
#246 App page: 50% wider, logs twice as tall, build log and container log moved
Closed
#234 Builds fall back to the legacy builder: webhooker deploy fails on RUN --network=none
Closed
#236 The footer says dev instead of the running commit
Closed
#240 Show the deploy branch in the app page title next to the status badge
Closed
#238 The deployments page shows only the 10 most recent deployments
Closed
#237 upaas does not start on a database from before PR 172 (migration versions stored as file names)
Closed
#230 UPAAS_PORT in .env overrides the port docker-compose.yml sets
Closed
#229 README Configuration table leaves out settings upaas reads and misstates some defaults and effects
Closed
#224 README Configuration table lists four settings without the UPAAS_ prefix upaas reads
Closed
#223 docker-compose.yml for deploying upaas (urgent)
Closed
#220 Untagged images from multi-stage builds still build up after every deploy
Closed
#216 Images from earlier deploys are never removed, so disk use grows with every deploy
Closed
#215 Every deploy leaves an anonymous Docker volume behind from the git clone container
Closed
#214 Deployment log downloads return 404 after the upaas container is recreated
Closed
#213 Rehearse the fsn1app1 deploy on the build host with homoicon as the app
Closed
#211 Flaky test: t.TempDir cleanup race in TestHandleWebhookProcessesValidWebhook (handlers)
Closed
#208 Disable deprecated gomodguard linter (replaced by gomodguard_v2)
Closed
#182 Tag and publish release 1.1.0
Closed
#206 Sidecar container support: deploy a second container per app with ingress (traefik) labels on the sidecar
Closed
#205 Determine whether upaas can deploy a second container beside an app with the traefik labels moved onto it
Closed
#203 Vendor canonical prettier/format toolchain from the prompts scaffold
Closed
#197 Add .prettierrc to pin prettier formatting settings
Closed
#198 Flaky test: t.TempDir cleanup race in internal/service/webhook TestExtractBranch
Closed
#188 Run all linting in Docker via Dockerfile.lint + script/lint
Closed
#184 script/bootstrap does not install goimports, which script/fmt requires
Closed
#177 lint: fix gosec G703 path traversal finding in deploy log download handler
Closed
#185 make fmt rewrites vendored static/js/alpine.min.js (missing .prettierignore)
Closed
#192 Adding a port mapping makes the app detail page 500 forever (CSRFField inside range .Ports)
Closed
#190 Deployments always fail on a fresh host: the pinned alpine/git image is never pulled
Closed
#191 Environment variable editor always fails with 403: CSRF token read from the wrong element
Closed
#189 Setup and every other POST return 403 over plain HTTP, so the documented docker run is unusable
Closed
#179 Bump Dockerfile lint stage golangci-lint pin from v2.10.1 to current v2.12.x
Closed
#178 lint: fix all 24 goconst findings (repeated string literals)
Closed
#176 lint: fix 22 gosec G710 open-redirect findings in internal/handlers/app.go
Closed
#175 lint: fix all 47 noctx findings (httptest.NewRequest without context)
54 Issues created by 1 user
Opened
#175 lint: fix all 47 noctx findings (httptest.NewRequest without context)
Opened
#176 lint: fix 22 gosec G710 open-redirect findings in internal/handlers/app.go
Opened
#177 lint: fix gosec G703 path traversal finding in deploy log download handler
Opened
#178 lint: fix all 24 goconst findings (repeated string literals)
Opened
#179 Bump Dockerfile lint stage golangci-lint pin from v2.10.1 to current v2.12.x
Opened
#180 Verify branch protection on main requires the Check workflow before merge
Opened
#181 Deploy µPaaS to fsn1app1 and verify end-to-end
Opened
#182 Tag and publish release 1.1.0
Opened
#184 script/bootstrap does not install goimports, which script/fmt requires
Opened
#185 make fmt rewrites vendored static/js/alpine.min.js (missing .prettierignore)
Opened
#188 Run all linting in Docker via Dockerfile.lint + script/lint
Opened
#189 Setup and every other POST return 403 over plain HTTP, so the documented docker run is unusable
Opened
#190 Deployments always fail on a fresh host: the pinned alpine/git image is never pulled
Opened
#191 Environment variable editor always fails with 403: CSRF token read from the wrong element
Opened
#192 Adding a port mapping makes the app detail page 500 forever (CSRFField inside range .Ports)
Opened
#197 Add .prettierrc to pin prettier formatting settings
Opened
#198 Flaky test: t.TempDir cleanup race in internal/service/webhook TestExtractBranch
Opened
#203 Vendor canonical prettier/format toolchain from the prompts scaffold
Opened
#205 Determine whether upaas can deploy a second container beside an app with the traefik labels moved onto it
Opened
#206 Sidecar container support: deploy a second container per app with ingress (traefik) labels on the sidecar
Opened
#208 Disable deprecated gomodguard linter (replaced by gomodguard_v2)
Opened
#211 Flaky test: t.TempDir cleanup race in TestHandleWebhookProcessesValidWebhook (handlers)
Opened
#213 Rehearse the fsn1app1 deploy on the build host with homoicon as the app
Opened
#214 Deployment log downloads return 404 after the upaas container is recreated
Opened
#215 Every deploy leaves an anonymous Docker volume behind from the git clone container
Opened
#216 Images from earlier deploys are never removed, so disk use grows with every deploy
Opened
#220 Untagged images from multi-stage builds still build up after every deploy
Opened
#223 docker-compose.yml for deploying upaas (urgent)
Opened
#224 README Configuration table lists four settings without the UPAAS_ prefix upaas reads
Opened
#229 README Configuration table leaves out settings upaas reads and misstates some defaults and effects
Opened
#230 UPAAS_PORT in .env overrides the port docker-compose.yml sets
Opened
#234 Builds fall back to the legacy builder: webhooker deploy fails on RUN --network=none
Opened
#235 Create a missing volume host directory before starting an app container
Opened
#236 The footer says dev instead of the running commit
Opened
#237 upaas does not start on a database from before PR 172 (migration versions stored as file names)
Opened
#238 The deployments page shows only the 10 most recent deployments
Opened
#239 Tag built images with the commit short hash instead of the deployment number
Opened
#240 Show the deploy branch in the app page title next to the status badge
Opened
#246 App page: 50% wider, logs twice as tall, build log and container log moved
Opened
#248 Say that a deploy keeps only an app's volumes when the app has none
Opened
#249 Run every build, test and lint step in the Dockerfiles at nice -n 19
Opened
#251 Build fails with "no active sessions" when a base image is not already on the host (webhooker deploy on fsn1app1)
Opened
#253 Concurrent database writes fail with "database is locked" instead of waiting
Opened
#255 The app page says environment variable changes need a restart; they need a deploy
Opened
#259 Remove buildarch: read the architecture at runtime from runtime.GOARCH
Opened
#260 Allow dots in app names (e.g. sneak.berlin)
Opened
#261 TOP PRIORITY: docker build . fails on next
Opened
#262 Application list: the table overflows its card, so the Action column and Deploy buttons are clipped
Opened
#264 TOP PRIORITY: fix every open issue now, one parallel worker each
Opened
#266 Git-ignored secrets reach the Docker build stages; data/ is not git-ignored
Opened
#269 Keep .git/config out of the Docker build context
Opened
#272 Top bar: "by @sneak" runs into the New App button in a narrow window
Opened
#274 Build-context tar ignores the app's .dockerignore, so excluded files such as .git/config reach the build
Opened
#277 Re-vendor the canonical files from sneak/prompts at dd4027b