Commit Graph

6287 Commits

Author SHA1 Message Date
Robert Adam
3f4b00a425 FEAT: Make channel listeners persistent on server
For registered users, the server will now remember their channel
listeners (and their volume adjustments) and will restore them once the
user rejoins this server.
2022-09-12 12:42:01 +02:00
Robert Adam
b81b06001d MAINT: Rename Murmur.ice to MumbleServer.ice 2022-09-10 17:28:34 +02:00
Robert Adam
09a17879f8 BUILD(cmake): Use EXCLUDE_FROM_ALL for 3rdparty subdirs
This prevents adding all targets in said subdirectories to the ALL
target by default. Instead, only those targets that are explicitly
referenced (e.g. via target_link_libraries) are built.

This also has the side-effect that any install-directives in these
subdirectories are also ignored for the default install targets which
prevents these libraries of unconditionally installing themselves when
issuing a make install. Instead, we now have to make any 3rdparty
component that we do indeed want to install, do so explicitly (e.g. via
install_library()).
2022-09-10 17:28:34 +02:00
Robert Adam
703af920d8 BUILD(cmake): Always keep absolute install paths around
Previously we would define our install paths as relative paths when
using the packaging option and turning them into absolute paths
otherwise.

While relative paths are required for CPack to work properly, we use
the paths e.g. for passing them in via macros and there we absolutely
require the full, absolute paths to be passed.

Thus, this commit removed the discrepancy of the results when built with
packagin=ON vs packagin=OFF and now always defines the install paths as
relative paths. However, we now keep an additional set of paths around
that are now always absolute.
2022-09-10 17:28:34 +02:00
Robert Adam
077c58453b BUILD: Ensure aux files always use correct names
The auxiliary files will now make use of configure_file in order to
ensure that e.g. the binary names used in them always match the names of
the actually built binaries.
2022-09-10 17:28:34 +02:00
Robert Adam
bf2ee8578c FIX(server): Look for mumble-server* files
Previously the server was only looking for files named e.g. murmur.ini
or murmur.sqlite. With this commit, the server will now look first for
files called mumble_server.ini and mumble_server.sqlite before falling
back to the old names (for backwards compatibility).

This is meant as a means to drive forward the server renaming from
murmur(d) to mumble-server.
2022-09-10 17:28:34 +02:00
Robert Adam
406ce93b47 MAINT: Use separate directory for auxiliary files 2022-09-10 17:28:34 +02:00
Robert Adam
4b6aabe5ac BUILD(cmake): Consistently make use of ICE_FILE var 2022-09-10 17:28:34 +02:00
Robert Adam
af7b4d7d18 MAINT: Moved g15helper/ to helpers/ dir 2022-09-10 17:28:34 +02:00
Robert Adam
6783a766ce TRANSLATION: Update translation files 2022-09-10 17:28:33 +02:00
Robert Adam
5873ba4fdd BUILD: Auto-generate licenses.h 2022-09-10 17:28:33 +02:00
Robert Adam
0f5a5a6cb9 BUILD: Auto-generate flag QRC file 2022-09-10 17:10:14 +02:00
Robert Adam
9eb33c6f58 BUILD: Auto-generate MurmurIceWrapper.cpp 2022-09-10 17:10:14 +02:00
Robert Adam
32d4ead80a BUILD: Produce more meaningful build output 2022-09-10 17:10:14 +02:00
Robert Adam
067f7e866e BUILD: Auto-generate FFDHETable.h 2022-09-10 17:10:14 +02:00
Robert Adam
6716bdf526 BUILD(client): Auto-generate ApplicationPalette.h
Instead of having this file be part of the regular source tree, we now
generate it on-the-fly instead.
2022-09-10 17:10:14 +02:00
Robert Adam
9f184fe6d6 FORMAT: Don't clang-format ApplicationPaletteTemplate.h
Applying clang-format to this source file actually invalidates the
file's syntax rendering it un-parseable by the
generate-ApplicationPalette-class.py script.
2022-09-10 17:10:14 +02:00
Robert Adam
7f47d120c5 TRANSLATION: Update translation files 2022-09-10 10:29:37 +02:00
Robert Adam
4d05018c2e CHANGE(client): Drop support for all legacy codecs
Opus has been the go-to codec for years now and there is absolutely no
reason why one would want to use any of the legacy codecs (Speex or
CELT) its stead.

Thus, this commit completely removes the support for these codecs from
the Mumble client.

Incidentally, having different codecs available somehow even caused some
audio artifacts, which should now be resolved as well.

Fixes #4538
2022-09-10 10:29:12 +02:00
Robert Adam
0f2b694a18 MAINT: Remove old precompiled headers
These headers are not used anymore (since the switch from qmake to
cmake).
2022-09-10 10:29:12 +02:00
Robert Adam
89de08349d TRANSLATION: Update translation files 2022-09-09 19:38:39 +02:00
Hosted Weblate
62ec5a84c8
TRANSLATION: Update Turkish translation
Currently translated at 100.0% (2099 of 2099 strings)

