github-actions[bot]
441a2b5c2e
chore(release): update build metadata files [skip ci]
2026-03-19 11:30:01 +00:00
semantic-release
ad730c1e71
0.158.0
...
Automatically generated by python-semantic-release
2026-03-19 11:29:59 +00:00
Christian Krakau-Louis
6cc4599d1e
Merge pull request #755 from christianlouis/copilot/fix-timeout-error-notifications-api
...
fix: resolve merge conflict in database.py and remove duplicate entries from merge
2026-03-19 12:29:39 +01:00
github-actions[bot]
1d636d866a
chore(release): update build metadata files [skip ci]
2026-03-19 11:16:35 +00:00
semantic-release
5869dd6fa6
0.157.2
...
Automatically generated by python-semantic-release
2026-03-19 11:16:32 +00:00
Christian Krakau-Louis
31a72026a8
Merge pull request #764 from christianlouis/copilot/update-devices-table-layout
...
fix(ui): compact devices page table to eliminate horizontal scrolling
2026-03-19 12:16:11 +01:00
copilot-swe-agent[bot]
d34b8bceb9
fix(config): remove duplicate dictionary keys and class fields from merge
...
Remove duplicate SETTING_METADATA entries (db_pool_size, db_max_overflow,
db_pool_timeout, db_pool_recycle, upload_rate_limit_per_user,
upload_rate_limit_window) that were introduced when merging origin/main.
Also remove duplicate Settings class field definitions in config.py.
Fixes ruff F601 (repeated dictionary key literal) errors.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-19 11:07:03 +00:00
copilot-swe-agent[bot]
b12e891682
fix(ui): improve devices page table layout to prevent horizontal scrolling
...
- Widen page container from max-w-4xl (896px) to max-w-6xl (1152px)
- Convert action buttons (Revoke/Reactivate/Delete) to icon-only (44×44px)
with aria-label and title tooltip for accessibility
- Reduce table cell padding from px-6 py-4 to px-4 py-3
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-19 10:50:14 +00:00
copilot-swe-agent[bot]
9c5bd73794
Initial plan
2026-03-19 10:44:14 +00:00
copilot-swe-agent[bot]
2941f6e177
fix: resolve merge conflict in database.py
...
Merge origin/main into branch, resolving conflict in app/database.py.
Combined improvements from both branches:
- Keep pool_pre_ping=True and structured variable approach from feature branch
- Add explicit QueuePool import and poolclass assignment from main
2026-03-19 10:40:43 +00:00
github-actions[bot]
be65703875
chore(release): update build metadata files [skip ci]
2026-03-19 10:12:48 +00:00
semantic-release
9ac8f29448
0.157.1
...
Automatically generated by python-semantic-release
2026-03-19 10:12:45 +00:00
Christian Krakau-Louis
786c909765
Merge pull request #763 from christianlouis/copilot/fix-send-to-docuelevate-function
...
fix(mobile): resolve "unmatched route docuelevate://" error on iOS "Open In…"
2026-03-19 11:12:21 +01:00
github-actions[bot]
ba4ebd83b8
chore(release): update build metadata files [skip ci]
2026-03-19 10:12:15 +00:00
semantic-release
1773c12cb1
0.157.0
...
Automatically generated by python-semantic-release
2026-03-19 10:12:12 +00:00
Christian Krakau-Louis
e1bd976697
Merge pull request #762 from christianlouis/copilot/allow-delete-disabled-api-keys
...
feat(api): delete disabled tokens/devices, reactivate revoked tokens, optional token lifetime
2026-03-19 11:11:49 +01:00
copilot-swe-agent[bot]
e4749b4e7c
feat(api): allow disabled tokens/devices to be deleted & reactivated; add token lifetime
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 23:43:16 +00:00
copilot-swe-agent[bot]
f2b7db88ba
fix(mobile): resolve iOS "unmatched route docuelevate://" error in Open In share flow
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 23:27:56 +00:00
copilot-swe-agent[bot]
5ef82050b8
Initial plan
2026-03-18 23:17:55 +00:00
copilot-swe-agent[bot]
98327edfc2
Initial plan
2026-03-18 23:15:15 +00:00
github-actions[bot]
6cc185a507
chore(release): update build metadata files [skip ci]
2026-03-18 22:29:06 +00:00
semantic-release
55127fee68
0.156.3
...
Automatically generated by python-semantic-release
2026-03-18 22:29:03 +00:00
Christian Krakau-Louis
f91c57eacb
Merge pull request #761 from christianlouis/copilot/fix-qr-code-login-error
...
fix(auth): exempt /api/qr-auth/claim from CSRF to fix mobile QR login
2026-03-18 23:28:41 +01:00
copilot-swe-agent[bot]
a4aaebfe66
fix(auth): exempt /api/qr-auth/claim from CSRF to fix mobile QR login
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 22:25:27 +00:00
copilot-swe-agent[bot]
11c8d80d59
Initial plan
2026-03-18 22:19:44 +00:00
github-actions[bot]
d8d2016f85
docs(changelog): update changelog [skip ci]
2026-03-18 22:18:24 +00:00
Christian Krakau-Louis
2192783737
Merge pull request #758 from christianlouis/fix-idor-vuln-8344028020677453820
...
🛡️ Sentinel: [CRITICAL] Fix authorization bypass in API (IDOR)
2026-03-18 23:17:58 +01:00
github-actions[bot]
30608a7eb2
chore(release): update build metadata files [skip ci]
2026-03-18 14:02:58 +00:00
semantic-release
ec459c54ff
0.156.2
...
Automatically generated by python-semantic-release
2026-03-18 14:02:54 +00:00
Christian Krakau-Louis
057933ff2f
Merge pull request #760 from christianlouis/copilot/debug-qr-code-rendering
...
fix(qr-login): render QR code server-side to eliminate CDN dependency
2026-03-18 15:02:26 +01:00
copilot-swe-agent[bot]
ba8c88bc17
chore: remove accidentally committed =1.6.0 file
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 08:34:45 +00:00
copilot-swe-agent[bot]
a8eb6504ac
fix(qr-login): render QR code server-side using segno instead of CDN JS library
...
The QR code on /qr-login was not rendering because it depended on loading
qrcode@1.5.4 from the jsdelivr CDN, which may be blocked in some network
environments.
- Add segno>=1.6.0 (pure-Python QR library, no Pillow needed) to requirements.txt
- Generate QR code as a base64 SVG data URI server-side in the challenge endpoint
- Add qr_code_svg field to CreateChallengeResponse Pydantic model
- Replace canvas+CDN script in qr_login.html with an <img :src="qrCodeSvg">
- Remove the $nextTick/QRCode.toCanvas() client-side rendering block
- Extract QR rendering parameters (_QR_ERROR_LEVEL, _QR_SCALE) as module constants
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 08:34:22 +00:00
copilot-swe-agent[bot]
6727253958
chore: initial plan for server-side QR code rendering
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 08:27:07 +00:00
copilot-swe-agent[bot]
e7eda8af5e
Initial plan
2026-03-18 08:24:08 +00:00
github-actions[bot]
020bc6a9c7
chore(release): update build metadata files [skip ci]
2026-03-18 08:08:59 +00:00
semantic-release
bf4be55779
0.156.1
...
Automatically generated by python-semantic-release
2026-03-18 08:08:56 +00:00
Christian Krakau-Louis
7e786712f4
Merge pull request #759 from christianlouis/copilot/fix-config-settings-metadata
...
fix: add missing SETTING_METADATA entries for db pool and upload rate limit settings
2026-03-18 09:08:37 +01:00
copilot-swe-agent[bot]
dc0a19bd11
fix: add missing SETTING_METADATA entries for db pool and upload rate limit settings
...
- Add db_pool_size, db_max_overflow, db_pool_timeout, db_pool_recycle fields to app/config.py
- Add upload_rate_limit_per_user, upload_rate_limit_window fields to app/config.py
- Update app/database.py to use NullPool for SQLite and QueuePool with config-driven
pool settings for PostgreSQL/MySQL
- Add all 6 settings to SETTING_METADATA in app/utils/settings_service.py
Fixes test_all_config_settings_have_metadata failure
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 07:53:16 +00:00
copilot-swe-agent[bot]
2db65647ee
Initial plan
2026-03-18 07:41:38 +00:00
google-labs-jules[bot]
f6a2bae05e
Fix authorization bypass in API (IDOR) by applying owner filter
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-18 03:44:12 +00:00
copilot-swe-agent[bot]
1d7286c4c6
fix(config): add SETTING_METADATA for db pool and upload rate limit settings
...
Add missing SETTING_METADATA entries for db_pool_size, db_max_overflow,
db_pool_timeout, db_pool_recycle, upload_rate_limit_per_user, and
upload_rate_limit_window so the test_all_config_settings_have_metadata
test passes.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 16:08:16 +00:00
copilot-swe-agent[bot]
c9f9001244
fix(tests): add docstring to rate limiter no-op override
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 13:18:43 +00:00
copilot-swe-agent[bot]
6bf121f02f
fix(tests): disable upload rate limiter in test client fixture
...
Override require_upload_rate_limit with a no-op in the test client
fixture so that upload-heavy test suites (test_file_upload.py) are not
rejected with 429 Too Many Requests when Redis is available in CI.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 13:16:36 +00:00
github-actions[bot]
bf6b9177af
chore(release): update build metadata files [skip ci]
2026-03-17 13:12:05 +00:00
semantic-release
4a07c49bc7
0.156.0
...
Automatically generated by python-semantic-release
2026-03-17 13:12:03 +00:00
Christian Krakau-Louis
a3c657b947
Merge pull request #584 from christianlouis/copilot/add-sharepoint-integration
...
fix(test): add missing _should_upload_to_sharepoint mock to send_to_all tests
2026-03-17 14:11:41 +01:00
github-actions[bot]
a77a29444d
chore(release): update build metadata files [skip ci]
2026-03-17 13:03:22 +00:00
semantic-release
3ac49965a5
0.155.1
...
Automatically generated by python-semantic-release
2026-03-17 13:03:19 +00:00
Christian Krakau-Louis
ad329d0aa7
Merge pull request #756 from christianlouis/copilot/fix-qr-code-login-timeout
...
fix(qr-auth): fix QR code countdown clock skew and add mobile QR scanner
2026-03-17 14:02:55 +01:00
copilot-swe-agent[bot]
faa68adaa1
fix: address code review feedback (assertion, exc_info logging)
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 12:15:12 +00:00