Repository navigation
Templetry Desktop v1.7.0
This release closes the gap between what the engine had shipped and what the app actually exposed. An audit of the desktop against engine v1.9.0 found six divergences; all six are fixed here.
Cloud works on every signed-in forge
The listing already merged GitLab and Gitea accounts — but everything you could do with a row still called the GitHub API. Opening a repository's preview or a doc returned a 404, and Clone demanded a GitHub session. A repository you can see and not touch is worse than one that is not listed.
Previews now dispatch on the row's account: project metadata, language shares, branches, pipelines and the docs tree, each degrading on its own the way the GitHub path always did. Cloning authenticates as the account the repository came from, so private repos on any forge clone. The template chip covers other forges too — they have no comparable content search, so trees are read per repository, concurrently and capped.
Templates from any forge
The desktop was the last consumer hardwired to GitHub for reading templates: it ignored the catalog's source field, so a catalog hosting forms on GitLab or Gitea worked from the CLI and not from the app. ADR-0015's read axis was half shipped. It now resolves the source scheme exactly as the CLI and the MCP server do, and passes a token — private templates were failing even on GitHub while the app held a valid one.
The fetch also moved out from under the app's mutex, where it used to freeze everything else for the length of a download.
Common pieces
On engine v1.9.0, which compiled unchanged. The pieces panel only ever saw what a project's own form ships, so the shared catalog's pieces were adoptable from the CLI and invisible here. A common piece now records its own repository in the answers file, so update fetches a fix from where it was made — recording the form's source there would have quietly broken the update cycle.
Drift covers pieces
Local checked the template's anchor and nothing else. Each applied piece has its own, so a fix released in a common piece was invisible even though the update preview would have found it. An unreachable source no longer counts as drift, so being offline decides nothing.
Verify a build, without installing anything
Verify was the one engine verb with no binding. Build gains Verify build: your inputs render to a temporary directory and compile inside the manifest's container (ADR-0004), log streaming as it goes. Needs Docker; nothing is installed on your machine and nothing is written to your folders.
Feature constraints are visible
Features declaring requires or conflicts now say so, and the actions stay blocked. Nothing is auto-fixed on purpose: the engine refuses these combinations rather than guessing which side you meant, and the app should not guess where the engine would not.
Also
Pushing to a repository on a non-GitHub forge blanked its credentials and fell back to your own git helper — a silent failure. Push now authenticates as the account that created the repository, with the credential username each forge actually wants.
Known limitation: the GitLab and Gitea API calls are written against their published APIs and verified by build and tests, not exercised against live servers. If something misbehaves on a self-hosted instance, that is the first place to look — open an issue.
Windows SmartScreen still warns on the installer: these builds are not code-signed. Choose More info → Run anyway, or use the portable exe.