github-actions[bot]
ff369a2ac1
chore(release): update build metadata files [skip ci]
2026-03-16 10:01:11 +00:00
semantic-release
92996bc2f5
0.147.0
...
Automatically generated by python-semantic-release
2026-03-16 10:01:08 +00:00
Christian Krakau-Louis
740d18555b
Merge pull request #707 from christianlouis/copilot/fix-debug-logging-issue
...
feat: fix DEBUG logging and add LOG_LEVEL/LOG_FORMAT/LOG_SYSLOG for standard log management
2026-03-16 11:00:41 +01:00
github-actions[bot]
5e986cb6d6
docs(changelog): update changelog [skip ci]
2026-03-16 09:59:15 +00:00
Christian Krakau-Louis
e679b71356
Merge pull request #697 from christianlouis/test-api-tokens-hash-token-18108337743020909528
...
🧪 Add unit test for hash_token function
2026-03-16 10:58:44 +01:00
Christian Krakau-Louis
bcd49aa793
Merge pull request #695 from christianlouis/fix/rename-save-dropbox-settings-9203732237520055590
...
🧹 [code health improvement] Rename save_dropbox_settings to save_google_drive_settings
2026-03-16 10:58:07 +01:00
github-actions[bot]
8f8e11cffe
docs(changelog): update changelog [skip ci]
2026-03-16 09:58:03 +00:00
Christian Krakau-Louis
1c8cebb718
Merge pull request #694 from christianlouis/add-test-delete-saved-search-error-10537352409448038219
...
🧪 add error test for deleting saved search
2026-03-16 10:57:24 +01:00
Christian Krakau-Louis
3be78708cd
Merge pull request #716 from christianlouis/code-health/simplify-save-onedrive-settings-12338634662690804221
...
🧹 [Code Health] Simplify save_onedrive_settings logic and extract env_utils
2026-03-16 10:56:25 +01:00
Christian Krakau-Louis
992adad978
Merge pull request #718 from christianlouis/perf-upload-15584535240168516797
...
⚡ Optimize file upload endpoint to use asynchronous aiofiles
2026-03-16 10:55:57 +01:00
copilot-swe-agent[bot]
df1fa51800
refactor(main): move JSON formatter imports to module level per code review
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:55:30 +00:00
github-actions[bot]
c9940965a6
chore(release): update build metadata files [skip ci]
2026-03-16 09:54:50 +00:00
semantic-release
e4e2521aec
0.146.0
...
Automatically generated by python-semantic-release
2026-03-16 09:54:47 +00:00
Christian Krakau-Louis
fb9fc01780
Merge pull request #698 from christianlouis/security/fix-rclone-command-injection-10804853329672964529
...
🔒 Fix potential command injection in rclone task
2026-03-16 10:54:10 +01:00
Christian Krakau-Louis
b9b8796153
Merge pull request #699 from christianlouis/improve-generate-api-token-coverage-1443605259252817388
...
🧪 Add unit tests for `generate_api_token`
2026-03-16 10:53:06 +01:00
Christian Krakau-Louis
b3d1824d66
Merge pull request #700 from christianlouis/extract-pdf-metadata-upload-to-email-12238364102013658937
...
Extract embedded PDF metadata using pypdf
2026-03-16 10:52:51 +01:00
Christian Krakau-Louis
00be8d7b8e
Merge pull request #703 from christianlouis/perf/fix-n-plus-1-shared-links-7028382104319809262
...
⚡ fix N+1 query in list_shared_links
2026-03-16 10:52:34 +01:00
Christian Krakau-Louis
e29e222833
Merge pull request #704 from christianlouis/test-settings-sync-error-handling-9908300433097254406
...
🧪 Add tests for notify_settings_updated error handling
2026-03-16 10:52:15 +01:00
Christian Krakau-Louis
6e2e54aac6
Merge pull request #705 from christianlouis/perf/fix-n-plus-1-duplicates-17979853535459179799
...
⚡ Fix N+1 Query in Duplicate Grouping List
2026-03-16 10:51:59 +01:00
Christian Krakau-Louis
0d606d480f
Merge pull request #706 from christianlouis/test-saved-searches-update-3763426346293976504
...
🧪 Add error tests for updating saved searches
2026-03-16 10:51:37 +01:00
Christian Krakau-Louis
a9af06ed17
Merge pull request #708 from christianlouis/test-create-saved-search-errors-7017236575137054898
...
🧪 Add missing error tests for create_saved_search
2026-03-16 10:51:18 +01:00
copilot-swe-agent[bot]
6da1e6fd81
feat(config): add JSON structured logging and syslog forwarding for application logs
...
- Add LOG_FORMAT setting (text/json) for structured JSON log output
- Add LOG_SYSLOG_* settings for direct syslog forwarding of app logs
- JSON format compatible with Grafana Loki, Splunk, ELK, Datadog
- Syslog forwarding uses Python's SysLogHandler (UDP/TCP)
- Update .env.demo and ConfigurationGuide.md with all new settings
- Add tests for JSON formatter and syslog config fields
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:51:16 +00:00
Christian Krakau-Louis
056292dbe6
Merge pull request #710 from christianlouis/jules/perf-opt-reorder-plans-5035457001465312501
...
⚡ Optimize reorder_plans by fixing N+1 database query
2026-03-16 10:51:02 +01:00
Christian Krakau-Louis
50846360b3
Merge pull request #712 from christianlouis/test-settings-sync-coverage-16903900720046903542
...
🧪 [testing improvement] add missing error logging tests for notify_settings_updated
2026-03-16 10:50:40 +01:00
Christian Krakau-Louis
13a156f4e3
Merge pull request #709 from christianlouis/test-settings-sync-5418518550614493591
...
🧪 Add tests for settings_sync utility
2026-03-16 10:50:02 +01:00
Christian Krakau-Louis
c00a35bbac
Merge pull request #711 from christianlouis/performance-optimize-dropbox-token-2748375428782384195
...
⚡ Optimize Dropbox token check by using async httpx
2026-03-16 10:49:34 +01:00
Christian Krakau-Louis
635966b099
Merge pull request #715 from christianlouis/test-api-tokens-coverage-14568212820727238898
...
🧪 Add tests for api_tokens edge cases
2026-03-16 10:49:04 +01:00
Christian Krakau-Louis
5b3c7da644
Merge pull request #719 from christianlouis/jules-fix-database-index-quoting-4036216779366574643
...
🔒 fix: explicitly quote identifiers in CREATE INDEX for saved_searches
2026-03-16 10:48:47 +01:00
google-labs-jules[bot]
21f9998706
Fix tests affected by os.path mock updates in onedrive coverage
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:48:38 +00:00
github-actions[bot]
68398522e7
chore(release): update build metadata files [skip ci]
2026-03-16 09:47:08 +00:00
semantic-release
e5cce5d184
0.145.3
...
Automatically generated by python-semantic-release
2026-03-16 09:47:05 +00:00
Christian Krakau-Louis
1d51266208
Merge pull request #693 from christianlouis/fix-rclone-command-injection-16912117938106238295
...
🔒 fix(tasks): prevent command injection in rclone commands
2026-03-16 10:46:40 +01:00
Christian Krakau-Louis
3088459c70
Merge pull request #713 from christianlouis/perf/fix-notifications-api-n-plus-1-17980566457111073264
...
⚡ Fix N+1 Query in Notification Preferences Update
2026-03-16 10:46:12 +01:00
Christian Krakau-Louis
1102a495e5
Merge pull request #717 from christianlouis/testing-improvement-settings-sync-9197999793094986952
...
🧪 Add tests for settings_sync.py register_settings_reload_signal
2026-03-16 10:45:48 +01:00
google-labs-jules[bot]
fffb7cf357
Fix ruff linting errors resulting from aiofiles addition
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:44:59 +00:00
google-labs-jules[bot]
fbd4f83730
style: format app/database.py to fix CI failure
...
Formatted the code with `ruff format app/database.py` to fix
the Ruff Lint & Format CI failure.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:41:27 +00:00
google-labs-jules[bot]
d58c43c7b5
🧪 Fix test_api_tokens syntax to avoid CI failures in older Python versions
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:39:41 +00:00
github-actions[bot]
b4118f6162
style: apply ruff auto-fix
...
- Auto-formatted code with ruff format
- Applied ruff linting fixes with --fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-16 09:37:40 +00:00
google-labs-jules[bot]
71d2d4100e
🔒 Prevent SQL injection by explicitly quoting identifier in CREATE INDEX
...
While `_ensure_indexes` was already secured, the `CREATE INDEX` for
`ix_saved_searches_user_id` was hardcoded. This commit explicitly
quotes it to unify our security posture against SQL injection
and keep static analyzers happy.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:37:10 +00:00
github-actions[bot]
6f5f4d9d49
style: apply ruff auto-fix
...
- Auto-formatted code with ruff format
- Applied ruff linting fixes with --fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-16 09:36:54 +00:00
github-actions[bot]
80a0ddcbfc
style: apply ruff auto-fix
...
- Auto-formatted code with ruff format
- Applied ruff linting fixes with --fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-16 09:36:54 +00:00
google-labs-jules[bot]
9a85615811
🧪 Add tests for settings_sync.py register_settings_reload_signal
...
This commit improves test coverage for the `register_settings_reload_signal` function in `app/utils/settings_sync.py`.
🎯 **What:** The testing gap addressed was that the `_reload_if_stale` inner Celery `task_prerun` signal handler was entirely untested, specifically around exception handling (e.g. Redis timeouts or OCR manager errors) and the code branch where Redis returns no version key.
📊 **Coverage:** The following scenarios are now tested:
- Redis returning `None` for the version.
- Redis throwing an exception (handled gracefully).
- `ensure_ocr_languages_async` throwing an exception (caught and logged without failing the task).
✨ **Result:** Test coverage for `register_settings_reload_signal` is now 100%. Total coverage for `app/utils/settings_sync.py` has been substantially improved.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:36:33 +00:00
google-labs-jules[bot]
b290cffb98
Performance Optimization: Replace synchronous file upload read with async aiofiles
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:36:33 +00:00
google-labs-jules[bot]
c941738644
Refactor save_onedrive_settings and test_onedrive_token to use shared env utility
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:34:10 +00:00
copilot-swe-agent[bot]
18c49c6b2d
feat(config): add LOG_LEVEL setting and configure root logging at startup
...
- Add `log_level` setting to config.py (default: INFO, env: LOG_LEVEL)
- Configure Python root logger in main.py with standard precedence:
LOG_LEVEL explicit > DEBUG=true implies DEBUG > default INFO
- Add timestamp to log format for production readability
- Suppress noisy third-party loggers at DEBUG level
- Add comprehensive debug logging to all auth functions
- Add LOG_LEVEL/DEBUG to .env.demo and ConfigurationGuide.md
- Add tests for logging config and auth debug output
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:33:50 +00:00
github-actions[bot]
ac35c5e6fa
style: apply ruff auto-fix
...
- Auto-formatted code with ruff format
- Applied ruff linting fixes with --fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-16 09:28:26 +00:00
google-labs-jules[bot]
94dc6f967d
Fix ruff lint error in tests/test_api_dropbox.py
...
Removed unused `import requests` from `tests/test_api_dropbox.py`.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:28:08 +00:00
google-labs-jules[bot]
bb59233d33
Trigger CI rebuild
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:26:43 +00:00
github-actions[bot]
0425d46c44
style: apply ruff auto-fix
...
- Auto-formatted code with ruff format
- Applied ruff linting fixes with --fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-16 09:26:26 +00:00
google-labs-jules[bot]
f24c39a027
🧪 Add tests for api_tokens edge cases to improve coverage
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 09:26:04 +00:00