travis79 · GitHub

@travis79

badboy

badboy

@travis79

travis79 marked this pull request as ready for review

May 8, 2026 14:15

@travis79

@travis79

@travis79

jeddai

@travis79

@travis79

@travis79

Add support for the `in_session` boolean field on metric definitions.
When `in_session: true` is set on an event metric, the parser sets
`out_of_session: false` on the metric object for code generation.
- Schema: add `in_session` property to metrics 2-0-0 schema with a
  validation rule that rejects `in_session: true` on non-event types
- Model: Event.__init__ pops `in_session` and sets `out_of_session`;
  Event.serialize strips `out_of_session` so it doesn't round-trip
  back into YAML validation
- Util: add `out_of_session` to `common_metric_args` so Kotlin, Swift,
  and JavaScript templates pick it up automatically via their existing
  iteration over that list
The Rust template hardcodes CommonMetricData fields rather than
iterating common_metric_args like Kotlin/Swift/JS, so it needs an
explicit addition to emit `out_of_session` when defined.
- Model tests: verify in_session on events sets out_of_session,
  default omits it, non-event with in_session: true is rejected,
  non-event with in_session: false is accepted
- Output tests: verify generated Rust, Kotlin, and Swift code
  contains outOfSession/out_of_session when in_session: true
- Test data: add in_session: true to the event in all_metrics.yaml

@travis79

@travis79

@travis79

@travis79

@travis79

@travis79

travis79 deleted the Bug2020962-Session-Impl branch

June 5, 2026 12:36

Read the original on github.com ↗