BetterDiscord-Plugins icon indicating copy to clipboard operation
BetterDiscord-Plugins copied to clipboard

BetterVolume returning to 200 volume after changing it.

Open DARKBOW923 opened this issue 2 years ago • 23 comments

Basically the title, if you change your volume, it will return to 200 again.

DARKBOW923 avatar Apr 10 '23 21:04 DARKBOW923

same issue

DungeonManager3051 avatar Apr 11 '23 10:04 DungeonManager3051

Same issue with latest patch

Lorderite avatar Apr 20 '23 14:04 Lorderite

Did the plugin ask about disabling the experiment the first time you started it? Is the experiment disable in the plugin settings panel toggled on, off or greyed out?

Zerthox avatar Apr 20 '23 15:04 Zerthox

hey same issue for me and at least for me "disable audio experiment" is enabled in the plugin settings

OnyXWolve avatar Apr 28 '23 17:04 OnyXWolve

I left a comment about this in issue #137 with some further info: https://github.com/Zerthox/BetterDiscord-Plugins/issues/137#issuecomment-1493252090

The 2.3.2-rc.1 version is still working for me, although I have to manually turn the plugin off then back on for the fix to work, every time Discord restarts.

pickanothername avatar May 02 '23 09:05 pickanothername

Still happening even though "disable audio experiment" is turned on

Enrico9431 avatar Jul 28 '23 03:07 Enrico9431

Once again occurring, switched back to 2.3.2 and its working with the older version of the plugin so far.

HajimeSait0 avatar Aug 10 '23 21:08 HajimeSait0

Does turning the disable experiment setting off and back on work with v2.4.0? The only relevant difference between the two versions I can think of is at which point the plugin checks if the experiment is present. If that is the issue, I believe the disable toggle should end up being greyed out in the v2.4.0 settings panel.

Zerthox avatar Aug 13 '23 17:08 Zerthox

For me, 2.4.0 doesn't ever work. Only 2.3.2-rc.1, and only when I disable and re-enable the plugin.

pickanothername avatar Aug 14 '23 07:08 pickanothername

Experimental version with changed experiment handling & additional logging: https://gist.github.com/Zerthox/e32580591286b4c726d36282c540e2c9 image Let me know how it behaves and if you can, please provide the logged information. (To do so enable DevTools in BetterDiscord developer settings and press Ctrl+Shift+I.)

Zerthox avatar Aug 14 '23 14:08 Zerthox

Still resetting the volume to 200% every restart of Discord for me.

wizacs avatar Aug 20 '23 18:08 wizacs

Experimental version with changed experiment handling & additional logging: gist.github.com/Zerthox/e32580591286b4c726d36282c540e2c9 image Let me know how it behaves and if you can, please provide the logged information. (To do so enable DevTools in BetterDiscord developer settings and press Ctrl+Shift+I.)

So far, this version seems to have fixed it! Great work! Here's the log when enabling the plugin (the only log output I got):

3ec345178a3bd5d85874.js:537 [BetterVolume] (v2.5.0-rc.1) Enabled
3ec345178a3bd5d85874.js:537 [BetterVolume] (v2.5.0-rc.1) Experiments already loaded
3ec345178a3bd5d85874.js:537 [BetterVolume] (v2.5.0-rc.1) Initial experiment bucket -1
3ec345178a3bd5d85874.js:537 [BetterVolume] (v2.5.0-rc.1) Patched useUserVolumeItem

pickanothername avatar Sep 08 '23 04:09 pickanothername

Update: Unfortunately the issue is back- looks like the behavior of v2.5.0-rc.1 is the same as v2.4.0. So for now I'll have to revert to v2.3.2-rc.1, which is the only version which consistently fixes the issue when the plugin is disabled then re-enabled.

Here's the log when the volume resets to 200%:

3ec345178a3bd5d85874.js:592          PATCH https://discord.com/api/v9/users/@me/settings-proto/1 400
5c193e4366261ef233e1.js:7916 Uncaught (in promise) {ok: false, headers: {…}, body: {…}, text: '{"message": "User Settings failed validation: p.volume is not in range (200, 0)", "code": 50105}', status: 400, …}

