Skip to content

Manage site asset lifecycle and quick link previews - #67

Merged
naaiyy merged 5 commits into
mainfrom
agent/fix-quick-link-image-preview
Aug 14, 2026
Merged

Manage site asset lifecycle and quick link previews#67
naaiyy merged 5 commits into
mainfrom
agent/fix-quick-link-image-preview

Conversation

@naaiyy

@naaiyy naaiyy commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • Fix quick-link image previews in the editor dialog.
  • Store site logos and favicons by managed file ID, with no persisted storage URLs.
  • Add pending, attached, retired, and deleting states for site assets.
  • Attach quick-link images only when page content saves; discard pending images on Cancel, Remove, or Replace.
  • Prevent a late upload from reopening a closed dialog or retaining an abandoned image.
  • Keep assets while a draft or release references them, then purge eligible objects from Railway through a scheduled, retryable job.
  • Recover interrupted object deletions through a 15-minute claim lease and idempotent S3 deletion.
  • Add independent saving states for logo and favicon uploads and rename the site-name action to Save name.
  • Centralize managed-file paths and share the Convex S3 storage adapter between ingestion and deletion.

Why

Completed uploads were durable before their owning form or document saved. This left canceled quick-link uploads and replaced brand images in object storage. Favicons also stored raw URLs, so the backend could not manage their lifecycle.

Data migration

The development and production Convex deployments were migrated before the legacy schema fields were removed. Existing favicon URLs were converted to file IDs, release snapshots were updated, and 209 existing site-asset rows were classified from their current draft and release references. Six expired development objects were physically removed.

Post-migration audits report zero legacy assets and zero reference-state anomalies in both environments. Development has 89 referenced attached assets and three active pending uploads. Production has 110 referenced attached assets and one active pending upload. Neither environment has an object due for deletion.

Validation

  • bun test — 233 tests passed
  • bun run lint
  • bun run check-types
  • bun run build
  • bunx biome check .
  • Convex schema validation and deployment in development and production
  • Convex lifecycle audit in development and production
  • Railway bucket inspection and real object-deletion verification
  • Review checks for interrupted purge recovery and in-flight upload cancellation

The deployed preview, migrations, storage deletion, and all CI checks are complete.

@vercel

vercel Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
base-blocks Ready Ready Preview Aug 14, 2026 4:28pm

Request Review

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 5faba63.

@naaiyy naaiyy changed the title Fix quick link image previews Manage site asset lifecycle and quick link previews Aug 14, 2026
@naaiyy
naaiyy marked this pull request as ready for review August 14, 2026 16:30
@naaiyy
naaiyy merged commit 0fe109d into main Aug 14, 2026
9 checks passed
@naaiyy
naaiyy deleted the agent/fix-quick-link-image-preview branch August 14, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant