@snagset/server 0.1.18 → 0.1.19

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.
Files changed (74) hide show
  1. package/dist/db/migrations/0010_round_archive.sql +23 -0
  2. package/dist/routes/rounds.js +130 -37
  3. package/dist/routes/rounds.js.map +1 -1
  4. package/dist/routes/sessions.js +4 -2
  5. package/dist/routes/sessions.js.map +1 -1
  6. package/dist/routes/threads.js +208 -51
  7. package/dist/routes/threads.js.map +1 -1
  8. package/package.json +1 -1
  9. package/static/dashboard/assets/{CompositeItem-D1SCvKo_.js → CompositeItem-wqcRki5s.js} +1 -1
  10. package/static/dashboard/assets/{ConfirmDialog-DdUOWt96.js → ConfirmDialog-BqK5eJxB.js} +1 -1
  11. package/static/dashboard/assets/{CopyButton-DX7vax3M.js → CopyButton-Cc4nF6JB.js} +1 -1
  12. package/static/dashboard/assets/{FieldItemContext-CMpCHNX8.js → FieldItemContext-DVLVe_H8.js} +1 -1
  13. package/static/dashboard/assets/{InstallTag-DkYPsEI0.js → InstallTag-DCRj1B-Z.js} +1 -1
  14. package/static/dashboard/assets/{SaveState-D0Hl8cny.js → SaveState-B5TIvzLh.js} +1 -1
  15. package/static/dashboard/assets/{_app-CnG-wKIX.js → _app-BOhhOcC-.js} +1 -1
  16. package/static/dashboard/assets/{_app-CcUZ9WT2.js → _app-DdvP8iZf.js} +1 -1
  17. package/static/dashboard/assets/{activity-DnvsedIb.js → activity-CaCW3Nql.js} +1 -1
  18. package/static/dashboard/assets/{arrow-left-4jbTF1bA.js → arrow-left-B5Z7SkRz.js} +1 -1
  19. package/static/dashboard/assets/{avatar-BKSc7tnv.js → avatar-CFgdRtiV.js} +1 -1
  20. package/static/dashboard/assets/{badge-aWVtPffe.js → badge-BIVx2feC.js} +1 -1
  21. package/static/dashboard/assets/{card-Bz0VdsxC.js → card-HwCaU_bv.js} +1 -1
  22. package/static/dashboard/assets/{check-Ti2IOlgc.js → check-CMqBU0e3.js} +1 -1
  23. package/static/dashboard/assets/{chevron-right-g-zbIopD.js → chevron-right-CY_sUg3i.js} +1 -1
  24. package/static/dashboard/assets/{copy-BwBuD0FO.js → copy-Cn6p0txj.js} +1 -1
  25. package/static/dashboard/assets/{dialog-DdpHZobU.js → dialog-_GPHTnXl.js} +2 -2
  26. package/static/dashboard/assets/{dropdown-menu-CB2L3nig.js → dropdown-menu-BEcLmKR6.js} +1 -1
  27. package/static/dashboard/assets/{image-off-w_ej9pIJ.js → image-off-CyXpcTZd.js} +1 -1
  28. package/static/dashboard/assets/{index-DtF8YHqn.js → index-BZAfm4kX.js} +14 -14
  29. package/static/dashboard/assets/index-BzWDSuyB.css +1 -0
  30. package/static/dashboard/assets/{invite-Dy3iQjzf.js → invite-iirWwB3z.js} +1 -1
  31. package/static/dashboard/assets/{label-Dj8L94iS.js → label-C9GdL6JP.js} +1 -1
  32. package/static/dashboard/assets/{layout-grid-DuweH0Vl.js → layout-grid-3hfjyzci.js} +1 -1
  33. package/static/dashboard/assets/me-Bgw9jS9F.js +1 -0
  34. package/static/dashboard/assets/{parts-CA4cbfy3.js → parts-BOtvDu_v.js} +1 -1
  35. package/static/dashboard/assets/{plus-CEWgXDLj.js → plus-CTKInfcq.js} +1 -1
  36. package/static/dashboard/assets/s._site-Bi7roN7x.js +1 -0
  37. package/static/dashboard/assets/s._site.comments-DZBq2FkM.js +54 -0
  38. package/static/dashboard/assets/s._site.reviewers-YfizOkhz.js +1 -0
  39. package/static/dashboard/assets/s._site.settings-Dbua1pYa.js +1 -0
  40. package/static/dashboard/assets/{setup-DcjjtB3g.js → setup-4E2PxysX.js} +1 -1
  41. package/static/dashboard/assets/{sign-in-gfvOs6Jw.js → sign-in-Nda93fWo.js} +1 -1
  42. package/static/dashboard/assets/{sign-up-CFJt7ibH.js → sign-up-kWIqmM8W.js} +1 -1
  43. package/static/dashboard/assets/{sites-DbB5cjz5.js → sites-DbhDznKA.js} +1 -1
  44. package/static/dashboard/assets/studio-MNEmZ3n7.js +1 -0
  45. package/static/dashboard/assets/{studio-D9GxJaSF.js → studio-ml7KCROJ.js} +1 -1
  46. package/static/dashboard/assets/{studio.index-DktAxIPT.js → studio.index-CZXgB0jx.js} +1 -1
  47. package/static/dashboard/assets/{studio.integrations-CbLyqPLX.js → studio.integrations-OprNYBrJ.js} +1 -1
  48. package/static/dashboard/assets/{studio.members-DFtIL3JS.js → studio.members-DT93LEwF.js} +1 -1
  49. package/static/dashboard/assets/{sun-Bg7U-6Y0.js → sun--lA9pLT9.js} +1 -1
  50. package/static/dashboard/assets/{switch-CTN6hIca.js → switch-BCNx3nDC.js} +1 -1
  51. package/static/dashboard/assets/{table-zQ3pj50_.js → table-B1e35-OI.js} +1 -1
  52. package/static/dashboard/assets/{useAriaLabelledBy-BsNncGbx.js → useAriaLabelledBy-BLgC8mE_.js} +1 -1
  53. package/static/dashboard/assets/{useBaseQuery-DSqwWD_O.js → useBaseQuery-CZkDX1tZ.js} +1 -1
  54. package/static/dashboard/assets/useQuery-C0BVsxqZ.js +1 -0
  55. package/static/dashboard/assets/useRender-P5Wj_Sbt.js +1 -0
  56. package/static/dashboard/assets/{useValueChanged-B9k7l-mp.js → useValueChanged-CCRl5Bf5.js} +1 -1
  57. package/static/dashboard/assets/{users-CRiOyD0f.js → users-DCeMsa2g.js} +1 -1
  58. package/static/dashboard/assets/{welcome-DT2DB4jN.js → welcome-Il9zYmvM.js} +1 -1
  59. package/static/dashboard/assets/{widget-signin-CC9owVvs.js → widget-signin-BLNsOS5K.js} +1 -1
  60. package/static/dashboard/assets/{you-CtcXklc_.js → you-B2lWBXCD.js} +1 -1
  61. package/static/dashboard/assets/{zod-CLxHj89d.js → zod-DG4VLz0r.js} +1 -1
  62. package/static/dashboard/index.html +2 -2
  63. package/static/widget/snag.dock.js +2 -2
  64. package/static/widget/snag.panels.js +2 -2
  65. package/static/widget/snag.runtime.js +2 -2
  66. package/static/dashboard/assets/index-DAgnfv_E.css +0 -1
  67. package/static/dashboard/assets/me-7-r9OeMR.js +0 -1
  68. package/static/dashboard/assets/s._site-D69M50OI.js +0 -1
  69. package/static/dashboard/assets/s._site.comments-DNJ2SE5c.js +0 -54
  70. package/static/dashboard/assets/s._site.reviewers-B07NzSWj.js +0 -1
  71. package/static/dashboard/assets/s._site.settings-B577G5iG.js +0 -1
  72. package/static/dashboard/assets/studio-BO-MHFqc.js +0 -1
  73. package/static/dashboard/assets/useQuery-OgrKuHbc.js +0 -1
  74. package/static/dashboard/assets/useRender-DOFVvGfR.js +0 -1
