github JetBrains/thinkrail v0.4.0

32 minutes ago

What's Changed

  • fix(workspaces): create worktrees in the background so a large checkout never freezes the app by @rsolmano in #1202
  • chore(github): remove SBOne-Kenobi from CODEOWNERS by @rsolmano in #1230
  • fix(web): highlight every catalog language in chat by @Mark-Life in #1187
  • fix(workspaces): send the last checkout progress when git exits inside the push throttle by @rsolmano in #1231
  • feat(ask-user-question): redesign the questionnaire card — stable height, notes and Other in place, rich previews, Discuss, receipt by @danyaberezun in #1192
  • fix(fs): identify SVG by its document root by @Afloat16 in #1184
  • fix(cli): reject empty/non-decimal --port and --host, ignore invalid env values by @harshal-paltse in #1125
  • feat: host search for the palette — files, specs, plans, chat transcripts and previews by @danyaberezun in #805
  • ci: install Linux dependencies without restoring the Bun cache by @Mark-Life in #1242
  • test: await promises the tests left floating by @Mark-Life in #1252
  • chore(lint): fail biome on warnings and lock in clean rules by @Mark-Life in #1083
  • fix(e2e): let the desktop runner exit as soon as the host shuts down by @Mark-Life in #1241
  • fix(web): focus the composer input when its padding is clicked by @Mark-Life in #1163
  • fix(web): fold fs-tick reads in branch status and preview by @Mark-Life in #1016
  • scripts: parse boundary and seam imports with oxc-parser by @Mark-Life in #1233
  • dialog: keep buttons and text inside the modal by @Mark-Life in #1157
  • chat: follow a streaming answer by pinning its newest line instead of stepping by @Mark-Life in #1026
  • chore: mark intentional fire-and-forget promises in shipped code by @Mark-Life in #1253
  • chore(lint): reject floating promises by @Mark-Life in #1254
  • feat: dictate into any text field with local NVIDIA Nemotron speech recognition by @rsolmano in #1228
  • fix(workspaces): follow a branch switched in a managed workspace's terminal by @Mark-Life in #1028
  • README update by @makingthematrix in #1219
  • build(release): repack the Linux tarball with root ownership by @viwe-monai in #1003
  • refactor: enable erasableSyntaxOnly and drop parameter properties by @Mark-Life in #1061
  • test(contracts): widen the size gap in the linear-fold timing test by @danyaberezun in #1272
  • refactor: remove no-op type assertions from production code by @Mark-Life in #1068
  • build: typecheck with TypeScript 7 and drop TypeScript 6 by @Mark-Life in #1232
  • docs(desktop): record that release signing must carry the microphone entitlement by @rsolmano in #1287
  • fix(ui): keep a dialog open when a toast over it is pressed by @danyaberezun in #1271
  • fix(packages): read the catalog fresh when the Extensions page opens by @danyaberezun in #1273
  • perf(locales): load bundled translations on demand by @Mark-Life in #1251
  • ci(e2e): deal browser tests to shards round-robin instead of contiguous blocks by @Mark-Life in #1238
  • ci(e2e): run the no-agent browser suite as three jobs by @Mark-Life in #1239
  • chore(github): add artyomxx and Mark-Life to CODEOWNERS by @danyaberezun in #1291
  • test(contracts): bound folding a large decomposed text in absolute time by @danyaberezun in #1292
  • fix(chat): fold the turn's Done row into one footer line by @Mark-Life in #1290
  • feat(web): highlight chat code with Pierre in the worker by @Mark-Life in #1274
  • perf(web): send and parse only new lines while chat code streams by @Mark-Life in #1275
  • chore(deps): upgrade @pierre/diffs to 1.6.4 and vite to 8.3.5 by @Mark-Life in #1276
  • feat(web): highlight diffs with Pierre and the chat color table by @Mark-Life in #1277
  • feat(web): highlight the file editor with Pierre by @Mark-Life in #1278
  • chore(web): keep Shiki out of the build by @Mark-Life in #1279
  • feat(web): color every Pierre language in the file editor by @Mark-Life in #1280
  • chore(web): keep unused Pierre theme catalogs out of the build by @Mark-Life in #1281
  • feat(server): budget the skills listing and add skill_search for large catalogs by @OLavrik in #1218
  • feat(web): start work from the palette's typed text by @danyaberezun in #806
  • fix(desktop): keep the title bar draggable and a failed editor chunk out of a retry loop on Chromium 156 by @danyaberezun in #1294
  • chore(deps): upgrade posthog-node to 5.57.2, @posthog/core to 1.60.1 and @posthog/cli to 0.18.12 by @danyaberezun in #1295
  • chore(deps): bump @lobehub/icons-static-svg to 1.101.0, bun-pty to 0.5.2 and @astrojs/markdown-satteri to 0.4.6 by @danyaberezun in #1296
  • chore(deps): upgrade Biome to 2.6.3 by @danyaberezun in #1297
  • feat(skills): make other agents' skills opt-in and show the skill catalog's size by @OLavrik in #1221
  • feat(web): focus the chat input after a Cmd+K workspace or chat pick by @rsolmano in #1298
  • ci: install WebKit's linked libraries from a main-seeded .deb cache instead of the mirror by @danyaberezun in #1300
  • Blog post: The Chat by @makingthematrix in #1244
  • Chats without a project: a built-in Chats container with one scratch folder per chat by @danyaberezun in #887
  • Continue a chat without a project in a new workspace: the agent's summary becomes the handoff by @danyaberezun in #888
  • chore(deps): upgrade pi to 1.5.2 and expose cache warming in Settings by @rsolmano in #1301
  • feat: Find in Files — search file contents across the workspace from a ⌘⇧F window and open the hit at its line by @danyaberezun in #933
  • feat: add raster favicon and touch-icon fallbacks to the web UI and the website by @danyaberezun in #1307
  • docs: record the #881 review decisions and the Electrobun/Hutch gaps the desktop accepts by @danyaberezun in #906
  • feat: spec section search — rank spec sections by words for the palette's # scope and the agent's spec_search, and ask the agent from # by @danyaberezun in #939
  • feat: let the agent start workspaces and check their status — #934 on the global-search stack by @danyaberezun in #941
  • feat(web): dock the agent's questions above the message box by @danyaberezun in #1311
  • fix(web): let the Settings model lists scroll with the wheel by @xtenzQ in #1166
  • fix(fs): require a BMP DIB header before classifying bytes as an image by @1-DARK in #1226
  • fix(web): send chat messages over plain-http origins without crypto.randomUUID by @1-DARK in #1111
  • fix: refuse prompts over the 16 MiB WebSocket frame cap instead of raising it by @xtenzQ in #1018
  • fix(server): find editors without blocking the host on a slow PATH by @Mahdi-Hasan in #1159
  • fix(host): prefer configured connections for new chats by @Yutong43 in #1168
  • fix(server): never run a restored chat on a model the user did not choose by @OLavrik in #1310
  • fix(server): read Ollama's reported context window by @markjoin123 in #1217
  • fix(subagents): read model "inherit" as the parent's model and list available models on a miss by @OpenLucasKaka in #1312
  • fix(web): show why a plan review failed instead of a bare no-verdict line by @oisano11 in #990
  • fix(server): only ask for a plan review on steps that changed files by @oisano11 in #992
  • fix: allow fresh branch review lookups to bypass in-flight requests by @rushikeshsanap1512 in #1037
  • fix(review): show a Source fallback in rendered previews by @euvoor in #1222
  • fix(resource-renderers): stop frontmatter stripping at an empty block's fence by @g1obalworlds in #1048
  • fix(web): align loose-list text with its marker by @rudycelekli in #1052
  • fix(resource-renderers): drop a leading BOM before parsing CSV by @kevin9327 in #1050
  • fix(web): don't show GitHub as Not connected before the auth probe answers by @gibkim in #1136
  • Strip complete terminal control strings from notebook output by @Afloat16 in #1258
  • fix(i18n): detect hardcoded text through transparent type wrappers by @xunguangzlj-cloud in #993
  • fix(git): show changes in a repo with no commits instead of a bad revision error by @ernsahin in #1020
  • fix(delegation): report routed subagent model and effort by @aimmetal-tech in #1021
  • fix(terminal): give test shells their own home so tests stop writing to the developer's shell history by @enbiyagoral in #1036
  • fix(server): ignore transient git metadata locks by @flssr in #1104
  • fix(web): bridge WebKit's Korean IME into the terminal by @JoisFe in #891
  • fix(web): restore a detached chat's reading position across tab switches by @aaditiiiii1 in #986
  • fix(projects): bootstrap a new repo off the event loop without auto-gc by @L1nq0 in #1045
  • fix: keep compacted turns visible above the summary marker by @superjinge in #1321
  • fix(e2e): give Windows hosts a hermetic PATH that can find git by @ernsahin in #1024
  • fix(providers): let a custom server's thinking be turned off on chat-template models by @lazarevtill in #1132
  • fix(persistence): write registry files atomically and set aside unreadable ones by @1-DARK in #1225
  • fix(server): show the Explorer window when revealing a folder on Windows by @Mahdi-Hasan in #1158
  • fix(web): preserve image drafts across chat remounts by @rudycelekli in #1051
  • fix(web): stop auto-probing custom server models on edit; add filter and paging by @1-DARK in #1135
  • fix(watch): refresh remote status after terminal git push by @OKAN-SOFTWARE in #1044
  • fix(server): don't watch git-ignored folders on Linux by @xtenzQ in #1137
  • Improve json diff view to indicate changed nodes and show change summary by @zhuravlikjb in #953
  • fix(templates): reject Windows reserved device names by @OKAN-SOFTWARE in #1042
  • feat(locales): translate the font, package, and resource keys the Chinese catalog is missing by @oisano11 in #1134
  • feat(locales): fill the remaining es, ja and ru translations by @eatmoreduck in #1262
  • workspaces: allocate branch names from one batched branch listing by @eatmoreduck in #1263
  • feat(web): add system fallbacks to the code font stack by @AZEROSTART in #1170
  • fix(web): close ask-user-question note on blur by @ege-arhan in #1322
  • feat(web): copy a file path from the Files tree and file tabs by @mvanhorn in #959
  • feat(web): list each model-picker provider group newest first by @ernsahin in #1019
  • fix(web-access): isolate web work across chat sessions by @dhruvwarriorr in #1040
  • feat(web): copy the terminal selection with Ctrl+Shift+C on Linux and Windows by @Jmi2020 in #1259
  • feat(web): add a heading outline beside Markdown previews by @mvanhorn in #960
  • feat(extensions): forward editor text to the chat composer by @matwming in #1215
  • feat(locales): add a Traditional Chinese (Taiwan) catalog by @leoho0722 in #1249
  • feat(providers): let a custom endpoint's model set its own context window by @eatmoreduck in #1197
  • feat(web): reorder sidebar projects by drag and drop by @dingdinglz in #900
  • feat: add file tree context actions by @b4rtaz in #1177
  • feat(desktop): add thinkrail:// deep links to open files at a line by @misswell in #1314
  • feat(web): refresh Resources — drop New, fold the dock, inspect MCP servers by @danyaberezun in #1331

New Contributors

Full Changelog: v0.3.2...v0.4.0

Don't miss a new thinkrail release

NewReleases is sending notifications on new releases.