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…
Plan:
README.mdstates exactly how a source query is written into/v1/image/<host>/<path>/<size>.<format>: which characters of the query must stay literal and which…
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…
Plan:
- Both image routes answer 415 for
magic.ErrMagicByteMismatchandmagic.ErrUnknownFormat, logged as a refusal, not as pixa's own error. - The failure is stored in the negative cache…
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…
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…
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…
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…
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…
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…
Plan:
parseImageComponentsrefuses 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…
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…
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.…
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…
Plan, taking the fixed-default option:
- The default
max_concurrent_processingbecomes the smaller ofruntime.GOMAXPROCS(0)(which follows a container CPU limit) and 4, defined once and used…
Rework:
- The commit message and the PR body now say that
secret vault create,secret vault importandsecret initstop with the error and leave the state directory as it was, with no…
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