Skip to content

Conversation

@MartinCardozo-SDK
Copy link
Contributor

@MartinCardozo-SDK MartinCardozo-SDK commented Jan 15, 2026

iOS SDK

What did you accomplish?

EventsManager updated.

How do we test the changes introduced in this PR?

Extra Notes

Tests on Next PR

@MartinCardozo-SDK MartinCardozo-SDK self-assigned this Jan 15, 2026
@MartinCardozo-SDK MartinCardozo-SDK requested a review from a team as a code owner January 15, 2026 00:23
@MartinCardozo-SDK MartinCardozo-SDK changed the base branch from master to Metadata_baseline January 15, 2026 00:23
@devops-split
Copy link

SDK Readiness Test Results ✅

Metric FME-12340-Metadata-Managers P50 master P50 Significance
SDK_READY 103 ms 99 ms -
SDK_READY_FROM_CACHE 87 ms 85 ms -

Legend: 🟢 significant improvement | 🔴 significant regression | ⚪ inconclusive (p≥0.05)


ios-test-mock

  • Mock Server: true

  • Iterations: 40

@MartinCardozo-SDK MartinCardozo-SDK changed the title Fme 12340 metadata managers [FME-12340] - Metadata - Managers Jan 15, 2026
@devops-split
Copy link

SDK Readiness Test Results ✅

Metric FME-12340-Metadata-Managers P50 Metadata_baseline P50 Significance
SDK_READY 103 ms 105 ms -
SDK_READY_FROM_CACHE 90 ms 81 ms -

Legend: 🟢 significant improvement | 🔴 significant regression | ⚪ inconclusive (p≥0.05)


ios-test-mock

  • Mock Server: true

  • Iterations: 40

@devops-split
Copy link

SDK Readiness Test Results ✅

Metric FME-12340-Metadata-Managers P50 Metadata_baseline P50 Significance
SDK_READY 109 ms 101 ms -
SDK_READY_FROM_CACHE 84 ms 85 ms -

Legend: 🟢 significant improvement | 🔴 significant regression | ⚪ inconclusive (p≥0.05)


ios-test-mock

  • Mock Server: true

  • Iterations: 40

import Foundation

public typealias SplitAction = () -> Void
public typealias SplitActionWithMetadata = (EventMetadata) -> Void
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make sure to remove this one.

Suggested change
public typealias SplitActionWithMetadata = (EventMetadata) -> Void

Comment on lines +29 to +43

@objcMembers public final class SplitEventWithMetadata: NSObject, Sendable {
let type: SplitEvent
let metadata: EventMetadata?

@available(*, unavailable)
override init() {
fatalError("Use SDK-provided instances only")
}

internal init(type: SplitEvent, metadata: EventMetadata? = nil) {
self.type = type
self.metadata = metadata
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one was replaced by the event specific metadata classes, I think.

Suggested change
@objcMembers public final class SplitEventWithMetadata: NSObject, Sendable {
let type: SplitEvent
let metadata: EventMetadata?
@available(*, unavailable)
override init() {
fatalError("Use SDK-provided instances only")
}
internal init(type: SplitEvent, metadata: EventMetadata? = nil) {
self.type = type
self.metadata = metadata
}
}


protocol SplitEventsManager: AnyObject, Sendable {
func register(event: SplitEvent, task: SplitEventTask)
func notifyInternalEvent(_ event: SplitInternalEvent)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems this one could be marked as deprecated so we remove it later on. From what I see, we're only using SplitInternalEventWithMetadata now.

Suggested change
func notifyInternalEvent(_ event: SplitInternalEvent)
@available(*, deprecated, message: "Notify with metadata")
func notifyInternalEvent(_ event: SplitInternalEvent)

/// - The specific flags affected
///
@objc public class SdkUpdateMetadata: NSObject, EventMetadata {
@objcMembers public final class SdkUpdateMetadata: NSObject, EventMetadata {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is extending EventMetadata needed? It would be great to not have EventMetadata as public (or better yet, not have it).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may have to add some explicit addEventsListener tests.

@devops-split
Copy link

SDK Readiness Test Results ✅

Metric FME-12340-Metadata-Managers P50 Metadata_baseline P50 Significance
SDK_READY 99 ms 99 ms -
SDK_READY_FROM_CACHE 87 ms 86 ms -

Legend: 🟢 significant improvement | 🔴 significant regression | ⚪ inconclusive (p≥0.05)


ios-test-mock

  • Mock Server: true

  • Iterations: 40

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants