Commit Graph
95 Commits
Author SHA1 Message Date
CameronandClaude Sonnet 4.5 6c543ffa68 Add CLAUDE.md documentation for Claude Code
Comprehensive guide covering build commands, architecture overview, database patterns, file processing pipeline, API structure, and development workflows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 16:07:03 -05:00
CameronandClaude Sonnet 4.5 f0d482af12 Optimize release build times with thin LTO
Switch from fat LTO to thin LTO for faster release builds while maintaining similar performance characteristics.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 10:21:47 -05:00
Cameron c0021734b6 Try fixing Otel span propogation 2025-12-24 10:17:14 -05:00
Cameron c1cfda9df9 Fix memories week span sorting 2025-12-24 00:27:44 -05:00
Cameron c035678162 Add tracing to EXIF DAO methods 2025-12-23 22:57:24 -05:00
Cameron 636701a69e Refactor file type checking for better consistency
Fix tests
2025-12-23 22:30:53 -05:00
Cameron 6dbac6f22f Run cargo fmt/fix 2025-12-23 22:07:50 -05:00
Cameron 3a64b30621 Fix Date sorting in tagged/recursive search 2025-12-23 22:07:40 -05:00
Cameron 47d3ad7222 Add polling-based file watching
Remove notify and update otel creates
2025-12-22 22:54:19 -05:00
Cameron df94010d21 Fix tests and improve memories date error log 2025-12-19 14:20:51 -05:00
Cameron e3ccc123d0 Add EXIF update support 2025-12-18 21:20:45 -05:00
Cameron b4c5a38c9d Cargo fmt 2025-12-18 21:20:31 -05:00
Cameron aaf9cc64be Add Cleanup binary for fixing broken DB/file relations 2025-12-18 16:02:15 -05:00
Cameron 28d85dc4a5 Fix recursive search and media filtering 2025-12-18 11:25:50 -05:00
Cameron 721b66481e Add EXIF search implementation to list photos endpoint 2025-12-18 10:06:13 -05:00
Cameron eb8e08b9ff Add EXIF search infrastructure (Phase 1 & 2)
Implements foundation for EXIF-based photo search capabilities:

- Add geo.rs module with GPS distance calculations (Haversine + bounding box)
- Extend FilesRequest with EXIF search parameters (camera, GPS, date, media type)
- Add MediaType enum and DateTakenAsc/DateTakenDesc sort options
- Create date_taken index migration for efficient date queries
- Implement ExifDao methods: get_exif_batch, query_by_exif, get_camera_makes
- Add FileWithMetadata struct for date-aware sorting
- Implement date sorting with filename extraction fallback
- Make extract_date_from_filename public for reuse

