nextcloud-libraries / nextcloud-libraries/nextcloud-vue

ResizeObserver loop issues in `NcReferenceWidget`

Open
#3,960 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. to triage bug feature: richtext
Dominant language
Vue
Stars
246
Forks
99
Avg merge
1d 20h
Merged PRs (30d)
103

Description

So, we just checked several browser after NC group call for the errors, and tried to reproduce it on most frequent Mac + Chrome setup, but couldn't track this error in the logs, although this exception pops up in Sentry.

It's probably connected with the vue-lib component NcReferenceWidget, because there is frequently met message after calling this.renderWidget():
Widget for rich object type call not registered
and after that ResizeObserver loop completed with undelivered notifications.

Looks like we don't render a widget in this case, but put an observer on it; and observer should not be instanciated if renderWidget does nothing because there is no component registered

Originally posted by @Antreesy in https://github.com/nextcloud/spreed/issues/9155#issuecomment-1486917306

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 in src/components/NcRichText/NcReferenceWidget.vue around lines 73-74 and inspect renderWidget() together with the ResizeObserver setup. Verify the behavior when no rich object widget is registered; done means that case no longer creates the observer or produces the reported ResizeObserver loop error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.