-
-
Notifications
You must be signed in to change notification settings - Fork 11
Profiles #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Profiles #22
Conversation
WalkthroughExtended the library's tracking capabilities by introducing global and per-call Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
src/Lib.ts (2)
36-40: LGTM! Consider privacy compliance.The global
profileIdoption is well-documented and correctly implemented. Since this enables long-term user tracking across sessions, ensure your privacy policy and consent mechanisms (GDPR, CCPA, etc.) appropriately disclose this capability to end users.
253-285: Verify whether error tracking should includeprofileId.The
submitErrormethod does not propagateprofileId(unliketrackandsubmitPageView). If long-term user tracking includes associating errors with user profiles, consider adding:const errorPayload = { pg: this.activePage || getPath({ hash: this.pageViewsOptions?.hash, search: this.pageViewsOptions?.search, }), lc: getLocale(), tz: getTimezone(), + profileId: this.options?.profileId, ...payload, }If error tracking is intentionally scoped out, this can be ignored.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/Lib.ts(5 hunks)
🔇 Additional comments (4)
src/Lib.ts (4)
55-56: LGTM!The per-event
profileIdoverride is correctly typed and documented.
76-77: LGTM!The per-pageview
profileIdoverride is correctly typed and documented, consistent with the event-level override.
309-309: LGTM!The
profileIdpropagation correctly implements the override behavior, with per-event values taking precedence over the global option.
441-442: LGTM!The
profileIdis correctly propagated to pageview payloads. The object spread on line 442 ensures that any per-pageviewprofileIdinpayloadwill override the global default, matching the documented behavior.
Depends on:
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.