precache a user's default session replay listing view
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 39.9k
- Forks
- 3.4k
- Avg merge
- 7h 27m
- Merged PRs (30d)
- 222
Description
Feature request
as your number of recordings and persons grows the initial query to load a page of recording results can get annoyingly slow
we could start running the query before you get to the replay page (and wait on its results if you visit the page before we've finished) so that the query appears faster than it really is
- when django starts a new session
- or when the front-end returns from idle and hits an API to tell us
- we run the session replay query that the user would run if they hit the page
- and cache the result
- so that when they navigate to replay the loading is almost instant
- would mean we run the query more than we need to since not everyone will visit replay
- and would mean we'd need to know the filters they have stored in local storage
- but for larger customers where the initial load can take many seconds this would probably be a great boost
- and we could opt in teams only when we see their list loading time is consistently greater than X seconds
Debug info
- [ ] PostHog Cloud, Debug information: [please copy/paste from https://us.posthog.com/settings/project-details#variables]
- [ ] 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by tracing session startup in Django, the front-end idle-return API, and the session replay listing query, including how filters are stored in local storage. Done would require an agreed caching strategy, team opt-in threshold, and evidence that replay loads faster without unacceptable extra queries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, javascript, python
- Domain
- analytics, backend, frontend, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100