Here's the full/expanded log

pickanothername avatar Sep 10 '23 07:09 pickanothername

Update: Unfortunately the issue is back- looks like the behavior of v2.5.0-rc.1 is the same as v2.4.0. So for now I'll have to revert to v2.3.2-rc.1, which is the only version which consistently fixes the issue when the plugin is disabled then re-enabled.

Here's the log when the volume resets to 200%:

3ec345178a3bd5d85874.js:592          PATCH https://discord.com/api/v9/users/@me/settings-proto/1 400
5c193e4366261ef233e1.js:7916 Uncaught (in promise) {ok: false, headers: {…}, body: {…}, text: '{"message": "User Settings failed validation: p.volume is not in range (200, 0)", "code": 50105}', status: 400, …}

The error is your client failing to save the volume on the server because it is out of range (> 200%). This means the experiment did not turn off. Could you check for all messages in the console starting with [BetterVolume] while running v2.5.0-rc.1?

Zerthox avatar Sep 10 '23 17:09 Zerthox

Update: Unfortunately the issue is back- looks like the behavior of v2.5.0-rc.1 is the same as v2.4.0. So for now I'll have to revert to v2.3.2-rc.1, which is the only version which consistently fixes the issue when the plugin is disabled then re-enabled. Here's the log when the volume resets to 200%:

3ec345178a3bd5d85874.js:592          PATCH https://discord.com/api/v9/users/@me/settings-proto/1 400
5c193e4366261ef233e1.js:7916 Uncaught (in promise) {ok: false, headers: {…}, body: {…}, text: '{"message": "User Settings failed validation: p.volume is not in range (200, 0)", "code": 50105}', status: 400, …}

The error is your client failing to save the volume on the server because it is out of range (> 200%). This means the experiment did not turn off. Could you check for all messages in the console starting with [BetterVolume] while running v2.5.0-rc.1?

Sure, here's the full log:

3ec3451….js:537 [BetterVolume] (v2.5.0-rc.1) Enabled
3ec3451….js:537 [BetterVolume] (v2.5.0-rc.1) Experiments already loaded
3ec3451….js:537 [BetterVolume] (v2.5.0-rc.1) Initial experiment bucket 1
3ec3451….js:537 [BetterVolume] (v2.5.0-rc.1) Patched useUserVolumeItem
3ec3451….js:537 [discord_protos.discord_users.v1.PreloadedUserSettings] Updating audioContextSettings with delay 0
3ec3451….js:537 [discord_protos.discord_users.v1.PreloadedUserSettings] Scheduling save from markDirty
3ec3451….js:537 [discord_protos.discord_users.v1.PreloadedUserSettings] Persisting proto
3ec3451….js:592 
 PATCH https://discord.com/api/v9/users/@me/settings-proto/1 400
3ec3451….js:537 [discord_protos.discord_users.v1.PreloadedUserSettings] Reloading do to invalid data
3ec3451….js:537 [discord_protos.discord_users.v1.PreloadedUserSettings] Loading proto
5c193e4….js:7916 Uncaught (in promise) 
{ok: false, headers: {…}, body: {…}, text: '{"message": "User Settings failed validation: p.volume is not in range (200, 0)", "code": 50105}', status: 400, …}

pickanothername avatar Sep 11 '23 07:09 pickanothername

Did you enable the experiment override in the plugin settings? The logged information suggests everything is working fine but the setting is toggled off.

Zerthox avatar Sep 11 '23 09:09 Zerthox

Did you enable the experiment override in the plugin settings? The logged information suggests everything is working fine but the setting is toggled off.

Ah, it looks like it had been disabled, oops! Now the behavior of this version is the same as v2.3.2-rc.1.

After some further investigation, it looks like what's happening is that after some time, the experiment re-enables itself. I haven't been able to figure out when this is happening, nor find anything in the console about it.

