-
Notifications
You must be signed in to change notification settings - Fork 204
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
WIP - Fetch annotations for each frame separately #4193
Conversation
f1f8edc
to
46b2984
Compare
This is not ideal, for a few reasons:
On the client side the main problem with WS notifications currently is that we don't know which frame(s) a new, but not updated or deleted, annotation should be assigned to. If the backend could provide information about which URIs in the WS configuration the annotation matches, that would solve the problem. In the backend it looks like it should be straightforward to determine which URL in the WebSocket configuration matched a particular annotation and include that information in the response. |
Related Slack discussion. |
A possible incremental step is for the WebSocket to initially only receive updates for the main frame, or whichever one connected first and is still connected. |
46b2984
to
1060a57
Compare
ac15f23
to
a326ca2
Compare
Explore a client-side solution to sending annotations to correct frame if annotation URL does not exactly match frame URL (see [1]). In the client-side solution, a separate search request is made for each frame and the returned annotations are then associated with that frame. Some issues to resolve: - How can we test this locally with the dev server? - What if searches for different frames return the same annotation? Make the `frameId` property of `Annotation` an array? - How should the WebSocket be adapted? A separate WebSocket instance per frame? - What do about frame IDs for non-sidebar applications (notebook, stream, single annotation page) where annotations are not associated with frames? [1] #4191
a326ca2
to
be84627
Compare
This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
Explore a client-side solution to sending annotations to correct frame
if annotation URL does not exactly match frame URL (see [1]). In the
client-side solution, a separate search request is made for each frame
and the returned annotations are then associated with that frame.
Some issues to resolve:
$frameId
property an array?[1] #4191