@unbrained/pm-web 2026.8.10 → 2026.8.17
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 +22 -0
- package/dist/app.d.ts +16 -0
- package/dist/app.js +16 -0
- package/dist/app.js.map +1 -1
- package/dist/auth.d.ts +5 -0
- package/dist/auth.js.map +1 -1
- package/dist/board.d.ts +53 -0
- package/dist/board.js +48 -0
- package/dist/board.js.map +1 -1
- package/dist/crypto.d.ts +23 -0
- package/dist/crypto.js +32 -0
- package/dist/crypto.js.map +1 -1
- package/dist/db.d.ts +19 -0
- package/dist/db.js +19 -0
- package/dist/db.js.map +1 -1
- package/dist/ical.d.ts +72 -0
- package/dist/ical.js +73 -0
- package/dist/ical.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +52 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/auth.d.ts +8 -0
- package/dist/middleware/auth.js.map +1 -1
- package/dist/oidc.d.ts +87 -0
- package/dist/oidc.js +113 -0
- package/dist/oidc.js.map +1 -1
- package/dist/routes/admin.js +15 -0
- package/dist/routes/admin.js.map +1 -1
- package/dist/routes/extensions.js +10 -0
- package/dist/routes/extensions.js.map +1 -1
- package/dist/routes/github.js +13 -0
- package/dist/routes/github.js.map +1 -1
- package/dist/routes/oidc.d.ts +10 -0
- package/dist/routes/oidc.js +51 -0
- package/dist/routes/oidc.js.map +1 -1
- package/dist/routes/pm.js +132 -1
- package/dist/routes/pm.js.map +1 -1
- package/dist/routes/sharing.js +8 -0
- package/dist/routes/sharing.js.map +1 -1
- package/dist/services/mutation-event-watcher.js +13 -0
- package/dist/services/mutation-event-watcher.js.map +1 -1
- package/dist/services/package-catalog.d.ts +24 -0
- package/dist/services/package-catalog.js +22 -2
- package/dist/services/package-catalog.js.map +1 -1
- package/dist/services/pm-runner.d.ts +82 -0
- package/dist/services/pm-runner.js +121 -0
- package/dist/services/pm-runner.js.map +1 -1
- package/dist/services/project-watcher.d.ts +22 -0
- package/dist/services/project-watcher.js +51 -0
- package/dist/services/project-watcher.js.map +1 -1
- package/dist/services/realtime-bus.d.ts +46 -0
- package/dist/services/realtime-bus.js +59 -0
- package/dist/services/realtime-bus.js.map +1 -1
- package/dist/services/sse.d.ts +134 -0
- package/dist/services/sse.js +145 -0
- package/dist/services/sse.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +5 -3
- package/public/src/app.js +44 -1
- package/public/src/app.js.map +1 -1
- package/public/src/app.ts +44 -1
- package/public/src/components/modals.js +11 -0
- package/public/src/components/modals.js.map +1 -1
- package/public/src/components/modals.ts +11 -0
- package/public/src/components/toast.js +2 -0
- package/public/src/components/toast.js.map +1 -1
- package/public/src/components/toast.ts +2 -0
- package/public/src/constants.js +21 -4
- package/public/src/constants.js.map +1 -1
- package/public/src/constants.ts +21 -4
- package/public/src/filters.js +10 -7
- package/public/src/filters.js.map +1 -1
- package/public/src/filters.ts +10 -7
- package/public/src/i18n/de.json +3 -1
- package/public/src/i18n/en.json +3 -1
- package/public/src/i18n/es.json +3 -1
- package/public/src/i18n/zh.json +3 -1
- package/public/src/i18n.js +11 -1
- package/public/src/i18n.js.map +1 -1
- package/public/src/i18n.ts +13 -1
- package/public/src/state.js +3 -0
- package/public/src/state.js.map +1 -1
- package/public/src/state.ts +3 -0
- package/public/src/sw.ts +71 -7
- package/public/src/theme.js +13 -1
- package/public/src/theme.js.map +1 -1
- package/public/src/theme.ts +15 -1
- package/public/src/types.ts +2 -0
- package/public/src/utils.js +26 -1
- package/public/src/utils.js.map +1 -1
- package/public/src/utils.ts +26 -1
- package/public/src/views/activity.js +1 -0
- package/public/src/views/activity.js.map +1 -1
- package/public/src/views/activity.ts +1 -0
- package/public/src/views/admin.js +134 -0
- package/public/src/views/admin.js.map +1 -1
- package/public/src/views/admin.ts +134 -0
- package/public/src/views/auth.js +31 -0
- package/public/src/views/auth.js.map +1 -1
- package/public/src/views/auth.ts +31 -0
- package/public/src/views/calendar.js +3 -0
- package/public/src/views/calendar.js.map +1 -1
- package/public/src/views/calendar.ts +3 -0
- package/public/src/views/comments-audit.js +1 -0
- package/public/src/views/comments-audit.js.map +1 -1
- package/public/src/views/comments-audit.ts +1 -0
- package/public/src/views/config.js +67 -0
- package/public/src/views/config.js.map +1 -1
- package/public/src/views/config.ts +67 -0
- package/public/src/views/context.js +2 -0
- package/public/src/views/context.js.map +1 -1
- package/public/src/views/context.ts +2 -0
- package/public/src/views/create.js +3 -0
- package/public/src/views/create.js.map +1 -1
- package/public/src/views/create.ts +3 -0
- package/public/src/views/dedupe.js +1 -0
- package/public/src/views/dedupe.js.map +1 -1
- package/public/src/views/dedupe.ts +1 -0
- package/public/src/views/export.js +6 -0
- package/public/src/views/export.js.map +1 -1
- package/public/src/views/export.ts +6 -0
- package/public/src/views/github.js +58 -0
- package/public/src/views/github.js.map +1 -1
- package/public/src/views/github.ts +58 -0
- package/public/src/views/graph-canvas.js +18 -0
- package/public/src/views/graph-canvas.js.map +1 -1
- package/public/src/views/graph-canvas.ts +20 -0
- package/public/src/views/graph.js +41 -0
- package/public/src/views/graph.js.map +1 -1
- package/public/src/views/graph.ts +42 -1
- package/public/src/views/groups.js +45 -0
- package/public/src/views/groups.js.map +1 -1
- package/public/src/views/groups.ts +45 -0
- package/public/src/views/guide.js +3 -0
- package/public/src/views/guide.js.map +1 -1
- package/public/src/views/guide.ts +3 -0
- package/public/src/views/health.js +3 -0
- package/public/src/views/health.js.map +1 -1
- package/public/src/views/health.ts +3 -0
- package/public/src/views/items.js +196 -6
- package/public/src/views/items.js.map +1 -1
- package/public/src/views/items.ts +196 -6
- package/public/src/views/normalize.js +2 -0
- package/public/src/views/normalize.js.map +1 -1
- package/public/src/views/normalize.ts +2 -0
- package/public/src/views/packages.js +67 -5
- package/public/src/views/packages.js.map +1 -1
- package/public/src/views/packages.ts +74 -5
- package/public/src/views/plan-execution.js +6 -0
- package/public/src/views/plan-execution.js.map +1 -1
- package/public/src/views/plan-execution.ts +8 -0
- package/public/src/views/plan.js +145 -0
- package/public/src/views/plan.js.map +1 -1
- package/public/src/views/plan.ts +146 -1
- package/public/src/views/projects.js +60 -0
- package/public/src/views/projects.js.map +1 -1
- package/public/src/views/projects.ts +60 -0
- package/public/src/views/router.js +43 -0
- package/public/src/views/router.js.map +1 -1
- package/public/src/views/router.ts +43 -0
- package/public/src/views/search.js +5 -0
- package/public/src/views/search.js.map +1 -1
- package/public/src/views/search.ts +5 -0
- package/public/src/views/settings.js +36 -0
- package/public/src/views/settings.js.map +1 -1
- package/public/src/views/settings.ts +36 -0
- package/public/src/views/shared.js +1 -0
- package/public/src/views/shared.js.map +1 -1
- package/public/src/views/shared.ts +1 -0
- package/public/src/views/sharing.js +32 -0
- package/public/src/views/sharing.js.map +1 -1
- package/public/src/views/sharing.ts +32 -0
- package/public/src/views/stats.js +1 -0
- package/public/src/views/stats.js.map +1 -1
- package/public/src/views/stats.ts +1 -0
- package/public/src/views/templates.js +4 -0
- package/public/src/views/templates.js.map +1 -1
- package/public/src/views/templates.ts +4 -0
- package/public/src/views/validate.js +1 -0
- package/public/src/views/validate.js.map +1 -1
- package/public/src/views/validate.ts +1 -0
- package/public/sw.js +60 -5
package/dist/services/sse.js
CHANGED
|
@@ -17,6 +17,12 @@ const SIGNAL_ENTRY_TTL_MS = 60_000;
|
|
|
17
17
|
// Record that an item mutation for this project was just delivered to clients
|
|
18
18
|
// (via API broadcast or a received cross-process NOTIFY). The filesystem
|
|
19
19
|
// change-detector uses this to suppress re-announcing changes already signaled.
|
|
20
|
+
/**
|
|
21
|
+
* Record that a mutation in this project was just announced to clients, so the
|
|
22
|
+
* filesystem change-detector can suppress re-announcing the same change.
|
|
23
|
+
*
|
|
24
|
+
* @param projectId - The project whose workspace changed.
|
|
25
|
+
*/
|
|
20
26
|
export function noteSignaledMutation(projectId) {
|
|
21
27
|
lastSignaledAt.set(projectId, Date.now());
|
|
22
28
|
}
|
|
@@ -31,6 +37,16 @@ export function noteSignaledMutation(projectId) {
|
|
|
31
37
|
// commits, so if the watcher's poll lands between commit and broadcast one
|
|
32
38
|
// duplicate workspace-changed can still reach clients. That is harmless because
|
|
33
39
|
// the client handler is an idempotent refetch — noted rather than pretended away.
|
|
40
|
+
/**
|
|
41
|
+
* Record that a mutation of one specific item was just announced to clients.
|
|
42
|
+
*
|
|
43
|
+
* The mutation-event watcher consults {@link consumeSignaledItemMutation} to
|
|
44
|
+
* skip the matching committed-mutation event, giving per-item dedupe so a
|
|
45
|
+
* concurrent change to a different item by another agent is still delivered.
|
|
46
|
+
*
|
|
47
|
+
* @param projectId - The project containing the item.
|
|
48
|
+
* @param itemId - The item that was announced.
|
|
49
|
+
*/
|
|
34
50
|
export function noteSignaledItemMutation(projectId, itemId) {
|
|
35
51
|
signaledItemAt.set(`${projectId}\u0000${itemId}`, Date.now());
|
|
36
52
|
}
|
|
@@ -61,6 +77,18 @@ export function noteSignaledItemMutation(projectId, itemId) {
|
|
|
61
77
|
// mis-pair can do is attribute the surviving event's `operation`/`author`
|
|
62
78
|
// metadata to the wrong mutation — that metadata drives only a cosmetic toast,
|
|
63
79
|
// never state.
|
|
80
|
+
/**
|
|
81
|
+
* Consume one per-item signal, returning whether one was present.
|
|
82
|
+
*
|
|
83
|
+
* Returns `true` and deletes the entry when this instance already announced the
|
|
84
|
+
* given project+item (so the mutation-event watcher skips its own write);
|
|
85
|
+
* otherwise returns `false`. Consumption is one-shot: at most one event per
|
|
86
|
+
* recorded signal is ever suppressed.
|
|
87
|
+
*
|
|
88
|
+
* @param projectId - The project containing the item.
|
|
89
|
+
* @param itemId - The item to check.
|
|
90
|
+
* @returns True when a signal was present and has been consumed.
|
|
91
|
+
*/
|
|
64
92
|
export function consumeSignaledItemMutation(projectId, itemId) {
|
|
65
93
|
const key = `${projectId}\u0000${itemId}`;
|
|
66
94
|
if (signaledItemAt.has(key)) {
|
|
@@ -69,6 +97,14 @@ export function consumeSignaledItemMutation(projectId, itemId) {
|
|
|
69
97
|
}
|
|
70
98
|
return false;
|
|
71
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Report whether a project was signaled within the given time window.
|
|
102
|
+
*
|
|
103
|
+
* @param projectId - The project to check.
|
|
104
|
+
* @param windowMs - How recently a signal must have been recorded.
|
|
105
|
+
* @param now - Current time in ms; defaults to `Date.now()` (injectable for tests).
|
|
106
|
+
* @returns True when a signal exists and is within the window.
|
|
107
|
+
*/
|
|
72
108
|
export function wasSignaledWithin(projectId, windowMs, now = Date.now()) {
|
|
73
109
|
const at = lastSignaledAt.get(projectId);
|
|
74
110
|
return at !== undefined && now - at <= windowMs;
|
|
@@ -78,15 +114,42 @@ export function wasSignaledWithin(projectId, windowMs, now = Date.now()) {
|
|
|
78
114
|
// write instead of swallowing every delta for the whole window — so a later,
|
|
79
115
|
// *unrelated* direct write on the shared volume is still surfaced rather than
|
|
80
116
|
// being silently absorbed by a recent API/NOTIFY event's window.
|
|
117
|
+
/**
|
|
118
|
+
* Consume a project-level signal after the change-detector has attributed one
|
|
119
|
+
* filesystem delta to it, so suppression correlates 1:1 with a signaled write
|
|
120
|
+
* rather than swallowing every later delta in the window.
|
|
121
|
+
*
|
|
122
|
+
* @param projectId - The project whose signal to clear.
|
|
123
|
+
*/
|
|
81
124
|
export function consumeSignaledMutation(projectId) {
|
|
82
125
|
lastSignaledAt.delete(projectId);
|
|
83
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Return the ids of projects that currently have at least one connected client,
|
|
129
|
+
* in the order they were first connected.
|
|
130
|
+
*/
|
|
84
131
|
export function getActiveProjectIds() {
|
|
85
132
|
return [...byProject.keys()];
|
|
86
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Install (or clear, with `null`) the cross-instance event publisher.
|
|
136
|
+
*
|
|
137
|
+
* When set, {@link broadcastProjectEvent} forwards each event to it so other
|
|
138
|
+
* pm-web instances receive it over the realtime bus; passing `null` detaches
|
|
139
|
+
* the bus.
|
|
140
|
+
*
|
|
141
|
+
* @param publisher - The async publisher, or `null` to clear.
|
|
142
|
+
*/
|
|
87
143
|
export function configureProjectEventPublisher(publisher) {
|
|
88
144
|
projectEventPublisher = publisher;
|
|
89
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Remove a client from both indexes.
|
|
148
|
+
*
|
|
149
|
+
* Deletes it from the by-id map and from its project's client set, dropping the
|
|
150
|
+
* project set entirely when it becomes empty so {@link getActiveProjectIds}
|
|
151
|
+
* stops reporting a project with no viewers.
|
|
152
|
+
*/
|
|
90
153
|
function removeClient(client) {
|
|
91
154
|
if (byId.get(client.id) === client)
|
|
92
155
|
byId.delete(client.id);
|
|
@@ -97,6 +160,12 @@ function removeClient(client) {
|
|
|
97
160
|
byProject.delete(client.projectId);
|
|
98
161
|
}
|
|
99
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Build the presence list for one project's clients, one entry per user.
|
|
165
|
+
*
|
|
166
|
+
* Deduplicates by `userId`, keeping the most-recently-connected client per user,
|
|
167
|
+
* and maps each to a {@link PresenceUser}. An empty or absent set yields `[]`.
|
|
168
|
+
*/
|
|
100
169
|
function presenceUsers(set) {
|
|
101
170
|
if (!set || set.size === 0)
|
|
102
171
|
return [];
|
|
@@ -114,6 +183,13 @@ function presenceUsers(set) {
|
|
|
114
183
|
connectedAt: c.connectedAt.toISOString(),
|
|
115
184
|
}));
|
|
116
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Debounce a presence broadcast for a project by 75 ms.
|
|
188
|
+
*
|
|
189
|
+
* Replaces any pending presence timer for the project, so a burst of
|
|
190
|
+
* joins/leaves/view changes triggers a single {@link broadcastPresence} rather
|
|
191
|
+
* than one per event.
|
|
192
|
+
*/
|
|
117
193
|
function schedulePresence(projectId) {
|
|
118
194
|
const active = presenceTimers.get(projectId);
|
|
119
195
|
if (active)
|
|
@@ -123,6 +199,16 @@ function schedulePresence(projectId) {
|
|
|
123
199
|
broadcastPresence(projectId);
|
|
124
200
|
}, 75));
|
|
125
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Register a new SSE client and return its unsubscribe function.
|
|
204
|
+
*
|
|
205
|
+
* Indexes the client by id and project, writes an initial `connected` event,
|
|
206
|
+
* and schedules a presence broadcast. The returned function removes the client
|
|
207
|
+
* and schedules a fresh presence broadcast for the project on disconnect.
|
|
208
|
+
*
|
|
209
|
+
* @param client - The client to register.
|
|
210
|
+
* @returns A function that unregisters the client.
|
|
211
|
+
*/
|
|
126
212
|
export function addSSEClient(client) {
|
|
127
213
|
byId.set(client.id, client);
|
|
128
214
|
let set = byProject.get(client.projectId);
|
|
@@ -142,6 +228,17 @@ export function addSSEClient(client) {
|
|
|
142
228
|
schedulePresence(client.projectId);
|
|
143
229
|
};
|
|
144
230
|
}
|
|
231
|
+
/**
|
|
232
|
+
* Broadcast an event to a project's viewers locally and across instances.
|
|
233
|
+
*
|
|
234
|
+
* When the event data carries a plausible string `itemId`, records a per-item
|
|
235
|
+
* signal so the mutation-event watcher can skip the matching committed fact,
|
|
236
|
+
* then delivers the event to local clients and forwards it to the cross-instance
|
|
237
|
+
* publisher when one is configured.
|
|
238
|
+
*
|
|
239
|
+
* @param projectId - The project to broadcast to.
|
|
240
|
+
* @param event - The SSE event.
|
|
241
|
+
*/
|
|
145
242
|
export function broadcastProjectEvent(projectId, event) {
|
|
146
243
|
// When a route broadcasts an item-scoped event, note it per-item so the
|
|
147
244
|
// mutation-event watcher can skip the corresponding committed-mutation fact.
|
|
@@ -161,6 +258,18 @@ export function broadcastProjectEvent(projectId, event) {
|
|
|
161
258
|
void projectEventPublisher(projectId, event).catch(() => undefined);
|
|
162
259
|
}
|
|
163
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Deliver an event to the local SSE clients of one project.
|
|
263
|
+
*
|
|
264
|
+
* Records a project-level signal, then writes the SSE-formatted payload to every
|
|
265
|
+
* client in the project's set; a write to a disconnected client is swallowed
|
|
266
|
+
* (cleanup happens on the next heartbeat). The project-level signal is recorded
|
|
267
|
+
* even when the project has no clients, so a no-client call is not a complete
|
|
268
|
+
* no-op.
|
|
269
|
+
*
|
|
270
|
+
* @param projectId - The project to deliver to.
|
|
271
|
+
* @param event - The SSE event.
|
|
272
|
+
*/
|
|
164
273
|
export function deliverProjectEvent(projectId, event) {
|
|
165
274
|
noteSignaledMutation(projectId);
|
|
166
275
|
const set = byProject.get(projectId);
|
|
@@ -176,6 +285,14 @@ export function deliverProjectEvent(projectId, event) {
|
|
|
176
285
|
}
|
|
177
286
|
}
|
|
178
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Broadcast the current presence list to a project's viewers.
|
|
290
|
+
*
|
|
291
|
+
* A no-op when the project has no clients; otherwise writes an SSE `presence`
|
|
292
|
+
* event carrying the deduplicated user list to each connected client.
|
|
293
|
+
*
|
|
294
|
+
* @param projectId - The project whose presence to broadcast.
|
|
295
|
+
*/
|
|
179
296
|
export function broadcastPresence(projectId) {
|
|
180
297
|
const set = byProject.get(projectId);
|
|
181
298
|
if (!set || set.size === 0)
|
|
@@ -191,6 +308,14 @@ export function broadcastPresence(projectId) {
|
|
|
191
308
|
}
|
|
192
309
|
}
|
|
193
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Update a client's current view when caller and client agree.
|
|
313
|
+
*
|
|
314
|
+
* Sets the view only when a client with the given id belongs to the given user
|
|
315
|
+
* and project, then schedules a presence broadcast. Returns whether the update
|
|
316
|
+
* applied, so a mismatched/stale client id is reported rather than silently
|
|
317
|
+
* mutating another user's view.
|
|
318
|
+
*/
|
|
194
319
|
export function updateClientView(clientId, userId, projectId, currentView) {
|
|
195
320
|
const client = byId.get(clientId);
|
|
196
321
|
if (client && client.userId === userId && client.projectId === projectId) {
|
|
@@ -200,9 +325,21 @@ export function updateClientView(clientId, userId, projectId, currentView) {
|
|
|
200
325
|
}
|
|
201
326
|
return false;
|
|
202
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Return the presence list for a project.
|
|
330
|
+
*
|
|
331
|
+
* @param projectId - The project to read.
|
|
332
|
+
* @returns The deduplicated presence users (empty when none connected).
|
|
333
|
+
*/
|
|
203
334
|
export function getProjectPresence(projectId) {
|
|
204
335
|
return presenceUsers(byProject.get(projectId));
|
|
205
336
|
}
|
|
337
|
+
/**
|
|
338
|
+
* Write the SSE response headers for a streaming connection.
|
|
339
|
+
*
|
|
340
|
+
* Sets `text/event-stream`, no-cache, keep-alive, and `X-Accel-Buffering: no`
|
|
341
|
+
* (so nginx/proxies do not buffer the stream), with status 200.
|
|
342
|
+
*/
|
|
206
343
|
export function setupSSEHeaders(res) {
|
|
207
344
|
res.writeHead(200, {
|
|
208
345
|
"Content-Type": "text/event-stream",
|
|
@@ -211,9 +348,17 @@ export function setupSSEHeaders(res) {
|
|
|
211
348
|
"X-Accel-Buffering": "no", // Disable nginx buffering
|
|
212
349
|
});
|
|
213
350
|
}
|
|
351
|
+
/** Return the total number of currently connected SSE clients. */
|
|
214
352
|
export function getSSEClientCount() {
|
|
215
353
|
return byId.size;
|
|
216
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Close long-lived clients and prune stale signal entries.
|
|
357
|
+
*
|
|
358
|
+
* Ends and removes any client connected for more than 12 hours, schedules a
|
|
359
|
+
* presence broadcast for each affected project, and drops project/item signal
|
|
360
|
+
* timestamps older than {@link SIGNAL_ENTRY_TTL_MS} (60 s).
|
|
361
|
+
*/
|
|
217
362
|
export function cleanupStaleClients() {
|
|
218
363
|
const now = Date.now();
|
|
219
364
|
const staleProjectIds = new Set();
|
package/dist/services/sse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/services/sse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/services/sse.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-web",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.17",
|
|
4
4
|
"description": "Full web UI for pm-cli — browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.",
|
|
5
5
|
"author": "@unbraind",
|
|
6
6
|
"entry": "./dist/index.js",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unbrained/pm-web",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.17",
|
|
4
4
|
"description": "Full web UI for pm-cli — browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -22,13 +22,14 @@
|
|
|
22
22
|
"build:frontend": "cd public && tsc && tsc -p tsconfig.sw.json && tsc -p tsconfig.scripts.json",
|
|
23
23
|
"build:all": "npm run build",
|
|
24
24
|
"check": "npm run typecheck",
|
|
25
|
+
"docstring": "node scripts/docstring-gate.ts",
|
|
25
26
|
"audit:prod": "node --input-type=module -e \"import { spawnSync } from 'node:child_process'; import { devNull } from 'node:os'; const env = { ...process.env, npm_config_userconfig: devNull, NPM_CONFIG_USERCONFIG: devNull }; for (const key of Object.keys(env)) if (key.toLowerCase() === 'npm_config_allow_scripts') delete env[key]; const win = process.platform === 'win32'; const r = spawnSync(win ? 'npm.cmd' : 'npm', ['audit', '--omit=dev', '--ignore-scripts'], { stdio: 'inherit', env, shell: win }); process.exit(r.status ?? 1);\"",
|
|
26
27
|
"pack:dry-run": "npm pack --dry-run",
|
|
27
28
|
"changelog": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-web/blob/main/.agents/pm --respect-item-release",
|
|
28
29
|
"changelog:full": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-web/blob/main/.agents/pm --respect-item-release",
|
|
29
30
|
"changelog:check": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-web/blob/main/.agents/pm --respect-item-release --check",
|
|
30
31
|
"release:notes": "pm-changelog --pm-root .agents/pm --stdout --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-web/blob/main/.agents/pm --respect-item-release --pm-bin ./node_modules/.bin/pm --github-step-summary",
|
|
31
|
-
"release:check": "npm run check && npm run coverage && npm run audit:prod && npm run pack:dry-run && npm run changelog:check",
|
|
32
|
+
"release:check": "npm run check && npm run docstring && npm run coverage && npm run audit:prod && npm run pack:dry-run && npm run changelog:check",
|
|
32
33
|
"prepack": "npm run build",
|
|
33
34
|
"build:test": "tsc -p tsconfig.test.json",
|
|
34
35
|
"test": "npm run build && npm run build:test && node scripts/with-test-db.ts node --test test/*.test.ts",
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
"db:check": "node scripts/ensure-test-db.ts"
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|
|
44
|
-
"@unbrained/pm-cli": "
|
|
45
|
+
"@unbrained/pm-cli": "2026.8.13",
|
|
45
46
|
"bcryptjs": "^3.0.3",
|
|
46
47
|
"cookie-parser": "^1.4.7",
|
|
47
48
|
"express": "^5.2.1",
|
|
@@ -58,6 +59,7 @@
|
|
|
58
59
|
"@types/node": "^26.1.1",
|
|
59
60
|
"@types/pg": "^8.11.11",
|
|
60
61
|
"@types/uuid": "^11.0.0",
|
|
62
|
+
"pm-ops": "2026.8.8",
|
|
61
63
|
"pm-changelog": "^2026.8.6",
|
|
62
64
|
"tsx": "^4.23.0",
|
|
63
65
|
"typescript": "^7.0.2"
|
package/public/src/app.js
CHANGED
|
@@ -13,7 +13,8 @@ import { renderStatsView } from './views/stats.js';
|
|
|
13
13
|
import { renderCalendarView, calNav, showDayItems } from './views/calendar.js';
|
|
14
14
|
import { renderContextView } from './views/context.js';
|
|
15
15
|
import { renderGraphView } from './views/graph.js';
|
|
16
|
-
|
|
16
|
+
/** Switch to the graph view, wait for it to mount, render it, then focus the
|
|
17
|
+
* node with the given id by invoking the graph view's select-node hook. */
|
|
17
18
|
async function openGraphAt(nodeId) {
|
|
18
19
|
showView('graph');
|
|
19
20
|
// Give the graph view time to mount, then set selected node
|
|
@@ -51,6 +52,9 @@ import { initTheme, cycleTheme } from './theme.js';
|
|
|
51
52
|
initTheme();
|
|
52
53
|
// Global search modal
|
|
53
54
|
let globalSearchTimer;
|
|
55
|
+
/** Build (without showing) the global-search modal: a search input wired to
|
|
56
|
+
* the debounced search handler and a results container with an initial
|
|
57
|
+
* prompt. */
|
|
54
58
|
function buildSearchModal() {
|
|
55
59
|
createModal('global-search-modal', 'Search', `
|
|
56
60
|
<div class="search-box-wrap" style="margin-bottom:12px">
|
|
@@ -109,6 +113,9 @@ const mobileCommandGroups = [
|
|
|
109
113
|
],
|
|
110
114
|
},
|
|
111
115
|
];
|
|
116
|
+
/** Build (without showing) the mobile command-sheet modal listing every
|
|
117
|
+
* navigation command grouped by section, disabling project-scoped commands
|
|
118
|
+
* when no project is selected and hiding the admin command for non-admins. */
|
|
112
119
|
function buildMobileCommandSheet() {
|
|
113
120
|
const hasProject = !!state.currentProject;
|
|
114
121
|
const projectName = state.currentProject?.name || 'No project selected';
|
|
@@ -159,6 +166,9 @@ function globalSearchDebounced() {
|
|
|
159
166
|
clearTimeout(globalSearchTimer);
|
|
160
167
|
globalSearchTimer = setTimeout(doGlobalSearch, 300);
|
|
161
168
|
}
|
|
169
|
+
/** Read the global-search input, POST the query to the project search
|
|
170
|
+
* endpoint, and render matching items into the results pane (or an
|
|
171
|
+
* empty/error state). No-op when the query or current project is missing. */
|
|
162
172
|
async function doGlobalSearch() {
|
|
163
173
|
const query = document.getElementById('global-search-input')?.value?.trim();
|
|
164
174
|
if (!query || !state.currentProject)
|
|
@@ -371,6 +381,8 @@ let sseClientId = null;
|
|
|
371
381
|
// Debounce timer for SSE-triggered view refresh (prevents thrashing on bulk operations)
|
|
372
382
|
let sseRefreshTimer = null;
|
|
373
383
|
const SSE_REFRESH_DEBOUNCE_MS = 400;
|
|
384
|
+
/** Derive up to two uppercase initials from a display name by splitting on
|
|
385
|
+
* common delimiters and taking the first character of the leading tokens. */
|
|
374
386
|
function userInitials(displayName) {
|
|
375
387
|
return displayName
|
|
376
388
|
.split(/[\s@._-]+/)
|
|
@@ -379,6 +391,9 @@ function userInitials(displayName) {
|
|
|
379
391
|
.map((w) => w[0].toUpperCase())
|
|
380
392
|
.join('');
|
|
381
393
|
}
|
|
394
|
+
/** Render the presence bar showing up to five other currently-viewing users
|
|
395
|
+
* as colored initial chips (plus an overflow count), or hide the bar when only
|
|
396
|
+
* the current user is present. */
|
|
382
397
|
function renderPresenceBar(users) {
|
|
383
398
|
const bar = document.getElementById('presence-bar');
|
|
384
399
|
if (!bar)
|
|
@@ -407,6 +422,9 @@ function renderPresenceBar(users) {
|
|
|
407
422
|
: '';
|
|
408
423
|
bar.innerHTML = `<span class="presence-label">Viewing:</span>${chips}${extraChip}`;
|
|
409
424
|
}
|
|
425
|
+
/** Update the real-time-sync indicator element to reflect `connected`,
|
|
426
|
+
* `reconnecting`, or `disconnected` state, and clear the presence bar on
|
|
427
|
+
* disconnect. */
|
|
410
428
|
function setSseStatus(status) {
|
|
411
429
|
const el = document.getElementById('sse-indicator');
|
|
412
430
|
if (!el)
|
|
@@ -430,6 +448,9 @@ function setSseStatus(status) {
|
|
|
430
448
|
}
|
|
431
449
|
}
|
|
432
450
|
}
|
|
451
|
+
/** Tear down the current SSE connection: cancel pending reconnect and refresh
|
|
452
|
+
* timers, close the event source, clear the tracked project/client ids, and
|
|
453
|
+
* mark sync as disconnected. */
|
|
433
454
|
function disconnectSSE() {
|
|
434
455
|
if (sseReconnectTimer) {
|
|
435
456
|
clearTimeout(sseReconnectTimer);
|
|
@@ -447,6 +468,9 @@ function disconnectSSE() {
|
|
|
447
468
|
sseClientId = null;
|
|
448
469
|
setSseStatus('disconnected');
|
|
449
470
|
}
|
|
471
|
+
/** Fire-and-forget PATCH to the server updating which view the current client
|
|
472
|
+
* is looking at, so other users see accurate presence. No-op when not
|
|
473
|
+
* connected. */
|
|
450
474
|
function notifyPresenceView(view) {
|
|
451
475
|
if (!sseClientId || !sseCurrentProjectId)
|
|
452
476
|
return;
|
|
@@ -457,6 +481,10 @@ function notifyPresenceView(view) {
|
|
|
457
481
|
body: JSON.stringify({ view }),
|
|
458
482
|
}).catch(() => undefined);
|
|
459
483
|
}
|
|
484
|
+
/** Open an SSE stream for the given project (reusing an existing connection
|
|
485
|
+
* when already live), wire handlers for connection, presence, item, graph,
|
|
486
|
+
* and package events that refresh the active view, and reconnect with
|
|
487
|
+
* exponential backoff on error. */
|
|
460
488
|
function connectSSE(projectId, attempt = 0) {
|
|
461
489
|
if (sseCurrentProjectId === projectId && sseSource && sseSource.readyState !== EventSource.CLOSED)
|
|
462
490
|
return;
|
|
@@ -605,6 +633,9 @@ export { connectSSE, disconnectSSE, notifyPresenceView };
|
|
|
605
633
|
// ═══════════════════════════════════════════════════════════════
|
|
606
634
|
// BOOT
|
|
607
635
|
// ═══════════════════════════════════════════════════════════════
|
|
636
|
+
/** Reveal the main app shell, populate the signed-in user's avatar/name and
|
|
637
|
+
* admin-gated controls, build the project/search/mobile modals, register the
|
|
638
|
+
* presence view-change hook, then load projects and run the launch action. */
|
|
608
639
|
export async function bootApp() {
|
|
609
640
|
const authScreen = document.getElementById('auth-screen');
|
|
610
641
|
const mainApp = document.getElementById('main-app');
|
|
@@ -631,6 +662,9 @@ export async function bootApp() {
|
|
|
631
662
|
await loadProjects();
|
|
632
663
|
await handleLaunchAction();
|
|
633
664
|
}
|
|
665
|
+
/** Act on the `?action=` query param or URL path to deep-link into a view
|
|
666
|
+
* (new-project, new-item, search, or a restored bookmarked view), selecting a
|
|
667
|
+
* default project and showing toasts when a required project is missing. */
|
|
634
668
|
async function handleLaunchAction() {
|
|
635
669
|
const action = new URLSearchParams(window.location.search).get('action');
|
|
636
670
|
if (action === 'new-project') {
|
|
@@ -680,6 +714,9 @@ async function handleLaunchAction() {
|
|
|
680
714
|
// ═══════════════════════════════════════════════════════════════
|
|
681
715
|
// GLOBAL ERROR BOUNDARY
|
|
682
716
|
// ═══════════════════════════════════════════════════════════════
|
|
717
|
+
/** Replace the app shell with a full-screen error screen showing the message
|
|
718
|
+
* and (when available) a collapsible stack trace, with reload, login, and
|
|
719
|
+
* copy-details actions. Hides the auth and main screens. */
|
|
683
720
|
function showGlobalError(errorMsg, error) {
|
|
684
721
|
const appEl = document.getElementById('app');
|
|
685
722
|
if (!appEl)
|
|
@@ -737,6 +774,8 @@ window.addEventListener('unhandledrejection', (event) => {
|
|
|
737
774
|
// Apply the persisted locale + catalog BEFORE the auth screen or main app
|
|
738
775
|
// is shown so package-owned strings render in the right language on first
|
|
739
776
|
// paint (after the inline <html lang> hint in index.html).
|
|
777
|
+
/** Entry point: initialize i18n, probe the session via `/auth/me`, and either
|
|
778
|
+
* boot the app on success or show the auth screen on failure. */
|
|
740
779
|
async function init() {
|
|
741
780
|
await initI18n();
|
|
742
781
|
try {
|
|
@@ -760,6 +799,8 @@ async function changeLanguage(locale) {
|
|
|
760
799
|
// ═══════════════════════════════════════════════════════════════
|
|
761
800
|
let lastKeyTime = 0;
|
|
762
801
|
let lastKey = '';
|
|
802
|
+
/** Build and show the keyboard-shortcuts reference modal as a two-column
|
|
803
|
+
* key/description table. */
|
|
763
804
|
function openShortcutsHelp() {
|
|
764
805
|
createModal('shortcuts-help-modal', 'Keyboard Shortcuts', `
|
|
765
806
|
<table style="width:100%;border-collapse:collapse;font-size:13px">
|
|
@@ -899,6 +940,8 @@ window.dismissInstallBanner = function () {
|
|
|
899
940
|
// ═══════════════════════════════════════════════════════════════
|
|
900
941
|
// OFFLINE / ONLINE STATUS BANNER
|
|
901
942
|
// ═══════════════════════════════════════════════════════════════
|
|
943
|
+
/** Toggle the offline status banner's visibility to match the browser's
|
|
944
|
+
* current connectivity (`navigator.onLine`). */
|
|
902
945
|
function updateOfflineBanner() {
|
|
903
946
|
const banner = document.getElementById('offline-banner');
|
|
904
947
|
if (!banner)
|
package/public/src/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts"],"names":[],"mappings":"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"}
|