PostHog / PostHog/posthog

Session recording support for webgpu-backed canvas

Open
#57,008 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
39.9k
Forks
3.4k
Avg merge
6h 51m
Merged PRs (30d)
232

Description

Feature request

Is your feature request related to a problem?

Currently in session recording, canvas elements that are backed by 2d or webgl work fine. However, canvas elements backed by webgpu do not show up in the session replay, I believe because webgpu does not support preserveDrawingBuffer(https://github.com/gpuweb/gpuweb/issues/2743).

Describe the solution you'd like

There are other ways to record webgpu-backed canvas elements.

Additional context

N/A

Debug info
- [x] PostHog Cloud, Debug information: [please copy/paste from https://us.posthog.com/settings/project-details#variables]
  Session: https://us.posthog.com/project/sTMFPsFhdP1Ssg/replay/019ddab4-c4a9-7756-a1ce-f208ae9786fd?t=1595
Admin: http://go/adminOrgUS/019b0f0c-b503-0000-4899-984f86c489f0 (project ID 329248)
- [ ] PostHog Hobby self-hosted with `docker compose`, version/commit: [please provide]
- [ ] PostHog self-hosted with Kubernetes (deprecated, see [`Sunsetting Kubernetes support`](https://posthog.com/blog/sunsetting-helm-support-posthog)), version/commit: [please provide]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the rrweb canvas WebRTC recording plugin and the existing PostHog rrweb fork referenced in the issue, then compare that approach with the proposed WebGPU capture mechanism. Done means WebGPU-backed canvas elements appear correctly in session replay, with the chosen capture approach validated against the reported session.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.