Commit graph

133 commits

Author SHA1 Message Date
OpenPets Dev
f514960aed feat(desktop): Knowledge Store UI integration, prompt-window store button, and responsive bubble layout 2026-06-15 19:42:56 +00:00
OpenPets Dev
d8650a9a70 test(desktop): expand Knowledge Store coverage for non-text context and phrase search 2026-06-15 17:57:40 +00:00
OpenPets Dev
4aff369021 feat(desktop): harden Knowledge Store with testable core, unit tests, and UTF-8 fallback 2026-06-15 17:56:38 +00:00
OpenPets Dev
61da20d728 fix(prompt-window): escape newlines in inline attachment script
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.
2026-06-15 02:07:00 +00:00
OpenPets Dev
236a61502e fix(prompt-window): restore enhancements while keeping working data-URL loader
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.
2026-06-15 00:04:46 +00:00
OpenPets Dev
9246fedfc5 fix(prompt-window): restore known-working prompt-window.ts from 08eff41
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.
2026-06-14 21:47:08 +00:00
OpenPets Dev
73500015a2 fix(prompt-window): restore working backbone (data URL + sandboxed preload)
- 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.
2026-06-14 21:06:02 +00:00
OpenPets Dev
b6c1c59195 fix(prompt-window): disable sandbox to restore IPC in packaged build 2026-06-14 20:10:57 +00:00
OpenPets Dev
3ad0dd1928 fix(prompt-window): return raw HTML instead of data URL for temp file load 2026-06-14 19:13:17 +00:00
OpenPets Dev
26d446ff0a fix(prompt,pet,settings): repair prompt window, remove pet scale handle, add scale nudge buttons
- Fix preload resolution for packaged builds: use app.asar.unpacked path
  when app.isPackaged, so sandboxed preloads load correctly in signed
  installers. This was the root cause of the broken prompt box and
  non-functional pet interactions.
- Remove the visible scale-handle circle from the pet window.
- Keep keyboard arrow nudges for pet scale (focus pet window, then
  arrow keys).
- Add left/right arrow nudge buttons next to the pet-scale slider in
  Settings > General.
- Update styles for the new scale-nudge buttons.
2026-06-14 07:23:32 +00:00
OpenPets Dev
14dfaf2eb3 Revert "chore(build): Windows target is NSIS setup only" 2026-06-14 06:21:08 +00:00
OpenPets Dev
d9eca14f61 chore(build): Windows target is NSIS setup only
- Remove the portable target from electron-builder.yml.
- Update PR notes to document that only the full setup installer is built.
2026-06-14 05:46:05 +00:00
OpenPets Dev
66c8bc6cd6 refactor(virtual-pet): reorder context menu, rename submenu, use Title Casing
- Rename the context-menu submenu from 'Virtual Pet' to 'Pet Status'.
- Apply Title Casing to all virtual-pet menu labels ('Check On Pet',
  'Play Game', 'Feed Snack', 'Let Rest', 'Pet Status').
- Move care actions (Pet, Play Game, Feed Snack, Let Rest) to the top
  level, ordered by priority.
- Place the 'Pet Status' submenu directly under 'Check On Pet'.
- Reorder stat rows to Level, Bond, Mood, Play, Food, Energy.
- Update the golden plugin test to match the new row grouping.
2026-06-14 04:56:52 +00:00
OpenPets Dev
727cce07d6 fix(prompt-window,pet): repair signed-build prompt window and add scale handle + arrow nudges
- Switch prompt window preload path to dirname(import.meta.url) so the
  unpacked preload resolves correctly in packaged (app.asar) builds.
- Load prompt window from a temp file instead of a data: URL; sandboxed
  preload + file:// origin works more reliably with Electron's security
  model than an inline data: document.
- Add renderer error logging through the preload bridge and guard against
  a missing API object.
- Render a visible scale handle inside the pet shell; add CSS so it is
  grabbable, pointer-events-enabled, and not clipped.
