@cat-factory/app 0.60.1 → 0.60.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -201,6 +201,10 @@ const githubProbePending = computed(() => github.available === null)
201
201
  // active workspace changes. Runs advance durably server-side; progress arrives as
202
202
  // pushed events rather than by polling.
203
203
  const stream = useWorkspaceStream()
204
+ // Top-level computed so the template auto-unwraps it (a nested ref read as `stream.connected`
205
+ // in the template would not unwrap, since `stream` is a plain object). Drives the headless
206
+ // `workspace-stream` readiness marker the e2e suite waits on.
207
+ const streamConnected = computed(() => stream.connected.value)
204
208
  watch(
205
209
  () => workspace.workspaceId,
206
210
  (id) => {
@@ -235,6 +239,17 @@ watch(
235
239
  <GitHubOnboarding v-else-if="workspace.ready && needsGitHubInstall" />
236
240
 
237
241
  <template v-else-if="workspace.ready">
242
+ <!-- Headless readiness marker for the e2e suite: reflects whether the real-time
243
+ WebSocket is actually connected (and thus subscribed + resynced). A live spec must
244
+ wait for this before driving a run, otherwise the run's first status events are
245
+ broadcast to a not-yet-subscribed browser and missed, leaving the card stuck on a
246
+ stale status until its assertion times out (the source of the e2e flakiness). Hidden
247
+ and inert; no visual or behavioural effect. -->
248
+ <span
249
+ data-testid="workspace-stream"
250
+ :data-connected="streamConnected ? 'true' : 'false'"
251
+ hidden
252
+ />
238
253
  <SideBar />
239
254
  <main class="relative min-w-0 flex-1">
240
255
  <BoardCanvas />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.60.1",
3
+ "version": "0.60.2",
4
4
  "description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
5
5
  "repository": {
6
6
  "type": "git",