Skip to content

SiteHelm 0.13.0 — a file on your own computer can reach the site

Choose a tag to compare

@Mrshahidali420 Mrshahidali420 released this 05 Sep 18:52
· 28 commits to main since this release
16b1802

Twenty merged changes. The one that shapes the release: an agent could only ever hand the site things the site could already reach. A plugin, a theme or an image sitting on your own computer had no route in, and the answer was always "upload it yourself first, then tell me where it is."

A file on your own computer can now reach the site

The agent asks the site for a one-time upload ticket, sends the bytes straight to it, and hands the operation the reference it gets back. The ticket is good for one upload, for a short window, and for the size and type it was issued against. Nothing is base64'd through the conversation, and no address on your machine is ever fetched by the site.

That covers what you would otherwise have done through Media → Add New, and it covers the two installs below.

Plugins and themes can be installed from a zip

Installing used to mean WordPress.org, by slug, only. A client's own theme, a premium plugin, anything not in the directory — none of it could be handed over. It can now be installed from a zip the site already holds in its media library, or one sent up with an upload ticket. Installed things are still stored switched off; turning one on stays a separate, deliberate call.

A theme's own files can also be read before anything replaces them, so "what does this theme currently do" is answerable without FTP.

Why a page looks wrong, without opening a browser

SiteHelm could show you what a page rendered, but not why it renders that way. content-style-check takes a page, a selector and a screen width, reads the stylesheets that page actually loads, and reports which rules apply at that width and which one wins. If a menu button is still showing on a phone, this says whether the rule you wrote reaches it.

Things that used to be refused

  • Custom fields could not be written at all, and could not hold a number or a yes/no value. Both fixed.
  • Content types with no public face could not be listed, and now can.
  • Menus had to already exist before any menu operation would work. Menus can now be created.
  • The site icon and the site logo can be set — two of the first things any new site needs.
  • Content can be put in a chosen order, and a page can be given its address, its parent and its template.
  • content-list accepts private and any as a status.

Things that used to be wrong

  • A dormant SEO plugin — installed, active, and configured for nothing — was reported as healthy. It is now a caveat.
  • "This is not available" covered three different problems: a plugin the site has not installed, a feature with no Pro licence, and a service outside the site that did not answer. Only the last one fixes itself, and they now read as three different refusals.
  • The plugin list reported a plugin still parked behind its own setup wizard as perfectly healthy. There is now an onboarding column, which says "unknown" rather than guessing.
  • Redirect reads and writes now show what another plugin is holding for the same path, so a site running two redirect plugins can see the collision instead of finding it in production.
  • A write that failed for an unforeseen reason said the details were logged on the server, and wrote them to a file most shared hosts never hand over. The failure is now recorded on that write's own entry in SiteHelm → Activity.
  • "By SiteHelm" links to the website, "View details" answers about this plugin, and the activity log names the app that made each change and names plugins and themes rather than their file paths.

In Pro

Snippets can live in WPCode or Code Snippets if the site already runs one, plugins and themes can be deleted, a plugin's own setup wizard can be answered, and the redirections listing shows both plugins' rules.

Pro users: update this plugin before updating the add-on. Pro 0.10.0 requires 0.13.0.


109 free operations, 51 in Pro, 160 in total across twelve modules. The full list is in docs/OPERATIONS.md; the complete changelog is in CHANGELOG.md.