# PR Checklist
- [ ] 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?
- [x] Have you added type definitions?
# Description
Enhance chat application efficiency by implementing caching for markdown
parsing and message forms, along with lazy loading and virtual scrolling
for improved performance in large chat histories. Introduce a cleanup
mechanism for cache management.
# 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?
- [x] Have you added type definitions?
# Description
<img width="369" alt="스크린샷 2025-02-19 오후 5 11 42"
src="https://github.com/user-attachments/assets/f6819d88-e417-47d4-9f69-888e9aab21f7"
/>
<img width="369" alt="스크린샷 2025-02-19 오후 5 11 54"
src="https://github.com/user-attachments/assets/b867f97e-f9bb-4964-ba9e-a34171e79ffe"
/>
이 PR은 챗을 분류하는 폴더를 추가합니다. 폴더에는 색상을 넣을 수 있습니다.
This PR adds a folder to categorize chats. Folders can be colored. I'm
open to any feedback or suggestions.
- 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