Skip to content

Revert serialised plugin installs once adapt-cli race condition is fixed #81

@taylortom

Description

@taylortom

Context

In #80 we switched installPlugins from Promise.all (concurrent) to a sequential for...of loop as a workaround for a race condition in adapt-cli where multiple concurrent CLI commands read/write adapt.json simultaneously.

The underlying adapt-cli bugs are tracked in adaptlearning/adapt-cli#232:

  • readValidateJSON silently swallows errors (returns undefined instead of re-throwing)
  • getManifestDependencies doesn't handle undefined manifest
  • project.add() has an unsafe read-modify-write cycle on adapt.json

Action

Once adaptlearning/adapt-cli#232 is resolved:

  1. Revert the for...of loop back to Promise.all in installPlugins to restore concurrent plugin installation performance
  2. Verify course imports with multiple plugins work correctly with concurrent installs

Why revert

Sequential installation is slower — each plugin waits for the previous one to complete. Concurrent installation is safe once the CLI properly handles concurrent file access.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions