clawbot pushed to fix/150-version-status at sneak/secret 2026-10-15 02:59:35 +02:00
c80f241b41 secret version list no longer shows a version without NOT_AFTER as expired (closes #150)
acb4b9cb6a version promote --help says the current file is rewritten (closes #153)
Compare 2 commits »
clawbot commented on issue sneak/pixa#256 2026-10-15 02:59:17 +02:00
Logging out does not end the login session

Plan, making the README's promise true on the server:

  • Logging out records the time in the database; a session made before the latest logout is refused. Every login uses the one signing key, so…
clawbot commented on issue sneak/pixa#255 2026-10-15 02:59:16 +02:00
The README gives no way to put a source query into a signed image URL, and the in-tree builder makes one that fails

Plan:

  • README.md states exactly how a source query is written into /v1/image/<host>/<path>/<size>.<format>: which characters of the query must stay literal and which…
clawbot commented on issue sneak/pixa#254 2026-10-15 02:59:16 +02:00
The request metrics label every distinct URL path, so unauthenticated requests grow memory without bound when metrics are on

Plan, as the definition of done says: the handler label is the matched chi route pattern, read after routing, and every unmatched request shares one value; no request path ever becomes a…

clawbot commented on issue sneak/pixa#253 2026-10-15 02:59:16 +02:00
A source whose first bytes do not match its Content-Type answers 500 and is fetched again on every request

Plan:

  • Both image routes answer 415 for magic.ErrMagicByteMismatch and magic.ErrUnknownFormat, logged as a refusal, not as pixa's own error.
  • The failure is stored in the negative cache…
clawbot commented on issue sneak/pixa#252 2026-10-15 02:59:15 +02:00
A cached file left empty or partial by a crash is served or re-fetched forever

Plan:

  • Source and variant files are synced before the rename into place, and their directory after it.
  • A cached source or variant whose file size is 0, or differs from the size its row…
clawbot commented on issue sneak/pixa#251 2026-10-15 02:59:15 +02:00
The upaas section calls the cache size limit optional, but its default takes three quarters of a shared filesystem

Plan, docs only: "Running under upaas" in README.md tells the operator to set PIXA_CACHE_MAX_BYTES, since the volume shares the host's filesystem with every other app, and says what the…

clawbot commented on issue sneak/pixa#248 2026-10-15 02:59:14 +02:00
A chunked upstream body of exactly the maximum size is refused

Plan, as the definition of done says: once the limit is used up, limitedReader.Read tells end of body from more data before it refuses, so a body of exactly the limit is accepted under either…

clawbot commented on issue sneak/pixa#250 2026-10-15 02:59:14 +02:00
The reconciliation pass costs one database query per cached file and runs back to back on a large cache

Plan, taking the longer-interval option: the reconciliation pass runs at startup and then once a day, the next pass timed from the end of the previous one, so passes never run back to back however…

clawbot commented on issue sneak/pixa#249 2026-10-15 02:59:14 +02:00
The example config allowlists public hosts that carry anyone's uploads

Plan, as the definition of done says: configs/config.example.yml allowlists nothing, with one commented example entry under example.com naming a host the operator runs; Getting Started and…

clawbot commented on issue sneak/pixa#247 2026-10-15 02:59:13 +02:00
The signed data and the cache key are ambiguous between path and query

Plan, keeping the documented format for every URL whose path and query hold no : or %: in the signed data and in the cache key, the path and the query each have % written as %25 and : as…

clawbot commented on issue sneak/pixa#246 2026-10-15 02:59:13 +02:00
The host segment is not normalized before the allowlist, the per-host limit and the cache keys

Plan:

  • parseImageComponents refuses a host segment holding @ with 400 and lower-cases the host, so the allowlist, the per-host connection limit, the fetcher and the cache keys all see one…
clawbot commented on issue sneak/pixa#245 2026-10-15 02:59:13 +02:00
A cached variant is refused while its source URL is in the negative cache

Plan, as the definition of done says: Get looks the variant up first and serves it when it is on disk; the negative cache is consulted only on a miss, before a fetch.

Package: `internal/imgcache…

clawbot commented on issue sneak/pixa#244 2026-10-15 02:59:13 +02:00
Negative-cache rows are never purged, so the database grows without bound

Plan: the eviction loop deletes expired negative-cache rows at start and on every tick, through CleanExpired (kept, now called), so rows last at most their five minutes plus one interval.…

clawbot commented on issue sneak/pixa#243 2026-10-15 02:59:12 +02:00
Image processing runs past the request's deadline and keeps its slot

Plan, taking the up-front bound: the limits of 8192 on each side of the source and of the output (the latter since sneak/pixa#241 and https://git.eeqj.de/sneak/pixa/issue…

clawbot commented on issue sneak/pixa#242 2026-10-15 02:59:12 +02:00
Memory per image and the default number of images processed at once are not bounded or documented for the container

Plan, taking the fixed-default option:

  • The default max_concurrent_processing becomes the smaller of runtime.GOMAXPROCS(0) (which follows a container CPU limit) and 4, defined once and used…
clawbot commented on pull request sneak/secret#172 2026-10-15 02:56:33 +02:00
Stop vault creation when a vault's metadata cannot be read

Rework:

  1. The commit message and the PR body now say that secret vault create, secret vault import and secret init stop with the error and leave the state directory as it was, with no…
clawbot pushed to fix/140-corrupt-metadata-index at sneak/secret 2026-10-15 02:56:29 +02:00
e9b4f20442 Stop vault creation when a vault's metadata cannot be read (closes #140)
acb4b9cb6a version promote --help says the current file is rewritten (closes #153)
Compare 2 commits »
clawbot commented on pull request sneak/secret#178 2026-10-15 02:54:38 +02:00
Print an empty unlocker or vault list as [] in JSON

Opening comment of internal/cli/unlockers_list_test.go: its first sentence now reads "Tests for secret unlocker list:", which covers all three tests listed under it.

Model: opus-5-5

clawbot pushed to fix/148-empty-list-json at sneak/secret 2026-10-15 02:54:34 +02:00
7787609d2e Print an empty unlocker or vault list as [] in JSON (closes #148)
acb4b9cb6a version promote --help says the current file is rewritten (closes #153)
Compare 2 commits »