@the-portland-company/shell 0.27.0 → 0.28.0
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.
- package/CHANGELOG.md +16 -0
- package/dist/app-chrome.cjs +22 -2
- package/dist/app-chrome.cjs.map +1 -1
- package/dist/app-chrome.js +23 -3
- package/dist/app-chrome.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## 0.28.0 — 2026-07-23
|
|
2
|
+
|
|
3
|
+
### Fixed — DevNotes "Create Task" did nothing
|
|
4
|
+
|
|
5
|
+
`AppDevNotes` mounted `DevNotesProvider` and the menu, but never
|
|
6
|
+
`<DevNotesOverlay />`. The menu only TOGGLES creation mode; the overlay is what
|
|
7
|
+
renders the click-to-place capture layer, the report dots and the report form —
|
|
8
|
+
so on forms / surveys / polls, clicking **Create Task** closed the menu and
|
|
9
|
+
nothing happened at all (HITL bug report 2026-07-23). Contacts escaped it only
|
|
10
|
+
because it still carried its own hand-rolled surface.
|
|
11
|
+
|
|
12
|
+
The chrome now mounts a `DevNotesSurface` at the chrome root: the overlay, plus
|
|
13
|
+
the "View All Tasks" modal (rendered at the root so the top bar's stacking and
|
|
14
|
+
backdrop-blur can't trap it, and mounted only while open so it doesn't fetch
|
|
15
|
+
every user's tasks on page load).
|
|
16
|
+
|
|
1
17
|
## 0.27.0 — 2026-07-23
|
|
2
18
|
|
|
3
19
|
VRM native-chrome parity (shell-nav-handoff §1–§3). All three were verified in
|
package/dist/app-chrome.cjs
CHANGED
|
@@ -2235,7 +2235,22 @@ function AppDevNotes({
|
|
|
2235
2235
|
}),
|
|
2236
2236
|
[storagePrefix, identity.role]
|
|
2237
2237
|
);
|
|
2238
|
-
return /* @__PURE__ */ jsxRuntime.jsx(devnotes.DevNotesProvider, { adapter, user, config, children });
|
|
2238
|
+
return /* @__PURE__ */ jsxRuntime.jsx(devnotes.DevNotesProvider, { adapter, user, config, children: /* @__PURE__ */ jsxRuntime.jsx(DevNotesSurface, { children }) });
|
|
2239
|
+
}
|
|
2240
|
+
var DevNotesTasksContext = react.createContext({
|
|
2241
|
+
ready: false,
|
|
2242
|
+
openTasks: () => {
|
|
2243
|
+
}
|
|
2244
|
+
});
|
|
2245
|
+
function DevNotesSurface({ children }) {
|
|
2246
|
+
const [tasksOpen, setTasksOpen] = react.useState(false);
|
|
2247
|
+
const openTasks = react.useCallback(() => setTasksOpen(true), []);
|
|
2248
|
+
const tasksCtx = react.useMemo(() => ({ ready: true, openTasks }), [openTasks]);
|
|
2249
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(DevNotesTasksContext.Provider, { value: tasksCtx, children: [
|
|
2250
|
+
children,
|
|
2251
|
+
tasksOpen ? /* @__PURE__ */ jsxRuntime.jsx(devnotes.DevNotesTaskListModal, { open: true, onClose: () => setTasksOpen(false) }) : null,
|
|
2252
|
+
/* @__PURE__ */ jsxRuntime.jsx(devnotes.DevNotesOverlay, {})
|
|
2253
|
+
] });
|
|
2239
2254
|
}
|
|
2240
2255
|
function PolitogyAppChrome({
|
|
2241
2256
|
storagePrefix,
|
|
@@ -2283,13 +2298,18 @@ function ChromeTopBarActions() {
|
|
|
2283
2298
|
{
|
|
2284
2299
|
title: "DevNotes",
|
|
2285
2300
|
description: "Capture bugs and notes, filed straight to Forge.",
|
|
2286
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2301
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ChromeDevNotesMenu, {})
|
|
2287
2302
|
}
|
|
2288
2303
|
),
|
|
2289
2304
|
/* @__PURE__ */ jsxRuntime.jsx(SupportAction, {}),
|
|
2290
2305
|
/* @__PURE__ */ jsxRuntime.jsx(NotificationsAction, { orgId: state.orgId })
|
|
2291
2306
|
] });
|
|
2292
2307
|
}
|
|
2308
|
+
function ChromeDevNotesMenu() {
|
|
2309
|
+
const { ready, openTasks } = react.useContext(DevNotesTasksContext);
|
|
2310
|
+
if (!ready) return null;
|
|
2311
|
+
return /* @__PURE__ */ jsxRuntime.jsx(devnotes.DevNotesMenu, { position: "top-right", onViewTasks: openTasks });
|
|
2312
|
+
}
|
|
2293
2313
|
function useIsSuperAdmin() {
|
|
2294
2314
|
const state = useChromeState();
|
|
2295
2315
|
return (state?.orgs ?? []).some((o) => /super/i.test(o.rawRole ?? ""));
|