[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