@@ -197,10 +197,12 @@ assignDelayMs) {
197
197
  // T10/: the round HISTORY rides the config the widget already fetches
198
198
  // at mount, so the dock's selector costs no extra request. Behind the
199
199
  // origin split with `keyPrefix`: the least sensitive PRIVATE things
200
- // on the project, which is not the same as public.
200
+ // on the project, which is not the same as public. An ARCHIVED round is
201
+ // left out: the studio put it away, and the selector is where it
202
+ // would otherwise come back for every reviewer.
201
203
  const rounds = await inOrg(sql, p.org_id, (tx) => tx `
202
204
  SELECT number, name, closed_at IS NOT NULL AS closed
203
- FROM rounds WHERE project_id = ${p.id} AND deleted_at IS NULL
205
+ FROM rounds WHERE project_id = ${p.id} AND deleted_at IS NULL AND archived_at IS NULL
204
206
  ORDER BY number DESC
205
207
  `);
206
208
  return c.json({
@@ -356,6 +358,29 @@ assignDelayMs) {
356
358
  * explanation.
357
359
  */
358
360
  const rows = await inOrg(sql, p.org_id, async (tx) => {
361
+ // Absent round query param: an OWNER still sees every round
362
+ // (unchanged), but a non-owner reader defaults to the latest OPEN
363
+ // round, so a fresh page load is -clean rather than showing a round
364
+ // that closed weeks ago. Not an archived or deleted one either:
365
+ // the same round a new thread would land in. The correlated subquery is
366
+ // cheap — one project's round table is a handful of rows.
367
+ //
368
+ // ON A POLL the predicate moves into `visible`, like privacy does: a
369
+ // thread the studio MOVED to another round has to come back as a
370
+ // tombstone for the list it left, and a WHERE clause would only make it
371
+ // vanish from the delta, so the old round's list kept showing it.
372
+ const inRound = key
373
+ ? null
374
+ : requestedRound
375
+ ? tx `rd.number = ${requestedRound}`
376
+ : asStudio
377
+ ? null
378
+ : tx `rd.number = (
379
+ SELECT number FROM rounds
380
+ WHERE project_id = ${p.id} AND closed_at IS NULL
381
+ AND deleted_at IS NULL AND archived_at IS NULL
382
+ ORDER BY number DESC LIMIT 1
383
+ )`;
359
384
  return tx `
360
385
  SELECT t.id, t.key, t.status, t.version, t.anchor, t.anchor_state, t.context, t.round_number,
361
386
  t.created_at, t.updated_at, t.resolved_at, t.comment_count_public,
@@ -383,7 +408,8 @@ assignDelayMs) {
383
408
  -- VISIBLE, computed rather than filtered. See the note above
384
409
  -- the query: a thread that becomes private must be TOMBSTONED,
385
410
  -- and a WHERE clause can only make it vanish.
386
- (t.deleted_at IS NULL AND ${asOwner ? tx `true` : tx `t.private = false`}) AS visible
411
+ (t.deleted_at IS NULL AND ${asOwner ? tx `true` : tx `t.private = false`}
412
+ AND ${since && inRound ? inRound : tx `true`}) AS visible
387
413
  FROM threads t
388
414
  JOIN reviewers r ON r.id = t.created_by
389
415
  -- The assignee, when there is one (05 section 6.4b). LEFT: most
@@ -422,23 +448,9 @@ assignDelayMs) {
422
448
  : assigneeFilter === "unassigned"
423
449
  ? tx `AND t.assignee_id IS NULL`
424
450
  : tx `AND t.assignee_id = ${assigneeFilter}::uuid`}
425
- -- Absent round query param: an OWNER still sees every round
426
- -- (unchanged), but a non-owner reader defaults to the latest OPEN
427
- -- round, so a fresh page load is -clean rather than showing a
428
- -- round that closed weeks ago. The ORDER BY number DESC LIMIT 1
429
- -- correlated subquery is cheap here -- one project's round table
430
- -- is a handful of rows, never a scan of threads.
431
- ${key
432
- ? tx ``
433
- : requestedRound
434
- ? tx `AND rd.number = ${requestedRound}`
435
- : asStudio
436
- ? tx ``
437
- : tx `AND rd.number = (
438
- SELECT number FROM rounds
439
- WHERE project_id = ${p.id} AND closed_at IS NULL
440
- ORDER BY number DESC LIMIT 1
441
- )`}
451
+ -- The round, from inRound above: here on a full list, in the
452
+ -- visible column on a poll.
453
+ ${inRound && !since ? tx `AND ${inRound}` : tx ``}
442
454
  ${q && !key
443
455
  ? tx `AND (t.key ILIKE ${"%" + q + "%"}
444
456
  OR t.anchor_label ILIKE ${"%" + q + "%"}
@@ -496,6 +508,88 @@ assignDelayMs) {
496
508
  serverTime: (clock?.now ?? new Date()).toISOString(),
497
509
  });
498
510
  });
511
+ /**
512
+ * Move threads to another round, the studio's filing act, and the
513
+ * one exception to the "a thread never moves": automatic placement never
514
+ * moves a thread; only this explicit move does. Owner or admin, from the
515
+ * dashboard (cookie and CSRF pair, checked inline because the bearer
516
+ * middleware owns this path for the widget).
517
+ *
518
+ * `{ ids: ["thr_…"], round: <number> }`. The target may be open or closed
519
+ * — filing a stray comment into a finished round is a filing decision — but
520
+ * not archived or deleted. One transaction: the target round's row is
521
+ * locked, its `thread_seq` advanced by the number moving, and each thread
522
+ * takes the next per-round number in creation order. The old round keeps
523
+ * its gap (a number quoted in an email is never handed to another thread)
524
+ * and the project-wide key is untouched, so every permalink still works.
525
+ * `version` moves, so every open dashboard's poll drops the thread from
526
+ * the round it left (the list's visible column) and shows it in the new one.
527
+ * Threads already in the target, deleted, or not in this site are skipped.
528
+ * No `events` row: status and assignee changes write none either.
529
+ */
530
+ app.post("/api/v1/projects/:uid/threads/move", async (c) => {
531
+ const p = await project(c.req.param("uid"));
532
+ if (!p)
533
+ return fail(c, 404, "project_not_found", "No project with that uid.");
534
+ const owner = c.get("owner");
535
+ if (!owner)
536
+ return fail(c, 401, "unauthorized", "Sign in to the dashboard first.");
537
+ if (owner.orgId !== p.org_id || (owner.role !== "owner" && owner.role !== "admin")) {
538
+ return fail(c, 403, "forbidden", "Only an owner or an admin can move comments between rounds.");
539
+ }
540
+ if (!csrfOk(c)) {
541
+ return fail(c, 403, "csrf_failed", "That request could not be verified. Reload the dashboard and try again.");
542
+ }
543
+ const body = (await c.req.json().catch(() => null));
544
+ const round = body?.round;
545
+ const ids = Array.isArray(body?.ids) ? body.ids.map((w) => rowId(w, ID_PREFIX.thread)) : [];
546
+ if (!ids.length || ids.length > 200 || ids.some((x) => !x)) {
547
+ return fail(c, 400, "validation_failed", "ids must be 1 to 200 thread ids (thr_…).");
548
+ }
549
+ if (!(typeof round === "number" && Number.isInteger(round) && round > 0)) {
550
+ return fail(c, 400, "validation_failed", "round must be a round number (1, 2, …).");
551
+ }
552
+ const out = await inOrg(sql, p.org_id, async (tx) => {
553
+ const [target] = await tx `
554
+ SELECT id, archived_at IS NOT NULL AS archived FROM rounds
555
+ WHERE project_id = ${p.id}::uuid AND number = ${round}::int AND deleted_at IS NULL
556
+ FOR UPDATE
557
+ `;
558
+ if (!target)
559
+ return "missing";
560
+ if (target.archived)
561
+ return "archived";
562
+ const moving = await tx `
563
+ SELECT id FROM threads
564
+ WHERE id = ANY(${ids}::uuid[]) AND project_id = ${p.id}::uuid
565
+ AND deleted_at IS NULL AND round_id <> ${target.id}::uuid
566
+ ORDER BY created_at, id
567
+ FOR UPDATE
568
+ `;
569
+ if (!moving.length)
570
+ return 0;
571
+ const [seq] = await tx `
572
+ UPDATE rounds SET thread_seq = thread_seq + ${moving.length}::int, updated_at = now()
573
+ WHERE id = ${target.id}::uuid
574
+ RETURNING thread_seq AS last
575
+ `;
576
+ const first = seq.last - moving.length;
577
+ await tx `
578
+ UPDATE threads t
579
+ SET round_id = ${target.id}::uuid, round_number = ${first}::int + o.n::int,
580
+ version = t.version + 1, updated_at = now()
581
+ FROM unnest(${moving.map((m) => m.id)}::uuid[]) WITH ORDINALITY AS o(id, n)
582
+ WHERE t.id = o.id
583
+ `;
584
+ return moving.length;
585
+ });
586
+ if (out === "missing")
587
+ return fail(c, 404, "round_not_found", `This site has no round ${round}.`);
588
+ if (out === "archived") {
589
+ return fail(c, 409, "round_archived", "That round is archived. Restore it in Settings to move comments into it.");
590
+ }
591
+ return c.json({ moved: out, round });
592
+ });
499
593
  /**
500
594
  * Create. The whole thing is one transaction because a thread
501
595
  * without its first comment is not a snag, it is a pin nobody can read.
@@ -525,6 +619,16 @@ assignDelayMs) {
525
619
  // the host put one on the script tag, and inventing one here would put a
526
620
  // comment in an environment the dashboard is not looking at.
527
621
  const envKey = typeof body.scope?.environment === "string" ? body.scope.environment : null;
622
+ // The round the reviewer is LOOKING AT, by number (the only round
623
+ // identity the widget holds). Rounds run side by side, so "the newest
624
+ // open one" stopped being the right answer the day a studio kept its own
625
+ // QA round going while the client's ran: a comment left while viewing
626
+ // Internal QA belongs to Internal QA.
627
+ const askedRound = body.scope?.round;
628
+ if (askedRound !== undefined && askedRound !== null && !(Number.isInteger(askedRound) && askedRound > 0)) {
629
+ return fail(c, 400, "validation_failed", "scope.round must be a round number (1, 2, …).");
630
+ }
631
+ const roundNo = typeof askedRound === "number" ? askedRound : null;
528
632
  // A client-minted id that is not a UUID is a bug in the client, not
529
633
  // something to paper over with a server-minted one: the widget's optimistic
530
634
  // copy would then be a different snag from the stored one. Parsed out here,
@@ -572,19 +676,43 @@ assignDelayMs) {
572
676
  * exactly once, to completion, and the insert that reads pseq/rseq
573
677
  * cannot begin before they have produced their rows.
574
678
  */
679
+ /*
680
+ * WHICH ROUND, in this order:
681
+ * 1. the one asked for, when it is open and not archived -- and a
682
+ * 409 when it is not, rather than a silent move elsewhere: the
683
+ * reviewer chose it, and a comment that lands somewhere else
684
+ * without a word is the bug parallel rounds exist to remove;
685
+ * 2. else the review link's pinned round, when it is open;
686
+ * 3. Else the newest open, unarchived round -- the original rule.
687
+ * Still the same one statement: the environment and both candidates
688
+ * come back together, and the choice is made below.
689
+ */
575
690
  const [ctx] = await tx `
576
691
  SELECT
577
692
  (SELECT id FROM environments
578
693
  WHERE project_id = ${p.id} AND deleted_at IS NULL
579
694
  AND ${envKey ? tx `key = ${envKey}` : tx `is_default`}
580
695
  LIMIT 1) AS environment_id,
581
- r.id AS round_id
696
+ a.id AS asked_id,
697
+ (a.closed_at IS NULL AND a.archived_at IS NULL) AS asked_open,
698
+ COALESCE(
699
+ ${session.lnk
700
+ ? tx `(SELECT rd.id FROM review_links rl JOIN rounds rd ON rd.id = rl.round_id
701
+ WHERE rl.id = ${session.lnk}::uuid AND rd.project_id = ${p.id}
702
+ AND rd.deleted_at IS NULL AND rd.archived_at IS NULL AND rd.closed_at IS NULL)`
703
+ : tx `NULL::uuid`},
704
+ r.id
705
+ ) AS round_id
582
706
  FROM (SELECT 1) one
583
707
  LEFT JOIN LATERAL (
584
708
  SELECT id FROM rounds
585
- WHERE project_id = ${p.id} AND deleted_at IS NULL AND closed_at IS NULL
709
+ WHERE project_id = ${p.id} AND deleted_at IS NULL AND closed_at IS NULL AND archived_at IS NULL
586
710
  ORDER BY number DESC LIMIT 1
587
711
  ) r ON true
712
+ LEFT JOIN LATERAL (
713
+ SELECT id, closed_at, archived_at FROM rounds
714
+ WHERE project_id = ${p.id} AND deleted_at IS NULL AND number = ${roundNo ?? 0}::int
715
+ ) a ON true
588
716
  `;
589
717
  // Kept as its own statement rather than folded into the write below,
590
718
  // because these two are the only failures a caller can act on and
@@ -595,9 +723,16 @@ assignDelayMs) {
595
723
  ? `This project has no environment called "${envKey}".`
596
724
  : "This project has no default environment.");
597
725
  }
