Commit Graph

326 Commits

Author SHA1 Message Date
BFlat 2a77f15b2d Merge branch 'main' into bugfix/747-flatpak-browsers 2026-11-04 10:05:57 +07:00
Afloat 686f3429e1 Keep builder availability fixtures independent of live discovery (#773)
The missing-builder UI test marks discovery as already running, so a late real discovery can't replace the test's own results before it checks Start.
2026-11-04 10:05:52 +07:00
Aek 42f459ccf9 Check a person's own project by its own build and tests, in any language (#760)
A person's own project, edited in place with nothing to recreate, is checked by its own build and then its own tests, in any language a toolchain table knows (Rust, Node.js, Python, Go, .NET, Maven, Gradle, Make), instead of the checks made for a recreation (no --screenshot option, self-test or MECHANICS.md added to their code). A project with no tests, or one Craft Anything doesn't know how to build, isn't a failure and the note says so.
2026-11-04 09:55:48 +07:00
BFlat 0213e0063d Merge branch 'main' into bugfix/747-flatpak-browsers 2026-11-04 08:46:57 +07:00
Aek 7a0d7de0e4 Keep what a project edited in place is built with, read from its own files (#755)
A project edited in place (Work on my project, or rebuild --existing edit) keeps the stack its own files use (an engine's project file, then Cargo.toml or package.json dependencies, then other project files), unless the request names another; a Godot folder no longer gets Unity from a request that reads as a game.
2026-11-04 08:46:52 +07:00
BFlat 7eee1fd13f The pasted-picture test passes when its pastes share a millisecond (#761)
The pasted-picture test accepts a third paste that lands in the same millisecond as the first and takes its freed name, and checks the first paste's content is gone. Test only.
2026-11-04 08:46:46 +07:00
Fábio Soares bbc06cb9c1 Start the window on Macs whose Metal compiler rejects the OS's shader version (#744)
The window opens on Macs whose Metal compiler rejects the shader language version wgpu takes from the macOS version: a patched wgpu-hal 30.0.1 (identical to the released crate except for this probe) compiles a tiny kernel with each version up to the OS's and keeps the first one accepted. A lost device on a Mac no longer points at the Windows-only software renderer setting (fixes #742).
2026-11-04 08:22:28 +07:00
Tanish Manku 87f09c4d16 Run JSON tool calls a model writes after a sentence, or several in one reply (#753)
Tool calls a local model writes as fenced JSON after a sentence, or several in one reply, are run when every one names an offered tool; words after the last call, other code or an unclosed fence keep the reply as text.
2026-11-04 08:22:21 +07:00
Alex Joaquim Pereira bae2cde305 Wait for picture checks before Send and Make Start (#724)
Send and Make's Start wait for the picture-size checks still running for their own destination, then go with the pictures, instead of leaving them for the next message or starting without them. A refused picture clears the wait, and editing Make meanwhile cancels the waiting Start.
2026-11-04 08:08:40 +07:00
FuryNocturnTV (Tare Fernandez) c26e6ba525 Say when a saved program path has no file there, instead of blaming PATH (#739)
A program started by its path (a saved agent program, say) with no file there says so and names the path, as possibly moved by an update, instead of "isn't installed or isn't on your PATH"; it stays a missing program, so builder turns aren't retried (refs #721).
2026-11-04 08:08:33 +07:00
Fábio Soares 7b5ce085a3 Find Ghidra in the folders people unzip it to, and don't download it again (#745)
Ghidra is found where people unzip it (Program Files, the home folder, Downloads, Desktop, /Applications, Homebrew's cask and the usual Linux folders), by folder name a set number of levels down, and the guided install uses a copy already on the computer instead of downloading it again (fixes #740).
2026-11-04 08:08:26 +07:00
Fábio Soares 8384c0cf7a Count the system prompt and tool schemas when a server reports no usage (#752)
When a server reports no input-token count, as local servers often don't, the system prompt and the tool schemas are counted from their text, so a conversation past its budget is trimmed (refs #731).
2026-11-04 08:08:19 +07:00
Fábio Soares 900ff0dfd4 Say when the app folder is empty in the website build check (#749)
When a website build leaves app/ empty, the build check says the builder hasn't written the project, instead of only that no built site was found (refs #736).
2026-11-04 08:08:13 +07:00
Fábio Soares eb6babd593 Find Antigravity's CLI next to its own folder on Windows (#748)
On Windows, Antigravity's CLI (agy.exe) is also looked for straight in its Antigravity folder, where newer installers put it; the desktop app's own Antigravity.exe is never taken for it (fixes #737).
2026-11-04 08:08:07 +07:00
Aek 66bda5607d Keep Make off the folder picked on Work on my project, and don't read an address in its request as an original (#750)
Leaving "Work on my project" forgets a folder it would edit in place, and a folder dialog that ends after leaving that door is dropped, so a version made on Make can't edit the person's own project. An address in that door's request stays part of the request instead of becoming an original to recreate. Follow-up to #686's review.
2026-11-04 08:05:51 +07:00
BFlat 59a030ac7e A long prompt shows more of itself in a tall window (#734)
The prompt box can grow to two-fifths of the window's height, never less than its own limit, so a long prompt shows more of itself in a tall window (fixes #473).
2026-11-04 08:05:46 +07:00
BFlat 085b7029a5 Type in a model the list doesn't offer in Settings → AI (#730)
Settings → AI has an "Another model" field beside the model list, so a newer model, a variant such as opusplan, or one another harness serves can be chosen without the CLI (fixes #470).
2026-11-04 08:05:40 +07:00
BFlat 0c79f957fa Find an agent's chosen program again after an update moves it (#729)
An agent's chosen program path that an update moved (Codex's bin/<build>/codex.exe) is found again in the newest build folder, else by its usual name on PATH, instead of failing every turn (refs #721).
2026-11-04 08:05:35 +07:00
Tanish Manku 5eb1b2f475 The build check says where a project made one folder down is, and the Rust steps say Cargo.toml goes in app/ itself (#751)
* The build check says where a project made one folder down is, and the Rust steps say Cargo.toml goes in app/ itself

* Tick R5.4's nested project line and add the folder mix-up it showed

* Every missing-project note names a project one folder down; only app/ is told its files belong there
2026-11-03 18:05:03 -07:00
BFlat 01c2634199 The Linux AppImage runs its CLI with --cli or through a link named craft-anything-cli (#725)
The Linux AppImage runs its bundled CLI with --cli as the first argument, or when started through a link named craft-anything-cli, so MCP clients can use it (fixes #723).
2026-11-04 08:01:20 +07:00
bflatastic c43d22502a Find Flatpak browsers on Linux and give sandboxed browsers a profile they can reach (#747) 2026-11-04 08:00:31 +07:00
ghzgod 447d1eb729 Add a model server by its address in the first run's AI step (#680)
The first run's AI step has the same "Add an AI by its address" form as Settings → AI, so a model server on another machine can be set up there.
2026-11-04 07:59:12 +07:00
R ! Y 4 Z 1126c4a8e4 Find Visual Studio C++ tools installed outside Program Files (#726)
Unreal's readiness check finds Visual Studio's C++ tools installed outside Program Files, from the Visual Studio Installer's instance records and a developer shell's VSINSTALLDIR, VCINSTALLDIR or VCToolsInstallDir (fixes #669).
2026-11-04 07:58:04 +07:00
Tanish Manku ec93bc20e6 A builder on a local model isn't told to call memory tools it isn't offered (#746)
* A builder on a local model isn't told to call memory tools it isn't offered

* Record the first live local builds and what stops them

* Keep R5.3's API-key live check open: the stop was seen on a local build
2026-11-03 17:28:39 -07:00
Tanish Manku f56362f015 Bring the roadmap up to date with #490, #536 and the blocked release push (#741) 2026-11-03 17:02:48 -07:00
Tanish Manku bb66fa576a The pictures UI test waits for the worker that checks their sizes (#743) 2026-11-03 16:59:48 -07:00
BFlat fb7ac863a3 Pick the coding agents' tab before testing Add another (#732)
Fixes main: the account folder test picks the coding agents' tab of what Detect found before pressing Add another, which #687 moved there.
2026-11-04 03:36:43 +07:00
kler d8915a5bbe Choose Claude Code's folder per AI, so each can use another account (#664)
Each Claude Code AI can have its own folder (CLAUDE_CONFIG_DIR) in Settings → AI or with craft-anything-cli ai folder, so each can use a different account; the sign-in check, runs and sessions use that folder.
2026-11-04 02:58:40 +07:00
Alex Joaquim Pereira 801f060368 Refuse pictures over 20 MB when they are added (#720)
A picture over 20 MB is refused when it is added (prompt box, drag and drop, Make's picker) with a message, and copy_pictures refuses the whole list before copying anything, instead of dropping it silently when the message is sent.
2026-11-04 02:13:10 +07:00
Firefly 5af8495354 Split what Detect found into provider and harness tabs (#687)
What Detect found sits under two tabs with counts, Providers (an API key or a local model server) and Harnesses (an installed coding agent), so more providers don't push the coding agents off the screen.
2026-11-04 02:02:53 +07:00
BFlat b9ca099903 More format parsers keep to their declared lengths and refuse impossible values (#722)
Replays #688 and #690–#715. DEX, Java, SQLite, Android, ZIP, ASAR, file system, PyInstaller, JSON config and packet parsers keep to their declared lengths and refuse impossible values.

Co-authored-by: Afloat <132809511+Afloat16@users.noreply.github.com>
2026-11-04 01:43:07 +07:00
Carlos Dourado f5d1f275a5 Keep agent answers within the conversation column (#719)
Each paragraph of an agent's answer is laid out as one width-limited text block, keeping bold, inline code and glossary underlines, so a long file link after a glossary term no longer pushes messages under the sidebar (fixes #523).
2026-11-04 01:08:23 +07:00
Aek 12b0c1e0ba Offer "Work on my project" on New project: pick your project's folder and edit its files in place (#686)
New project offers a third choice, "Work on my project": pick your project's folder, say what you want, and its files are edited in place (R2.9).
2026-11-04 00:51:02 +07:00
Firefly 5430c5a7c6 Offer the other model providers by name when their key is set (#684)
Moonshot, DeepSeek, xAI, Groq, Mistral, Together, Fireworks and DeepInfra are offered by name when their key is set, from one table of base URLs, key variables and default models.
2026-11-04 00:38:41 +07:00
BFlat 636b3ff3d7 Bound CPIO checksum work across firmware probes (#683)
CRC cpio checksum work shares one byte allowance across a firmware scan and stops when the scan is cancelled; checksum fields must be eight hex digits, and skipped verification is reported (R3.12). Replays #676.

Co-authored-by: Afloat <132809511+Afloat16@users.noreply.github.com>
2026-11-04 00:33:08 +07:00
Ryan Missel 87174476d9 Add Copilot CLI support and shared agent investigations (#455)
GitHub Copilot CLI can be a coding agent over ACP, with its models chosen through the shared agent model catalogue; options that could bypass the app's tool restrictions are refused, and agents share investigation findings safely.
2026-11-04 00:29:11 +07:00
Firefly c7caf7de15 Offer OpenCode Go as a backend, with its session header (#672)
OpenCode Go can be added as a backend: offered when OPENCODEGO_API_KEY (or OPENCODE_GO_API_KEY) is set, on its documented base URL, with a stable per-installation x-opencode-session header kept in the AI settings. Not run against the service.
2026-11-03 23:57:07 +07:00
BFlat b79fc506e2 Auto mode deletes inside projects whose path has capitals, and reads quoted paths with spaces whole (#682)
Auto mode's delete check compares paths as written and reads quoted or escaped paths with spaces as one argument, so it neither refuses deletes inside a project with capitals in its path nor lets a delete of the folder beside the project through. Replays #357.

Co-authored-by: samurai <samuraideng@gmail.com>
2026-11-03 23:24:57 +07:00
Afloat 5ac0e2b68d Preserve empty query pairs in older stand-in recordings (#673)
Older stand-in recordings keep their empty query pairs when current credential rules are reapplied, so replay matches the right page (follow-up to #648).
2026-11-03 23:16:53 +07:00
Afloat 75bf5a3f0d Handle generic GGUF paths and numeric task versions in chat discovery (#675)
Local chat discovery reads a generic GGUF file name by its model folder and treats task names with version numbers as specialised, so an embedding or reranking model isn't picked for chat (follow-up to #653).
2026-11-03 23:14:26 +07:00
Afloat 2122a619e9 Verify stand-in session cleanup by answerer lifetime (#677)
The stand-in session cleanup test checks that the answerer is released instead of reconnecting to a port another listener may reuse.
2026-11-03 23:14:18 +07:00
Firefly 9ff2b43de4 Point the snapshot's extractor at the Kimi backend that exists (#678)
The snapshot example's extractor names the Kimi K3.1 Pro backend that exists since #655.
2026-11-03 23:14:11 +07:00
Thân Minh Nghĩa 2e0d0813e0 Ignore switched-off screens and shared PCI ids when picking the Linux GPU (#671)
On Linux a switched-off screen (a closed laptop lid) no longer counts as the one the GPU drives, and PCI ids pick a card only when no other card shares them (follow-up to #659).
2026-11-03 22:54:25 +07:00
Afloat c7031174dc Exercise the unterminated DER OID guard (#674)
The unterminated DER OID regression test ends with 0x81, so it reaches the arc-completion guard instead of the non-minimal-encoding check (follow-up to #652).
2026-11-03 22:54:14 +07:00
Shaikh Fardin 4759d37ad2 Offer a Google AI Studio (Gemini) key in Settings and first run (#670)
A Google AI Studio (Gemini API) key is its own choice in Settings → AI and first run, through Gemini's OpenAI-compatible endpoint, read from GEMINI_API_KEY like the other providers (fixes #646).
2026-11-03 22:38:43 +07:00
Max Mittelstädt e1d962163b Ignore EOCD signatures inside ZIP comments (#660)
A ZIP's end-of-central-directory record is the one whose comment length reaches the end of the file, so a signature inside the comment can't hide the real entries; a file with bytes after its comment still opens.
2026-11-03 22:14:41 +07:00
Max Mittelstädt 2920a7c40f Restrict Claude Code tools and require approval for unknown tools (#637)
Claude Code chats get no built-in tools and builders an explicit list (commands, files, search, todos), so tools that message other sessions, publish or schedule work never start; in Auto mode a tool without an approval rule is refused (fixes #635).
2026-11-03 22:01:45 +07:00
BFlat f05f019691 Draw on the GPU that drives the screen on Linux, so laptops with two GPUs open fast and don't lag (#659)
On Linux the window is drawn on the GPU that drives the screen (the built-in panel's, or the only one with displays), so laptops with two GPUs open fast and don't lag; WGPU_ADAPTER_NAME and WGPU_POWER_PREF still decide (fixes #571). Replays #578.

Co-authored-by: Thân Minh Nghĩa <thanminhnghia3@gmail.com>
2026-11-03 21:57:08 +07:00
BFlat 0ea700d1e1 Add Korean, Czech and German UI catalogs (#662)
Replays #590, #647 and #482: Korean, Czech and German UI catalogs, each with the strings added since it was written.

Co-authored-by: 아야진 <ayajin@Mac-Studio.local>
Co-authored-by: Losminek <301412321+Losminek@users.noreply.github.com>
Co-authored-by: Ilor29 <hello@einzelstein-software.de>
2026-11-03 21:40:15 +07:00
BFlat 9fd46b818b Builder limits, OpenRouter tools, a software-renderer fallback, calmer spinners, lean local builders, lldb calls and LM Studio ports (#657)
Replays #576, #577, #581, #589, #624, #625 and #628. Builder steps stop after 25 failed builds in a row, OpenRouter tool requests ask for a provider that supports tools, a start that never opened a window draws in software next time, spinners stop redrawing every frame, local builders get a lean tool list, lldb call observation works and reports failures, and LM Studio is found on other ports.

Co-authored-by: Fábio Soares <fabiodev1123@gmail.com>
2026-11-03 21:16:34 +07:00