@unbrained/pm-web 2026.8.29 → 2026.8.31

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 CHANGED
@@ -1,15 +1,23 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ ## 2026.8.31 - 2026-08-31
4
4
 
5
5
  ### Fixed
6
6
 
7
- - Harden workflow publish scanning against YAML and reassignment bypasses ([pm-web-yafj](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-yafj.toon))
7
+ - GitHub issue imports accepted path traversal values that steered the project owner's token ([pm-web-po1s](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-po1s.toon))
8
+ - CodeQL action updates split into mutually blocking pull requests ([pm-web-lx5w](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-lx5w.toon))
9
+ - Pin pm-changelog 2026.8.30 before the next release ([pm-web-5ucr](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-5ucr.toon))
10
+ - Regenerate the changelog after the release tag exists ([pm-web-a401](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-a401.toon))
11
+
12
+ ### Security
13
+
14
+ - Same-site sibling origins bypass the cookie-authenticated CSRF guard ([pm-web-413z](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-413z.toon))
8
15
 
9
16
  ## 2026.8.29 - 2026-08-29
10
17
 
11
18
  ### Fixed
12
19
 
20
+ - Harden workflow publish scanning against YAML and reassignment bypasses ([pm-web-yafj](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-yafj.toon))
13
21
  - Every public API route lacked rate limiting, leaving auth and write endpoints open to abuse and denial of service ([pm-web-8dk0](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-8dk0.toon))
14
22
 
15
23
  ## 2026.8.28 - 2026-08-28
package/dist/csrf.d.ts CHANGED
@@ -12,18 +12,16 @@ import type { Request, RequestHandler } from "express";
12
12
  */
13
13
  export declare const CSRF_COOKIE_NAME = "csrf_token";
14
14
  /**
15
- * Decide whether an unsafe request crossed sites, using the unforgeable
16
- * `Sec-Fetch-Site` header first and the `Origin` header as a fallback.
15
+ * Decide whether an unsafe request crossed origins, using the unforgeable
16
+ * `Sec-Fetch-Site` header first and the `Origin` header as an exact fallback.
17
17
  *
18
18
  * `Sec-Fetch-Site` is set by the browser fetch metadata spec and cannot be
19
- * spoofed from JavaScript, so `cross-site` is conclusive. When it is absent
20
- * (older browsers, non-browser clients) the `Origin` header is compared
21
- * against the request's own `Host`: a browser always sends `Origin` on
22
- * unsafe requests, so a present, mismatched `Origin` is also conclusive. A
23
- * missing `Origin` means the request is not browser-initiated and therefore
24
- * cannot be a CSRF attack, so it is allowed. A malformed `Origin` is treated
25
- * as not-cross-site rather than blocked, so the guard never produces a false
26
- * positive that would block a legitimate (if quirky) client.
19
+ * spoofed from JavaScript, so `cross-site` is conclusive. `same-site` is not:
20
+ * it includes sibling origins, so those requests must still prove an exact
21
+ * scheme-and-host match through `Origin`. A browser-classified sibling request
22
+ * without that proof fails closed. When Fetch Metadata is absent, an absent
23
+ * `Origin` preserves non-browser and server-to-server clients; a present
24
+ * malformed or mismatched `Origin` is browser evidence and fails closed.
27
25
  *
28
26
  * @param req - The Express request to inspect.
29
27
  * @returns `true` when the request is provably cross-site and should be blocked.
@@ -33,14 +31,12 @@ export declare function isCrossSiteRequest(req: Request): boolean;
33
31
  * Build the CSRF protection middleware.
34
32
  *
35
33
  * On every request it (re)issues the {@link CSRF_COOKIE_NAME} token cookie when
36
- * absent, and on every **cookie-authenticated, state-changing** request it
37
- * blocks provably cross-site callers with 403. Safe methods and unauthenticated
38
- * requests pass through, so login/register (no session cookie) and reads are
39
- * unaffected. The same-origin check relies on browser-fetch-metadata headers
40
- * that are absent from Node's `fetch`, so the real-Postgres route suite —
41
- * which drives the app with cookie-authenticated `fetch` calls and no `Origin`
42
- * — is never blocked, while a real browser CSRF attempt (which always sends
43
- * `Sec-Fetch-Site: cross-site` or a foreign `Origin`) is.
34
+ * absent. Every state-changing request blocks browser evidence of a foreign
35
+ * origin. Cookie-authenticated mutations additionally require that token in
36
+ * `X-CSRF-Token`, so an older browser or intermediary that omits both origin
37
+ * signals cannot silently bypass the boundary. Login remains usable before a
38
+ * session exists; non-cookie server clients remain compatible. Safe methods
39
+ * pass through and bootstrap the token for a returning browser session.
44
40
  *
45
41
  * @returns An Express middleware implementing the double-submit-cookie plus
46
42
  * same-origin defence.
package/dist/csrf.js CHANGED
@@ -13,44 +13,24 @@ import { isUnsafeMethod } from "./rate-limit.js";
13
13
  */
