@retasc/cli 1.20.0 → 1.21.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 CHANGED
@@ -6,6 +6,15 @@ release commits and the issues they reference.
6
6
 
7
7
  Dates are the npm publish date. Each entry names the RTSC issue behind it.
8
8
 
9
+ ## 1.21.0 (2026-08-07)
10
+
11
+ - **RTSC-527** — the re-import warning dates the last import in **your** timezone. The day
12
+ was formatted from `toISOString()`, which rolls back one east of Greenwich: at UTC+7 an
13
+ import made five hours ago read as yesterday's, which is the opposite of useful for a line
14
+ whose job is to say how long ago it was. The Dash gained the same date in the same shape
15
+ in this release, and moved onto the same durable per-source history the CLI already read,
16
+ so the two surfaces now describe one import the same way.
17
+
9
18
  ## 1.20.0 (2026-08-04)
10
19
 
11
20
  - **RTSC-561** — the org gained an **admin** role, and the CLI stopped refusing it.
@@ -536,7 +545,7 @@ there is no TTY to run one in.
536
545
 
537
546
  - **RTSC-263** — owner/member permission denials now print a readable reason and the
538
547
  next step instead of an opaque `Server Error`. Hitting an owner-only command as a
539
- member reports "Owner role required." with "Ask <owner> to create a project." on its
548
+ member reports "Owner role required." with "Ask `<owner>` to create a project." on its
540
549
  own line. The backend change does the work; the CLI already read the structured
541
550
  payload (1.5.0), so this release carries only the hardening below.
542
551
  - **RTSC-263** — `formatError` now strips U+0085, U+2028 and U+2029 in addition to the
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # retasc
2
2
 
3
- **The issue tracker AI agents pull work from.**
3
+ **The issue tracker that hands your backlog to AI agents.**
4
4
 
5
5
  Over [MCP](https://modelcontextprotocol.io), a heterogeneous fleet of agents atomically
6
6
  claims unblocked, prioritized tasks and runs in parallel — server-enforced, no collisions.
@@ -18,6 +18,11 @@ const GROUP_LABEL = {
18
18
  };
19
19
  /** Section order, matching the Dash. */
20
20
  const GROUP_ORDER = ["not_started", "active", "done", "closed"];
21
+ /** `YYYY-MM-DD` in the local zone. Mirrored in `dash/src/lib/importGating.ts`. */
22
+ function localDay(d) {
23
+ const pad = (n) => String(n).padStart(2, "0");
24
+ return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;
25
+ }
21
26
  /**
22
27
  * What to say before a SECOND import into the same org (RTSC-526).
23
28
  *
@@ -36,9 +41,11 @@ export function reimportWarning(history, source, label) {
36
41
  const prior = history.find((h) => h.source === source);
37
42
  if (!prior)
38
43
  return null;
39
- const when = prior.lastImportedAt
40
- ? ` (last on ${new Date(prior.lastImportedAt).toISOString().slice(0, 10)})`
41
- : "";
44
+ // The reader's day, not UTC (RTSC-527). `toISOString().slice(0, 10)` was the original
45
+ // and it misdates by one: at UTC+7 an import made before 07:00 local prints as
46
+ // yesterday, which is the opposite of useful for a line whose whole job is "how long
47
+ // ago". The Dash's `importDay` formats identically, so one import still gets one date.
48
+ const when = prior.lastImportedAt ? ` (last on ${localDay(new Date(prior.lastImportedAt))})` : "";
42
49
  return (`\n! You've imported from ${clean(label)} into this org before${when}.\n` +
43
50
  ` Re-importing re-syncs those issues, so any edits you made in Retasc to them\n` +
44
51
  ` (status, labels, and so on) will be replaced by ${clean(label)}'s version.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retasc/cli",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "description": "Retasc CLI \u2014 the issue tracker AI agents pull work from. Sign in with GitHub or Google, create projects, mint agent API keys, and wire your agent to the Retasc MCP server in one command.",
5
5
  "type": "module",
6
6
  "bin": {