Next: Integrate EXIF filtering into list_photos() and enhance get_all_tags()
2025-12-18 09:34:07 -05:00
Cameron 52e1ced2a2 Improved image caching and CORS handling 2025-12-17 22:36:03 -05:00
Cameron c6b1b46629 Fix video part directory traversal 2025-12-17 22:32:46 -05:00
Cameron 7ddc2dec64 Add indexes for favorite de-duplication 2025-12-17 22:31:16 -05:00
Cameron 1294a86a41 Add indexes for improved query performance 2025-12-17 22:31:04 -05:00
Cameron 445b82b21a Bump to 0.4.0 2025-12-17 22:17:54 -05:00
Cameron c7fd328925 Check Exif DB for memory collection 2025-12-17 22:10:23 -05:00
Cameron e4d988a9fd Cargo formatting 2025-12-17 22:10:03 -05:00
Cameron d61fcb942a Exif comment on TZ handling 2025-12-17 22:09:03 -05:00
Cameron 07c27bf1bb Add HEIC and TIF image extensions to files endpoint 2025-12-17 16:57:27 -05:00
Cameron 4082f1fdb8 Add Exif storing and update to Metadata endpoint 2025-12-17 16:55:48 -05:00
Cameron 3c894335ce Added file date format for memories 2025-12-01 13:51:17 -05:00
Cameron f02a858368 Bump to 0.3.1 and format/clippy 2025-12-01 13:04:55 -05:00
Cameron a7d065aadc Tests and improved pattern-excluding behavior 2025-12-01 12:54:40 -05:00
Cameron f5c53d1e0e Allow for pattern-based memories folder exclusion 2025-12-01 12:29:32 -05:00
Cameron 273b877e16 Update to Rust 2024 edition
Formatted code.
2025-09-01 13:36:27 -04:00
Cameron 0d05b283ce Cargo update 2025-09-01 13:28:37 -04:00
Cameron 2cc4124544 Just look for date format instead of screenshot text 2025-09-01 11:15:27 -04:00
Cameron 6f76a74b2e Add additional memories filename regex 2025-09-01 11:09:09 -04:00
Cameron 9c04fcb1d1 Add additional memories filename regex 2025-09-01 11:01:01 -04:00
Cameron 2f91dbdc2e Update README 2025-08-28 11:36:16 -04:00
Cameron f27b22ead4 Update README 2025-08-28 11:35:41 -04:00
Cameron e46953194e Allow for excluding directories from Memories endpoint 2025-08-27 16:02:32 -04:00
Cameron 34784a39f6 Use rayon for memories endpoint 2025-08-21 16:39:33 -04:00
Cameron 544256f658 Bump to 0.3.0 2025-08-15 23:22:05 -04:00
Cameron 93957bf389 Refactor date parsing from filename by introducing reusable closure, remove redundant logging level, and simplify regex logic. 2025-08-15 23:20:07 -04:00
Cameron 8114204485 Update Otel 2025-08-15 23:18:53 -04:00
Cameron 7dcf89c47e Add conditional sorting logic for Month span in memories sorting 2025-08-15 17:22:01 -04:00
Cameron 4315744abb Improve Memory sorting 2025-08-13 13:23:32 -04:00
Cameron 85093ff0c7 Add parsing date from filename for memories 2025-08-12 20:55:22 -04:00
Cameron 8d9a5fd79f Try adding timezone awareness 2025-08-11 17:11:02 -04:00
Cameron 6aa3c932fb Run cargo fmt 2025-08-11 17:08:24 -04:00
Cameron 88114ef4d4 Add Month memory filter span 2025-08-09 22:46:25 -04:00
Cameron caed787c04 Add /memories endpoint 2025-08-09 22:24:48 -04:00
Cameron b3a885de28 Run cargo fmt 2025-08-08 15:06:43 -04:00
Cameron 2ea36a4c9b Get tests building and sort of passing 2025-07-17 20:32:23 -04:00
Cameron 264195d3a2 Cleanup warnings 2025-07-17 20:08:12 -04:00
Cameron e5afdd909b Serve video gifs when requested 2025-07-02 15:48:49 -04:00
Cameron 3fbdba2b9c Merge branch 'master' into feature/video-gifs 2025-06-16 21:06:38 -04:00
Cameron 97a07e11ca Fix SQL injection vulnerability in a tag query 2025-06-12 15:01:07 -04:00
Cameron a25ffcc351 Add enhanced logging and tracing for playlist generation 2025-06-12 13:12:01 -04:00
Cameron 2c553a8016 Additional logging and tracing enhancements 2025-06-04 15:05:23 -04:00
Cameron 7c882fd31c Add webp files and improve logging 2025-06-03 15:23:39 -04:00
Cameron 6aff7f456a Manually pass the current context around 2025-06-03 14:06:19 -04:00
Cameron c4153b404c Try using current context 2025-06-03 13:02:25 -04:00
Cameron b11d647ffa Try fixing span context for db call tracing 2025-06-03 12:51:37 -04:00
Cameron 1e63e0c08c Add DB spans to the various queries 2025-06-03 12:07:26 -04:00
Cameron 785ce157e6 Get Otel span from the request 2025-05-23 18:24:54 -04:00
Cameron d37deb36fe Additional Otel logging and spans 2025-05-23 14:51:54 -04:00
Cameron 24d2123fc2 Fix recursive-any tag counting
This is bad security wise so it'll need another pass.
2025-05-18 19:57:16 -04:00
Cameron fe0446a43f Merge branch 'master' into feature/video-gifs
# Conflicts:
#	Cargo.toml
#	src/files.rs
#	src/main.rs
2025-05-17 15:57:01 -04:00
Cameron 484eec8b39 Only use Otel on release builds 2025-05-17 13:41:30 -04:00
Cameron 5b17fba51f Add sorting by a File's Tag Count 2025-05-17 13:41:14 -04:00
Cameron 518fba0ef5 Add missing otel.rs 2025-05-06 20:26:02 -04:00
Cameron d6451ee782 Add Simple OpenTelemetry setup 2025-05-06 20:15:03 -04:00
Cameron 399f5f2336 Add ability to create summary clips of existing videos 2024-12-14 20:55:10 -05:00
Cameron 0edb0dbdd1 Cleanup 2024-12-07 21:53:39 -05:00
Cameron b2a361faba First pass on creating gifs from a video 2024-12-07 21:49:33 -05:00
Cameron 4e4a2240cf Move video.rs into its own module 2024-12-07 21:46:37 -05:00
Cameron 3ce1b84604 Sort on recursive search
Run clippy
2024-12-06 11:21:42 -05:00
Cameron 4a91c6344a Use exclude subquery for recursive all tag search 2024-12-06 11:04:08 -05:00
Cameron ff13a57d0e Try subquery for excluding tags 2024-12-06 10:58:40 -05:00
Cameron 03f3756ffd Remove tag count from any tag query 2024-12-06 09:54:53 -05:00
Cameron 787d1fd5d0 Fix recursive search at the root, cleanup video generation return 2024-12-06 09:47:21 -05:00
Cameron 8bc9c5585e log ffmpeg output and cleanup video creation 2024-12-05 20:47:51 -05:00
Cameron 04a7cb417f Bump app version to 0.2.0 2024-12-05 20:30:45 -05:00
Cameron 18ba5796b0 Update to rust 2021
Fix tests
2024-12-05 20:27:01 -05:00
Cameron 9c2cd2566f Prepare for rust edition 2021 2024-12-05 20:25:00 -05:00
Cameron 8daa35b5a7 Fix recursive search when beneath top level directory 2024-12-05 20:19:38 -05:00
Cameron 0419aa2323 Scan and generate Video HLS playlists on startup
Refactored and improved video path state. Bumped versions of some dependencies.
2024-12-05 20:19:03 -05:00
Cameron 2b2a811cae Fix recursive filtering under base path 2024-12-04 19:50:04 -05:00
Cameron b7f13d4cbf Fix exclude filtering for any tags 2024-12-04 19:42:00 -05:00
Cameron d280db8482 Fix exclude filtering 2024-11-27 16:42:17 -05:00
Cameron 0af7c8f98b Fix missing return and update test signatures 2024-11-27 15:43:27 -05:00
Cameron 9327208deb Remove filtering when recursively searching with tags 2024-11-25 21:40:25 -05:00
Cameron a668b14116 Update deprecated functions 2024-11-24 12:56:21 -05:00
Cameron 860e7a97fb Use TagDao for improved filtering 2024-11-24 09:49:03 -05:00
Cameron 9a32a1cfe7 Allow for excluding certain tags from a file search 2024-11-23 20:21:19 -05:00
Cameron 6986540295 Add sorting shuffle, and name asc/desc 2024-11-23 19:13:25 -05:00
Cameron 287a61ae3f Update dependencies, improve startup logging 2024-11-23 12:14:12 -05:00