add activity log with order timeline and global feed
All checks were successful
deploy / deploy (push) Successful in 4m22s

Single activity_log table powering two views: chronological timeline
on each order detail page (replacing the old fulfilment card) and a
global feed at /admin/activity with tabs, category filters, search,
and pagination. Real-time via PubSub — new entries appear instantly,
nav badge updates across all admin pages.

Instrumented across all event points: Stripe webhooks, order notifier,
submission worker, fulfilment status worker, product sync worker, and
Oban exhausted-job telemetry. Contextual action buttons (retry
submission, retry sync, dismiss) with Oban unique constraints to
prevent double-enqueue. 90-day pruning via cron.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-03-01 15:09:08 +00:00
parent b235219aee
commit 580a7203c9
23 changed files with 1716 additions and 54 deletions

View File

@@ -99,7 +99,8 @@ config :berrypod, Oban,
{"0 5 * * 1", Berrypod.Workers.RedirectPrunerWorker},
{"30 3 * * *", Berrypod.Workers.DeadLinkCheckerWorker},
{"0 2 * * *", Berrypod.Newsletter.CleanupWorker},
{"*/5 * * * *", Berrypod.Newsletter.ScheduledCampaignWorker}
{"*/5 * * * *", Berrypod.Newsletter.ScheduledCampaignWorker},
{"0 1 * * *", Berrypod.ActivityLog.PruneWorker}
]}
],
queues: [images: 2, sync: 1, checkout: 1, newsletter: 1]