Handle broken plugin detail posters#3943
Conversation
lefarcen
left a comment
There was a problem hiding this comment.
Hi @YUHAO-corn! 👋 The posterLoadFailed state + reset effect approach is clean — catching the error at the img level and reusing the existing unavailable/glyph fallback path is exactly right. Pairing that with regression tests for image posters, recovered URLs, and audio poster fallback is a solid coverage shape.
Two quick template items before pool review picks this up:
- Surface area: could you add a
## Surface areasection and tick UI (this touches the plugin detail stage visually)? The checklist helps reviewers scope the change quickly. - Validation: a brief
## Validationsection covering what you ran locally would help — e.g. the vitest command you used, and whether you verified the fallback in browser with a broken URL.
Once those are in, the PR should be in great shape. ✨
💡 To drive this PR to merge hands-free, paste this to your AI coding agent (Claude Code / Codex / opencode / Cursor …):
Take over nexu-io/open-design#3943 until it merges — read https://raw.githubusercontent.com/nexu-io/looper/main/skills/pr-takeover/SKILL.md and follow it.
nettee
left a comment
There was a problem hiding this comment.
@YUHAO-corn I reviewed the changed ranges in PluginMediaDetail and the new regression coverage. The poster error state resets correctly when the record or poster URL changes, and the fallback behavior for broken image and audio posters matches the broken-preview symptom described in #3894 without regressing the rest of the detail view. Nice fix, and the focused regression cases make this path much easier to trust.
|
Hi @YUHAO-corn! This PR looks quiet for a bit, so I'm checking in to make sure it doesn't get stuck. If you are waiting on review, feedback, or a specific unblock from the team, feel free to say so here. If faster coordination helps, you can also drop into our contributors channel in Discord: We want to help move this forward instead of letting it stall. |
|
Quick status note for @YUHAO-corn: this PR isn't stale — nettee reviewed and approved it, and all CI checks are green. It's sitting clean and waiting for a maintainer to merge. Nothing is stuck on your end. 🙌 |
|
@YUHAO-corn friendly reminder: this PR has been waiting on an author response for more than 3 days after reviewer or maintainer feedback. When you have a chance, please reply here or push an update. To keep the queue manageable, PRs with no author activity for more than 5 days after feedback may be closed automatically, but they can be reopened when work resumes. |
|
🧪 This PR has changes that need manual validation, so it needs a QA pass by @AmyShang-alt before merge — please hold off self-merging; we’ve queued design + QA review now and will update here once that pass is done. |
|
Hey @YUHAO-corn — thanks for the fix. The code path and tests make the fallback logic clear, but since this PR changes a visible plugin detail UI state, could you please add screenshots to the PR body? In particular, it would help to see:
Without screenshots, the logic is reviewable from the diff/tests, but the final UI layout and fallback appearance are hard to validate. Thanks! 🙌 |
|
Closing this PR for now because it has been waiting on an author response for more than 5 days after reviewer or maintainer feedback. This is only a queue-management step, not a rejection of the work. If you would like to continue, please leave a comment or push an update and reopen the PR when ready. |
















































Summary
Fixes #3894
Surface area
Validation
git diff --checkNote: the focused Vitest command could not run locally in this fresh worktree because node_modules is not installed; relying on CI for the full test run.