This is why restarting the plugin resolves the issue- because it re-disables the experiment. So I guess the key is figuring out what criteria causes the experiment to re-enable, be it time-based or otherwise. Maybe it's when Discord updates? I'll check next time there's an update available.

pickanothername avatar Sep 13 '23 09:09 pickanothername

Here's the log after trying to set a high volume, after the experiment seems to have been re-enabled. No recent Discord updates as far as I recall.

3460b9097c39621876ca.js:536 [discord_protos.discord_users.v1.PreloadedUserSettings] Updating audioContextSettings with delay 0
3460b9097c39621876ca.js:536 [discord_protos.discord_users.v1.PreloadedUserSettings] Scheduling save from markDirty
3460b9097c39621876ca.js:536 [discord_protos.discord_users.v1.PreloadedUserSettings] Persisting proto
3460b9097c39621876ca.js:591          PATCH https://discord.com/api/v9/users/@me/settings-proto/1 400
	(anonymous) @ 3460b9097c39621876ca.js:591
	(anonymous) @ 3460b9097c39621876ca.js:539
	I._end @ 92b3cee08e721043538d.js:2048
	I.end @ 92b3cee08e721043538d.js:2047
	(anonymous) @ 92b3cee08e721043538d.js:2052
	o.then @ 92b3cee08e721043538d.js:2052
	m @ 92b3cee08e721043538d.js:10188
	(anonymous) @ 92b3cee08e721043538d.js:10190
	T @ 92b3cee08e721043538d.js:10190
	(anonymous) @ 92b3cee08e721043538d.js:7946
	(anonymous) @ 92b3cee08e721043538d.js:7944
	(anonymous) @ 92b3cee08e721043538d.js:7944
	y @ 92b3cee08e721043538d.js:7942
	a @ 92b3cee08e721043538d.js:7942
	(anonymous) @ 92b3cee08e721043538d.js:7943
	(anonymous) @ 92b3cee08e721043538d.js:7942
	n @ 3460b9097c39621876ca.js:565
	setTimeout (async)
	(anonymous) @ 3460b9097c39621876ca.js:591
	t.markDirty @ 92b3cee08e721043538d.js:7948
	(anonymous) @ 92b3cee08e721043538d.js:7948
	(anonymous) @ 92b3cee08e721043538d.js:7944
	(anonymous) @ 92b3cee08e721043538d.js:7944
	y @ 92b3cee08e721043538d.js:7942
	a @ 92b3cee08e721043538d.js:7942
	Promise.then (async)
	y @ 92b3cee08e721043538d.js:7942
	a @ 92b3cee08e721043538d.js:7942
	(anonymous) @ 92b3cee08e721043538d.js:7943
	(anonymous) @ 92b3cee08e721043538d.js:7942
	t.updateAsync @ 92b3cee08e721043538d.js:7948
	V @ 92b3cee08e721043538d.js:7890
	(anonymous) @ 92b3cee08e721043538d.js:7890
	T @ 3460b9097c39621876ca.js:266
	d @ 3460b9097c39621876ca.js:267
	N @ 3460b9097c39621876ca.js:266
	n @ 3460b9097c39621876ca.js:565
	setTimeout (async)
	(anonymous) @ 3460b9097c39621876ca.js:591
	Pi @ 3460b9097c39621876ca.js:261
	N @ 3460b9097c39621876ca.js:266
	n @ 3460b9097c39621876ca.js:565
	setTimeout (async)
	(anonymous) @ 3460b9097c39621876ca.js:591
	Pi @ 3460b9097c39621876ca.js:261
	A @ 3460b9097c39621876ca.js:266
	O @ 3460b9097c39621876ca.js:267
	(anonymous) @ 92b3cee08e721043538d.js:7891
	j @ 92b3cee08e721043538d.js:7891
	(anonymous) @ 92b3cee08e721043538d.js:10180
	(anonymous) @ 92b3cee08e721043538d.js:10180
	(anonymous) @ 92b3cee08e721043538d.js:10169
	t._dispatch @ 92b3cee08e721043538d.js:10180
	(anonymous) @ 92b3cee08e721043538d.js:10179
	i.log @ 92b3cee08e721043538d.js:10169
	t._dispatchWithLogging @ 92b3cee08e721043538d.js:10179
	t._dispatchWithDevtools @ 92b3cee08e721043538d.js:10179
	(anonymous) @ 92b3cee08e721043538d.js:10178
	t.flushWaitQueue @ 92b3cee08e721043538d.js:10179
	(anonymous) @ 92b3cee08e721043538d.js:10178
	t.dispatch @ 92b3cee08e721043538d.js:10178
	setLocalVolume @ 92b3cee08e721043538d.js:2288
	onChange @ BetterVolume.plugin.js:430
	onChange @ BetterVolume.plugin.js:354
	Me @ 92b3cee08e721043538d.js:1758
	je @ 92b3cee08e721043538d.js:1758
	(anonymous) @ 92b3cee08e721043538d.js:1779
	Ur @ 92b3cee08e721043538d.js:1779
	Gr @ 92b3cee08e721043538d.js:1779
	(anonymous) @ 92b3cee08e721043538d.js:1785
	cc @ 92b3cee08e721043538d.js:1850
	Le @ 92b3cee08e721043538d.js:1757
	Yr @ 92b3cee08e721043538d.js:1781
	Kt @ 92b3cee08e721043538d.js:1764
	Zt @ 92b3cee08e721043538d.js:1764
	n @ 3460b9097c39621876ca.js:565
