copilot-swe-agent[bot]
e7d1289f1b
feat(integrations): add IMAP Gmail labels/delete and Watch Folder cloud source support
...
- Add delete_after_process and gmail_apply_labels checkboxes to IMAP integration UI
- Add source_type selector (Local/S3/Dropbox/Google Drive/OneDrive/Nextcloud/WebDAV) to Watch Folder UI
- Add per-source-type config and credential fields for watch folders
- Add delete_after_process checkbox to Watch Folder settings
- Fix field name mismatch (path → folder_path) in Watch Folder UI
- Update pull_inbox() to accept and respect gmail_apply_labels parameter
- Update _pull_user_integration_imap() to read gmail_apply_labels from config
- Add per-user cloud scanning functions for S3, Dropbox, Google Drive, OneDrive, Nextcloud, WebDAV
- Update _pull_user_integration_watch_folders() to dispatch based on source_type
- Update IMAP and WATCH_FOLDER config shape documentation in models.py
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-09 02:15:03 +00:00
Christian Krakau-Louis
8faf164e9e
Merge pull request #560 from christianlouis/copilot/add-webhook-snippet-and-api-tokens
...
fix(security): resolve CodeQL clear-text logging and weak hashing alerts
2026-03-08 21:42:28 +01:00
copilot-swe-agent[bot]
c3bb93c197
feat(api): add personal API tokens and enhance webhook integration UI
...
- Add ApiToken model with SHA-256 hashed storage and usage tracking
- Create API token CRUD endpoints (POST/GET/DELETE /api/api-tokens/)
- Add Bearer token authentication to require_login decorator
- Exempt Bearer-authenticated requests from CSRF validation
- Add API tokens management page with create/revoke/copy UI
- Enhance webhook integration type with detailed explanation and code snippets
- Add navigation links (desktop + mobile) to API tokens page
- Include 19 tests covering CRUD, auth resolution, and utility functions
- Create migration 024_add_api_tokens
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 18:42:55 +00:00
copilot-swe-agent[bot]
73119e0cef
feat(auth): save OAuth credentials per-user to UserIntegration records
...
- Add 'Authorize' button to integration cards for OAuth types without credentials
- Add isOAuthType() helper and update info box in create/edit modal
- Accept integration_id query param in Dropbox, Google Drive, OneDrive setup views
- Store integration_id in sessionStorage on setup pages
- Add per-user flow in OAuth callbacks: PUT credentials to /api/integrations/{id}
- Preserve existing global flow as fallback when no integration_id is present
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-08 18:41:13 +00:00
copilot-swe-agent[bot]
ba387b8e8b
fix(ui): correct OAuth setup page links in integrations dashboard
...
The oauthLink() function in integrations_dashboard.html returned
/dropbox, /google-drive, /onedrive which are not valid routes
(404). The actual view routes are /dropbox-setup,
/google-drive-setup, /onedrive-setup.
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 18:21:52 +00:00
copilot-swe-agent[bot]
e27bacee3b
refactor(ui): address code review - optimize queries, extract helpers, improve error handling
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 17:40:23 +00:00
copilot-swe-agent[bot]
2c652dcc3e
feat(ui): add unified Sources & Destinations integrations dashboard
...
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-08 17:34:22 +00:00