Commit Graph

1898 Commits

Author SHA1 Message Date
Christian Krakau-Louis 80dd117ebf Merge pull request #587 from christianlouis/copilot/add-apple-drive-icloud-support
feat(storage): add Apple iCloud Drive storage provider
2026-03-12 01:14:37 +01:00
github-actions[bot] 3a4f7452c0 chore(release): update build metadata files [skip ci] 2026-03-12 00:13:30 +00:00
semantic-release 09c485cede 0.119.0
Automatically generated by python-semantic-release
2026-03-12 00:13:27 +00:00
Christian Krakau-Louis 83e83fff73 Merge pull request #583 from christianlouis/copilot/add-compliance-templates
fix(migrations): merge main and rechain compliance migration as 031
2026-03-12 01:13:08 +01:00
copilot-swe-agent[bot] e94844a55e Merge: prefer rebased local over stale remote 2026-03-12 00:00:52 +00:00
copilot-swe-agent[bot] 054af636e3 fix(migrations): merge main and rechain compliance migration as 031 after 030_add_mobile_devices
Merge main branch into compliance templates feature branch.

Main had advanced with migrations 027-030 (ensure_shared_links,
audit_logs, user_language_preference, mobile_devices) since this
branch forked. Our compliance migration was 027 with down_revision
026, which conflicted with main's 027_ensure_shared_links_table.

Changes:
- Merge main (including i18n, audit logs, mobile, GraphQL features)
- Resolve conflicts in app/api/__init__.py, app/models.py, tests/conftest.py
- Rename 027_add_compliance_templates → 031_add_compliance_templates
- Rechain: down_revision 026_add_scheduled_jobs → 030_add_mobile_devices
- Add ComplianceTemplate to migrations/env.py imports
- Alembic now has single head: 031_add_compliance_templates
2026-03-12 00:00:29 +00:00
copilot-swe-agent[bot] 50af0ea679 fix(tests): add iCloud mocks to all test files and address code review feedback
- Add _should_upload_to_icloud mock to test_coverage_uploads_notification.py
  (_all_should_upload_false helper + 3 inline patch blocks)
- Add cfg.icloud_username/password = None to all onboarding test mocks
- Add iCloud creds to fully-configured onboarding test
- Fix noqa comment accuracy (unofficial third-party, not first-party)
- Replace generic Exception with RuntimeError in upload error handler

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-11 23:59:19 +00:00
github-actions[bot] 78a245d3a5 chore(release): update build metadata files [skip ci] 2026-03-11 23:43:31 +00:00
semantic-release 8b07f7201f 0.118.0
Automatically generated by python-semantic-release
2026-03-11 23:43:28 +00:00
Christian Krakau-Louis 39db5fc564 Merge pull request #600 from christianlouis/copilot/add-graphql-api
feat: add GraphQL API alongside REST at /graphql
2026-03-12 00:43:10 +01:00
copilot-swe-agent[bot] 528f0a624d fix: remove accidental pip artifact file and update docs for iCloud Drive
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-11 23:38:35 +00:00
copilot-swe-agent[bot] 30f06e0b32 feat(storage): add Apple iCloud Drive storage provider
Add iCloud Drive as a new storage destination using the pyicloud library.
Includes upload task, configuration, user integration handler, provider
status, onboarding support, and comprehensive tests.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-11 23:38:35 +00:00
copilot-swe-agent[bot] 9bc23aa40b test(tasks): add _should_upload_to_icloud mock to send_to_all tests
Add icloud upload check mock alongside existing _should_upload_to_*
function mocks in all TestSendToAllDestinations test methods.

