Skip to content
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

Synchronization for new tags on notebook entries #5734

Closed
scottbell opened this issue Sep 7, 2022 · 4 comments · Fixed by #5763
Closed

Synchronization for new tags on notebook entries #5734

scottbell opened this issue Sep 7, 2022 · 4 comments · Fixed by #5763

Comments

@scottbell
Copy link
Contributor

scottbell commented Sep 7, 2022

Is your feature request related to a problem? Please describe.
Currently we don't have a way to know that an annotation has been created for a particular domain object when using a persistence store like CouchDB. Because of this, users watching remote notebooks aren't notified when new tags are created.

Describe the solution you'd like
Per a discussion with @akhenry, create a new field called annotationModified for domain objects. UIs can observe this field, and when the field changes, they can initiate a search for the new annotation.

Describe alternatives you've considered

  • add include_docs to include JSON of new items over the CouchDB change feed - means more traffic per client
  • add a new SharedWorker that opens a separate connection to CouchDB. It would use a special _selector filter to reduce traffic from 👆. We’d need to use feed=continuous (or longpoll) though as SSEs can’t take a selector.

Additional context
Note the existing CouchDB change feed only gives a keystring, which means if we need to know a particular annotation has been created for a particular domain object, we’ll need to lookup each new object in the change feed in full - expensive!

@scottbell
Copy link
Contributor Author

Testing instructions:

  • Open two browser implementations (e.g., Firefox & Chrome)
  • Point them both to the same OpenMCT instance running CouchDB as its persistence store
  • Create a new notebook and navigate to this using both browsers
  • Create an entry in Firefox, observe it appears in Chrome "live"
  • Create a tag in Firefox for the entry, observe the tag appear in Chrome "live"
  • Delete the tag in Firefox, then add all the tags in Firefox, observe the tags delete and reappear in Chrome "live"

@jvigliotta
Copy link
Contributor

jvigliotta commented Sep 30, 2022

Tested with Rukmini and I was able to see tags populating live and with safari (16) verified fixed 9/30/22

@unlikelyzero
Copy link
Contributor

@ozyx to finalize with safari 16

@ozyx
Copy link
Contributor

ozyx commented Sep 30, 2022

Verified with Safari 16 / Chrome stable. Testathon 09/30/22

Was able to create entry on chrome and see it on safari and vice versa. Was able to add a tag to the entry on chrome and see it on safari and vice versa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants