Automated desktop build artifacts for commit b9e2815a1c61236c568ad1339dca31c497abecdc.
Workflow run: https://github.com/LettuceAI/app/actions/runs/23512971917
Changes since previous Desktop build desktop-dev-143-1-cfd1bd0
Compare: desktop-dev-143-1-cfd1bd0...b9e2815
b9e2815feat(devtools): expand message debug inspectiona332a29fix(devtools): show debug requests message-by-message586526ffeat(devtools): add developer mode message debug view3d6d0f5feat(settings): add about page and update controls586dc03feat(updates): add release-aware app update notificationsf44b751fix(settings): refine image generation page layout434085cfeat(chats): add ask-first scene generation modeb9192f9fix(chats): clear regenerate state after cancel06582c4feat(bundle): register custom file associations5e02a47fix: remove os-level file accept filters47b405afeat(library): add image delete action0714ef8feat(chat-appearance): add inline code text color21dcc3cfix(chats): simplify mobile attachment prompt toggleb9927e7fix(import): avoid base64 PNG card preview on mobileba92d95fix(scene): inherit writer model token limits6e3d59bfix(android): remove unreachable crash fallback472add4fix(android): resolve warnings-as-errors in Rust build0df221dfix(ci): publish desktop release builds as stable releases1d458e9feat(ci): support version overrides in release workflowsa957a75ci: rebrand actions5688d41fix(settings): apply text theme colors in color editor056e520fix(chats): make editing older messages non-destructiveb942e6bfix(chats): remove footer backdrop on background images7d70574feat(settings): add mobile chat appearance preview overlayae0bfaefix(nav): keep unsaved toast dismissed until leave attempt71cd18bfix(chats): fully ignore disabled scene generation007a365feat(prompts): add editable design reference writer templated8a27edfeat(images): add dedicated scene writer and append regenerations50d6f0dfix(scene-images): append regenerated attachments and bust stale cachef4fec4dfix(characters): limit create draft restore to library returns41e741dfix(accessibility): bundle feedback sounds in binary71750acfix(memories): prevent enter from clearing edited entries9f26f35docs(readme): add screenshot gallery50915b8fix(i18n): complete missing locale translationsd19b381feat(characters): import PNG character cards as avatarsf99242dfix(sync): normalize QR code component import8b9a145ci(desktop): add release build workflowaeab0b3fix(storage): preserve advanced settings and group metadata in sync backups4b1065dfix(types): normalize device TTS optional fields to null20b5d04fix(api): omit unset temperature and top_p from requestsdcd0c95feat(llama-cpp): add image support and mmproj handling53266fafeat(llama-cpp): add native tool calling support87a90d8fix(llama): isolate context probes and honor stop sequencese5af46drefactor(llama): split desktop helpers into modules9802c4crefactor(embedding): rename module and move tokenizerdf45cc8refactor(app): folderize remaining root modulesa546014refactor(app): folderize root feature modules80b44a3refactor(app): group root infrastructure modulesd3d2bf9refactor(app): extract crate bootstrap module8fe0fefchore: remove commentse050f1brefactor(storage): remove entity command hops0ec405frefactor(storage): use typed internal chat persistence6fd7a13refactor(chat): simplify credential selection namingaf9e2f0refactor(chat): group persistence modules8cbd7edrefactor(chat): group prompting modules6f63d79refactor(chat): folderize command and feature modules3cd8127refactor(chat): extract execution provider fields880d826refactor(chat): extract execution fallback helpers0b4ca46refactor(chat): extract reply helper module221eed0refactor(chat): extract scene generation modulef1c6f62refactor(chat): move memory code under memory moduleda8dad4refactor(chat): move continue and sampling helpersb792cbbrefactor(chat): extract execution and regenerate flow79979e2refactor(chat): extract turn builder and attachment helpers44d779brefactor(chat): move completion flow into serviced86f7barefactor(storage): add typed in-process accessors4313897refactor(app): split tauri startup responsibilitiesfa5ec9frefactor(chat): consolidate request settings resolutionf6c3bc5refactor: update llama.cpp provider iconc12f29efeat: add installed models browser7941922fix: stop post-cancel chat image side effects8cd6424refactor: polish character editor utility actionscee324bfeat: support library backgrounds in character flowsc55ae02refactor: flatten character editor layout58f33a5feat: align scene generation with prompt editor references24c388ffeat: add persistent design references for scene generation5fae163fix: tighten lorebook editor layout4b0e379fix: preserve dynamic memory cursor when branching5b22ee1fix: refine prompt entry interactionse487a9ffeat: improve image selection flowsb662159feat: add image library to library8ad6304refactor: serve frontend images via tauri asset protocol696c272feat(image): expand provider support for generation and edits893eefffeat(settings): add image generation toggles8687219feat(chat): improve scene image interactionsf1f58a2feat(chat): add scene image generation flow7c42392feat(prompts): add scene generation templates and protocolac8d665feat(avatar): add prompt-driven generation and ai edit flow0e6be2dfeat(settings): add avatar and scene image model selectorsf2a7565fix(chat): stabilize attachments and multimodal visiond08bc31refactor(image): unify generated asset handling28c9bc4fix(android): preserve crash traces with utf-8 fallback22a856dRevert "perf(ui): lazy load route screens"028dea0perf(ui): lazy load route screensf34ebf6chore(app): update dependencies and compatibility fixes