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
fix(call): Fix incorrectly selected media when actually joining a call #9513
fix(call): Fix incorrectly selected media when actually joining a call #9513
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
localStorage
is still used for media state in App.vue (to restore the state when switching to another room while in a call).
It is also used in a store test, but I have not checked for what (nor why the test do not fail), and to save the nick of guests.
Regarding whether to fully embrace BrowserStorage
or go back to localStorage
so existing settings are reused I have no preference; I guess that the move to BrowserStorage
was done for some reason, so fine to move it, but reuse the existing settings is good, so fine to go back as well :-P
Yeah that has to stay, so text, collabora and talk use the same name. Just trying to fix the regression between media settings and the actual call for now. |
For the background i guess the idea was only consistency Cc @ShGKme |
At least consistency, as we have an abstraction for Nextcloud apps. The same as with Axios where we always use In the general case, it also helps to keep values in a specific app scope, less global between apps.
Is the only problem - to keep the current local (in browser) settings for local media settings? |
Well that would be why "reverting" would be better then "going forward with this PR".
I get that, but it's also kind of annoying to break the setting. But either thing needs to be done, so webrtc + media settings save/read from the same place. Currently whatever you do in the media settings is ignored in the call view and vice-versa |
But okay, then let's go forward with this PR :) |
If we want to add migration in the next major (28), then, because of a long cycle, it will be migrated in almost a year in 29... Maybe add it before the 27 rc.1, so it will have a migration during 27 and then remove plain LS in 28? Aka
|
Yeah well, we could immediately remove the migration logic again when stable28 is branched off (if it hurts, but i guess it does not) |
@danxuliu So that works because BrowserStorage still uses localStorage and all the keys just have a prefix but the regex of the keys only checks for the end. spreed/src/store/callViewStore.spec.js Line 101 in 04c973e
If that would be changed to /^callprefs-XXTOKENXX-isgrid$/ it would fail with:
But the missing leading |
c1583c3
to
676d78f
Compare
676d78f
to
372719d
Compare
Except for one issue, all works fine and looks good. Also checked that no other storage item is missed. |
Signed-off-by: Joas Schilling <coding@schilljs.com>
Most values are copy-paste, but efore Talk 17 there was only a boolean `virtualBackgroundEnabled_{token}` (stored as string) for the blur. Now we also need to have a type and the default type is "none". So when migrating the data for conversations the user had previously enabled the background blur we also add the type with value blur. Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Joas Schilling <coding@schilljs.com>
60c4d85
to
c1352e5
Compare
☑️ Resolves
videoDisabled_2790450198
but the media setting setnextcloud_per_dGFsaw==_videoDisabled_2790450198
now both paths are consistent.❓ Questions
nextcloud_per_dGFsaw==_
again. The advantage would be that existing settings would be reused, which I would actually prefer.🏁 Checklist
docs/
has been updated or is not required