@bud.sh/app 0.5.0 → 0.5.1

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 (57) hide show
  1. package/dist/client/assets/bud/design.js +1 -1
  2. package/dist/client/assets/{canvas-Cu6R6xxT.js → canvas-8GXJIuDK.js} +1 -1
  3. package/dist/client/assets/difference-worker-C99ychYw.js +8 -0
  4. package/dist/client/assets/{files-js6ElfkU.js → files-DkWt1l9H.js} +1 -1
  5. package/dist/client/assets/i18n-hH_Ba5QO.js +1 -0
  6. package/dist/client/assets/{index-ChANGtl-.js → index-Dn2pfmXf.js} +2 -2
  7. package/dist/client/assets/index-tpHYVXma.css +2 -0
  8. package/dist/client/assets/{pages-6_lhiQmz.js → pages-BVd6MQmu.js} +1 -1
  9. package/dist/client/assets/{project-branches-DO897zM6.js → project-branches-CMGRmrqr.js} +1 -1
  10. package/dist/client/assets/project-comments-D1IIQwsW.js +1 -0
  11. package/dist/client/assets/{project-thread-links-NLFWQRD2.js → project-thread-links-DKwe_SYb.js} +1 -1
  12. package/dist/client/assets/{project-threads-Lay351p4.js → project-threads-ZbKDh78d.js} +2 -2
  13. package/dist/client/assets/{project-work-du0Y-L5Y.js → project-work-D4DZqBCZ.js} +1 -1
  14. package/dist/client/assets/{task-design-Avb2RO4w.js → task-design-BPpc4Gd7.js} +1 -1
  15. package/dist/client/assets/{tasks-CA-E8bbK.js → tasks-Cn0VOZ9Z.js} +1 -1
  16. package/dist/client/assets/{tasks-request-C55IeuiP.js → tasks-request-BLyOzokZ.js} +1 -1
  17. package/dist/client/assets/{workspace-Cw5HvX5d.js → workspace-DGErsSg6.js} +2 -2
  18. package/dist/client/index.html +3 -3
  19. package/dist/hosted/assets/{canvas-V36732ER.js → canvas-BYTOp1p7.js} +4 -4
  20. package/dist/hosted/assets/{comment-data-CF2ZV_3k.js → comment-data-Cn5y2VxV.js} +6 -21
  21. package/dist/hosted/assets/{files-DjSCjfU7.js → files-B1P2_24q.js} +3 -3
  22. package/dist/hosted/assets/{pages-BzjzeuPu.js → pages-B0ZlVdci.js} +3 -3
  23. package/dist/hosted/assets/{project-branches-BT97J9i7.js → project-branches-DlCWmfRo.js} +1 -1
  24. package/dist/hosted/assets/{project-thread-links-BRLgByEe.js → project-thread-links-BZXQ200n.js} +2 -2
  25. package/dist/hosted/assets/{screen-CKp2C7kx.js → screen-CfdC3NbR.js} +5 -1
  26. package/dist/hosted/assets/{tasks-Dj7AyBJB.js → tasks-_yKh2Z6q.js} +4 -4
  27. package/dist/hosted/assets/{tasks-request-DZob623r.js → tasks-request-CFPLvLc7.js} +1 -1
  28. package/dist/hosted/hosted.js +6 -6
  29. package/dist/node/design.js +0 -5
  30. package/dist/node-host/assets/{canvas-TRUfxfL5.js → canvas-DxmcFZCh.js} +4 -4
  31. package/dist/node-host/assets/{comment-data-DyIZNpfG.js → comment-data-yfWEdDQL.js} +6 -21
  32. package/dist/node-host/assets/{files-Dh2TiQZq.js → files-anHi-apm.js} +3 -3
  33. package/dist/node-host/assets/{pages-BxpjbYhs.js → pages-CW4aF6dK.js} +3 -3
  34. package/dist/node-host/assets/{project-branches-B7HUGiVK.js → project-branches-D7rVCxQX.js} +1 -1
  35. package/dist/node-host/assets/{project-thread-links-CauJF0Cz.js → project-thread-links-m-OLpsD9.js} +2 -2
  36. package/dist/node-host/assets/{screen-CZXWJEds.js → screen-DapOVrga.js} +5 -1
  37. package/dist/node-host/assets/{tasks-Bs1IOpeU.js → tasks-BBK_CybR.js} +4 -4
  38. package/dist/node-host/assets/{tasks-request-ZWmbc8fE.js → tasks-request-B0aeNocI.js} +1 -1
  39. package/dist/node-host/node-host.js +6 -6
  40. package/dist/server/assets/{canvas-Dc1mYCwQ.js → canvas-CkMK4hoN.js} +4 -4
  41. package/dist/server/assets/{comment-data-CsjukwAW.js → comment-data-NLeHG89b.js} +6 -21
  42. package/dist/server/assets/{files-E9mSFeoc.js → files-CRdl489E.js} +3 -3
  43. package/dist/server/assets/{listener-DN5TyOjJ.js → listener-BAYn9Q-u.js} +6 -6
  44. package/dist/server/assets/{pages-BBBXyJWV.js → pages-DXVlJlBC.js} +3 -3
  45. package/dist/server/assets/{project-branches-B0YIK6Ur.js → project-branches-CwTsf6WQ.js} +1 -1
  46. package/dist/server/assets/{project-thread-links-CBOpf6zk.js → project-thread-links-lLS_rq7c.js} +2 -2
  47. package/dist/server/assets/{project-work-qSKFO5yj.js → project-work-CSZlCwH-.js} +2 -2
  48. package/dist/server/assets/{screen-BIQA2mr4.js → screen-B1zH_1O3.js} +5 -1
  49. package/dist/server/assets/{tasks-CiXodsLN.js → tasks-CGdz-uox.js} +5 -5
  50. package/dist/server/assets/{tasks-request-DhwCzpRi.js → tasks-request-D2NBjCTl.js} +1 -1
  51. package/dist/server/runtime.js +1 -1
  52. package/dist/server/server.js +1 -1
  53. package/package.json +1 -1
  54. package/dist/client/assets/difference-worker-jfTSn-Tw.js +0 -8
  55. package/dist/client/assets/i18n-DxqFr2mi.js +0 -1
  56. package/dist/client/assets/index-CFFxP0gS.css +0 -2
  57. package/dist/client/assets/project-comments-DFFKVpia.js +0 -1
