* feat(front): move markdown parsing to web worker
* feat: use webworker for markdown parsing
* feat(markdown-worker): implement message buffering and processing
* fix(markdown): import KaTeX CSS locally instead of via CDN
* fix(markdown): make sure messages are serializable
* feat(markdown): make sure links have target blank
* refactor(markdown): improve HTML escaping function formatting
* feat: add `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B` to HuggingChat config
* feat: hide reasoning modal when its empty
* fix: put r1 model higher in list
feat: add KaTeX support for block and inline math rendering in Markdown (#1643)
calycekr+1: nsarrazin
Unverified signature
0c7ea0d
* feat: add KaTeX support for block and inline math rendering in Markdown
* fix: Reintroduce escapeHTML to prevent raw HTML injection
- Properly escape user-generated HTML to avoid DOM injection vulnerabilities.
- Ensures KaTeX rendering remains unaffected while blocking malicious content.
* feat: add KaTeX mhchem extension to enable KaTeX the \ce and \pu functions from the mhchem package.
- https://github.com/KaTeX/KaTeX/tree/main/contrib/mhchem
---------
Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com>
* feat: new tool UI
* wip community tools support
* fix: community tools support
* fix: line heights
* fix: MIME types
* fix: remove debug logs
* fix: make sure file upload is always last
* fix: always enable document parser when a pdf is present in the conversation
* fix: use correct icon for document upload
* fix: make sure community tools use their custom icons correctly
* feat: add button to browse community tools
* tweak buttons
* add some tooltips
* fix: bug in file upload tooltips
* fix: lint
---------
Co-authored-by: Victor Mustar <victor.mustar@gmail.com>
fix(chat): update link target behavior for announcement banners to default to "_self"
* feat: add a reasoning dropdown for CoT models
* feat: add status updates
* fix: various cleanups
- pass content & status to result dropdown
- dont store streaming updates in db
- make status generation non blocking
* fix: make sure not to push reasoning token stream to db
* feat: add time indicator and make the ui match websearch
* fix: change in status update & prompt