copilot-swe-agent[bot]
fdff970e59
feat(ui): i18n-translate credentials and audit_logs templates
...
Replace all hardcoded English text in credentials.html and audit_logs.html
with {{ _("key") }} translation function calls.
New keys added:
credentials.*: page_title, title, subtitle, total_credentials, configured,
not_configured, legend_title, legend_db, legend_env_before, legend_env_after,
legend_missing, legend_restart, col_credential, col_source, col_action,
table_for, restart_title, status_missing, source_db_title, source_env_title,
edit_in_settings, manage_settings, raw_json
audit.*: page_title, title, subtitle, siem_enabled_title, siem_off,
siem_disabled_title, refresh_label, filter_action, filter_all_actions,
filter_user, filter_all_users, filter_severity, filter_resource_type,
filter_resource_placeholder, filters_section_label, col_timestamp,
col_resource, col_ip, table_label, no_events, no_events_hint,
pagination_label, prev_label, prev, next_label, next, critical
Reused existing keys: common.description, common.status, common.actions,
common.edit, common.all, common.info, common.warning, common.error,
common.refresh, common.details, common.loading
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-11 12:08:14 +00: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]
3f4562df0a
Initial plan
2026-03-11 11:47:49 +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
copilot-swe-agent[bot]
d538c0879d
feat(mobile): add iOS/Android mobile app with SSO login, camera upload, and push notifications
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 09:52:02 +00:00
github-actions[bot]
ba17067012
chore(release): update build metadata files [skip ci]
2026-03-10 09:28:50 +00:00
semantic-release
45713f2de9
0.114.1
...
Automatically generated by python-semantic-release
2026-03-10 09:28:47 +00:00
Christian Krakau-Louis
70e5391649
Merge pull request #589 from christianlouis/copilot/fix-expire-stale-shared-links
2026-03-10 10:28:28 +01:00
copilot-swe-agent[bot]
a50c3aadf5
Initial plan
2026-03-10 09:27:31 +00:00
copilot-swe-agent[bot]
ca84a11284
fix: remove accidental pip artifact file and update docs for iCloud Drive
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 01:03:36 +00:00
copilot-swe-agent[bot]
82d67c56b3
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-10 00:43:00 +00:00
copilot-swe-agent[bot]
6e50c61970
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-10 00:37:24 +00:00
copilot-swe-agent[bot]
6fb1df1aad
test(views): boost coverage for 11 view modules toward 100%
...
Adds tests/test_views_coverage_boost.py with 37 tests covering:
- api_tokens, notifications, shared_links, share, plans views (template rendering)
- imap_accounts view (helper functions + route with mocked owner)
- integrations view (DB queries, tier logic, HTTP/generic exception handling)
- general view (multi-user subscription branch with signed session cookie)
- filemanager view (PB formatting, broken symlink stat errors in scan/walk)
- files view (pipeline step filtering, dedup toggle, ValueError in commonpath)
- help view (no-session branch, logged-in user Zammad widget population)
Coverage improvements (full suite):
- 27 of 29 view modules now at 100% (was 18 of 29)
- imap_accounts: 30.95% → 100%
- integrations: 82.09% → 100%
- filemanager: 96.63% → 100%
- help: 96% → 100%
- plans: 86.67% → 100%
- api_tokens/notifications/shared_links/share: 88-90% → 100%
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:31:28 +00:00
copilot-swe-agent[bot]
5d716ad78f
fix(auth): address code review feedback - sanitize error messages, remove unused import
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:27:07 +00:00
copilot-swe-agent[bot]
9c26d412d7
test(auth): add tests for social login and fix existing config validator tests
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:24:53 +00:00
copilot-swe-agent[bot]
2b698cc694
fix(storage): use RuntimeError instead of bare Exception in SharePoint task
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:23:52 +00:00
copilot-swe-agent[bot]
13aa14b8e4
docs: add SharePoint setup guide and update all references
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:22:07 +00:00
copilot-swe-agent[bot]
b85fc1d277
feat(storage): add SharePoint integration for document storage
...
Add Microsoft SharePoint Online as a storage provider using the
Microsoft Graph API. Includes OAuth2 authentication via MSAL,
site/drive resolution, chunked upload sessions, and metadata sync.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:17:42 +00:00
copilot-swe-agent[bot]
ac6e052788
feat(auth): add social login support for Google, Microsoft, Apple, and Dropbox
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:12:15 +00:00
copilot-swe-agent[bot]
c8987d966b
test(views): add comprehensive coverage tests for 11 view modules
...
Adds tests/test_views_coverage_boost.py with 35 tests covering:
- api_tokens, notifications, shared_links, share, plans (template render)
- imap_accounts (helper functions + route with owner)
- integrations (DB queries, tier logic, error handling)
- general (multi-user subscription branch)
- filemanager (PB formatting, broken symlink stat errors)
- files (pipeline step filtering, dedup, ValueError in commonpath)
- help (no-session branch)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:11:30 +00:00
copilot-swe-agent[bot]
542fb46ee7
fix(compliance): address code review feedback - add aria-busy, input validation, use IntegrityError
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:09:08 +00:00
copilot-swe-agent[bot]
491c424580
docs(compliance): add ComplianceGuide.md and update ConfigurationGuide with compliance_enabled setting
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:05:44 +00:00
copilot-swe-agent[bot]
6a83d51d88
fix(automation): address code review - path traversal fix and test marker
...
- Sanitise uploaded filenames with os.path.basename() to prevent path traversal
- Change TestWebhookDispatchIntegration marker from unit to integration
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:01:35 +00:00
copilot-swe-agent[bot]
289dcc375c
fix(db): add migration to create shared_links table for databases that skipped 025
...
Migration 025_add_shared_links was inserted into the Alembic chain
(between 024_add_api_tokens and 025_add_user_notifications) after some
databases had already been migrated past that point. Those databases
never had the shared_links table created, causing OperationalError when
the expire-shared-links scheduled task runs or when users try to create
shared links.
This commit:
- Adds migration 027_ensure_shared_links_table that idempotently creates
the table if it doesn't exist
- Updates migrations/env.py to import all models for autogenerate support
- Adds shared_links to db_migrate.py _TABLE_ORDER for proper migration
ordering
- Adds a regression test verifying the fix
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-10 00:01:33 +00:00
copilot-swe-agent[bot]
ce2a76fb77
fix(automation): register automation task in celery worker and add docs
...
- Import deliver_automation_hook_task in celery_worker.py
- Add Automation (Zapier / Make.com) section to docs/API.md
- Add AUTOMATION_HOOKS_ENABLED to docs/ConfigurationGuide.md
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:59:15 +00:00
copilot-swe-agent[bot]
666f739f4e
feat(compliance): add GDPR, HIPAA, SOC2 compliance templates with one-click apply and dashboard
...
- Add ComplianceTemplate model in app/models.py
- Create database migration 027_add_compliance_templates
- Add compliance_enabled feature flag to config and settings metadata
- Create compliance_service.py with pre-built template definitions and evaluation
- Create compliance API endpoints (list, get, apply, status, summary)
- Create compliance admin view and dashboard template
- Add compliance link to admin navigation (desktop and mobile)
- Seed compliance templates at application startup
- Add comprehensive tests (29 passing)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:55:29 +00:00
copilot-swe-agent[bot]
d167be8274
feat(automation): add Zapier and Make.com integration
...
Add REST hooks subscription endpoints, incoming action endpoints, and
Zapier-compatible flat payload format for automation platform integration.
- AutomationHook model for webhook subscriptions
- POST /api/automation/hooks/subscribe and DELETE /hooks/{id}
- GET /api/automation/triggers/sample/{event} for Zapier field mapping
- POST /api/automation/actions/upload for incoming document uploads
- Celery task with retry for async hook delivery
- Integration with existing webhook dispatch flow
- 30 passing tests covering all new functionality
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:50:12 +00:00
copilot-swe-agent[bot]
23498e0a98
fix: address code review feedback on spelling
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:40:09 +00:00
copilot-swe-agent[bot]
bd898605de
docs: add classification rules API and user guide documentation
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:39:09 +00:00
copilot-swe-agent[bot]
1e5e35a26a
refactor(routing): address code review feedback - simplify list filter, fix docs example
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:38:25 +00:00
copilot-swe-agent[bot]
df051e8b81
feat(classify): add rule-based document classification engine, task, and API
...
Implements the classify pipeline step with:
- Classification rules engine (app/utils/classification_rules.py) with
pre-built categories (invoice, contract, receipt, letter, report,
bank_statement, tax_document, insurance, payslip) and support for
filename patterns, content keywords, and metadata matching rules
- Celery task (app/tasks/classify_document.py) that runs as a pipeline step
- CRUD API (app/api/classification_rules.py) for managing custom rules
- ClassificationRuleModel in app/models.py with migration 027
- Updated pipeline step config_schema and stage mapping
- Comprehensive tests for engine, API, and task
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:38:05 +00:00
copilot-swe-agent[bot]
e95693d684
docs(routing): add routing rules documentation to API.md and UserGuide.md
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:36:13 +00:00
copilot-swe-agent[bot]
c286e1b394
test(i18n): add comprehensive tests and documentation for i18n system
...
- Add 45 tests covering translation files, translate(), Accept-Language
parsing, language detection, l10n formatters, and API endpoints
- Create InternationalizationGuide.md documentation
- Fix linting issues (E741, PLW2901)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:35:32 +00:00
copilot-swe-agent[bot]
40d56f0396
feat(routing): add conditional routing rules for document-to-pipeline assignment
...
- Add PipelineRoutingRule model to app/models.py
- Add Alembic migration 027_add_routing_rules
- Add routing engine (app/utils/routing_engine.py) with rule evaluation
- Add CRUD API endpoints (app/api/routing_rules.py)
- Register router in app/api/__init__.py
- Add comprehensive tests (73 tests, all passing)
Supported fields: file_type, document_type, category, filename, size, metadata.*
Supported operators: equals, not_equals, contains, not_contains, regex, gt, lt, gte, lte
First-match-wins evaluation with default pipeline fallback
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:34:37 +00:00
copilot-swe-agent[bot]
653c137222
fix(audit): address code review - header validation, touch targets, env.demo cleanup
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 23:33:43 +00:00