Commit Graph

91 Commits

Author SHA1 Message Date
Sam Becker
2feb4cf088 Add commit age to admin insights 2026-02-19 10:27:34 -06:00
Sam Becker
c3c7d6858a Increase GitHub fetch cache 2026-02-19 10:01:09 -06:00
Sam Becker
af672dfcf4 Remove safe-photo-image-response checks in favor of centralized solution 2026-02-18 09:06:00 -06:00
Sam Becker
6ba4cfe1e3 Disable checks + base64 rendering 2026-02-18 08:30:00 -06:00
Sam Becker
d11cf6f62d Use presigned urls when statically pre-rendering 2026-02-17 18:11:54 -06:00
Sam Becker
44550824e7 Centralize presigned url commands 2026-02-17 17:18:04 -06:00
Sam Becker
351f8869a6
Replace backing storage (#374)
* Centralize random suffix generation

* Introduce ••• menu in admin photos table

* Finalize re-upload behavior

* Finalize re-upload locales

* Honor resize config when re-uploading files
2026-02-10 21:17:57 -06:00
Sam Becker
1cb3c4a22c Begin storing image width + height 2026-02-01 19:05:58 -06:00
Sam Becker
3edc64d5cf Allow AI model override 2026-01-30 20:42:47 -06:00
Sam Becker
0e97d292a1 Refine Nikon implementation 2025-12-30 15:29:27 -05:00
Sam Becker
d5deab49ed Upgrade AI api 2025-12-28 15:23:29 -05:00
Rich Manalang
ec55005df2
feat: add Nikon Z Picture Control support (#361)
* feat: add Nikon Z Picture Control support

* refactor: Consolidate Fujifilm and Nikon MakerNote parsing logic and remove unused code and comments.

* fix: decode film parameter before fetching photo data.

* fix: decode URL-encoded film parameters for improved routing

* feat: Add default set of Nikon Picture Controls for consistent labels and allow for Picture Controls not already in the database to be picked from the drop down.

* feat: Add camera make context to film components for conditional Fujifilm simulation display
2025-12-28 14:23:33 -05:00
Sam Becker
86dd2c6f19 Upgrade AI model 2025-11-19 09:34:02 -06:00
Sam Becker
64441a12c1 Add iPhone 17 generation lens specs 2025-11-14 12:57:09 -08:00
Sam Becker
a00e38b395
Add Locations to Albums (#334) 2025-10-15 09:37:16 -05:00
Sam Becker
9819a2b81e
AI Text Refinements (#329)
* Bump deps

* Add openai object generation with zod

* Streamline AI query instructions

* Use single AI request when editing uploads

* Clean up AI text from object requests

* Fix AI text formatting logic

* Reorganize upload network requests
2025-09-27 19:33:14 -05:00
Sam Becker
ee9f3f4dc2
Album upgrades (#326)
* Add tag-to-album upgrade, introduce tag/album ••• menus

* Refine entity ••• menus

* Add album tagging to "Select ..." mode

* Finalize batch select/upload add album

* Refine final tag/album interactions

* Refine upgradeTagToAlbum capitalization

* Fix batch album upload, z-index issues

* Refine readonly styles
2025-09-18 22:41:12 -05:00
Sam Becker
38c085da59 Tweak prefixed redis creds 2025-09-12 22:13:18 -05:00
Sam Becker
8965dac4ff Tweak redis client logic 2025-09-12 22:11:21 -05:00
Sam Becker
f07f8e44b9 Make Redis connection resilient to more configurations 2025-09-12 21:45:11 -05:00
Sam Becker
b8c01492b8
Store optimized assets for all photos (#304)
* Begin storing optimized photo files

* Increase optimized image size to 1080

* Refactor photo/storage modules

* Refine storage file naming api

* Simplify photo storage api

* Finalize photo storage api

* Start storing/serving optimized photos

* Finalize optimized photo asset generation

* Temporarily allow static optimization on PREVIEW branches

* Restore static optimization as production-only

* Remove og image inline-flex class

* Tweak convert upload signature

* Refactor optimized file storage

* Display optimized files when they exist in photo form

* Create small disclosure component

* Report photo storage files more accurately

* Sort optimized files

* Generate optimized storage files when updating/syncing photos

* Include source bucket when copying files with MinIO

* Make deleting files more resilient
2025-09-06 23:20:20 -05:00
Sam Becker
1a72a84497 Bump deps 2025-09-01 21:03:25 -05:00
Sam Becker
200f73a5ca Warm redis store once per client session 2025-08-28 09:20:10 -05:00
Sam Becker
f7de56a7b9 Refine storage config 2025-08-27 20:46:57 -05:00
Christopher Jeffrey
363354d797
feat: add minio support (#297) 2025-08-27 19:20:56 -05:00
Sam Becker
25b8d65030
Break up photo form into sections (#298) 2025-08-26 20:36:51 -05:00
Sam Becker
0d02306ba0 Migrate to dedicated indent style line plugin 2025-08-08 23:29:00 -05:00
Sam Becker
8727fc18ac Refactor image response url checks 2025-08-05 10:03:53 -05:00
Sam Becker
59f5c74269
Chromatic sorting (#284)
* Test color palette extraction

* Fix import

* Add hex <> oklch conversions

* Add 'hue' storage to photos

* Consolidate color modules

* Add chromatic config, track missing color data

* Bump deps

* Fix lens text test

* Finalize color storage

* Refactor color imports

* Hide form color data when disabled

* Store all average oklch color components

* Finalize color-config language

* Optimize photo syncing for color data

* Only update color data when syncing if possible

* Build out all color sorts

* Debug image colors

* Improve color debugging

* Improve color logging

* Simplify color sorting

* Bump deps

* Fix color sync logic

* Switch to sort params: ascending, descending

* Fix commandk sort menu

* Update tr-tr sorting language

* Add color capture to all photo extractions

* Add color visualization to photo form

* Standardize photo update language

* Create global debug color update function

* Improve color data capture logging

* Update maximum function duration for admin photos

* Add note to remove maxDuration

* Use AI to generate sorting color

* Conditionally use AI to analyze colors

* Manage AI color analysis batched requests

* Fix color reporting in admin photo table

* Only update color where AI fields are missing

* Temporarily upgrade admin/photos timeout

* Fix pro-based max duration

* Standardize color sorting foundations

* Update color sorting language

* Refactor color calculations

* Restore max duration time

* Update color-based sort menu labels

* Finalize color documentation

* Clean up color test actions

* Round color sort values before submitting to db

* Consolidate color server actions
2025-08-03 19:31:02 -05:00
Sam Becker
6c73b14b85 Make queries resilient to unconfigured installations 2025-07-19 15:36:42 -05:00
Sam Becker
646f32e642
Rich sort controls (#283)
* Generalize app switcher menus

* Organize sort module

* Build configuration for nav sort control

* Refine sort menu styles

* Upgrade next.js

* Reset custom sort when clicking grid/full a second time

* Light up sort button when overridden
2025-07-15 22:43:36 -05:00
Sam Becker
4f9da5d13d Support OpenAI-compatible providers 2025-05-22 09:33:40 -05:00
Sam Becker
eabdbf1329
Make Supabase postgres urls more resilient (#257)
* Bump deps

* Remove redundant postgres ssl query param

* Tweak postgres code

* Refactor postgres url formatting

* Change postgres url imports
2025-05-22 01:07:04 -05:00
Sam Becker
b3dba5f676 Increase AI rate limit window for batch requests 2025-04-20 11:48:50 -05:00
Sam Becker
26a8dd2d0a addRandomSuffix now default in vercel-blob 2025-04-12 00:49:10 -05:00
Sam Becker
b6a5a0c5da Improve pixel lens formatting 2025-04-04 22:13:10 -05:00
Sam Becker
7dd07aac6e Shrink client bundle 2025-04-04 18:09:47 -05:00
Sam Becker
47a53a2398 Support iPhone lenses without makes 2025-04-04 08:57:55 -05:00
Sam Becker
51a614d97f Finalize non-fuji film icon treatment 2025-04-01 23:43:29 -05:00
Sam Becker
f9db50e41a Generalize film type and labeling strategy 2025-04-01 21:08:36 -05:00
Sam Becker
087a5e223c Finalize film dropdown icon 2025-04-01 20:43:11 -05:00
Sam Becker
16c58facc9 Always show all film simulations for fujis 2025-03-31 09:13:13 -05:00
Sam Becker
0dfc12d06e Standardize film types/arguments 2025-03-30 00:51:14 -05:00
Sam Becker
e062e6fb6a Merge branch 'main' into universal-films 2025-03-29 22:59:17 -05:00
Sam Becker
c5d23ab037 Guard against empty lens strings 2025-03-29 22:59:02 -05:00
Sam Becker
763cc4de14 Rename core film types 2025-03-29 22:58:04 -05:00
Sam Becker
ce9e384375 Add iPhone mini support 2025-03-29 22:19:42 -05:00
Sam Becker
88ef90fb38 Categorize pixels lenses without makes 2025-03-29 12:06:12 -05:00
Sam Becker
b1bbd8935a Loosen Pixel lens regex 2025-03-28 23:51:04 -05:00
Sam Becker
075f104367 Offer abbreviated formatting for Pixel lenses 2025-03-28 23:45:57 -05:00