Commit Graph

2913 Commits

Author SHA1 Message Date
Christian Krakau-Louis 82c6915c42 Merge branch 'main' into refactor-filename-regex-constant-13933144971632372772 2026-03-23 15:38:35 +01:00
google-labs-jules[bot] 91f36e0d5a refactor(tasks): extract filename regex to shared constant
Move the valid filename regex pattern to a shared constant in `app/utils/filename_utils.py` and update both the task logic and security tests to use it. This eliminates duplication and ensures consistency across the codebase.

Normalized line endings in `app/tasks/extract_metadata_with_gpt.py` from CRLF to LF to ensure consistency and prevent CI issues.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-23 14:31:12 +00:00
google-labs-jules[bot] 9b748db4d4 refactor(tasks): extract filename regex to shared constant
Move the valid filename regex pattern to a shared constant in `app/utils/filename_utils.py` and update both the task logic and security tests to use it. This eliminates duplication and ensures consistency across the codebase.

Also normalized line endings to LF in affected files to ensure CI compatibility.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-23 14:23:31 +00:00
github-actions[bot] 45d3ac8cf0 docs(changelog): update changelog [skip ci] 2026-03-23 14:12:41 +00:00
Christian Krakau-Louis 4df4673628 Merge pull request #807 from christianlouis/sentinel-fix-ssrf-dns-resolution-16520734505214840647
🛡️ Sentinel: [HIGH] Fix SSRF bypass on DNS resolution failure
2026-03-23 15:12:16 +01:00
github-actions[bot] 9642020887 chore(release): update build metadata files [skip ci] 2026-03-23 14:11:26 +00:00
semantic-release 89dec45062 0.172.2
Automatically generated by python-semantic-release
2026-03-23 14:11:22 +00:00
Christian Krakau-Louis 34457f9775 Merge pull request #805 from christianlouis/copilot/fix-image-build-failure
fix(build): remove --omit=dev from npm ci in Dockerfile frontend-builder stage
2026-03-23 15:10:59 +01:00
google-labs-jules[bot] 8b4280d5dd 🛡️ Sentinel: [HIGH] Fix SSRF bypass on DNS resolution failure
Modified `is_private_ip` in `app/utils/network.py` to fail securely by returning True (blocking the request) when a hostname cannot be resolved. The previous implementation failed open, creating a risk for Server-Side Request Forgery (SSRF) and DNS rebinding attacks.

Updated corresponding tests to expect the secure behavior.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-23 13:42:14 +00:00
copilot-swe-agent[bot] 93629ff440 fix: update test assertions and lint fixes for Starlette 1.0 TemplateResponse API
Update test mocks to check kwargs["context"] instead of positional
args[1] for tests that verify auth.py and base.py wrapper behavior.
Fix B026 lint error by avoiding star-arg after keyword argument.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/7b5f7e0d-89ad-43be-b68d-a9c0c5407a7e
2026-03-23 13:14:25 +00:00
copilot-swe-agent[bot] c4e10bee5e fix: adapt TemplateResponse calls to Starlette 1.0 new-style API
Starlette 1.0.0 changed TemplateResponse signature from
(name, context_dict) to (request, name, context=dict).

- Update base.py wrapper to convert old-style calls to new-style
- Update main.py error handler TemplateResponse calls
- Update local_auth.py, billing.py, auth.py, share.py calls
- Update test mocks for new calling convention

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/7b5f7e0d-89ad-43be-b68d-a9c0c5407a7e
2026-03-23 12:50:09 +00:00
github-actions[bot] 084171395d docs(changelog): update changelog [skip ci] 2026-03-23 12:17:55 +00:00
Christian Krakau-Louis 958b195e79 Merge pull request #806 from christianlouis/alert-autofix-400
Potential fix for code scanning alert no. 400: Clear-text logging of sensitive information
2026-03-23 13:17:29 +01:00
Christian Krakau-Louis c5ef1ec50c Potential fix for code scanning alert no. 400: Clear-text logging of sensitive information
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-03-23 13:17:19 +01:00
copilot-swe-agent[bot] b4e0067a27 fix(build): remove --omit=dev from npm ci in Dockerfile frontend-builder stage
The Tailwind CSS CLI is a devDependency in frontend/package.json. Using
`npm ci --omit=dev` skipped installing it, causing the Docker build to
fail with 'sh: tailwindcss: not found' at the `npm run build` step.

