Commit Graph

  • 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
  • 49ff72dfa8 Add bin/ to gitignore sneak 2026-01-08 05:14:11 -08:00
  • 6304556837 Refactor to serve all responses from cached files on disk sneak 2026-01-08 05:11:55 -08:00
  • 1a97f42cd8 Add detailed logging for image requests with cache status and timing sneak 2026-01-08 05:04:08 -08:00
  • 6a20406b0f Add -config flag using cobra to specify config file path sneak 2026-01-08 04:58:05 -08:00
  • 271527679e Add example config file with whitelisted hosts sneak 2026-01-08 04:09:06 -08:00
  • 9647829ac9 Support YAML list format for whitelist_hosts config sneak 2026-01-08 04:08:51 -08:00
  • 3fcf9d9146 Add failing test for YAML list format in whitelist_hosts config sneak 2026-01-08 04:08:11 -08:00
  • cc0fd29954 Update TODO.md with completed image processing items sneak 2026-01-08 04:02:53 -08:00
  • fd2d108f9c Wire up image handler endpoint with service orchestration sneak 2026-01-08 04:01:53 -08:00
  • 5462c9222c Add pure Go image processor with resize and format conversion sneak 2026-01-08 03:54:50 -08:00
  • 9629139989 Add tests for cache service sneak 2026-01-08 03:39:23 -08:00
  • 11295db68a Exclude vendor directory from format checks sneak 2026-01-08 03:37:58 -08:00
  • d9e57de108 Add TDD and commit workflow rules to CLAUDE.md sneak 2026-01-08 03:36:22 -08:00
  • b14c897408 Update TODO.md with completed caching layer items sneak 2026-01-08 03:36:05 -08:00
  • 6d32b7ee23 Fix formatting in fetcher and signature tests sneak 2026-01-08 03:36:00 -08:00
  • 30c5c077e5 Add cache service with hot cache and negative caching sneak 2026-01-08 03:35:55 -08:00
  • 2f20c71da0 Add content-addressable storage and cache key generation sneak 2026-01-08 03:35:50 -08:00
  • 4595929275 Add embedded SQL migrations system sneak 2026-01-08 03:35:43 -08:00
  • 27eb9fb513 Add HMAC signature specification to README sneak 2026-01-08 03:35:36 -08:00
  • 30d63e80dc Add magic byte detection for image format validation sneak 2026-01-08 03:35:29 -08:00
  • 9ff44b7e65 Update TODO.md with completed core features sneak 2026-01-08 03:02:24 -08:00
  • cc2c40bfbf Implement HMAC-SHA256 signature generation and verification sneak 2026-01-08 03:02:09 -08:00
  • 2b0ccd6052 Implement host whitelist for source domains sneak 2026-01-08 03:00:53 -08:00
  • 018c280267 Add ParseImagePath for chi wildcard and upstream fetcher with SSRF protection sneak 2026-01-08 02:59:48 -08:00
  • c69ddf6f61 Implement URL parser for image proxy routes sneak 2026-01-08 02:55:05 -08:00
  • a9573a4b10 Mark project setup tasks complete in TODO.md sneak 2026-01-08 02:53:49 -08:00
  • 09a0e6f039 Fix formatting alignment in server constants sneak 2026-01-08 02:31:01 -08:00
  • 1ac16bcfb4 Remove unused respondError function sneak 2026-01-08 02:30:13 -08:00
  • 837c91e0dd Rename unused ctx parameters in server hooks sneak 2026-01-08 02:29:48 -08:00
  • 827f9743b8 Add package and const block comments to imgcache sneak 2026-01-08 02:29:25 -08:00
  • 453fd22ce2 Add doc comment to HandleHealthCheck method sneak 2026-01-08 02:28:30 -08:00
  • eb2ba92745 Add comment to SQLite blank import sneak 2026-01-08 02:28:05 -08:00
  • 29adb6ee47 Rename unused parameters to _ to satisfy linter sneak 2026-01-08 02:27:45 -08:00
  • 146eeee070 Use bit shift for HTTPMaxHeaderBytes constant sneak 2026-01-08 02:26:47 -08:00
  • 31df1a4a03 Rename LoggerParams to Params to avoid stuttering sneak 2026-01-08 02:26:15 -08:00
  • 1824d99f55 Rename ServerParams to Params to avoid stuttering sneak 2026-01-08 02:25:56 -08:00
  • 3f6328766c Rename MiddlewareParams to Params to avoid stuttering sneak 2026-01-08 02:25:42 -08:00