TRANSLATION: Update Turkish translation

Currently translated at 100.0% (2095 of 2095 strings)

TRANSLATION: Update Turkish translation

Currently translated at 100.0% (2093 of 2093 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/tr/
Translation: Mumble/Mumble Client
2022-09-09 19:37:29 +02:00
Hosted Weblate
5f84e94d98
TRANSLATION: Update German translation
Currently translated at 100.0% (2095 of 2095 strings)

TRANSLATION: Update German translation

Currently translated at 99.9% (2094 of 2095 strings)

TRANSLATION: Update German translation

Currently translated at 99.9% (2092 of 2093 strings)

TRANSLATION: Update German translation

Currently translated at 99.9% (2092 of 2093 strings)

TRANSLATION: Update German translation

Currently translated at 100.0% (2093 of 2093 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robert Adam <dev@robert-adam.de>
Co-authored-by: Vri 🌈 <weblate@vrifox.cc>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/de/
Translation: Mumble/Mumble Client
2022-09-09 19:37:29 +02:00
Hosted Weblate
164a614874
TRANSLATION: Update French translation
Currently translated at 100.0% (2093 of 2093 strings)

TRANSLATION: Update French translation

Currently translated at 100.0% (2101 of 2101 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: John Doe <thraex@numericable.fr>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/fr/
Translation: Mumble/Mumble Client
2022-09-09 19:37:28 +02:00
Hosted Weblate
9804d97f0a
TRANSLATION: Update Occitan translation
Currently translated at 27.6% (579 of 2093 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Quentin PAGÈS <quentinantonin@free.fr>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/oc/
Translation: Mumble/Mumble Client
2022-09-09 19:37:28 +02:00
Hosted Weblate
1638a18a15
TRANSLATION: Update Swedish translation
Currently translated at 96.7% (2025 of 2093 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/sv/
Translation: Mumble/Mumble Client
2022-09-09 19:37:28 +02:00
Hosted Weblate
3a905a1fc1
TRANSLATION: Update Norwegian Bokmål translation
Currently translated at 90.4% (1898 of 2099 strings)

TRANSLATION: Update Norwegian Bokmål translation

Currently translated at 90.2% (1892 of 2096 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/nb_NO/
Translation: Mumble/Mumble Client
2022-09-09 19:37:28 +02:00
Hosted Weblate
b157d8615c
TRANSLATION: Update Polish translation
Currently translated at 100.0% (2099 of 2099 strings)

TRANSLATION: Update Polish translation

Currently translated at 100.0% (2096 of 2096 strings)

TRANSLATION: Update Polish translation

Currently translated at 100.0% (2095 of 2095 strings)

TRANSLATION: Update Polish translation

Currently translated at 100.0% (2093 of 2093 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
2022-09-09 19:37:28 +02:00
Hosted Weblate
347d0b7350
TRANSLATION: Update Ukrainian translation
Currently translated at 5.9% (125 of 2095 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Tymofii Lytvynenko <till.svit@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/uk/
Translation: Mumble/Mumble Client
2022-09-09 19:37:27 +02:00
Hosted Weblate
45ab0e20cd
TRANSLATION: Update Chinese (Simplified) translation
Currently translated at 99.9% (2097 of 2099 strings)

TRANSLATION: Update Chinese (Simplified) translation

Currently translated at 100.0% (2096 of 2096 strings)

TRANSLATION: Update Chinese (Simplified) translation

Currently translated at 100.0% (2095 of 2095 strings)

TRANSLATION: Update Chinese (Simplified) translation

Currently translated at 100.0% (2093 of 2093 strings)

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
2022-09-09 19:37:27 +02:00
Hosted Weblate
32bffa7789
TRANSLATION: Update Slovak translation
Currently translated at 1.0% (22 of 2093 strings)

Co-authored-by: BRN Systems <brnsystems123@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/sk/
Translation: Mumble/Mumble Client
2022-09-09 19:37:27 +02:00
Robert Adam
7c069ca686
Merge PR #4636: FEAT(client): Adds shortcut to listen to a channel
This introduces a new global shortcut that can be used to start or stop
listening to a configured channel.

Fixes #4486
2022-09-09 14:01:38 +02:00
Robert Adam
61ff688da0 TRANSLATION: Update translation files 2022-09-09 13:03:49 +02:00
Robert Adam
62f087fb3a FEAT(client): Add shortcut to listen to a channel
This introduces a new global shortcut that can be used to start or stop
listening to a configured channel.

Fixes #4486

Co-Authored-By: timjwkim <timjwkim@umich.edu>
2022-09-09 13:03:49 +02:00
Robert Adam
a8b98487d4 FIX(client): Clear shortcut data also for user-types
Up to now the logic for clearing shortcut data upon a change in the
shortcut config window was to see if the type() of the current data
matches that of the shortcut's default data. However, for user-defined
types QVariant::type() always returns QVariant::UserType and thus
different user-defined types could not be distinguished.

If we instead use QVariant::userType(), this problem does no longer
exist.
2022-09-09 13:03:49 +02:00
Robert Adam
7c08eaba1e FIX(client): Explicitly store shortcut type in DB
When storing shortcuts in the database (which happens only for
server-specific shortcuts), the assumption has been that the type of the
stored shortcut is always "Whisper/Shout" because up to now this is the
only shortcut that can be server-specific.

However, this approach is not very future-proof, which is why this
commit makes sure that from now on, we explicitly store the type of the
shortcut as well.
2022-09-09 13:03:47 +02:00
Robert Adam
3c5c411d4b REFAC(client): Use constants for shortcut types/IDs 2022-09-09 12:54:06 +02:00
Robert Adam
70082df9e6 TRANSLATION: Update translation files 2022-09-09 10:04:31 +02:00
Kartik K Khullar
3c77f48cc7 FEAT(client): Warn for pos. audio with mono output
As requested in #5238 this commit adds a warning message in the chat
when positional audio is enabled on mono output device.

Fixes #5238
2022-09-09 10:04:28 +02:00
Robert Adam
a400356548
Merge PR #5837: FIX(client, server): Fix patch versions > 255
Previously, the Mumble version was encoded with a uint32
in the network protocol reserving 2 bytes for the major
component and 1 byte for each minor and patch.
The versioning format was changed to include a build
number in the patch field. With a recent update (1.4.274)
the patch field exceeded 255 for the first time and broke
the protocol version.

This commit completely reworks how the version is stored
internally and transfered with the network protocol.
The new version is a uint64 and consists of 4 fields with
2 bytes each. This allows each version component to reach
up to 65535. Furthermore, all instances of integer version
types have been replaced with the alias Version::full_t for
a better abstraction. Version literals have been replaced by
Version::fromComponents calls.

Fixes #5827
2022-09-08 18:15:59 +02:00
Robert Adam
d4a0d1e017 TEST: Add test-cases for new Version impl 2022-09-08 17:09:25 +02:00
Robert Adam
033467b918 DOCS: Fix invalid URL in source comment
Fixes #2743
2022-09-08 16:17:31 +02:00
Robert Adam
2031f21d02 BUILD: Make benchmarks compile again 2022-09-08 10:47:53 +02:00
Hartmnt
bacb371f83 REFAC(client, server): Rename uiVersion to m_version
Renames the internal version member variables from "uiVersion"
to "m_version"
2022-09-08 10:47:39 +02:00
Hartmnt
6dd2b31974 TRANSLATION: Update translation files 2022-09-08 10:45:53 +02:00
Hartmnt
79762ce55e FIX(client, server): Fix patch versions > 255
Previously, the Mumble version was encoded with a uint32
in the network protocol reserving 2 bytes for the major
component and 1 byte for each minor and patch.
The versioning format was changed to include a build
number in the patch field. With a recent update (1.4.274)
the patch field exceeded 255 for the first time and broke
the protocol version.

This commit completely reworks how the version is stored
internally and transfered with the network protocol.
The new version is a uint64 and consists of 4 fields with
2 bytes each. This allows each version component to reach
up to 65535. Furthermore, all instances of integer version
types have been replaced with the alias Version::full_t for
a better abstraction. Version literals have been replaced by
Version::fromComponents calls.

Fixes #5827
2022-09-08 10:45:47 +02:00
Robert Adam
3a5788a365 BUILD: Always build Tracy as static library
This has the advantage of not creating a dependency on the respective
.so/.dll which will be present, even if Tracy support is actually
disabled for the binary. This in turn can cause some issues for
packagers.
2022-08-30 19:13:45 +02:00
Robert Adam
6067c4a56e
Merge PR #5820: FIX(client, ui): resolve log text scaling issues
Fixed chat log scaling issue introduced by PR #5619
The bug fixed by that commit is still fixed after this PR, but the
regression introduced has been resolved.

Fixes #5818
2022-08-27 14:29:28 +02:00
Dexter Gaon-Shatford
ece450aa3d FIX(client, ui): resolve log text scaling issues
Fixed chat log scaling issue introduced by PR #5619 (my fault, whoops)
The bug fixed by that commit is still fixed after this PR, but the
regression introduced has been resolved.

Fixes #5818
2022-08-25 11:22:51 -04:00
Robert Adam
df3e1f1f47
Merge PR #5834: FIX(client, ui): Don't allow manual toggling of minimal view note
In 39047d2 a new note was added for
when a user enters minimal view but is not connected to a server.
Incidentally, this caused the new note to appear in the popup menu
appearing as a context menu when using a custom layout, which in theory
would allow a manual toggling of that note's visibility. However, this
is not what we want and thus this commit makes sure that this popup menu
only contains entries for UI elements that we really want to be manually
toggelable.
2022-08-25 17:18:09 +02:00