@@ -1507,10 +1507,6 @@ var de$1 = {
1507
1507
  text: "Leinwand verschieben",
1508
1508
  source: "233eddf0"
1509
1509
  },
1510
- "canvas.canvasWorkspace.reload": {
1511
- text: "Neu laden",
1512
- source: "1a43a2ac"
1513
- },
1514
1510
  "canvas.canvasWorkspace.savingComments": {
1515
1511
  text: "Kommentare werden gespeichert",
1516
1512
  source: "1f15fbfb"
@@ -5604,7 +5600,6 @@ var en = {
5604
5600
  "canvas.canvasWorkspace.interactWithPages": "Interact with pages",
5605
5601
  "canvas.canvasWorkspace.newComment": "New comment",
5606
5602
  "canvas.canvasWorkspace.panCanvas": "Pan canvas",
5607
- "canvas.canvasWorkspace.reload": "Reload",
5608
5603
  "canvas.canvasWorkspace.savingComments": "Saving comments",
5609
5604
  "canvas.canvasWorkspace.showDarkPages": "Show dark pages",
5610
5605
  "canvas.canvasWorkspace.showFullPages": "Show full pages",
@@ -60614,23 +60609,13 @@ function CanvasWorkspace(handle) {
60614
60609
  if (zoomLabel) zoomLabel.textContent = `${Math.round(scale * 100)}%`;
60615
60610
  }
60616
60611
  }),
