Preface
Ticking the ”Launch on System Startup” box in the desktop client’s General settings tab (correctly) adds a .desktop file under ~/.config/autostart/, with the following Exec line:
Exec="/usr/bin/nextcloud" --background
Expected behaviour
The effect of --background should be mentioned in options.rst (and the resulting online documentation).
Actual behaviour
The --background parameter is undocumented.
Client configuration
Client version: 3.2.1
Operating system: Ubuntu 20.04
OS language: English
Client package: 3.2.1-20210429.171749.5901a0f98-1.0~focal1
Summary
After setting up multi-factor authentication, losing the authentication code-generating device means losing access to the Mattermost account. While having MFA is excellent, I’m afraid to set it up for my admin user account (which is the one most critically needing it), because there’s no recovery mechanism in case I lose my authenticator device.
Steps to reproduce
- Enable up multi-factor authentication in the System Console
- Configure 2FA with an authenticator app on your phone
- Break/lose/have your phone stolen
- Try to log in
Expected behavior
Have a ”use a backup code instead” link next to the MFA token prompt.
Observed behavior (that appears unintentional)
There’s no alternative way to provide the MFA. You can not log in.
Possible fixes
None available AFAICT. There’s no way to add security keys as alternatives either.
There’s an existing Jira ticket ticket about this (and it’s linked to an abandoned PR), but it’s closed as ”moved to ProductBoard for prioritization”, and I don’t know what’s happened since then, as I don’t have access to ProductBoard (that I know of).
Mattermost version
v5.34.2
My go-to way of quickly parsing arguments is as follows:
#!/bin/bash
quiet="true"
files=()
for arg in "${@}"; do
case "${arg}" in
"-v" | "--verbose")
quiet="false"
;;
*)
files+=(
"${arg}"
)
;;
esac
done
Beautysh (v6.1.0) incorrectly reports this as indent/outdent mismatch and instead indents it like so:
#!/bin/bash
quiet="true"
files=()
for arg in "${@}"; do
case "${arg}" in
"-v" | "--verbose")
quiet="false"
;;
*)
files+=(
"${arg}"
)
;;
esac
done
The deciding factor seems to be the multi-line parenthesis in assigning files. If I assign it all on one line, like this:
files+=("${arg}")
then beautysh is satisfied with the indentation (i.e. doesn’t change it or report a mismatch).
There seem to be a few other similar typos across different files. Should I combine them into this request, or would you prefer individual pull requests for each?
Nextcloud is somehow different from other apps in this regard, as no other light (white) apps on the same device have this issue. For instance, here’s Play Store on my affected device (running Android 6.0.1):

Also, I seem to recall this only having started to affect Nextcloud quite recently, perhaps sometime in the past month or so.
Switching to dark mode is a workaround on my device at least (there the Android buttons are light-on-black). I can also confirm that the issue doesn’t affect my newer devices with newer Android.
@agnivade Oh I see, so it’s a result of conflicting indicators (”away” vs. being active) from the user. I’m trying to recalibrate my expectation based on this, but it’s difficult.
My immediate thought is perhaps (in the problematic case) sending the notification, but then clearing it only once I start typing (typing appears to have an event associated with it, at least based on the logs) would be better than the immediately clearing ghost notification, but you’re right, this is more complicated than immediately apparent.
Some UI/UX design wizardry would probably be needed to eliminate the possibility of mixed user signals, if at all possible. I don’t have a good solution for now, so feel free to close the issue if you deem it appropriate.
Yup, your description of the issue is exactly right @agnivade, and thanks for looking into this!
I set up the two users in parallel windows. Sending a normal message as userB this way does not trigger the issue (I do get a notification on userA’s phone, but it doesn’t go away by itself), but that’s because userA’s window is (obviously) not active, since I’m typing in userB’s window. The notification is only cleared once I activate userA’s window.
But I can trigger the issue by using (for instance) /echo 'hello A' 4 instead (as userB), then hopping on to activate userA’s window during the 4-second delay, so that userA’s window is active when receiving the message. That’s the crucial bit: the receiver’s window is active when receiving the message. If his status is ’Online’, there’s no push notification (as expected), but if it’s ’Away’, that’s when I get the ghost notification.
Here’s server log and MPNS log during one minute where (as userB) I first send a normal message, then (at about 30 seconds) using /echo.
Yes, this is still reproducible here with the current server (v5.29.1).
Here’s the server log and MPNS log during which
- I switch log level from error to debug
- I send one ”hello” message to a bot (from the web UI)
- the bot responds with one message
- I switch log level from debug back to error
- VSCode Version: 1.53.0
- OS Version: Ubuntu Linux 20.04
Steps to Reproduce:
- install .deb package
- run
debsums -s
Does this issue occur when all extensions are disabled?: Yes
I’d like to resurrect #37762: the checksums for .desktop files included in the .deb archive fail to pass post-install.
$ debsums -s code
debsums: changed file /usr/share/applications/code.desktop (from code package)
debsums: changed file /usr/share/applications/code-url-handler.desktop (from code package)
This happens because the postinst script calls desktop-file-install for the .desktop files, which adds an X-Desktop-File-Install-Version entry to them, and hence the checksums change.
I don’t know why the desktop-file-install call is there, as including the .desktop files in the deb archive is sufficient to have them installed (in their proper place under /usr/share/applications/), with the checksum intact.
I built the package with just those desktop-file-install calls removed (see below), after which the checksums pass post-install (with no other changes that I can see).
diff --git a/resources/linux/debian/postinst.template b/resources/linux/debian/postinst.template
index c72fe5f9f5..dcc147de93 100755
--- a/resources/linux/debian/postinst.template
+++ b/resources/linux/debian/postinst.template
@@ -12,12 +12,6 @@ ln -s /usr/share/@@NAME@@/bin/@@NAME@@ /usr/bin/@@NAME@@
# developers would prefer a terminal editor as the default.
update-alternatives --install /usr/bin/editor editor /usr/bin/@@NAME@@ 0
-# Install the desktop entry
-if hash desktop-file-install 2>/dev/null; then
- desktop-file-install /usr/share/applications/@@NAME@@.desktop
- desktop-file-install /usr/share/applications/@@NAME@@-url-handler.desktop
-fi
-
# Update mimetype database to pickup workspace mimetype
if hash update-mime-database 2>/dev/null; then
update-mime-database /usr/share/mime