Commit graph

79 commits

Author SHA1 Message Date
mattjaybe
a94643a92e
v5.1.0 - Persona fix, Author's Note support
- Content Settings: Fixed Persona not working when enabled
- Content Settings: Added support for Author's Note, can be enabled
- Settings> Chat Participation: Fixed backspace and input issue with AI Replies per Comment
2026-03-18 17:29:42 -04:00
mattjaybe
cba393ad0b
v5.1.0 - Persona fix, Author's Note support
- Content Settings: Fixed Persona not working when enabled
- Content Settings: Added support for Author's Note, can be enabled
- Settings> Chat Participation: Fixed backspace and input issue with AI Replies per Comment
2026-03-18 17:27:46 -04:00
mattjaybe
f8bc280a46
v5.0.9 - Added regex to fix names with spaces
- Chat Participation: Used regex to fix names that has spaces in them
- Settings > Chat Participation: Added an override option to set token limit for Chat Participation responses (default is ST's max token response setting.)
2026-03-09 11:13:56 -04:00
mattjaybe
634108abd4
v5.0.8 - Increased Chat Participation token limit
- Previously set to 100 token per message, increased it to 750
2026-03-08 19:45:40 -04:00
mattjaybe
1861d57485
v5.0.7 - Fixed z-index bugs for menus
- Button menus and chat styles menu weren't working properly due to z-index changes introduced by the floating panel
2026-03-06 17:29:09 -05:00
mattjaybe
a2ff148ec3
v5.0.6 - Chat Participation toggle saves after reload
- Fixed the issue where Chat Participation enable/disable wasn't being remembered after a reload
2026-02-28 18:08:44 -05:00
mattjaybe
ce0b5cf326
v5.0.5 - Fix menus showing underneath other extensions
- Fixed issue where Panel Position, User Count and Font Size menus were showing underneath other extensions, such as Pathweaver.
2026-02-28 14:56:53 -05:00
mattjaybe
215d4cf0b9
v5.0.4 - Name Fix 2026-02-28 11:43:59 -05:00
mattjaybe
9817e39d42
v5.0.3 - Fixed Name not saving in Chat Participation 2026-02-28 11:43:12 -05:00
mattjaybe
e0ff273eed
v5.0.3 - Fix for Name bug in Chat Participation 2026-02-28 11:22:27 -05:00
mattjaybe
7c555e1d0d
Update README.md 2026-02-28 10:39:47 -05:00
mattjaybe
a65b60ab29
v.5.0.2 - Fixed menus on mobile
- Fixed issue with menu options weren't tappable on mobile
2026-02-27 15:46:00 -05:00
mattjaybe
5fae5b4572
v5.0.1 - Fixed improper generation trigger
- Other extensions would trigger EchoChamber due to an improper event listener. This has been fixed.
2026-02-27 15:04:07 -05:00
mattjaybe
683c46b0db
Update LICENSE 2026-02-27 13:25:56 -05:00
mattjaybe
782a47f701
Update README.md 2026-02-27 13:25:18 -05:00
mattjaybe
953f4f5626
v5.0.0 - Chat Participation, Floating Panel & More
* Chat Participation: You can now send messages and chat with others. Supports @mentions and comments in general. Set your username, choose an avatar color, and how many respond to you. Thanks to RetiredHippie for getting this feature started.
* Live icon is now clickable, allowing you to quickly enable/disable Livestream. It turns orange and pulses to indicate it is processing in the background, then turns red when done and remains Live.
* New chat style: Dark Roast. For when you want comedians to roast your story or roleplay.
* Fancy new settings menu, giving you quick access to all EchoChamber settings and options.
* Pop-out floating panel: now you can create a floating EchoChamber and resize it however you like and place it anywhere in SillyTavern. It remembers the position and size, even after restarting ST.
* Drag and reorder chat styles in any order you'd like.
* Mobile: When minimized, the entire bar can be tapped to restore EchoChamber.
* Narrator-based chat styles like Ava/Kai (NSFW) and HypeBot continue to respond and react when Livestream is enabled.
* Miscellaneous visual improvements and bedazzling.
* Secret cow level added. (Kidding!)

Bugs/Issues Fixed:
 
 * EchoChamber failed to process when a SillyTavern panel was pinned
 * World Info setting token count too low, now set to 0 to use ST's max context and you can set it to any amount manually
 * EchoChamber erroneously triggering and processing when a very slow or unresponsive LLM is used
 * Style Manager not parsing and understanding {{user}} and {{char}}
2026-02-27 13:05:47 -05:00
mattjaybe
3fd4d26d1d
Add darkroast.md chat style
Dark Roast
2026-02-27 13:02:39 -05:00
mattjaybe
6b5cab8e66
Merge pull request #26 from SpicyMarinara/main
v4.2.0 update by SpicyMarinara:

* Pop-out window: Open the chat in a separate window to move to another screen
* Improved panel controls: Power button now truly enables/disables the extension (hides panel AND stops generation). * Separate collapse arrow for just hiding the panel.
* Include Summary: Option to include chat summary from the Summarize extension
* Include World Info: Option to include active World Info/Lorebook entries
* Include Persona/Character: Options to include persona and character descriptions in context (thanks to leDissolution!)
Style dropdown fix: Menu now opens upward when panel is at the bottom position
Livestream resume: Messages continue rolling after page refresh

… Plus some bug fixes.
2026-02-06 11:31:48 -05:00
Spicy_Marinara
098f321c74 Fix: prefer raw API data when generateRaw returns truncated result
When Claude extended thinking is used, generateRaw may return just the
first empty text block ('\n\n') WITHOUT throwing, since it's technically
truthy. The catch block never fires, and only a few or zero messages
get parsed.

Fix: after generateRaw returns, always compare result length against
the captured raw API data. If raw data has significantly more content,
use that instead.

Also added diagnostic console.warn logging to livestream flow
(stopLivestream caller trace, queue counts, display progress) to help
diagnose if the timer chain is being interrupted.
2026-02-06 17:01:24 +01:00
Spicy_Marinara
1c6865d642 Fix: intercept raw response when generateRaw fails on extended thinking
SillyTavern's extractMessageFromData uses .find() to get the FIRST
type:'text' block from Claude's response. With extended thinking,
the first text block is just '\n\n' (empty preamble), and the actual
content is in a later text block. This causes generateRaw to throw
'No message generated'.

Fix: temporarily intercept the fetch call to the chat-completions
backend to capture the raw API response. If generateRaw fails with
'No message generated', fall back to extracting text from the captured
raw data using extractTextFromResponse, which correctly handles
content arrays by joining ALL text blocks.
2026-02-06 13:03:47 +01:00
Spicy_Marinara
644cfd8e85 Fix: robust response extraction for all API formats + debug logging
The previous fix assumed response.content would always be the content
array, but sendRequest with extractData may return the response in
different shapes. Added a unified extractTextFromResponse() helper that
handles: plain strings, content arrays (Anthropic extended thinking),
the response itself being an array, OpenAI choices format, and other
common fields.

Also added temporary debug logging (console.error) to capture the
actual response shape from sendRequest for diagnosis.
2026-02-06 12:49:05 +01:00
Spicy_Marinara
970ae13cb5 Fix: handle Anthropic content array format (extended thinking)
When Claude uses extended thinking, response.content is an array of
content blocks [{type:'text',text:'...'},{type:'thinking',...}] instead
of a plain string. This caused all parsed messages to be empty.

Now filters for text-type blocks and extracts their text content in
all response parsing paths (profile, OpenAI-compatible, connection_utils).
2026-02-06 11:22:17 +01:00
Spicy_Marinara
b9857ddcad Fix livestream mode: prevent interruption and resume on page refresh
- Don't stop active livestream when new message events trigger
- Add try-catch to prevent errors from killing the queue
- Save fullGeneratedHtml to enable resume after page refresh
- Track livestreamComplete status to know when to resume
- Fix restore logic to handle empty generatedHtml for fresh livestreams
2026-02-04 13:56:56 +01:00
Spicy_Marinara
40a6925e24 Fix livestream mode stopping after first message when existing content present
- Create container if missing instead of using fallback that broke queue
- Ensure all queued messages continue to display properly
- Add scroll to top when new message appears
- Handle popout window container creation consistently
2026-02-04 13:37:32 +01:00
Spicy_Marinara
e4f06d752c Fix multi-turn chat history and context retrieval
- Use proper multi-turn message arrays for all API sources (Profile, Ollama, OpenAI, Default ST)
- Fix persona retrieval using {{persona}} macro
- Fix world info retrieval using getWorldInfoPrompt() function
- Remove names from chat history messages (role indicates speaker)
- Wrap all Include in Context items in <lore> tags
- Remove artificial context depth and character limits
- Style changes no longer trigger generation
2026-02-04 11:37:38 +01:00
Spicy_Marinara
3424ef8ac7 Update index.js 2026-02-04 10:30:56 +01:00
Spicy_Marinara
c0a58c6430 Fix generation spam when editing character cards
- Added isGenerating flag to prevent concurrent generation requests
- Skip auto-generation when character editor popup is open
- Skip auto-generation when character creation panel is visible
- Skip auto-generation when there's no valid chatId (not in a real conversation)
- Properly abort in-flight requests before starting new ones
2026-02-03 17:08:45 +01:00
Spicy_Marinara
1151848512 Add paused state, fix enable/disable, and restore pop-out option
- Added separate 'paused' state for power button (keeps panel visible but stops generation)
- Settings checkbox now fully enables/disables extension (hides/shows panel)
- Panel now stays hidden after refresh when disabled via settings
- Removed toastr notifications for pause/unpause
- Restored Pop Out option in panel's layout menu
- Fixed pop-out to properly open window instead of hiding panel
- Added CSS for disabled visual state (50% opacity on content, hidden LIVE indicator)
2026-02-03 17:04:17 +01:00
mattjaybe
ec4a1b821c
Update README.md 2026-01-14 22:19:53 -05:00
mattjaybe
9d7f675d8c
4.1.4 - upped max token limits
Increased max token limit calculations by user counts to prevent cut-offs.
2026-01-14 22:18:44 -05:00
mattjaybe
c7046dbb87
Update README.md 2026-01-14 11:08:36 -05:00
mattjaybe
c1d0dbc220
Increased max response length, added API key to custom OpenAI-compatible selection
Updated the generation logic for Connection Profile, Ollama, and OpenAI-Compatible sources to use your global Max Response Length setting in SillyTavern.
Added an optional API Key field to the "OpenAI Compatible" settings section.
2026-01-14 11:07:28 -05:00
mattjaybe
0ecdb29f69
Merge pull request #20 from SpicyMarinara/main
v4.1.2: Fix generation when last message is from user
2026-01-13 18:24:34 -05:00
Spicy_Marinara
903a93d322 v4.1.2: Fix generation when last message is from user 2026-01-13 22:10:43 +01:00
mattjaybe
c7fa2c5d29
Merge pull request #15 from SpicyMarinara/main
v4.1.1
* Fixed Generate Upon Receiving A New Message for Livestream triggering upon switching chats and starting new ones.
* Fixed OpenAI/Ollama URL and model settings not being saved.
* You can now edit timeframes from Livestream mode.
2026-01-13 09:25:13 -05:00
Spicy_Marinara
3d7182395a v4.1.1: Fix livestream AI message detection, fix OpenAI/Ollama settings persistence, add configurable wait times 2026-01-13 14:24:51 +01:00
Spicy_Marinara
c9fdbc1b55 Merge branch 'main' of https://github.com/SpicyMarinara/SillyTavern-EchoChamber 2026-01-13 09:40:59 +01:00
Spicy_Marinara
d68803b956 Update manifest.json 2026-01-12 23:40:42 +01:00
Spicy Marinara
195efee351
Update README for version 4.1.0 changes 2026-01-12 23:24:39 +01:00
Spicy_Marinara
25e9414cc0 v4.1.0: Add Livestream feature and AO3/Wattpad style
- Add Livestream mode with three generation modes (Manual, On Message, On Complete)
- Messages appear gradually over 5-60 second intervals with slide-in animation
- Add Live indicator with pulsing red light in panel header
- Livestream respects user count while using batch size for message count
- Add new AO3/Wattpad comment style
- Update timing intervals and improve logging
2026-01-12 23:14:38 +01:00
mattjaybe
5336deb52c
Fix for on/off toggle not canceling chat generation
Updated extension to 4.0.3
2026-01-12 15:12:59 -05:00
mattjaybe
0ed9ad0854
Raised max_token and num_predict
Try number two to fix a bug
Version 4.0.2
2026-01-12 00:25:58 -05:00
mattjaybe
931277ae65
Fix for wrong/reduced user counts
Increased max_tokens and num_predict values from ~500 to 4096 for all three generation sources. This should fix the issue of the user count setting not being obeyed.
2026-01-11 23:56:23 -05:00
mattjaybe
57e1762342
Update README.md
4.0.0 updates by SpicyMarina
2026-01-11 22:02:32 -05:00
mattjaybe
e09957dc6b
Merge pull request #7 from SpicyMarinara/main
- Added the ability to toggle on/off auto-generation for new messages.
- Added the ability to customize how many messages from the chat history are included in the prompt.
- You can now include previously generated by the extension content in your next generations.
- You can now freely import and export styles.
- Updated the prompts and the recommended formats to use an improved, <XML> based-one.
- Introduced a button that clears the currently generated and cached extension data for a selected chat.
- You can now abort generations.
- Refreshing the page does not clear the last generated content.
- Improved and unified CSS.
- Fixed mobile display.
- Added version indicator.
2026-01-11 21:52:55 -05:00
Spicy_Marinara
80e8431fd4 Fix trash icon button click handler 2026-01-12 02:47:47 +01:00
Spicy_Marinara
4f8aaefaec Change Clear Chat & Cache button icon from X to trash bin 2026-01-12 02:46:11 +01:00
Spicy Marinara
33525d4b5e
Fix formatting of XML in README prompts section 2026-01-12 02:28:56 +01:00
Spicy Marinara
c7e67d16ac
Update README for version 4.0.0 features 2026-01-12 02:20:58 +01:00
Spicy_Marinara
b532388491 v4.0.0: Major feature update - Auto-generation toggle, metadata persistence, chat history depth, XML prompts, abort functionality, style manager improvements 2026-01-12 02:17:01 +01:00