Commit Graph

8715 Commits

Author SHA1 Message Date
MumbleTransifexBot
9e8b9afaad Transifex translation update
Mode: default
Minimum percent translated: 0
Matched 45 languages
2020-12-19 20:45:57 +01:00
Robert Adam
675c04632c
Merge pull request #4627: FEAT(client): Disable TTS by default
Fixes #4626
2020-12-18 10:12:15 +01:00
Robert Adam
d408deb246
Merge pull request #4633: FIX: Revert audio corking (PulseAudio)
This reverts commit 7d0b933.

The issue with theses changes is that they cause
AudioInput::encodeAudioframe from no longer being called if the user is
muted. The functionality packed inside the mentioned function relies on
being continually being called even if there is no audio to send.

Thus no longer calling them affects the following things (maybe more):

    local user's talking state (can get stuck in a certain state)
    Audio cues for begin/end of a transmission
    Idle actions
    Framesize stuffing when using Opus
    Resetting of certain variables (iBitrate)
    Clearing/Handling of whisper targets (for last audio frame)
    Properly updating bPreviousVoice

In order to use the changes originally made by that commit, the audio
system has to be refactored first so that these things no longer rely on
this function being called continuously.

Ref: #171
Old workaround for parts of this issue: #4018
2020-12-16 11:55:11 +01:00
Robert Adam
4303b13f1b
Merge pull request #4635: FIX(client, talking-ui): Icon size initialized incorrectly
If the font size for the TalkingUI was set to something different than
100%, the TalkingUI's icon sizes would be incorrect.
This is due to the icon size being initialized to the widget's
font-size. This doesn't seem to have been affected by inherited
StyleSheets right after construction and therefore they'd always report
the default font-size.

This commit fixes this by explicitly setting the icon-size after an
entry is created.

In this context the method of calculating the current line height has
been overhauled as well as this would also depend on when the respective
function was called. This is probably due to Qt not having stored the
display's DPI correctly yet and thus the conversion from point size to
pixel size is flawed.
2020-12-16 09:49:05 +01:00
Robert Adam
49a24cf170
Merge pull request #4637: FIX(installer) Remove ini file
Since the ini file would be removed or overwritten by installs,
upgrades, and uninstalls it should be created at app runtime or manually
copied to the install path after install.
2020-12-16 08:18:02 +01:00
Nik Reist
6a416ab1a6 FIX(installer) Remove ini file
Since the ini file would be removed or overwritten by installs,
upgrades, and uninstalls it should be created at app runtime or manually
copied to the install path after install.
2020-12-15 15:01:30 -05:00
Robert Adam
1c660bcd9b FIX(client, talking-ui): Icon size initialized incorrectly
If the font size for the TalkingUI was set to something different than
100%, the TalkingUI's icon sizes would be incorrect.
This is due to the icon size being initialized to the widget's
font-size. This doesn't seem to have been affected by inherited
StyleSheets right after construction and therefore they'd always report
the default font-size.

This commit fixes this by explicitly setting the icon-size after an
entry is created.

In this context the method of calculating the current line height has
been overhauled as well as this would also depend on when the respective
function was called. This is probably due to Qt not having stored the
display's DPI correctly yet and thus the conversion from point size to
pixel size is flawed.
2020-12-15 18:53:53 +01:00
Robert Adam
dbb1d92111 FIX: Revert audio corking (PulseAudio)
This reverts commit 7d0b933a7e.

The issue with theses changes is that they cause
AudioInput::encodeAudioframe from no longer being called if the user is
muted. The functionality packed inside the mentioned function relies on
being continually being called even if there is no audio to send.

Thus no longer calling them affects the following things (maybe more):
- local user's talking state (can get stuck in a certain state)
- Audio cues for begin/end of a transmission
- Idle actions
- Framesize stuffing when using Opus
- Resetting of certain variables (iBitrate)
- Clearing/Handling of whisper targets (for last audio frame)
- Properly updating bPreviousVoice

In order to use the changes originally made by that commit, the audio
system has to be refactored first so that these things no longer rely on
this function being called continuously.

Ref: #171
Old workaround for parts of this issue: #4018
2020-12-15 17:47:48 +01:00
Robert Adam
c3c34e58cc
Merge pull request #4574: REFAC(installer-msi) Simplify WiX component install
- Remove CPack and previous WiX installer projects and sources
- Add toolset for WixSharp to facilitate client and server builds
    individually or collectively.
- Add multilanguage build with packaging=ON and translations=ON, and
    standard build with packaging=ON. Builds are also aware of client and
    server option settings.
- Add correct LICENSE to installer

Fixes: #4488
WixSharp: https://github.com/oleg-shilo/wixsharp
2020-12-15 12:37:10 +01:00
Robert Adam
0156972236
Merge pull request #4629: BUILD(cmake): Fix overlay link option being overwritten
If a system for instance uses -z,now in their default build flags (as
Arch Linux does), it will overwrite the -z,lazy flag which however is
needed in order for the overlay to work with games that are not directly
linked with OpenGL.

By using the BEFORE keyword in cmake, we can prevent this from
happening.

This commit can be viewed as a follow-up for #3307.

Fixes #3296
2020-12-14 08:08:59 +01:00
peylight
f8054269cf FEAT(client): Disable TTS by default
Fixes #4626
2020-12-14 01:27:44 +03:30
Robert Adam
3bdcbd0548 BUILD(cmake): Fix overlay link option being overwritten
If a system for instance uses -z,now in their default build flags (as
Arch Linux does), it will overwrite the -z,lazy flag which however is
needed in order for the overlay to work with games that are not directly
linked with OpenGL.

By using the BEFORE keyword in cmake, we can prevent this from
happening.

This commit can be viewed as a follow-up for #3307.

Fixes #3296
2020-12-13 18:33:00 +01:00
Robert Adam
668cd3768a
Merge pull request #4625: DOCS: Dependencies for Cent OS 8 2020-12-13 14:29:10 +01:00
Benson Muite
3b1289a2b7 DOCS: Dependencies for Cent OS 8
Implements suggestions in #4598
2020-12-13 15:27:12 +03:00
Nik Reist
88e1786849 REFAC(installer-msi) Simplify WiX component install
Remove CPack and previous WiX installer projects and sources
Add toolset and for WixSharp to facilitate client and server builds
individually or collectively.
Add multilanguage build with packaging=ON and translations=ON, and
standard build with packaging=ON. Builds are also aware of client and
server option settings.
Add correct LICENSE to installer
2020-12-11 22:07:25 -05:00
Davide Beatrici
0af10cdd95
Merge PR #4619: MAINT/FIX(server): Fix systemd murmur.service 2020-12-10 07:09:57 +01:00
Robert Adam
d8f09572e3
MAINT: Link commit guidelines in README
Fixes #4622
2020-12-09 19:43:59 +01:00
WGH
b55874d99f MAINT/FIX(server): Fix systemd murmur.service
As things are now, 'systemctl start murmur' hangs and eventually times
out.

The problem is that in the unit file, both Type=forking and
PIDFile=/run/murmur/murmur.pid are specified. In this scenario systemd
will wait for the PID file to appear. However, it will never appear
there, as murmur does setuid on its own before writing the pid file,
and thus lacks the rights to write to /run, and even if it had the rights,
it doesn't try to create a missing directory anyway.

Switch to Type=exec and foreground mode to fix this. systemd services
don't really need forking behaviour anyway, and in fact handling
forking servers requires some extra hoops to jump through on the
systemd side.

This change also makes murmur (when run with murmur.service) to log
to the systemd journal instead of log files.

Although the unit file has been broken for a long time, Debian-based
distros still use the /etc/init.d/mumble-server wrapped with
systemd-sysv-generator, and haven't noticed the problem.
2020-12-09 14:49:21 +03:00
Robert Adam
f8f9442fe9
Merge pull request #4611: FIX(client): Respect unlimited imagemessagelength
When you set the imagemessagelength to 0 on the server and paste an
image into the client chat no error should pop up that the image is too
large.
2020-12-09 10:36:47 +01:00
Robert Adam
dc99acc82b
Merge pull request #4616: FIX(server): Prevent listeners from hearing all shouts
Before this commit, the code on the server made sure that a
ChannelListener would always receive audio that was being shouted to a
channel. It didn't respect though if the shout was actually restricted
to be received by only a specific group.

