copilot-swe-agent[bot]
feea051c4f
feat(status): restrict status page to admin-only and move to admin menu
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 15:10:46 +00:00
copilot-swe-agent[bot]
17e77fa65a
Initial plan
2026-03-08 15:03:39 +00:00
github-actions[bot]
211d479eb9
chore(release): update build metadata files [skip ci]
2026-03-08 14:45:47 +00:00
semantic-release
3e36f4c888
0.95.0
...
Automatically generated by python-semantic-release
2026-03-08 14:45:44 +00:00
Christian Krakau-Louis
6175489ba0
Merge pull request #543 from christianlouis/copilot/add-per-user-imap-ingestion
...
feat(imap): per-user IMAP ingestion accounts with quota enforcement
2026-03-08 15:45:25 +01:00
Christian Krakau-Louis
94ce9b12f6
Merge pull request #549 from christianlouis/copilot/fix-login-issues
...
fix(auth): CSRF middleware body consumption causes empty form data on login
2026-03-08 15:45:12 +01:00
copilot-swe-agent[bot]
087f3c10e9
fix(auth): cache request body in CSRF middleware to prevent login failures
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 13:48:17 +00:00
copilot-swe-agent[bot]
5acc55ce92
Initial plan
2026-03-08 13:36:41 +00:00
copilot-swe-agent[bot]
73727dc56a
fix(imap): address code review feedback - named constants, error context in JS, security docs
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 13:08:31 +00:00
copilot-swe-agent[bot]
43bcfe5653
feat(imap): add per-user IMAP ingestion accounts with quota enforcement
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 13:01:14 +00:00
github-actions[bot]
555b0a6627
chore(release): update build metadata files [skip ci]
2026-03-08 12:59:58 +00:00
semantic-release
ba9f32a039
0.94.0
...
Automatically generated by python-semantic-release
2026-03-08 12:59:54 +00:00
Christian Krakau-Louis
a4e4dbc43e
Merge pull request #542 from christianlouis/copilot/debug-local-login-issues
...
feat(auth): add diagnostic debug logging to local login flow
2026-03-08 13:59:35 +01:00
copilot-swe-agent[bot]
c5b330cb4e
feat(auth): add comprehensive debug logging for local login failures
...
Add detailed diagnostic log statements throughout the local authentication
path to help identify why valid local user logins are failing.
Changes:
- app/auth.py: log received username, multi_user_enabled status, LocalUser
DB lookup result, is_active status, password verification outcome, and
the specific failure reason (empty_username / wrong_password / no_match)
at every decision point. Also log form keys and Content-Type header on
empty-username failures to detect Starlette body-consumption issues.
- app/middleware/csrf.py: log Content-Type, form field names, and whether
the CSRF token was present in _get_submitted_token() to reveal if the
middleware is consuming form data before the endpoint can read it.
- app/utils/local_auth.py: verify_password() now logs DEBUG on mismatch
and WARNING (with exception type) on unexpected bcrypt errors instead
of silently swallowing exceptions.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 12:48:38 +00:00
copilot-swe-agent[bot]
f3c85f73c3
Initial plan
2026-03-08 12:47:14 +00:00
copilot-swe-agent[bot]
ec51cb0015
Initial plan
2026-03-08 12:38:23 +00:00
github-actions[bot]
e68bf13949
docs(changelog): update changelog [skip ci]
2026-03-08 12:26:45 +00:00
Christian Krakau-Louis
6497d35d84
Merge pull request #534 from christianlouis/copilot/increase-test-coverage-watch-folder-tasks
...
test: increase watch_folder_tasks.py coverage from 37% to 98%
2026-03-08 13:26:23 +01:00
github-actions[bot]
195febfb09
docs(changelog): update changelog [skip ci]
2026-03-08 12:23:49 +00:00
Christian Krakau-Louis
c26ecfce08
Merge pull request #535 from christianlouis/copilot/increase-test-coverage-backup-view
...
Increase test coverage for app/views/backup.py to 100%
2026-03-08 13:23:29 +01:00
github-actions[bot]
cc6acc1f03
docs(changelog): update changelog [skip ci]
2026-03-08 12:21:08 +00:00
Christian Krakau-Louis
06eb6e636e
Merge pull request #533 from christianlouis/copilot/increase-test-coverage-backup-tasks
...
test: increase backup_tasks.py coverage from 66% to 99.79%
2026-03-08 13:20:50 +01:00
copilot-swe-agent[bot]
3ac5a97467
test: increase watch_folder_tasks coverage from 37% to 98%
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 12:19:29 +00:00
copilot-swe-agent[bot]
19b4ea4f6b
test(backup): add comprehensive unit tests for app/views/backup.py
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 12:15:39 +00:00
github-actions[bot]
16b2ad3b24
chore(release): update build metadata files [skip ci]
2026-03-08 12:15:37 +00:00
semantic-release
f6c6712550
0.93.1
...
Automatically generated by python-semantic-release
2026-03-08 12:15:34 +00:00
Christian Krakau-Louis
640662e9b2
Merge pull request #540 from christianlouis/copilot/fix-local-user-login-issue
...
fix(auth): local user login fails after password reset
2026-03-08 13:15:14 +01:00
github-actions[bot]
be0a0922dc
docs(changelog): update changelog [skip ci]
2026-03-08 12:12:54 +00:00
Christian Krakau-Louis
9e9a4f9b6a
Merge pull request #536 from christianlouis/copilot/increase-test-coverage-subscription-tasks
...
test: 100% coverage for app/tasks/subscription_tasks.py
2026-03-08 13:12:31 +01:00
copilot-swe-agent[bot]
9a95d5cfd5
test: increase backup_tasks.py coverage to 99.79%
...
Add comprehensive tests covering all previously untested code paths in
app/tasks/backup_tasks.py, raising coverage from 66.39% to 99.79%.
New test classes:
- TestDumpPostgresqlBranches / TestDumpMysqlBranches: URL branches
- TestRestoreSqliteBranches: error paths and rollback scenarios
- TestRestorePostgresqlBranches / TestRestoreMysqlBranches: URL branches
- TestApplyRetentionOSError: OSError on file removal + remote record keeping
- TestPruneRemoteBackups: full pruning lifecycle
- TestDeleteRemoteCopy: S3, Dropbox, known/unknown destinations
- TestUploadRemote: all destination branches (S3, Dropbox, email, Nextcloud, WebDAV)
- TestEmailBackup: recipient error, TLS, no-auth paths
- TestCreateBackupAdditional: dump failure, remote upload, PG/MySQL failures
- TestCleanupOldBackupsTask: validates all tiers are processed
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 12:11:07 +00:00
copilot-swe-agent[bot]
86f9f5f9b1
fix(auth): activate account on password reset and fix is_active check order
...
- reset_password sets is_active=True so users with unverified accounts
can log in after using the forgot-password flow
- admin set_password also sets is_active=True for the same reason
- auth() now checks is_active before verifying the password, ensuring
inactive users always see the email-verification prompt regardless of
password correctness (avoids leaking password validity)"
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 12:07:25 +00:00
github-actions[bot]
5a11f14681
docs(changelog): update changelog [skip ci]
2026-03-08 12:05:46 +00:00
Christian Krakau-Louis
a1dcc1d2b5
Merge pull request #538 from christianlouis/copilot/increase-test-coverage-subscriptions-again
...
test: increase coverage for app/views/subscriptions.py to 100%
2026-03-08 13:05:26 +01:00
copilot-swe-agent[bot]
a580527de4
test: increase coverage for app/tasks/subscription_tasks.py to 100%
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 12:05:17 +00:00
github-actions[bot]
53f7ab37d5
docs(changelog): update changelog [skip ci]
2026-03-08 12:03:43 +00:00
Christian Krakau-Louis
b7df2ca74b
Merge pull request #532 from christianlouis/copilot/increase-test-coverage-subscriptions
...
test(subscriptions): increase app/api/subscriptions.py coverage from 49% to 100%
2026-03-08 13:03:23 +01:00
github-actions[bot]
754ea99092
docs(changelog): update changelog [skip ci]
2026-03-08 12:00:11 +00:00
Christian Krakau-Louis
13e8d5098c
Merge pull request #537 from christianlouis/copilot/increase-test-coverage-url-upload
...
test: increase url_upload.py coverage from 91% to 100%
2026-03-08 12:59:53 +01:00
github-actions[bot]
8db0093562
docs(changelog): update changelog [skip ci]
2026-03-08 11:59:02 +00:00
Christian Krakau-Louis
bcce0c0885
Merge pull request #539 from christianlouis/copilot/increase-test-coverage-extract-metadata
...
test: increase coverage for app/tasks/extract_metadata_with_gpt.py to 100%
2026-03-08 12:58:45 +01:00
copilot-swe-agent[bot]
e96ddc7865
test: increase coverage for app/views/subscriptions.py to 100%
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 11:57:37 +00:00
copilot-swe-agent[bot]
cd19ac661e
test(subscriptions): add comprehensive API tests reaching 100% coverage
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 11:54:56 +00:00
copilot-swe-agent[bot]
afe42270bb
test: increase url_upload.py test coverage to 100%
...
Add 10 new tests in TestURLUploadCoverageGaps to cover previously
uncovered lines and branches in app/api/url_upload.py:
- Line 41: validate_url_scheme raises ValueError for non-http scheme
- Lines 65->61, 67: is_private_ip DNS path with public IP resolution
- Line 87: validate_url_safety with ftp:// scheme (direct call)
- Line 107: validate_url_safety blocks metadata.google.internal
- Line 130->135: validate_file_type with no file extension
- Line 177: sanitize_filename returning empty string defaults to 'download'
- Line 234->233: iter_content empty bytes chunks (if chunk: False branch)
- Line 285: OSError cleanup path removes existing partial file
- Line 291->293: unexpected exception before target_path assigned (stays None)
Coverage: 91.16% -> 100%
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 11:53:45 +00:00
github-actions[bot]
2be09efd99
docs(changelog): update changelog [skip ci]
2026-03-08 11:52:43 +00:00
Christian Krakau-Louis
660b18ee97
Merge pull request #529 from christianlouis/copilot/increase-test-coverage-pipelines
...
test: increase coverage for app/views/pipelines.py to 100%
2026-03-08 12:52:08 +01:00
Christian Krakau-Louis
1cb39ca027
Merge pull request #528 from christianlouis/copilot/increase-test-coverage-google-drive
...
test: increase app/api/google_drive.py coverage to 100%
2026-03-08 12:51:53 +01:00
github-actions[bot]
21ac4f3308
chore(release): update build metadata files [skip ci]
2026-03-08 11:51:31 +00:00
semantic-release
f589fc7fa5
0.93.0
...
Automatically generated by python-semantic-release
2026-03-08 11:51:29 +00:00
Christian Krakau-Louis
8292704703
Merge pull request #531 from christianlouis/copilot/increase-test-coverage-local-auth
...
test(local_auth): increase coverage for app/utils/local_auth.py to 100%
2026-03-08 12:51:12 +01:00
Christian Krakau-Louis
8443b719a6
Merge pull request #530 from christianlouis/copilot/increase-test-coverage-onboarding
...
test(views): increase coverage for app/views/onboarding.py from 48% → 100%
2026-03-08 12:50:57 +01:00