Skip to content

Conversation

@arthurdedeus
Copy link
Contributor

@arthurdedeus arthurdedeus commented Nov 28, 2025

Problem

When viewing session recordings in a notebook, the canvas filters are not being applied to the playlist. This means if we add a playlist node to person feed canvas, it is going to show recordings from all people

Changes

Added functionality to apply person filters from canvas to notebook playlists by:

  • Importing the notebookLogic to access canvas filter overrides
  • Creating a helper function getPersonUUIDFromOverride to extract person_id from canvas filters
  • Passing the extracted person UUID to the recording playlist logic when available
  • Ensuring the playlist displays recordings filtered by the selected person

How did you test this code?

Tested by:

  1. Adding a playlist node to person feed canvas
  2. Ensuring that /session_recordings​ was being called with personUUID​ correctly set
  3. Ensuring that ordinary canvases/group feed canvas were not affected

Changelog:

No, under feature flag

Copy link
Contributor Author

arthurdedeus commented Nov 28, 2025

@github-actions
Copy link
Contributor

github-actions bot commented Nov 28, 2025

Size Change: +30 B (0%)

Total Size: 3.5 MB

ℹ️ View Unchanged
Filename Size Change
frontend/dist/toolbar.js 3.5 MB +30 B (0%)

compressed-size-action

@arthurdedeus arthurdedeus force-pushed the feat/filter-group-feed-canvas branch from 9d62715 to a8167bb Compare December 2, 2025 15:01
@arthurdedeus arthurdedeus force-pushed the feat/filter-replay-playlist-by-entity-in-feed-canvases branch from d5cec3e to a8bc547 Compare December 2, 2025 15:01
@graphite-app graphite-app bot changed the base branch from feat/filter-group-feed-canvas to graphite-base/42323 December 2, 2025 15:14
@arthurdedeus arthurdedeus force-pushed the feat/filter-replay-playlist-by-entity-in-feed-canvases branch from a8bc547 to 0efa5c9 Compare December 2, 2025 16:29
@arthurdedeus arthurdedeus changed the base branch from graphite-base/42323 to feat/filter-group-feed-canvas December 2, 2025 16:29
@arthurdedeus arthurdedeus changed the base branch from feat/filter-group-feed-canvas to graphite-base/42323 December 2, 2025 16:46
@arthurdedeus arthurdedeus force-pushed the feat/filter-replay-playlist-by-entity-in-feed-canvases branch from 0efa5c9 to f889355 Compare December 2, 2025 16:46
@graphite-app graphite-app bot changed the base branch from graphite-base/42323 to master December 2, 2025 16:47
@arthurdedeus arthurdedeus force-pushed the feat/filter-replay-playlist-by-entity-in-feed-canvases branch 2 times, most recently from 07ce3a6 to 8fda4ca Compare December 3, 2025 19:08
@arthurdedeus arthurdedeus changed the title feat(customers): Filter replay playlist by person/group in feed canvases feat(customers): Filter replay playlist by person UUID in person feed canvas Dec 3, 2025
@arthurdedeus arthurdedeus marked this pull request as ready for review December 3, 2025 19:12
@arthurdedeus arthurdedeus requested review from a team, TueHaulund, ksvat and pauldambra and removed request for a team December 3, 2025 19:12
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (1)

  1. frontend/src/scenes/notebooks/Nodes/NotebookNodePlaylist.tsx, line 53 (link)

    style: personUUID is used on line 39 but not included in the dependency array. While canvasFiltersOverride is static after initialization (so this may not cause observable issues), adding it would follow React best practices.

1 file reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

() => ({
logicKey: playerKey,
filters: universalFilters,
...(personUUID ? { personUUID } : {}),
Copy link
Member

Choose a reason for hiding this comment

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

are we doing this elsewhere as well?

that line of code looks suspiciously familiar

i've got a dusty corner of my brain that elsewhere we do our best to use the set of distinct ids instead of the person id - although only in places where we already have the distinct ids

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hmm not that I know of. in this case the distinct ids are not easily available, is there a reason for us to prefer them?

Copy link
Member

Choose a reason for hiding this comment

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

for looking up replay it's way faster

(but if you don't already have them, then the you stand the performance hit to get them that you're trying to avoid by using them 😅)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hahaha got it! will keep this in mind, though

Copy link
Member

@pauldambra pauldambra left a comment

Choose a reason for hiding this comment

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

some questions

but i trust you've tested this works for your use case 💖

@arthurdedeus arthurdedeus force-pushed the feat/filter-replay-playlist-by-entity-in-feed-canvases branch from 8fda4ca to ba3f42d Compare December 3, 2025 22:09
@arthurdedeus arthurdedeus enabled auto-merge (squash) December 3, 2025 22:09
@arthurdedeus arthurdedeus merged commit d2180d2 into master Dec 3, 2025
140 checks passed
@arthurdedeus arthurdedeus deleted the feat/filter-replay-playlist-by-entity-in-feed-canvases branch December 3, 2025 22:23
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.

3 participants