Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package seadrive-gui for openSUSE:Factory 
checked in at 2025-10-21 11:15:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/seadrive-gui (Old)
 and      /work/SRC/openSUSE:Factory/.seadrive-gui.new.18484 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "seadrive-gui"

Tue Oct 21 11:15:41 2025 rev:18 rq:1312306 version:3.0.16

Changes:
--------
--- /work/SRC/openSUSE:Factory/seadrive-gui/seadrive-gui.changes        
2025-04-15 16:49:35.896362199 +0200
+++ /work/SRC/openSUSE:Factory/.seadrive-gui.new.18484/seadrive-gui.changes     
2025-10-21 11:17:04.800456223 +0200
@@ -1,0 +2,8 @@
+Mon Oct 20 07:19:04 UTC 2025 - Paolo Stivanin <[email protected]>
+
+- Update to 3.0.13:
+  * https://github.com/haiwen/seadrive-gui/compare/v3.0.13...v3.0.16
+- Add issue446.patch: Support show number of pending files
+- Add issue477.patch: Add handle uncache path
+
+-------------------------------------------------------------------

Old:
----
  seadrive-gui-3.0.13.tar.gz

New:
----
  issue446.patch
  issue477.patch
  seadrive-gui-3.0.16.tar.gz

----------(New B)----------
  New:  * https://github.com/haiwen/seadrive-gui/compare/v3.0.13...v3.0.16
- Add issue446.patch: Support show number of pending files
- Add issue477.patch: Add handle uncache path
  New:- Add issue446.patch: Support show number of pending files
- Add issue477.patch: Add handle uncache path
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ seadrive-gui.spec ++++++
--- /var/tmp/diff_new_pack.50Tm0N/_old  2025-10-21 11:17:06.664534562 +0200
+++ /var/tmp/diff_new_pack.50Tm0N/_new  2025-10-21 11:17:06.712536580 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           seadrive-gui
-Version:        3.0.13
+Version:        3.0.16
 Release:        0
 Summary:        GUI part of seafile drive
 License:        GPL-3.0-only
@@ -27,6 +27,10 @@
 Patch1:         fix-cmake-exec-name.patch
 # PATCH-FIX-UPSTREAM
 Patch2:         fix-return-value.patch
+# PATCH-FIX-UPSTREAM
+Patch3:         issue446.patch
+# PATCH-FIX-UPSTREAM
+Patch4:         issue477.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  cmake

++++++ fix-return-value.patch ++++++
--- /var/tmp/diff_new_pack.50Tm0N/_old  2025-10-21 11:17:06.980547843 +0200
+++ /var/tmp/diff_new_pack.50Tm0N/_new  2025-10-21 11:17:07.028549860 +0200
@@ -1,9 +1,11 @@
---- seadrive-gui-3.0.13/src/ui/sync-errors-dialog.cpp.orig     2025-04-15 
09:07:19.436221225 +0200
-+++ seadrive-gui-3.0.13/src/ui/sync-errors-dialog.cpp  2025-04-15 
09:08:40.346695752 +0200
-@@ -241,6 +241,8 @@
+Index: seadrive-gui-3.0.16/src/ui/sync-errors-dialog.cpp
+===================================================================
+--- seadrive-gui-3.0.16.orig/src/ui/sync-errors-dialog.cpp
++++ seadrive-gui-3.0.16/src/ui/sync-errors-dialog.cpp
+@@ -249,6 +249,8 @@ QString SyncErrorsTableView::findLocalPa
      }
  
-     return ::pathJoin(account.syncRoot, repo_uname);
+     return local_path;
 +#else
 +    return QString();
  #endif

++++++ issue446.patch ++++++
>From 9e6b66b173d7bac7853b8063c45f1429375c94b2 Mon Sep 17 00:00:00 2001
From: yangheran <[email protected]>
Date: Wed, 12 Feb 2025 09:33:43 +0800
Subject: [PATCH 1/2] Support show number of pending files

---
 src/rpc/transfer-progress.cpp       | 14 ++++++++++++++
 src/rpc/transfer-progress.h         |  1 +
 src/ui/transfer-progress-dialog.cpp | 21 +++++++++++++++++++++
 src/ui/transfer-progress-dialog.h   |  5 +++++
 4 files changed, 41 insertions(+)

diff --git a/src/rpc/transfer-progress.cpp b/src/rpc/transfer-progress.cpp
index 277f394c1..826fbec3c 100644
--- a/src/rpc/transfer-progress.cpp
+++ b/src/rpc/transfer-progress.cpp
@@ -50,6 +50,18 @@ void getTransferringListFromJSON(
     }
 }
 
