-
Notifications
You must be signed in to change notification settings - Fork 86
feat(integration): deliver client lifecycle events to integrations #323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
104 commits
Select commit
Hold shift + click to select a range
7b98449
feat: add lifecycle event protos for integration fan-out and internod…
deaflynx 9508195
refactor: migrate IE queue layer from PublishIntegrationMsgProto to T…
deaflynx d8fcb5c
refactor: wrap published IE messages in TbIeMsgProto oneof wrapper
deaflynx 5a99e1f
feat: add ClientLifecycleEventType enum
deaflynx 6033f53
feat: add IntegrationLifecycleEventTypeCache for per-node event type …
deaflynx b1b31bb
feat: propagate integration lifecycle event config via internode noti…
deaflynx ef7d192
feat: broadcast lifecycle event config internode on integration save/…
deaflynx c66bfd8
feat: populate integration lifecycle event type cache at broker startup
deaflynx ae1ea05
feat: publish integration lifecycle events on connect, disconnect, su…
deaflynx 8c04bad
feat: dispatch lifecycle event messages in integration executor
deaflynx d6600a7
feat: add ClientLifecycleEventType model and IntegrationLifecycleEven…
deaflynx b5d9742
feat: add i18n keys for integration lifecycle events
deaflynx 64c5643
feat: add lifecycle events step to integration wizard
deaflynx 8712cb4
feat: add lifecycle events control to integration edit view
deaflynx d1eca8d
fix: resolve lint errors in lifecycle events components
deaflynx 9cbe761
fix: guard against unknown lifecycle event types in internode notific…
deaflynx 72b3fee
fix: relocate integration lifecycle events into config card and patch…
deaflynx 97a6461
refactor: use mat-select multiple for integration lifecycle event types
deaflynx b7c211e
feat: add CLIENT_UNSUBSCRIBED integration lifecycle event
deaflynx d1a35cf
feat: render lifecycle event types as wrapping chips in the select tr…
deaflynx 3cd7565
Merge branch 'develop/2.4' into feat/mqtt-events-integration
dmytro-landiak ee57bc1
test: align unit tests with MQTT lifecycle-event integration deps
dmytro-landiak 12ea055
refactor(integration): remove TbIeMsgProto oneof from integration.proto
dmytro-landiak 26245d9
refactor(queue): revert IE data-path providers/factory to PublishInte…
dmytro-landiak ecd30ff
refactor(integration): revert broker IE data-path publisher to Publis…
dmytro-landiak 3a1fb8e
refactor(integration): stub lifecycle-event publisher pending dedicat…
dmytro-landiak f87d557
refactor(integration): generify IntegrationPackProcessingContext/Resu…
dmytro-landiak 12fa437
refactor(integration): generify IE backpressure strategies and revert…
dmytro-landiak a419e7f
feat(integration): add dedicated IE events topic and consumer-group n…
dmytro-landiak c3ce44b
feat(queue): add dedicated IE events producer/consumer to provider an…
dmytro-landiak b66acf7
feat(integration): add dedicated best-effort IE event msg queue publi…
dmytro-landiak 59b8c47
feat(integration): publish lifecycle events on dedicated best-effort …
dmytro-landiak d149eb4
fix(stats): log and reset droppedLifecycleEventStats in printStats; a…
dmytro-landiak ff583c8
perf(integration): add reverse-index for O(1) allocation-free lifecyc…
dmytro-landiak 76ac9ca
chore(config): add dedicated IE events topic and non-blocking events …
dmytro-landiak dd3d062
feat(integration): add IE-side lifecycle-events opt-in gate util
dmytro-landiak 958d229
feat(integration): provision per-integration events topic + consumer …
dmytro-landiak 7733729
feat(integration): consume per-integration lifecycle events on dedica…
dmytro-landiak 9fcde85
feat(integration): isolate events-consumer start failures from data s…
dmytro-landiak 2d792db
fix(integration): disable synchronous topic creation on IE events pro…
dmytro-landiak 12e84d6
feat(integration): support events-only and messages+events delivery m…
dmytro-landiak 9f24044
feat(integration): add auth/authz lifecycle event proto fields and en…
dmytro-landiak 714dacf
feat(integration): stash authenticated username on session ctx + auth…
dmytro-landiak 5fbf104
feat(integration): propagate username + enrich CLIENT_CONNECTED; publ…
dmytro-landiak f10112a
feat(integration): emit CLIENT_AUTHENTICATED on auth success and failure
dmytro-landiak 666c5a4
feat(integration): emit CLIENT_AUTHORIZED on publish/subscribe denial…
dmytro-landiak e621961
feat(integration): build event body for username, auth, and authz lif…
dmytro-landiak b06a347
fix(integration): drop misleading authMethod from CLIENT_AUTHENTICATE…
dmytro-landiak 5d5aef4
fix(integration): emit CLIENT_AUTHORIZED on every authz denial, drop …
dmytro-landiak 3d684fd
fix(integration): skip CLIENT_AUTHORIZED emission when session not ye…
dmytro-landiak d96be97
feat(integration): add authentication/authorization lifecycle events …
dmytro-landiak c6f66df
refactor(session): tidy up ClientSessionCtx and extract EnhancedAuthS…
dmytro-landiak a006f42
fix(integration): refine topic filters & lifecycle events UI
deaflynx 921d5d1
refactor(integration): emit auth lifecycle events on failure only
dmytro-landiak 2aa350c
fix(integration): emit CLIENT_DISCONNECTED on cross-node session take…
dmytro-landiak 636af2f
fix(integration): emit CLIENT_UNSUBSCRIBED only for actually-removed …
dmytro-landiak cbbe852
refactor(integration): reuse BytesUtil.toHostAddress for lifecycle IP…
dmytro-landiak 690a572
refactor(integration): extract generic IE consume loop shared by data…
dmytro-landiak f257e8a
refactor(integration): centralize lifecycle event type key and parsing
dmytro-landiak 4bacee9
docs(integration): document newSessionBuilder sessionInfo precondition
dmytro-landiak ef4a1ca
test(integration): cover subscribe-side lifecycle event emissions
dmytro-landiak 1d7a4d6
docs(integration): correct IE event producer blocking-bound comment
dmytro-landiak 94f2d5d
fix(integration): emit bare topic filter on shared-sub unsubscribe
dmytro-landiak 276b3d7
refactor(integration): switch lifecycle event body builder on enum
dmytro-landiak dc2a860
refactor(integration): type-safe action for authorization-denied events
dmytro-landiak c7b2583
refactor(integration): drop clientInitiated from CLIENT_DISCONNECTED …
dmytro-landiak 63ff640
refactor(integration): omit empty string fields from lifecycle event …
dmytro-landiak 6d524b4
refactor(integration): use StringUtils.isNotEmpty in putIfNotEmpty
dmytro-landiak 2f5b5ed
refactor(integration): drop anonymous from CLIENT_AUTHENTICATION_FAIL…
dmytro-landiak 498464a
feat(integration): add CLIENT_CONNECTION_FAILED lifecycle event
dmytro-landiak d5c2ea9
fix(integration): don't emit phantom CLIENT_DISCONNECTED for refused …
dmytro-landiak 63f0e94
refactor(integration): emit MQTT-standard reason code in CLIENT_DISCO…
dmytro-landiak c5accc8
feat(integration): include full subscription details in CLIENT_SUBSCR…
dmytro-landiak f6e7619
feat(integration): emit processing stats for the lifecycle-events stream
dmytro-landiak 8dcd156
feat(integration): carry share name in CLIENT_UNSUBSCRIBED event
dmytro-landiak 209ad33
feat(integration): emit CLIENT_CONNECTION_FAILED for pre-connection r…
dmytro-landiak 231e3a0
feat(integration): give the lifecycle-events stream its own processin…
dmytro-landiak dcc2a2a
refactor(integration): emit MQTT CONNACK reason code in CLIENT_CONNEC…
dmytro-landiak fabcc22
refactor(integration): extract shared ack-strategy properties base
dmytro-landiak 9be2649
fix(integration): carry auth-failure cause in CLIENT_AUTHENTICATION_F…
dmytro-landiak 5ca59fa
docs(integration): correct processQueue stats-sink javadoc
dmytro-landiak 5923bb0
feat(integration): localize lifecycle-events UI strings (de/es/zh/hi)
dmytro-landiak 6cfdf19
feat(integration): add clientCertCn to client lifecycle events
dmytro-landiak 7be4a2c
fix(integration): count async lifecycle-event send failures and drop …
dmytro-landiak 3e99874
fix(integration): log enclosing publisher class in IE msg send callback
dmytro-landiak 0df8785
test(integration): assert authorization-denied event on publish denial
dmytro-landiak 3bfafec
refactor(stats): move DROPPED_LIFECYCLE_EVENTS to StatsConstantNames
dmytro-landiak 6e6b9e2
refactor(integration): move lifecycle-event config to dedicated queue…
dmytro-landiak cc4acab
fix(integration): preserve offset order when reprocessing a RETRY_ALL…
dmytro-landiak 0ab668d
refactor(integration): pass lifecycle event body as ObjectNode to doP…
dmytro-landiak 65451a4
fix(integration): require static MQTT topic when lifecycle events are…
dmytro-landiak 85ed9e6
Revert "fix(integration): require static MQTT topic when lifecycle ev…
dmytro-landiak 95cd904
feat(integration): add dedicated events topic validation for MQTT int…
dmytro-landiak cbbef7e
feat(integration): require valid events topic when MQTT lifecycle eve…
dmytro-landiak d2b6cb7
feat(integration): publish MQTT lifecycle events to dedicated events …
dmytro-landiak 2284179
feat(integration): add events topic field to MQTT integration form
dmytro-landiak 245cf24
feat(integration): localize MQTT events topic field labels
dmytro-landiak c635c03
fix(integration): align MQTT events validation opt-in with runtime op…
dmytro-landiak 555f77c
feat(integration): emit protocolVersion for CLIENT_AUTHENTICATION_FAI…
dmytro-landiak 7e02553
refactor(integration): move lifecycle-config handling into the cache
dmytro-landiak ea25835
refactor(integration): use plain HashMap for the serialized lifecycle…
dmytro-landiak 0c43fd8
fix(integration): log actual cached count when loading lifecycle even…
dmytro-landiak 2cba5d4
feat(integration): expose events topic name in add wizard with autoco…
deaflynx 99d4802
chore(integration): simplify lifecycle events hint
deaflynx File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.