Changes:
- Import _should_upload_to_icloud from app.tasks.send_to_all
- Add @patch decorator for _should_upload_to_icloud in 9 test methods
- Add mock_icloud parameter to each test method signature
- Set mock_icloud.return_value = False where other mocks are set to False

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 23:38:34 +00:00
copilot-swe-agent[bot] 9c71e9aabf Initial plan 2026-03-11 23:38:34 +00:00
github-actions[bot] 40d976ed82 chore(release): update build metadata files [skip ci] 2026-03-11 23:34:40 +00:00
semantic-release 39671ad3b9 0.117.1
Automatically generated by python-semantic-release
2026-03-11 23:34:37 +00:00
Christian Krakau-Louis 1c4a261f01 Merge pull request #599 from christianlouis/copilot/fix-main-test-failures
fix: resolve 47 failing CI tests across i18n, templates, and migrations
2026-03-12 00:34:18 +01:00
copilot-swe-agent[bot] df4c91a586 fix: resolve all 47 failing tests in main
- Fix detect_language() to safely handle unhashable session values and
  requests missing cookies/headers attributes (TypeError + AttributeError)
- Add default English `_()` translation function to Jinja2 template
  environment globals so error pages always have it available
- Fix app/main.py exception handlers to use a dedicated error templates
  instance with `_` registered, keeping it separate from view templates
  to avoid test patches breaking error rendering
- Fix app/views/plans.py to import shared templates from app.views.base
  instead of creating its own Jinja2Templates instance
- Make migration 029_add_user_language_preference idempotent: skip
  ALTER TABLE if user_profiles table does not exist
- Update test_i18n.py expectations to reflect 31 supported languages
- Create 21 missing translation files (nb, da, sv, fi, is, ga, lb, ca,
  cs, sk, hu, sl, hr, ro, bg, el, et, lv, lt, tr, uk) with English
  placeholder translations
- Update de.json with 117 missing translation keys including proper
  German translations
