Skip to content

feat(wizard): stream session updates via SSE#59109

Merged
fercgomes merged 15 commits into
masterfrom
feat/wizard-sessions-sse
May 27, 2026
Merged

feat(wizard): stream session updates via SSE#59109
fercgomes merged 15 commits into
masterfrom
feat/wizard-sessions-sse

Conversation

@fercgomes
Copy link
Copy Markdown
Contributor

@fercgomes fercgomes commented May 19, 2026

Problem

The REST endpoint from #59062 lets the CLI push state, but the web app would have to poll to see updates. The RFC recommends SSE. This PR adds the SSE fanout so a connected client gets pushes in real time, regardless of which workflow / framework the wizard is running.

Changes

  • GET /api/projects/{id}/wizard_sessions/stream/?workflow_id=… returns a text/event-stream connection. skill_id is optional — when omitted, the server pattern-subscribes to every skill under that workflow, so the web app doesn't need to know the framework up front.
  • Async streaming generator. Django's ASGI handler buffers sync iterators into a list before serving (which never completes on an infinite loop), so the generator is now async def and dispatches blocking Redis calls through sync_to_async. Chunks reach the browser as they're produced.
  • Redis pub/sub fanout. Publish happens inside transaction.on_commit so subscribers never see uncommitted state and rolled-back upserts don't broadcast phantom updates. Workflow-only subscribers use Redis PSUBSCRIBE with a channel pattern; both message and pmessage types are forwarded.
  • team_scope re-entry inside the generator. Streaming runs after the view returns on a sync worker thread without the request's thread-local team scope, so any DB access inside the generator is wrapped explicitly.
  • EventStreamRenderer registered on the stream action. DRF's content negotiation 406s Accept: text/event-stream otherwise; the renderer is never invoked to render (the response is a StreamingHttpResponse), it just satisfies negotiation.
  • Idle connections receive : ping heartbeats every 15s so proxies don't time them out.
  • Diagnostic logs on publish (channel, receivers, payload size) and subscribe (channel or pattern) — narrows debugging when nothing flows.

How did you test this code?

  • Unit tests for the pub/sub helper (publish fires after commit, skipped on rollback, channel naming deterministic).
  • Generator-level tests for the SSE stream (initial state emitted, pub/sub messages forwarded, heartbeat fires when idle).
  • HTTP-level test that the stream endpoint 400s without required query params.
  • Tests use @pytest.mark.django_db(transaction=True) where transaction.on_commit semantics need to fire.
  • Manually verified end-to-end: wizard CLI POSTs, EventSource receives updates in the browser.

Agent-authored.

Publish to changelog?

no

Docs update

n/a — internal endpoint, no public docs yet.

🤖 Agent context

Claude Code (Opus 4.7, 1M context). Notable decisions:

  • One sync WSGI worker per active SSE connection when ASGI isn't fully wired. Fine for onboarding-scale traffic; worth revisiting for broader fanout.
  • Pattern subscribe over per-skill registration. The wizard CLI emits workflow_id="posthog-integration" with skill keyed to the detected framework (laravel, nextjs, django, …). The frontend doesn't know the framework up front, so subscribing by workflow alone removes a chicken-and-egg problem.
  • No reconnect/replay protocol. A disconnected client gets the current latest state on reconnect and skips intermediate transitions — matches the RFC's "each push is the new source of truth" framing.

Copy link
Copy Markdown
Contributor Author

fercgomes commented May 19, 2026

@fercgomes fercgomes changed the title feat: add sse feat(wizard): stream session updates via SSE May 19, 2026
@fercgomes fercgomes marked this pull request as ready for review May 19, 2026 22:01
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 19, 2026

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
products/wizard/backend/presentation/views.py:155-161
**Subscribe-after-read race condition**

`get_latest` is called before `subscribe` establishes the channel. Any upsert published in the window between these two calls is permanently lost: the initial snapshot is already stale and the subscription won't deliver the missed event. A client could connect, receive an outdated snapshot, and then only see events from after the subscription was set up — silently skipping the intermediate state.

The standard fix is to subscribe *first*, then snapshot, then emit the snapshot. Because the subscription buffer captures any publish that arrives after `subscribe()` but before `get_latest()` returns, there is no gap.

```suggestion
    with subscribe(team_id, workflow_id, skill_id) as pubsub:
        latest = wizard_facade.get_latest(team_id, workflow_id, skill_id)
        if latest is not None:
            yield _format_event(latest)
        last_heartbeat = time.monotonic()
        while True:
```

