Commit Graph

3 Commits

Author SHA1 Message Date
a564f7ec77 fix: resolve all TypeScript errors and accessibility warnings
TypeScript error fixes:
- Fix UUID mock type in chunker.test.ts
- Remove invalid timestamp property from Message types in tests
- Fix mockFetch type in client.test.ts
- Add missing parameters property to tool definition in test

Accessibility fixes (109 → 40 warnings, remaining are CSS @apply):
- Add aria-labels to all toggle switches and icon-only buttons
- Add tabindex="-1" to all dialog elements with role="dialog"
- Add onkeydown handlers to modal backdrops for keyboard accessibility
- Fix form labels: change decorative labels to spans, use fieldset/legend for groups
- Convert fileInput variables to $state() for proper reactivity
- Fix closure captures in ThinkingBlock and HtmlPreview with $derived()
- Add role="region" to drag-and-drop zones
- Restore keyboard navigation to BranchNavigator

All 547 tests pass.
2026-01-23 15:33:25 +01:00
d54acb97a3 fix: improve light mode theming and text contrast
- Increase light mode text contrast in app.css (slate.600→700, slate.500→600)
- Add light/dark mode prose styles in MessageContent.svelte for proper markdown rendering
- Convert hardcoded slate-* classes to theme utilities across 37 components
- Fix code block copy button and scrollbar theming for both modes
- Update all route pages (models, tools, knowledge, prompts) with theme classes
- Ensure consistent theming in modals, dialogs, and form inputs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 06:20:48 +01:00
bb5720434a feat: add streaming stats, settings panel, model management, and export/import
Implement four major features for the Ollama WebUI:

1. Streaming Stats - Real-time performance metrics display
   - Tokens per second, time to first token, total tokens
   - Fade-out display after stream completion
   - New streaming-metrics.svelte.ts store and StreamingStats component

2. Settings Panel - Model parameter configuration
   - Temperature, top_k, top_p, num_ctx sliders
   - localStorage persistence for global defaults
   - Collapsible panel in chat window with gear icon toggle

3. Model Management - Pull/delete models from UI
   - Add pullModel() and deleteModel() methods to Ollama client
   - Progress tracking with speed and ETA calculations
   - PullModelDialog component and model-operations store

4. Export/Import - Full conversation backup/restore
   - JSON export with full fidelity, Markdown for readability
   - Import validation with error/warning display
   - Export button in conversation items, import in sidebar header

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 03:35:32 +01:00