14
14
  export const CSRF_COOKIE_NAME = "csrf_token";
15
15
  /**
16
- * Values of the `Sec-Fetch-Site` request header that prove a request did NOT
17
- * cross sites. `none` is a user-initiated navigation (no referrer) and is safe;
18
- * `same-origin` and `same-site` are, by definition, not cross-site. Any other
19
- * value (`cross-site`) is a forgery attempt and is blocked.
16
+ * Values of the `Sec-Fetch-Site` request header that prove a request did not
17
+ * cross this application's origin. `none` is a direct user-agent navigation;
18
+ * `same-origin` has the same scheme, host and port. `same-site` is deliberately
19
+ * absent because it includes sibling subdomains, which are separate public
20
+ * services and therefore outside pm-web's origin trust boundary.
20
21
  */
21
- const SAME_FETCH_SITES = new Set(["same-origin", "same-site", "none"]);
22
+ const TRUSTED_FETCH_SITES = new Set(["same-origin", "none"]);
22
23
  /**
23
- * Read the `pm_token` session cookie from a request that has already been
24
- * through `cookie-parser`.
25
- *
26
- * The CSRF guard only enforces same-origin on requests that are actually
27
- * authenticated with the session cookie: a cross-site `POST /api/auth/login`
28
- * carries no `pm_token` (the victim has not logged in from the attacker's
29
- * page), so it cannot act on the victim's behalf and need not be blocked.
30
- * Bearer-token API clients (which send `Authorization` and no cookie) are
31
- * likewise exempt, which is why the guard keys on the cookie and not on
32
- * `requireAuth`.
33
- *
34
- * @param req - The Express request, post-`cookie-parser`.
35
- * @returns `true` when a `pm_token` session cookie is present.
36
- */
37
- function hasSessionCookie(req) {
38
- const cookies = req.cookies;
39
- return Boolean(cookies && cookies.pm_token);
40
- }
41
- /**
42
- * Decide whether an unsafe request crossed sites, using the unforgeable
43
- * `Sec-Fetch-Site` header first and the `Origin` header as a fallback.
24
+ * Decide whether an unsafe request crossed origins, using the unforgeable
25
+ * `Sec-Fetch-Site` header first and the `Origin` header as an exact fallback.
44
26
  *
45
27
  * `Sec-Fetch-Site` is set by the browser fetch metadata spec and cannot be
46
- * spoofed from JavaScript, so `cross-site` is conclusive. When it is absent
47
- * (older browsers, non-browser clients) the `Origin` header is compared
48
- * against the request's own `Host`: a browser always sends `Origin` on
49
- * unsafe requests, so a present, mismatched `Origin` is also conclusive. A
50
- * missing `Origin` means the request is not browser-initiated and therefore
51
- * cannot be a CSRF attack, so it is allowed. A malformed `Origin` is treated
52
- * as not-cross-site rather than blocked, so the guard never produces a false
53
- * positive that would block a legitimate (if quirky) client.
28
+ * spoofed from JavaScript, so `cross-site` is conclusive. `same-site` is not:
29
+ * it includes sibling origins, so those requests must still prove an exact
30
+ * scheme-and-host match through `Origin`. A browser-classified sibling request
31
+ * without that proof fails closed. When Fetch Metadata is absent, an absent
32
+ * `Origin` preserves non-browser and server-to-server clients; a present
33
+ * malformed or mismatched `Origin` is browser evidence and fails closed.
54
34
  *
55
35
  * @param req - The Express request to inspect.
56
36
  * @returns `true` when the request is provably cross-site and should be blocked.
@@ -59,19 +39,20 @@ export function isCrossSiteRequest(req) {
59
39
  const site = req.headers["sec-fetch-site"];
60
40
  if (site === "cross-site")
61
41
  return true;
62
- if (typeof site === "string" && SAME_FETCH_SITES.has(site))
42
+ if (typeof site === "string" && TRUSTED_FETCH_SITES.has(site))
63
43
  return false;
64
44
  const origin = req.headers["origin"];
65
45
  if (typeof origin !== "string" || origin === "")
66
- return false;
67
- let originHost;
46
+ return site === "same-site";
68
47
  try {
69
- originHost = new URL(origin).host;
48
+ const requestHost = req.host;
49
+ if (!requestHost)
50
+ return true;
51
+ return new URL(origin).origin !== new URL(`${req.protocol}://${requestHost}`).origin;
70
52
  }
71
53
  catch {
72
- return false;
54
+ return true;
73
55
  }
74
- return originHost !== (req.get("host") ?? "");
75
56
  }
76
57
  /**
77
58
  * Set the double-submit CSRF token cookie when the request does not already
@@ -83,30 +64,33 @@ export function isCrossSiteRequest(req) {
83
64
  * the same on the way out and the way back.
84
65
  *
85
66
  * @param req - The Express request, post-`cookie-parser`.
86
- * @param res - The Express response to attach the cookie to.
67
+ * @param res - The Express response to attach the cookie and bootstrap header to.
87
68
  */
