Commit Graph

637 Commits

Author SHA1 Message Date
2200b0cb00 Fix Cove run creation transaction scope 2026-03-02 16:46:44 +01:00
eff1cb3700 Update Claude changelog for Run Checks follow-up fixes 2026-02-27 10:33:41 +01:00
cede08bb31 Remove Run Checks search field from UI 2026-02-27 10:20:47 +01:00
98567f8d05 Fix Run Checks query overwrite breaking filters and sort 2026-02-27 10:19:46 +01:00
2e6ff18878 Add per-user Run Checks sort and filter preferences 2026-02-27 10:15:04 +01:00
e7ccff89ee Release v0.1.27 on branch v20260223-08-fix-navbar-mobile-overflow (bump type 1) 2026-02-23 15:41:36 +01:00
10f4754a83 Auto-commit local changes before build (2026-02-23 15:41:36) 2026-02-23 15:41:36 +01:00
ea7c5e29c5 Add v0.1.27 release notes to changelog files 2026-02-23 15:39:04 +01:00
9ecbbdd523 Update technical docs and stop tracking Python cache artifacts 2026-02-23 15:13:18 +01:00
a450817b78 Show Customers and Jobs on navbar for Viewer role 2026-02-23 15:06:54 +01:00
03de2d294c Adjust navbar: keep Cove Accounts visible and move Daily Jobs to More 2026-02-23 15:03:48 +01:00
7905e988c7 Compress navbar with More dropdown for non-admin links 2026-02-23 15:00:40 +01:00
abd98f5bc6 Move admin-only navbar links into Admin dropdown and revert forced collapse 2026-02-23 14:57:35 +01:00
2cd704182c Force navbar collapse on split-screen desktop widths 2026-02-23 14:52:44 +01:00
40ffe3656e Fix navbar overflow on split-screen desktop layouts 2026-02-23 14:41:11 +01:00
8e847e802b Mark Entra SSO docs as untested in Backupchecks 2026-02-23 14:36:31 +01:00
b992d6382a Add Entra security group access restriction for SSO 2026-02-23 14:30:42 +01:00
6bf81bd730 Add documentation page for Microsoft Entra SSO setup 2026-02-23 14:23:15 +01:00
5274286c04 Add Microsoft Entra SSO authentication flow 2026-02-23 14:20:22 +01:00
47bb4ee4f0 Deduplicate Cove runs per job instead of globally 2026-02-23 12:15:18 +01:00
8fe3f99e40 Improve linked Cove import feedback and timestamp fallback 2026-02-23 12:04:43 +01:00
f68f92e63a Trigger immediate Cove import on link and enrich run details 2026-02-23 11:57:39 +01:00
06abd8c7a3 Fix Cove workstation/server type heuristic 2026-02-23 11:17:38 +01:00
a0abd3d58e Differentiate Cove server/workstation types and show computer name 2026-02-23 11:14:41 +01:00
7803b7647c Improve Cove accounts typing and datasource readability 2026-02-23 11:10:48 +01:00
0c5adf17ab Fix Cove Run import button submission in settings 2026-02-23 11:02:56 +01:00
8deecd4c11 Update technical-notes-codex.md with Cove integration and recent changes
- Add complete Cove Data Protection integration section: API details,
  column codes, status mapping, inbox flow, CoveAccount model, routes,
  migrations, background thread, settings UI
- Update Data Model section: CoveAccount model, Job.cove_account_id,
  JobRun.source_type + external_id, SystemSettings Cove fields
- Update Application Architecture: cove_importer_service background thread
- Add debug logging snippet for ticket linking issues
- Add Recent Changes entry for 2026-02-23
- Add Cove files to Quick References

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 10:49:44 +01:00
9b19283c97 Add Cove Accounts inbox-style flow for linking accounts to jobs
- CoveAccount staging model: all Cove accounts upserted from API;
  unmatched accounts visible on /cove/accounts before job linking
- cove_importer.py: always upserts accounts, creates JobRuns only for
  accounts with a linked job (deduplication via external_id)
- routes_cove.py: GET /cove/accounts, POST link/unlink routes
- cove_accounts.html: inbox-style page with Bootstrap modals for
  creating new jobs or linking to existing ones
- Nav bar: Cove Accounts link for admin/operator when cove_enabled
- DB migration: migrate_cove_accounts_table() for staging table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 10:40:54 +01:00
c045240001 Add manual Cove import trigger (Run import now button)
- New route POST /settings/cove/run-now calls run_cove_import()
  directly and shows result as flash message
- Settings > Integrations > Cove: "Run import now" button visible
  when partner_id is known (connection confirmed)
- Status bar shows partner ID, last import timestamp or "No import yet"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 10:28:33 +01:00
3bd8178464 Fix Cove importer: correct API payload format and response parsing
- Login: use lowercase username/password params and id="jsonrpc"
- Login: visa is at top-level of response (not inside result)
- EnumerateAccountStatistics: use lowercase query param, RecordsCount
  instead of RecordCount, remove DisplayColumns (not needed)
- _flatten_settings: Settings items are single-key dicts like
  {"D09F00": "5"}, not {Key: ..., Value: ...} - use dict.update()
- _cove_enumerate: unwrap nested result and handle Accounts key
- _process_account: AccountId is top-level field, not from Settings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 10:21:01 +01:00
467f350184 Auto-commit local changes before build (2026-02-23 10:14:36) 2026-02-23 10:14:36 +01:00
2f1cc20263 Add Cove Data Protection full integration
- New models: SystemSettings gets 8 cove_* fields, Job gets
  cove_account_id, JobRun gets source_type and external_id
- Migration migrate_cove_integration() adds all new DB columns and
  a deduplication index on job_runs.external_id
- cove_importer.py: Cove API login, paginated EnumerateAccountStatistics,
  deduplication via external_id, JobRun creation, per-datasource
  run_object_links persistence (Files&Folders, VssMsSql, M365, etc.)
- cove_importer_service.py: background thread, same pattern as
  auto_importer_service, respects cove_import_interval_minutes
- __init__.py: starts cove_importer thread on app startup
- routes_settings.py: Cove form handling (POST), has_cove_password
  variable, new AJAX route /settings/cove/test-connection
- routes_jobs.py: new route /jobs/<id>/set-cove-account,
  cove_enabled passed to job_detail template
- settings.html: Cove card in Integrations tab with AJAX test button
- job_detail.html: Cove Integration card with Account ID input

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 10:13:34 +01:00
dde2ccbb5d Fix Cove test script: parse Settings array format from API response
API returns Settings as list of single-key dicts, not a flat dict.
Also fixes AccountId display and status summary parsing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 09:58:19 +01:00
a30d51bed0 Fix Cove test script: remove partner field from login, use confirmed columns
Login requires only username + password (no partner field).
Updated column set matches confirmed working columns from Postman testing.
Added per-datasource output and 28-day color bar display.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 09:52:18 +01:00
6d086a883f Add Cove API test script and update documentation with N-able support findings
- Add standalone cove_api_test.py to verify new D9Fxx/D10Fxx/D11Fxx column codes
- D02/D03 confirmed as legacy by N-able support; D9/D10/D11 should work
- Document session status codes (F00) and timestamp fields (F09/F15/F18)
- Update TODO and knowledge docs with breakthrough status

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 09:08:41 +01:00
f35ec25163 Update technical notes for 3CX and remark alerts behavior 2026-02-19 14:22:32 +01:00
6f2f7b593b Auto-commit local changes before build (2026-02-19 14:15:08) 2026-02-19 14:15:08 +01:00
38f0f8954e Fix remark visibility in run alerts 2026-02-19 14:14:44 +01:00
2ee5db8882 Auto-commit local changes before build (2026-02-19 13:45:13) 2026-02-19 13:45:13 +01:00
ea244193e0 Hide non-backup 3CX informational jobs from Run Checks 2026-02-19 13:44:46 +01:00
c6ff104767 Auto-commit local changes before build (2026-02-19 13:28:33) 2026-02-19 13:28:33 +01:00
441f5a8e50 Handle 3CX update mails as informational runs 2026-02-19 13:27:52 +01:00
3c629bb664 Polish changelog wording for 2026-02-16 and 2026-02-19 2026-02-19 13:04:49 +01:00
e0e8ed2b0d Auto-commit local changes before build (2026-02-19 12:57:34) 2026-02-19 12:57:34 +01:00
53b028ef78 Add optional Autotask ID import toggle 2026-02-19 12:56:45 +01:00
1fb99dc6e7 Update technical notes for search remarks and filters 2026-02-16 16:59:33 +01:00
f2c0d0b36a Auto-commit local changes before build (2026-02-16 16:58:07) 2026-02-16 16:58:07 +01:00
652da5e117 Add remarks to global search results 2026-02-16 16:57:51 +01:00
c8e7491c94 Add Daily Jobs note to search results 2026-02-16 16:54:26 +01:00
e5da01cfbb Auto-commit local changes before build (2026-02-16 16:50:14) 2026-02-16 16:50:14 +01:00