Repository navigation
Conversation
donnywals
requested review from
a team,
NinjaLikesCheez,
itaybre,
noahsmartin and
philprime
as code owners
October 16, 2026 09:52
Size Analysis1 component analyzed iOS Builds
|
📲 Install BuildsiOS
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is ON, but none of the reported issues met your autofix severity threshold.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5ad7e89. Configure here.
philprime
reviewed
Oct 16, 2026
philprime
left a comment
Member
There was a problem hiding this comment.
Almost LGTM, left some feedback to consider
donnywals
marked this pull request as draft
October 16, 2026 11:00
donnywals
force-pushed
the
ref/convert-transaction-to-swift
branch
3 times, most recently
from
October 20, 2026 09:42
745ecd2 to
53da489
Compare
donnywals
force-pushed
the
ref/convert-transaction-to-swift
branch
from
October 20, 2026 12:03
38d6436 to
b99cacb
Compare
donnywals
marked this pull request as ready for review
October 21, 2026 09:02
donnywals
force-pushed
the
ref/convert-transaction-to-swift
branch
from
October 21, 2026 09:03
b99cacb to
77d9dca
Compare
Objective-C++ profiling reads the tracer through the existing helper, and tests override transaction capture through the wrapper seam. Record the V10 convenience-initializer flag. Co-authored-by: Cursor <cursoragent@cursor.com>
Erase the V10 before-send transaction block parameter so Swift can import the callback from the public headers. Co-authored-by: Cursor <cursoragent@cursor.com>
donnywals
force-pushed
the
ref/convert-transaction-to-swift
branch
from
October 21, 2026 15:01
77d9dca to
c26016e
Compare
Corrected Transaction to be public and corrected serialization and spans-related code Applied SENTRY_SWIFT_MIGRATION_ID where relevant
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Converts
SentryTransactionto Swift without adopting Swift best-practices or being concerned with the Swift code being idiomatic.Compatibility
The Swift implementation should have the exact same visibility as the Objective-C implementation had. Only minimal changes were made to internal code to ensure we don't change public headers and visibility
Verification
Passed formatting, tests, and ran
generate-public-apito ensure there are no breaking changes and to ensure that no unexpected public API changes were made.Fixes #9221
#skip-changelog
Note
Medium Risk
Touches transaction capture, serialization, and trace-correlated profiling with ObjC–Swift bridging (KVC and casts) where behavior regressions would affect performance data.
Overview
Migrates
SentryTransactionfrom Objective-C into a SwiftTransactionclass (Sources/Swift/Transaction/SentryTransaction.swift) while keeping the same@objc(SentryTransaction)surface (spans, tag merging, serialization, and an internalinitWithTrace:children:bridge).The old public header and implementation (
SentryTransaction.h,SentryTransaction.m,SentryTransaction+Private.h) are removed from the Xcode target; umbrella imports inSentry.h/SentryWithoutUIKit.hno longer pull in a separate transaction header.sdk_api.jsonis updated so the type is exported from the Swift module.Objective-C call sites drop
SentryTransaction+Private.hand adapt to the Swift type: profiling code reads the tracer via KVC/tracecasting and setsstartSystemTime/endSystemTimewithsetValue:forKey:;SentryHubcaststransaction.tracetoSentryTracerfor sampling decisions; profiler envelope building casts toSentryTracerfor trace metadata.Reviewed by Cursor Bugbot for commit 5ad7e89. Configure here.