spinuptui 0.19.1 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +70 -1
- package/README.md +124 -578
- package/package.json +1 -1
- package/src/dev/fixtures.ts +494 -5
- package/src/lib/serverClone.ts +26 -4
- package/src/lib/stack.ts +23 -0
- package/src/lib/wpCli.ts +30 -0
- package/src/lib/wpInventory.ts +7 -3
- package/src/ui/store.tsx +8 -11
- package/src/ui/views/CloneWizard.tsx +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,73 @@ versions; such changes are called out here.
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.20.1] - 2026-07-08
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- **README rewritten for readability.** It had grown to 857 lines of dense,
|
|
18
|
+
multi-paragraph feature bullets — hard to skim for someone landing on the
|
|
19
|
+
repo. Added a screenshot gallery (real Dev Mode captures of all five main
|
|
20
|
+
tabs), condensed the Features list to one-liners, and moved all 13 deep-dive
|
|
21
|
+
"how it works" sections into their own pages under `docs/` (linked from the
|
|
22
|
+
README's short pointer paragraphs). No content was removed, only relocated;
|
|
23
|
+
`RELEASING.md`'s "Keep the README current" checklist is updated to match the
|
|
24
|
+
new house style.
|
|
25
|
+
- **Dev Mode's example fleet scaled up** from 4 servers / 6 sites to 12
|
|
26
|
+
servers / ~80 sites / 19 events, generated deterministically (same fleet
|
|
27
|
+
every run) with a realistic spread of EOL Ubuntu/PHP, Standard WP/Bedrock/
|
|
28
|
+
non-WP sites, disabled HTTPS, and missing backups — mainly so the new
|
|
29
|
+
screenshots (and any future ones) show a fleet worth looking at.
|
|
30
|
+
|
|
31
|
+
## [0.20.0] - 2026-07-08
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- **The clone wizard's existing-server picker now shows each server's current
|
|
35
|
+
site count.** Picking a destination previously showed only provider/region/
|
|
36
|
+
IP — no sense of how busy a candidate already is. Each row now leads with
|
|
37
|
+
`N site(s)`.
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
- **The clone wizard no longer routes git-deployed non-WordPress sites through
|
|
41
|
+
a Bedrock pull.** `cloneStackFor` trusted `git.repo` alone as "this is
|
|
42
|
+
Bedrock" — true often enough (`is_wordpress` is unreliable for git sites),
|
|
43
|
+
but a git-deployed **static** site (confirmed live: a client's static site,
|
|
44
|
+
repo literally named `*-static-site`) would be routed through
|
|
45
|
+
`composer install`/wp-cli anyway, which it can't survive. A conclusive
|
|
46
|
+
non-WordPress probe (`whmcs`/`laravel`/`static`) now overrides `git.repo`;
|
|
47
|
+
a probe saying `bedrock`/`wordpress`, or no probe at all, still trusts it
|
|
48
|
+
(same "probe the site (`d`) before cloning" caveat as the sibling fix
|
|
49
|
+
above).
|
|
50
|
+
- **The clone wizard no longer silently skips the database for API-mislabeled
|
|
51
|
+
WordPress sites.** Its stack picker read `is_wordpress` straight from the
|
|
52
|
+
API, unlike every other view (Stacks, Browser), which corrects that flag
|
|
53
|
+
against a `d` probe result. A site the API wrongly reports as non-WordPress
|
|
54
|
+
(confirmed live against two real client sites) would default to a
|
|
55
|
+
files-only pull — filesystem copied, database never touched, so the
|
|
56
|
+
"clone" wasn't a working WordPress site. The wizard now consults the same
|
|
57
|
+
probe-corrected classification: **probe the site (`d`) before cloning** so
|
|
58
|
+
the wizard picks it up as WordPress.
|
|
59
|
+
- **wp-cli reads now use the site's own configured PHP version, not the
|
|
60
|
+
server's system default.** wp-cli's installed binary shebangs
|
|
61
|
+
`#!/usr/bin/env php`, which resolves through `PATH` to whichever PHP a
|
|
62
|
+
server's `update-alternatives` currently calls default — independent of
|
|
63
|
+
any individual site's configured version, and it can be missing extensions
|
|
64
|
+
that version's CLI never got configured with. Confirmed live: a site
|
|
65
|
+
configured for PHP 8.1 silently ran its wp-cli reads under the server's
|
|
66
|
+
default 8.4, whose CLI was missing `mysqli` — every WordPress-content read
|
|
67
|
+
(posts, pages, users, active plugins, site/home URL) failed silently,
|
|
68
|
+
while file-only or native-MySQL-client commands (`core version`, `db
|
|
69
|
+
export`/`import`/`check`) were unaffected. This broke the clone wizard's
|
|
70
|
+
**Verify** step (`v`) and the **installed plugins & themes** view (`p`) for
|
|
71
|
+
any site whose configured PHP differs from the server's system default —
|
|
72
|
+
both now pin wp-cli to the site's own PHP-CLI binary, falling back to the
|
|
73
|
+
system default only if that specific version isn't installed.
|
|
74
|
+
- **Verify now tells the difference between "the clone actually differs" and
|
|
75
|
+
"wp-cli couldn't read one side's database."** If `core version` succeeds
|
|
76
|
+
(a file read, no DB) but every database-backed fact comes back empty, that's
|
|
77
|
+
the missing-extension failure above, not a real content difference — Verify
|
|
78
|
+
now reports it plainly instead of a wall of misleading ✕ rows implying data
|
|
79
|
+
loss.
|
|
80
|
+
|
|
14
81
|
## [0.19.1] - 2026-07-08
|
|
15
82
|
|
|
16
83
|
### Fixed
|
|
@@ -929,7 +996,9 @@ Initial tagged release.
|
|
|
929
996
|
### Notes
|
|
930
997
|
- Read-only release: works with a SpinupWP **Read Only** API token.
|
|
931
998
|
|
|
932
|
-
[Unreleased]: https://github.com/mwender/spinupwp-tui/compare/v0.
|
|
999
|
+
[Unreleased]: https://github.com/mwender/spinupwp-tui/compare/v0.20.1...HEAD
|
|
1000
|
+
[0.20.1]: https://github.com/mwender/spinupwp-tui/compare/v0.20.0...v0.20.1
|
|
1001
|
+
[0.20.0]: https://github.com/mwender/spinupwp-tui/compare/v0.19.1...v0.20.0
|
|
933
1002
|
[0.19.1]: https://github.com/mwender/spinupwp-tui/compare/v0.19.0...v0.19.1
|
|
934
1003
|
[0.19.0]: https://github.com/mwender/spinupwp-tui/compare/v0.18.0...v0.19.0
|
|
935
1004
|
[0.18.0]: https://github.com/mwender/spinupwp-tui/compare/v0.17.0...v0.18.0
|