Commit Graph

266 Commits

Author SHA1 Message Date
Cameron
ad07f5a1fa Update README 2026-01-05 10:09:18 -05:00
Cameron
11e725c443 Enhanced Insights with daily summary embeddings
Bump to 0.5.0. Added daily summary generation job
2026-01-05 09:13:16 -05:00
Cameron
43b7c2b8ec Remove dialoguer dependency 2026-01-03 20:32:00 -05:00
Cameron
cbbfb7144b Re-enable video GIF generation 2026-01-03 20:31:18 -05:00
Cameron
cf52d4ab76 Add Insights Model Discovery and Fallback Handling 2026-01-03 20:27:34 -05:00
Cameron
1171f19845 Create Insight Generation Feature
Added integration with Messages API and Ollama
2026-01-03 10:30:37 -05:00
Cameron
0dfec4c8c5 Fix memory filename date extraction 2026-01-02 19:29:42 -05:00
878465fea9 Merge pull request 'Implement critical security improvements for authentication' (#45) from feature/security-improvements into master
Reviewed-on: #45
2026-01-02 22:01:39 +00:00
Cameron
4d9addaf22 Add filename date to metadata if available 2025-12-29 21:54:25 -05:00
Cameron
2d915518e2 Bump to 0.4.1 2025-12-29 19:51:21 -05:00
Cameron
2d02f00e7d Fix Memories Week span sorting 2025-12-29 18:49:52 -05:00
Cameron
54e23a29b3 Fix warnings 2025-12-29 14:29:29 -05:00
Cameron
9cb923df9e Fix memory date priority 2025-12-29 12:28:17 -05:00
Cameron
2c52cffd65 Implement critical security improvements for authentication
This commit addresses several security vulnerabilities in the authentication
and authorization system:

1. JWT Encoding Panic Fix (Critical)
   - Replace .unwrap() with proper error handling in JWT token generation
   - Prevents server crashes from encoding failures
   - Returns HTTP 500 with error logging instead of panicking

2. Rate Limiting for Login Endpoint (Critical)
   - Add actix-governor dependency (v0.5)
   - Configure rate limiter: 2 requests/sec with burst of 5
   - Protects against brute-force authentication attacks

3. Strengthen Password Requirements
   - Minimum length increased from 6 to 12 characters
   - Require uppercase, lowercase, numeric, and special characters
   - Add comprehensive validation with clear error messages

4. Fix Token Parsing Vulnerability
   - Replace unsafe split().last().unwrap_or() pattern
   - Use strip_prefix() for proper Bearer token validation
   - Return InvalidToken error for malformed Authorization headers

5. Improve Authentication Logging
   - Sanitize error messages to avoid leaking user existence
   - Change from "User not found or incorrect password" to "Failed login attempt"

All changes tested and verified with existing test suite (65/65 tests passing).

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 23:53:54 -05:00
a2f2d4de5c Merge pull request 'feature/exif-endpoint' (#44) from feature/exif-endpoint into master
Reviewed-on: #44
2025-12-27 03:25:17 +00:00
Cameron
ccd16ba987 Files endpoint refactoring 2025-12-26 22:20:01 -05:00
Cameron
be281130d5 Send timestamp from filename for Memories endpoint 2025-12-25 23:32:00 -05:00
Cameron
ae0886cd2e Fix tag count sorting, hopefully 2025-12-25 15:17:50 -05:00
Cameron
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
Cameron
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
4851f64229 Merge pull request 'Added file date format for memories' (#43) from feature/new-memories-filename-format into master
Reviewed-on: #43
2025-12-01 18:53:23 +00:00
Cameron
3c894335ce Added file date format for memories 2025-12-01 13:51:17 -05:00
b58fc0034c Merge pull request 'feature/improve-memories-exclude' (#42) from feature/improve-memories-exclude into master
Reviewed-on: #42
2025-12-01 18:07:07 +00: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