- Update es, fr, it, nl, pl, pt, ru, zh translation files with missing
  keys using English fallbacks

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-11 22:28:01 +00:00
copilot-swe-agent[bot] a41ded535f feat(api): add GraphQL endpoint at /graphql with Strawberry
- Add strawberry-graphql[fastapi] dependency
- Implement GraphQL schema covering documents, pipelines, settings, users
- Enable GraphiQL playground at /graphql
- Mount GraphQL router in main.py
- Add 24 tests for all query types and auth enforcement
- Update docs/API.md with GraphQL documentation section

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-11 22:17:25 +00:00
copilot-swe-agent[bot] 2b834d1405 Initial plan 2026-03-11 22:06:22 +00:00
github-actions[bot] 26a6eb81a1 chore(release): update build metadata files [skip ci] 2026-03-11 21:57:57 +00:00
semantic-release acd1572b53 0.117.0
Automatically generated by python-semantic-release
2026-03-11 21:57:54 +00:00
Christian Krakau-Louis 4389e64269 Merge pull request #590 from christianlouis/copilot/build-mobile-apps
feat(mobile): add iOS/Android app with re-chained migrations and main merge
2026-03-11 22:57:19 +01:00
copilot-swe-agent[bot] 00f5e5bc1a Initial plan 2026-03-11 21:54:05 +00:00
copilot-swe-agent[bot] 6bcabfef77 fix(merge): resolve conflicts in app/api/__init__.py and migrations/env.py against main
Merge main into branch to pull in translation files, audit log templates,
CI workflow updates, and other changes from PRs #595, #597, #598.
Keep mobile_router and MobileDevice additions from this branch.
2026-03-11 21:53:00 +00:00
copilot-swe-agent[bot] 1d5eee4281 fix(migrations): re-chain mobile devices migration against main and restore merge conflicts
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-11 20:43:29 +00:00
github-actions[bot] ab19ae5706 docs(changelog): update changelog [skip ci] 2026-03-11 19:07:04 +00:00
Christian Krakau-Louis 38452a51ae Merge pull request #598 from christianlouis/copilot/update-translation-files-and-languages
Add 21 new translation files and expand 8 existing ones to full 483-key coverage
2026-03-11 20:06:44 +01:00
github-actions[bot] c5b67fe364 docs(changelog): update changelog [skip ci] 2026-03-11 16:39:29 +00:00
Christian Krakau-Louis 06c728cd21 Merge pull request #595 from christianlouis/copilot/test-docs-updates-language-support
feat(i18n): expand test and documentation coverage from 10 to 31 languages
2026-03-11 17:39:06 +01:00
copilot-swe-agent[bot] bc1c644eec Initial plan 2026-03-11 16:35:37 +00:00
github-actions[bot] eb22a58065 docs(changelog): update changelog [skip ci] 2026-03-11 14:28:17 +00:00
Christian Krakau-Louis ebf1fdb2a6 Merge pull request #597 from christianlouis/copilot/fix-ci-actions-annotations
ci: opt into Node.js 24 for all GitHub Actions workflows
2026-03-11 15:27:50 +01:00
copilot-swe-agent[bot] c306d80755 ci: opt into Node.js 24 for all GitHub Actions workflows
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-11 11:52:35 +00:00
copilot-swe-agent[bot] 50a4f76f9c Initial plan 2026-03-11 11:50:11 +00:00
copilot-swe-agent[bot] e58706e97f Initial plan 2026-03-11 11:47:35 +00:00
github-actions[bot] 6b31ddac8e chore(release): update build metadata files [skip ci] 2026-03-11 11:44:23 +00:00
semantic-release 691ed13074 0.116.0
Automatically generated by python-semantic-release
2026-03-11 11:44:20 +00:00
Christian Krakau-Louis 9f7d6c8548 Merge pull request #578 from christianlouis/copilot/implement-ui-i18n-support
feat(i18n): expand to 31 European languages, localize all in-product copy, merge with main
2026-03-11 12:43:59 +01:00
Christian Krakau-Louis cbc04977ed Merge branch 'main' into copilot/implement-ui-i18n-support 2026-03-11 12:39:39 +01:00
copilot-swe-agent[bot] 652fad758f feat(i18n): expand to 31 European languages, localize all in-product copy, merge with main
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-10 22:50:23 +00:00
copilot-swe-agent[bot] a66eb4b2a2 fix: merge main into i18n branch and relink migration to 029
- Resolve conflict in app/api/__init__.py (keep both audit_logs_router and i18n_router)
- Incorporate AuditLog model, audit_service, audit_logs API/views from main
- Relink migration from 026→027 to 028→029 (chain after 028_add_audit_logs)
- Update migrations/env.py with full model import list from main

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-10 21:59:58 +00:00
github-actions[bot] d6fb78715a docs(changelog): update changelog [skip ci] 2026-03-10 21:51:54 +00:00
Christian Krakau-Louis 40274f00d5 Merge pull request #582 from christianlouis/copilot/enhance-code-coverage-100
test(views): boost view module coverage — 27/29 files at 100%
2026-03-10 22:51:33 +01:00
github-actions[bot] 2375758a39 chore(release): update build metadata files [skip ci] 2026-03-10 21:51:21 +00:00
semantic-release 12c70b802a 0.115.0
Automatically generated by python-semantic-release
2026-03-10 21:51:18 +00:00
Christian Krakau-Louis 086793c05a Merge pull request #579 from christianlouis/copilot/add-audit-logging-with-tamper-detection
fix(migrations): rebase audit_logs migration onto current main
2026-03-10 22:51:00 +01:00
Christian Krakau-Louis f7dface365 Merge branch 'main' into copilot/add-audit-logging-with-tamper-detection 2026-03-10 22:41:26 +01:00
copilot-swe-agent[bot] 6e2e4a830f fix(migrations): rebase audit_logs migration onto main's 027_ensure_shared_links_table
- Add 027_ensure_shared_links_table.py from main branch
- Renumber 027_add_audit_logs → 028_add_audit_logs
- Update down_revision to chain from 027_ensure_shared_links_table
- Restore all model imports in migrations/env.py (were dropped in previous PR)
- Restore shared_links in db_migrate.py _TABLE_ORDER

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-10 21:34:15 +00:00
copilot-swe-agent[bot] 4eb04bd7f6 fix(mobile): address code review findings in mobile app config and tests
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-10 09:57:58 +00:00