Skip to content
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

Track and display "viewed by" avatars for replays #64924

Closed
IanWoodard opened this issue Feb 8, 2024 · 6 comments · Fixed by #69153
Closed

Track and display "viewed by" avatars for replays #64924

IanWoodard opened this issue Feb 8, 2024 · 6 comments · Fixed by #69153
Assignees

Comments

@IanWoodard
Copy link
Member

IanWoodard commented Feb 8, 2024

Problem Statement

When looking through replays, I often find myself clicking on the same one multiple times thinking I haven't seen it when I already have. Currently there is no indication if you (or any of your teammates) have already seen a given replay.

Solution Brainstorm

One solution would be to take a similar approach to issues and bolden the titles of the replays you haven't seen before, and possibly show a list of viewers for each replay.

Product Area

Replays

@getsantry
Copy link
Contributor

getsantry bot commented Feb 8, 2024

Routing to @getsentry/product-owners-replays for triage ⏲️

@ryan953
Copy link
Member

ryan953 commented Feb 8, 2024

cc @cmanallen for onboarding

@ryan953 ryan953 changed the title Add view indicator to replays Track and display "viewed by" avatars for replays Feb 8, 2024
@cmanallen
Copy link
Member

@aliu3ntry This would be a cool feature to add and I think well within your capabilities.

  1. We need a database model capable of tracking the user_id and replay_id.
    • Will require a migration.
  2. We need an API endpoint which can retrieve all of the users who have viewed a replay.
  3. We need an API endpoint which can create a new replay_id <> user_id row.
  4. The Javascript web app needs to be able to fetch and write to these endpoints.
    • Create a new resource blueprint in replays/blueprints/api.md
  5. Schedule a meeting with relevent members of the replay engineering team or bring it up at our weekly engineering sync on Wednesday.

Start with the blueprint. Think about the use cases, how you want to store the data, how you want to present it to clients.

@cmanallen
Copy link
Member

cmanallen commented Mar 18, 2024

@aliu3ntry

@ryan953
Copy link
Member

ryan953 commented Apr 2, 2024

We're going to mark the replay as viewed if:

You land on the Replay Details page
You play a replay-clip from within anywhere in the app (ie: issue-details, feedback, profiling, etc).

@cmanallen
Copy link
Member

@aliu3ntry Check out the GroupSeen serializer https://github.com/getsentry/sentry/blob/b4a1e5f349864dcc3d6026ba08b24f9ea0557e0c/src/sentry/api/serializers/models/groupseen.py#L6-L25

How its called is unimportant. Look at the code paths in the function. You should be able to reproduce something for replays (we don't need a serializer class).

cmanallen added a commit that referenced this issue Apr 8, 2024
Relates to #64924. Splitting
#67972 into smaller PRs.

---------

Co-authored-by: Colton Allen <[email protected]>
shellmayr pushed a commit that referenced this issue Apr 10, 2024
Relates to #64924. Splitting
#67972 into smaller PRs.

---------

Co-authored-by: Colton Allen <[email protected]>
ryan953 added a commit that referenced this issue Apr 11, 2024
… that in the list (#67951)

Depends on backend support for the new `has_viewed` field.

Follows the blueprint in
https://github.com/getsentry/sentry/blob/master/src/sentry/replays/blueprints/api.md
Relates to getsentry/team-replay#19
Relates to #64924


Depends on #68628
c298lee pushed a commit that referenced this issue Apr 12, 2024
… that in the list (#67951)

Depends on backend support for the new `has_viewed` field.

Follows the blueprint in
https://github.com/getsentry/sentry/blob/master/src/sentry/replays/blueprints/api.md
Relates to getsentry/team-replay#19
Relates to #64924


Depends on #68628
ryan953 added a commit that referenced this issue Apr 15, 2024
ryan953 added a commit that referenced this issue Apr 16, 2024
ryan953 added a commit that referenced this issue Apr 16, 2024
Relates to getsentry/team-replay#19
Relates to #64924

---------

Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
ryan953 added a commit that referenced this issue Apr 16, 2024
… seen (#68990)

This is a dupe of #68743, but
with a feature-flag wrapping it.

Depends on #67951

Relates to getsentry/team-replay#19
Relates to #64924
armenzg pushed a commit that referenced this issue Apr 17, 2024
Relates to getsentry/team-replay#19
Relates to #64924

---------

Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
ryan953 added a commit that referenced this issue Apr 17, 2024
ryan953 added a commit that referenced this issue Apr 17, 2024
ryan953 added a commit that referenced this issue Apr 17, 2024
aliu39 added a commit that referenced this issue Apr 22, 2024
Follow up from #64924

Before/after:

![Before](https://github.com/getsentry/sentry/assets/159852527/1bea0567-0954-474f-a2cf-2ad5b8e152fb)

<img width="683" alt="Screenshot 2024-04-19 at 3 32 34 PM"
src="https://github.com/getsentry/sentry/assets/159852527/4a2d2ad7-2d0c-4c3b-9dde-31ecf32487dc">

Followed up with docs PR for searchable properties

---------

Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
Co-authored-by: Michelle Zhang <[email protected]>
MichaelSun48 pushed a commit that referenced this issue Apr 25, 2024
Follow up from #64924

Before/after:

![Before](https://github.com/getsentry/sentry/assets/159852527/1bea0567-0954-474f-a2cf-2ad5b8e152fb)

<img width="683" alt="Screenshot 2024-04-19 at 3 32 34 PM"
src="https://github.com/getsentry/sentry/assets/159852527/4a2d2ad7-2d0c-4c3b-9dde-31ecf32487dc">

Followed up with docs PR for searchable properties

---------

Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com>
Co-authored-by: Michelle Zhang <[email protected]>
ryan953 added a commit that referenced this issue Apr 29, 2024
This follows #69232 which
removed some optimistic updated that would cause crazy re-rendering.
Instead we'll just invalidate (and re-fetch if needed) the `/viewed-by/`
endpoint data.

This is related to the viewed-by replay project:
getsentry/team-replay#19
#64924
@github-actions github-actions bot locked and limited conversation to collaborators May 3, 2024
@aliu39 aliu39 reopened this May 8, 2024
@aliu39 aliu39 closed this as completed May 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants