Skip to content

Update Chat DeMod.user.js - #100

Open
ScrewThisNoise wants to merge 1 commit into
4as:mainfrom
ScrewThisNoise:main
Open

Update Chat DeMod.user.js#100
ScrewThisNoise wants to merge 1 commit into
4as:mainfrom
ScrewThisNoise:main

Conversation

@ScrewThisNoise

Copy link
Copy Markdown

Capture streamed text and persist restored blocked messages

Fix blocked-message recovery which broke because Chat now removes blocked messages from conversation history, making the post-stream redownload fail.

  • Capture the assistant response (text + full message object) live as it streams in, so blocked messages can be restored from what actually came through instead of relying on redownloading them afterwards. Redownload is kept only as a fallback when nothing was captured.
  • Persist restored messages and the latest moderation status per conversation in localStorage, and re-inject them into the conversation JSON on load so restored content survives a page refresh. Handles both emptied-but-present nodes and nodes removed entirely from the tree.
  • Add setText/setMessage to ChatEvent (fixes the WebSocket blocked path which called a non-existent replace()).
  • Bump version to 6.1.

[Disclaimer: LLMs were utilised as assistants during this fix. I have written part of the code, and inspected all code I didn't directly write myself, as well as tested the resulting plugin against ChatGPT, verifying that failed moderation does not remove the message, and it persists through a page refresh, and to the best of my knowledge, everything seems fine.]

Capture streamed text and persist restored blocked messages

Fix blocked-message recovery which broke because Chat now removes blocked messages from conversation history, making the post-stream redownload fail.

- Capture the assistant response (text + full message object) live as it streams in, so blocked messages can be restored from what actually came through instead of relying on redownloading them afterwards. Redownload is kept only as a fallback when nothing was captured.
- Persist restored messages and the latest moderation status per conversation in localStorage, and re-inject them into the conversation JSON on load so restored content survives a page refresh. Handles both emptied-but-present nodes and nodes removed entirely from the tree.
- Add setText/setMessage to ChatEvent (fixes the WebSocket blocked path which called a non-existent replace()).
- Bump version to 6.1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant