[research] Editor LCP
- Dominant language
- JavaScript
- Stars
- 34
- Forks
- 71
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 29
Description
## Context
Today, the following happens on a doc that does not have a durable object:
1. Edit makes a head call to DA admin to get permissions.
2. Collab spins up and looks for the durable object.
3. Collab realizes it does not have the object, and asks da-admin
4. da-admin asks R2 / S3 for the doc
5. da-admin gives doc to da-collab which makes the durable object
6. da-collab returns the doc to the editor
There's a lot of hops and this is creating a noticeable lag in LCP.
**Theory:** we can change the HEAD request to a GET to pre-populate the editor (as read only) while waiting for the official document from collab. This will visually make the document show up faster, but it would of course be in read-only as we want the collab-based doc to be the source of truth.
**Another possible option:** take that GET response and push that document into collab instead of waiting for collab to come back. This has an opportunity to mess up others who might be in the document, but worth restoring.
Contributor guide
Research direction
Trace the editor HEAD request and the da-admin, da-collab, and R2/S3 flow described in the issue. Compare the read-only GET prepopulation and pushing the GET response into collab, measuring LCP while preserving collab as the source of truth and avoiding disruption to other editors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100