Kinsta Sync 1.1.4
Fixes
- Concurrency guard: two near-simultaneous syncs for the same site could both start (a TOCTOU race on the "already running" check). The sync is now registered before the SSH pre-flight, in both pull and push.
- Push search-replace: the local site domain is now validated before it is interpolated into the remote
wp search-replacecommand. - Rollback safety: a failure while restoring
wp-config.phpcan no longer mask the original sync error that decides whether the local database is rolled back.
Under the hood
- Split the main process (
index.ts, ~2000 lines) into focused modules —types,constants,validators,rsync,kinstaApi,sync,localPaths,config— with no behavior change. - Removed the unreachable push code from the old sync drawer (now the pull-only
KinstaPullDrawer); push lives entirely in the full-screen preview screen. - Shared renderer helpers (environment labels, status colors, types) and de-duplicated the Kinsta icon.
Verified with 73 unit/integration tests, a clean build, and real pull + push against Kinsta staging.