Since this is a multi-stage build where the frontend-builder stage is
discarded after compilation, all dependencies (including devDependencies)
are needed during the build but do not bloat the final image.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/f16fabb4-4d8c-48e3-8d26-c2d38cc7129f
2026-03-22 18:54:52 +00:00
copilot-swe-agent[bot] 6188003897 Initial plan 2026-03-22 18:48:13 +00:00
github-actions[bot] ef897f660d chore(release): update build metadata files [skip ci] 2026-03-22 18:47:10 +00:00
semantic-release 6cb9feacab 0.172.1
Automatically generated by python-semantic-release
2026-03-22 18:47:07 +00:00
Christian Krakau-Louis 76c0e91500 Merge pull request #804 from christianlouis/copilot/enable-qr-code-upload
fix: social login providers load from DB without restart; connections page shows accurate linked status
2026-03-22 19:46:48 +01:00
copilot-swe-agent[bot] 0c7ea6748d fix: social login providers now work from DB config without restart
- Extract all OAuth registration into _setup_social_providers() with a
  _register_oauth_client() helper that clears the authlib _clients cache
  so credentials can change without a restart
- Add refresh_social_providers() public function called after every
  settings reload (lifespan startup + settings_sync live reload)
- Fix connections page linked status to use _get_effective() (DB-aware)
  instead of the stale startup-time SOCIAL_PROVIDERS dict
- Fix oauth_configured template variable similarly
- Add tests: DB-driven linked status, stale-provider clearing,
  register_oauth_client cache-clear, refresh function coverage

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/ef15910f-fd25-469a-814b-9e1fb40659c9
2026-03-22 18:42:18 +00:00
github-actions[bot] 78077fa8c7 chore(release): update build metadata files [skip ci] 2026-03-22 18:24:56 +00:00
semantic-release 242846aa9c 0.172.0
Automatically generated by python-semantic-release
2026-03-22 18:24:52 +00:00
Christian Krakau-Louis 868613ac49 Merge pull request #802 from christianlouis/copilot/migrate-tailscale-to-3-x
feat(ui): migrate Tailwind CSS from v2 CDN to compiled v3 production build
2026-03-22 19:24:31 +01:00
copilot-swe-agent[bot] 33a0e49acd Initial plan 2026-03-22 18:21:40 +00:00
copilot-swe-agent[bot] 14b3031e63 feat(ui): replace Tailwind CSS CDN with compiled v3 production build
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/85d2244d-170a-48d3-8f6b-b4c124a49ed9
2026-03-22 18:07:32 +00:00
copilot-swe-agent[bot] 1d7df13c94 feat(ui): migrate Tailwind CSS from v2 CDN to v3 Play CDN (interim step)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/85d2244d-170a-48d3-8f6b-b4c124a49ed9
2026-03-22 17:50:11 +00:00
github-actions[bot] ce4bca0186 chore(release): update build metadata files [skip ci] 2026-03-22 17:46:30 +00:00
semantic-release 4b07e996ad 0.171.3
Automatically generated by python-semantic-release
2026-03-22 17:46:27 +00:00
Christian Krakau-Louis 720c9c11b0 Merge pull request #803 from christianlouis/copilot/fix-html-lint-errors
fix(ui): add missing opening `<script>` tag in base.html Sentry init block
2026-03-22 18:46:06 +01:00
copilot-swe-agent[bot] 425472c839 fix(ui): add missing opening script tag in base.html Sentry block
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/3780cab7-11b6-470a-935a-57d63bf1d36b
2026-03-22 17:42:54 +00:00
copilot-swe-agent[bot] 55afa4981b Initial plan 2026-03-22 17:41:40 +00:00
github-actions[bot] 63f7b62fc0 chore(release): update build metadata files [skip ci] 2026-03-22 17:37:52 +00:00
copilot-swe-agent[bot] 48a303d498 Initial plan 2026-03-22 17:37:51 +00:00
semantic-release 8f1fe79411 0.171.2
Automatically generated by python-semantic-release
2026-03-22 17:37:50 +00:00
Christian Krakau-Louis 3e1b352930 Merge pull request #801 from christianlouis/copilot/fix-toggle-not-working
fix(ui): replace broken Tailwind v3-only peer toggles on admin connections page
2026-03-22 18:37:25 +01:00
copilot-swe-agent[bot] 46772fc746 fix(ui): fix greyed-out toggle switches on admin connections page
The toggles used Tailwind CSS v3 JIT pseudo-element utilities
(after:content-[''], peer-checked:after:translate-x-full, etc.)
that are not available in Tailwind v2.2.19 CDN.

Added .doc-toggle / .doc-toggle-track CSS classes to styles.css
using native CSS ::after pseudo-elements and adjacent-sibling
selectors — works across all Tailwind versions and browsers.
Updated all three toggle instances in admin_connections.html
(SSO auto-login, QR login, and JS-created service settings toggles).

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/64581c3a-6c34-4bb6-bb6b-6331945fed04
2026-03-22 17:35:22 +00:00
github-actions[bot] 25d32a9006 docs(changelog): update changelog [skip ci] 2026-03-22 17:29:38 +00:00
Christian Krakau-Louis 8c6a02885d Update Sentry script to version 10.45.0 2026-03-22 18:29:18 +01:00
copilot-swe-agent[bot] 899cc56638 Initial plan 2026-03-22 17:25:56 +00:00
github-actions[bot] 9822ba583d docs(changelog): update changelog [skip ci] 2026-03-22 17:21:40 +00:00
Christian Krakau-Louis 2288b89cd7 Merge pull request #800 from christianlouis/copilot/add-sentry-bundle
chore: upgrade Sentry Browser SDK CDN bundle from v9 to v10
2026-03-22 18:21:17 +01:00
copilot-swe-agent[bot] 3d0bdf7836 chore: upgrade Sentry Browser SDK CDN bundle from v9.x.x to v10.x.x
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/583f7047-bc1e-4bcd-8a1a-350857626370
2026-03-22 17:17:54 +00:00
copilot-swe-agent[bot] 41844c4b60 Initial plan 2026-03-22 17:11:17 +00:00
github-actions[bot] 94aa2ebe57 chore(release): update build metadata files [skip ci] 2026-03-22 16:43:37 +00:00
semantic-release be97a757a3 0.171.1
Automatically generated by python-semantic-release
2026-03-22 16:43:34 +00:00
Christian Krakau-Louis a5df6dc9cb Merge pull request #799 from christianlouis/copilot/fix-greyed-out-toggles
fix(admin): fix greyed-out QR login toggle on /admin/connections
2026-03-22 17:43:12 +01:00
copilot-swe-agent[bot] d4cc44a72f fix(admin): fix greyed-out QR login toggle on admin connections page
- Add `qr_login_enabled` boolean config field (default True) to app/config.py
- Add `qr_login_enabled` entry to settings metadata in app/utils/settings_service.py
- Fix app/views/settings.py to use `qr_login_enabled` directly instead of
  deriving enablement status from qr_login_challenge_ttl_seconds (integer TTL)
- Fix admin_connections.html: remove hardcoded `disabled` attribute from the
  Mobile Phone Upload toggle and wire up onchange handler so toggling actually
  persists the setting via toggleSetting('qr_login_enabled', this.checked)
- Gate all three QR auth API endpoints on settings.qr_login_enabled so the
  feature is actually disabled when the toggle is turned off

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/8421cdb2-d92d-4b83-9cda-c44983d35173
2026-03-22 16:06:55 +00:00
copilot-swe-agent[bot] 61dee5ba52 Initial plan 2026-03-22 15:55:18 +00:00
github-actions[bot] 5f94e64734 chore(release): update build metadata files [skip ci] 2026-03-22 15:51:56 +00:00
semantic-release 9be03d8690 0.171.0
Automatically generated by python-semantic-release
2026-03-22 15:51:52 +00:00