6 Commits
Author SHA1 Message Date
Juan Denis 8fddc31e20 Normalize builtin extension copy
Applies the panel copy rules to the five builtin extensions. Tab,
page-title and command-palette labels go to sentence case (Cloud
servers, FTP server, Remote access, Status pages); display names stay
as extension names.

Walkthrough Studio: no period on short toasts, "Couldn't" errors, a
delete confirm that states the consequence, and four hardcoded strings
wrapped in t() (kicker, step eyebrow, default duration and action),
with Spanish for the new keys. 30 strings in all: Studio 16, cloud
provisioning 4, FTP 4, remote access 3, status 3.

Synced into frontend/src/plugins and the tracked live serverkit-status
manifest.
2026-10-04 17:33:01 -04:00
Juan Denis 92a3ffe6c3 refactor: consolidate frontend reuse and eliminate lint warnings 2026-09-05 05:24:35 -04:00
Juan DenisandClaude Opus 5 bcb48d50e5 fix(plugins): keep a baked-but-uninstalled extension out of the legacy auto-render
The Walkthrough Studio page mounted globally on top of the dashboard on
panels where the extension is not installed. Its module is baked into the
bundle (eager glob), it carried a default export, and PluginLoader's
legacy auto-render only excluded plugins whose contributions appear in
the RUNTIME envelope - which an uninstalled extension never populates.

Three guards:
- drop the studio's default export (routes resolve the named
  WalkthroughStudioPage export; both the baked copy and the
  builtin-extensions source)
- PluginLoader now also excludes any plugin whose BAKED manifest
  declares contributions (declaresBakedContributions)
- regression test pinning both guards for every baked plugin

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 09:28:37 -04:00
Juan DenisandClaude Opus 5 c181e72793 fix(walkthrough-studio): select the appended step from one snapshot
addStep() appended through a functional setDraft but then selected with
setStepIndex(draft.steps.length), reading the closed-over render snapshot.
The two can disagree under fast interaction, selecting the wrong step or an
index past the end of the list.

Build the list and derive the index from the same snapshot so they cannot
drift apart. Applied to the builtin-extensions source and the bundled copy
together; sync-builtin-frontends --check keeps them identical.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 00:46:47 -04:00
Juan DenisandClaude Fable 5 d3f6f29ed6 refactor(i18n): consolidate duplicate strings into common.* keys
Duplicate page-scoped keys (Title, Duration, Publish, Live preview,
Move up/down) and Walkthrough Studio strings now reuse common.labels/
common.actions instead of re-declaring identical English text.
en.json regenerated: 6430 -> 6420 keys.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 23:52:49 -04:00
Juan Denis 3a34358ae1 feat: add Walkthrough Studio builtin extension
Visual authoring tool for walkthroughs: create and reorder steps, pick
highlighted UI targets, choose completion modes (route, signal, manual,
check), validate against the shared schema, preview in a live dock,
publish to the server library, and import/export JSON or copy an
extension contribution block. The Studio dogfoods the new system by
declaring its own getting-started walkthrough in its manifest.
2026-08-31 23:14:50 -04:00