This patch now makes sure that listeners are also checked for their
group so that a listener that doesn't belong to the target group (if one
is set) won't receive the audio either.
2020-12-08 19:45:33 +01:00
Robert Adam
687e6982b3
Merge pull request #4617: FIX(client): Crash due to race-condition in TalkingUI
The race condition was that the channel of a user could be modified
and before it gets updated in the TalkingUI as well, the talking state
of that user changes. Then inside the talkingStateChanged function the
code would assume that the TalkingUIUser is in the container representing
the current channel of that user but in fact in the TalkingUI this user
is still in its own channel, causing the user-search to return nullptr
which then yields a SegFault as soon as the returned pointer gets
dereferenced.
2020-12-08 12:46:33 +01:00
Robert Adam
85850d5a63 FIX(client): Crash due to race-condition in TalkingUI
The race condition was that the channel of a user could be modified
and before it gets updated in the TalkingUI as well, the talking state
of that user changes. Then inside the talkingStateChanged function the
code would assume that the TalkingUIUser is in the container representing
the current channel of that user but in fact in the TalkingUI this user
is still in its own channel, causing the user-search to return nullptr
which then yields a SegFault as soon as the returned pointer gets
dereferenced.
2020-12-08 09:37:29 +01:00
Robert Adam
bbdfd10430 FIX(server): Prevent listeners from hearing all shouts
Before this commit, the code on the server made sure that a
ChannelListener would always receive audio that was being shouted to a
channel. It didn't respect though if the shout was actually restricted
to be received by only a specific group.

