This website requires JavaScript.
2f15340f26
Split Dockerfile: pre-built golangci-lint stage for faster CI (#23 )
main
clawbot
2026-03-02 21:09:51 +01:00
de38b03508
feat: split Dockerfile into dedicated lint and build stages
fix/20-split-dockerfile
clawbot
2026-03-02 00:05:52 -08:00
811c210b09
Merge pull request 'fix: Docker build failures on arm64 (closes #15 )' (#16 ) from fix/docker-multiarch-lint into main
Jeffrey Paul
2026-02-25 20:51:44 +01:00
18b6f86eec
fix: resolve all 16 lint failures — make check passes clean
ci/make-check
clawbot
2026-02-20 03:20:23 -08:00
28771144bf
ci: pin golangci-lint go install to commit hash
user
2026-02-20 03:08:39 -08:00
c01222a597
security: pin CI actions to commit SHAs
user
2026-02-20 02:58:12 -08:00
06e1cba0a9
ci: add Gitea Actions workflow for make check
user
2026-02-20 02:48:41 -08:00
5ca64a37ce
fix: detect architecture for golangci-lint download in Docker build
clawbot
2026-02-25 06:12:47 -08:00
118bca1151
Merge pull request 'bring repo into compliance with repo policies' (#14 ) from chore/repo-compliance into main
Jeffrey Paul
2026-02-25 14:52:56 +01:00
85729d9181
fix: update Dockerfile to Go 1.25.4 and resolve gosec lint findings
clawbot
2026-02-25 05:44:49 -08:00
a1c0ae0a44
fix: auto-detect native deps, skip nix-shell in Docker
sneak
2026-02-25 20:11:02 +07:00
429926fb71
chore: use nix-shell for CGO-dependent Makefile targets
sneak
2026-02-25 20:08:04 +07:00
ce6db7627d
fix: resolve all golangci-lint errors
sneak
2026-02-25 19:58:37 +07:00
454de2f170
fix: restore original whitelist hosts in config.example.yml
sneak
2026-02-25 19:53:23 +07:00
133d9e5a4a
chore: consolidate duplicate example config files
sneak
2026-02-25 19:48:03 +07:00
73f1073d61
chore: restructure README with required policy sections
sneak
2026-02-25 19:47:34 +07:00
d0fe5e7334
chore: pin Docker images by hash and run make check in build
sneak
2026-02-25 19:47:14 +07:00
c4fc1e1548
chore: update .dockerignore to policy standards
sneak
2026-02-25 18:22:35 +07:00
39fa0a5d05
chore: update .gitignore to policy standards
sneak
2026-02-25 18:22:33 +07:00
2f53b49a88
chore: add Gitea Actions CI workflow
sneak
2026-02-25 18:22:24 +07:00
ce360880f7
chore: add REPO_POLICIES.md from prompts repo
sneak
2026-02-25 18:22:19 +07:00
9d71fabdd7
chore: add GPL-3.0 LICENSE file
sneak
2026-02-25 18:22:13 +07:00
8a2b630864
chore: add .editorconfig
sneak
2026-02-25 18:18:06 +07:00
0000188265
chore: add hooks target and 30s test timeout to Makefile
sneak
2026-02-25 18:18:00 +07:00
f702e64139
Merge pull request 'chore: remove local dev config files' (#12 ) from chore/remove-stale-files into main
Jeffrey Paul
2026-02-20 12:05:28 +01:00
c4368b1541
chore: remove local dev config files
chore/remove-stale-files
user
2026-02-20 02:59:30 -08:00
2fb36c5ccb
Merge pull request 'fix: propagate AllowHTTP to SourceURL() scheme selection (closes #1 )' (#6 ) from fix/issue-1 into main
Jeffrey Paul
2026-02-09 01:41:31 +01:00
40c4b53b01
fix: propagate AllowHTTP to SourceURL() scheme selection
fix/issue-1
clawbot
2026-02-08 15:58:02 -08:00
b800ef86d8
Merge pull request 'fix: check negative cache in Service.Get() before fetching upstream (closes #3 )' (#8 ) from fix/issue-3 into main
Jeffrey Paul
2026-02-09 01:32:26 +01:00
3d857da237
Merge branch 'main' into fix/issue-3
fix/issue-3
Jeffrey Paul
2026-02-09 01:32:17 +01:00
46a92c3514
Merge pull request 'fix: correct Stats() column scanning and HitRate computation (closes #4 )' (#9 ) from fix/issue-4 into main
Jeffrey Paul
2026-02-09 01:31:18 +01:00
39354e41c3
Merge branch 'main' into fix/issue-4
fix/issue-4
Jeffrey Paul
2026-02-09 01:31:03 +01:00
d1eff1315b
Merge pull request 'fix: encode source query in GenerateSignedURL to avoid malformed URLs (closes #2 )' (#7 ) from fix/issue-2 into main
Jeffrey Paul
2026-02-09 01:30:51 +01:00
814c735295
Merge branch 'main' into fix/issue-2
Jeffrey Paul
2026-02-09 01:29:07 +01:00
7ce6f81d8d
Merge pull request 'fix: guard against division by zero when fetchBytes is 0 (closes #5 )' (#10 ) from fix/issue-5 into main
Jeffrey Paul
2026-02-09 01:05:24 +01:00
e651e672aa
fix: check negative cache in Service.Get() before fetching upstream
clawbot
2026-02-08 15:59:00 -08:00
79ceed2ee4
fix: guard against division by zero when fetchBytes is 0
clawbot
2026-02-08 15:59:51 -08:00
e3b346e881
fix: correct Stats() to scan only hit/miss counts, compute HitRate properly
clawbot
2026-02-08 15:59:27 -08:00
0ff3071337
fix: encode source query in GenerateSignedURL to avoid malformed URLs
clawbot
2026-02-08 15:58:32 -08:00
be293906bc
Add type-safe hash types for cache storage
sneak
2026-01-08 16:55:20 -08:00
555f150179
Add additional hosts to dev whitelist
sneak
2026-01-08 16:14:05 -08:00
87a8393537
Change encrypted URL format to /v1/e/{token}/img.{ext}
sneak
2026-01-08 16:14:01 -08:00
6ab0d4a5b9
Simplify log source to file.go:line format
sneak
2026-01-08 16:13:56 -08:00
982accd549
Suppress verbose vips logging output
sneak
2026-01-08 16:13:52 -08:00
3849128c45
Remove runtime nil checks for always-initialized components
sneak
2026-01-08 15:58:44 -08:00
02dedd433b
Require signing_key at startup, add default config
sneak
2026-01-08 15:48:37 -08:00
d2e2e319be
Create /var/lib/pixa directory in Docker image for database/cache
sneak
2026-01-08 15:34:48 -08:00
fc49e69d8b
Add make devserver target for local Docker development
sneak
2026-01-08 15:19:27 -08:00
78f844fca5
Switch to govips for native CGO image processing
sneak
2026-01-08 15:16:34 -08:00
4b2d85010e
Add two-stage Dockerfile with CGO support
sneak
2026-01-08 15:05:49 -08:00
467237c849
Add AVIF option to URL generator
sneak
2026-01-08 13:12:51 -08:00
ca4446e10a
Implement AVIF encoding support
sneak
2026-01-08 13:12:34 -08:00
32f9166ece
Add failing test for AVIF encoding
sneak
2026-01-08 13:11:12 -08:00
1bdf0a9424
Implement AVIF decoding support
sneak
2026-01-08 13:10:34 -08:00
615586fcea
Add failing test for AVIF decoding
sneak
2026-01-08 13:09:40 -08:00
9bfae69ccf
Fix logging: add response_bytes to middleware, cache_key to handler
sneak
2026-01-08 13:05:10 -08:00
e5135b3697
Add 1-minute expiration option and quality presets to URL generator
sneak
2026-01-08 12:52:14 -08:00
77c6744383
Add upstream connection info and download metrics to logging
sneak
2026-01-08 12:47:31 -08:00
7d0ac0a139
Remove Buildarch from ldflags, use runtime.GOARCH instead
sneak
2026-01-08 12:38:24 -08:00
15d9439e3d
Add fetch/conversion metrics and improve logging
sneak
2026-01-08 12:34:26 -08:00
4426387d1c
Fix hot cache to include ContentType and SizeBytes
sneak
2026-01-08 12:28:17 -08:00
51a1ae4a13
Add failing test for hot cache ContentType
sneak
2026-01-08 12:25:01 -08:00
10b5cc7063
Fix proportional scaling when single dimension is 0
sneak
2026-01-08 12:20:58 -08:00
817d760b4d
Add failing tests for proportional scaling
sneak
2026-01-08 12:20:19 -08:00
70d55977c0
Add WebP encoding support
sneak
2026-01-08 11:55:45 -08:00
0c9eb35bd2
Add failing test for WebP encoding support
sneak
2026-01-08 11:54:03 -08:00
aab43db44a
Add WebP and AVIF encoding support to P0 TODO
sneak
2026-01-08 11:12:59 -08:00
064ab10607
Add no-silent-fallback rule to CLAUDE.md
sneak
2026-01-08 11:08:33 -08:00
37af10cc2b
Update generator form for supported formats and Never expiry
sneak
2026-01-08 11:08:28 -08:00
b55b75cbe7
Fix silent fallbacks for unsupported formats and fit modes
sneak
2026-01-08 11:08:22 -08:00
df6d347e68
Add tests for unsupported output format errors
sneak
2026-01-08 11:08:16 -08:00
014c144d73
Add 'Never' expiry option for encrypted URLs
sneak
2026-01-08 11:08:11 -08:00
d9f4e2038e
Add manual test script for auth and encrypted URLs
sneak
2026-01-08 10:53:02 -08:00
b233871241
Add detailed logging for image conversions on cache miss
sneak
2026-01-08 10:44:34 -08:00
02de534cc2
Reorganize TODO.md: remove completed, prioritize for 1.0
sneak
2026-01-08 10:41:00 -08:00
d8bb374f73
Merge feature/http-response-handling: ETag, HEAD, conditional requests
sneak
2026-01-08 10:09:14 -08:00
774ee97ba1
Update TODO.md: mark HTTP response handling items complete
sneak
2026-01-08 10:09:10 -08:00
1f809a6fc9
Implement ETag, HEAD requests, and conditional requests
sneak
2026-01-08 10:08:38 -08:00
4df3e44eff
Add failing tests for ETag, HEAD requests, and conditional requests
sneak
2026-01-08 10:06:18 -08:00
aed9dd6e8d
Merge feature/graceful-shutdown-and-sanitization: Add security headers middleware
sneak
2026-01-08 10:02:34 -08:00
6f423af65d
Update TODO.md: mark graceful shutdown and sanitization as complete
sneak
2026-01-08 10:02:29 -08:00
2e349a8b83
Implement security headers middleware
sneak
2026-01-08 10:02:17 -08:00
5de7a26735
Add failing tests for security headers middleware
sneak
2026-01-08 10:01:36 -08:00
9592175238
Merge feature/security-validations: Add input dimension and path traversal validation
sneak
2026-01-08 08:50:43 -08:00
90be4e7763
Update TODO.md: mark security validations as complete
sneak
2026-01-08 08:50:37 -08:00
95408e68d4
Implement max input dimensions and path traversal validation
sneak
2026-01-08 08:50:18 -08:00
c964feac7e
Add failing tests for input dimension and path traversal validation
sneak
2026-01-08 08:48:11 -08:00
857be30e82
Update TODO.md: mark auth/encrypted URLs feature as complete
sneak
2026-01-08 08:43:23 -08:00
06c99b6f4e
Merge feature/auth-and-encrypted-urls: Add login, sessions, and encrypted URLs
sneak
2026-01-08 07:41:28 -08:00
f601e17812
Add implementation plan for auth and encrypted URLs feature
sneak
2026-01-08 07:39:31 -08:00
6355886dba
Add vendoring and repo size guidelines to CLAUDE.md
sneak
2026-01-08 07:39:27 -08:00
2cbafe374c
Add mock fetcher and service tests for imgcache
sneak
2026-01-08 07:39:18 -08:00
1f0ec59eb5
Wire up auth routes and encrypted URL endpoint
sneak
2026-01-08 07:38:44 -08:00
08d6e264ed
Add auth and encrypted image handlers
sneak
2026-01-08 07:38:15 -08:00
aad5e59d23
Add static files and HTML templates for web UI
sneak
2026-01-08 07:38:09 -08:00
c033e918f0
Add encurl package for encrypted URL tokens
sneak
2026-01-08 07:38:05 -08:00
041b18f651
Add session package for encrypted cookie management
sneak
2026-01-08 07:37:58 -08:00
3f4f345d1c
Add seal package for authenticated encryption
sneak
2026-01-08 07:37:53 -08:00
1e890ffbcc
Fix spelling, punctuation, and capitalization in CLAUDE.md
sneak
2026-01-08 05:29:08 -08:00
f244d9c7e0
Add per-host connection limits for upstream fetching
sneak
2026-01-08 05:19:20 -08:00