- Add keyboard arrow nudges (up/down/left/right) to adjust pet scale when
  the pet window is focused, with a debounced commit.

Refs: v3.1.0-integrated follow-up
2026-06-14 03:14:16 +00:00
OpenPets Dev
41920b0f4b fix(desktop): harden prompt window, fix pet skip, scale presets, attachments, textarea resize
- Stop pet window from skipping on click/drag release by anchoring resizes to the pet's current foot position and removing the post-drag resize.
- Use screen coordinates and remove throttle for smooth scale-handle dragging.
- Reintroduce abbreviated scale preset dropdown (XXXS-XXXL) alongside the slider.
- Fix prompt-window attachment busy-lock, use visually-hidden file input, and support binary files as data URLs.
- Tie prompt textarea height to the resized window; Enter sends, Ctrl+Enter inserts newline.
- Harden prompt window: new chat opens message view, preload files unpacked from asar.
2026-06-14 01:32:08 +00:00
OpenPets Dev
03ae162716 fix: OP 1-6 user-reported tweaks for v3.1.0
- OP1: drag threshold so single-click petting no longer drags the pet
- OP2: bubble layout already avoids top clipping; keep existing resize logic
- OP3: explicit draggable slider thumb CSS
- OP4: stronger system prompt telling GPT-4o to use and persist memories
- OP5: virtual-pet context menu actions above stats, 2x2-ish grid rows
- OP6: file attachments in floating prompt chat window
2026-06-13 19:43:14 +00:00
OpenPets Dev
82abe08658 chore(release): integrate v3.1.0 companion fixes
- Harden memory capture/retrieval.
- Move virtual-pet HUD to context menu.
- Single-click petting; remove triple-click.
- Fix speech-bubble clipping.
- Make scale slider draggable.
- Fix Windows packaging build-deps script and update docs.
2026-06-13 06:33:48 +00:00
OpenPets Dev
4aa60a355e Remove pet resize handle, disable virtual-pet HUD, shrink prompt window sizes 2026-06-12 06:27:10 +00:00
OpenPets Dev
d18e29d533 Fix stray semicolon in main.tsx after upstream merge 2026-06-12 03:42:51 +00:00
OpenPets Dev
524e8c70e8 Merge upstream v3.0.0 and bump to v3.1.0
Merged origin/main (release v3.0.0) into main and preserved fork features:
- Minimal compact prompt window (140px) that expands with editor/history.
- Larger pet speech bubbles that scale with pet/window size.
- Improved chat command memory extraction (/remember, /memorize, /note, don't forget).
- Continuous pet scale slider from 0.16x to 10x (screen-filling).

Version bumped to 3.1.0.
2026-06-12 03:20:52 +00:00
OpenPets Dev
08eff41255 feat(desktop): minimal prompt window, larger pet bubbles, improved command memory, screen-filling pet scale slider
- Prompt window opens at 140px compact height and expands to 456px when editor/history shown.
- Pet speech bubbles scale with larger pets and window sizes; removed text overflow clipping.
- Extracted prompt memory extraction into testable module; added /remember, /memorize, /note, don't forget patterns.
- Replaced pet scale dropdown with continuous slider from 0.16x to 10x.
- Added prompt-memory-extraction.test.ts and updated packaging/onboarding tests.
2026-06-12 03:02:21 +00:00
Alvin Unreal
3f8fa1a098 release v3.0.0 2026-06-11 21:47:36 +02:00
Alvin Unreal
cd80535c26 Add Virtual Pet HUD plugin 2026-06-11 21:25:55 +02:00
Alvin Unreal
4f4c02eacd working 2026-06-11 20:33:53 +02:00
Alvin Unreal
2752609bee focus buddy 2026-06-11 18:47:40 +02:00
Alvin Unreal
a27722b6db icons by plugins 2026-06-11 18:13:56 +02:00
Alvin
6f691733f9
Merge pull request #50 from alvinunreal/v3
Preparing v3
2026-06-11 17:32:05 +02:00
Alvin Unreal
1cb0fe496f fix(desktop): handle plugin SDK and cancellation edges 2026-06-11 17:31:48 +02:00
Alvin Unreal
6b9b2a8e4d Preparing v3 2026-06-11 16:54:54 +02:00
Matt Van Horn
84fef945b2
fix: show default pet when external pet.say arrives with no window open
Fixes #29
2026-06-11 01:31:07 -07:00
Alvin Unreal
ceb9149759 superplugins 2026-06-10 08:16:38 +02:00
Alvin Unreal
35ea30db4e feat(sdk): add @open-pets/plugin-sdk types package, CLI scaffolder, and drift guard
- packages/sdk: new types-only @open-pets/plugin-sdk — OpenPetsContext + the
  ambient OpenPetsPlugin global, plus a mock-ctx contract test. Zero runtime
  deps; published for editor autocomplete (npm i -D @open-pets/plugin-sdk).
- cli: `openpets plugin new <name>` scaffolds a plugin folder (manifest +
  entry + README) so step zero is npx, not copy-paste.
- desktop: compile-time conformance guard tying the runtime plugin SDK
  (namespaces + JS permission set) to the published @open-pets/plugin-sdk
  contract, so the two can't drift.
- release-npm: include packages/sdk in the publish order.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 20:24:02 +02:00
Alvin Unreal
04f15e9cc3 release desktop v2.5.1
Multi-monitor fix: pet stays on its current display instead of being
clamped back to the primary screen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 18:43:26 +02:00
Alvin Unreal
eb621e473a fix(desktop): keep pet on its current display instead of primary
The pet window position was always clamped to the primary display's
work area via clampToPrimaryWorkArea. On a multi-monitor setup, a pet
dragged onto an external monitor was yanked back to the built-in screen
whenever its position was read, saved, or restored — most visibly when
display-metrics-changed fires (display sleep/wake, scale changes, Space
switches), which macOS emits frequently.

Clamp to the display nearest the window's centre instead, so the pet
stays on whatever monitor it lives on. If that display is disconnected,
getDisplayNearestPoint falls back to a connected one, preserving the
keep-on-screen safety net.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 18:36:04 +02:00
Alvin Unreal
cba81b713a fix(desktop): preserve pet size while dragging 2026-06-02 09:14:30 +02:00
Alvin Unreal
45a4d70ec8 fix(desktop): constrain Linux pet hitbox 2026-06-01 20:24:53 +02:00
Alvin Unreal
df3d894b49 Add Microsoft Store AppX assets 2026-05-30 21:26:08 +02:00
Alvin Unreal
bb44912520 release desktop v2.5.0 2026-05-27 22:10:42 +02:00
Alvin Unreal
a1c9862b53 Use SVG status badge icons 2026-05-27 22:04:14 +02:00
Alvin Unreal
33327afe90 Add Quick Reminders plugin 2026-05-27 21:45:47 +02:00
Alvin Unreal
fed1bc4b3a Add Wander Buddy movement plugin 2026-05-27 21:21:19 +02:00
Alvin Unreal
448d1346e5 Reset official plugin lineup 2026-05-27 21:06:32 +02:00
Alvin Unreal
ed00b874d1 Track plugin pet activity 2026-05-27 15:13:06 +02:00
Alvin Unreal
7d92db9724 Fix drag 2026-05-27 15:01:14 +02:00
Alvin Unreal
cfac0b9161 Prepare desktop catalog for store submission 2026-05-27 14:22:06 +02:00
Alvin Unreal
8220d2259b release desktop v2.1.2 2026-05-24 16:32:31 +02:00
Alvin Unreal
97e9a92741 Add pets grid card actions 2026-05-24 11:52:50 +02:00
Alvin Unreal
a611ca4680 Document control center refactor state 2026-05-24 11:33:38 +02:00
Alvin Unreal
df59ef391b Refine pets page grid and pet detail modal layout 2026-05-24 02:25:54 +02:00
Alvin Unreal
cdadedcb2e Show pet details in modal on pets page 2026-05-24 02:22:48 +02:00