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]
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
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]
70b193e07d
fix(mobile): replace gap with marginLeft for React Native compatibility
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 12:05:39 +00:00
copilot-swe-agent[bot]
723b14e660
docs: update QR code login documentation with scanner and TTL details
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 12:04:53 +00:00
copilot-swe-agent[bot]
0f6a1ee1ec
fix(api): add ttl_seconds to QR challenge response and fix client-side countdown
...
The QR login page countdown timer compared the server's UTC expiration
timestamp against the client's local clock, causing the QR code to appear
immediately expired when the client clock was ahead of the server.
Changes:
- Add ttl_seconds field to CreateChallengeResponse (seconds until expiry)
- Frontend countdown now uses relative elapsed time since response was
received, eliminating clock-skew issues
- Mobile app: replace alert-only QR button with actual camera-based
QR code scanner using expo-camera
- Add QRScannerScreen with barcode scanning, permission handling, and
scan area overlay
- Update camera permission description to mention QR code scanning
- Add tests for ttl_seconds computation
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 12:02:33 +00:00
copilot-swe-agent[bot]
9fe50a87d1
Initial plan
2026-03-17 11:53:39 +00:00
copilot-swe-agent[bot]
bcf2d00c33
fix(test): add missing _should_upload_to_sharepoint mock to send_to_all tests
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 11:32:48 +00:00
github-actions[bot]
c79dc4abef
chore(release): update build metadata files [skip ci]
2026-03-17 11:23:09 +00:00
semantic-release
264089cce4
0.155.0
...
Automatically generated by python-semantic-release
2026-03-17 11:23:06 +00:00
Christian Krakau-Louis
30c2e9afef
Merge pull request #749 from christianlouis/copilot/implement-log-off-everywhere-functionality
...
Add dedicated Devices page, separate mobile tokens from API Tokens
2026-03-17 12:22:07 +01:00
Christian Krakau-Louis
8905031d16
Merge branch 'main' into copilot/implement-log-off-everywhere-functionality
2026-03-17 12:12:50 +01:00
copilot-swe-agent[bot]
581adf0e26
refactor(ui): simplify formatDeviceName with regex in devices template
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 11:05:26 +00:00
copilot-swe-agent[bot]
03712cfb08
feat(ui): add dedicated Devices page for mobile tokens and registered devices
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 11:00:36 +00:00
copilot-swe-agent[bot]
bd03d1971b
refactor(auth): extract _ensure_tz_aware helper, use validate_session in logout
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 10:17:19 +00:00
copilot-swe-agent[bot]
a022dec9c2
fix(auth): resolve timezone-naive datetime comparisons in QR challenge functions and update docs
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 10:13:19 +00:00
github-actions[bot]
b8075b6821
chore(release): update build metadata files [skip ci]
2026-03-17 09:55:46 +00:00
semantic-release
a0dace75a3
0.154.0
...
Automatically generated by python-semantic-release
2026-03-17 09:55:43 +00:00
Christian Krakau-Louis
7b7554decf
Merge pull request #751 from christianlouis/copilot/improve-database-migration-handling
...
feat(db): Add migration chain validation to CI, pre-commit, and developer docs
2026-03-17 10:55:10 +01:00
copilot-swe-agent[bot]
a007b4fd98
fix(db): address code review feedback - fix comment stripping, type hints, test skip, and docs
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 09:21:11 +00:00
copilot-swe-agent[bot]
aa49fa3ae6
feat(db): add migration chain CI validation, pre-commit hook, script template, docs, and tests
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-17 09:18:11 +00:00
copilot-swe-agent[bot]
935e8a626e
Changes before error encountered
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-16 23:25:53 +00:00
github-actions[bot]
0b0f43fa99
chore(release): update build metadata files [skip ci]
2026-03-16 23:08:10 +00:00
semantic-release
0e472d3515
0.153.1
...
Automatically generated by python-semantic-release
2026-03-16 23:08:07 +00:00
Christian Krakau-Louis
15fc90f240
Merge pull request #752 from christianlouis/copilot/fix-ios-hello-world-screen-issue
...
fix(mobile): add root index.tsx redirect to prevent stale Hello World screen
2026-03-17 00:07:45 +01:00