Skip to content

Document DaprApp.++ semantics (no dedup; collisions surface at validation) #30

Description

@sideeffffect

Severity: low · Category: DX / docs

Evidence

  • src/DaprApp.scala:40-48++ is field-wise List ++ List with no dedup/normalisation.
  • validateOrThrow (:66) is invoked only by Dapr.serve (src/Dapr.scala:184), not by ++.

Problem
Composing two modules that both register e.g. InvocationMethodName("get") produces a DaprApp that looks fine until serve throws DaprAppValidationException. The ++ doc doesn't warn that collisions surface later.

Suggested fix
Add to ++'s scaladoc: "Concatenates field-wise preserving order; does not deduplicate — name/route collisions between the two apps are reported by validationErrors/validateOrThrow (and by serve at startup)." Optionally expose a documented DaprApp.empty identity for folding module lists.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationlowLow importance

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions