Skip to content

2.4.0: external Y.Doc/provider rejected as v1 API by the v2 constructor — no public collab config where save() can resolve (with #3876) #3877

Description

@buroa

Summary

In superdoc@2.4.0, supplying an external Y.Doc + provider pair (the externally-typed collaboration surface) is rejected fail-closed by the v2 constructor before any editor becomes ready, with collaboration-v1-config-unsupported:

SuperDoc v2 cannot use modules.collaboration because it is the SuperDoc v1
collaboration API. SuperDoc did not attach the provider or change the document.
Configure Document.v2Collaboration with a v2 room instead.

Combined with #3876 (on the v2 path, save() never resolves because shell documents never receive a Y.Doc), this means 2.4.0 has no public collaboration configuration in which await superdoc.save() can complete:

The package still ships the external-provider types, and the bundle retains the external attachment path (dist/superdoc.es.js:43491-43503 is the only site that assigns a Y.Doc to shell documents), but the public constructor refuses the only configuration surface that supplies the pair.

Reproduction

  1. Construct SuperDoc with an external HocuspocusProvider + Y.Doc passed through the document entry and modules.collaboration, pointed at a self-hosted Hocuspocus server.
  2. The constructor fails closed with collaboration-v1-config-unsupported before the first editor is ready; the provider is never attached.

Questions

  1. What is the supported configuration for self-hosted collaboration in 2.x where save() can resolve — is there a v2-compatible way to supply or reach the document's Y.Doc?
  2. If external collaboration is intentionally retired for 2.x, could the constructor error and the retained external types/documentation be reconciled, and v2 collaboration: SuperDoc.save() never resolves — shell documents get no Y.Doc on the v2 path (2.4.0) #3876 be treated as the remaining blocker for self-hosted v2?

Environment

  • superdoc@2.4.0 (npm latest at time of filing)
  • Self-hosted Hocuspocus server, Chromium via Playwright harness

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