Repository navigation
fix(people): Count dashboard conversations in personal spend - #2432
Merged
Merged
Conversation
People queries filtered actor identities to provider = slack, which predates dashboard (web) actors. Web conversations store a verified junior provider user identity, so their spend and activity were missing from the profile menu, People profile, and People list. Match verified user-kind identities from any provider instead, and keep system identities out. Read slackUserId and slackUserName only from Slack identities so web-only people do not show their email as a Slack user id. Refs #2431 Co-Authored-By: David Cramer <david@sentry.io>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b1162b6. Configure here.
Contributor
|
2 screenshot changes — 2 changed · 0 added · 0 removed Review screenshots in Frameshift
|
Recent People profile rows now read Slack subject and handle only from Slack identities, so a web identity email never shows as slackUserId. The People profile surface rollup now maps source web to the api surface, which matches the recent conversation projection. Refs #2431
dcramer
approved these changes
Oct 30, 2026
This branch was successfully 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.

Personal spend (profile menu 7d/30d), the People profile, and the People list left out conversations started from the dashboard.
verifiedActorWhererequiredjuniorIdentities.provider = "slack". That filter came in with the SQL people API (#738). At that time, Slack was the only provider with human identities;junioridentities were only system actors (scheduler, local CLI). Dashboard actors were added later (#1371) askind: "user",provider: "junior"identities that have a verified email and a linked user. The Slack-only filter skipped them.The predicate now matches verified identities with
kind = "user"from any provider. System identities stay out explicitly, even if one were linked to a user. Identity upsert links users only for user-kind identities. The predicate checks this directly so the guard does not depend on that write-path rule.With web identities included, the grouped
MAX(providerSubjectId)/MAX(handle)columns could return a web identity's email asslackUserId. Those columns now read only Slack identities.locations/query.tsalready uses the same pattern.The Slack provider filter in
api/mentions.tsstays. It resolves Slack mention ids, so Slack-only is correct there.Refs #2431 (bug 1 only; bug 2 is handled separately).
via David Cramer.
--
View Session [Sentry]