-
Notifications
You must be signed in to change notification settings - Fork 36
[7095] Rename dialog offers the ability to edit a broken reference but will not allow the user to open the content form #4792
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
…part of current dependant list
WalkthroughTwo dialog components (RenameAssetDialog and RenameContentDialog) now subscribe to a host-to-host event bus, filter for content-related events matching dependency paths, and re-fetch dependant items on matches using a refs-based tracker to avoid stale closures. Changes
Sequence Diagram(s)sequenceDiagram
participant UserComponent as RenameDialogComponent
participant H2H as HostToHostBus
participant Fetch as fetchDependant
participant EventSource as ExternalContentChange
EventSource->>H2H: emit contentEvent(targetPath)
H2H->>UserComponent: deliver filtered contentEvent
UserComponent->>UserComponent: check event.targetPath vs refs.dependantItems
alt match found
UserComponent->>Fetch: invoke fetchDependant()
Fetch-->>UserComponent: updated dependantItems
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@ui/app/src/components/RenameContentDialog/RenameContentDialog.tsx`:
- Around line 70-89: The filter in the subscription uses
refs.current.dependantItems.some(...) which can be null before fetchDependant
resolves and will throw; update the predicate inside the getHostToHostBus()
subscription (the filter that compares e.type === contentEvent.type) to safely
handle null by using optional chaining or nullish coalescing, e.g. replace
refs.current.dependantItems.some(...) with
refs.current.dependantItems?.some(...) ?? false so the check returns false when
dependantItems is null (alternatively, initialize dependantItems to [] where
it's declared if that semantic change is acceptable).
craftercms/craftercms#7095
Summary by CodeRabbit