Skip to content

Feat/mqtt events integration#323

Open
deaflynx wants to merge 20 commits into
develop/2.4from
feat/mqtt-events-integration
Open

Feat/mqtt events integration#323
deaflynx wants to merge 20 commits into
develop/2.4from
feat/mqtt-events-integration

Conversation

@deaflynx

Copy link
Copy Markdown
Contributor

Pull Request description

Put your PR description here instead of this sentence.

General checklist

  • You have reviewed the guidelines document.
  • Labels that classify your pull request have been added.
  • The milestone is specified and corresponds to fix version.
  • Description references specific issue.
  • Description contains human-readable scope of changes.
  • Description contains brief notes about what needs to be added to the documentation.
  • No merge conflicts, commented blocks of code, code formatting issues.
  • Changes are backward compatible or upgrade script is provided.

Front-End feature checklist

  • Screenshots with affected component(s) are added. The best option is to provide 2 screens: before and after changes;
  • If you change the widget or other API, ensure it is backward-compatible or upgrade script is present.

Back-End feature checklist

  • Added corresponding unit and/or integration test(s). Provide written explanation in the PR description if you have failed to add tests.
  • If new dependency was added: the dependency tree is checked for conflicts.

deaflynx added 20 commits June 11, 2026 15:51
… edit form

- Move lifecycleEventTypes from the page root form into each integration
  config form group (kafka/mqtt/http), as a sibling of topicFilters; render
  it as a security-setting card directly below the Topic filters card
- Drop the topicFilters-style control when isNew so the wizard's dedicated
  lifecycle step stays authoritative
- markForCheck() in the lifecycle component's writeValue/setDisabledState so
  OnPush reflects persisted event types when editing an existing integration
- Show the "no selection has no effect" hint only in the wizard via a new
  showNoSelectionHint input
- Convert maxStep getter to a readonly field (eslint class-literal-property-style)
Replace the checkbox list with a Material multi-select dropdown, following
the project's reactive-CVA idiom (internal UntypedFormControl + valueChanges)
so OnPush change detection is no longer needed. Add the "Event types" label
key for the select.
Publish a lifecycle event when a client unsubscribes, mirroring the
CLIENT_SUBSCRIBED flow:
- new ClientLifecycleEventType.CLIENT_UNSUBSCRIBED enum value
- ClientLifecycleEventMsgProto gains a repeated topicFilters field (unsubscribe
  carries plain topic filters, no QoS)
- IntegrationLifecycleEventPublisher.publishUnsubscribed, fired from
  MqttUnsubscribeHandler after the UNSUBACK is flushed
- AbstractIntegration emits a "topicFilters" array for the unsubscribe body
- UI: add the event type to the model enum, lifecycle multi-select and i18n
…igger

Use a custom mat-select-trigger with a mat-chip-set so selected event types
wrap to multiple rows and the form field grows in height instead of
truncating the comma-joined value with an ellipsis.
@deaflynx deaflynx added this to the 2.4.0 milestone Jun 11, 2026
@deaflynx deaflynx added Enhancement New feature or request WIP Work in progress labels Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant