[Pkg-owncloud-maintainers] Bug#1109995: bookworm-pu: package nextcloud-desktop/3.7.3-1+deb12u2
Hefee
hefee at debian.org
Sun Jul 27 21:05:21 BST 2025
Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: nextcloud-desktop at packages.debian.org, Narcis Garcia <debianbugs at actiu.net>, hefee at debian.org
Control: affects -1 + src:nextcloud-desktop
User: release.debian.org at packages.debian.org
Usertags: pu
[ Reason ]
Fix #1108184:
"When selecting either the Share Options or Public link option from the
context menu, the share dialog opens but is grayed out with spinning
sync symbol."
[ Impact ]
Cannot use share dialog under some circumstances.
[ Tests ]
There inital reporter tested, that this version fixes the issue.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1108184#49
[ Risks ]
The risks are quite low, as all those patches come from upstream and
were released as 3.7.4 (with some more patches).
The patches itself only touching some lines without anything not
targenting this issue.
https://github.com/nextcloud/desktop/releases/tag/v3.7.4
[ 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 ]
Backport only those 5 patches from:
https://github.com/nextcloud/desktop/pull/5446
https://github.com/nextcloud/desktop/pull/5489
the patches are already applied in 3.16.4 (Trixie).
Regards,
hefee
-------------- next part --------------
diff -Nru nextcloud-desktop-3.7.3/debian/changelog nextcloud-desktop-3.7.3/debian/changelog
--- nextcloud-desktop-3.7.3/debian/changelog 2023-12-12 13:06:40.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/changelog 2025-07-27 21:39:43.000000000 +0200
@@ -1,3 +1,11 @@
+nextcloud-desktop (3.7.3-1+deb12u2) bookworm; urgency=medium
+
+ * Backport patch to fix "Share options not working" (Closes: #1108184)
+ - Backport upstream merge-request #5446 (2 patches).
+ - Backport upstream merge-request #5489 (3 patches).
+
+ -- Sandro Knau? <hefee at debian.org> Sun, 27 Jul 2025 21:39:43 +0200
+
nextcloud-desktop (3.7.3-1+deb12u1) bookworm; urgency=medium
* Backport patch to fix "fails to sync files with special chars like ':'"
diff -Nru nextcloud-desktop-3.7.3/debian/.gitignore nextcloud-desktop-3.7.3/debian/.gitignore
--- nextcloud-desktop-3.7.3/debian/.gitignore 2023-12-12 13:06:40.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-files
diff -Nru nextcloud-desktop-3.7.3/debian/patches/0007-Simplify-check-for-file-record-sharing-permission.patch nextcloud-desktop-3.7.3/debian/patches/0007-Simplify-check-for-file-record-sharing-permission.patch
--- nextcloud-desktop-3.7.3/debian/patches/0007-Simplify-check-for-file-record-sharing-permission.patch 1970-01-01 01:00:00.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/patches/0007-Simplify-check-for-file-record-sharing-permission.patch 2025-07-27 21:39:02.000000000 +0200
@@ -0,0 +1,32 @@
+From: Claudio Cambra <claudio.cambra at nextcloud.com>
+Date: Wed, 15 Feb 2023 18:47:17 +0100
+Subject: Simplify check for file record sharing permission
+
+Signed-off-by: Claudio Cambra <claudio.cambra at nextcloud.com>
+---
+ src/gui/filedetails/sharemodel.cpp | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/src/gui/filedetails/sharemodel.cpp b/src/gui/filedetails/sharemodel.cpp
+index f656488..2819a21 100644
+--- a/src/gui/filedetails/sharemodel.cpp
++++ b/src/gui/filedetails/sharemodel.cpp
+@@ -240,12 +240,13 @@ void ShareModel::updateData()
+ SyncJournalFileRecord fileRecord;
+ auto resharingAllowed = true; // lets assume the good
+
+- if(_folder->journalDb()->getFileRecord(relPath, &fileRecord) && fileRecord.isValid()) {
+- if (!fileRecord._remotePerm.isNull() &&
+- !fileRecord._remotePerm.hasPermission(RemotePermissions::CanReshare)) {
++ if(_folder->journalDb()->getFileRecord(relPath, &fileRecord) &&
++ fileRecord.isValid() &&
++ !fileRecord._remotePerm.isNull() &&
++ !fileRecord._remotePerm.hasPermission(RemotePermissions::CanReshare)) {
+
+- resharingAllowed = false;
+- }
++ qCInfo(lcShareModel) << "File record says resharing not allowed";
++ resharingAllowed = false;
+ }
+
+ _maxSharingPermissions = resharingAllowed ? SharePermissions(_accountState->account()->capabilities().shareDefaultPermissions()) : SharePermissions({});
diff -Nru nextcloud-desktop-3.7.3/debian/patches/0008-Try-to-initialise-share-manager-again-if-we-receive-.patch nextcloud-desktop-3.7.3/debian/patches/0008-Try-to-initialise-share-manager-again-if-we-receive-.patch
--- nextcloud-desktop-3.7.3/debian/patches/0008-Try-to-initialise-share-manager-again-if-we-receive-.patch 1970-01-01 01:00:00.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/patches/0008-Try-to-initialise-share-manager-again-if-we-receive-.patch 2025-07-27 21:39:02.000000000 +0200
@@ -0,0 +1,32 @@
+From: Claudio Cambra <claudio.cambra at nextcloud.com>
+Date: Wed, 15 Feb 2023 18:49:47 +0100
+Subject: Try to initialise share manager again if we receive updated sharing
+ permissions that would have previously prevented sharing
+
+Signed-off-by: Claudio Cambra <claudio.cambra at nextcloud.com>
+---
+ src/gui/filedetails/sharemodel.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/gui/filedetails/sharemodel.cpp b/src/gui/filedetails/sharemodel.cpp
+index 2819a21..80a0484 100644
+--- a/src/gui/filedetails/sharemodel.cpp
++++ b/src/gui/filedetails/sharemodel.cpp
+@@ -357,9 +357,17 @@ void ShareModel::slotPropfindReceived(const QVariantMap &result)
+
+ const QVariant receivedPermissions = result["share-permissions"];
+ if (!receivedPermissions.toString().isEmpty()) {
++ const auto oldCanShare = canShare();
++
+ _maxSharingPermissions = static_cast<SharePermissions>(receivedPermissions.toInt());
+ Q_EMIT sharePermissionsChanged();
+ qCInfo(lcShareModel) << "Received sharing permissions for" << _sharePath << _maxSharingPermissions;
++
++ if (!oldCanShare && canShare()) {
++ qCInfo(lcShareModel) << "Received updated sharing data that says we have permission to share now."
++ << "Trying to init share manager again.";
++ initShareManager();
++ }
+ }
+
+ const auto privateLinkUrl = result["privatelink"].toString();
diff -Nru nextcloud-desktop-3.7.3/debian/patches/0009-Don-t-block-loading-if-public-link-shares-are-disabl.patch nextcloud-desktop-3.7.3/debian/patches/0009-Don-t-block-loading-if-public-link-shares-are-disabl.patch
--- nextcloud-desktop-3.7.3/debian/patches/0009-Don-t-block-loading-if-public-link-shares-are-disabl.patch 1970-01-01 01:00:00.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/patches/0009-Don-t-block-loading-if-public-link-shares-are-disabl.patch 2025-07-27 21:39:02.000000000 +0200
@@ -0,0 +1,25 @@
+From: Claudio Cambra <claudio.cambra at nextcloud.com>
+Date: Fri, 24 Feb 2023 13:40:17 +0100
+Subject: Don't block loading if public link shares are disabled
+
+Signed-off-by: Claudio Cambra <claudio.cambra at nextcloud.com>
+---
+ src/gui/filedetails/sharemodel.cpp | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/gui/filedetails/sharemodel.cpp b/src/gui/filedetails/sharemodel.cpp
+index 80a0484..df79442 100644
+--- a/src/gui/filedetails/sharemodel.cpp
++++ b/src/gui/filedetails/sharemodel.cpp
+@@ -298,10 +298,7 @@ void ShareModel::initShareManager()
+ }
+
+ bool sharingPossible = true;
+- if (!publicLinkSharesEnabled()) {
+- qCWarning(lcSharing) << "Link shares have been disabled";
+- sharingPossible = false;
+- } else if (!canShare()) {
++ if (!canShare()) {
+ qCWarning(lcSharing) << "The file cannot be shared because it does not have sharing permission.";
+ sharingPossible = false;
+ }
diff -Nru nextcloud-desktop-3.7.3/debian/patches/0010-Don-t-display-the-placeholder-link-share-of-public-l.patch nextcloud-desktop-3.7.3/debian/patches/0010-Don-t-display-the-placeholder-link-share-of-public-l.patch
--- nextcloud-desktop-3.7.3/debian/patches/0010-Don-t-display-the-placeholder-link-share-of-public-l.patch 1970-01-01 01:00:00.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/patches/0010-Don-t-display-the-placeholder-link-share-of-public-l.patch 2025-07-27 21:39:02.000000000 +0200
@@ -0,0 +1,31 @@
+From: Claudio Cambra <claudio.cambra at nextcloud.com>
+Date: Fri, 24 Feb 2023 13:40:58 +0100
+Subject: Don't display the placeholder link share of public link shares are
+ not available
+
+Signed-off-by: Claudio Cambra <claudio.cambra at nextcloud.com>
+---
+ src/gui/filedetails/sharemodel.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/gui/filedetails/sharemodel.cpp b/src/gui/filedetails/sharemodel.cpp
+index df79442..90926ba 100644
+--- a/src/gui/filedetails/sharemodel.cpp
++++ b/src/gui/filedetails/sharemodel.cpp
+@@ -342,7 +342,7 @@ void ShareModel::handlePlaceholderLinkShare()
+
+ if (linkSharePresent && placeholderLinkSharePresent) {
+ slotRemoveShareWithId(placeholderLinkShareId);
+- } else if (!linkSharePresent && !placeholderLinkSharePresent) {
++ } else if (!linkSharePresent && !placeholderLinkSharePresent && publicLinkSharesEnabled()) {
+ slotAddShare(_placeholderLinkShare);
+ }
+ }
+@@ -402,6 +402,7 @@ void ShareModel::slotSharesFetched(const QList<SharePtr> &shares)
+ }
+
+ handlePlaceholderLinkShare();
++ Q_EMIT sharesChanged();
+ }
+
+ void ShareModel::setupInternalLinkShare()
diff -Nru nextcloud-desktop-3.7.3/debian/patches/0011-Move-sharesChanged-signal-emission-to-handlePlacehol.patch nextcloud-desktop-3.7.3/debian/patches/0011-Move-sharesChanged-signal-emission-to-handlePlacehol.patch
--- nextcloud-desktop-3.7.3/debian/patches/0011-Move-sharesChanged-signal-emission-to-handlePlacehol.patch 1970-01-01 01:00:00.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/patches/0011-Move-sharesChanged-signal-emission-to-handlePlacehol.patch 2025-07-27 21:39:02.000000000 +0200
@@ -0,0 +1,48 @@
+From: Claudio Cambra <claudio.cambra at nextcloud.com>
+Date: Tue, 28 Feb 2023 23:18:05 +0100
+Subject: Move sharesChanged signal emission to handlePlaceholderLinkShare
+ rather than repeating each time this method is called
+
+Signed-off-by: Claudio Cambra <claudio.cambra at nextcloud.com>
+---
+ src/gui/filedetails/sharemodel.cpp | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/gui/filedetails/sharemodel.cpp b/src/gui/filedetails/sharemodel.cpp
+index 90926ba..557405f 100644
+--- a/src/gui/filedetails/sharemodel.cpp
++++ b/src/gui/filedetails/sharemodel.cpp
+@@ -345,6 +345,8 @@ void ShareModel::handlePlaceholderLinkShare()
+ } else if (!linkSharePresent && !placeholderLinkSharePresent && publicLinkSharesEnabled()) {
+ slotAddShare(_placeholderLinkShare);
+ }
++
++ Q_EMIT sharesChanged();
+ }
+
+ void ShareModel::slotPropfindReceived(const QVariantMap &result)
+@@ -402,7 +404,6 @@ void ShareModel::slotSharesFetched(const QList<SharePtr> &shares)
+ }
+
+ handlePlaceholderLinkShare();
+- Q_EMIT sharesChanged();
+ }
+
+ void ShareModel::setupInternalLinkShare()
+@@ -479,7 +480,6 @@ void ShareModel::slotAddShare(const SharePtr &share)
+ }
+
+ handlePlaceholderLinkShare();
+- Q_EMIT sharesChanged();
+ }
+
+ void ShareModel::slotRemoveShareWithId(const QString &shareId)
+@@ -506,8 +506,6 @@ void ShareModel::slotRemoveShareWithId(const QString &shareId)
+ endRemoveRows();
+
+ handlePlaceholderLinkShare();
+-
+- Q_EMIT sharesChanged();
+ }
+
+ void ShareModel::slotServerError(const int code, const QString &message)
diff -Nru nextcloud-desktop-3.7.3/debian/patches/series nextcloud-desktop-3.7.3/debian/patches/series
--- nextcloud-desktop-3.7.3/debian/patches/series 2023-12-12 13:06:40.000000000 +0100
+++ nextcloud-desktop-3.7.3/debian/patches/series 2025-07-27 21:39:02.000000000 +0200
@@ -4,3 +4,8 @@
0004-Don-t-use-GuiPrivate.patch
0005-fixed-detection-of-server-version-in-cmd-client-simi.patch
0006-Fix-display-of-2FA-notification.patch
+0007-Simplify-check-for-file-record-sharing-permission.patch
+0008-Try-to-initialise-share-manager-again-if-we-receive-.patch
+0009-Don-t-block-loading-if-public-link-shares-are-disabl.patch
+0010-Don-t-display-the-placeholder-link-share-of-public-l.patch
+0011-Move-sharesChanged-signal-emission-to-handlePlacehol.patch
More information about the Pkg-owncloud-maintainers
mailing list