| fix(desktop): fail loudly when the main window/webview cannot be created | open | 0.00 | 0 | +45 −8 | auto25 (PR #2626) | 2026-10-28 |
| Paint canvas: mouse moves are no longer dropped while the pointer keeps moving | open | 0.00 | 0 | +1 −1 | SusieeTheLinuxUser (PR #2619) | 2026-10-28 |
| artcraft-native: add the BG Remove page, running a small model locally | open | 0.00 | 0 | +896 −26 | devstivi (PR #2577) | 2026-10-28 |
| Bump @vitest/mocker, vitest, @vitest/coverage-v8 and @vitest/ui in /frontend | open | 0.00 | 0 | +206 −941 | app/dependabot (PR #2576) | 2026-10-28 |
| Bump dompurify from 3.4.8 to 3.4.17 in /frontend | open | 0.00 | 0 | +7 −53 | app/dependabot (PR #2575) | 2026-10-28 |
| artcraft-native: add the Frame Extract page | open | 0.00 | 0 | +276 −8 | devstivi (PR #2573) | 2026-10-28 |
| docs: propose evidence-oriented agent engineering | open | 0.00 | 0 | +281 −14 | Niizuki (PR #2565) | 2026-10-28 |
| Linux packaging metadata and icons without the publish workflow | open | 0.00 | 0 | +114 −0 | wdunn001 (PR #2561) | 2026-10-28 |
| Sign-up form fix without lockfile noise | open | 0.00 | 0 | +26 −16 | wdunn001 (PR #2560) | 2026-10-28 |
| fix(artcraft): correct err.mesasge typo in UsersApi.GetSession | open | 0.00 | 0 | +16 −2 | theCosmicCrafter (PR #2559) | 2026-10-28 |
| build(artcraft): verify the release EXE actually embeds the frontend | open | 0.00 | 0 | +183 −0 | theCosmicCrafter (PR #2558) | 2026-10-28 |
| feat(artcraft): add Open downloads folder action to gallery and lightbox | open | 0.00 | 0 | +84 −11 | theCosmicCrafter (PR #2557) | 2026-10-28 |
| artcraft: keep the credentials folder private to its owner | open | 0.00 | 0 | +46 −0 | Matoo125 (PR #2551) | 2026-10-28 |
| artcraft: a fal result that fails to download is an error, not a file | open | 0.00 | 0 | +29 −1 | Matoo125 (PR #2550) | 2026-10-28 |
| artcraft-native: keep multi-file downloads inside the chosen folder | open | 0.00 | 0 | +23 −2 | Matoo125 (PR #2549) | 2026-10-28 |
| artcraft-native: cap decoded video frames' height as well as width | open | 0.00 | 0 | +21 −4 | Matoo125 (PR #2548) | 2026-10-28 |
| artcraft-native: bound the memory animated previews decode into | open | 0.00 | 0 | +105 −24 | Matoo125 (PR #2547) | 2026-10-28 |
| artcraft: Flux Pro inpainting no longer runs as Flux Pro 1.1 without the mask | open | 0.00 | 0 | +30 −2 | Matoo125 (PR #2546) | 2026-10-28 |
| fix(login): trap keyboard focus inside the login modal | open | 0.00 | 0 | +20 −4 | brayanspagnol (PR #2542) | 2026-10-28 |
| fix(linux): bundle GStreamer plugins in the AppImage | open | 0.00 | 0 | +6 −1 | brayanspagnol (PR #2541) | 2026-10-28 |
| Fix Linux transparent window rendering ISSUE 2514 | open | 0.00 | 0 | +85 −79 | Daviz8 (PR #2539) | 2026-10-28 |
| [Issue #2466] Fix TopBar clipping at narrow mobile widths | open | 0.00 | 0 | +121 −1 | TheMasonX (PR #2535) | 2026-10-28 |
| feat(ui): system CJK font fallback so Japanese prompts render | open | 0.00 | 0 | +188 −2 | midasdf (PR #2529) | 2026-10-28 |
| frontend: lang/dir on the document and logical start/end styling for RTL | open | 0.00 | 0 | +635 −435 | aiongg (PR #2519) | 2026-10-28 |
| Bump follow-redirects from 1.16.0 to 1.16.1 in /frontend | open | 0.00 | 0 | +7 −53 | app/dependabot (PR #2515) | 2026-10-28 |
| macOS publish and WorldLabs: keep the signing certificate and tokens out of logs | open | 0.00 | 0 | +2 −25 | aiongg (PR #2512) | 2026-10-28 |
| docs: update desktop frontend setup instructions | open | 0.00 | 0 | +24 −106 | shuaiyafei (PR #2502) | 2026-10-28 |
| Remove tracking and harden desktop security settings | open | 0.00 | 0 | +87 −110 | GeekShopAdmin (PR #2497) | 2026-10-28 |
| fix(linux): use an opaque webview background | open | 0.00 | 0 | +10 −1 | andresberejnoi (PR #2496) | 2026-10-28 |
| fix(dev): check Linux GTK/WebKit build dependencies | open | 0.00 | 0 | +117 −1 | andresberejnoi (PR #2495) | 2026-10-28 |
| Fix line antialiasing in the drawing canvas | open | 0.00 | 0 | +38 −0 | VyxorDev (PR #2485) | 2026-10-28 |
| fix(moodboard): keep grouped video references visible | open | 0.00 | 0 | +218 −4 | umairrrkhan (PR #2479) | 2026-10-28 |
| fix(moodboard): center pasted images after panning and zooming | open | 0.00 | 0 | +130 −5 | umairrrkhan (PR #2478) | 2026-10-28 |
| fix(moodboard): prevent deleted boards returning after pending saves | open | 0.00 | 0 | +224 −13 | umairrrkhan (PR #2477) | 2026-10-28 |
| ci(deps): bump the actions group across 1 directory with 3 updates | open | 0.00 | 0 | +6 −6 | app/dependabot (PR #2464) | 2026-10-28 |
| Enforce HTTP permission scopes on every redirect | open | 0.00 | 0 | +146 −13 | channelramble (PR #2380) | 2026-10-28 |
| Add PR regression CI, contributor guidance, and bug/feature forms | open | 0.00 | 0 | +263 −0 | channelramble (PR #2377) | 2026-10-28 |
| Send 3D library assets and generated results to the stage | open | 0.00 | 0 | +176 −43 | channelramble (PR #2376) | 2026-10-28 |
| Validate native reference limits before image and video generation | open | 0.00 | 0 | +101 −2 | channelramble (PR #2375) | 2026-10-28 |
| Resume FAL uploads with durable identities and clean transfer files | open | 0.00 | 0 | +247 −53 | channelramble (PR #2373) | 2026-10-28 |
| Write API keys and native sessions atomically with private Unix permissions | open | 0.00 | 0 | +120 −4 | channelramble (PR #2372) | 2026-10-28 |
| Purge ArtCraft sessions from the authoritative HTTP cookie jar | open | 0.00 | 0 | +147 −46 | channelramble (PR #2371) | 2026-10-28 |
| Remove auxiliary Grok and WorldLabs credentials when disconnecting | open | 0.00 | 0 | +85 −36 | channelramble (PR #2370) | 2026-10-28 |
| Serialize provider credential cache loads with saves and deletion | open | 0.00 | 0 | +84 −37 | channelramble (PR #2369) | 2026-10-28 |
| Bound native video memory and stop abandoned or failing subprocesses | open | 0.00 | 0 | +158 −22 | channelramble (PR #2368) | 2026-10-28 |
| Recover native previews, audio loads, and recreated video keyframes | open | 0.00 | 0 | +193 −24 | channelramble (PR #2367) | 2026-10-28 |
| Respect cookie scope when importing the native ArtCraft session | open | 0.00 | 0 | +65 −19 | channelramble (PR #2366) | 2026-10-28 |
| Bound API polling requests and end disconnected Midjourney streams | open | 0.00 | 0 | +142 −21 | channelramble (PR #2365) | 2026-10-28 |
| fix(canvas): route Flux inpainting and surface submission failures | open | 0.00 | 0 | +259 −16 | channelramble (PR #2363) | 2026-10-28 |
| fix(tasks): preserve cancellation and record transition timestamps | open | 0.00 | 0 | +211 −20 | channelramble (PR #2362) | 2026-10-28 |
| fix(sqlite_tasks): preserve task storage on startup errors | open | 0.00 | 0 | +97 −32 | channelramble (PR #2360) | 2026-10-28 |
| fix(video-editor): retain pending saves after failures | open | 0.00 | 0 | +136 −4 | euisuh (PR #2349) | 2026-10-28 |
| Fix CDN base path typo | open | 0.00 | 0 | +3 −3 | Dennis-Mwangi-kinyua (PR #2333) | 2026-10-28 |
| [skip netlify] Align ArtCraft launcher dark roles across native and web | open | 0.00 | 0 | +404 −50 | pourie-he (PR #2290) | 2026-10-28 |
| Show Connected for Grok when cookies exist without email | open | 0.00 | 0 | +2 −1 | giorgioabbruscato (PR #2286) | 2026-10-28 |
| Restore Grok account identity after login and restart | open | 0.00 | 0 | +147 −43 | giorgioabbruscato (PR #2285) | 2026-10-28 |
| Fix Grok index scrape for CDN chunk URLs and verification meta | open | 0.00 | 0 | +87 −12 | giorgioabbruscato (PR #2284) | 2026-10-28 |
| Investigate Sora client latency logs (#1069) | open | 0.00 | 0 | +84 −1 | giorgioabbruscato (PR #2282) | 2026-10-28 |
| fix(router): preserve ArtCraft batch job tracking | open | 0.00 | 0 | +253 −38 | euisuh (PR #2275) | 2026-10-28 |
| ci: skip stale storyteller-docs Netlify builds | open | 0.00 | 0 | +7 −0 | channelramble (PR #2248) | 2026-10-28 |
| feat(image-edit): keep the source image's aspect ratio by default | open | 0.00 | 0 | +730 −15 | channelramble (PR #2241) | 2026-10-28 |
| fix(promptbox): hold image generation until reference uploads finish | open | 0.00 | 0 | +147 −0 | channelramble (PR #2240) | 2026-10-28 |
| fix(sqlite_tasks): don't split UTF-8 characters when truncating failure messages | open | 0.00 | 0 | +41 −1 | channelramble (PR #2239) | 2026-10-28 |
| fix(desktop): mark dead and cancelled jobs as failed and show the reason | open | 0.00 | 0 | +202 −18 | channelramble (PR #2238) | 2026-10-28 |
| fix(promptbox): preserve arrow direction when exiting mention chips | open | 0.00 | 0 | +251 −5 | channelramble (PR #2236) | 2026-10-28 |
| fix(lightbox): remember image-set position during gallery navigation | open | 0.00 | 0 | +322 −40 | channelramble (PR #2235) | 2026-10-28 |
| fix(gallery): retry stalled video thumbnail probes | open | 0.00 | 0 | +108 −4 | channelramble (PR #2234) | 2026-10-28 |
| Add Arabic (العربية) interface translation | open | 0.00 | 0 | +930 −111 | hasan-sdaif (PR #2229) | 2026-10-28 |
| feat: add Local LLM provider (Ollama / llama.cpp / LM Studio) | open | 0.00 | 0 | +897 −13 | JL2030 (PR #2210) | 2026-10-28 |
| fix: tag world generation tasks as GaussianGeneration (#1127) | open | 0.00 | 0 | +2 −2 | SssiiiSssii1 (PR #2208) | 2026-10-28 |
| fix(frontend): handle localStorage access errors to prevent mount failure (#1984) | open | 0.00 | 0 | +22 −5 | gabrieelibrahim (PR #2203) | 2026-10-28 |
| fix (login-modal) : validate signup fields before submitting | open | 0.00 | 0 | +80 −11 | Ridzzz0Alam (PR #2195) | 2026-10-28 |
| docs: add user docs in docs/user | open | 0.00 | 0 | +972 −0 | itrycodinganditsbad (PR #2187) | 2026-10-28 |
| fix(video-editor): place caret on text frame double-click | open | 0.00 | 0 | +47 −7 | KeuqS (PR #2123) | 2026-10-28 |
| Fix native model picker flyout closing when the pointer leaves the family row | open | 0.00 | 0 | +61 −16 | mikekuriger (PR #2122) | 2026-10-28 |
| artcraft-native: Shot List board for planning a scene, with Markdown export | open | 0.00 | 0 | +607 −11 | mvanhorn (PR #2106) | 2026-10-28 |
| artcraft-native: Frame Extract, pull PNG stills from a local video | open | 0.00 | 0 | +690 −10 | mvanhorn (PR #2105) | 2026-10-28 |
| fix(promptbox): route M4A references as audio despite video MIME | open | 0.00 | 0 | +111 −1 | rudycelekli (PR #2101) | 2026-10-28 |
| fix(video-editor): retain replacement waveform requests after stale failures | open | 0.00 | 0 | +79 −1 | rudycelekli (PR #2100) | 2026-10-28 |
| fix(generation-list): prevent obsolete polls from restoring completed jobs | open | 0.00 | 0 | +137 −17 | rudycelekli (PR #2099) | 2026-10-28 |
| fix(video-editor): end property scrubbing when its field disappears | open | 0.00 | 0 | +167 −5 | rudycelekli (PR #2098) | 2026-10-28 |
| fix(video-editor): preserve visible thumbnails for very thin images | open | 0.00 | 0 | +36 −0 | rudycelekli (PR #2096) | 2026-10-28 |
| fix(settings): keep provider order after cancelled or stale drops | open | 0.00 | 0 | +110 −10 | rudycelekli (PR #2095) | 2026-10-28 |
| fix(video-editor): persist active scene after deletion and undo | open | 0.00 | 0 | +128 −0 | rudycelekli (PR #2094) | 2026-10-28 |
| fix(video-editor): close IndexedDB connections after settled operations | open | 0.00 | 0 | +165 −1 | rudycelekli (PR #2092) | 2026-10-28 |
| fix(video-editor): keep delayed media imports in their initiating context | open | 0.00 | 0 | +268 −8 | rudycelekli (PR #2091) | 2026-10-28 |
| fix(promptbox): stop reference audio when its owner disappears | open | 0.00 | 0 | +140 −2 | rudycelekli (PR #2090) | 2026-10-28 |
| fix(video-editor): preserve live media URLs across undo | open | 0.00 | 0 | +94 −5 | rudycelekli (PR #2084) | 2026-10-28 |
| fix(promptbox): preserve current media references across async completion | open | 0.00 | 0 | +752 −43 | rudycelekli (PR #2083) | 2026-10-28 |
| fix(gallery): ignore responses superseded by a reset | open | 0.00 | 0 | +120 −3 | rudycelekli (PR #2080) | 2026-10-28 |
| fix(grok,fal): don't hold std lock across await; poll FAL tasks concurrently | open | 0.00 | 0 | +73 −73 | HighTecno (PR #2078) | 2026-10-28 |
| fix(video-editor): finish pending saves before project exit | open | 0.00 | 0 | +245 −3 | rudycelekli (PR #2077) | 2026-10-28 |
| fix(promptbox): keep IME confirmation out of prompt actions | open | 0.00 | 0 | +120 −0 | rudycelekli (PR #2076) | 2026-10-28 |
| fix(media): preserve queries and fragments when enabling CORS | open | 0.00 | 0 | +72 −1 | rudycelekli (PR #2073) | 2026-10-28 |
| fix(video-editor): accept leading decimals in property calculations | open | 0.00 | 0 | +52 −1 | rudycelekli (PR #2072) | 2026-10-28 |
| fix(web-base64): reject truncated data URL payloads | open | 0.00 | 0 | +44 −1 | rudycelekli (PR #2071) | 2026-10-28 |
| fix(url-utils): extract extensions only from file path segments | open | 0.00 | 0 | +84 −8 | rudycelekli (PR #2070) | 2026-10-28 |
| fix(timeline): prevent custom easing curves from snapping to endpoints | open | 0.00 | 0 | +62 −5 | rudycelekli (PR #2069) | 2026-10-28 |
| Reduce polling overhead and log noise | open | 0.00 | 0 | +17 −6 | 0X11Dynamic (PR #2064) | 2026-10-28 |
| Detect CMake and libclang in the Windows Rust dev script | open | 0.00 | 0 | +103 −0 | JeremyYao (PR #2061) | 2026-10-28 |