### Issue 2 of 2
products/wizard/backend/presentation/views.py:180-187
**Duplicated `_json_default` logic (OnceAndOnlyOnce)**

The `_json_default` function is defined verbatim in both `pubsub.py` (lines 67-74) and here. If the serialisation rules ever change (e.g. a new type is added to `WizardSessionDTO`), both copies need updating in sync. Move the definition to `pubsub.py` and import it in `views.py`.

Reviews (1): Last reviewed commit: "feat: add sse" | Re-trigger Greptile

Comment thread products/wizard/backend/presentation/views.py Outdated
Comment thread products/wizard/backend/presentation/views.py Outdated
Comment thread products/wizard/backend/presentation/views.py Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

Size Change: 0 B

Total Size: 80.2 MB

ℹ️ View Unchanged
Filename Size
frontend/dist-report/decompression-worker/src/scenes/session-recordings/player/snapshot-processing/decompressionWorker 2.85 kB
frontend/dist-report/exporter/_chunks/chunk 8.39 MB
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Action 24.9 kB
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Actions 1.3 kB
frontend/dist-report/exporter/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 19 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.64 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 3.02 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 1.02 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 1.78 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 33.9 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 1.04 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 36.9 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 2.61 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 2.15 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 7.83 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/DataWarehouseScene 46.8 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 1.08 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 24 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 1.03 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 6.27 kB
frontend/dist-report/exporter/_parent/products/deployments/frontend/Deployment 4.02 kB
frontend/dist-report/exporter/_parent/products/deployments/frontend/DeploymentProject 5.54 kB
frontend/dist-report/exporter/_parent/products/deployments/frontend/Deployments 9.28 kB
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeature 991 B
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeatures 3.21 kB
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointScene 40.6 kB
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointsScene 24.5 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 7.37 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 102 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 27.1 kB
frontend/dist-report/exporter/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 7.35 kB
frontend/dist-report/exporter/_parent/products/games/368Hedgehogs/368Hedgehogs 5.58 kB
frontend/dist-report/exporter/_parent/products/games/FlappyHog/FlappyHog 6.09 kB
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 59.7 kB
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 5.28 kB
frontend/dist-report/exporter/_parent/products/links/frontend/LinkScene 25.2 kB
frontend/dist-report/exporter/_parent/products/links/frontend/LinksScene 4.51 kB
frontend/dist-report/exporter/_parent/products/live_debugger/frontend/LiveDebugger 19.4 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/clusters/LLMAnalyticsClusterScene 21.6 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/clusters/LLMAnalyticsClustersScene 55 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/datasets/LLMAnalyticsDatasetScene 20.9 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/datasets/LLMAnalyticsDatasetsScene 3.6 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/evaluations/EvaluationTemplates 881 B
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/evaluations/LLMAnalyticsEvaluation 59.8 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/evaluations/LLMAnalyticsEvaluationsScene 28.1 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/LLMAnalyticsScene 118 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/LLMAnalyticsSessionScene 16.7 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/LLMAnalyticsTraceScene 130 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/LLMAnalyticsUsers 832 B
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/LLMASessionFeedbackDisplay 5.15 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/playground/LLMAnalyticsPlaygroundScene 37.7 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/prompts/LLMPromptScene 29.1 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/prompts/LLMPromptsScene 4.79 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/skills/LLMSkillScene 895 B
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/skills/LLMSkillsScene 912 B
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/tags/LLMAnalyticsTag 27.3 kB
frontend/dist-report/exporter/_parent/products/llm_analytics/frontend/tags/LLMAnalyticsTagsScene 7.26 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/LogsScene 17.8 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 17.3 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 5.27 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 2.22 kB
frontend/dist-report/exporter/_parent/products/managed_migrations/frontend/ManagedMigration 14.9 kB
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 40.2 kB
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 18.5 kB
frontend/dist-report/exporter/_parent/products/metrics/frontend/MetricsScene 1.15 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/StickinessBarChart/StickinessBarChart 3.27 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/StickinessLineChart/StickinessLineChart 3.11 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 7.12 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 4.21 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 4.57 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 4.31 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/observations/ReplayObservation 8.28 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 20.6 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 12.4 kB
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 26.5 kB
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.02 kB
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 19.2 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskDetailScene 23.5 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskTracker 14.6 kB
frontend/dist-report/exporter/_parent/products/tracing/frontend/TracingScene 54.1 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterview 9.28 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviewResponse 5.64 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviews 6.04 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 2.52 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 44.6 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 7.29 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 11.1 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 13.9 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 19.5 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 16.6 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/Workflows/WorkflowScene 111 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/WorkflowsScene 60.1 kB
frontend/dist-report/exporter/src/exporter/exporter 19.1 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterDashboardScene 1.99 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterHeatmapScene 19.6 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterInsightScene 2.98 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterInterviewScene 310 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterNotebookScene 2.71 MB
frontend/dist-report/exporter/src/exporter/scenes/ExporterRecordingScene 1.1 kB
frontend/dist-report/exporter/src/exporterSharedChunkAnchors 1.19 kB
frontend/dist-report/exporter/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 11.3 kB
frontend/dist-report/exporter/src/lib/components/MonacoDiffEditor 471 B
frontend/dist-report/exporter/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2.22 kB
frontend/dist-report/exporter/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 808 B
frontend/dist-report/exporter/src/lib/lemon-ui/Link/Link 359 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditorInline 798 B
frontend/dist-report/exporter/src/lib/monaco/vimMode 211 kB
frontend/dist-report/exporter/src/lib/ui/Button/ButtonPrimitives 422 B
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitals 7.48 kB
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 4.05 kB
frontend/dist-report/exporter/src/queries/schema 732 kB
frontend/dist-report/exporter/src/scenes/approvals/changeRequestsLogic 850 B
frontend/dist-report/exporter/src/scenes/authentication/passkeyLogic 790 B
frontend/dist-report/exporter/src/scenes/data-pipelines/event-filtering/EventFilterScene 22.2 kB
frontend/dist-report/exporter/src/scenes/data-pipelines/TransformationsScene 6.51 kB
frontend/dist-report/exporter/src/scenes/insights/views/BoxPlot/BoxPlot 5.35 kB
frontend/dist-report/exporter/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 8.81 kB
frontend/dist-report/exporter/src/scenes/insights/views/RegionMap/RegionMap 29.7 kB
frontend/dist-report/exporter/src/scenes/insights/views/WorldMap/WorldMap 1.04 MB
frontend/dist-report/exporter/src/scenes/models/ModelsScene 19 kB
frontend/dist-report/exporter/src/scenes/models/NodeDetailScene 17 kB
frontend/dist-report/monaco-editor-worker/src/lib/monaco/workers/monacoEditorWorker 288 kB
frontend/dist-report/monaco-json-worker/src/lib/monaco/workers/monacoJsonWorker 419 kB
frontend/dist-report/monaco-typescript-worker/src/lib/monaco/workers/monacoTsWorker 7.02 MB
frontend/dist-report/posthog-app/_chunks/chunk 8.59 MB
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Action 25.1 kB
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Actions 1.36 kB
frontend/dist-report/posthog-app/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 19 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.67 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 3.06 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 1.06 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 1.82 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 26.6 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 1.07 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 35.7 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 2.65 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 2.18 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 7.86 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/DataWarehouseScene 1.78 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 1.15 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 24.1 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 1.06 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 6.31 kB
frontend/dist-report/posthog-app/_parent/products/deployments/frontend/Deployment 4.05 kB
frontend/dist-report/posthog-app/_parent/products/deployments/frontend/DeploymentProject 5.58 kB
frontend/dist-report/posthog-app/_parent/products/deployments/frontend/Deployments 9.31 kB
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeature 1.16 kB
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeatures 3.24 kB
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointScene 40.7 kB
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointsScene 22.4 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 7.44 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 101 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 27.2 kB
frontend/dist-report/posthog-app/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 7.38 kB
frontend/dist-report/posthog-app/_parent/products/games/368Hedgehogs/368Hedgehogs 5.61 kB
frontend/dist-report/posthog-app/_parent/products/games/FlappyHog/FlappyHog 6.12 kB
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 59.7 kB
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 5.32 kB
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinkScene 25.2 kB
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinksScene 4.55 kB
frontend/dist-report/posthog-app/_parent/products/live_debugger/frontend/LiveDebugger 19.5 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/clusters/LLMAnalyticsClusterScene 21.7 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/clusters/LLMAnalyticsClustersScene 55 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/datasets/LLMAnalyticsDatasetScene 21 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/datasets/LLMAnalyticsDatasetsScene 3.63 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/evaluations/EvaluationTemplates 915 B
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/evaluations/LLMAnalyticsEvaluation 59.8 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/evaluations/LLMAnalyticsEvaluationsScene 28.1 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/LLMAnalyticsScene 119 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/LLMAnalyticsSessionScene 16.8 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/LLMAnalyticsTraceScene 130 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/LLMAnalyticsUsers 866 B
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/LLMASessionFeedbackDisplay 5.19 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/playground/LLMAnalyticsPlaygroundScene 37.7 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/prompts/LLMPromptScene 29.2 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/prompts/LLMPromptsScene 4.82 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/skills/LLMSkillScene 929 B
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/skills/LLMSkillsScene 946 B
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/tags/LLMAnalyticsTag 27.3 kB
frontend/dist-report/posthog-app/_parent/products/llm_analytics/frontend/tags/LLMAnalyticsTagsScene 7.3 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/LogsScene 17.8 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 17.3 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 5.31 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 2.26 kB
frontend/dist-report/posthog-app/_parent/products/managed_migrations/frontend/ManagedMigration 14.9 kB
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 40.2 kB
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 18.5 kB
frontend/dist-report/posthog-app/_parent/products/metrics/frontend/MetricsScene 1.18 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/StickinessBarChart/StickinessBarChart 3.31 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/StickinessLineChart/StickinessLineChart 3.14 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 7.15 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 4.24 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 4.6 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 4.35 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/observations/ReplayObservation 8.31 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 20.6 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 12.5 kB
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 26.6 kB
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.05 kB
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 19.2 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskDetailScene 23.6 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskTracker 14.6 kB
frontend/dist-report/posthog-app/_parent/products/tracing/frontend/TracingScene 54.1 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterview 9.32 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviewResponse 5.68 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviews 6.08 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 2.56 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 44.7 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 7.32 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 11.1 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 13.9 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 19.6 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 16.6 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene 104 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/WorkflowsScene 60.2 kB
frontend/dist-report/posthog-app/src/index 61 kB
frontend/dist-report/posthog-app/src/layout/panel-layout/ai-first/tabs/NavTabChat 7.16 kB
frontend/dist-report/posthog-app/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 11.3 kB
frontend/dist-report/posthog-app/src/lib/components/MonacoDiffEditor 471 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2.25 kB
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 842 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/Link/Link 359 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorInline 832 B
frontend/dist-report/posthog-app/src/lib/monaco/vimMode 211 kB
frontend/dist-report/posthog-app/src/lib/ui/Button/ButtonPrimitives 426 B
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitals 7.52 kB
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 4.09 kB
frontend/dist-report/posthog-app/src/queries/schema 732 kB
frontend/dist-report/posthog-app/src/scenes/activity/explore/EventsScene 3.28 kB
frontend/dist-report/posthog-app/src/scenes/activity/explore/SessionsScene 4.69 kB
frontend/dist-report/posthog-app/src/scenes/activity/live/LiveEventsTable 5.58 kB
frontend/dist-report/posthog-app/src/scenes/agentic/AgenticAuthorize 5.84 kB
frontend/dist-report/posthog-app/src/scenes/approvals/ApprovalDetail 16.6 kB
frontend/dist-report/posthog-app/src/scenes/approvals/changeRequestsLogic 884 B
frontend/dist-report/posthog-app/src/scenes/audit-logs/AdvancedActivityLogsScene 40 kB
frontend/dist-report/posthog-app/src/scenes/AuthenticatedShell 171 kB
frontend/dist-report/posthog-app/src/scenes/authentication/AccountConnected 3.33 kB
frontend/dist-report/posthog-app/src/scenes/authentication/AgenticAccountMismatch 2.73 kB
frontend/dist-report/posthog-app/src/scenes/authentication/CLIAuthorize 11.7 kB
frontend/dist-report/posthog-app/src/scenes/authentication/CLILive 4.37 kB
frontend/dist-report/posthog-app/src/scenes/authentication/credential-review/CredentialReview 3.95 kB
frontend/dist-report/posthog-app/src/scenes/authentication/EmailMFAVerify 3.37 kB
frontend/dist-report/posthog-app/src/scenes/authentication/InviteSignup 15.4 kB
frontend/dist-report/posthog-app/src/scenes/authentication/Login 10.2 kB
frontend/dist-report/posthog-app/src/scenes/authentication/Login2FA 4.6 kB
frontend/dist-report/posthog-app/src/scenes/authentication/passkeyLogic 824 B
frontend/dist-report/posthog-app/src/scenes/authentication/PasswordReset 4.71 kB
frontend/dist-report/posthog-app/src/scenes/authentication/PasswordResetComplete 3.34 kB
frontend/dist-report/posthog-app/src/scenes/authentication/signup/SignupContainer 28.5 kB
frontend/dist-report/posthog-app/src/scenes/authentication/signup/verify-email/VerifyEmail 5.13 kB
frontend/dist-report/posthog-app/src/scenes/authentication/TwoFactorReset 4.37 kB
frontend/dist-report/posthog-app/src/scenes/authentication/VercelConnect 5.33 kB
frontend/dist-report/posthog-app/src/scenes/authentication/VercelLinkError 2.61 kB
frontend/dist-report/posthog-app/src/scenes/billing/AuthorizationStatus 1.07 kB
frontend/dist-report/posthog-app/src/scenes/billing/Billing 833 B
frontend/dist-report/posthog-app/src/scenes/billing/BillingSection 21.1 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohort 28.4 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/CohortCalculationHistory 6.58 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohorts 9.78 kB
frontend/dist-report/posthog-app/src/scenes/coupons/Coupons 1.06 kB
frontend/dist-report/posthog-app/src/scenes/dashboard/Dashboard 1.65 kB
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/Dashboards 19.8 kB
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/templates/DashboardTemplateCopyScene 6.06 kB
frontend/dist-report/posthog-app/src/scenes/data-management/DataManagementScene 986 B
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionEdit 17.2 kB
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionView 24.4 kB
frontend/dist-report/posthog-app/src/scenes/data-management/MaterializedColumns/MaterializedColumns 12 kB
frontend/dist-report/posthog-app/src/scenes/data-management/variables/SqlVariableEditScene 7.6 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene 61 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DataPipelinesNewScene 2.66 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DestinationsScene 3.03 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/event-filtering/EventFilterScene 22.2 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/legacy-plugins/LegacyPluginScene 21 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/TransformationsScene 2.27 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/WebScriptsScene 2.89 kB
frontend/dist-report/posthog-app/src/scenes/data-warehouse/DataWarehouseScene 1.72 kB
frontend/dist-report/posthog-app/src/scenes/data-warehouse/editor/EditorScene 1.48 kB
frontend/dist-report/posthog-app/src/scenes/debug/DebugScene 20.3 kB
frontend/dist-report/posthog-app/src/scenes/debug/hog/HogRepl 7.72 kB
frontend/dist-report/posthog-app/src/scenes/experiments/Experiment 207 kB
frontend/dist-report/posthog-app/src/scenes/experiments/Experiments 20.8 kB
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric 6.41 kB
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetrics 889 B
frontend/dist-report/posthog-app/src/scenes/exports/ExportsScene 4.33 kB
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlag 146 kB
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlags 1.08 kB
frontend/dist-report/posthog-app/src/scenes/groups/Group 15.5 kB
frontend/dist-report/posthog-app/src/scenes/groups/Groups 4.26 kB
frontend/dist-report/posthog-app/src/scenes/groups/GroupsNew 7.7 kB
frontend/dist-report/posthog-app/src/scenes/health/categoryDetail/HealthCategoryDetailScene 7.59 kB
frontend/dist-report/posthog-app/src/scenes/health/HealthScene 12.5 kB
frontend/dist-report/posthog-app/src/scenes/health/pipelineStatus/PipelineStatusScene 9.45 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapNewScene 5.38 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapRecordingScene 4.27 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapScene 6.91 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmaps/HeatmapsScene 4.23 kB
frontend/dist-report/posthog-app/src/scenes/hog-functions/HogFunctionScene 59.6 kB
frontend/dist-report/posthog-app/src/scenes/inbox/InboxScene 63.3 kB
frontend/dist-report/posthog-app/src/scenes/insights/InsightQuickStart/InsightQuickStart 5.77 kB
frontend/dist-report/posthog-app/src/scenes/insights/InsightScene 34.8 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/BoxPlot/BoxPlot 5.39 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 4.84 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/RegionMap/RegionMap 29.8 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/WorldMap/WorldMap 5.13 kB
frontend/dist-report/posthog-app/src/scenes/instance/AsyncMigrations/AsyncMigrations 13.5 kB
frontend/dist-report/posthog-app/src/scenes/instance/DeadLetterQueue/DeadLetterQueue 5.74 kB
frontend/dist-report/posthog-app/src/scenes/instance/QueryPerformance/QueryPerformance 8.97 kB
frontend/dist-report/posthog-app/src/scenes/instance/SystemStatus/SystemStatus 17.4 kB
frontend/dist-report/posthog-app/src/scenes/IntegrationsRedirect/IntegrationsRedirect 1.08 kB
frontend/dist-report/posthog-app/src/scenes/marketing-analytics/MarketingAnalyticsScene 40.5 kB
frontend/dist-report/posthog-app/src/scenes/max/Max 1.02 kB
frontend/dist-report/posthog-app/src/scenes/models/ModelsScene 19 kB
frontend/dist-report/posthog-app/src/scenes/models/NodeDetailScene 17.1 kB
frontend/dist-report/posthog-app/src/scenes/moveToPostHogCloud/MoveToPostHogCloud 4.81 kB
frontend/dist-report/posthog-app/src/scenes/new-tab/NewTabScene 1.82 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookCanvasScene 3.89 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookPanel/NotebookPanel 5.94 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookScene 9.13 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebooksScene 7.95 kB
frontend/dist-report/posthog-app/src/scenes/oauth/OAuthAuthorize 980 B
frontend/dist-report/posthog-app/src/scenes/onboarding/coupon/OnboardingCouponRedemption 1.55 kB
frontend/dist-report/posthog-app/src/scenes/onboarding/Onboarding 791 kB
frontend/dist-report/posthog-app/src/scenes/onboarding/sdks/SdkDoctorScene 9.77 kB
frontend/dist-report/posthog-app/src/scenes/organization/ConfirmOrganization/ConfirmOrganization 4.88 kB
frontend/dist-report/posthog-app/src/scenes/organization/Create/Create 1 kB
frontend/dist-report/posthog-app/src/scenes/organization/Deactivated 1.48 kB
frontend/dist-report/posthog-app/src/scenes/organization/PendingDeletion 2.45 kB
frontend/dist-report/posthog-app/src/scenes/persons/PersonScene 19 kB
frontend/dist-report/posthog-app/src/scenes/persons/PersonsScene 6.09 kB
frontend/dist-report/posthog-app/src/scenes/PreflightCheck/PreflightCheck 5.91 kB
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTour 275 kB
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTours 5.03 kB
frontend/dist-report/posthog-app/src/scenes/project-homepage/ProjectHomepage 18.4 kB
frontend/dist-report/posthog-app/src/scenes/project/Create/Create 1.18 kB
frontend/dist-report/posthog-app/src/scenes/resource-transfer/ResourceTransfer 9.53 kB
frontend/dist-report/posthog-app/src/scenes/saved-insights/SavedInsights 1 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/detail/SessionRecordingDetail 2.1 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene 4.82 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/kiosk/SessionRecordingsKiosk 10.3 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/snapshot-processing/DecompressionWorkerManager 329 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene 5.45 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/SessionRecordings 1.12 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/settings/SessionRecordingsSettingsScene 2.31 kB
frontend/dist-report/posthog-app/src/scenes/sessions/SessionProfileScene 15.4 kB
frontend/dist-report/posthog-app/src/scenes/settings/SettingsScene 3.9 kB
frontend/dist-report/posthog-app/src/scenes/sites/Site 1.53 kB
frontend/dist-report/posthog-app/src/scenes/startups/StartupProgram 21.5 kB
frontend/dist-report/posthog-app/src/scenes/StripeConfirmInstall/StripeConfirmInstall 3.88 kB
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionScene 14.7 kB
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionsScene 5.53 kB
frontend/dist-report/posthog-app/src/scenes/surveys/forms/SurveyFormBuilder 1.89 kB
frontend/dist-report/posthog-app/src/scenes/surveys/Survey 1.36 kB
frontend/dist-report/posthog-app/src/scenes/surveys/Surveys 26.7 kB
frontend/dist-report/posthog-app/src/scenes/surveys/wizard/SurveyWizard 72.7 kB
frontend/dist-report/posthog-app/src/scenes/themes/CustomCssScene 3.91 kB
frontend/dist-report/posthog-app/src/scenes/toolbar-launch/ToolbarLaunch 2.82 kB
frontend/dist-report/posthog-app/src/scenes/Unsubscribe/Unsubscribe 2 kB
frontend/dist-report/posthog-app/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene 6.97 kB
frontend/dist-report/posthog-app/src/scenes/web-analytics/WebAnalyticsScene 10.6 kB
frontend/dist-report/posthog-app/src/scenes/wizard/Wizard 4.8 kB
frontend/dist-report/posthog-app/src/sharedChunkAnchors 1.19 kB
frontend/dist-report/render-query/src/render-query/render-query 27.2 MB
frontend/dist-report/toolbar/src/toolbar/toolbar 15.7 MB

