Commit Graph

50 Commits

Author SHA1 Message Date
Sam Becker
0e97d292a1 Refine Nikon implementation 2025-12-30 15:29:27 -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
1e66815a3d
Albums (#315)
* Make /db top-level module

* Create Album type

* Pin pnpm version

* Generalize query modules

* Finalize album postgres data type

* Remove temp albums prop

* Create basic album primitives

* Fix temporary album bugs

* Add albums to sidebar

* Disambiguate string date utilities

* Localize album language

* Add album join option to core photo queries

* Tweak album icon placement

* Add album photo detail page

* Refine Album data model

* Display album subhead when available

* Generate album og images

* Finalize album share modal

* Add albums to sitemap

* Statically pre-render albums

* Display tags on albums

* Add albums to cmd-k menu

* Handle album tag overflow

* Stop truncating album subheads

* Create core admin album views

* Make albums editable

* Create/edit albums on photo save, add delete album
2025-09-16 21:47:22 -05:00
Sam Becker
d13c8b0fae
Support EXIF data in PNG files (#314)
* Use exifr data to fill in gaps from PNG files

* Handle exif/exifr location data inconsistencies
2025-09-12 21:11:36 -05:00
Sam Becker
379228cc03 Avoid unnecessary color collection when syncing outdated photos 2025-09-11 20:31:22 -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
320f562cbc
EXIF title/caption capture (#294) 2025-08-17 17:18:16 -05:00
Sam Becker
0d02306ba0 Migrate to dedicated indent style line plugin 2025-08-08 23:29:00 -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
7dd07aac6e Shrink client bundle 2025-04-04 18:09:47 -05:00
Sam Becker
f9db50e41a Generalize film type and labeling strategy 2025-04-01 21:08:36 -05:00
Sam Becker
0dfc12d06e Standardize film types/arguments 2025-03-30 00:51:14 -05:00
Sam Becker
763428547c Rename core film simulation pages 2025-03-29 22:40:44 -05:00
Sam Becker
ee050b550e Refine recipe scanning ux 2025-03-13 21:55:27 -05:00
Sam Becker
81b127468f Propagate recipe titles on photo create/update 2025-03-10 09:57:57 -05:00
Sam Becker
7911cf1e2e Auto-label recognized recipes 2025-03-06 14:41:07 -08:00
Sam Becker
541c09c551 Allow editing recipe data, protect manually configured fuji fields 2025-02-24 17:28:37 -06:00
Sam Becker
62a681a424 Display basic fujifilm recipes 2025-02-19 20:34:31 -06:00
Sam Becker
faad28e6f7 Add recipe to db model, refactor migrations 2025-02-19 18:12:01 -06:00
Sam Becker
64a49c85a3 Add parsing for remaining fujifilm recipe fields 2025-02-19 17:18:59 -06:00
Sam Becker
c9ffb96082 Parse dynamic range for recipe 2025-02-18 23:22:27 -06:00
Sam Becker
8249e2929b Create initial fujifilm recipe type 2025-02-18 22:53:18 -06:00
Sam Becker
1508a9718c Rename src/app-core to src/app 2025-02-17 17:54:00 -06:00
Sam Becker
12cf156af3 Combine /services and /platforms 2025-02-16 10:19:16 -06:00
Sam Becker
13b8cdcf62 Create /platforms directory 2025-02-15 17:34:02 -06:00
Sam Becker
a174654297 Refactor app/site/admin code paths 2025-02-11 18:06:15 -06:00
Sam Becker
33a950f73c Improve error logging for photo uploads 2025-01-20 14:40:33 -06:00
Sam Becker
862b94c96c Refactor optimization env var names 2025-01-15 09:20:23 -06:00
Sam Becker
e45c1eb8d9 Fix ESLINT 9 configuration 2025-01-05 19:47:40 -06:00
Sam Becker
17c4b54478 Make server-side image transformations EXIF-orientation aware 2024-07-24 23:08:46 -05:00
Sam Becker
817d4b389e Improve image transform error handling 2024-06-17 14:27:32 -05:00
Sam Becker
b8e1d22b64 Tweak GPS overwrite schema 2024-06-08 17:39:27 -05:00
Sam Becker
a09e3b2dba Refine GPS-stripping approach 2024-06-08 11:14:45 -05:00
Sam Becker
1109ce7212 Test EXIF removal with sharp, add note about file manipulation 2024-06-07 16:40:40 -05:00
Sam Becker
605b66f640 Add GPS fields to strip 2024-06-07 12:40:53 -05:00
Sam Becker
45689acb26 Switch to Sharp for EXIF removal 2024-06-07 12:32:40 -05:00
Sam Becker
11362450f1 Strip GPS data when uploading/syncing photos 2024-06-07 00:24:52 -05:00
Sam Becker
b35326cfc3 Disable fetch caching when inspecting uploads 2024-06-06 21:29:10 -05:00
Sam Becker
d448c36445 Build tooling around server-side blur generation 2024-05-06 00:19:42 -05:00
Sam Becker
1114bec462 Switch jimp to sharp 2024-05-04 11:01:35 -05:00
Sam Becker
df5afa4072 Shrink image blur size 2024-05-03 18:31:28 -05:00
Sam Becker
0f7299d891 Add Jimp-based blur proof-of-concept 2024-05-03 18:04:59 -05:00
Sam Becker
49cfa8b766 Generate missing dates on client to avoid timezone issues 2024-04-08 22:38:09 -05:00
Sam Becker
7421256cb6 Warn before throwing out uncommitted form changes 2024-04-08 21:51:18 -05:00
Sam Becker
3bd89f62b5 Add listing/deleting Cloudflare blobs 2024-01-20 23:40:18 -06:00
Sam Becker
16c524abc4 Add support for Cloudflare R2 storage 2024-01-20 22:13:05 -06:00
Sam Becker
fe992c0e17 Abstract blob service, add core S3 functionality 2023-11-26 18:25:24 -06:00
Sam Becker
f728e3981b Build out all film simulation pages 2023-11-06 10:05:20 -06:00
Sam Becker
0f87bd3b5c Simplify EXIF data form handling 2023-11-01 09:57:25 -05:00
Sam Becker
d6adce8e27 Refactor photo edit page data handling 2023-10-30 16:38:13 -05:00