Before when installing Mumble (on Windows) it could happen that when
viewing the plugin settings, every plugin would be listed multiple
times. This was caused by duplicate entries in the plugins search path
used by Mumble. The duplicates arose from using non-canonical paths in
the set for storing the search paths which allowed to add the same
directory twice by describing its path slightly differently.
This commit makes sure that all paths are first canonicalized before
they are added to the set, such that only distinct paths are maintained.
Fixes#5271
0e17c53 introduced a migration system
from migrating from the old shortcut format to the newer one (on
Windows) but it seems in this new function it was forgotten to check
whether support for GKey and/or XBox-Input was actually included or not.
This could lead to compile errors when e.g. using -Dgkey=OFF when
invoking cmake.
This PR fixes that by adding the mentioned include-guards.
Fixes#5322
Before when installing Mumble (on Windows) it could happen that when
viewing the plugin settings, every plugin would be listed multiple
times. This was caused by duplicate entries in the plugins search path
used by Mumble. The duplicates arose from using non-canonical paths in
the set for storing the search paths which allowed to add the same
directory twice by describing its path slightly differently.
This commit makes sure that all paths are first canonicalized before
they are added to the set, such that only distinct paths are maintained.
Fixes#5271
When joining a server, a client is placed in the root channel by
default. However, this placement was implicit as the server would
explicitly exclude this information to be broadcast with the sent
UserState message.
In order to facilitate external applications to get this all right, this
commit now makes sure that this information is shared explicitly (just
as if the user would be placed in a different channel because the server
remembered their last channel).
Note: This commit also adapts the client code to only move the user if
the specified channel is not its current channel already, but even
without this change, the client code will handle the additional
information gracefully.
Fixes#5270
0e17c5394c introduced a migration system
from migrating from the old shortcut format to the newer one (on
Windows) but it seems in this new function it was forgotten to check
whether support for GKey and/or XBox-Input was actually included or not.
This could lead to compile errors when e.g. using -Dgkey=OFF when
invoking cmake.
This commit fixes that by adding the mentioned include-guards.
Fixes#5322
Our global shortcut system currently doesn't work when using Wayland
(#5257). Therefore, this
commit makes sure that the global shortcut system is not even started
on such systems. Furthermore, it informs the user about the shortcuts
being disabled.
Currently, obtaining and validating the peer's certificate chain is a mess. While obtaining the chain (which is ordered, starting with the peer's immediate certificate and ending with the CA's certificate), the peers immediate certificate is added again, as last certificate. Then, while validating, the last certificate is checked. This approach works (since the validated certificate is the one that is expliticly added), but puts the whole concept of a ordered certificate chain to absurdity.
This commit fixes that. First, the chain it is returned unaltered in its original form (ordered and starting with the peer's immediate certificate and ending with the CA's certificate). Then, while validating, the first certificate in this chain is checked.
Currently, obtaining and validating the peer's certificate chain is a mess. While obtaining the chain (which is ordered, starting with the peer's immediate certificate and ending with the CA's certificate), the peers immediate certificate is added again, as last certificate. Then, while validating, the last certificate is checked. This approach works (since the validated certificate is the one that is expliticly added), but puts the whole concept of a ordered certificate chain to absurdity.
This commit fixes that. First, the chain it is returned unaltered in its original form (ordered and starting with the peer's immediate certificate and ending with the CA's certificate). Then, while validating, the first certificate in this chain is checked.
Fixes#3523 (partially)
This commit adds a new server-configuration that can be used in the
murmur.ini file. It can be used to forbid anyone on the server from
using Mumble's built-in recording functionality.
Any client trying to start a recording nonetheless, will be kicked from
the server.
From Mumble 1.5.0 clients will know about this configuration and will
disable the recording action in the UI, if recording is not allowed on
the server.
Additionally this PR also fixes/revamps two other small issues related
to the recording feature.
The recording button is now disabled by default. It gets enabled only
when connected to a server (that allows recording). This is done because
the recording feature can't be used without a server connection anyway
(doing so will result in an error popup). Thus this restriction is now
reflected in the UI as well.
This commit adds a new server-configuration that can be used in the
murmur.ini file. It can be used to forbid anyone on the server from
using Mumble's built-in recording functionality.
Any client trying to start a recording nonetheless, will be kicked from
the server.
From Mumble 1.5.0 clients will know about this configuration and will
disable the recording action in the UI, if recording is not allowed on
the server.
Our global shortcut system currently doesn't work when using Wayland
(https://github.com/mumble-voip/mumble/issues/5257). Therefore, this
commit makes sure that the global shortcut system is not even started
on such systems. Furthermore, it informs the user about the shortcuts
being disabled.
Fixes#5303
When excluding the manual plugin from the build (-Dmanual-plugin=OFF),
the compilation would fail due to the ManualPlugin.h header being
included in certain files nonetheless.
As it turns out the include was superfluous in the PluginConfig.cpp
file and in PluginManager.cpp the include is now shielded by a proper
ifdef-guard.
Fixes#5304
Due to this missing include, a build error would occur when compiling
without the manual plugin (which presumably caused the include to be
resolved indirectly).
If the used audio output system was bogus and therefore configured to
use a 0Hz sample rate, starting a recording would crash Mumble due to an
assertion in the VoiceRecorder class.
This commit adds a check for this situation and instead of crashing
Mumble, this will log a warning message to the console and close the
VoiceRecorderDialog instead.
Previously the maximum allowed value for the "silent user lifetime"
setting (affecting the TalkingUI) was 99 (apparently Qt's default for
spin boxes). However, this prevented users from keeping recent speakers
visible for a couple of minutes, which might be desirable (especially in
a situation in which Mumble is only running in the background while one
is doing other stuff).
Previously the maximum allowed value for the "silent user lifetime"
setting (affecting the TalkingUI) was 99 (apparently Qt's default for
spin boxes). However, this prevented users from keeping recent speakers
visible for a couple of minutes, which might be desirable (especially in
a situation in which Mumble is only running in the background while one
is doing other stuff).
In #4875 we changed the comparing between users to be locale-unaware.
During this change, the sorting was made case-sensitive, whereas before
it (potentially) was not.
However, intuitively a user will expect a case-insensitive ordering of
users in the UI. The only problem with that is that a case-insensitive
comparison will not yield a strong ordering between users that use
usernames that only differ in casing (e.g. "tom" and "Tom").
In order to avoid this problem, we now first perform a case-insensitive
comparison and fall back to a case-sensitive one, should the first
comparison yield "equal".
Fixes#5293
In #4875 we changed the comparing between users to be locale-unaware.
During this change, the sorting was made case-sensitive, whereas before
it (potentially) was not.
However, intuitively a user will expect a case-insensitive ordering of
users in the UI. The only problem with that is that a case-insensitive
comparison will not yield a strong ordering between users that use
usernames that only differ in casing (e.g. "tom" and "Tom").
In order to avoid this problem, we now first perform a case-insensitive
comparison and fall back to a case-sensitive one, should the first
comparison yield "equal".
Fixes#5293
Previously, when switching input/output devices at the system level, Mumble would ignore the switch and continue to use the previous device. This patch adds support for proper device switching, allowing Mumble to correctly follow the system input/output device.
Fixes#1013
Previously, when switching input/output devices at the system level, Mumble would ignore the switch and continue to use the previous device. This patch adds support for proper device switching, allowing Mumble to correctly follow the system input/output device.
Fixes#1013
Currently translated at 100.0% (2078 of 2078 strings)
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/zh_Hans/
Translation: Mumble/Mumble Client
Currently translated at 100.0% (2078 of 2078 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robert Adam <dev@robert-adam.de>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/de/
Translation: Mumble/Mumble Client