Skip to content

Releases: DDDMUC/dsh-as-aistudio

v0.2.13 - derive the combination test double from the component

Choose a tag to compare

@DDDMUC DDDMUC released this 09 Oct 16:31
- section-4 scene: deleteView(controller, hidden) spreads part.controller.getSnapshot()
  (the plugin's own DeletionController) instead of mirroring its frozen view by hand;
  the scene still owns the one field it drives, `hidden`
- keep the nail: DELETE_VIEW_KEYS declares the 15 view keys the component freezes in
  dsh-delete-turn/src/client.js; every call compares the snapshot's keys with it, and a
  gained or dropped field fails one sentence - "the component view gained/lost fields:
  +x -y" - instead of the TypeError applyDom's unguarded view.turnSeqs.has(...) threw
- negative checks: table without `turnSeqs` -> ERR_ASSERTION with that sentence;
  hand double with the stale `spliceSeqs` name -> the 6 original TypeErrors reproduce
- 110/110 green, 0.2.13 in the three version sites, bundle rebuilt

v0.2.12 - vendor dsh-delete-turn 0.1.11 and follow its renamed view field

Choose a tag to compare

@DDDMUC DDDMUC released this 09 Oct 14:48
v0.2.12 - vendor dsh-delete-turn 0.1.11, follow its renamed view field

v0.2.11 - integrate delete-turn 0.1.9 / edit-turn 0.2.20

Choose a tag to compare

@DDDMUC DDDMUC released this 09 Oct 14:20

Version and dependency ranges follow the components (0.2.8 -> 0.2.11): dsh-delete-turn ^0.1.9 and
dsh-edit-turn ^0.2.20 are required, and the src/vendor/ copies of both are re-lifted from their
repos.

A follow-up commit re-vendors dsh-rerun-turn 0.1.27 and regenerates src/client.js through
tools/build.mjs, so vendor-sync and build-sync stay green (110 tests green).

v0.2.8 - re-vendor dsh-edit-turn 0.2.19

Choose a tag to compare

@DDDMUC DDDMUC released this 05 Oct 17:54

Re-vendors dsh-edit-turn 0.2.19, which makes a rewritten message keep every block the user
did not touch - images and files included - instead of rebuilding it as text only.

The dependency range is now ^0.2.19. 110 tests pass; verify-manifest resolves all four
ranges; vendor and build checks are clean.

v0.2.7 - re-vendor dsh-edit-turn 0.2.18

Choose a tag to compare

@DDDMUC DDDMUC released this 04 Oct 13:06

Re-vendors dsh-edit-turn 0.2.18.

That release makes an edit that changes nothing write nothing: the guard sits in applyEdit
before any session.append and returns { applied: false, unchanged: true, shadowed: [] } when
the submitted text equals the live text verbatim. The editor re-run button is unaffected -
the save is skipped, the re-run still fires.

Because the four components travel inside this bundle, their browser halves had gone stale
(tools/vendor.mjs --check named dsh-edit-turn), so the fix reaches a page only through a new
version of this package. The dependency range is now ^0.2.18.

110 tests pass; verify-manifest resolves all four ranges; vendor and build checks are clean.

v0.2.6 - the component rows mount the components

Choose a tag to compare

@DDDMUC DDDMUC released this 03 Oct 20:14

The plugin detail page listed only the studio itself (1 of 5), because the four components
were mounted at runtime by the host half and so had no Loader rows.

The rule, from the platform source

"Included components" is built from the bundle's own patch:

dsh-plugin-manager/lib/index.js:1864
  declaredRows(name, info)  ->  info.dsh.bundle  ->  loadOverlayPatches
  ->  flatten(composeEntries([patches.filter((item) => item.insert !== void 0)]))

So the studio reported exactly one - the single row its patch inserted. The all-in-one
bundle gets 19 entries under one list row by declaring them.

What changed

The patch now inserts five rows:

- insert:
    - id: dsh-as-aistudio            # bare name - this is the row that carries ./client
      name: "dsh-as-aistudio"
- insert:
    - id: dsh-as-aistudio-edit
      name: "dsh-as-aistudio/edit"   # subpath row
      config: { plugin: "dsh-edit-turn" }
    # ... one per component (rerun, delete, markdown)

All five resolve to one shell (package.json maps ./edit ./rerun ./delete ./markdown to
src/shell.js), which mounts whatever its config.plugin names. The declaration costs one file
and no new dependency.

The list still shows one row

Package inventory folds "/" back to the bare package name and dedupes on
name + version, so five rows contribute one package identity. A test pins that a row name
must never be a component package name - which is exactly what would split it into five.

No component is mounted twice

mountComponentHosts is gone; the host half mounts nothing itself. Status answers from the
Loader: it reports the row each component landed on, and hostMounted is true only while that
row's fiber state is 2. A row that is disabled, failed or absent reads as not mounted, and
the browser half will not draw a component the host says is not mounted - no button that
answers nothing.

Verification

  • 110 tests pass; verify-manifest, vendor --check and build --check all clean;
  • negative: four separate reversions - the patch and exports, the browser gate, the runtime
    mount, and an optimistic hostMounted - each turn exactly their own cases red;
  • end to end on a real Loader with a scratch profile: 5 rows, the 4 component rows active,
    status 4/4 mounted, and it still boots when a component package is missing.

v0.2.5 - re-vendor dsh-delete-turn 0.1.8

Choose a tag to compare

@DDDMUC DDDMUC released this 03 Oct 17:28

Re-vendors dsh-delete-turn 0.1.8.

That release fixes a deletion whose transcript row stayed on screen as an empty bubble: the row names the replacement carrier while the hidden ledger is keyed by the seq it shadowed, and nothing bridged the two. Because the four components are vendored into this bundle, their browser halves had gone stale (tools/vendor.mjs --check reported STALE dsh-delete-turn (component v0.1.8)), so the fix only reaches a page through a new version of this package.

The dependency range is now ^0.1.8, so the host half cannot lag the client half this bundle ships.

88 tests pass, and installing the packed tarball into a scratch directory pulls dsh-delete-turn 0.1.8 with the fix present.