- Bump version to 2.1.10
- Enable auto_update and set homePage in manifest.json
- Add CHANGELOG entry for truncation fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Step 1 of the wizard now offers a toggle between "Dedicated API"
(default) and "Connection Profile" before configuring the LLM.
Previously, Connection Profile was only available in the Settings
Modal after completing the wizard.
- Source toggle buttons with active/inactive styling
- Profile section: dropdown via CMRS.handleDropdown(), Test Connection
- Step 3 summary adapts to show profile name or provider/model
- Updated getting-started.md with both paths and new screenshot
- Updated CHANGELOG.md with improvements and tooltip fix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Settings and Troubleshooter modals used a side-by-side flex layout
(130px nav + content) that left the content panel too narrow on phone
screens. In phone mode, the nav now renders as horizontal tabs above
the content, giving it the full popup width.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Swipes re-render an existing message slot without adding a new message,
but CHARACTER_MESSAGE_RENDERED fired for them and incremented
messagesSinceExtraction — causing extraction to trigger early.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Lets users reuse saved SillyTavern connection profiles for memory
extraction via ConnectionManagerRequestService, instead of configuring
a separate dedicated API. Includes profile picker dropdown, test
connection, system prompt override, and health check integration.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The convert button in the Data Bank file browser previously just set a
hidden form value and showed a toast telling the user to "open the
Convert section," which was confusing. Now it directly opens the
conversion preview dialog.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The protection buffer calculated a reduced effectiveEnd but passed the
original endIndex (null) to collectRecentMessages(), which used
chat.length — extracting the "protected" messages anyway.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Removes the Context Budget section entirely. The injection viewer now
shows a Prompt Breakdown at the top that loads automatically on open —
no collapsed panel to discover or click. Exact per-category token counts
(System, Char card, Lorebook, Data Bank, Examples, Chat history) come
from ST's Prompt Itemization; falls back to injection-only estimates for
snapshots from previous sessions.
Tips popup expanded with a Char Card / System Prompt section and updated
intro text to reflect the full-prompt breakdown.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Combines "Context Budget" and "Prompt Breakdown" into a single "Context"
section at the top of the injection drawer. The header shows the stacked
bar and summary; expanding loads the full breakdown — exact counts from
ST's Prompt Itemization when available, or estimated fallback for old
snapshots.
Fixes a long-standing inaccuracy where Lorebook token estimates were
computed by summing truncated entry content (200 chars/entry from
WORLD_INFO_ACTIVATED), producing large overestimates. Now uses the actual
injected worldInfoString from itemizedPrompts, matching the prompt
breakdown numbers. Data Bank char count similarly updated to use
dataBankVectorsString. Labels changed to "Data Bank" throughout to match
ST terminology.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a "Context Budget" collapsible section to the per-message injection
viewer showing estimated token usage across CharMemory, Lorebook, and other
extension prompts as a horizontal stacked bar against the model's context
limit. Expanding the section reveals a per-source breakdown table with a
"Tips to reduce" link that opens an actionable guidance popup.
Also adds:
- ~N tk hints in CharMemory, Lorebook, and Extension Prompts headers
- Token cost + injection position/depth metadata in EP and WI cards
- depth now captured in extension prompt snapshots (was missing)
- Red/yellow health notes for context overflow and heavy injection (>40%)
- getMainContextMaxTokens() reads oai_settings or textCompletionSettings
- estimateTokens() helper (~4 chars/token)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the Memory Manager's custom per-bullet popup editing with the
same createMemoryEditor + renderConsolidatedCards used by Consolidation,
Conversion, Reformat, and the Data Bank browser. Adds inline editing,
undo, add/delete blocks and bullets, and uses Save/Cancel buttons.
Group chats now show a character picker instead of all members inline.
Also converts the Data Bank file editor from POPUP_TYPE.TEXT with an
inline Save button to POPUP_TYPE.CONFIRM with Save/Cancel, matching
all other editor dialogs.
Removes dead code: editMemory, deleteMemory, deleteBlock, reindexManager
functions and associated CSS rules.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Some models produce <memory chat="..."></memory> with bullets after the
closing tag instead of inside it. The consolidation parser returned an
empty result, preventing the dialog from appearing. The extraction
pipeline had the same vulnerability but degraded more gracefully.
Both parsers now use three-tier matching: normal content-inside-tags,
then content-after-self-closing-tags, then whole-response fallback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Consolidation, conversion, and reformat dialogs now show explicit
Save/Cancel instead of ambiguous Yes/No defaults.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a group has members but all are in disabled_members, the Activity
Log now says "all group members are disabled in SillyTavern — re-enable
at least one in the group settings" instead of the generic "no targets
found". Verified locally that this is the root cause of issue #4.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds the group's generation_mode value to the Group Debug section of
the Diagnostic Report. This is the key field needed to diagnose issue
#4 — groups using Append (with disabled) mode (mode 2) have all
members in the disabled list by design, which was not visible before.
Also logs generation_mode in the console warning when active member
count is zero.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Users who customized a prompt in 1.x and upgraded to 2.x were never
notified of default prompt changes. checkPromptVersions() now detects
a customized prompt with no version record and sets a 'pre-2.0'
sentinel so hasPromptUpdate() fires. A toast notification appears 2s
after load whenever any prompt has a pending update.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New toggle in Settings > Extraction that excludes the most recent N
messages from auto-extraction (default: 4). This prevents a feedback
loop where just-extracted memories constrain swipes and regenerations
— the model would see memories about events that just happened and
force the swipe to repeat the same plot.
Skipped messages are picked up on the next extraction cycle as newer
messages push them out of the buffer zone. Extract Now and Extract
Here are unaffected (manual actions process the full range).
Closes#3
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Docs:
- troubleshooting: downgrade file vectorization and no-memories-injected
checks from RED to YELLOW (false alarm fixes from v2.0.1)
- managing-memories: update topic tag example to include character name
- injection-viewer: mention Display Mode setting for tablet/phone
- README: add tablet & phone support to Feature Highlights with beta
testing call-to-action
- getting-started: add backup reminder section
- changelog: add nudge banner button rename
Tests:
- Add escaping.test.js (13 tests) and format-detection.test.js (24 tests)
Repo:
- Add .gitignore for screenshots, .DS_Store, .playwright-mcp, drafts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
On touch devices, the dashboard opens as a centered non-modal floating
panel instead of expanding in the narrow sidebar. DOM relocation moves
sidebar content into the panel (and back on close) so all event handlers
survive without duplication. Capturing-phase event listener intercepts
ST's drawer toggle without modifying ST core code.
- Tri-state setting: auto (detect touch) / always on / off
- 44px touch targets for all buttons and icons (Apple HIG)
- Dismiss via X button, tap outside, or swipe down
- Popup visibility guard prevents panel close when ST modal is open
- Settings Modal toggle in Advanced section
- Wizard completion opens tablet panel when in tablet mode
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- File vectorization: change from red to yellow when file exists but
has 0 vector chunks (VS lazily indexes on next generation)
- No memories injected: change from red to yellow in health checks and
injection viewer — zero matches is normal when conversation topic
doesn't relate to stored memories
- Sanitize DO NOT EXTRACT examples to use neutral language
- Bump MODULE_VERSION and manifest.json to 2.0.1
- Add 2.0.1 changelog section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Topic-tagged memory blocks for better vector search discrimination.
Unified Convert tool (merge of Convert + Reformat). Vectorization
docs, prompt design rationale, and recommended VS settings.
- Extraction prompts produce [Names — description] topic tags
- 5-bullet limit per block (down from 8)
- Named participants required (no "a friend" or "someone")
- Conversion prompt rewritten for topic-tagged format
- Convert tool: source picker for current memories or Data Bank files
- Diagnostics: recommended VS settings card
- Health checks for retrieve chunks and score threshold
- Multi-tag block splitting
- Fix: robust parsing of attributed <memory> tags
- Fix: hide redundant mini-log on Log tab
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the standalone Ollama preset with a unified "Local Server" preset
that supports all four local backends. Adds allowCustomUrl so users can
point at any port or LAN IP. Existing Ollama users are auto-migrated with
their URL, model, and system prompt preserved.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Recapture 9 outdated screenshots with focused cropping for legibility.
Add 3 new screenshots for injection viewer and health score features.
Update CHANGELOG with full 1.6.0 feature list including health score.
Add health score references to Vector Storage section in README.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New features: Tools tab with pill sub-nav, memory file format settings
(block/bullet/custom chunking), Convert/Import tool with heuristic
and LLM parsing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated group stats bar screenshot to show new "Group: [avatars]" format.
Added model search screenshot showing filter-as-you-type dropdown. Added
group prompt title screenshot. Updated README text to mention searchable
model picker and context-aware prompt labels.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three UX improvements:
- Model dropdown replaced with searchable text input (filter by typing,
keyboard navigation, optgroup support for NanoGPT)
- Group chats show character avatar thumbnails in the stats bar with
tooltip listing per-character memory filenames
- Extraction prompt labels now show "(1:1 chats)" or "(group chats)"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Group Chats section to README covering extraction, view/edit,
consolidation, pin memory, per-character filenames, and reset behavior.
Update existing sections (consolidation, per-chat, reset, technical
reference) with group-specific notes. Add reverse chronological display
to View/Edit. Bump version to 1.4.0.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add consolidation busy indicator, always-visible diagnostics,
resizable activity log, and panel layout improvements. Fix
tab name to Batch Extraction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Re-index editingSet after block deletion to prevent stale indices
- Escape/unescape quotes in <memory> tag attributes to prevent
file corruption from user-edited theme names
- Sync panel prompt UI after consolidation dialog closes
- Fix changelog entry that still referenced removed Custom preset
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add settings migration from old consolidationPrompt to new
per-preset consolidationPrompts system. Update changelog with
all consolidation UX improvements for v1.3.0.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deduplicate the editable card renderer used by both buildConsolidationDialog
and refreshEditor. Update changelog with tabbed layout and card editor entries.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add box-sizing to consolidation editor textarea
- Bump version to 1.3.0
- Update changelog with new consolidation features
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add "Before You Start" section advising users to back up Data Bank files
- Clarify consolidation is manual-only with preview, confirmation, and undo
- Note that undo is session-only — back up before consolidating
- Add 1.2.1 changelog entry for auto-consolidation removal
- Bump version to 1.2.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>