This patch now makes sure that listeners are also checked for their
group so that a listener that doesn't belong to the target group (if one
is set) won't receive the audio either.
2020-12-08 09:33:26 +01:00
Robert Adam
919f1f7a3f
BUILD: Fix Debug flags not set
We used EQUAL to compare the option's value to a String. This however does not work as according to
the cmake documentation on EQUAL says
"True if the given string or variable’s value is a valid number and equal to that on the right."
As we are not comparing numbers but "real Strings", we have to use STREQUAL instead.
2020-12-06 08:48:02 +01:00
Meru Alagalingam
8f2903eeba FIX(client): Respect unlimited imagemessagelength
When you set the imagemessagelength to 0 on the server and paste an
image into the client chat no error should pop up that the image is too
large.
2020-12-04 23:06:21 +01:00
Robert Adam
c97c15059d
Merge pull request #4593: MAINT: Reduce Docker size image
Running rm [...] in a separate RUN command inside the Dockerfile does
not have the desired effect due to the way Docker layers work (see
https://cloud.google.com/solutions/best-practices-for-building-containers#reduce_the_amount_of_clutter_in_your_image)
2020-12-02 15:35:54 +01:00
Justin Goette
d45b8d1e38 MAINT: Reduce Docker size image
Running rm [...] in a separate RUN command inside the Dockerfile does
not have the desired effect due to the way Docker layers work (see
https://cloud.google.com/solutions/best-practices-for-building-containers#reduce_the_amount_of_clutter_in_your_image)
2020-12-02 09:31:09 +01:00
Robert Adam
d083d2ce9d
Merge pull request #4597: MAINT: Fix PR template not working 2020-12-01 18:07:41 +01:00
Robert Adam
4b2d346515
MAINT: Fix indentation in GitHub Actions script 2020-12-01 10:02:22 +01:00
Robert Adam
bc76ecbd1a
Merge pull request #4606: FIX(plugin): initialize array to prevent warning
When building on CentOS 8 with default flags which includes Wall flag,
build stops because array n[3] is not initialized. Initialize it to have all
values to be zero.
2020-11-30 19:41:28 +01:00
Robert Adam
2ba3c354c2 MAINT: Fix PR template not working 2020-11-30 07:51:18 +01:00
Robert Adam
c3cf53364b
Merge pull request #4605: CI: Introduce GitHub Actions
Now that Travis CI decided to stop offering their services for free, we
had to look for an alternative solution. GitHub Actions seems to fit the
picture really well and has the benefit of being tightly integrated into
GitHub (obviously).

For now only shared builds for Ubuntu 18.04 and 20.04 are included. The
scripts and the framework for also including static builds is part of
this commit as well but as it stands the static build always failed and
therefore it was given up upon for now.

Adding support for other OS will require a few tweaks and a couple of
new scripts but in general the framework was built with this kind of
extension in mind.
2020-11-29 19:48:52 +01:00
Benson Muite
71645e4c8c
FIX(plugin): initialize array to prevent warning
When building on CentOS 8 with default flags which includes Wall flag, 
build stops because array n[3] is not initialized. Initialize it to have all 
values to be zero.
2020-11-29 20:19:32 +03:00
Robert Adam
c03521593c CI: Introduce GitHub Actions
Now that Travis CI decided to stop offering their services for free, we
had to look for an alternative solution. GitHub Actions seems to fit the
picture really well and has the benefit of being tightly integrated into
GitHub (obviously).

For now only shared builds for Ubuntu 18.04 and 20.04 are included. The
scripts and the framework for also including static builds is part of
this commit as well but as it stands the static build always failed and
therefore it was given up upon for now.

Adding support for other OS will require a few tweaks and a couple of
new scripts but in general the framework was built with this kind of
extension in mind.
2020-11-29 17:40:15 +01:00
Robert Adam
e324c8b9f3
Merge pull request #4604: MAINT: Fix Dockerfile
Part 1

The Dockerfile contained instructions at the wrong position causing it
to not work properly (it didn't install the necessary dependencies).

Fixes #4600
Part 2

Don't install qtcreator via Dockerfile

The Qt Creator IDE should not be needed in the Docker image at all.
2020-11-29 17:31:36 +01:00
Robert Adam
6439b6d9c5 MAINT: Don't install qtcreator via Dockerfile
The Qt Creator IDE should not be needed in the Docker image at all.
2020-11-29 12:20:43 +01:00
Robert Adam
32dfd08721 MAINT: Fix Dockerfile
The Dockerfile contained instructions at the wrong position causing it
to not work properly (it didn't install the necessary dependencies).

Fixes #4600
2020-11-29 12:20:35 +01:00
Robert Adam
916f8ed0a7
Merge pull request #4599: DOCS: Add link to cmake download page 2020-11-27 09:16:24 +01:00
Benson Muite
1b12795f01 DOCS: Add link to cmake download page
Add a link to the cmake download page where various options for installing cmake can be found.
2020-11-27 09:02:53 +03:00
Robert Adam
bf28ee261c
Merge pull request #4596: @ancarda @Krzmbrzl DOCS: Made dependence on g++-multilib more explicit
By default this library is needed as the option overlay-xcompile
defaults to ON. Therefore we should list g++-multilib as a dependency
directly and only mention how to get rid of this dependency, not the
other way around.

This will probably avoid some confusion on the reader's side.
2020-11-24 20:08:12 +01:00
Robert Adam
9ce724656b DOCS: Fix typo in build_linux.md 2020-11-24 10:00:02 +01:00
Mark Dain
deecd17069 DOCS: Made dependence on g++-multilib more explicit
By default this library is needed as the option overlay-xcompile
defaults to ON. Therefore we should list g++-multilib as a dependency
directly and only mention how to get rid of this dependency, not the
other way around.

This will probably avoid some confusion on the reader's side.
2020-11-24 09:57:46 +01:00
Davide Beatrici
0464d605f0
Merge PR #4588: MAINT: Potentially Reduce Docker Container Size 2020-11-22 07:25:21 +01:00
Justin Goette
156eecd7ae MAINT: Potentially reduce Docker container size
Add "--no-install-recommends" and "rm -rf /var/lib/apt/lists/*" for
potential image size reduction.

See:
https://ubuntu.com/blog/we-reduced-our-docker-images-by-60-with-no-install-recommends
https://cloud.google.com/solutions/best-practices-for-building-containers#reduce_the_amount_of_clutter_in_your_image
2020-11-21 20:14:07 +01:00
Robert Adam
f4a1e0ed7e
MAINT: Update PR template
The previous version only contained a comment and would therefore effectively be empty.
2020-11-21 19:31:47 +01:00
Robert Adam
08d3d42fb9
Merge pull request #4590: MAINT: Create PR template
The template includes a link to our commit guidelines as this seems to
be something a lot of people don't know about.
2020-11-21 15:38:20 +01:00
Robert Adam
96173413c9 MAINT: Create PR template
The template includes a link to our commit guidelines as this seems to
be something a lot of people don't know about.
2020-11-21 08:44:41 +01:00
Robert Adam
0d005c6e17
Merge pull request #4587: DOCS: Overlay xcompile dependency 2020-11-20 17:54:31 +01:00
Robert Adam
409b0c15bb
Merge pull request #4586: DOCS: Note about selecting OpenSSL directory
The issue of cmake finding an incompatible OpenSSL version was
encountered on macOS in #4486, which is why the problem is also
explicitly mentioned in the macOS instructions.
2020-11-20 15:09:19 +01:00
Robert Adam
5a515aa1ac DOCS: Overlay xcompile dependency 2020-11-20 14:10:43 +01:00