Skip to content

[Feature] Move message-tags, echo-message, away-notify, multi-prefix and batch onto the capability SPI #101

Closed

Description

@codegeek

Summary

Second of four PRs for #98 (design: specs/014-capability-plugin-spi/). Moves the remaining capabilities onto the SPI from #100 and removes their branches from core.

Scope

Migrate one capability at a time, tests green after each step, in this order:

  1. message-tags, including inbound client-tag handling and TAGMSG (CapabilityTagRenderer, TagmsgCommandHandler)
  2. echo-message (sender fan-out, via MessageDelivery extracted from MessageCommandHandler)
  3. away-notify (AWAY fan-out)
  4. multi-prefix (Channel, ChannelRegistry, JoinCommandHandler, WhoCommandHandler)
  5. batch (SessionWriter.enqueueBatch becomes output groups)

Then remove contributeTags and includeSenderInFanOut, and document the migration path for the public API change.

Acceptance

  • Each capability module contains its behaviour; core has no capability-specific branches besides CAP negotiation.
  • Removing a capability module from the classpath removes the capability and its behaviour.
  • Existing integration tests pass unchanged, and an irctest run shows no regressions.

Part of #98. Depends on #100.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions