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

Cache hasAvatar to avoid call background flickering #4379

Merged
merged 2 commits into from
Oct 19, 2020

Conversation

PVince81
Copy link
Member

Whenever the speaker changes, the avatar background can flicker due to
HTTP calls. This fix improves it a bit by caching the information
whether the user has an avatar or not, so allows a less delayed loading of
the avatar background.

This only affects the avatar background.
For the avatar itself, you also need nextcloud-libraries/nextcloud-vue#1457 in place.
Best is to test both together.

Whenever the speaker changes, the avatar background can flicker due to
HTTP calls. This fix improves it a bit by caching the information
whether the user has an avatar or not, so allows a less delayed loading of
the avatar background.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Copy link
Member

@marcoambrosini marcoambrosini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get this artifact both when switching videos manually and when doing it by activating/deactivating the mics of other users with fake streams on, thereby changing the current promoted person:

Peek 2020-10-15 20-14

@PVince81
Copy link
Member Author

@ma12-co this PR is only about the background and that one looks stable/fine in your video.

For the avatar's "white circle" please also check out nextcloud-libraries/nextcloud-vue#1457.

Make sure to repeat the operations multiple times: the first time you'll still see artifacts and after the cache is populated, switching should not show any glitch (except for "stop following" which I observed locally)

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
@PVince81
Copy link
Member Author

Adjusted to use browser storage. However I'm not using the BrowserStorage service as it's in the "talk" namespace.
Need to use the "nextcloud" namespace as this is also where the Avatar vue stores the same state: nextcloud-libraries/nextcloud-vue#1457

@PVince81 PVince81 merged commit 613d089 into master Oct 19, 2020
@PVince81 PVince81 deleted the bugfix/4284/unflicker-call-avatars branch October 19, 2020 06:52
@PVince81
Copy link
Member Author

PVince81 commented Nov 2, 2020

backport to stable20 here #4514

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

Successfully merging this pull request may close these issues.

2 participants