docs: add v3.1.0 mod-niche PR categorization
This commit is contained in:
parent
f514960aed
commit
0f294016aa
1 changed files with 177 additions and 0 deletions
177
docs/pull-requests/OPENPETS_3_1_0_MOD_NICHE_PULL_REQUESTS.md
Normal file
177
docs/pull-requests/OPENPETS_3_1_0_MOD_NICHE_PULL_REQUESTS.md
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
# OpenPets v3.1.0 — Pull requests by mod niche
|
||||
|
||||
This document organizes the v3.1.0 follow-up work into the product niches that users experience. Each niche section lists the relevant branch, commits, files, and verification steps so that PRs can be reviewed in focused chunks.
|
||||
|
||||
Target branch for all PRs: `v3.1.0-integrated` (or `main` once the OP 1–6 integration lands).
|
||||
|
||||
---
|
||||
|
||||
## 1. Companion / Pet niche
|
||||
**Branch:** `pr/companion-pet-polish`
|
||||
**Scope:** On-pet behavior, bubble rendering, scale controls, and virtual-pet interactions.
|
||||
|
||||
### What changed
|
||||
- **Pet window stability** — removed the post-drag resize jump, anchored resize around the pet's foot/center, and smoothed scale-handle dragging.
|
||||
- **Scale presets + nudges** — added a preset dropdown (`XXXS`–`XXXL`) and `+`/`-` nudge buttons next to the scale slider in Settings > General.
|
||||
- **Single-click petting** — enabled the care action when the pet is clicked once.
|
||||
- **Virtual-pet context menu** — renamed the submenu to **Pet Status**, moved care actions to the top level, and reordered stat rows.
|
||||
- **Speech-bubble clipping fix** — made bubble max-width/max-height relative to the scaled pet window so larger pets no longer clip long messages.
|
||||
|
||||
### Files
|
||||
- `apps/desktop/src/pet-window.ts`
|
||||
- `apps/desktop/pet-preload.cjs`
|
||||
- `apps/desktop/src/renderer/src/main.tsx`
|
||||
- `plugins/official/openpets.virtual-pet/index.js`
|
||||
- `plugins/official/openpets.virtual-pet/locales/en.json`
|
||||
- `plugins/official/openpets.virtual-pet/test.js`
|
||||
|
||||
### Commits
|
||||
- `11ed7b3`, `be21907`, `ab62d9c`, `26d446f`, `f514960` (bubble/layout portion)
|
||||
|
||||
### Verification
|
||||
- Drag the pet window and release — it should not jump.
|
||||
- Resize the pet to `XL` or larger and send a long message — the bubble should stay fully visible.
|
||||
- Right-click the pet — the context menu should show **Check On Pet**, then care actions, then **Pet Status**.
|
||||
|
||||
---
|
||||
|
||||
## 2. Chat / Prompt niche
|
||||
**Branch:** `pr/chat-prompt-hardening`
|
||||
**Scope:** The floating prompt window and its packaged-build reliability.
|
||||
|
||||
### What changed
|
||||
- **Attachment flow** — hidden file input, base64 data-URL reading for non-text files, and attachment chips.
|
||||
- **Composer layout** — auto-growing textarea that fills the resized window.
|
||||
- **Keyboard behavior** — Enter sends, Ctrl/Cmd+Enter inserts a newline.
|
||||
- **New chat** — opens the editor in message view after creating a conversation.
|
||||
- **Signed-build repair** — escaped inline-script newlines so the packaged prompt window parses correctly; kept the proven `data:`-URL + sandboxed-preload loader.
|
||||
- **Knowledge Store button** — added a toolbar button that stores attached files into the Knowledge Store.
|
||||
|
||||
### Files
|
||||
- `apps/desktop/src/prompt-window.ts`
|
||||
- `apps/desktop/prompt-window-preload.cjs`
|
||||
- `apps/desktop/electron-builder.yml`
|
||||
|
||||
### Commits
|
||||
- `c226280`, `bcb5577`, `9246fed`, `236a615`, `61da20d`, `f514960` (store-knowledge portion)
|
||||
|
||||
### Verification
|
||||
- Open the prompt window in a packaged build and attach a file — no renderer `SyntaxError`.
|
||||
- Confirm `window.openPetsPromptWindow` exists and typing enables the send button.
|
||||
- Attach a file and click **Store in Knowledge** — the file should be indexed and searchable from Settings > Knowledge Store.
|
||||
|
||||
---
|
||||
|
||||
## 3. Knowledge / Memory niche
|
||||
**Branch:** `pr/knowledge-memory`
|
||||
**Scope:** Long-term memory capture, file-based knowledge, and retrieval for chat context.
|
||||
|
||||
### What changed
|
||||
- **Memory hardening** — floating-chat capture is logged and fails safely; retrieval gains a recall-intent fallback.
|
||||
- **Knowledge Store core** — Electron-free `KnowledgeStore` class with file indexing, text extraction, search scoring, and context building.
|
||||
- **Knowledge Store UI** — new Settings tab for file upload, memory management, and search.
|
||||
- **Chat integration** — relevant knowledge files are injected into the system instructions alongside memory context.
|
||||
- **Prompt-window integration** — attachments can be stored directly into the Knowledge Store from the chat composer.
|
||||
|
||||
### Files
|
||||
- `apps/desktop/src/openpets-memory.ts`
|
||||
- `apps/desktop/src/knowledge-store-core.ts`
|
||||
- `apps/desktop/src/knowledge-store.ts`
|
||||
- `apps/desktop/src/openapi-chat.ts`
|
||||
- `apps/desktop/src/windows.ts`
|
||||
- `apps/desktop/src/prompt-window.ts`
|
||||
- `apps/desktop/control-center-preload.cjs`
|
||||
- `apps/desktop/prompt-window-preload.cjs`
|
||||
- `apps/desktop/src/renderer/src/main.tsx`
|
||||
- `apps/desktop/tests/knowledge-store.test.ts`
|
||||
- `apps/desktop/scripts/run-tests.mjs`
|
||||
|
||||
### Commits
|
||||
- Previous memory-hardening commit, `4aff369`, `d8650a9`, `f514960` (UI/integration portion)
|
||||
|
||||
### Verification
|
||||
- `pnpm test` passes, including the new `knowledge-store.test.ts`.
|
||||
- Store a `.txt` file in Settings > Knowledge Store and ask the assistant about its content in chat — the answer should reference it.
|
||||
- Store an attachment from the prompt window and confirm it appears in Settings > Knowledge Store.
|
||||
|
||||
---
|
||||
|
||||
## 4. Productivity niche
|
||||
**Branch:** `pr/productivity-plugins`
|
||||
**Scope:** Focus, reminders, and launch-buddy plugins.
|
||||
|
||||
### What changed
|
||||
- No new plugin code in this v3.1.0 follow-up batch.
|
||||
- The underlying plugin runtime and catalog validation fixes from the OP 1–6 integration benefit all productivity plugins.
|
||||
|
||||
### Files
|
||||
- `plugins/official/openpets.focus-buddy`
|
||||
- `plugins/official/openpets.reminders`
|
||||
- `plugins/official/openpets.launch-buddy`
|
||||
|
||||
### Verification
|
||||
- Enable each plugin from the tray and confirm it registers its tools/actions without runtime errors.
|
||||
|
||||
---
|
||||
|
||||
## 5. Wellness niche
|
||||
**Branch:** `pr/wellness-plugins`
|
||||
**Scope:** Water reminder, mood check-in, and day-routine plugins.
|
||||
|
||||
### What changed
|
||||
- No new plugin code in this v3.1.0 follow-up batch.
|
||||
- Plugin runtime hardening and catalog validation apply here as well.
|
||||
|
||||
### Files
|
||||
- `plugins/official/openpets.water-reminder`
|
||||
- `plugins/official/openpets.mood-check-in`
|
||||
- `plugins/official/openpets.day-routine`
|
||||
|
||||
### Verification
|
||||
- Enable each plugin and verify its tray menu entries and scheduled prompts work.
|
||||
|
||||
---
|
||||
|
||||
## 6. Entertainment niche
|
||||
**Branch:** `pr/entertainment-plugins`
|
||||
**Scope:** Magic 8-ball and fortune-cookie plugins.
|
||||
|
||||
### What changed
|
||||
- No new plugin code in this v3.1.0 follow-up batch.
|
||||
- Plugin runtime hardening and catalog validation apply here as well.
|
||||
|
||||
### Files
|
||||
- `plugins/official/openpets.magic-8-ball`
|
||||
- `plugins/official/openpets.fortune-cookie`
|
||||
|
||||
### Verification
|
||||
- Trigger each plugin and confirm it returns a response through the pet or chat.
|
||||
|
||||
---
|
||||
|
||||
## 7. Packaging / Release niche
|
||||
**Branch:** `pr/packaging-release`
|
||||
**Scope:** Windows installer, ASAR unpack, packaging contract, and PR documentation.
|
||||
|
||||
### What changed
|
||||
- **asarUnpack** — added preload files so sandboxed packaged builds load the preload correctly.
|
||||
- **Packaging contract** — updated assertions for the new responsive bubble CSS.
|
||||
- **PR notes** — reorganized the v3.1.0 changes by mod niche.
|
||||
- **Signed installer** — built on the Windows signing host and copied to the operator's Downloads folder.
|
||||
|
||||
### Files
|
||||
- `apps/desktop/electron-builder.yml`
|
||||
- `apps/desktop/src/check-packaging-contract.ts`
|
||||
- `apps/desktop/scripts/run-tests.mjs`
|
||||
- `docs/pull-requests/OPENPETS_3_1_0_FIXES_PULL_REQUESTS.md`
|
||||
- `docs/pull-requests/OPENPETS_3_1_0_MOD_NICHE_PULL_REQUESTS.md`
|
||||
|
||||
### Verification
|
||||
- `pnpm package:dir` passes the packaging contract.
|
||||
- `pnpm package` produces a signed `OpenPets-3.1.0-win-x64-setup.exe` in the Windows Downloads folder.
|
||||
|
||||
---
|
||||
|
||||
## Cross-nicHe notes
|
||||
- The Knowledge Store touches both the **Knowledge / Memory** niche and the **Chat / Prompt** niche because attachments can be stored from chat.
|
||||
- The Settings UI (`main.tsx`) touches **Companion / Pet** (scale controls) and **Knowledge / Memory** (Knowledge Store tab). Reviewers may want to view the file diff once rather than per-niche.
|
||||
Loading…
Add table
Reference in a new issue