openpencil/tests/e2e/chat
Danila Poyarkov 55d8c57822
feat(desktop): show updates in a Software Update window (#936)
* refactor(app): share Markdown rendering outside chat

Move the vue-stream-markdown wrapper, inline code, token mapping, and
styles out of chat into components/markdown and theme/markdown, so other
surfaces can render Markdown without importing chat components. A density
attribute selects the compact chat styles or a comfortable reading size,
and Shiki highlighting is opt-in. ChatMarkdown keeps its streaming render
key and wraps the shared component.

* refactor(ui): extract AppProgress from the toast

The toast drew its own progress track, fill, and label. Move them into
AppProgress in ui/feedback, built on Reka's Progress so the bar reports
its value and indeterminate state, with an accent tone for panels and a
current-colour tone for coloured surfaces. ToastProgress becomes the
shared ProgressAmount. AppPlaceholder also accepts an h1 label for
placeholders that stand for a whole window.

* feat(desktop): show updates in a Software Update window

The update prompt passed the release's CHANGELOG section to the native
confirm dialog, which cannot format Markdown or scroll, so the 0.15.1
notes showed raw headings and pushed the buttons off screen.

When the main window finds an update it now opens a small `updater`
webview loading its own `updater.html` entry, which never boots the
editor. The window renders the notes with the shared Markdown component
in a scrolling box and links to the full release page.

Installing is split into stages. The download shows progress and can be
cancelled; Tauri cannot abort it, so Cancel detaches and a later Install
reuses the running download. On macOS and Linux the update then installs
and the window offers Restart Now or Later. A restart, and on Windows the
installer that quits the app, first asks the editor window to run the
same unsaved-documents approval as Quit. Failed checks, downloads,
installs, and restarts keep the release visible and can be retried. The
window's capability grants only update, restart, close, and link
opening.

Closes #743

* fix(desktop): stop waiting for a restart reply from a closed editor

The Software Update window waited for the editor's answer with no bound,
so an editor closed mid-request left Restart Now, and the Windows
install, stuck. Treat the editor window's destruction as approval: it
ran its own unsaved-changes prompt and holds no documents. A timeout
would instead fail people still answering that prompt.
2026-10-06 14:57:31 +00:00
..
streaming feat(app): record runtime errors in diagnostics and make events readable (#874) 2026-10-05 07:59:44 +00:00
attachments.spec.ts test(chat): isolate domain specs and real LLM runs 2026-09-04 11:50:12 +03:00
composer.spec.ts feat: persist AI conversations and add chat history (#661) 2026-09-08 11:19:07 +03:00
file-identity.spec.ts feat: persist AI conversations and add chat history (#661) 2026-09-08 11:19:07 +03:00
history-save.webkit.spec.ts fix(ai): keep saving chat history in Safari Private Browsing (#920) 2026-10-06 13:57:56 +00:00
history.spec.ts feat(ai): refine tool change and run views (#858) 2026-10-06 11:56:06 +00:00
lazy-connection.spec.ts fix: protect unsaved documents and defer credential access (#713) 2026-09-17 15:25:15 +03:00
markdown.spec.ts feat(desktop): show updates in a Software Update window (#936) 2026-10-06 14:57:31 +00:00
menu.spec.ts fix: protect unsaved documents and defer credential access (#713) 2026-09-17 15:25:15 +03:00
navigation.spec.ts fix(ai): reach the custom model option and update stale chat specs (#719) 2026-09-17 16:34:08 +03:00
profiles.spec.ts fix(ai): reach the custom model option and update stale chat specs (#719) 2026-09-17 16:34:08 +03:00
real-llm.spec.ts feat(desktop): show updates in a Software Update window (#936) 2026-10-06 14:57:31 +00:00
reasoning.spec.ts feat: persist AI conversations and add chat history (#661) 2026-09-08 11:19:07 +03:00
recovery.spec.ts feat: persist AI conversations and add chat history (#661) 2026-09-08 11:19:07 +03:00
responses.spec.ts feat(ai): render tool calls as summarized, highlighted cards (#811) 2026-10-03 22:04:31 +04:00
restore.spec.ts feat: persist AI conversations and add chat history (#661) 2026-09-08 11:19:07 +03:00
turns.spec.ts feat(ai): revert, regenerate, and edit chat turns (#844) 2026-10-06 09:54:42 +00:00