Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian@packages.debian.org
Usertags: pu
X-Debbugs-Cc: nextcloud-desk...@packages.debian.org, he...@debian.org
Control: affects -1 + src:nextcloud-desktop
[ Reason ]
This pu will fix two issues maarked as important:
#1051071: some files with special characters are not synced.
#1053922: Two-factor authentication notifications unusable.
[ Impact ]
#1051071: Some files are not synced because of ":" in its name without
any feedback.
#1053922: Keeps Two-factor authentification not usable.
[ Tests ]
3.10.0 with the fixes included seems to run fine.
[ Risks ]
The fixes are very small and clear what they do and what they fix, so
the risk of side effects is very small.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
Added to backported patches for upstream and updated the debian-branch
in gbp.conf.
diff -Nru nextcloud-desktop-3.7.3/debian/changelog
nextcloud-desktop-3.7.3/debian/changelog
--- nextcloud-desktop-3.7.3/debian/changelog2023-02-15 15:00:39.0
+0100
+++ nextcloud-desktop-3.7.3/debian/changelog2023-12-12 13:06:40.0
+0100
@@ -1,3 +1,13 @@
+nextcloud-desktop (3.7.3-1+deb12u1) bookworm; urgency=medium
+
+ * Backport patch to fix "fails to sync files with special chars like ':'"
+(Closes: #1051071)
+ * Backport patch 'Two-factor authentication notifications unusable'
+(Closes: #1056327)
+ * Update debian-branch in gbp.conf to point to the stable branch.
+
+ -- Sandro Knauß Tue, 12 Dec 2023 13:06:40 +0100
+
nextcloud-desktop (3.7.3-1) unstable; urgency=medium
* New upstream release.
diff -Nru nextcloud-desktop-3.7.3/debian/gbp.conf
nextcloud-desktop-3.7.3/debian/gbp.conf
--- nextcloud-desktop-3.7.3/debian/gbp.conf 2023-02-15 15:00:39.0
+0100
+++ nextcloud-desktop-3.7.3/debian/gbp.conf 2023-12-12 13:06:35.0
+0100
@@ -1,5 +1,5 @@
[DEFAULT]
-debian-branch = master
+debian-branch = debian/bookworm
upstream-branch = upstream
pristine-tar = True
compression = gz
diff -Nru nextcloud-desktop-3.7.3/debian/.gitignore
nextcloud-desktop-3.7.3/debian/.gitignore
--- nextcloud-desktop-3.7.3/debian/.gitignore 2023-02-15 15:00:39.0
+0100
+++ nextcloud-desktop-3.7.3/debian/.gitignore 1970-01-01 01:00:00.0
+0100
@@ -1 +0,0 @@
-files
diff -Nru
nextcloud-desktop-3.7.3/debian/patches/0005-fixed-detection-of-server-version-in-cmd-client-simi.patch
nextcloud-desktop-3.7.3/debian/patches/0005-fixed-detection-of-server-version-in-cmd-client-simi.patch
---
nextcloud-desktop-3.7.3/debian/patches/0005-fixed-detection-of-server-version-in-cmd-client-simi.patch
1970-01-01 01:00:00.0 +0100
+++
nextcloud-desktop-3.7.3/debian/patches/0005-fixed-detection-of-server-version-in-cmd-client-simi.patch
2023-12-12 13:06:35.0 +0100
@@ -0,0 +1,60 @@
+From: Patrick Cernko
+Date: Tue, 5 Sep 2023 06:11:54 +0200
+Subject: fixed detection of server version in cmd client similar to gui
+ client:
+
+first check status.php for version and then capabilities, only use version
string if not empty
+
+this also fixes 'File names containing the character ":" are not supported on
this file system.' errors in nextcloudcmd (on Linux): The invalidFilenameRegex
was set to a static default in case the server version was not set correctly.
As newer versions of nextcloud do not return the version in capabilities but
status.php, the server version was empty.
+
+Signed-off-by: Patrick Cernko
+---
+ src/cmd/cmd.cpp | 30 +-
+ 1 file changed, 29 insertions(+), 1 deletion(-)
+
+diff --git a/src/cmd/cmd.cpp b/src/cmd/cmd.cpp
+index 37c456d..2764f72 100644
+--- a/src/cmd/cmd.cpp
b/src/cmd/cmd.cpp
+@@ -442,12 +442,40 @@ int main(int argc, char **argv)
+ account->setTrustCertificates(options.trustSSL);
+
+ QEventLoop loop;
++auto *csjob = new CheckServerJob(account);
++csjob->setIgnoreCredentialFailure(true);
++QObject::connect(csjob, ::instanceFound, [&](const QUrl &,
const QJsonObject ) {
++// see ConnectionValidator::slotCapabilitiesRecieved: only set server
version if not empty
++QString serverVersion = CheckServerJob::version(info);
++if (!serverVersion.isEmpty()) {
++account->setServerVersion(serverVersion);
++}
++loop.quit();
++});
++QObject::connect(csjob, ::instanceNotFound, [&]() {
++loop.quit();
++});
++QObject::connect(csjob, ::timeout, [&](const QUrl &) {
++loop.quit();
++});
++csjob->start();
++loop.exec();
++
++if (csjob->reply()->error() != QNetworkReply::NoError){
++std::cout<<"Error connecting to server for status\n";
++return EXIT_FAILURE;
++}
++
+ auto *job = new JsonApiJob(account,