Commit Graph

42 Commits

Author SHA1 Message Date
wb
4f651fac12 fix(diarization-ui): capture thinking tokens in debug stream (Qwen3)
Ollama streaming chunks for thinking models use a separate "thinking"
field. Previously only "response" was captured, leaving the debug
window empty while the model reasoned. Now both fields are tracked
independently: thinking is shown in blue above the final answer,
both are persisted to new llm_thinking / existing llm_response columns.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 15:50:40 +02:00
wb
405c3e798d feat(diarization-ui): add live debug window for analysis jobs
Streams the Ollama response token-by-token and stores the full LLM
prompt in the jobs table. A Debug button on each analysis job opens
a modal with two tabs: the sent prompt and the live-updating answer
(polls /jobs/{id}/debug-data every 500 ms while streaming, badge
shows "● live"). Response is persisted to llm_response after the job
completes so it stays viewable afterwards.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 15:45:36 +02:00
adfe8d2f64 fix(diarization-ui): add multi-select hint to file input
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:46:07 +01:00
6924cc80fe feat(diarization-ui): multi-file audio upload with project create-or-select
- Upload page accepts multiple audio files at once
- Project field is a combobox: pick existing or type new name (auto-created)
- Document titles derived from filename without extension
- Files uploaded sequentially with progress bar
- New POST /projects/create-api endpoint (idempotent: returns existing if name matches)
- POST /upload now returns JSON {job_id} instead of HTML redirect

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:42:19 +01:00
0c3aa4348b fix(diarization-ui): fix dict literal inside f-string expression in view_document
{{...}} inside {expression} is invalid Python — use single braces for dict literals.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:11:29 +01:00
5bed920266 feat(diarization-ui): add inline document editor
Adds an edit mode to the document view: click "Bearbeiten" to switch
from rendered Markdown to a monospace textarea, save via POST
/document/{id}/edit, or cancel to discard changes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:08:11 +01:00
bdff373959 fix(diarization-ui): have _job_get return dict instead of sqlite3.Row
sqlite3.Row does not support .get() — converting to dict at the source
fixes all current and future call sites uniformly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:06:41 +01:00
89affe41b0 feat(diarization-ui): live-poll job status on jobs page
Replace static server-rendered job cards with JS-driven polling of
/jobs/data every 3s (active jobs) or 10s (all idle). Cards are
re-rendered client-side, preserving checkbox selection. Polling
accelerates when queued/running jobs exist and resumes on tab focus.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:03:01 +01:00
5ad50413a0 fix(diarization-ui): use index access instead of .get() on sqlite3.Row for user_prompt
sqlite3.Row does not support .get() — use direct key access with None check.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:00:55 +01:00
53836b136f feat(diarization-ui): add project-batch execution and user_prompt to run page
- New tab layout on /run: single-document vs. project-batch mode
- POST /run/project enqueues one analysis job per transcript in a project
- Optional user_prompt field on both modes for extra context to the LLM
- DB migration: adds user_prompt column to jobs table
- LLM prompt builder includes ZUSATZINFOS block when user_prompt is set

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 09:56:37 +01:00
ed3c616676 feat(diarization-ui): re-add bulk-select to library after Bootstrap merge
Restore multi-row checkbox selection, select-all/deselect-all controls,
bulk action bar (move/delete) and backend endpoints, adapted to Bootstrap 5.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 09:49:31 +01:00
769fb4715f feat(ui): latest VoiceLog UI update set 2026-03-27 09:46:24 +01:00
239875c7f6 feat(diarization-ui): add multi-select bulk actions to library view
Add checkboxes to each row, select-all/deselect-all controls, and a
bulk action bar for moving or deleting multiple documents at once.
New endpoints: POST /documents/bulk-move and /documents/bulk-delete.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 09:40:27 +01:00
0fab574b68 fix(diarization-ui): shrink burger to icon-size and pin at top-left corner 2026-03-22 07:51:30 +01:00
48622fc695 fix(diarization-ui): pin mobile burger button to top-left corner 2026-03-22 07:49:43 +01:00
def9e7ac36 feat(diarization-ui): add mobile burger menu/off-canvas nav and rename app branding to VoiceLog 2026-03-22 07:47:08 +01:00
b20a459972 feat(diarization-ui): improve full-app mobile responsiveness (smartphone layout) 2026-03-22 07:43:09 +01:00
cbf77aa95a chore(diarization-ui): remove non-functional topbar icons 2026-03-21 16:11:56 +01:00
955cd5c5ba feat(diarization-ui): restyle entire app shell to project-suite look (sidebar + topbar + light tables) 2026-03-21 15:42:36 +01:00
a1e35e98f3 feat(diarization-ui): restyle library to project-list style table with toolbar filters 2026-03-21 15:41:12 +01:00
bd152429d6 feat(diarization-ui): add library text filters for title and content 2026-03-21 15:38:47 +01:00
5efd08674b fix(diarization-ui): treat stored timestamps as UTC in jobs elapsed counter 2026-03-21 15:27:43 +01:00
69c5ff7989 fix(diarization-ui): repair jobs-page JS quoting so live elapsed counter updates 2026-03-21 15:24:49 +01:00
1b2c1099fa fix(diarization-ui): make job runtime counter tick every second (fallback + live list) 2026-03-21 15:23:09 +01:00
84d0de1972 fix(diarization-ui): show runtime counter in server-rendered jobs fallback 2026-03-21 15:21:00 +01:00
91ac4c3c59 fix(diarization-ui): redirect after fallback job cancel/delete forms instead of showing JSON 2026-03-21 15:19:03 +01:00
16d85a7218 fix(diarization-ui): show delete action for done jobs in server-rendered jobs fallback 2026-03-21 15:13:17 +01:00
6990be7903 fix(diarization-ui): jobs page server-side fallback list + robust live refresh/status 2026-03-21 15:10:39 +01:00
7397dcaf4c fix(diarization-ui): background jobs page auto-refresh with runtime/cancel/delete actions 2026-03-21 15:07:31 +01:00
648a24303a feat(diarization-ui): run upload/analysis as background jobs with max 2 workers and add jobs page 2026-03-21 15:00:21 +01:00
280b78251b feat(diarization-ui): replace browser prompt/confirm with in-app JS modal dialogs on document and library pages 2026-03-21 14:43:55 +01:00
9b78f43866 fix(diarization-ui): restore rename handler script parsing and make library 'Ansehen' an icon button 2026-03-21 14:40:44 +01:00
9e12bf4397 fix(diarization-ui): escape braces in inline JS template to restore startup 2026-03-21 14:38:40 +01:00
90dd0c0e4b fix(diarization-ui): bind document action handlers on window to avoid renameDoc undefined 2026-03-21 14:37:26 +01:00
3100aa22b3 feat(diarization-ui): document actions as icons with JS modal prompts (rename/move/delete) 2026-03-21 14:35:26 +01:00
1c9953251f feat(diarization-ui): render markdown in document preview 2026-03-21 14:32:24 +01:00
3215dde312 feat(diarization-ui): redesign modern app-like UI and add PWA manifest/service worker/icon 2026-03-21 14:30:15 +01:00
be416b7766 fix(diarization-ui): download markdown with sanitized document title filename 2026-03-21 14:27:52 +01:00
f0d851a28a feat(diarization-ui): add rename/delete for prompts/projects/documents and document move between projects 2026-03-21 14:25:18 +01:00
0f5a857b6e fix(diarization-ui): avoid route conflict for markdown download path 2026-03-21 14:21:10 +01:00
119c8b3f7b feat(diarization-ui): multi-page app with sidebar, projects, prompt config, db library, markdown download, and qwen analysis runs 2026-03-21 14:02:21 +01:00
25793c022c feat(diarization-ui): add FastAPI UI backend with sqlite storage and Ollama analysis pipeline 2026-03-21 13:47:36 +01:00