Wuniq is growing into KaKeKiKoKu. You may see both names during the transition. Read why →

Checking my work

Studio 1.21: repeatable checks, useful evidence when something goes wrong, and a navigation tree that lets you keep your place.

Precisely fitted metal and glass blocks on an inspection bench, with light revealing their aligned edges and carefully finished surfaces.

Some bugs made it into published versions. Trying a fix on my computer told me that particular case worked, but it did not always tell me what I had broken somewhere else. That is the starting point for Studio 1.21.

I have added a sequence of functional checks I can repeat before publishing. You can run the same checks on your installation, without connecting an AI. I wanted the result to be useful to both of us: something repeatable for me, and something you can send when a problem only appears on your computer.

Checking what actually happened

The check creates its own disposable projects and goes through real operations: the MCP connection, local HTTP, and, on Windows, gestures in the browser interface. It examines the replies and the files left on disk. An apparently successful button click is not enough if the change was never saved.

That distinction already paid off. The Web tests found that removing a context whose file had disappeared could finish without actually removing it. The interface was sending the request to an operation that protects contexts belonging to existing resources. It now uses the specific cleanup operation, with its protections intact, and a check verifies both the saved state and the tree.

Other checks caught problems when projects opened or closed while another Studio tab was connected. Those transitions could discard a component while it was still waiting for the browser, leaving a broken tab. The affected components now handle that transition, and the test run also watches for unhandled application errors.

Windows and Linux have different filesystem and packaging behaviour, so they need their own validation. The installed Linux Snap runs the MCP/HTTP and support checks without a browser; its report explicitly says the Web is not included. A successful result confirms what ran in that environment. You may still find a bug the checks do not cover.

If something goes wrong on your computer

You will find Check that it works in Help and on the welcome screen. The Linux Snap also has a terminal entry. Opening the results page does not start a test.

This is optional. You do not need to run it to use Studio, and it is not routine maintenance. I am making the checks available for transparency, and for the times when you want to investigate a problem.

Before starting, Studio explains where it will create the test data and which open projects it will temporarily close. Save your work first: the process can take tens of minutes, and your AI connections and other Studio tabs are paused while it runs. An unsaved draft prevents it from starting. At the end, your projects are opened again.

The results page shows the progress and explains the outcome. A check that does not apply to that run is identified separately and does not count as passed. Cancellation, an interruption and an incomplete run are different results from a full pass. If Studio stops unexpectedly, it keeps recovery information and asks before reopening the projects still waiting to be returned.

If a problem is detected, you can ask Studio to save a ZIP for support. It contains the summary, log, limited technical diagnostics and artificial test data, without the contents of your projects. Saving it does not send it. If you decide to report the error, attach it to an email and explain what you were trying to do, what you expected and what happened. There is no need to interpret the technical details yourself.

The manual explains the check and its results, including the Linux terminal command and what is kept after a run. You can still report a problem you have observed even when the check passes.

The tree keeps your place

There was also an irritating gesture left over from the way navigation used to work. Moving the pointer over a block or relation in the central panel highlighted its row in the tree, but could also scroll the tree to it. If you were looking at another part of the tree, you lost your place. Simply crossing the editor could produce several jumps.

Pointing now only highlights the reference. The tree reveals it when you click to edit the block or consult the relation, and leaves it marked as the selection. If that row is out of view, a notice at the edge names it and lets you bring it back.

The selection also follows a renamed block and disappears when the block is deleted. With its drawer closed, the resource row carries the marker. Reopening the editor or clicking the same relation again can bring its row back into view; incoming and outgoing relations follow the same rule.

A selected relation is now as clearly marked as a selected section, while retaining the italic text that distinguishes it. Escape closes the consult area even if focus has moved outside it, while respecting an editor that is still open.

A little less unnecessary work

This version also includes the resource-cache and welcome-background adjustments that were kept out of 1.20. Static resources have a five-minute cache lifetime, and the welcome animation does less work, pauses when the tab is hidden and respects reduced-motion settings. The welcome screen keeps its appearance and interaction; I am not attaching a performance figure that I have not measured.

The aim of this release is to catch more regressions before publishing and make the next report from another computer easier to investigate. If something does slip through, having the steps and the evidence gives us a much better place to start.