The update endpoint replaces a bucket's whole lifecycle policy, and the form
models only a one- or two-rule noncurrent-expiration policy, so saving a
bucket configured through the S3 or Storage API dropped the rest of it. Detect
a policy outside that shape, show it as read-only, and skip the write.
A rejected retention policy also reported itself as a failed bucket creation,
leaving the user to retry a name that now exists. Report it against the policy
instead, and close the modal on the bucket that was in fact created.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N3euXsz25sTybsGTcxCFfn