Commit graph

738 commits

Author SHA1 Message Date
Timothy Jaeryang Baek
6fce92aa12 chore: format 2026-06-01 13:56:55 -07:00
Timothy Jaeryang Baek
346dab3d8f refac 2026-06-01 13:03:13 -07:00
G30
eba1540a95
feat(ui): add emoji picker to rich text formatting toolbar (#24704) 2026-05-15 09:32:56 +09:00
Timothy Jaeryang Baek
3bba1c2270 feat: add IFRAME_CSP env var for srcdoc iframe content security policy
Adds an IFRAME_CSP environment variable that injects a Content-Security-Policy
<meta> tag into all srcdoc iframes rendering untrusted content:
- Artifacts (LLM-generated HTML previews)
- FullHeightIframe (tool/embed output)
- FilePreview (user-uploaded HTML files)
- CitationModal (RAG document HTML)

Shared utility in src/lib/utils/csp.ts handles injection with HTML-safe
attribute escaping. URL-based iframes (src=) are correctly excluded.

Env-var only — no PersistentConfig, no admin UI, no DB. Set once at deploy
time, requires restart. Empty string (default) means no CSP restriction.
2026-05-11 01:56:02 +09:00
Classic298
cfd2888545
fix:image url validation and signout post (#24420)
* refac(routers): reject external URLs in profile/model image handlers

* refac(ui): centralize image URL validation in safeImageUrl helper

* refac(auths): make signout POST-only

* refac: gate external profile image redirect behind ENABLE_PROFILE_IMAGE_URL_FORWARDING

Restore the 302 redirect for external http(s) profile image URLs in
the user and model profile-image endpoints, but gate it behind a new
ENABLE_PROFILE_IMAGE_URL_FORWARDING env flag (default: True).

Existing deployments that rely on external profile image forwarding
continue to work unchanged.  Operators who want to suppress the
redirect (to prevent client-side IP/UA/Referer leaks) can set the
flag to False.
2026-05-09 07:33:31 +09:00
Timothy Jaeryang Baek
794b97025d refac 2026-05-09 06:32:34 +09:00
Classic298
3746339cfc
refac: apply DOMPurify to excel and office HTML render assignments (#24468) 2026-05-09 05:10:31 +09:00
Timothy Jaeryang Baek
c978a788c8 refac 2026-05-09 05:03:38 +09:00
Timothy Jaeryang Baek
60ea4214aa refac 2026-05-09 02:58:17 +09:00
Timothy Jaeryang Baek
bc4d6eef33 refac 2026-05-09 02:56:15 +09:00
Athanasios Oikonomou
e451f8f63b
fix: open file content in new window when clicking file name in FileItemModal (#24125)
Previously, clicking the file name link did not open the file content
because the condition checked `!isPDF && item.url`, which failed for
`type === 'file'` items that use an ID-based URL path.

Update the condition to trigger on `item.type === 'file' || item.url`,
and resolve the correct URL by extracting `fileId` from `item.id` or
`item.tempId` instead of using `item.url` directly as the file
identifier.
2026-05-09 02:09:35 +09:00
Jacob Leksan
465d6fe514
feat: enhance RichTextInput configuration to prevent duplicate extensions when rich text is enabled (#24009) 2026-04-24 16:33:46 +09:00
Algorithm5838
51cd43229c
perf: extend fast-deep-equal to remaining call sites (#23845) 2026-04-20 08:26:30 +09:00
Timothy Jaeryang Baek
1be9627dd2 refac 2026-04-17 14:57:49 +09:00
Shirasawa
f102060a6d
fix: fix memory leaking of Drawer (#23724) 2026-04-14 12:20:47 -05:00
Timothy Jaeryang Baek
45e49d33e5 refac 2026-04-13 21:52:19 -05:00
Timothy Jaeryang Baek
20544d412e chore: format 2026-04-12 22:11:10 -05:00
Timothy Jaeryang Baek
a7d4c53f3a refac 2026-04-12 18:24:33 -05:00
Timothy Jaeryang Baek
c8ef5a4f38 chore: format 2026-04-01 04:36:02 -05:00
Timothy Jaeryang Baek
e6f38f52c8 feat: automation 2026-03-31 23:36:01 -05:00
Shirasawa
eba2b2cd72
refactor(SVGPanZoom): Fix memory leaking - consolidate zoom lifecycle into PanzoomContainer (#23236)
* refactor(SVGPanZoom): attach panzoom via use: action and remove unused parent bind:this

* refactor: centralize panzoom in createPanzoomAction and align ImagePreview cleanup

* refactor(panzoom): consolidate zoom lifecycle into PanzoomContainer and remove action-based wiring
2026-03-30 20:54:28 -05:00
Timothy Jaeryang Baek
64da99a322 refac 2026-03-29 19:17:12 -05:00
Timothy Jaeryang Baek
6c2b2f2c3e refac 2026-03-29 19:01:53 -05:00
Timothy Jaeryang Baek
58ca51364c refac 2026-03-26 18:49:06 -05:00
Timothy Jaeryang Baek
9364e2fb74 refac 2026-03-25 16:48:57 -05:00
Timothy Jaeryang Baek
350d52f515 chore: format 2026-03-25 16:43:06 -05:00
Timothy Jaeryang Baek
7b78c641fe refac 2026-03-24 22:30:57 -05:00
Timothy Jaeryang Baek
94f877ff32 refac 2026-03-24 22:30:51 -05:00
Timothy Jaeryang Baek
1cf1b2ca17 refac 2026-03-24 20:25:47 -05:00
Timothy Jaeryang Baek
261aec8c86 enh: consecutive details rendering 2026-03-24 19:26:14 -05:00
Timothy Jaeryang Baek
be21db7069 refac 2026-03-24 17:25:52 -05:00
Timothy Jaeryang Baek
cffbc3558e refac 2026-03-24 17:10:27 -05:00
Timothy Jaeryang Baek
139e764b2f refac 2026-03-23 23:39:52 -05:00
Timothy Jaeryang Baek
ebb7ce2092 refac 2026-03-22 22:01:38 -05:00
G30
6089a55da6
fix(ui): chat input triggers correctly re-trigger on backspace (#22899) 2026-03-20 15:48:25 -05:00
Timothy Jaeryang Baek
e3f3929198 refac 2026-03-16 01:23:02 -05:00
Timothy Jaeryang Baek
54f7861b2e refac 2026-03-16 01:04:17 -05:00
Timothy Jaeryang Baek
68973f9b39 refac 2026-03-15 23:48:44 -05:00
Timothy Jaeryang Baek
a361df840e refac 2026-03-15 23:37:45 -05:00
Timothy Jaeryang Baek
b99f8dabdd refac 2026-03-15 23:03:30 -05:00
Timothy Jaeryang Baek
38cc6e4762 refac 2026-03-15 22:25:22 -05:00
Timothy Jaeryang Baek
e53152123f refac 2026-03-15 21:54:35 -05:00
Timothy Jaeryang Baek
07e650c787 refac 2026-03-15 21:29:56 -05:00
Timothy Jaeryang Baek
3dea69f658 refac 2026-03-15 20:41:32 -05:00
Timothy Jaeryang Baek
865880a0b1 refac: allow emoji unselect from folder 2026-03-11 15:30:57 -05:00
Timothy Jaeryang Baek
7b2f597b30 refac 2026-03-07 17:52:58 -06:00
Timothy Jaeryang Baek
e303c3da3b refac: inline codespan rich text input
Co-Authored-By: Abdul Moiz <86627657+abdulmoizjawed@users.noreply.github.com>
2026-03-07 17:45:00 -06:00
Timothy Jaeryang Baek
6d9996e599 refac 2026-03-06 20:12:37 -06:00
Timothy Jaeryang Baek
f962bae983 feat: improve XLSX preview + add code syntax highlighting
XLSX QoL:
- Custom table renderer (excelToTable.ts) with column letters,
  row numbers, right-aligned numbers, empty cell handling
- Monospace font, sticky headers + row nums, cell cursor
- Sheet tabs moved to bottom bar (like PPTX navigation)
- Unified styles between FileNav and FileItemModal

Code highlighting:
- Shiki-based syntax highlighting for code files in FileNav
- Line numbers, dark/light theme support
- Source/Preview toggle for code files
2026-03-04 15:59:55 -06:00
Timothy Jaeryang Baek
890949abe6 feat: add DOCX/XLSX/PPTX file preview
- DOCX: mammoth converts to semantic HTML (prose preview)
- XLSX: xlsx library extended to FileNav with sheet tabs at bottom
- PPTX: custom canvas renderer produces PNG images per slide
  with panzoom zoom/pan and slide navigation

Changes:
- New: src/lib/utils/pptxToHtml.ts (canvas-based PPTX renderer)
- FileNav.svelte: office format detection, blob download, conversion
- FilePreview.svelte: office rendering branches, sheet tabs, slide viewer
- FileItemModal.svelte: DOCX/PPTX preview tabs
- package.json: added mammoth dependency
2026-03-04 15:50:37 -06:00