Skip to content

Fix: Resolve circular dependency deadlock with content module#93

Merged
taylortom merged 2 commits into
masterfrom
fix/circular-dependency-deadlock
Mar 27, 2026
Merged

Fix: Resolve circular dependency deadlock with content module#93
taylortom merged 2 commits into
masterfrom
fix/circular-dependency-deadlock

Conversation

@taylortom
Copy link
Copy Markdown
Contributor

Summary

  • v1.6.0 introduced await this.app.waitForModule('content') in init(), but the content module also awaits contentplugin during its init, creating a circular deadlock where neither module can signal ready
  • Replaced the await with .then() so the preInsertHook tap happens asynchronously after content is ready, allowing contentplugin to complete init and break the cycle

Test plan

  • Verify app starts without DEP_TIMEOUT for adapt-authoring-content
  • Verify content plugin default plugins are still added on content insert
  • Verify plugin sync works after framework install/update

🤖 Generated with Claude Code

taylortom and others added 2 commits March 27, 2026 16:42
contentplugin.init() awaited the content module, but content.init()
also awaits contentplugin, causing both modules to deadlock and
timeout. Use .then() for the content hook tap so contentplugin can
signal ready without waiting for content.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removed duplicate tap calls for postInstallHook and postUpdateHook.
@taylortom taylortom merged commit 7e3f465 into master Mar 27, 2026
2 checks passed
@taylortom taylortom deleted the fix/circular-dependency-deadlock branch March 27, 2026 17:09
github-actions Bot pushed a commit that referenced this pull request Mar 27, 2026
## [1.6.1](v1.6.0...v1.6.1) (2026-03-27)

### Fix

* Resolve circular dependency deadlock with content module (#93) ([7e3f465](7e3f465)), closes [#93](#93)
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.6.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant