- Implement markdown parsing cache in Chat.svelte to reduce redundant processing
- Add virtual scrolling and asynchronous loading in DefaultChatScreen.svelte
- Create message form cache mechanism in util.ts to improve rendering efficiency
- Introduce loading state and performance optimizations for large chat histories
# PR Checklist
- [x] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [x] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?
# Preview


# Description
This PR introduces following:
- Add buttons to toggle all character/chat lorebooks' always-active
state at once
- Show SunIcon when all lorebooks are active, LinkIcon otherwise
- Add doNotSummarizeUserChat option to exclude user messages from summarization
- Add early return logic to prevent unnecessary similarity checks when summaries are empty
# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [ ] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?
# Description
This PR fixes an issue where a removed module remains active until the
app is restarted if it was enabled at the time of deletion.
# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [ ] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?
# Description
This PR introduces fix: resolve mobile keyboard enter button not working
in HypaV3 modal