compressed-size-action

@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch from c01635b to f572a33 Compare May 19, 2026 22:17
@fercgomes fercgomes force-pushed the feat/wizard-sessions branch from e2ed16e to e539444 Compare May 20, 2026 17:57
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch 2 times, most recently from 5bbf102 to b74977d Compare May 20, 2026 22:24
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch from b74977d to 65d1428 Compare May 21, 2026 14:38
Comment thread products/wizard/backend/tests/test_stream.py Outdated
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch from 65d1428 to 305fb81 Compare May 21, 2026 16:02
@fercgomes fercgomes requested review from a team, MattBro and rafaeelaudibert and removed request for a team May 21, 2026 16:03
@fercgomes fercgomes force-pushed the feat/wizard-sessions branch from c5c97e8 to 454a249 Compare May 21, 2026 16:08
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch from 305fb81 to 2097f27 Compare May 21, 2026 16:08
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch from 2097f27 to 498eae7 Compare May 21, 2026 18:03
Comment thread products/wizard/backend/presentation/views.py Outdated
Comment thread products/wizard/backend/logic/pubsub.py
Comment thread products/wizard/backend/logic/pubsub.py Outdated
Comment thread products/wizard/backend/presentation/views.py
Comment thread products/wizard/backend/presentation/views.py Outdated
Comment thread products/wizard/backend/tests/test_presentation.py Outdated
Comment thread products/wizard/backend/presentation/views.py
Copy link
Copy Markdown
Contributor