3460b9097c39621876ca.js:536 [discord_protos.discord_users.v1.PreloadedUserSettings] Reloading do to invalid data
3460b9097c39621876ca.js:536 [discord_protos.discord_users.v1.PreloadedUserSettings] Loading proto
92b3cee08e721043538d.js:7942 Uncaught (in promise) {ok: false, headers: {…}, body: {…}, text: '{"message": "User Settings failed validation: p.volume is not in range (200, 0)", "code": 50105}', status: 400, …}

pickanothername avatar Sep 18 '23 06:09 pickanothername

it's happening again image

zuzumi-f avatar Oct 08 '23 03:10 zuzumi-f

Setting over 200% reverts back to 200% for me as well, resetting and reanabling the addon temporary fixes it, but restart discord breaks it again.

jcliu0 avatar Dec 21 '23 05:12 jcliu0

Hey my friend got the same-ish problem, except that if it goes over 200% it change right after to a negative value. Resetting is not working and the "Disable Audio experiment" cant be turned on.

kaz880 avatar Mar 01 '24 02:03 kaz880

Hey my friend got the same-ish problem, except that if it goes over 200% it change right after to a negative value. Resetting is not working and the "Disable Audio experiment" cant be turned on.

Yes, as of a recent update the volume now resets to 8.27% or something like that for me as well. Quite annoying! Restarting the plugin fixes it.

@Zerthox The more I've dealt with it, the more confident I am that it has to do with plugin loading order. On startup, something (maybe another plugin, maybe a BD/Discord script) loads after the BetterVolume plugin that breaks it. That's why restarting the BetterVolume plugin fixes it. Because it forces it to load last.

pickanothername avatar Mar 01 '24 03:03 pickanothername

FWIW Vencord's plugin works well

pipe01 avatar Jun 30 '24 13:06 pipe01

Is there a fix for that issue? Since few day I also struggle with this out of a sudden and I really can't fix it. Doesn't matter which version of the plugin or if the Audio Experiment is disabled or not...

Pittssburgh avatar Aug 08 '24 17:08 Pittssburgh

Yeah I think as of this week it’s no longer an experiment, so it can’t be disabled. We need to find another workaround.On Aug 8, 2024, at 10:36 AM, Pittssburgh @.***> wrote: Is there a fix for that issue? Since few day I also struggle with this out of a sudden and I really can't fix it. Doesn't matter which version of the plugin or if the Audio Experiment is disabled or not...

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

pickanothername avatar Aug 08 '24 21:08 pickanothername

Closing this, further discussion can happen in #177.

Zerthox avatar Aug 09 '24 23:08 Zerthox