598
- // The active round: highest number, not closed. — a thread belongs
599
- // to whichever round was active when it was created, and never moves.
600
- if (!ctx.round_id)
726
+ // Still holds whichever round is chosen: a thread belongs to the
727
+ // round it was created in, and never moves.
728
+ if (roundNo !== null && !ctx.asked_id) {
729
+ throw new HttpError(409, "round_not_found", `This site has no round ${roundNo}. Reload to see its rounds.`);
730
+ }
731
+ if (roundNo !== null && !ctx.asked_open) {
732
+ throw new HttpError(409, "round_closed", `Round ${roundNo} is closed, so it takes no new comments. Pick an open round, or leave the round out.`);
733
+ }
734
+ const roundId = roundNo !== null ? ctx.asked_id : ctx.round_id;
735
+ if (!roundId)
601
736
  throw new HttpError(409, "no_active_round", "This project has no open round.");
602
737
  const counted = commentBody === null ? 0 : 1;
603
738
  const [row] = await tx `
@@ -608,7 +743,7 @@ assignDelayMs) {
608
743
  ),
609
744
  rseq AS (
610
745
  UPDATE rounds SET thread_seq = thread_seq + 1
611
- WHERE id = ${ctx.round_id}::uuid
746
+ WHERE id = ${roundId}::uuid
612
747
  RETURNING thread_seq
613
748
  ),
614
749
  ins AS (
@@ -617,7 +752,7 @@ assignDelayMs) {
617
752
  comment_count, comment_count_public)
618
753
  SELECT ${threadId}::uuid, ${p.org_id}::uuid, ${p.id}::uuid,
619
754
  ${p.key_prefix}::text || '-' || pseq.thread_seq::text,
620
- ${ctx.environment_id}::uuid, ${ctx.round_id}::uuid, rseq.thread_seq,
755
+ ${ctx.environment_id}::uuid, ${roundId}::uuid, rseq.thread_seq,
621
756
  ${tx.json(body.anchor)}::jsonb, ${tx.json(body.context)}::jsonb,
622
757
  ${reviewerId}::uuid, ${body.anchorState ?? "anchored"}::snag_anchor_state,
623
758
  ${counted}::int, ${counted}::int
@@ -900,13 +1035,15 @@ assignDelayMs) {
900
1035
  return fail(c, 403, "forbidden", "This review link does not allow changing status.");
901
1036
  }
902
1037
  const body = (await c.req.json().catch(() => null));
903
- // A thread belongs to exactly one round and NEVER moves. Refused
904
- // explicitly rather than ignored, because a caller that sends `round` and
905
- // gets a 200 will believe it moved — and the whole model rests on the fact
906
- // that it did not. The `field_not_permitted` is the registered code.
1038
+ // A thread never moves BY ACCIDENT. Refused explicitly rather than
1039
+ // ignored, because a caller that sends `round` and gets a 200 will believe
1040
+ // it moved. Moving is a studio act with its own route (the
1041
+ // move below), which renumbers inside the target round; a PATCH field
1042
+ // would be a second, quieter way to do it. The `field_not_permitted`
1043
+ // is the registered code.
907
1044
  for (const field of ["round", "roundId", "roundNumber"]) {
908
1045
  if (body && field in body) {
909
- return fail(c, 422, "field_not_permitted", "A comment stays in the round it was left in. Rounds are periods of time, not folders.", { field });
1046
+ return fail(c, 422, "field_not_permitted", "A comment's round is not changed here. The studio moves comments between rounds from the dashboard.", { field });
910
1047
  }
911
1048
  }
912
1049
  /**
@@ -1438,12 +1575,7 @@ assignDelayMs) {
1438
1575
  if (!threadRow)
1439
1576
  return fail(c, 404, "thread_not_found", "No such thread in this project.");
1440
1577
  const found = await inOrg(sql, p.org_id, async (tx) => {
1441
- const [gone] = await tx `
1442
- UPDATE threads
1443
- SET deleted_at = now(), version = version + 1, updated_at = now()
1444
- WHERE id = ${threadRow}::uuid AND project_id = ${p.id}::uuid AND deleted_at IS NULL
1445
- RETURNING id
1446
- `;
1578
+ const gone = await softDeleteThreads(tx, p.id, { thread: threadRow }, "the thread was deleted");
1447
1579
  if (!gone) {
1448
1580
  // Already deleted, or never here. Only the second is an error.
1449
1581
  const [was] = await tx `
