FlowActionResult documents are effectively one per (flow action × job) because Bull work is keyed with a stable job id (flow_${flowId}-action_${actionId}-inspection_${jobId}) from src/util/functions/actionFlows/flowEventTriggerer.ts, and completion handlers upsert by that id—new runs overwrite the same Mongo document instead of appending.GET flow-action/result (src/routes/flowActionResults.ts, FlowActionResult in src/models/flowSchema.ts); src/components/activityFeed/ActivityFeed.tsx requests flow-action/result—the feed is not “hiding” rows so much as older executions often no longer exist as separate documents.emailResults within a single completion path (src/events/bullmq/emailWorker.ts); multiple separate queue runs still collapse to one parent result id.Backend (attik-backend)
src/util/functions/actionFlows/flowEventTriggerer.ts — job id / deduplication behavior.src/events/bullmq/flowWorker.ts — FlowActionResult.findOneAndUpdate keyed on job id.src/events/bullmq/emailWorker.ts — how emailResults arrays are updated.src/routes/flowActionResults.ts — API shape for listing and retry/resend.Frontend (attik-frontend)
src/components/activityFeed/ActivityFeed.tsx, ActionFlowBlock.tsx, ActionStatusCard patterns—may need to render multiple executions or nested emailResults if the persistence model changes.attik-backend/src/util/functions/actionFlows/flowEventTriggerer.tsattik-backend/src/events/bullmq/flowWorker.tsattik-backend/src/events/bullmq/emailWorker.tsattik-backend/src/routes/flowActionResults.tsattik-frontend/src/components/activityFeed/ActivityFeed.tsxPlease authenticate to join the conversation.
Completed
Main App
30 days ago
Linear
Get notified by email when there are changes.
Completed
Main App
30 days ago
Linear
Get notified by email when there are changes.