88
69
  function ensureCsrfCookie(req, res) {
89
70
  const cookies = req.cookies;
90
- if (cookies?.[CSRF_COOKIE_NAME])
91
- return;
92
- res.cookie(CSRF_COOKIE_NAME, crypto.randomBytes(24).toString("base64url"), {
93
- sameSite: "lax",
94
- httpOnly: false,
95
- secure: process.env.NODE_ENV === "production",
96
- });
71
+ const token = cookies?.[CSRF_COOKIE_NAME] ?? crypto.randomBytes(24).toString("base64url");
72
+ if (!cookies?.[CSRF_COOKIE_NAME]) {
73
+ res.cookie(CSRF_COOKIE_NAME, token, {
74
+ sameSite: "lax",
75
+ httpOnly: false,
76
+ secure: process.env.NODE_ENV === "production",
77
+ });
78
+ }
79
+ // A service worker cannot read document.cookie. Exposing the same token on
80
+ // same-origin responses lets an upgraded worker replay pre-token queue
81
+ // records without deleting or rewriting a user's pending mutations.
82
+ res.setHeader("X-CSRF-Token", token);
97
83
  }
98
84
  /**
99
85
  * Build the CSRF protection middleware.
100
86
  *
101
87
  * On every request it (re)issues the {@link CSRF_COOKIE_NAME} token cookie when
102
- * absent, and on every **cookie-authenticated, state-changing** request it
103
- * blocks provably cross-site callers with 403. Safe methods and unauthenticated
104
- * requests pass through, so login/register (no session cookie) and reads are
105
- * unaffected. The same-origin check relies on browser-fetch-metadata headers
106
- * that are absent from Node's `fetch`, so the real-Postgres route suite —
107
- * which drives the app with cookie-authenticated `fetch` calls and no `Origin`
108
- * — is never blocked, while a real browser CSRF attempt (which always sends
109
- * `Sec-Fetch-Site: cross-site` or a foreign `Origin`) is.
88
+ * absent. Every state-changing request blocks browser evidence of a foreign
89
+ * origin. Cookie-authenticated mutations additionally require that token in
90
+ * `X-CSRF-Token`, so an older browser or intermediary that omits both origin
91
+ * signals cannot silently bypass the boundary. Login remains usable before a
92
+ * session exists; non-cookie server clients remain compatible. Safe methods
93
+ * pass through and bootstrap the token for a returning browser session.
110
94
  *
111
95
  * @returns An Express middleware implementing the double-submit-cookie plus
112
96
  * same-origin defence.
@@ -114,7 +98,15 @@ function ensureCsrfCookie(req, res) {
114
98
  export function csrfProtection() {
115
99
  return (req, res, next) => {
116
100
  ensureCsrfCookie(req, res);
117
- if (!isUnsafeMethod(req.method) || !hasSessionCookie(req) || !isCrossSiteRequest(req)) {
101
+ const cookies = req.cookies;
102
+ const sessionCookie = cookies?.pm_token;
103
+ const cookieToken = cookies?.[CSRF_COOKIE_NAME];
104
+ const headerToken = req.get("x-csrf-token");
105
+ const validDoubleSubmit = typeof cookieToken === "string" &&
106
+ cookieToken.length > 0 &&
107
+ headerToken === cookieToken;
108
+ if (!isUnsafeMethod(req.method) ||
109
+ (!isCrossSiteRequest(req) && (!sessionCookie || validDoubleSubmit))) {
118
110
  next();
119
111
  return;
120
112
  }
package/dist/csrf.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"csrf.js","sourceRoot":"","sources":["../src/csrf.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,MAAM,OAAO,GAAI,GAAkE,CAAC,OAAO,CAAC;IAC5F,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,UAAU,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,GAAY,EAAE,GAAa;IACnD,MAAM,OAAO,GAAI,GAAkE,CAAC,OAAO,CAAC;IAC5F,IAAI,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAAE,OAAO;IACxC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;KAC9C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YACtF,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"csrf.js","sourceRoot":"","sources":["../src/csrf.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -262,7 +262,7 @@ function processAlive(pid) {
262
262
  }
263
263
  export default defineExtension({
264
264
  name: "pm-web",
265
- version: "2026.8.29",
265
+ version: "2026.8.31",
266
266
  activate(api) {
267
267
  // -----------------------------------------------------------------------
268
268
  // Command: pm web [--port <port>] [--detach]
@@ -107,7 +107,7 @@ router.post("/login", async (req, res) => {
107
107
  res.status(500).json({ error: "Login failed" });
108
108
  }
109
109
  });
110
- router.post("/logout", (_req, res) => {
110
+ router.post("/logout", requireAuth, (_req, res) => {
111
111
  res.clearCookie("pm_token");
112
112
  res.json({ ok: true });
113
113
  });
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/routes/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/routes/auth.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ async function ghFetch(url, token, opts = {}) {
38
38
  }
39
39
  /** The only `state` values the GitHub issues API accepts. */
40
40
  const GITHUB_ISSUE_STATES = new Set(["open", "closed", "all"]);
41
+ /** Largest issue number accepted from an import request. */
42
+ const MAX_GITHUB_ISSUE_NUMBER = 2_147_483_647;
41
43
  /**
42
44
  * Build the GitHub issues-list URL for a linked repo from untrusted query
43
45
  * parameters, without interpolating any of them into the URL string.
@@ -171,6 +173,30 @@ router.post("/import", async (req, res) => {
171
173
  res.status(403).json({ error: "Not authorized" });
172
174
  return;
173
175
  }
176
+ const requestBody = req.body;
177
+ const rawIssueNumbers = typeof requestBody === "object" && requestBody !== null
178
+ ? requestBody["issueNumbers"]
179
+ : undefined;
180
+ if (!Array.isArray(rawIssueNumbers) || rawIssueNumbers.length === 0) {
181
+ res.status(400).json({ error: "No issue numbers provided" });
182
+ return;
183
+ }
184
+ if (rawIssueNumbers.length > 50) {
185
+ res.status(400).json({ error: "Cannot import more than 50 issues at once" });
186
+ return;
187
+ }
188
+ const unvalidatedIssueNumbers = rawIssueNumbers;
189
+ const issueNumbers = [];
190
+ for (const value of unvalidatedIssueNumbers) {
191
+ if (typeof value !== "number" ||
192
+ !Number.isInteger(value) ||
193
+ value <= 0 ||
194
+ value > MAX_GITHUB_ISSUE_NUMBER) {
195
+ res.status(400).json({ error: "Issue numbers must be positive integers" });
196
+ return;
197
+ }
198
+ issueNumbers.push(value);
199
+ }
174
200
  const repoResult = await pool.query(`SELECT github_owner, github_repo FROM pm_projects WHERE id = $1`, [routeParam(req, "id")]);
175
201
  const { github_owner: owner, github_repo: repo } = repoResult.rows[0];
176
202
  if (!owner || !repo) {
@@ -182,20 +208,11 @@ router.post("/import", async (req, res) => {
182
208
  res.status(400).json({ error: "No GitHub token configured" });
183
209
  return;
184
210
  }
185
- const { issueNumbers } = req.body;
186
- if (!issueNumbers || issueNumbers.length === 0) {
187
- res.status(400).json({ error: "No issue numbers provided" });
188
- return;
189
- }
190
- if (issueNumbers.length > 50) {
191
- res.status(400).json({ error: "Cannot import more than 50 issues at once" });
192
- return;
193
- }
194
211
  const created = [];
195
212
  const errors = [];
196
213
  for (const num of issueNumbers) {
197
214
  try {
198
- const resp = await ghFetch(`https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${num}`, token);
215
+ const resp = await ghFetch(`https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${encodeURIComponent(num)}`, token);
199
216
  if (!resp.ok) {
200
217
  errors.push(`#${num}: not found`);
201
218
  continue;
@@ -311,7 +328,7 @@ router.post("/push", async (req, res) => {
311
328
  }
312
329
  const issue = (await resp.json());
313
330
  if (ghState === "closed") {
314
- await ghFetch(`https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${issue.number}`, token, { method: "PATCH", body: JSON.stringify({ state: "closed" }), headers: { "Content-Type": "application/json" } }).catch(() => undefined);
331
+ await ghFetch(`https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${encodeURIComponent(issue.number)}`, token, { method: "PATCH", body: JSON.stringify({ state: "closed" }), headers: { "Content-Type": "application/json" } }).catch(() => undefined);
315
332
  }
316
333
  await pool.query(`INSERT INTO pm_github_item_links (project_id, pm_item_id, issue_number, issue_url, synced_at)
317
334
  VALUES ($1, $2, $3, $4, NOW())
@@ -375,7 +392,7 @@ router.patch("/push/:itemId", async (req, res) => {
375
392
  const updatePayload = { title, body: bodyLines.join("\n"), state: ghState };
376
393
  if (tags.length > 0)
377
394
  updatePayload["labels"] = tags.filter(Boolean);
378
- const resp = await ghFetch(`https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${issueNumber}`, token, { method: "PATCH", body: JSON.stringify(updatePayload), headers: { "Content-Type": "application/json" } });
395
+ const resp = await ghFetch(`https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${encodeURIComponent(issueNumber)}`, token, { method: "PATCH", body: JSON.stringify(updatePayload), headers: { "Content-Type": "application/json" } });
379
396
  if (!resp.ok) {
380
397
  const errBody = await resp.json().catch(() => ({}));
381
398
  res.status(resp.status).json({ error: errBody.message || `GitHub API error ${resp.status}` });
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/routes/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/routes/github.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.29",
3
+ "version": "2026.8.31",
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.29",
3
+ "version": "2026.8.31",
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": [
@@ -63,7 +63,7 @@
63
63
  "@types/node": "^26.2.0",
64
64
  "@types/pg": "^8.23.1",
65
65
  "@types/uuid": "^11.0.0",
66
- "pm-changelog": "2026.8.17",
66
+ "pm-changelog": "2026.8.30",
67
67
  "pm-ops": "2026.8.17",
68
68
  "tsx": "^4.23.12",
69
69
  "typescript": "^7.0.2",
package/public/src/api.js CHANGED
@@ -1,14 +1,38 @@
1
1
  // ═══════════════════════════════════════════════════════════════
2
2
  // API CLIENT
3
3
  // ═══════════════════════════════════════════════════════════════
4
+ /**
5
+ * Read the host-only double-submit token from a browser cookie string.
6
+ * Malformed percent encoding is treated as absent so an invalid cookie cannot
7
+ * make every API call throw before it reaches the server.
8
+ */
9
+ export function csrfTokenFromCookie(cookie = document.cookie) {
10
+ const encoded = cookie
11
+ .split(';')
12
+ .map((part) => part.trim())
13
+ .find((part) => part.startsWith('csrf_token='))
14
+ ?.slice('csrf_token='.length);
15
+ if (!encoded)
16
+ return undefined;
17
+ try {
18
+ return decodeURIComponent(encoded);
19
+ }
20
+ catch {
21
+ return undefined;
22
+ }
23
+ }
4
24
  /**
5
25
  * Fetch wrapper for the `/api` endpoints. Generic in `T` so each call site is
6
26
  * typed against the response interface declared in `api-types.ts`.
7
27
  */
8
28
  export async function api(method, path, body) {
29
+ const csrfToken = csrfTokenFromCookie();
9
30
  const opts = {
10
31
  method,
11
- headers: { 'Content-Type': 'application/json' },
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ ...(csrfToken ? { 'X-CSRF-Token': csrfToken } : {}),
35
+ },
12
36
  credentials: 'include',
13
37
  };
14
38
  if (body !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["api.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,aAAa;AACb,kEAAkE;AAElE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAc,MAAc,EAAE,IAAY,EAAE,IAAc;IACjF,MAAM,IAAI,GAAgB;QACxB,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,WAAW,EAAE,SAAS;KACvB,CAAC;IACF,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAA4B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAM,CAAC;IAC9E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,MAAM,CAAE,IAAgC,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB;IAC9C,OAAO,GAAG,CAAgB,KAAK,EAAE,aAAa,SAAS,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,OAAe;IACpE,OAAO,GAAG,CAAqB,KAAK,EAAE,aAAa,SAAS,aAAa,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1G,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["api.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,aAAa;AACb,kEAAkE;AAElE;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;IAC1D,MAAM,OAAO,GAAG,MAAM;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAc,MAAc,EAAE,IAAY,EAAE,IAAc;IACjF,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,IAAI,GAAgB;QACxB,MAAM;QACN,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD;QACD,WAAW,EAAE,SAAS;KACvB,CAAC;IACF,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAA4B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAM,CAAC;IAC9E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,MAAM,CAAE,IAAgC,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB;IAC9C,OAAO,GAAG,CAAgB,KAAK,EAAE,aAAa,SAAS,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,OAAe;IACpE,OAAO,GAAG,CAAqB,KAAK,EAAE,aAAa,SAAS,aAAa,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1G,CAAC"}
package/public/src/api.ts CHANGED
@@ -2,14 +2,37 @@
2
2
  // API CLIENT
3
3
  // ═══════════════════════════════════════════════════════════════
4
4
 
5
+ /**
6
+ * Read the host-only double-submit token from a browser cookie string.
7
+ * Malformed percent encoding is treated as absent so an invalid cookie cannot
8
+ * make every API call throw before it reaches the server.
9
+ */
10
+ export function csrfTokenFromCookie(cookie = document.cookie): string | undefined {
11
+ const encoded = cookie
12
+ .split(';')
13
+ .map((part) => part.trim())
14
+ .find((part) => part.startsWith('csrf_token='))
15
+ ?.slice('csrf_token='.length);
16
+ if (!encoded) return undefined;
17
+ try {
18
+ return decodeURIComponent(encoded);
19
+ } catch {
20
+ return undefined;
21
+ }
22
+ }
23
+
5
24
  /**
6
25
  * Fetch wrapper for the `/api` endpoints. Generic in `T` so each call site is
7
26
  * typed against the response interface declared in `api-types.ts`.
8
27
  */
9
28
  export async function api<T = unknown>(method: string, path: string, body?: unknown): Promise<T> {
29
+ const csrfToken = csrfTokenFromCookie();
10
30
  const opts: RequestInit = {
11
31
  method,
12
- headers: { 'Content-Type': 'application/json' },
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ ...(csrfToken ? { 'X-CSRF-Token': csrfToken } : {}),
35
+ },
13
36
  credentials: 'include',
14
37
  };
15
38
  if (body !== undefined) opts.body = JSON.stringify(body);
@@ -46,4 +69,4 @@ export interface GuideTopicResponse {
46
69
  content?: string;
47
70
  error?: string;
48
71
  [key: string]: unknown;
49
- }
72
+ }
package/public/src/app.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // APP — Main entry point
3
3
  // ═══════════════════════════════════════════════════════════════
4
4
  import { state } from './state.js';
5
- import { api } from './api.js';
5
+ import { api, csrfTokenFromCookie } from './api.js';
6
6
  import { showView, setOnViewChange } from './views/router.js';
7
7
  import { loadProjects, onProjectSelect, loadItemsBadge, renderProjectsView, selectProject, deleteProject, buildCreateProjectModal, submitCreateProject, submitCreateProject2 } from './views/projects.js';
8
8
  import { renderItemsView, fetchAndRenderItems, openItemDetail, switchDetailTab, addComment, addNote, appendItem, updateItem, closeItem, confirmDeleteItem, claimItem, releaseItem, startItem, pauseItem, addDep, removeDep, addLearning, addTest, addFileLink, setStatusFilter, applyItemFilters, clearFilters, copyFilterLink, showBulkUpdateModal, previewBulkUpdate, applyBulkUpdate, showBulkCloseModal, previewBulkClose, applyBulkClose, useItemAsTemplate } from './views/items.js';
@@ -474,10 +474,14 @@ function disconnectSSE() {
474
474
  function notifyPresenceView(view) {
475
475
  if (!sseClientId || !sseCurrentProjectId)
476
476
  return;
477
+ const csrfToken = csrfTokenFromCookie();
477
478
  // Fire-and-forget: update current view on server
478
479
  void fetch(`/api/projects/${encodeURIComponent(sseCurrentProjectId)}/pm/presence/${encodeURIComponent(sseClientId)}`, {
479
480
  method: 'PATCH',
480
- headers: { 'Content-Type': 'application/json' },
481
+ headers: {
482
+ 'Content-Type': 'application/json',
483
+ ...(csrfToken ? { 'X-CSRF-Token': csrfToken } : {}),
484
+ },
481
485
  body: JSON.stringify({ view }),
482
486
  }).catch(() => undefined);
483
487
  }
@@ -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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"}
package/public/src/app.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // APP — Main entry point
3
3
  // ═══════════════════════════════════════════════════════════════
4
4
  import { state } from './state.js';
5
- import { api } from './api.js';
5
+ import { api, csrfTokenFromCookie } from './api.js';
6
6
  import type { AuthMeResponse, SearchResponse } from './api-types.js';
7
7
  import { showView, setOnViewChange } from './views/router.js';
8
8
  import { loadProjects, onProjectSelect, loadItemsBadge, renderProjectsView, selectProject, deleteProject, buildCreateProjectModal, submitCreateProject, submitCreateProject2 } from './views/projects.js';
@@ -546,10 +546,14 @@ function disconnectSSE(): void {
546
546
  * connected. */
547
547
  function notifyPresenceView(view: string): void {
548
548
  if (!sseClientId || !sseCurrentProjectId) return;
549
+ const csrfToken = csrfTokenFromCookie();
549
550
  // Fire-and-forget: update current view on server
550
551
  void fetch(`/api/projects/${encodeURIComponent(sseCurrentProjectId)}/pm/presence/${encodeURIComponent(sseClientId)}`, {
551
552
  method: 'PATCH',
552
- headers: { 'Content-Type': 'application/json' },
553
+ headers: {
554
+ 'Content-Type': 'application/json',
555
+ ...(csrfToken ? { 'X-CSRF-Token': csrfToken } : {}),
556
+ },
553
557
  body: JSON.stringify({ view }),
554
558
  }).catch(() => undefined);
555
559
  }
package/public/src/sw.ts CHANGED
@@ -164,7 +164,11 @@ function transactionDone(tx: IDBTransaction): Promise<void> {
164
164
  * been durably persisted to IndexedDB; `false` when persistence failed so the
165
165
  * caller can respond with an explicit error instead of claiming it was queued.
166
166
  */
167
- async function queueMutation(method: string, path: string, body: unknown): Promise<boolean> {
167
+ async function queueMutation(
168
+ method: string,
169
+ path: string,
170
+ body: unknown,
171
+ ): Promise<boolean> {
168
172
  try {
169
173
  const db = await openMutationDB();
170
174
  const tx = db.transaction(MUTATION_STORE, 'readwrite');
@@ -250,12 +254,32 @@ async function flushMutationQueue(): Promise<void> {
250
254
  const mutations = read.mutations;
251
255
  if (mutations.length === 0) return;
252
256
 
257
+ let replayCsrfToken: string | null;
258
+ try {
259
+ const bootstrap = await fetch('/api/auth/me', {
260
+ method: 'GET',
261
+ credentials: 'include',
262
+ cache: 'no-store',
263
+ });
264
+ replayCsrfToken = bootstrap.headers.get('x-csrf-token');
265
+ if (!replayCsrfToken) {
266
+ console.warn('Cannot replay offline mutations without a CSRF bootstrap token');
267
+ return;
268
+ }
269
+ } catch {
270
+ // The network failed during token bootstrap; preserve the entire queue.
271
+ return;
272
+ }
273
+
253
274
  let replayed = 0;
254
275
  for (const mut of mutations) {
255
276
  try {
256
277
  const opts: RequestInit = {
257
278
  method: mut.method,
258
- headers: { 'Content-Type': 'application/json' },
279
+ headers: {
280
+ 'Content-Type': 'application/json',
281
+ 'X-CSRF-Token': replayCsrfToken,
282
+ },
259
283
  credentials: 'include',
260
284
  };
261
285
  if (mut.body !== null) opts.body = mut.body;
@@ -509,4 +533,4 @@ sw.addEventListener('online', () => {
509
533
  const __testGlobals = globalThis as unknown as Record<string, unknown>;
510
534
  if (__testGlobals.__swTestHarness) {
511
535
  __testGlobals.__swInternals = { getQueuedMutations, flushMutationQueue, queueMutation, clearMutation };
512
- }
536
+ }
package/public/sw.js CHANGED
@@ -213,12 +213,32 @@ async function flushMutationQueue() {
213
213
  const mutations = read.mutations;
214
214
  if (mutations.length === 0)
215
215
  return;
216
+ let replayCsrfToken;
217
+ try {
218
+ const bootstrap = await fetch('/api/auth/me', {
219
+ method: 'GET',
220
+ credentials: 'include',
221
+ cache: 'no-store',
222
+ });
223
+ replayCsrfToken = bootstrap.headers.get('x-csrf-token');
224
+ if (!replayCsrfToken) {
225
+ console.warn('Cannot replay offline mutations without a CSRF bootstrap token');
226
+ return;
227
+ }
228
+ }
229
+ catch {
230
+ // The network failed during token bootstrap; preserve the entire queue.
231
+ return;
232
+ }
216
233
  let replayed = 0;
217
234
  for (const mut of mutations) {
218
235
  try {
219
236
  const opts = {
220
237
  method: mut.method,
221
- headers: { 'Content-Type': 'application/json' },
238
+ headers: {
239
+ 'Content-Type': 'application/json',
240
+ 'X-CSRF-Token': replayCsrfToken,
241
+ },
222
242
  credentials: 'include',
223
243
  };
224
244
  if (mut.body !== null)