@@ -1451,19 +1583,6 @@ assignDelayMs) {
1451
1583
  `;
1452
1584
  return !!was;
1453
1585
  }
1454
- // The thread's own pictures and any bound to its comments:
1455
- // section A6 hangs an attachment off exactly one of the two.
1456
- await tx `
1457
- UPDATE attachments SET deleted_at = now()
1458
- WHERE deleted_at IS NULL
1459
- AND (thread_id = ${threadRow}::uuid
1460
- OR comment_id IN (SELECT id FROM comments WHERE thread_id = ${threadRow}::uuid))
1461
- `;
1462
- await tx `
1463
- UPDATE outbox
1464
- SET status = 'dropped', last_error = 'the thread was deleted', completed_at = now()
1465
- WHERE thread_id = ${threadRow}::uuid AND status = 'pending'
1466
- `;
1467
1586
  return true;
1468
1587
  });
1469
1588
  if (!found)
@@ -1472,6 +1591,44 @@ assignDelayMs) {
1472
1591
  });
1473
1592
  return app;
1474
1593
  }
1594
+ /**
1595
+ * The thread DELETE's work, for one thread or for every live thread in a
1596
+ * round (the round delete) — one copy, so a round's threads go exactly the
1597
+ * way a single thread does and "what else goes with it" (the route's comment
1598
+ * above) is answered in one place. Inside the caller's transaction, which has
1599
+ * already set `app.org_id`. Returns how many threads it marked.
1600
+ *
1601
+ * `version` and `updated_at` move so a `?since=` poll tombstones each one;
1602
+ * attachments on the thread or its comments are marked; pending outbox rows
1603
+ * are dropped with `reason` in `last_error`. Comments are left alone, for the
1604
+ * reason given above.
1605
+ */
1606
+ export async function softDeleteThreads(tx, projectId, which, reason) {
1607
+ const gone = await tx `
1608
+ UPDATE threads
1609
+ SET deleted_at = now(), version = version + 1, updated_at = now()
1610
+ WHERE project_id = ${projectId}::uuid AND deleted_at IS NULL
1611
+ AND ${"thread" in which ? tx `id = ${which.thread}::uuid` : tx `round_id = ${which.round}::uuid`}
1612
+ RETURNING id
1613
+ `;
1614
+ if (!gone.length)
1615
+ return 0;
1616
+ const ids = gone.map((g) => g.id);
1617
+ // The thread's own pictures and any bound to its comments:
1618
+ // section A6 hangs an attachment off exactly one of the two.
1619
+ await tx `
1620
+ UPDATE attachments SET deleted_at = now()
1621
+ WHERE deleted_at IS NULL
1622
+ AND (thread_id = ANY(${ids}::uuid[])
1623
+ OR comment_id IN (SELECT id FROM comments WHERE thread_id = ANY(${ids}::uuid[])))
1624
+ `;
1625
+ await tx `
1626
+ UPDATE outbox
1627
+ SET status = 'dropped', last_error = ${reason}, completed_at = now()
1628
+ WHERE thread_id = ANY(${ids}::uuid[]) AND status = 'pending'
1629
+ `;
1630
+ return ids.length;
1631
+ }
1475
1632
  /**
1476
1633
  * Fields declared and assigned, NOT constructor parameter properties.
1477
1634
  *
@@ -1 +1 @@
1
- {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/routes/threads.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snagset/server",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "The Snagset server: API, dashboard and widget in one package. Node and Postgres, or Vercel.",
@@ -1 +1 @@
1
- import{r as l,d as O,e as M,a3 as w,j as T,aE as _,a6 as j,E as k,aD as D,i as H}from"./index-DtF8YHqn.js";const Y=l.createContext(void 0);function K(){return l.useContext(Y)?.direction??"ltr"}const S=l.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function B(){return l.useContext(S)}function F(s={}){const{guess:o,label:e,metadata:r,textRef:f,index:t}=s,{register:i,unregister:u,subscribeMapChange:d,nextIndexRef:h}=B(),c=l.useRef(-1),[g,C]=l.useState(t==null&&o?()=>{if(c.current===-1){const x=h.current;h.current+=1,c.current=x}return c.current}:-1),v=t??g,R=l.useRef(null),E=l.useCallback(x=>{const b=R.current;b&&u(b),R.current=x,x&&i(x,{metadata:r??null,index:t??null,label:e,textRef:f})},[t,i,u,r,e,f]);return O(()=>{if(t==null)return d(x=>{const b=R.current?x.get(R.current)?.index:null;b!=null&&C(b)})},[t,d]),{ref:E,index:v}}function Q(s){const{children:o,elementsRef:e,labelsRef:r,onMapChange:f}=s,t=M(f),[,i]=l.useState(!1),u=w(W).current,d=w(U).current,h=l.useRef(0),c=l.useRef(!0),g=l.useRef([]),C=l.useRef(null),v=M(()=>{c.current||(c.current=!0,i(n=>!n))}),R=M((n,p)=>{d.set(n,p),v()}),E=M(n=>{d.delete(n),v()}),x=M(n=>{const p=new Map;return e.current.length=0,r&&(r.current.length=0),n.forEach(a=>{p.set(a.element,{...a.registration.metadata??{},index:a.index}),e.current[a.index]=a.element,r&&(r.current[a.index]=a.registration.label!==void 0?a.registration.label:a.registration.textRef?.current?.textContent??a.element.textContent)}),h.current=e.current.length,p});function b(n){if(C.current?.disconnect(),C.current=null,typeof MutationObserver!="function"||n.length<2)return;const p=new MutationObserver(m=>{if(!J(m))return;let I=null;for(const L of n)if(L.isConnected){if(I&&y(I,L)>0){p.disconnect(),v();return}I=L}});C.current=p;const a=new Set;for(let m=1;m<n.length;m+=1){const I=G(n[m-1],n[m]);I&&a.add(I)}a.forEach(m=>p.observe(m,{childList:!0}))}const N=M(()=>{const[n,p]=z(d),a=x(n);b(p),g.current=n,c.current=!1,u.forEach(m=>m(a)),t(a)});O(()=>(c.current||x(g.current),()=>{e.current=[],r&&(r.current=[])}),[e,r,x]),O(()=>{c.current&&N()}),O(()=>()=>{C.current?.disconnect(),c.current=!0},[]);const P=M(n=>(u.add(n),()=>{u.delete(n)})),A=l.useMemo(()=>({register:R,unregister:E,subscribeMapChange:P,nextIndexRef:h}),[R,E,P,h]);return T.jsx(S.Provider,{value:A,children:o})}function U(){return new Map}function W(){return new Set}function z(s){const o=new Set,e=[],r=[];s.forEach((t,i)=>{if(!i.isConnected)return;const u=t.index,d={index:u??-1,element:i,registration:t};u===null?r.push(d):u>=0&&(o.add(u),e.push(d))});let f=0;return r.sort((t,i)=>y(t.element,i.element)),r.forEach(t=>{for(;o.has(f);)f+=1;t.index=f,e.push(t),f+=1}),o.size>0&&e.sort((t,i)=>t.index-i.index),[e,r.map(t=>t.element)]}function G(s,o){let e=s.parentElement;for(;e&&!e.contains(o);)e=e.parentElement;return e}function J(s){for(const o of s)for(let e=0;e<o.removedNodes.length;e+=1)if(o.removedNodes[e].isConnected)return!0;return!1}function y(s,o){return s.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function V(s={}){const{highlightItemOnHover:o,highlightedIndex:e,onHighlightedIndexChange:r}=_(),{ref:f,index:t}=F(s),i=e===t,u=l.useRef(null),d=j(f,u);return{compositeProps:{tabIndex:i?0:-1,onFocus(){r(t)},onMouseMove(){const c=u.current;if(!o||!c)return;const g=c.hasAttribute("disabled")||c.ariaDisabled==="true";!i&&!g&&c.focus()}},compositeRef:d,index:t}}function X(s){const{render:o,className:e,style:r,state:f=k,props:t=D,refs:i=D,metadata:u,stateAttributesMapping:d,tag:h="div",...c}=s,{compositeProps:g,compositeRef:C}=V({metadata:u});return H(h,s,{state:f,ref:[C,...i],props:[g,...t,c],stateAttributesMapping:d})}export{Q as C,F as a,X as b,K as u};
1
+ import{r as l,d as O,e as M,a3 as w,j as T,aG as _,a6 as j,E as k,aF as S,i as F}from"./index-BZAfm4kX.js";const H=l.createContext(void 0);function K(){return l.useContext(H)?.direction??"ltr"}const y=l.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function Y(){return l.useContext(y)}function B(s={}){const{guess:o,label:e,metadata:r,textRef:f,index:t}=s,{register:i,unregister:u,subscribeMapChange:d,nextIndexRef:h}=Y(),c=l.useRef(-1),[g,C]=l.useState(t==null&&o?()=>{if(c.current===-1){const x=h.current;h.current+=1,c.current=x}return c.current}:-1),v=t??g,R=l.useRef(null),E=l.useCallback(x=>{const b=R.current;b&&u(b),R.current=x,x&&i(x,{metadata:r??null,index:t??null,label:e,textRef:f})},[t,i,u,r,e,f]);return O(()=>{if(t==null)return d(x=>{const b=R.current?x.get(R.current)?.index:null;b!=null&&C(b)})},[t,d]),{ref:E,index:v}}function Q(s){const{children:o,elementsRef:e,labelsRef:r,onMapChange:f}=s,t=M(f),[,i]=l.useState(!1),u=w(U).current,d=w(G).current,h=l.useRef(0),c=l.useRef(!0),g=l.useRef([]),C=l.useRef(null),v=M(()=>{c.current||(c.current=!0,i(n=>!n))}),R=M((n,p)=>{d.set(n,p),v()}),E=M(n=>{d.delete(n),v()}),x=M(n=>{const p=new Map;return e.current.length=0,r&&(r.current.length=0),n.forEach(a=>{p.set(a.element,{...a.registration.metadata??{},index:a.index}),e.current[a.index]=a.element,r&&(r.current[a.index]=a.registration.label!==void 0?a.registration.label:a.registration.textRef?.current?.textContent??a.element.textContent)}),h.current=e.current.length,p});function b(n){if(C.current?.disconnect(),C.current=null,typeof MutationObserver!="function"||n.length<2)return;const p=new MutationObserver(m=>{if(!J(m))return;let I=null;for(const L of n)if(L.isConnected){if(I&&D(I,L)>0){p.disconnect(),v();return}I=L}});C.current=p;const a=new Set;for(let m=1;m<n.length;m+=1){const I=z(n[m-1],n[m]);I&&a.add(I)}a.forEach(m=>p.observe(m,{childList:!0}))}const N=M(()=>{const[n,p]=W(d),a=x(n);b(p),g.current=n,c.current=!1,u.forEach(m=>m(a)),t(a)});O(()=>(c.current||x(g.current),()=>{e.current=[],r&&(r.current=[])}),[e,r,x]),O(()=>{c.current&&N()}),O(()=>()=>{C.current?.disconnect(),c.current=!0},[]);const P=M(n=>(u.add(n),()=>{u.delete(n)})),A=l.useMemo(()=>({register:R,unregister:E,subscribeMapChange:P,nextIndexRef:h}),[R,E,P,h]);return T.jsx(y.Provider,{value:A,children:o})}function G(){return new Map}function U(){return new Set}function W(s){const o=new Set,e=[],r=[];s.forEach((t,i)=>{if(!i.isConnected)return;const u=t.index,d={index:u??-1,element:i,registration:t};u===null?r.push(d):u>=0&&(o.add(u),e.push(d))});let f=0;return r.sort((t,i)=>D(t.element,i.element)),r.forEach(t=>{for(;o.has(f);)f+=1;t.index=f,e.push(t),f+=1}),o.size>0&&e.sort((t,i)=>t.index-i.index),[e,r.map(t=>t.element)]}function z(s,o){let e=s.parentElement;for(;e&&!e.contains(o);)e=e.parentElement;return e}function J(s){for(const o of s)for(let e=0;e<o.removedNodes.length;e+=1)if(o.removedNodes[e].isConnected)return!0;return!1}function D(s,o){return s.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function V(s={}){const{highlightItemOnHover:o,highlightedIndex:e,onHighlightedIndexChange:r}=_(),{ref:f,index:t}=B(s),i=e===t,u=l.useRef(null),d=j(f,u);return{compositeProps:{tabIndex:i?0:-1,onFocus(){r(t)},onMouseMove(){const c=u.current;if(!o||!c)return;const g=c.hasAttribute("disabled")||c.ariaDisabled==="true";!i&&!g&&c.focus()}},compositeRef:d,index:t}}function X(s){const{render:o,className:e,style:r,state:f=k,props:t=S,refs:i=S,metadata:u,stateAttributesMapping:d,tag:h="div",...c}=s,{compositeProps:g,compositeRef:C}=V({metadata:u});return F(h,s,{state:f,ref:[C,...i],props:[g,...t,c],stateAttributesMapping:d})}export{Q as C,B as a,X as b,K as u};
@@ -1 +1 @@
1
- import{r as i,j as e,B as x}from"./index-DtF8YHqn.js";import{E as u,G as g,I as C,H as D,J as v,K as b}from"./dialog-DdpHZobU.js";import{L as E,I}from"./label-Dj8L94iS.js";function T({open:t,onOpenChange:o,title:m,description:r,children:h,confirmLabel:j,confirmWord:l,busy:s=!1,onConfirm:p}){const[n,c]=i.useState(""),d=i.useId();i.useEffect(()=>{t&&c("")},[t]);const f=!l||n.trim()===l;return e.jsx(u,{open:t,onOpenChange:a=>{!a&&s||o(a)},children:e.jsx(g,{showCloseButton:!1,children:e.jsxs("form",{className:"flex flex-col gap-4",onSubmit:a=>{a.preventDefault(),f&&!s&&p()},children:[e.jsxs(C,{children:[e.jsx(D,{children:m}),r&&e.jsx(v,{children:r})]}),h,l&&e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsxs(E,{htmlFor:d,children:["Type ",e.jsx("b",{className:"font-semibold text-foreground",children:l})," to confirm"]}),e.jsx(I,{id:d,value:n,autoComplete:"off",spellCheck:!1,disabled:s,onChange:a=>c(a.target.value)})]}),e.jsxs(b,{children:[e.jsx(x,{type:"button",variant:"outline",disabled:s,onClick:()=>o(!1),children:"Cancel"}),e.jsx(x,{type:"submit",variant:"destructive",loading:s,disabled:!f,children:s?"Working…":j})]})]})})})}export{T as C};
1
+ import{r as i,j as e,B as x}from"./index-BZAfm4kX.js";import{E as u,G as g,I as C,H as D,J as v,K as b}from"./dialog-_GPHTnXl.js";import{L as E,I}from"./label-C9GdL6JP.js";function T({open:t,onOpenChange:o,title:m,description:r,children:h,confirmLabel:j,confirmWord:l,busy:s=!1,onConfirm:p}){const[n,c]=i.useState(""),d=i.useId();i.useEffect(()=>{t&&c("")},[t]);const f=!l||n.trim()===l;return e.jsx(u,{open:t,onOpenChange:a=>{!a&&s||o(a)},children:e.jsx(g,{showCloseButton:!1,children:e.jsxs("form",{className:"flex flex-col gap-4",onSubmit:a=>{a.preventDefault(),f&&!s&&p()},children:[e.jsxs(C,{children:[e.jsx(D,{children:m}),r&&e.jsx(v,{children:r})]}),h,l&&e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsxs(E,{htmlFor:d,children:["Type ",e.jsx("b",{className:"font-semibold text-foreground",children:l})," to confirm"]}),e.jsx(I,{id:d,value:n,autoComplete:"off",spellCheck:!1,disabled:s,onChange:a=>c(a.target.value)})]}),e.jsxs(b,{children:[e.jsx(x,{type:"button",variant:"outline",disabled:s,onClick:()=>o(!1),children:"Cancel"}),e.jsx(x,{type:"submit",variant:"destructive",loading:s,disabled:!f,children:s?"Working…":j})]})]})})})}export{T as C};
@@ -1 +1 @@
1
- import{r as n,j as t,B as c}from"./index-DtF8YHqn.js";import{C}from"./check-Ti2IOlgc.js";import{C as m}from"./copy-BwBuD0FO.js";function l({text:r,label:e="Copy",withText:s=!1,size:a="icon-sm",className:p}){const[o,i]=n.useState(!1);return t.jsxs(c,{type:"button",variant:"outline",size:s?"sm":a,className:p,"aria-label":o?"Copied":e,onClick:()=>{navigator.clipboard?.writeText(r).catch(()=>{}),i(!0),setTimeout(()=>i(!1),1500)},children:[o?t.jsx(C,{}):t.jsx(m,{}),s&&(o?"Copied":e)]})}export{l as C};
1
+ import{r as n,j as t,B as c}from"./index-BZAfm4kX.js";import{C}from"./check-CMqBU0e3.js";import{C as m}from"./copy-Cn6p0txj.js";function l({text:r,label:e="Copy",withText:s=!1,size:a="icon-sm",className:p}){const[o,i]=n.useState(!1);return t.jsxs(c,{type:"button",variant:"outline",size:s?"sm":a,className:p,"aria-label":o?"Copied":e,onClick:()=>{navigator.clipboard?.writeText(r).catch(()=>{}),i(!0),setTimeout(()=>i(!1),1500)},children:[o?t.jsx(C,{}):t.jsx(m,{}),s&&(o?"Copied":e)]})}export{l as C};
@@ -1 +1 @@
1
- import{r as t}from"./index-DtF8YHqn.js";const e=t.createContext({disabled:!1});function r(){return t.useContext(e)}export{r as u};
1
+ import{r as t}from"./index-BZAfm4kX.js";const e=t.createContext({disabled:!1});function r(){return t.useContext(e)}export{r as u};
@@ -1 +1 @@
1
- import{r as o,j as e,B as i,aO as n}from"./index-DtF8YHqn.js";import{C as c}from"./check-Ti2IOlgc.js";import{C as l}from"./copy-BwBuD0FO.js";function p(t){return`<script src="${location.origin}/snag.js" ${n("site")}="${t}" defer><\/script>`}function g({uid:t}){const[r,a]=o.useState(!1),s=p(t);return e.jsxs("div",{className:"relative rounded-md border border-border bg-background px-3 py-2.5 pr-11 font-mono text-[12.5px] leading-relaxed",children:[e.jsx("code",{className:"whitespace-pre-wrap break-all",children:s}),e.jsx(i,{variant:"ghost",size:"icon-sm",className:"absolute right-1.5 top-1.5","aria-label":r?"Copied":"Copy the tag",onClick:()=>{navigator.clipboard?.writeText(s),a(!0),setTimeout(()=>a(!1),1500)},children:r?e.jsx(c,{}):e.jsx(l,{})})]})}export{g as I};
1
+ import{r as o,j as e,B as i,aS as n}from"./index-BZAfm4kX.js";import{C as c}from"./check-CMqBU0e3.js";import{C as l}from"./copy-Cn6p0txj.js";function p(t){return`<script src="${location.origin}/snag.js" ${n("site")}="${t}" defer><\/script>`}function g({uid:t}){const[r,a]=o.useState(!1),s=p(t);return e.jsxs("div",{className:"relative rounded-md border border-border bg-background px-3 py-2.5 pr-11 font-mono text-[12.5px] leading-relaxed",children:[e.jsx("code",{className:"whitespace-pre-wrap break-all",children:s}),e.jsx(i,{variant:"ghost",size:"icon-sm",className:"absolute right-1.5 top-1.5","aria-label":r?"Copied":"Copy the tag",onClick:()=>{navigator.clipboard?.writeText(s),a(!0),setTimeout(()=>a(!1),1500)},children:r?e.jsx(c,{}):e.jsx(l,{})})]})}export{g as I};
@@ -1 +1 @@
1
- import{r,j as e,aN as o}from"./index-DtF8YHqn.js";function l({saving:s,savedAt:t}){const[i,a]=r.useState(!1);return r.useEffect(()=>{if(!t)return;a(!0);const n=setTimeout(()=>a(!1),1800);return()=>clearTimeout(n)},[t]),s?e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[12.5px] text-muted-foreground","aria-live":"polite",children:[e.jsx(o,{className:"size-3.5 animate-spin","aria-hidden":"true"}),"Saving"]}):e.jsx("span",{className:"text-[12.5px] text-muted-foreground","aria-live":"polite",children:i?"Saved":""})}export{l as S};
1
+ import{r,j as e,aR as o}from"./index-BZAfm4kX.js";function l({saving:s,savedAt:t}){const[i,a]=r.useState(!1);return r.useEffect(()=>{if(!t)return;a(!0);const n=setTimeout(()=>a(!1),1800);return()=>clearTimeout(n)},[t]),s?e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[12.5px] text-muted-foreground","aria-live":"polite",children:[e.jsx(o,{className:"size-3.5 animate-spin","aria-hidden":"true"}),"Saving"]}):e.jsx("span",{className:"text-[12.5px] text-muted-foreground","aria-live":"polite",children:i?"Saved":""})}export{l as S};
@@ -1,4 +1,4 @@
1
- import{u as pt,a as gt,b as ft,c as I,r as o,d as z,e as le,g as ht,j as e,B as J,f as w,h as se,m as be,E as xt,i as ve,k as ge,l as mt,n as bt,o as ne,S as vt,p as Z,q as jt,L as _,s as yt,t as _e,M as St,v as wt,w as Ct,x as Nt,y as kt,O as Tt}from"./index-DtF8YHqn.js";import{u as He}from"./useQuery-OgrKuHbc.js";import{T as Pt,i as ze,a as Rt,D as Mt,b as Et,c as Ot,X as Dt,d as It,e as At,f as _t,g as Ht,R as zt,p as Lt,h as $t,j as Bt,k as Ft,P as Ut,l as qt,u as Gt,m as Vt,n as Kt,o as Yt,q as Wt,r as Xt,s as Qt,t as Jt,v as Zt,w as es,x as ts,y as ss,z as ns,A as as,F as rs,B as os,C as is,E as Le,G as $e,H as Be,I as ls,J as ds,K as cs}from"./dialog-DdpHZobU.js";import{c as B,n as Fe,g as us,a as fe,t as ps,d as gs,i as fs,u as hs,b as de,L as xs,I as ms}from"./label-Dj8L94iS.js";import{g as he,u as bs,a as vs,b as js,s as ys,c as Ss,d as ws,e as Cs,f as Ns,h as ks,S as Ue,E as Q,D as ae,i as re,j as oe,k as je,l as ee,m as D,n as V,o as Ts,p as ce}from"./dropdown-menu-CB2L3nig.js";import{u as qe}from"./useRender-DOFVvGfR.js";import{A as Ps,a as Rs}from"./avatar-BKSc7tnv.js";import{S as Ms,i as Es,a as Os}from"./labels--UUyt9uB.js";import{u as Ge}from"./me-7-r9OeMR.js";import{L as te}from"./layout-grid-DuweH0Vl.js";import{U as xe}from"./users-CRiOyD0f.js";import{c as Ds}from"./update-duXzIzFS.js";import{P as Ve}from"./plus-CEWgXDLj.js";import{M as Is,S as As,a as _s}from"./sun-Bg7U-6Y0.js";import"./useBaseQuery-DSqwWD_O.js";import"./check-Ti2IOlgc.js";import"./CompositeItem-D1SCvKo_.js";import"./useValueChanged-B9k7l-mp.js";function Hs(t){const s=pt({warn:t?.router===void 0}),n=t?.router||s;return gt(n.stores.__store,ft(t,n))}/**
1
+ import{u as pt,a as gt,b as ft,c as I,r as o,d as z,e as le,g as ht,j as e,B as J,f as w,h as se,m as be,E as xt,i as ve,k as ge,l as mt,n as bt,o as ne,S as vt,p as Z,q as jt,L as _,s as yt,t as _e,M as St,v as wt,w as Ct,x as Nt,y as kt,O as Tt}from"./index-BZAfm4kX.js";import{u as He}from"./useQuery-C0BVsxqZ.js";import{T as Pt,i as ze,a as Rt,D as Mt,b as Et,c as Ot,X as Dt,d as It,e as At,f as _t,g as Ht,R as zt,p as Lt,h as $t,j as Bt,k as Ft,P as Ut,l as qt,u as Gt,m as Vt,n as Kt,o as Yt,q as Wt,r as Xt,s as Qt,t as Jt,v as Zt,w as es,x as ts,y as ss,z as ns,A as as,F as rs,B as os,C as is,E as Le,G as $e,H as Be,I as ls,J as ds,K as cs}from"./dialog-_GPHTnXl.js";import{c as B,n as Fe,g as us,a as fe,t as ps,d as gs,i as fs,u as hs,b as de,L as xs,I as ms}from"./label-C9GdL6JP.js";import{g as he,u as bs,a as vs,b as js,s as ys,c as Ss,d as ws,e as Cs,f as Ns,h as ks,S as Ue,E as Q,D as ae,i as re,j as oe,k as je,l as ee,m as D,n as V,o as Ts,p as ce}from"./dropdown-menu-BEcLmKR6.js";import{u as qe}from"./useRender-P5Wj_Sbt.js";import{A as Ps,a as Rs}from"./avatar-CFgdRtiV.js";import{S as Ms,i as Es,a as Os}from"./labels--UUyt9uB.js";import{u as Ge}from"./me-Bgw9jS9F.js";import{L as te}from"./layout-grid-3hfjyzci.js";import{U as xe}from"./users-DCeMsa2g.js";import{c as Ds}from"./update-duXzIzFS.js";import{P as Ve}from"./plus-CTKInfcq.js";import{M as Is,S as As,a as _s}from"./sun--lA9pLT9.js";import"./useBaseQuery-CZkDX1tZ.js";import"./check-CMqBU0e3.js";import"./CompositeItem-wqcRki5s.js";import"./useValueChanged-CCRl5Bf5.js";function Hs(t){const s=pt({warn:t?.router===void 0}),n=t?.router||s;return gt(n.stores.__store,ft(t,n))}/**
2
2
  * @license lucide-react v1.39.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{j as e,u as n,G as a,B as r}from"./index-DtF8YHqn.js";function i({error:s}){const t=n(),o=s instanceof Error?s.message:"Something went wrong.";return e.jsx(a,{children:e.jsxs("div",{className:"flex flex-col items-start gap-3",children:[e.jsx("h1",{className:"m-0 text-lg font-semibold",children:"Could not load the dashboard"}),e.jsx("p",{className:"m-0 text-muted-foreground",children:o}),e.jsx(r,{variant:"outline",size:"sm",onClick:()=>void t.invalidate(),children:"Try again"})]})})}const m=({error:s})=>e.jsx(i,{error:s});export{m as errorComponent};
1
+ import{j as e,u as n,G as a,B as r}from"./index-BZAfm4kX.js";function i({error:s}){const t=n(),o=s instanceof Error?s.message:"Something went wrong.";return e.jsx(a,{children:e.jsxs("div",{className:"flex flex-col items-start gap-3",children:[e.jsx("h1",{className:"m-0 text-lg font-semibold",children:"Could not load the dashboard"}),e.jsx("p",{className:"m-0 text-muted-foreground",children:o}),e.jsx(r,{variant:"outline",size:"sm",onClick:()=>void t.invalidate(),children:"Try again"})]})})}const m=({error:s})=>e.jsx(i,{error:s});export{m as errorComponent};