60617
- handle.props.error || handle.props.commentsUnavailable || notice ? /* @__PURE__ */ jsxs("div", {
60618
- role: handle.props.error ? "alert" : "status",
60619
- class: `absolute top-3 left-3 max-w-[calc(100%-24px)] bud-overlay rounded-lg px-3 py-2 ${handle.props.error ? "text-red-500" : "text-muted"}`,
60620
- children: [/* @__PURE__ */ jsx(Text, {
60612
+ handle.props.commentsUnavailable || notice ? /* @__PURE__ */ jsx("div", {
60613
+ role: "status",
60614
+ class: "absolute top-3 left-3 max-w-[calc(100%-24px)] bud-overlay rounded-lg px-3 py-2 text-muted",
60615
+ children: /* @__PURE__ */ jsx(Text, {
60621
60616
  variant: "ui-caption",
60622
- children: handle.props.error || handle.props.commentsUnavailable || notice
60623
- }), handle.props.error ? /* @__PURE__ */ jsx("button", {
60624
- type: "button",
60625
- class: "ml-2 underline",
60626
- mix: on("click", () => {
60627
- handle.props.onReload?.();
60628
- }),
60629
- children: /* @__PURE__ */ jsx(Text, {
60630
- variant: "ui-caption",
60631
- children: t$2("canvas.canvasWorkspace.reload")
60632
- })
60633
- }) : null]
60617
+ children: handle.props.commentsUnavailable || notice
60618
+ })
60634
60619
  }) : null,
60635
60620
  panel && !handle.props.commentsUnavailable ? /* @__PURE__ */ jsx(ConversationSidebar, {
60636
60621
  threads: handle.props.snapshot.threads,
@@ -1,10 +1,10 @@
1
1
  import { C as getFiletypeFromFileName, P as __toESM, S as getCustomExtensionsVersion, x as getCustomExtensionsMap } from "./cloneFileDiffMetadata-B-xwytg8.js";
2
2
  import { Et as parseReviewRepository, Ft as parseFileSearchQuery, Gt as parseFileIndex, H as createCodeAnchor, It as parseFileSearchResult, K as reviewConflictIdentity, Ot as parseReviewSnapshot, St as parseReviewDiff, Ut as parseFileChange, W as parseFileUpdate, Wt as parseFileDocument, Xt as parseFilePath, at as parseReviewActionPlan, ct as parseReviewActionResult, dt as maxFileSaveBytes, gt as parseRecoveries, h as fileRoutes, ht as parseMutationResult, i as routes, kt as parseReviewSource, lt as parseFileSaveRequest, mt as parseMutationPlan, ot as parseReviewActionRecoveries, ut as parseFileSaveResult, wt as parseReviewHistory } from "./events-iHpLGr3k.js";
3
- import { $t as areFileRenderOptionsEqual, A as FileRecoveryDialog, At as fileHref, Ct as readReviewLocation, D as FileEditorPanel, Dt as reviewHref, E as ReviewActionDialog, En as t, Et as reviewContextKey, F as defaultFileDestination, G as ConversationSidebar, Gt as areDiffTargetsEqual, Ht as renderDiffWithHighlighter, I as fileActionIntent, Jt as WorkerPoolWorkerError, Kt as WorkerPoolTaskCanceledError, L as mutationFileView, M as FileReviewPanel, Mt as readFileLocation, N as codeThemes, Nt as reconcileFileView, O as defaultEditorPreferences, On as Text, Ot as closeFileTab, P as FileWorkspace, Pt as rememberFile, Qt as renderFileWithHighlighter, R as remainingMutationIntent, Sn as writePreference, St as parseReviewSession, T as FileConflictPanel, Tt as reviewComparison, U as FileSearchPanel, Ut as areDiffRenderOptionsEqual, Vt as isDiffPlainText, Wt as areFilesEqual, Xt as markWorkerErrorReported, Yt as isHandledWorkerPoolError, Zt as isFilePlainText, an as attachResolvedThemes, bn as toast, bt as defaultReviewView, cn as getResolvedOrResolveLanguage, ct as codeCommentCounts, dn as ResolvedLanguages, en as hasResolvedThemes, f as storeDocument, ft as isCodeConversation, ht as readConversationLocation, in as validateResolvedThemeName, j as FileMutationDialog, jt as parseFileView, k as parseEditorPreferences, kt as defaultFileView, l as projectStore, ln as resolveLanguage, m as storedFiles, mt as locateCodeConversations, nn as getSharedHighlighter, on as themeResolver, p as storedDocument, qt as WorkerPoolTerminatedError, rn as prepareThemeResolution, s as applyFileUpdate, sn as getThemes, tn as areThemesEqual, u as saveFiles, un as areLanguagesAttached, ut as conversationHref, v as projectLive, wt as rememberReviewPosition, xn as readPreference, yt as defaultReviewPosition } from "./comment-data-CsjukwAW.js";
3
+ import { $t as areFileRenderOptionsEqual, A as FileRecoveryDialog, At as fileHref, Ct as readReviewLocation, D as FileEditorPanel, Dt as reviewHref, E as ReviewActionDialog, En as t, Et as reviewContextKey, F as defaultFileDestination, G as ConversationSidebar, Gt as areDiffTargetsEqual, Ht as renderDiffWithHighlighter, I as fileActionIntent, Jt as WorkerPoolWorkerError, Kt as WorkerPoolTaskCanceledError, L as mutationFileView, M as FileReviewPanel, Mt as readFileLocation, N as codeThemes, Nt as reconcileFileView, O as defaultEditorPreferences, On as Text, Ot as closeFileTab, P as FileWorkspace, Pt as rememberFile, Qt as renderFileWithHighlighter, R as remainingMutationIntent, Sn as writePreference, St as parseReviewSession, T as FileConflictPanel, Tt as reviewComparison, U as FileSearchPanel, Ut as areDiffRenderOptionsEqual, Vt as isDiffPlainText, Wt as areFilesEqual, Xt as markWorkerErrorReported, Yt as isHandledWorkerPoolError, Zt as isFilePlainText, an as attachResolvedThemes, bn as toast, bt as defaultReviewView, cn as getResolvedOrResolveLanguage, ct as codeCommentCounts, dn as ResolvedLanguages, en as hasResolvedThemes, f as storeDocument, ft as isCodeConversation, ht as readConversationLocation, in as validateResolvedThemeName, j as FileMutationDialog, jt as parseFileView, k as parseEditorPreferences, kt as defaultFileView, l as projectStore, ln as resolveLanguage, m as storedFiles, mt as locateCodeConversations, nn as getSharedHighlighter, on as themeResolver, p as storedDocument, qt as WorkerPoolTerminatedError, rn as prepareThemeResolution, s as applyFileUpdate, sn as getThemes, tn as areThemesEqual, u as saveFiles, un as areLanguagesAttached, ut as conversationHref, v as projectLive, wt as rememberReviewPosition, xn as readPreference, yt as defaultReviewPosition } from "./comment-data-NLeHG89b.js";
4
4
  import { l as DEFAULT_THEMES } from "./constants-C7Y3SJGj.js";
5
5
  import { t as require_lru } from "./lru-C4Rh6JYD.js";
6
- import { n as createProjectComments, t as defineScreen } from "./screen-BIQA2mr4.js";
7
- import { t as ProjectThreadLinks } from "./project-thread-links-CBOpf6zk.js";
6
+ import { n as createProjectComments, t as defineScreen } from "./screen-B1zH_1O3.js";
7
+ import { t as ProjectThreadLinks } from "./project-thread-links-lLS_rq7c.js";
8
8
  import { ref } from "remix/component";
9
9
  import { jsx, jsxs } from "remix/component/jsx-runtime";
10
10
  //#region ../../node_modules/.pnpm/@pierre+diffs@1.5.2_@shikijs+themes@4.5.0_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedLanguages.js
@@ -1,9 +1,9 @@
1
1
  import { Dn as tryPromise, Dt as callback, Ft as fail$1, Gt as map, Kt as mapError, Lt as flatMap, Mn as void_, Nt as die, On as try_, Pt as ensuring, Sn as sync, St as andThen, Ut as gen, Xt as orElseSucceed, Zt as promise, g as resolveScreenRoutes, gn as scoped, gr as TaggedError, h as defaultScreens, qt as match, s as Previews, t as BranchPreviews, u as Git, v as themeStyle, vt as acquireRelease, y as LOGO_TYPES } from "./branch-previews-ClkoJ0lM.js";
2
2
  import { C as selected$1, I as WorkError, L as ScreenModules, O as AdapterRegistry, S as ready, T as LiveChannel, V as taskDesignModuleId, a as FileMutations, b as read, c as FileReview, f as Files, g as StoreActivity, h as ReviewActionError, m as FilesInputError, r as FileSaves, t as FileReviewActions, u as FileSearch, w as validate, x as readWorkspace, y as inspect } from "./server-DxK-UB_Z.js";
3
3
  import { At as parseReviewSourceQuery, Ct as parseReviewDiffQuery, F as parseThreadId, Ft as parseFileSearchQuery, I as parseThreadInput, Kt as parseFileIndexQuery, L as parseThreadLinkInput, N as parseThreadDeleteInput, On as parseMessageAuthor, P as parseThreadFilter, R as parseThreadReplyInput, Sn as parseWorkUpdate, Tt as parseReviewHistoryQuery, V as parseThreadStatusInput, Xt as parseFilePath, _ as taskRoutes, bn as parseWorkSync, cn as parseSectionData, dt as maxFileSaveBytes, fn as parseWorkCreate, ft as parseMutationApply, g as pageRoutes, gn as parseWorkMutationResult, h as fileRoutes, hn as parseWorkItemRef, i as routes, in as parseElementAnchor, it as parseReviewActionIntent, j as parseThread, ln as parseWorkActionInput, lt as parseFileSaveRequest, pn as parseWorkDetail, pt as parseMutationIntent, rn as MAX_CANVAS_Y, rt as parseReviewActionApply, vn as parseWorkQuery, xn as parseWorkSyncResult, xt as parseReviewComparison, z as parseThreadSnapshot } from "./events-iHpLGr3k.js";
4
- import { $ as openShellTab, B as parseTaskDesign, Bt as Button, Cn as hasMessage, Dn as useLocaleSource, En as t, J as FieldCardContent, On as Text, Q as initialShellTabs, Rt as Loader, Sn as writePreference, Tn as locale, X as activeTab, Y as FieldCardHeader, Z as closeShellTab, _ as requestComments, _n as LiveStatus, _t as taskHref, at as tabsCookieValue, et as parseShellTabs, gt as selectedTask, ht as readConversationLocation, it as tabsCookieName, lt as conversationDestination, mn as ShellTabBar, n as unavailableComments, nt as stepShellTab, ot as visitShellTab, pt as legacyConversationHref, q as FieldCard, r as followThreads, rt as tabHref, t as commentsUnavailable, tt as readTabsCookie, v as projectLive, wn as isLocale, xn as readPreference, xt as legacyFileHref, yn as AppShell } from "./comment-data-CsjukwAW.js";
4
+ import { $ as openShellTab, B as parseTaskDesign, Bt as Button, Cn as hasMessage, Dn as useLocaleSource, En as t, J as FieldCardContent, On as Text, Q as initialShellTabs, Rt as Loader, Sn as writePreference, Tn as locale, X as activeTab, Y as FieldCardHeader, Z as closeShellTab, _ as requestComments, _n as LiveStatus, _t as taskHref, at as tabsCookieValue, et as parseShellTabs, gt as selectedTask, ht as readConversationLocation, it as tabsCookieName, lt as conversationDestination, mn as ShellTabBar, n as unavailableComments, nt as stepShellTab, ot as visitShellTab, pt as legacyConversationHref, q as FieldCard, r as followThreads, rt as tabHref, t as commentsUnavailable, tt as readTabsCookie, v as projectLive, wn as isLocale, xn as readPreference, xt as legacyFileHref, yn as AppShell } from "./comment-data-NLeHG89b.js";
5
5
  import { d as parsePreviewHash, f as parsePreviewId, l as parsePreviewBranch, m as parsePreviewViewport } from "./parsers-CsiSkwTT.js";
6
- import { t as projectWork } from "./project-work-qSKFO5yj.js";
6
+ import { t as projectWork } from "./project-work-CSZlCwH-.js";
7
7
  import { n as showWorkspaceTab } from "./workspace-tab-DAUjkJzZ.js";
8
8
  import { createHash } from "node:crypto";
9
9
  import { extname, isAbsolute, relative, resolve } from "node:path";
@@ -86,10 +86,10 @@ function ProjectLiveStatus(handle) {
86
86
  //#endregion
87
87
  //#region app/client/screens.ts
88
88
  var builtIns = {
89
- "bud:pages": () => import("./pages-BBBXyJWV.js"),
90
- "bud:canvas": () => import("./canvas-Dc1mYCwQ.js"),
91
- "bud:tasks": () => import("./tasks-CiXodsLN.js"),
92
- "bud:files": () => import("./files-E9mSFeoc.js")
89
+ "bud:pages": () => import("./pages-DXVlJlBC.js"),
90
+ "bud:canvas": () => import("./canvas-CkMK4hoN.js"),
91
+ "bud:tasks": () => import("./tasks-CGdz-uox.js"),
92
+ "bud:files": () => import("./files-CRdl489E.js")
93
93
  };
94
94
  /**
95
95
  * Imports a screen module: a built-in by its key, any other by the URL the server gave it.
@@ -1,8 +1,8 @@
1
1
  import { g as pageRoutes, rn as MAX_CANVAS_Y } from "./events-iHpLGr3k.js";
2
- import { En as t, On as Text, Rt as Loader, Sn as writePreference, gn as IconButton, hn as Select, l as projectStore, st as PagesWorkspace, xn as readPreference, zt as Spinner } from "./comment-data-CsjukwAW.js";
2
+ import { En as t, On as Text, Rt as Loader, Sn as writePreference, gn as IconButton, hn as Select, l as projectStore, st as PagesWorkspace, xn as readPreference, zt as Spinner } from "./comment-data-NLeHG89b.js";
3
3
  import { r as workspaceTab, t as followWorkspaceTab } from "./workspace-tab-DAUjkJzZ.js";
4
- import { n as createProjectPreviews, r as locatePreview, t as createProjectBranches } from "./project-branches-B0YIK6Ur.js";
5
- import { n as createProjectComments, t as defineScreen } from "./screen-BIQA2mr4.js";
4
+ import { n as createProjectPreviews, r as locatePreview, t as createProjectBranches } from "./project-branches-CwTsf6WQ.js";
5
+ import { n as createProjectComments, t as defineScreen } from "./screen-B1zH_1O3.js";
6
6
  import { array, number, object, optional, parseSafe, string } from "remix/data-schema";
7
7
  import { on, ref } from "remix/component";
8
8
  import { Fragment, jsx, jsxs } from "remix/component/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import { i as routes, in as parseElementAnchor } from "./events-iHpLGr3k.js";
2
- import { En as t, c as previewKey, l as projectStore, v as projectLive, x as writeRows, y as plainRow } from "./comment-data-CsjukwAW.js";
2
+ import { En as t, c as previewKey, l as projectStore, v as projectLive, x as writeRows, y as plainRow } from "./comment-data-NLeHG89b.js";
3
3
  import { c as parsePreview, l as parsePreviewBranch, p as parsePreviewPins } from "./parsers-CsiSkwTT.js";
4
4
  import { array, boolean, enum_, nullable, number, object, parseSafe, string } from "remix/data-schema";
5
5
  //#region app/client/project-previews.ts
@@ -1,6 +1,6 @@
1
1
  import { L as parseThreadLinkInput, an as parseWorkWorkspace, hn as parseWorkItemRef, i as routes, j as parseThread, wn as valueByRole } from "./events-iHpLGr3k.js";
2
- import { C as ThreadTaskPicker, En as t, S as ThreadTaskLinks, _ as requestComments, _t as taskHref, gn as IconButton } from "./comment-data-CsjukwAW.js";
3
- import { n as requestTasks } from "./tasks-request-DhwCzpRi.js";
2
+ import { C as ThreadTaskPicker, En as t, S as ThreadTaskLinks, _ as requestComments, _t as taskHref, gn as IconButton } from "./comment-data-NLeHG89b.js";
3
+ import { n as requestTasks } from "./tasks-request-D2NBjCTl.js";
4
4
  import { on, ref } from "remix/component";
5
5
  import { Fragment, jsx, jsxs } from "remix/component/jsx-runtime";
6
6
  //#region app/client/project-task-picker.tsx
@@ -1,6 +1,6 @@
1
1
  import { E as parseWorkChange, an as parseWorkWorkspace, i as routes } from "./events-iHpLGr3k.js";
2
- import { d as saveWorkspace, l as projectStore, v as projectLive, x as writeRows, y as plainRow } from "./comment-data-CsjukwAW.js";
3
- import { n as requestTasks } from "./tasks-request-DhwCzpRi.js";
2
+ import { d as saveWorkspace, l as projectStore, v as projectLive, x as writeRows, y as plainRow } from "./comment-data-NLeHG89b.js";
3
+ import { n as requestTasks } from "./tasks-request-D2NBjCTl.js";
4
4
  //#region app/client/project-work.ts
5
5
  var syncs = /* @__PURE__ */ new Map();
6
6
  /**
@@ -1,5 +1,5 @@
1
1
  import { F as parseThreadId, P as parseThreadFilter, b as predictThreadReply, i as routes, j as parseThread, v as predictThreadCreate, x as predictThreadStatus, y as predictThreadDelete, z as parseThreadSnapshot } from "./events-iHpLGr3k.js";
2
- import { En as t, _ as requestComments, a as saveThreads, b as writeOptimistically, bn as toast, g as CommentsRequestError, i as saveThread, l as projectStore, n as unavailableComments, o as threadMatches, x as writeRows, y as plainRow } from "./comment-data-CsjukwAW.js";
2
+ import { En as t, _ as requestComments, a as saveThreads, b as writeOptimistically, bn as toast, g as CommentsRequestError, i as saveThread, l as projectStore, n as unavailableComments, o as threadMatches, x as writeRows, y as plainRow } from "./comment-data-NLeHG89b.js";
3
3
  //#region app/client/project-comments.ts
4
4
  var viewers = /* @__PURE__ */ new Map();
5
5
  function parseViewer(value) {
@@ -234,6 +234,10 @@ function createProjectComments(options) {
234
234
  if (!detailFailures.size) error = "";
235
235
  }
236
236
  } catch (cause) {
237
+ if (!signal.aborted && turn === generation && cause instanceof CommentsRequestError && cause.code === "not-found") {
238
+ await forget(id);
239
+ return;
240
+ }
237
241
  if (!signal.aborted && turn === generation) {
238
242
  detailFailures.add(id);
239
243
  error = cause instanceof Error ? cause.message : t("app.client.projectComments.couldNotLoadDiscussion");
@@ -1,9 +1,9 @@
1
1
  import { C as predictWorkCreate, S as predictWorkAction, _ as taskRoutes, cn as parseSectionData, gn as parseWorkMutationResult, i as routes, pn as parseWorkDetail, w as predictWorkUpdate, xn as parseWorkSyncResult } from "./events-iHpLGr3k.js";
2
- import { Bt as Button, En as t, Ft as CommentThreadDetail, It as CommentThreadItem, K as CommentThreadHeading, Lt as CommentComposer, On as Text, S as ThreadTaskLinks, _t as taskHref, b as writeOptimistically, bn as toast, dt as conversationLabel, gt as selectedTask, h as storedWorkspace, ht as readConversationLocation, l as projectStore, vt as taskRole, w as ItemDiscussion, x as writeRows, y as plainRow, z as TaskWorkspace } from "./comment-data-CsjukwAW.js";
3
- import { n as requestTasks, t as TaskRequestError } from "./tasks-request-DhwCzpRi.js";
4
- import { t as projectWork } from "./project-work-qSKFO5yj.js";
5
- import { i as loadItemComments, n as createProjectComments, t as defineScreen } from "./screen-BIQA2mr4.js";
6
- import { n as ProjectTaskPicker, t as ProjectThreadLinks } from "./project-thread-links-CBOpf6zk.js";
2
+ import { Bt as Button, En as t, Ft as CommentThreadDetail, It as CommentThreadItem, K as CommentThreadHeading, Lt as CommentComposer, On as Text, S as ThreadTaskLinks, _t as taskHref, b as writeOptimistically, bn as toast, dt as conversationLabel, gt as selectedTask, h as storedWorkspace, ht as readConversationLocation, l as projectStore, vt as taskRole, w as ItemDiscussion, x as writeRows, y as plainRow, z as TaskWorkspace } from "./comment-data-NLeHG89b.js";
3
+ import { n as requestTasks, t as TaskRequestError } from "./tasks-request-D2NBjCTl.js";
4
+ import { t as projectWork } from "./project-work-CSZlCwH-.js";
5
+ import { i as loadItemComments, n as createProjectComments, t as defineScreen } from "./screen-B1zH_1O3.js";
6
+ import { n as ProjectTaskPicker, t as ProjectThreadLinks } from "./project-thread-links-lLS_rq7c.js";
7
7
  import { on, ref } from "remix/component";
8
8
  import { Fragment, jsx, jsxs } from "remix/component/jsx-runtime";
9
9
  //#region app/client/task-discussion.tsx
@@ -1,5 +1,5 @@
1
1
  import { hn as parseWorkItemRef, i as routes, vn as parseWorkQuery } from "./events-iHpLGr3k.js";
2
- import { En as t } from "./comment-data-CsjukwAW.js";
2
+ import { En as t } from "./comment-data-NLeHG89b.js";
3
3
  import { createMultiMatcher } from "remix/route-pattern/match";
4
4
  //#region app/client/tasks-request.ts
5
5
  var reads = createMultiMatcher();
@@ -1,6 +1,6 @@
1
1
  import { An as uninterruptible, Dn as tryPromise, Kt as mapError, Rn as effect, Ut as gen, Zt as promise, p as createProjectContext, qn as provideMerge, sn as runPromise, sr as Service, vt as acquireRelease, x as readText } from "./assets/branch-previews-ClkoJ0lM.js";
2
2
  import { B as sharedModules, H as make } from "./assets/server-DxK-UB_Z.js";
3
- import { n as listen, r as createApp, t as ServerError } from "./assets/listener-DN5TyOjJ.js";
3
+ import { n as listen, r as createApp, t as ServerError } from "./assets/listener-BAYn9Q-u.js";
4
4
  import { t as applicationLayer } from "./assets/services-BRrgXYlT.js";
5
5
  import { fileURLToPath } from "node:url";
6
6
  //#region app/server/runtime.ts
@@ -1,6 +1,6 @@
1
1
  import { Kn as provide, Rn as effect, Ut as gen, b as nodeLayer, sr as Service, x as readText } from "./assets/branch-previews-ClkoJ0lM.js";
2
2
  import { H as make } from "./assets/server-DxK-UB_Z.js";
3
- import { n as listen, r as createApp } from "./assets/listener-DN5TyOjJ.js";
3
+ import { n as listen, r as createApp } from "./assets/listener-BAYn9Q-u.js";
4
4
  import { fileURLToPath } from "node:url";
5
5
  //#region server.ts
6
6
  var Listener = class extends Service()("bud/StandaloneListener") {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bud.sh/app",
3
3
  "description": "The app, its config, screen and design APIs",
4
- "version": "0.5.0",
4
+ "version": "0.5.1",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
7
7
  "publishConfig": {