Skip to content

Conversation

@ioannisj
Copy link
Contributor

Problem

Add raw iOS frames to cymbal.
"ios" does not really fit with langs, but I could not come up with anything clearer here

Changes

How did you test this code?

👉 Stay up-to-date with PostHog coding conventions for a smoother review.

Changelog: (features only) Is this feature complete?

pub mod dart;
pub mod go;
pub mod hermes;
pub mod ios;
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we be using the language here not the platform? Are these Swift or Objective C frames or something else? I can see a world where it's confusing for "iOS frames" to process MacOS exceptions

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah expressed the same concern in PR body. To my best understanding frames will be identical (and handled similarly) regardless of swift/objc and platform. Not sure I can distinguish runtime in a deterministic way if a specific frame is objc/swift
Some other alternatives can be apple, apple-native?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We also have java which also handles Kotlin and other jvm languages if I'm not mistaken? @marandaneto thoughts on this?

Copy link
Member

Choose a reason for hiding this comment

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

kotlin compiles to java bytecode so its the same thing.

Copy link
Member

@marandaneto marandaneto Dec 1, 2025

Choose a reason for hiding this comment

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

i'd rather call it apple.

i think lang here is a confusing name since you only think about the language and its properties.

it should have been something more connected to the symbolication type.

eg
for code highlighting:
lang=kotlin | java | etc
for symbolication:
symbol_type (or platform)=elf (linux) | proguard | r8 (android/java/kotlin) | sourcemaps (web) | Mach-O (apple) | etc

right now we are using lang as a way to trigger a certain symbolication process, in my example, symbol_type.

on the SDK side we use platform which can be hermes and then it symbolicates to javascript, see the confusion.

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.

4 participants