instar 1.3.1591 → 1.3.1592
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/dashboard/console/console.css +6 -0
- package/dashboard/console/promises.js +3 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/native/instar-desktop-host +0 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/upgrades/1.3.1592.md +22 -0
- package/upgrades/side-effects/console-decide-origin.eli16.md +12 -0
- package/upgrades/side-effects/console-decide-origin.md +24 -0
|
@@ -992,6 +992,12 @@ button.run-mark:focus-visible { outline: 2px solid var(--accent); outline-offset
|
|
|
992
992
|
/* A column flex box squeezes its children to fit; history items must keep their own height
|
|
993
993
|
and let the box scroll (tool lines clip their overflow, so without this they shrink to 0). */
|
|
994
994
|
.sess-history > * { flex-shrink: 0; }
|
|
995
|
+
/* Long tool lines never wrap, so their min-content width is the whole line: without these
|
|
996
|
+
the open session (and the page's grid column) grew to fit it, wider than a phone. */
|
|
997
|
+
.main, .sess-view, .sess-open, .sess-term-wrap, .sess-composer { min-width: 0; }
|
|
998
|
+
.sess-input { min-width: 0; width: 100%; }
|
|
999
|
+
/* History has no live stream to return to: never float "Back to live" over it. */
|
|
1000
|
+
.sess-history:not([hidden]) ~ .sess-resume { display: none; }
|
|
995
1001
|
.sess-history-note { margin: 0; text-align: center; font-size: 13px; color: var(--text-muted); }
|
|
996
1002
|
.sess-h { max-width: 92%; }
|
|
997
1003
|
.sess-h-user { align-self: flex-end; background: var(--accent-wash); border: 1px solid var(--hairline); border-radius: var(--r-md); padding: var(--s-2) var(--s-3); }
|
|
@@ -143,7 +143,9 @@ function openPromise(r, { post, chatId, names, refresh }) {
|
|
|
143
143
|
else if (fallback) fallback.querySelector('p').textContent = 'Copying is unavailable here. Select this question and paste it in the conversation:';
|
|
144
144
|
} : undefined }));
|
|
145
145
|
}
|
|
146
|
-
|
|
146
|
+
// Always name the machine that holds it: the same promise id can exist on several
|
|
147
|
+
// machines (ids are per machine), and a bare id is refused as ambiguous.
|
|
148
|
+
const q = r.origin ? `?origin=${encodeURIComponent(r.origin)}` : '';
|
|
147
149
|
const id = encodeURIComponent(c.id);
|
|
148
150
|
const result = async (path, body) => {
|
|
149
151
|
const x = await post(`/commitments/${id}/${path}${q}`, body);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "db01d9f92c6aa26ca903702896b41be53722982ed07d27633237bb254c214290",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1592",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/audits/phase-b/f10-triage.md",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "e59a53d14ee28bb1ba378121e37d8f0c06f8c18263871c1509aa2dee9b8538c4",
|
|
3
3
|
"registrySha256": "db01d9f92c6aa26ca903702896b41be53722982ed07d27633237bb254c214290",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1592"
|
|
5
5
|
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-11-02T07:
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-11-02T07:49:58.927Z",
|
|
5
|
+
"instarVersion": "1.3.1592",
|
|
6
6
|
"entryCount": 205,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "db01d9f92c6aa26ca903702896b41be53722982ed07d27633237bb254c214290",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1592",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/audits/phase-b/f10-triage.md",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "e59a53d14ee28bb1ba378121e37d8f0c06f8c18263871c1509aa2dee9b8538c4",
|
|
3
3
|
"registrySha256": "db01d9f92c6aa26ca903702896b41be53722982ed07d27633237bb254c214290",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1592"
|
|
5
5
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Promise actions in the console (Approve, Decline, Mark as done, Drop, Resume) always name the machine that holds the promise. Promise ids are numbered per machine, so a bare id could be refused as ambiguous when another machine had a promise with the same number.
|
|
9
|
+
|
|
10
|
+
## What to Tell Your User
|
|
11
|
+
|
|
12
|
+
Approve and Decline now work on every promise; before, some failed with an "ambiguous across machines" error.
|
|
13
|
+
|
|
14
|
+
## Summary of New Capabilities
|
|
15
|
+
|
|
16
|
+
No new capability; a fix.
|
|
17
|
+
|
|
18
|
+
## Evidence
|
|
19
|
+
|
|
20
|
+
Operator screenshot 2026-11-01 23:03: Approve on CMT-1206 answered "ambiguous across machines". The pool view holds CMT-1206 on the Studio (pending), the Mac Mini and the Laptop (expired).
|
|
21
|
+
|
|
22
|
+
The session History view and composer now fit a phone screen: long one-line tool entries no longer widen the page, and "Back to live" no longer floats over History.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Plain overview: Approve works on promises that share a number with another machine
|
|
2
|
+
|
|
3
|
+
Each of my machines numbers its promises on its own, so the same number, like CMT-1206, can
|
|
4
|
+
exist on more than one machine. When you pressed Approve on the Remote Desktop promise, the
|
|
5
|
+
dashboard sent only the number, without saying which machine's promise it meant, and the
|
|
6
|
+
server refused because three machines had a promise with that number.
|
|
7
|
+
|
|
8
|
+
Now the dashboard always says which machine holds the promise when you press Approve,
|
|
9
|
+
Decline, Mark as done, Drop or Resume, so the server knows exactly which one you mean. The
|
|
10
|
+
buttons look the same; they just work now.
|
|
11
|
+
|
|
12
|
+
On a phone, the History view and the message box also ran off the right side of the screen, because one-line tool entries never wrap and pushed the whole page wider. They now stay inside the screen, and the "Back to live" button no longer covers History.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Side effects: promise actions always name the machine that holds the promise
|
|
2
|
+
|
|
3
|
+
Console-only. The promise sheet added `?origin=<machine>` to its action requests only for a
|
|
4
|
+
replica row. Promise ids are numbered per machine, so the same id (CMT-1206) existed on the
|
|
5
|
+
Studio (pending), the Mini and the Laptop (expired). A bare-id request for the Studio's own
|
|
6
|
+
promise was refused with "ambiguous across machines" — Approve failed for the operator on
|
|
7
|
+
2026-11-01. The sheet now always sends the origin it read with the row, for Approve, Decline,
|
|
8
|
+
Mark as done, Drop and Resume.
|
|
9
|
+
|
|
10
|
+
1. Over-block: none; the server already resolves an own-machine origin to the local record.
|
|
11
|
+
2. Under-block: a legacy row with no recorded origin still sends a bare id (unchanged).
|
|
12
|
+
3-5. Same routes, same authority. 6. None. 7. Proxied/owner-routed exactly as before.
|
|
13
|
+
8. Revert.
|
|
14
|
+
|
|
15
|
+
## 6b. Operator-surface quality
|
|
16
|
+
No visual change; the buttons now work.
|
|
17
|
+
|
|
18
|
+
## Also: History at phone width
|
|
19
|
+
Operator screenshot 2026-11-01 23:05: on a phone the History view and composer ran off the right
|
|
20
|
+
edge. Tool lines never wrap, so their min-content width widened the open session and the page's
|
|
21
|
+
grid column (measured 760 px in a 390 px viewport). `min-width: 0` on `.main`, `.sess-view`,
|
|
22
|
+
`.sess-open`, `.sess-term-wrap`, `.sess-composer` and the input keeps them inside the screen
|
|
23
|
+
(measured 358 px); long tool lines are cut with an ellipsis as designed. "Back to live" no
|
|
24
|
+
longer floats over History, which has no live stream. Desktop is unaffected (same widths).
|