Skip to content

Clarify Runtime Events First Time filter and Duration behavior - #281

Merged
myronkaifung merged 9 commits into
mainfrom
claude/runtime-events-first-time-clarification
Oct 20, 2026
Merged

myronkaifung merged 9 commits into
mainfrom
claude/runtime-events-first-time-clarification

Conversation

@claude

@claude claude Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Requested by Kurby Chua · Slack thread

Before: The Runtime Events page described the "First Time" filter's Duration options only as "Variant expires when the user's session ends" (End of Session) and "Variant persists in subsequent sessions" (Indefinitely). It never explained how a Runtime Event with no First Time filter differs from First Time + Indefinitely, whether a user could receive a different variant in a later session, or what "session" refers to.

After: The page now states that a Runtime Event without a First Time filter behaves the same as First Time + Indefinitely, spells out that End of Session serves the variant only in the client SDK session where the event first fires (and never again), clarifies that users are never re-bucketed into a different variant, and specifies that "session" means the client SDK session.

Clarifies documented behavior only; no product change.

How: Expanded the "(Optional) Add First Time Filter" step in docs/featureflags/runtime-events.mdx with precise Duration semantics and two clarifying <Note> callouts, and tightened the "After the Event" list. Behavior confirmed against the flags API and mixpanel-js source on 2026-09-30.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NdJYJgVNYpsVXhD2sbPnsn


Generated by Claude Code

Explain that a Runtime Event without a First Time filter behaves the same
as First Time + Indefinitely, that End of Session serves the variant only
in the client SDK session where the event first fires, that users are
never re-bucketed into a different variant, and that "session" means the
client SDK session.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NdJYJgVNYpsVXhD2sbPnsn
@mintlify

mintlify Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
mixpanel-docs 🟢 Ready View Preview Oct 20, 2026, 11:51 PM

@greptile-apps

greptile-apps Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The documentation changes appear safe to merge.

Reviews (9) · Last reviewed commit: "Merge branch 'main' into claude/runtime-..." · Reviewed by Greptile

Comment thread docs/featureflags/runtime-events.mdx Outdated
Comment thread docs/featureflags/runtime-events.mdx
Greptile flagged that the "never re-bucketed" claim was too broad: control
is always non-sticky and non-sticky assignments can change when variant
splits or rollout % change. Scope the guarantee to sticky variants.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NdJYJgVNYpsVXhD2sbPnsn
Comment thread docs/featureflags/runtime-events.mdx Outdated
Greptile flagged that "keeps it across sessions" conflated stickiness with
the Duration setting: under End of Session the variant is not served in
later sessions. Clarify that stickiness controls which variant (never a
different one), while Duration controls whether it keeps being served.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NdJYJgVNYpsVXhD2sbPnsn
1. In After the Event - kept the original #2 so that it's not so complicated at the overview section

This was what Claude updated: "2. The variant persists based on your duration setting: indefinitely (also the behavior when no First Time filter is set), or only for the client SDK session in which the event first fires (First Time + End of Session)"

I reverted it to: 2. The variant persists based on your duration setting (session or indefinitely)

2. URL link to Feature Flag Concepts and Terminology was wrong by Claude, instead of /docs/featureflags#concepts--terminology it should be /docs/featureflags#concepts-&-terminology
@kurbycchua
kurbycchua marked this pull request as ready for review October 1, 2026 01:40
@kurbycchua
kurbycchua requested a review from a team as a code owner October 1, 2026 01:40
@kurbycchua
kurbycchua requested a review from caracheng October 1, 2026 01:40
Corrected the formatting of a link in the documentation regarding fallback values during feature flagging service downtime.

@russell-loube-mixpanel russell-loube-mixpanel left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for doing this @kurbycchua , lgtm

@msiebert msiebert left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@russell-loube-mixpanel

Copy link
Copy Markdown
Contributor
do-it-star-wars

@myronkaifung
myronkaifung disabled auto-merge October 20, 2026 23:50
@myronkaifung
myronkaifung enabled auto-merge (squash) October 20, 2026 23:50
@myronkaifung
myronkaifung disabled auto-merge October 20, 2026 23:53
@myronkaifung
myronkaifung merged commit 38048e7 into main Oct 20, 2026
8 checks passed
@myronkaifung
myronkaifung deleted the claude/runtime-events-first-time-clarification branch October 20, 2026 23:53

This branch was successfully deployed

1 active deployment
staging — 8a9a0587 Deployed Oct 20, 2026 by mintlify[bot]
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.

5 participants