Self-Service Restore into new Instance #678

Merged
tobru merged 20 commits from feat/self-service-restore into main 2026-09-18 12:08:42 +00:00
Owner
No description provided.
tobru force-pushed feat/self-service-restore from 5d08a312cf
All checks were successful
Tests / test (push) Successful in 1m28s
to 557f16f158
All checks were successful
Tests / test (push) Successful in 1m30s
2026-09-18 11:43:11 +00:00
Compare
fix(restore): show restore where it is still actionable
All checks were successful
Tests / test (push) Successful in 1m39s
61298e0fd8
The Backup Summary card offered a Restore button even when the restore
source held no backups: enabled with a warning in point-in-time mode,
disabled in snapshot mode. Neither reads as "there is nothing to restore
from yet" - which the card already says, two lines above. Hide the block
instead, and keep the disabled-with-a-reason button for the cases a user
can do something about, the member's "ask an organization admin" included.

Deciding that from `get_restore_availability` would have hidden it from
members too: that function reports no backups for every refusal, a
permission refusal among them. `mark_restore_sources` already walks the
groups the rule selects, so it answers the question instead.

Once the source instance is gone the cutover is over, and the "Restored
from" card is advice nobody can still act on. Demote it to Metadata, next
to Created At - the same kind of fact - and drop the next steps with it.
Metadata is server-rendered from the database, so provenance survives a
control plane the Backups accordion could not reach.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
tobru changed title from WIP: Self-Service Restore into new Instance to Self-Service Restore into new Instance 2026-09-18 12:08:23 +00:00
tobru merged commit b590d9d11c into main 2026-09-18 12:08:42 +00:00
tobru deleted branch feat/self-service-restore 2026-09-18 12:08:42 +00:00
Sign in to join this conversation.
No description provided.