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
Shirasawa
6e43861c0c
feat: prioritize in-group members in sorting ( #22211 )
2026-03-04 15:03:20 -06:00
Eliot GODARD
ad275351b6
i18n(fr-FR): complete French translation pass ( #22200 )
...
Adds and harmonizes French translations across the entire UI:
- Translate admin pages (Images, connections, models, etc.)
- Harmonize API key/URL field translations
- Fix "successfully" translations consistency
- Add missing translations (feedback, file, model selector)
- Fix typos and improve existing translations
2026-03-04 13:57:30 -06:00
Shirasawa
7d45459a47
fix: keep save button spinner inline ( #22227 )
2026-03-04 13:56:49 -06:00
Shirasawa
5af24b3ebe
fix: Implement archive chat handler in Chat page navbar ( #22229 )
2026-03-04 13:54:21 -06:00
Timothy Jaeryang Baek
ca2aaf0321
fix: ot terminal
2026-03-02 19:09:13 -06:00
Timothy Jaeryang Baek
10baa6e781
chore: format
2026-03-02 17:07:53 -06:00
Timothy Jaeryang Baek
3de14a53c2
chore: format
2026-03-02 17:04:52 -06:00
Timothy Jaeryang Baek
b5c3395f79
refac
2026-03-02 16:41:32 -06:00
Timothy Jaeryang Baek
ed9ab65b5e
refac
2026-03-02 15:23:01 -06:00
Timothy Jaeryang Baek
1a2b360d3d
refac
2026-03-02 15:01:10 -06:00
Timothy Jaeryang Baek
4f6cb771f1
enh: open terminal
2026-03-02 14:49:02 -06:00
Aleix Dorca
75683e5197
i18n: Update catalan translation.json ( #22129 )
2026-03-02 13:49:03 -06:00
8ea35e3bb4
i18n: Updated Irish translation ( #22132 )
...
Co-authored-by: Tim Baek <tim@openwebui.com >
Co-authored-by: joaoback <156559121+joaoback@users.noreply.github.com >
2026-03-02 13:48:26 -06:00
Timothy Jaeryang Baek
44349fb62b
refac
2026-03-02 13:27:37 -06:00
Timothy Jaeryang Baek
933a3bbbd3
refac
2026-03-02 12:49:51 -06:00
Timothy Jaeryang Baek
3909b62ffc
enh: file nav html rendering
2026-03-02 12:45:50 -06:00
Shirasawa
bec227da30
i18n: improve Chinese translations ( #22148 )
2026-03-02 12:23:00 -06:00
Timothy Jaeryang Baek
11487d66fc
refac
2026-03-02 12:09:49 -06:00
Timothy Jaeryang Baek
395098c6f1
refac
2026-03-02 12:07:55 -06:00
Timothy Jaeryang Baek
72951324df
refac
2026-03-02 12:05:19 -06:00
Timothy Jaeryang Baek
0c42cd2c01
enh: ot move
2026-03-02 12:03:23 -06:00
Timothy Jaeryang Baek
c701ebe07b
refac
2026-03-02 11:29:29 -06:00
Shirasawa
b338850cc1
Merge pull request #22127 from ShirasawaSama/patch-49
...
fix: Fix TypeScript syntax compilation errors
2026-03-02 11:26:58 -06:00
Timothy Jaeryang Baek
d7147d6cdd
refac
2026-03-02 11:24:15 -06:00
Timothy Jaeryang Baek
832d0181b6
chore: format
2026-03-01 19:13:14 -06:00
Shirasawa
a9e9fe7899
fix: fix memory leaking of ChatControls ( #22112 )
2026-03-01 19:06:20 -06:00
Algorithm5838
fe837d80e7
fix: pass params when saving a temporary chat
...
The system prompt and other chat controls overrides were lost after
saving because `params` wasn't included in the `createNewChat` call.
2026-03-02 01:35:59 +03:00
Tim Baek
860a0b414e
Merge pull request #22111 from Algorithm5838/perf/debounce-get-contents
...
perf: use rAF to debounce getContents() during streaming
2026-03-02 01:28:15 +04:00
Shirasawa
67893b9a57
fix: fix memory leaking in CodeEditor ( #22110 )
2026-03-01 15:52:20 -05:00
Timothy Jaeryang Baek
2e8c4da17b
refac
2026-03-01 14:45:35 -06:00
Timothy Jaeryang Baek
ff9f761d65
refac
2026-03-01 14:44:12 -06:00
Algorithm5838
6863ca482c
perf: use rAF to debounce getContents() during streaming
2026-03-01 23:42:16 +03:00
Timothy Jaeryang Baek
5645d5bccc
refac
2026-03-01 14:38:10 -06:00
Timothy Jaeryang Baek
201b93bfcc
refac
2026-03-01 14:18:57 -06:00
Shirasawa
9904566513
fix: fix memory leaking in Chat.svelte ( #21962 )
...
* fix: fix memory leaking in Chat.svelte
* chore: remove useless chatIdUnsubscriber var
* fix: fix async tick
2026-03-01 15:04:47 -05:00
Classic298
597883a179
perf: use structuredClone and fast-path comparison in UserMessage ( #22098 )
...
Same optimization as the merged ResponseMessage PR: replace JSON.parse(JSON.stringify()) with structuredClone and add an O(1) fast-path check on content before falling back to full JSON.stringify comparison.
2026-03-01 14:46:05 -05:00
Timothy Jaeryang Baek
d415edcfcd
chore: bump
2026-03-01 13:14:20 -06:00
Algorithm5838
e9011113b4
perf: skip redundant object spread in buildMessages ( #22086 )
2026-03-01 13:46:11 -05:00
Classic298
1b89bee098
perf: add fast-path comparison in MultiResponseMessages ( #22100 )
...
Same optimization as ResponseMessage: add O(1) fast-path check on content and done fields before falling back to full JSON.stringify comparison. Avoids expensive serialization when only content changes during streaming.
2026-03-01 13:44:59 -05:00
Timothy Jaeryang Baek and Shirasawa
1db36b5eda
refac
...
Co-Authored-By: Shirasawa <kaguyashirasawa@gmail.com >
2026-03-01 12:38:59 -06:00
Classic298
3569280c0b
perf: replace JSON.parse(JSON.stringify()) with structuredClone in Chat.svelte ( #22102 )
...
Replace 7 instances of JSON.parse(JSON.stringify()) deep cloning with the native structuredClone API. All are on cold paths (model selection, file preparation, history saving) but structuredClone is ~2x faster and more readable.
2026-03-01 13:37:20 -05:00
Classic298
a0d6c209c3
perf: fast-path token comparison in CodeBlock ( #22101 )
...
During streaming, every token change triggers a full JSON.stringify comparison on the code block token object. Add an O(1) fast-path check on token.text and token.raw — the fields that actually change during streaming — before falling back to the expensive JSON.stringify comparison for infrequent structural changes.
2026-03-01 13:37:10 -05:00
Classic298
73617ec7fa
perf: fast-path length check in StatusHistory comparison ( #22103 )
...
Add O(1) array length check before expensive JSON.stringify comparison. During streaming, status history typically only grows via appends, so a length mismatch catches most updates without serialization.
2026-03-01 13:36:42 -05:00
Shirasawa
6d7f21b57b
fix: fix memory leaking of SIdebar ( #22082 )
2026-03-01 13:35:09 -05:00
Peter L Jones
fe604a8a9b
bugfix: Prevent double toast on single hide/show toggle ( #22079 )
2026-03-01 13:34:45 -05:00
joaoback
a9d8348cf9
i18n(pt-BR): add translations for newly added UI items + consistency pass ( #22095 )
...
New **pt-BR** translations for items introduced in the latest releases, plus a consistency/quality pass across existing strings (grammar, tone, capitalization, pluralization). Placeholders and hotkeys preserved. No logic changes.
2026-03-01 13:33:15 -05:00
Classic298
c37c0e3490
Update translation.json ( #22096 )
2026-03-01 13:33:01 -05:00
Timothy Jaeryang Baek
ddedceb7ad
refac
2026-03-01 12:32:44 -06:00
Timothy Jaeryang Baek
18865a9fef
refac
2026-03-01 12:30:03 -06:00