+void getPendingFilesFromJSON(
+    const json_t *json,
+    int *total)
+{
+    QString json_object_name = "pending_files";
+
+    json_t* n_pending= json_object_get(
+        json, json_object_name.toUtf8().data());
+    if (n_pending)
+        *total = json_integer_value (n_pending);
+}
+
 void getTransferredListFromJSON(
     const json_t *json, TransferType type,
     QList<TransferredInfo> *list)
@@ -92,6 +104,8 @@ void TransferProgress::fromJSON(
         upload, UPLOAD, &transfer_progress.uploading_files);
     getTransferringListFromJSON(
         download, DOWNLOAD, &transfer_progress.downloading_files);
+    getPendingFilesFromJSON(
+        upload, &transfer_progress.n_pending_files);
     getTransferredListFromJSON(
         upload, UPLOAD, &transfer_progress.uploaded_files);
     getTransferredListFromJSON(
diff --git a/src/rpc/transfer-progress.h b/src/rpc/transfer-progress.h
index 136cea971..6bb77ba7c 100644
--- a/src/rpc/transfer-progress.h
+++ b/src/rpc/transfer-progress.h
@@ -29,6 +29,7 @@ class TransferProgress {
 public:
     QList<TransferringInfo> uploading_files, downloading_files;
     QList<TransferredInfo> uploaded_files, downloaded_files;
+    int n_pending_files;
 
     static void fromJSON(const json_t *upload,
                          const json_t *download,
diff --git a/src/ui/transfer-progress-dialog.cpp 
b/src/ui/transfer-progress-dialog.cpp
index 0540779c8..3dffed9ff 100644
--- a/src/ui/transfer-progress-dialog.cpp
+++ b/src/ui/transfer-progress-dialog.cpp
@@ -97,6 +97,12 @@ TransferTab::TransferTab(TransferType type, QWidget *parent)
     QVBoxLayout* vlayout = new QVBoxLayout;
     createTable(type);
     vlayout->addWidget(table_);
+#ifndef Q_OS_MAC
+    if (type == UPLOAD) {
+        QLabel *label = model_->totalFilesView();
+        vlayout->addWidget(label);
+    }
+#endif
     setLayout(vlayout);
     adjustSize();
 }
@@ -182,6 +188,9 @@ TransferItemsTableModel::TransferItemsTableModel(QObject* 
parent)
       name_column_width_(kNameColumnWidth),
       transfer_type_(UPLOAD)
 {
+    total_files_view_ = new QLabel(tr("%1 files uploading or pending").arg(0));
+    total_files_view_->setStyleSheet("color: red;");
+    total_files_view_->setAlignment(Qt::AlignLeft);
     progress_timer_ = new QTimer(this);
     connect(progress_timer_, SIGNAL(timeout()),
             this, SLOT(updateTransferringInfo()));
@@ -209,6 +218,7 @@ void TransferItemsTableModel::setTransferItems()
     beginResetModel();
     TransferProgress::fromJSON(upload.data(), download.data(), 
transfer_progress);
     transfer_progress_ = transfer_progress;
+    updateTotalFilesView();
     endResetModel();
 }
 #endif
@@ -485,6 +495,17 @@ bool TransferItemsTableModel::isTransferringRow(
     return row < transferring_size;
 }
 
+QLabel* TransferItemsTableModel::totalFilesView() const
+{
+    return total_files_view_;
+}
+
+void TransferItemsTableModel::updateTotalFilesView() const
+{
+    int total_files = transfer_progress_.n_pending_files + 
transfer_progress_.uploading_files.size();
+    total_files_view_->setText(tr("%1 files uploading or 
pending").arg(total_files));
+}
+
 void TransferItemsTableModel::setTransferType(TransferType type)
 {
     transfer_type_ = type;
diff --git a/src/ui/transfer-progress-dialog.h 
b/src/ui/transfer-progress-dialog.h
index eb8c8ba72..b33839c97 100644
--- a/src/ui/transfer-progress-dialog.h
+++ b/src/ui/transfer-progress-dialog.h
@@ -6,6 +6,7 @@
 #include <QHeaderView>
 #include <QTimer>
 #include <QTabWidget>
+#include <QLabel>
 
 #include "utils/json-utils.h"
 #include "rpc/transfer-progress.h"
@@ -82,6 +83,8 @@ class TransferItemsTableModel : public QAbstractTableModel
     const TransferringInfo* itemAt(int row) const;
     uint nameColumnWidth() const;
     bool isTransferringRow(const QModelIndex& index) const;
+    QLabel* totalFilesView() const; 
+    void updateTotalFilesView() const;
 
 public slots:
     void onResize(const QSize& size);
@@ -100,6 +103,8 @@ private slots:
     QTimer *progress_timer_;
     TransferType transfer_type_;
     TransferProgress transfer_progress_;
+
+    QLabel *total_files_view_;
 };
 
 

>From 87585d1663de616b27fadb1ec42e10b131d5e90b Mon Sep 17 00:00:00 2001
From: Heran Yang <[email protected]>
Date: Wed, 12 Feb 2025 12:10:08 +0800
Subject: [PATCH 2/2] Init pending_files to 0

---
 src/rpc/transfer-progress.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/rpc/transfer-progress.h b/src/rpc/transfer-progress.h
index 6bb77ba7c..38db513a0 100644
--- a/src/rpc/transfer-progress.h
+++ b/src/rpc/transfer-progress.h
@@ -29,7 +29,7 @@ class TransferProgress {
 public:
     QList<TransferringInfo> uploading_files, downloading_files;
     QList<TransferredInfo> uploaded_files, downloaded_files;
-    int n_pending_files;
+    int n_pending_files = 0;
 
     static void fromJSON(const json_t *upload,
                          const json_t *download,


++++++ issue477.patch ++++++
>From 0bce5fe9722cf7f536eecb73c9f73ecbda5f3da8 Mon Sep 17 00:00:00 2001
From: yangheran <[email protected]>
Date: Wed, 24 Sep 2025 10:31:49 +0800
Subject: [PATCH 1/2] Add handle uncache path

---
 src/ext-handler.cpp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/src/ext-handler.cpp b/src/ext-handler.cpp
index 8260ff1b..a3dfa6f8 100644
--- a/src/ext-handler.cpp
+++ b/src/ext-handler.cpp
@@ -808,6 +808,8 @@ void ExtCommandsHandler::run()
         } else if (cmd == "is-file-in-repo") {
             bool is_in_repo = handleIsFileInRepo(args);
             resp = is_in_repo ? "true" : "false";
+        } else if (cmd == "uncache") {
+            handleUnCachePath(args);
         }
 #ifdef Q_OS_WIN32
         else if (cmd == "get-thumbnail-from-server") {
@@ -1234,6 +1236,22 @@ bool ExtCommandsHandler::isFileInRepo(const QString 
&path) {
     return true;
 }
 
+void ExtCommandsHandler::handleUnCachePath(const QStringList& args)
+{
+    if (args.size() != 1) {
+        return;
+    }
+    QString path = normalizedPath(args[0]);
+    Account account;
+    QString repo_id, path_in_repo;
+    if (!parseRepoFileInfo(path, &account, &repo_id, &path_in_repo)) {
+        return;
+    }
+
+    QMutexLocker locker(&rpc_client_mutex_);
+    rpc_client_->unCachePath(repo_id, path_in_repo);
+}
+
 QString ExtCommandsHandler::handleShowAccounts()
 {
     auto accounts = gui->accountManager()->allAccounts();

>From 2aee42fd2cb8d0cc8048b4f7e2ce723e54de223d Mon Sep 17 00:00:00 2001
From: Heran Yang <[email protected]>
Date: Wed, 24 Sep 2025 16:34:47 +0800
Subject: [PATCH 2/2] Add handle uncache path

---
 src/ext-handler.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/ext-handler.h b/src/ext-handler.h
index a8bc9ec5..9b9f2114 100644
--- a/src/ext-handler.h
+++ b/src/ext-handler.h
@@ -167,6 +167,7 @@ class ExtCommandsHandler: public QThread {
     bool handleIsFileCached(QStringList &args);
     bool isFileInRepo(const QString &path);
     bool handleIsFileInRepo(QStringList &args);
+    void handleUnCachePath(const QStringList& args);
     QString handleShowAccounts();
     void handleDeleteAccount(QStringList args);
     void handleResyncAccount(QStringList args);


++++++ seadrive-gui-3.0.13.tar.gz -> seadrive-gui-3.0.16.tar.gz ++++++
/work/SRC/openSUSE:Factory/seadrive-gui/seadrive-gui-3.0.13.tar.gz 
/work/SRC/openSUSE:Factory/.seadrive-gui.new.18484/seadrive-gui-3.0.16.tar.gz 
differ: char 14, line 1

Reply via email to