Automated Android build artifacts for commit 49e06533b197f1a2fb827d20d017543e38a7ed7a.
Workflow run: https://github.com/LettuceAI/app/actions/runs/27508097340
Changes since previous Android build android-dev-228-1-080f183
Compare: android-dev-228-1-080f183...49e0653
49e0653feat(voices): move Kokoro model setup to Voice providers with guided download menu3af9a3dfix(about): show dev label instead of release version in dev buildsaca9c61feat(settings): warn before deleting a prompt or model that is in use3b02b1ffeat(settings): configurable LLM and image model folders with atomic migration3654a23feat(settings): add Go to Models button and Image Generation topnav title2146582fix(onboarding): improve legibility of guided steps over bright backgroundfbf2950feat(onboarding): bottom-anchored mobile welcome, migrate styles to tailwind, lighter overlaysaabcbdefeat(onboarding): collapse welcome secondary links into an Other options bottom menu88e49a0fix(settings): refresh sidebar provider/model counts on in-app settings changes6e58a1bfix(onboarding): give memory finish step the shared header and centered layoutc5f7575feat(onboarding): add guided embedding-memory finish step with auto download and tour handoffef559c7feat(onboarding): guided BYOK setup with car-metaphor explainer, free/paid choice, and screenshot-driven Gemini/OpenRouter flowscdb34e0feat(onboarding): warn harder on skip and gate creation when no model existsa762273feat(chats): show in-bubble indicator while scene image prompt streams3f482e5feat(llama): stop mtp drafting early below confidence threshold699451bfeat(llama): support gemma 4 shared-assistant mtp draftersb277889fix(llama): forward mtp fields through provider extra-body allowlist and group chats57137e0fix(ui): offset fullscreen overlays below custom titlebar6b05d68fix(models): persist mtp settings and move them to runtime tab with library pickerebfdc58fix(downloads): group linked installs into one card and drop create on sidecar files9fae040feat(llama.cpp): mtp speculative decoding with bundled and external draft models9b8241cfix(hf-browser): account for mtp nextn layers and qat quants in runnability scoring5c7d9acbuild(deps): switch llama-cpp-rs to MegalithOfficial fork with b9611 and mtp supporte36317afeat(discovery): inline desktop search, skeleton parity, tag search, pure mode blur, infinite scroll5bdbdb8feat(desktop): edge resize handles for frameless window177f7a4fix(desktop): offset overlays below titlebar and guard corner toggle across decoration changesac84b1dfeat(desktop): rounded window corners with webkitgtk repaint workaroundsb97ca25feat(desktop): custom title bar with selectable designs, position, and size99b4dc3fix(group-chats): stop continue from impersonating persona and drop duplicated user turnf1de3b3refactor(group-chats): unify settings pages and header avatars with option row designe2b1a17build(macos): use ad-hoc signing identity for bundles1ea9f37docs(readme): add macos gatekeeper instructions for downloaded builds6ac30e8refactor(group-chats): redesign create page with two-column steps and footer cta698fe0cfeat(group-chats): add action style to director mode with cue as default545fc90fix(hf-browser): persist image mode across back navigationa9e73f8feat(models): image mode with all filter in installed models and list-only scrolling00d0574refactor(image-gen): remove local generation section from image settings465916brefactor(models): match runtime defaults page to advanced settings design123f2b6feat(models): local runtime defaults page with engine setup and custom binary pathe1a16defeat(models): configurable runtime defaults for runnability and sd generationaa2ad9efeat(image-gen): lora selector for characters and personas with avatar injectionb925e51feat(image-gen): lora library with character and persona lora fields6fed6fafeat(image-gen): extra prompt and writer instruction fields with template placeholderb9824c3feat(image-gen): measured memory profiles with oom retry for offload decisionse9ce900feat(image-gen): smart memory offload with per-model override controlb97089dfeat(image-gen): llamacpp style path inputs for local model setup field9e64054feat(image-gen): library and path inputs for diffusion file roles in configuration tab16f45c4feat(image-gen): local diffusion platform in model editor with configuration tab55d274dfeat(hf-browser): direct repo id lookup bypasses pipeline filter in image mode0e1da12refactor(image-gen): open family labels with llm encoder role in frontendc243a54refactor(image-gen): derive generation from component files instead of family enum5d30083fix(image-gen): locate sd-cli binary and use init-img flag for img2img26790e0feat(image-gen): creation helper credential support for local diffusion165a450feat(hf-browser): image mode UI with sd scores and model registrationa1b285bfeat(hf-browser): stable diffusion mode with sd runnability scoring05fa400feat(image-gen): local generation settings section32a6a55feat(image-gen): frontend local diffusion service and provider wiringdd44a69feat(image-gen): one-shot CLI generation runner with progress and cancel516cc2efeat(image-gen): sd.cpp engine install with dynamic release resolutionff2b08bfeat(image-gen): local diffusion module skeleton with model registry and statusce966c3revert(image-gen): remove local stable-diffusion.cpp sidecar09f05acrevert(image-gen): remove local diffusion settings section28bf648build: Add Nix flake (#59)b5a821afeat(image-gen): local diffusion settings section with runtime download, model selection, and provider enablee1fc096feat(image-gen): local stable-diffusion.cpp sidecar with managed binary, lifecycle, and reference-image adapteraf3ccebfeat(group-chat): participants bar avatar shape options and bar background (solid/fading/transparent)62aef9dfix(group-chat): enable widget column resize handles in custom width while appearance drawer is open36c35a3feat(group-chat): configurable director hint position (top/bottom/hidden) aligned with the avatar row4665bcffeat(group-chat): wiggle the avatar bar when sending with no director selection and keep the last pick stickyc7d7344feat(group-chat): director selection drives the send button, drop confirm/cancel buttonsc915483fix(group-chat): move director hint under avatars, gradient scrim, and pad chat column for the floating bar2c54cfcfix(group-chat): pin director confirm buttons to the bar edge and float the bar transparently over messagesf3a8d13feat(group-chat): director confirm/cancel buttons (configurable side), transparent avatars, no auto-trigger4b19badfeat(group-chat): director mode avatar selection state, hint, and selection animationb872e9efeat(group-chat): add Director speaker mode (tap an avatar to choose who responds)6cf9160fix(build): pin CUDA host compiler to GCC ≤ 15 on Linux (#57)519e83ffix(group-chat): honor move-header/footer toggles inside the widget column6e7a2e6feat(group-chat): feed real group data to widgets and add per-widget character pickerc78422dfeat(group-chat): render and edit the chat widget area on desktop0ddbed4feat(group-chat): add per-session author note with inline editor and prompt injection3f5fbe9feat(group-chat): capture and display dynamic memory references per message3f60b5efeat(group-chat): load older messages from DB when jumping to a search result674609bfeat(group-chat): open session settings as a desktop side drawer1d31863fix(group-chat): don't reload the whole chat when saving appearance settingscc36f4afix(group-chat): connect every group session to a source group and backfill orphans82386f2fix(group-chat): stop null chatAppearance from failing group parse and hiding the appearance buttonfc06f35feat(group-chat): add message search page with header button and jump-to-message5ae454afeat(group-chat): per-group chat appearance editor with desktop drawer and mobile pagec4bcde7feat(group-chat): add group-level chat appearance override storage and commanda2e36e8fix(group-chat): label scene messages correctly in the actions sheetb533411feat(group-chat): add participants bar with mention toggle, mute, and appearance controls7150a4afix(companion): never let a turn save clobber concurrently-changed time preferences22e5683fix(companion): preserve time override across companion state round-tripsb512508feat(dev): move deep-clone character to developer page with a character selector9fe58b9feat(dev): add deep-clone character button to the characters list23d7751feat(dev): deep-clone a character with all sessions, messages, variants, embeddings, and memory013c2a9feat(companion): lower fresh relationship defaults so warmth is earnedf1765e6feat(companion): render closeness/trust/affection as center-origin bipolar meters96f7f1bfeat(companion): allow negative relationship baselines in soul writera9747f8feat(companion): add leaky asymmetric saturating bipolar relationship update with worded prompt bands0034681feat(companion): widen closeness/trust/affection to bipolar range in schema8eeeb86feat(companion): let users set or clear a memory's date with the in-app pickered228cdfeat(companion): stamp transcript messages with effective-frame timestamps and strip echoed stampsbcc2fa3feat(companion): instruct memory and summary extraction to store absolute dates08155ddfeat(companion): render live relative time on memories0637ceffeat(datetime-picker): raise max year to the JS Date ceiling (275759)db130dafeat(datetime-picker): typeable hour/minute, clickable month/year selector, and wrapping time steppers4abd667feat(companion): replace native datetime input with custom in-app date/time pickerc02fb34fix(companion): keep time override field synced to live clock to stop empty field and ticking jump-backba3cd53feat(companion): add time override controls to chat settings and draweraa56b97feat(chat-widgets): add time widget to display and override the companion clock4c6b61dfeat(companion): add effective-now time override to prompt time, temporal queries, and memory stamps58452b4fix(memory): only apply companion temporal filter when time awareness is enabled