@gewenyu99 gewenyu99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we're missing timeout logic here? If a connection times out, do we/should we do something to update the session to mark it stale, put it in error state, etc?

"""Yield SSE-formatted bytes for a wizard session subscription.

If `skill_id` is provided, scope to that exact pair. Otherwise pattern-
subscribe to all skills under (team, workflow_id).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀 Is it necessary to do this? I think we'll always have a workflow-skill pair. What would be the need for subscribing to multiple skills?

I think if we handle, say, monorepos, it would be with nesting skills under a parent workflow + skill pair.

@fercgomes fercgomes changed the base branch from feat/wizard-sessions to graphite-base/59109 May 25, 2026 10:40
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch 2 times, most recently from 4123d15 to 0253a6b Compare May 26, 2026 17:07
Comment thread products/wizard/backend/presentation/views.py Outdated
@fercgomes fercgomes force-pushed the feat/wizard-sessions branch from 62f639e to 72a6e19 Compare May 26, 2026 17:31
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch 2 times, most recently from dcc38d2 to e75ddc2 Compare May 26, 2026 18:03
Base automatically changed from feat/wizard-sessions to master May 26, 2026 19:30
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch from 184276f to d9d8928 Compare May 27, 2026 11:05
@fercgomes fercgomes force-pushed the feat/wizard-sessions-sse branch from 54adf92 to c1792f7 Compare May 27, 2026 17:00
@fercgomes fercgomes self-assigned this May 27, 2026
The stream action's ASGI gateway check ran before the workflow_id presence
check, so a missing workflow_id returned 500 (RuntimeError) under the DRF
test client (which runs the WSGI handler) instead of the expected 400. Run
input validation first so the response code reflects the request error
regardless of gateway, and keep the ASGI guard as a safety net for the
async generator.

Generated-By: PostHog Code
Task-Id: dbb0c85c-f333-4333-a692-71dbc0cfdcc3
@fercgomes fercgomes merged commit 5750ed0 into master May 27, 2026
202 checks passed
@fercgomes fercgomes deleted the feat/wizard-sessions-sse branch May 27, 2026 18:25
@deployment-status-posthog
Copy link
Copy Markdown

deployment-status-posthog Bot commented May 27, 2026

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-05-27 18:58 UTC Run
prod-us ✅ Deployed 2026-05-27 19:19 UTC Run
prod-eu ✅ Deployed 2026-05-27 19:26 UTC Run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants