Per-entity last sync timestamps in Settings UI #7

Open
opened 2026-07-13 04:28:56 +00:00 by francois · 0 comments
Owner

Problem

Settings shows a single last_sync_at but no per-entity breakdown. Hard to tell if contacts synced but calendar lagged.

Requirements

  • Store per-entity last_sync_at in appconfig (stats_contacts_last_sync, stats_appointments_last_sync, etc.)
  • Display per-entity timestamps in Settings UI below each sync mode dropdown
  • Show relative time (e.g. "2 minutes ago", "never")
  • Update on each sync run (both manual and background)

Files

  • lib/Controller/SettingsController.php (syncStatus and dashboardData endpoints)
  • lib/Service/*SyncService.php (update per-entity timestamp on syncAll)
  • src/views/GhlAdminSettings.vue (display)

Acceptance

  • Each entity shows its own last sync time
  • UI uses relative time display
  • Background sync updates per-entity timestamps
## Problem Settings shows a single last_sync_at but no per-entity breakdown. Hard to tell if contacts synced but calendar lagged. ## Requirements - Store per-entity last_sync_at in appconfig (stats_contacts_last_sync, stats_appointments_last_sync, etc.) - Display per-entity timestamps in Settings UI below each sync mode dropdown - Show relative time (e.g. "2 minutes ago", "never") - Update on each sync run (both manual and background) ## Files - lib/Controller/SettingsController.php (syncStatus and dashboardData endpoints) - lib/Service/*SyncService.php (update per-entity timestamp on syncAll) - src/views/GhlAdminSettings.vue (display) ## Acceptance - [ ] Each entity shows its own last sync time - [ ] UI uses relative time display - [ ] Background sync updates per-entity timestamps
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
partage/ghl-nextcloud-integration#7
No description provided.