feat: show every WordPress site, click-to-copy fields, noindex at create, Redis plugin prompt - #93
Merged
Merged
Conversation
…ate, Redis plugin prompt WORDPRESS UPDATES was fixed only halfway last release. Detection now finds imported sites, but the LIST still dropped any site whose scan found nothing — so "up to date" and "never scanned" both rendered as absent, and a site the operator knows they have simply was not there, with no way to tell whether that was good news or a broken sweep. Clean sites now appear with an "up to date" pill; the page already sorts by severity, so they settle at the bottom. CLICK-TO-COPY. The FTP connection details were one run-on sentence — `ftp://user@host · port 21 · lands in domain/htdocs` — which is exactly the shape you cannot paste from. They are now four fields (host, username, password, port), each copied by clicking it. The driver is generic (`data-copy="…"`), so anything else worth pasting can use it, and falls back to execCommand off a secure context: a panel reached by IP over http is precisely where someone is setting up their first site. NOINDEX AT CREATE. `no_index` already existed end to end — wp-cli flips `blog_public` — but was only ever set automatically for test nodes. It is now a checkbox on the create form, because a site under construction that Google indexes is a real problem and an annoying one to undo: the pages stay in the index long after the flag goes back. Test nodes keep forcing it regardless, so a throwaway staging copy cannot become indexable just because nobody ticked a box. REDIS OBJECT CACHE. Enabling Redis writes the WP_REDIS_* constants and changes nothing observable until the plugin exists — a gap the card described in prose and left the operator to act on. When Redis is on and the plugin is absent, the card now says so and offers to install and activate it. No new backend: the existing plugin-action already runs `wp plugin install redis-cache --activate`. CARE REPORT RECIPIENT. The card sells a periodic report but never showed where it would go. A package with a report and no owner e-mail is a promise the customer paid for and will never receive — every scheduled send skipped, silently. The card now names the address, or refuses in red when there is none. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WordPress updates — the other half
Correct, and my fault: v0.27.0 fixed detection (the sweep now finds imported sites) but the list still dropped any site whose scan found nothing. So "up to date" and "never scanned" both rendered as absent — a site the operator knows they have simply wasn't there, with no way to tell whether that was good news or a broken sweep.
Clean sites now appear with an
up to datepill. The page already sorts by severity, so they settle at the bottom.Click-to-copy connection details
The FTP details were one run-on sentence — the shape you cannot paste from. Now four fields (host, username, password, port), each copied by clicking.
The driver is generic (
data-copy="…") so anything else worth pasting can use it, and falls back toexecCommandoutside a secure context — a panel reached by IP over http is exactly where someone is setting up their first site.Noindex at creation
no_indexalready existed end to end (wp-cli flipsblog_public) but was only set automatically for test nodes. It's now a checkbox on the create form: a site under construction that Google indexes is a real problem and an annoying one to undo — the pages stay indexed long after the flag goes back. Test nodes keep forcing it, so a throwaway staging copy can't become indexable just because nobody ticked a box.Redis Object Cache prompt
Enabling Redis writes the
WP_REDIS_*constants and changes nothing observable until the plugin exists — a gap the card described in prose and left the operator to act on. When Redis is on and the plugin is absent, the card says so and offers to install + activate it. No new backend: the existing plugin action already runswp plugin install redis-cache --activate.Care report recipient
The card sells a periodic report but never showed where it would go. A package with a report and no owner e-mail is a promise the customer paid for and will never receive — every scheduled send skipped, silently. The card now names the address, or refuses in red when there is none.
Tests
cargo test --workspacegreen,cargo fmt --allclean.🤖 Generated with Claude Code