Age | Commit message (Collapse) | Author |
|
|
|
|
|
dialog buttons (#5226)"
|
|
repository (#5229)"
|
|
|
|
Some dialog button texts, such as "Cancel" weren't translated as they
are part of Qt's internal translations. This fixes that.
|
|
Upon switching to CMake, we kept using our own fork for the repository because a few fixes for the build were needed.
Now that the upstream repository works correctly as submodule, we can fetch from it directly.
Please note that tests provided in the Opus repository are not built anymore.
Fixes #5223.
|
|
|
|
After 3dc7b00d0919cf2400071deba54ff7f64ee3d9ea, shortcuts saved in the old format would just show up as "Unknown" and not work.
This commit implements a proper migration mechanism, making the shortcuts work without any manual steps.
Mice, keyboards, Xbox (XInput) controllers and Logitech G-keys devices are supported.
Unfortunately shortcuts will have to be registered again for DirectInput devices such as controllers.
The migration is performed silently, unless not 100% successful.
In that case a message box appears informing the user about how many shortcuts could not be migrated.
Please note that running a version of Mumble that uses the old format after the migration results in corruption.
As a result, shortcuts would have to be registered again.
Fixes #5025.
|
|
|
|
PR #5161 introduced a new facet to the synchronization of plugin API
calls in order to avoid the possibility of running into a deadlock.
However the mechanism of using timeouts had the flaw that the dispatched
execution of the API call would access the promise object which lives on
the Stack of the calling wrapper function. In case of a timeout though
that wrapper function may exit, before the actual API implementation
has run. Thus as soon as that function will end up running, it will
access memory that no longer exists as the referenced promise object has
gone out of scope already.
This commit fixes this by creating the promise on the Heap instead and
using a shared pointer on it such that whichever function is the last to
exit, it the one that frees the resource. This guarantees that the
promise is not destructed before it is no longer needed.
|
|
PR #5159 removed a few seemingly unneeded waits on audio system
initialization which drastically sped up Mumble's startup. However as it
turns out for PulseAudio some waiting is actually required as the system
initializes asynchronously but we require the knowledge about the init
result.
Instead of adding an arbitrary wait time again though, this commit adds
a mechanism that waits exactly as long as necessary for the init to be
completed and then continues. That still cuts down the waiting time
tremendously when comparing with the previous (arbitrary) wait time of 1
second.
Fixes #5181
|
|
PR #5152 overhauled the code for the plugin installer such that it
can completely unload a plugin before attempting to overwrite it.
However when the installer is called from the updater, that doesn't work
since the installer itself was still holding a handle to that plugin,
preventing it from unloading. Therefore this commit makes sure that the
installer releases its handle before calling the installer.
Fixes #4946
|
|
This causes a 1 second startup delay per Audio Backend, which at the
moment means 3 seconds on Linux.
Fixes #5157
Fixes #5022
|
|
|
|
The first issue was that the old plugin would simply get overwritten
without at least warning the user that such a thing will take place.
With this commit this is still not guaranteed as plugins can be
installed in different directories in which case no warning is emitted
(the user will end up with two versions of the plugin installed in
parallel).
The second issue was that if a plugin was loaded while it is being
updated, on some OS (e.g. Windows) the corresponding library file is
locked and can thus not be overwritten. Therefore plugins are now
explicitly cleared before an overwrite is attempted.
|
|
Using the API functions from outside the "main thread" would cause them
to block until the request can be processed on the main thread. This
could easily produce a deadlock if used without caution.
These changes add a timeout for this waiting turning preventing
deadlocks because the calling thread won't be blocked indefinitely. In
case of a timeout, a special error code is returned.
|
|
|
|
Previously the plugin installer attempted to select the correct plugin
binary by its file extension but it turns out that this is not a unique
choice (e.g. .so is supported on macOS and on Linux).
Therefore this commit introduces a mandatory manifest file that is to be
present in plugin bundles that contains the mapping for which binary to
use on which OS and for which architecture.
Because a plugin bundle now has to follow such a strict format, it is
now also mandatory for the bundle to have the file extension
.mumble_plugin (previously .zip was allowed as well).
|
|
requestLocalUserTransmissionMode (#5113)" to 1.4.x
Backports the following commits to 1.4.x:
FIX(client, plugin-api): requestLocalUserTransmissionMode (#5113)
|
|
This particular API function was implemented to only set the respective
settings variable. However this would not notify any other code part
about the change resulting in a potential inconsistency between the UI
and the actual settings.
Therefore the implementation now delegates the actual setting of the
transmission mode to MainWindow::setTransmission mode that takes care of
emitting the appropriate signal and informs the user about a change in
transmission mode.
|
|
The channel count and sample rate parameters for this function were
passed in reverse order (compared to the API spec). This would cause
plugins using this callback to calculate buffer sizes (sampleCount *
channelCount) to be vastly too high and therefore they most likely tried
accessing the output buffer at indices outside its actual range.
|
|
On Windows the PluginInstaller was unable to extract certain zip files.
As it turns out the issue was that the filestreams were not opened
in binary mode which threw Poco off in certain situations.
Therefore the fix simply is to use binary mode when working with
these file streams. Note that the used Poco filestream class operates
in binary mode by default.
|
|
There were a few types left that were not prefixed with "Mumble" in one
way or another. In order to avoid name clashes, this was now changed.
Especially enum values are now also prefixed. This is because these are
not enum classes (C doesn't know those) and as such the enum values are
used without a namespace (thus they are effectively global names).
Furthermore the macros STATUS_OK and VERSION_UNKNOWN were turned into
constant variables in order to use the preprocessor as little as
possible.
|
|
The "class" was only used as a namespace anyway. And while we're on it
the entire thing was renamed to "Version" instead of "MumbleVersion".
|
|
The AudioOutputPtr ao holds a reference to the audio output. Calling
wipe() only clears the buffers, but the reference still exists.
When we call restartAudio() without ao going out of scope, then
Audio::stop() will loop endlessly as we are waiting for all audio output
references to clear.
We fix this deadlock by explicitly resetting the shared_ptr ao, such
that it doesn't hold a reference anymore when restartAudio() is called.
Fixes #5081
|
|
If we initialize the stream with 0 channels, the call to connect() will
still succeed. In that case the pipewire callback will crash due to zero
division as chunk->stride and pwo->iChannels will be zero.
We fix this by explicitly initializing the channel number with a sane
value.
Fixes #5075
|
|
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 99.9% (2044 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/pl/
Translation: Mumble/Mumble Client
|
|
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Chinese (Simplified) translation
Currently translated at 100.0% (2045 of 2045 strings)
Co-authored-by: CA_GA_64 <xjdzch@126.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: deluxghost <deluxghost@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/zh_Hans/
Translation: Mumble/Mumble Client
|
|
Currently translated at 100.0% (2045 of 2045 strings)
Co-authored-by: Gert-dev <qnyasgjhapqyuhoibr@kiabws.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/nl/
Translation: Mumble/Mumble Client
|
|
Currently translated at 99.9% (2043 of 2045 strings)
Co-authored-by: Game one <denis.melnyk.2006@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/ru/
Translation: Mumble/Mumble Client
|
|
Currently translated at 13.7% (281 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tomás Correia Marques <tomasmanuelcorreiamarques@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/en_GB/
Translation: Mumble/Mumble Client
|
|
Currently translated at 81.4% (1665 of 2045 strings)
TRANSLATION: Update Hungarian translation
Currently translated at 79.7% (1630 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ViBE <vibe@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/hu/
Translation: Mumble/Mumble Client
|
|
Currently translated at 99.9% (2043 of 2045 strings)
TRANSLATION: Update German translation
Currently translated at 99.9% (2043 of 2045 strings)
TRANSLATION: Update German translation
Currently translated at 99.8% (2041 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robert Adam <dev@robert-adam.de>
Co-authored-by: VfBFan <drop0815@posteo.de>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/de/
Translation: Mumble/Mumble Client
|
|
Currently translated at 100.0% (2045 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/tr/
Translation: Mumble/Mumble Client
|
|
Currently translated at 87.7% (1795 of 2045 strings)
TRANSLATION: Update Korean translation
Currently translated at 85.5% (1749 of 2045 strings)
TRANSLATION: Update Korean translation
Currently translated at 83.1% (1701 of 2045 strings)
TRANSLATION: Update Korean translation
Currently translated at 81.5% (1668 of 2045 strings)
TRANSLATION: Update Korean translation
Currently translated at 81.4% (1665 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Linmalu(린마루) <gkdwns0103@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/ko/
Translation: Mumble/Mumble Client
|
|
Currently translated at 93.0% (1903 of 2045 strings)
TRANSLATION: Update French translation
Currently translated at 93.0% (1903 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Maëva Calmettes <maeva.c@protonmail.com>
Co-authored-by: bendem <online+weblate.org@bendem.be>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/fr/
Translation: Mumble/Mumble Client
|
|
instead of 420x270"
Backport of #5029
|
|
push-to-muted"
Backport of #5038
|
|
The "bPosTest" variable indicates whether we're in the middle of a test.
It causes the user's direction vector to freeze so that it always "looks" straight ahead.
When completing the wizard, accept() is called and thus the variable is set to false again.
However, when the wizard is closed prematurely, reject() is called instead.
|
|
|
|
Push-to-mute requires a constant button press (not togglable), so reminding them that they are muted is not really useful in that case.
|
|
References #4830
Co-authored-by: Robert Adam <dev@robert-adam.de>
|
|
For most images, this results in far better legibility, especially if
they contain text, such as memes or web comics - you
currently need to squint at the screen often, because it's always sized
down to 480x270.
People with windows smaller than that will get a horizontal scroll.
Scrolling is still better than having an image that's illegible because
it's too small, and small images will never be scaled up this way.
800x600 should be okay since 1920x1080 is a very common desktop
resolution by now.
This is a stopgap measure until images can be sized per client.
See also #4830.
|
|
GlobalShortcut_win was using stringstream objects but did not include
the sstream header for it.
|
|
|
|
|
|
Currently translated at 71.4% (1462 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/he/
Translation: Mumble/Mumble Client
|
|
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2045 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Matthaiks <kitynska@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/pl/
Translation: Mumble/Mumble Client
|
|
Currently translated at 93.6% (1916 of 2045 strings)
TRANSLATION: Update Portuguese (Brazil) translation
Currently translated at 93.6% (1916 of 2045 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kett Lovahr <vagnerlunes@gmail.com>
Co-authored-by: Vitor Sabino Cardoso da SIlva <vitorcsilva180396@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/pt_BR/
Translation: Mumble/Mumble Client
|