Skip to content

Draft: bump to @wippy-fe/* 0.0.26 + CDN 1.0.26 — needs wippy-framework publish#4

Merged
AndrewKirkovski merged 15 commits into
masterfrom
feature/layout-manager
May 14, 2026
Merged

Draft: bump to @wippy-fe/* 0.0.26 + CDN 1.0.26 — needs wippy-framework publish#4
AndrewKirkovski merged 15 commits into
masterfrom
feature/layout-manager

Conversation

@AndrewKirkovski
Copy link
Copy Markdown
Contributor

@AndrewKirkovski AndrewKirkovski commented Apr 27, 2026

Summary

  • Bumps every `@wippy-fe/*` consumer dep to `^0.0.26` across 9 packages (2 apps + 7 web components).
  • Clean-rebuilds all 9 against the freshly-published `@wippy-fe/*` 0.0.26 set; refreshed lockfiles included.
  • Bumps the four CSS asset URLs in `static/login.html` from `webcomponents-1.0.25` to `webcomponents-1.0.26`.

Pairs with

Why draft

Needs wippy-framework publish. The companion facade bump in wippyai/framework#51 must merge AND wippy-framework be cut/published before this can land — otherwise app-template consumers using the facade default will still pin to `1.0.25`.

Once wippyai/framework#51 is merged + published, this PR can be marked ready for review and merged.

All frontend packages: bump @wippy-fe/* deps from ^0.0.20 to ^0.0.21.
Login page CSS: CDN path webcomponents-1.0.20 to 1.0.21.
Clean npm install + rebuild for all 8 frontend packages.
…rder

The iframe proxy now dynamically imports @wippy-fe/markdown-iframe to
avoid bundling the 9 MB shiki+WASM chain. The dev-proxy consumer needs
the specifier resolvable via the page's static importmap, and the
importmap must appear before the blocking classic <script src=dev-proxy.js>
tag so it is registered before proxy code fires the dynamic import.
Add mountRoute to main/main_root pages in views config.
Add iframe-demo Vue app with chart/counter/reactions pages
and configOverrides theme demo. Update facade vendor files
to match apiRoutes-at-root schema change. Remove fontCssUrl
from all web component hostCssKeys.
Add nested-nav page demonstrating nav-owner pattern: main app
embeds iframe-demo as a nav-owner child. iframe-demo tabs now
use vue-router RouterLink instead of buttons. Tab clicks compose
into host URL (/home/nested-nav/chart, /counter, /mermaid).
Cold deep-links and browser back/forward fully supported.
The /mermaid route was importing reactions.vue which rendered a
Mermaid diagram. Rename file to match the route and tab label.
- Bump @wippy-fe/* deps (0.0.21 → 0.0.22) across all 9 packages
- Add missing @wippy-fe/router peerDependency to main app
- Bump Web Host CDN URL (1.0.21 → 1.0.22) in vendored facade and login.html
- Drop duplicate main_root entry — single /home mount covers sidebar use; the
  root catch-all was only a wiring test and duplicated the same base_path

Tracks gen-2-chat 1.0.22 / @wippy-fe/* 0.0.22 release.
- All frontend package.json: bump @wippy-fe/* deps from 0.0.22 to 0.0.23.

- static/login.html: bump vendored CDN paths from webcomponents-1.0.22
  to webcomponents-1.0.23.

- README.md: correct `session_type` values row from
  `non-persistent | persistent` to `non-persistent | cookie`. The value
  `"persistent"` was never valid; gen-2-chat accepts only `"non-persistent"`
  or `"cookie"`. Paired with the gen-2-chat 1.0.23 session_type plumbing
  fix that makes the facade parameter actually take effect.
Regenerated lockfiles after npm install with the newly published
0.0.23 packages. Zero peer dependency errors, zero vulnerabilities.
- facade 0.6.0 adds three-scope theming (host_custom_css,
  children_custom_css, host_icon_sets) — resolves the
  unresolved `wippy.facade:children_custom_css` requirement warning.

- views 0.4.30 adds mountRoute + config_overrides support and
  the customVariabled -> customVariables rename in render.lua.

- Transitive: wippy/llm 0.4.26 -> 0.4.27.
Skipped 0.0.24 — last release here was 0.0.23. Bump every
@wippy-fe/* dep range across the 2 application packages and 7
web-component packages from ^0.0.23 to ^0.0.25, and the CDN base
URL in static/login.html from webcomponents-1.0.23 to
webcomponents-1.0.25.

Clean reinstall + Vite production build for all 9 packages
(equivalent of `make clean-build`). counter-persist also needed
its package-lock.json regenerated — npm couldn't satisfy
@wippy-fe/pinia-persist@0.0.25's exact peer pin on
@wippy-fe/proxy@0.0.25 against the stale lock that pinned
pinia-persist@0.0.23.

Verified: `wippy lint` clean (0 issues, 221 entries).
            `wippy run test`: 21/21 passing.
@AndrewKirkovski AndrewKirkovski requested a review from wolfy-j April 27, 2026 16:10
Mermaid WC now falls back from beautiful-mermaid (sync, supported diagrams)
to the official mermaid lib via lazy `import('./mermaid-fallback')` for pie,
gantt, mindmap, journey, gitGraph, quadrant, timeline, sankey, c4,
requirement, packet. Theme variables bridge through getComputedStyle on the
host element so SVGs pick up Wippy's --p-* palette. Vite build sets
`preserveEntrySignatures: false` so the entry chunk keeps its
`define(import.meta.url, …)` instead of being split into a facade + sub-chunk
(the sub-chunk URL lacks the `?declare-tag=` query the autoload appends, and
registration silently no-ops). Lazy chunks remain code-split.

CreateArtifact tool: added `instructions` boolean parameter so the agent
chooses standalone (false, default) vs inline embed (true) per call. The
trait prompt was rewritten to describe both content modes (content/component)
and both display modes generically — no per-component syntax in the trait;
each WC's package.json carries its own `wippy.description` for the
components-list pipeline. Component-mode props are now wrapped as a
`wippy-component-tag-1.0` package shape so gen-2-chat's web-package-loader
recognises the JSON and mounts the custom element.
Updates all consumer package.json files to ^0.0.26 across the 9
applications + web components, refreshes their package-lock.json from
clean installs, and bumps the four CSS asset URLs in static/login.html
from webcomponents-1.0.25 to webcomponents-1.0.26.

Builds verified clean for all 9 packages against the freshly-published
@wippy-fe/* 0.0.26 set; smoke test (wippy backend serving production
build, login page renders, four web-host CDN assets HTTP 200) passed.

Pairs with wippyai/framework#51 (facade default).
@AndrewKirkovski AndrewKirkovski changed the title Draft: needs wippy facade publish Draft: bump to @wippy-fe/* 0.0.26 + CDN 1.0.26 — needs wippy-framework publish Apr 30, 2026
@AndrewKirkovski AndrewKirkovski merged commit ab40a4b into master May 14, 2026
AndrewKirkovski added a commit that referenced this pull request May 21, 2026
Applies the consolidated findings from the multi-agent dogfood loop against
fe-compliance-checklist.md. 32 clarifications applied as proposed; 7
reworded per user direction; 2 skipped (out of scope); 2 driven by new
research swarm output (icons + hostCssKeys).

Doc changes (`frontend/docs/fe-compliance-checklist.md`):

§0–§2 — promote in-repo proxy-api.md as authoritative loadWebComponent source;
clarify §0 cross-module URL check is manual, not a §10 recipe; tag props/events
TODO as SHOULD; reframe base_path "double app" as URL arithmetic, not convention;
add DEFAULT_PROXY drift explanation; clarify tag_name severity (hyphen MUST,
prefix SHOULD, wippy- reserved).

§3 (page apps) — historyPolyfill + refreshWhenVisible marked legacy/deprecated;
config_overrides note inheritance through nested iframes + WCs (per-page-AND-children);
fix `assetsInlineLimit` / `process.env.NODE_ENV` verify gaps; commit CDN form of
dev-proxy script (with `webcomponents-1.0.32` from current facade default);
rewrite icon registration rule — MUST call `addIcons(addCollection)` from
`@wippy-fe/proxy` (handles both deprecated `theming.global.icons` and canonical
`theming.global.iconSets`; reading `customization.icons` is a silent no-op);
harden `any` rule to strict TS with no soft cap.

§4 (web components) — fix tagName camelCase/hyphen contradiction (JSON key is
camelCase, value must be kebab); description requires 4 clauses + ≥200 chars;
note `@wippy-fe/proxy` has three legitimate roles (devDeps + peerDeps + external);
add `define(import.meta.url` post-build grep for `preserveEntrySignatures` check;
rewrite hostCssKeys with archetype decision rule (corrects bug: preflightCssUrl
is NOT in the HostCssKey union — TS-rejected + runtime no-op); refresh stale
component-guide.md line pin; clarify pinia-persist is OPTIONAL with prop schema.

§5 (theming) — new §5.0a Capture-before-refactor protocol (MUST screenshots
+ computed-style color/token inventory before any §5 refactor); rename §5.1.1
to "Three CUSTOMIZER levels" with AUTHOR/CUSTOMIZER waterfall pointer; tag
REJECT 42b/43a as MUST/P1; clarify REPLACE × @light/@dark interaction;
correct `--p-primary` anti-pattern wording; split host customCSS scoping rule
(PrimeVue unscoped vs host-chrome BEM scoped to `.wippy-host-app`); replace
invented "REJECT 5.6.r" with canonical 46c/46d/46e + define "reusable".

§6–§9 — add subscription cleanup back-reference in §6.3; reword §7 rule 7-1 to
make @wippy-fe/router factory the canonical single solution; rename §7
"REJECT?" column to "Severity"; clarify §8.3 importmap diff triage; add ASCII
verify+fix for §8.2 make.ps1; document <head> script ordering in §9.3; mark
§9.5 `base: ''` as universal (not host-less specific).

§10–§14 + Appendix D — preamble explains POSIX/Git-Bash shell assumption and
coverage carve-out for non-§10 rules; §10.8 prereqs (node_modules, moderator-only);
§11 rule-ID conventions (suffixed IDs); §12 createPinia BORDERLINE + no §11 fires;
§13.1 bg-manager preference; §14 method note for compound PASS rows;
Appendix D.6 `gold:` is notation, not directory path.

Gold-code changes (downstream of doc rules):

- `frontend/applications/main/app.html` — commit CDN form of dev-proxy.js
- `frontend/applications/iframe-demo/app.html` — same
- `frontend/applications/main/src/app.ts` — switch from broken
  `config.customization?.icons` + single `addCollection` to canonical
  `addIcons(addCollection)` from `@wippy-fe/proxy`

Skipped: #4 (announced/secure/auto_register MUST+Default — removed by user),
#12 (§3.5 factory-vs-handrolled — needs clearer rewording).

Deferred: meta-finding on missing `gold:make.bat` / `make.ps1` — separate
decision (ship files vs weaken §8.2 to SHOULD vs drop gold-citation).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants