- Add a reusable Spinner component in the renderer.
- Show it in the dashboard and integrations initial-load placeholders.
- Spinner uses current cyan accent; easy to swap for a custom asset later.
- Update familiaros.virtual-familiar manifest id, permissions, and asset key
to match the rebrand and the v3 SDK (familiar:* permissions).
- Rename plugin asset virtual-pet.svg -> virtual-familiar.svg.
- Migrate plugin code from ctx.pet to ctx.familiar and pet:clicked to
familiar:clicked so speech/reactions actually work.
- Update plugin locale strings from Pet to Familiar.
- Add empty-text guard in speakTts to avoid speaking whitespace.
- Remove stale "settings.tts.placeholder" key from all locale files.,
- Rewrite README.md hero and feature sections with FamiliarOS manifest copy.
- Update README_OUR_CHANGES.md, FEATURES.md, FEATURES_OUR_CHANGES.md,
PULL_REQUEST.md, and FEATURE_REGISTRY.md with rebrand and custom naming.
- Rename packages/install-familiar/src/check-install-pet.ts to
check-install-familiar.ts to match rebrand and package test script.
- Custom Familiar name already wired through app-state, tray, Settings UI,
and i18n; docs now describe it.
- Rename all user-facing and technical identifiers from OpenPets/Pet to FamiliarOS/Familiar.
- Rename packages from @open-pets/* to @familiaros/*; rename install-pet/pet-format packages.
- Rename plugin IDs and directories from openpets.* to familiaros.*.
- Rename IPC namespace from openpets:* to familiaros:* and state filenames from openpets-* to familiaros-* with legacy migration.
- Rename source files (pet-window, built-in-pet, default-pet-controller, etc.) to familiar equivalents.
- Update locales (en, es-419, ja, ko, pt-BR, zh-Hans, zh-Hant) and tray/pet context menu strings.
- Add Familiar naming feature: preference, settings input, tray menu display.
- Update assets and packaging config; all desktop tests pass.
- Records the newline-escape bug and the Windows CDP-driven packaged-app smoke test.
- Updates the delivered installer SHA256.
- Adds a standalone write-up of the root cause and verification method.
The inline renderer script was building attachment separators with unescaped \n strings inside the TypeScript template literal, which produced real newlines in the generated HTML and broke parsing in the packaged build.
Re-applies the 41920b0 prompt-window improvements (attachments, auto-growing textarea, smaller sizes) on top of the known-working sandboxed data-URL/preload loading strategy. No other files touched.
This reverts the prompt-window renderer and window setup to the last
commit where the prompt window was reported to work flawlessly, while
leaving all other v3.1.0 enhancements (pet context menu, scale presets,
settings nudge buttons, etc.) intact.
- Revert the prompt window to the previously working load strategy:
sandbox: true, preload resolved via app.getAppPath(), and loadURL with
a data: URL generated from the inline HTML.
- Keep current UI enhancements (attachments, auto-growing textarea,
Enter-to-send, toolbar buttons, resize grip, etc.).
- Remove the temporary-file load path and app.asar.unpacked preload
resolution that broke IPC in the packaged build.