Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pika-backup for openSUSE:Factory 
checked in at 2026-08-05 17:49:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pika-backup (Old)
 and      /work/SRC/openSUSE:Factory/.pika-backup.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pika-backup"

Wed Aug  5 17:49:47 2026 rev:8 rq:1369617 version:0.8.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/pika-backup/pika-backup.changes  2026-06-25 
10:57:24.269785878 +0200
+++ /work/SRC/openSUSE:Factory/.pika-backup.new.16738/pika-backup.changes       
2026-08-05 17:50:43.506742279 +0200
@@ -1,0 +2,11 @@
+Wed Aug  5 03:13:23 UTC 2026 - Dead Mozay <[email protected]>
+
+- Update to version 0.8.4:
+  * Fix one dialog for unmounting repositories opens per quit action.
+  * Fix orphaned browsing states are ignored instead of deleted.
+  * Fix questions being suppressed when running from UI.
+  * Fix repository configurations can be deleted while browsing 
+    or active operations.
+  * Change to no longer using deprecated CSS features.
+
+-------------------------------------------------------------------

Old:
----
  pika-backup-0.8.3.obscpio

New:
----
  pika-backup-0.8.4.obscpio

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

Other differences:
------------------
++++++ pika-backup.spec ++++++
--- /var/tmp/diff_new_pack.MYSp1J/_old  2026-08-05 17:50:44.486776562 +0200
+++ /var/tmp/diff_new_pack.MYSp1J/_new  2026-08-05 17:50:44.490776702 +0200
@@ -18,7 +18,7 @@
 
 %define         appname org.gnome.World.PikaBackup
 Name:           pika-backup
-Version:        0.8.3
+Version:        0.8.4
 Release:        0
 Summary:        Simple backups based on borg
 License:        GPL-3.0-or-later
@@ -27,6 +27,7 @@
 Source1:        vendor.tar.zst
 BuildRequires:  borgbackup
 BuildRequires:  cargo-packaging
+BuildRequires:  clang
 BuildRequires:  git-core
 BuildRequires:  hicolor-icon-theme
 BuildRequires:  itstool

++++++ _service ++++++
--- /var/tmp/diff_new_pack.MYSp1J/_old  2026-08-05 17:50:44.530778101 +0200
+++ /var/tmp/diff_new_pack.MYSp1J/_new  2026-08-05 17:50:44.534778241 +0200
@@ -3,7 +3,7 @@
   <service name="obs_scm" mode="manual">
     <param name="url">https://gitlab.gnome.org/World/pika-backup.git</param>
     <param name="scm">git</param>
-    <param name="revision">refs/tags/0.8.3</param>
+    <param name="revision">refs/tags/0.8.4</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
   </service>

++++++ pika-backup-0.8.3.obscpio -> pika-backup-0.8.4.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/CHANGELOG.md 
new/pika-backup-0.8.4/CHANGELOG.md
--- old/pika-backup-0.8.3/CHANGELOG.md  2026-06-22 21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/CHANGELOG.md  2026-08-04 22:41:22.000000000 +0200
@@ -1,5 +1,13 @@
 # Changelog
 
+## 0.8.4 (2026-08-04)
+
+- Fix one dialog for unmounting repositories opens per quit action
+- Fix orphaned browsing states are ignored instead of deleted
+- Fix questions being suppressed when running from UI
+- Fix repository configurations can be deleted while browsing or active 
operations
+- Change to no longer using deprecated CSS features
+
 ## 0.8.3 (2026-06-22)
 
 - Add Ctrl+W shortcut to close window #667
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/Cargo.lock 
new/pika-backup-0.8.4/Cargo.lock
--- old/pika-backup-0.8.3/Cargo.lock    2026-06-22 21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/Cargo.lock    2026-08-04 22:41:22.000000000 +0200
@@ -1865,7 +1865,7 @@
 
 [[package]]
 name = "pika-backup"
-version = "0.8.3"
+version = "0.8.4"
 dependencies = [
  "arc-swap",
  "ashpd",
@@ -1912,7 +1912,7 @@
 
 [[package]]
 name = "pika-backup-common"
-version = "0.8.3"
+version = "0.8.4"
 dependencies = [
  "arc-swap",
  "ashpd",
@@ -1952,7 +1952,7 @@
 
 [[package]]
 name = "pika-backup-monitor"
-version = "0.8.3"
+version = "0.8.4"
 dependencies = [
  "arc-swap",
  "ashpd",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/Cargo.toml 
new/pika-backup-0.8.4/Cargo.toml
--- old/pika-backup-0.8.3/Cargo.toml    2026-06-22 21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/Cargo.toml    2026-08-04 22:41:22.000000000 +0200
@@ -4,7 +4,7 @@
 
 [workspace.package]
 description = "Keep your data safe"
-version = "0.8.3"
+version = "0.8.4"
 authors = [
     "Sophie Herold <[email protected]>",
     "Fina Wilke <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pika-backup-0.8.3/build-aux/org.gnome.World.PikaBackup.Devel.json 
new/pika-backup-0.8.4/build-aux/org.gnome.World.PikaBackup.Devel.json
--- old/pika-backup-0.8.3/build-aux/org.gnome.World.PikaBackup.Devel.json       
2026-06-22 21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/build-aux/org.gnome.World.PikaBackup.Devel.json       
2026-08-04 22:41:22.000000000 +0200
@@ -38,26 +38,6 @@
   ],
   "modules": [
     {
-      "name": "libxxhash",
-      "buildsystem": "cmake",
-      "subdir": "cmake_unofficial",
-      "sources": [
-        {
-          "type": "archive",
-          "url": 
"https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.3.tar.gz";,
-          "sha256": 
"aae608dfe8213dfd05d909a57718ef82f30722c392344583d3f39050c7f29a80",
-          "x-checker-data": {
-            "type": "git",
-            "tag-pattern": "^v([\\d.]+)$"
-          }
-        }
-      ],
-      "config-opts": [
-        "-DBUILD_SHARED_LIBS=ON",
-        "-DCMAKE_BUILD_TYPE=Release"
-      ]
-    },
-    {
       "name": "libfuse",
       "buildsystem": "meson",
       "config-opts": [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pika-backup-0.8.3/build-aux/org.gnome.World.PikaBackup.yml 
new/pika-backup-0.8.4/build-aux/org.gnome.World.PikaBackup.yml
--- old/pika-backup-0.8.3/build-aux/org.gnome.World.PikaBackup.yml      
2026-06-22 21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/build-aux/org.gnome.World.PikaBackup.yml      
2026-08-04 22:41:22.000000000 +0200
@@ -45,19 +45,6 @@
   # see https://gitlab.gnome.org/World/pika-backup/-/issues/342
   - --unset-env=GTK_THEME
 modules:
-  - name: libxxhash
-    buildsystem: cmake
-    subdir: cmake_unofficial
-    sources:
-      - type: archive
-        url: https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.3.tar.gz
-        sha256: 
aae608dfe8213dfd05d909a57718ef82f30722c392344583d3f39050c7f29a80
-        x-checker-data:
-          type: git
-          tag-pattern: ^v([\d.]+)$
-    config-opts:
-      - -DBUILD_SHARED_LIBS=ON
-      - -DCMAKE_BUILD_TYPE=Release
   - name: libfuse
     buildsystem: meson
     config-opts:
@@ -102,9 +89,6 @@
       - type: git
         url: https://gitlab.gnome.org/World/pika-backup.git
         commit: 2372744703b06e9f5bc4c9d89fe83dd2802c37f7
-        x-checker-data:
-          type: git
-          tag-pattern: ^([\d]+\.[\d]+\.[\d]+)$
       # generated via flatpak-builder-tools
       - generated-sources.json
       # copy generated cargo config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/data/app.metainfo.xml.in 
new/pika-backup-0.8.4/data/app.metainfo.xml.in
--- old/pika-backup-0.8.3/data/app.metainfo.xml.in      2026-06-22 
21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/data/app.metainfo.xml.in      2026-08-04 
22:41:22.000000000 +0200
@@ -79,9 +79,14 @@
   </provides>
 
   <releases>
+    <release version="0.8.4" date="2026-08-04">
+      <description>
+        <p>Fix an issue where a dialog was not shown when an operation needed 
user input. Also fix issues around deleting backup configurations with ongoing 
operations.</p>
+      </description>
+    </release>
     <release version="0.8.3" date="2026-06-22">
       <description>
-        <p>Fix an issue where now information was shown initially when opening 
Pika Backup.</p>
+        <p>Fix an issue where no information was shown initially when opening 
Pika Backup.</p>
       </description>
     </release>
     <release version="0.8.2" date="2026-04-13">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/data/resources/style-dark.css 
new/pika-backup-0.8.4/data/resources/style-dark.css
--- old/pika-backup-0.8.3/data/resources/style-dark.css 2026-06-22 
21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/data/resources/style-dark.css 1970-01-01 
01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-.ok-icon {
-  color: @green_1;
-  background-color: alpha(@green_4, .25);
-}
-
-.warning-icon {
-  color: @yellow_2;
-  background: alpha(#cd9309, .25);
-}
-
-.error-icon {
-  color: #ff7b63;
-}
-
-.accent-icon {
-  padding: 9px;
-  color: @blue_1;
-}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/data/resources/style-hc.css 
new/pika-backup-0.8.4/data/resources/style-hc.css
--- old/pika-backup-0.8.3/data/resources/style-hc.css   2026-06-22 
21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/data/resources/style-hc.css   1970-01-01 
01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-.status-icon {
-  box-shadow: inset 0 0 0 2px currentColor;
-}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/data/resources/style.css 
new/pika-backup-0.8.4/data/resources/style.css
--- old/pika-backup-0.8.3/data/resources/style.css      2026-06-22 
21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/data/resources/style.css      2026-08-04 
22:41:22.000000000 +0200
@@ -115,6 +115,12 @@
   border-radius: 9999px;
 }
 
+@media (prefers-contrast: more) {
+  .status-icon {
+    box-shadow: inset 0 0 0 2px currentColor;
+  }
+}
+
 .ok-icon {
   color: var(--success-color);
   background-color: color-mix(in srgb, var(--success-bg-color), transparent 
75%);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/pika-backup/src/app.rs 
new/pika-backup-0.8.4/pika-backup/src/app.rs
--- old/pika-backup-0.8.3/pika-backup/src/app.rs        2026-06-22 
21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/pika-backup/src/app.rs        2026-08-04 
22:41:22.000000000 +0200
@@ -25,6 +25,9 @@
         /// Is the app currently shutting down
         #[property(get)]
         in_shutdown: Cell<bool>,
+        /// Is a quit attempt (e.g. the "Closing Archives" dialog) already
+        /// running.
+        pub(super) quit_in_progress: Cell<bool>,
     }
 
     #[glib::object_subclass]
@@ -222,6 +225,22 @@
     }
 
     pub async fn try_quit(&self) -> Result<()> {
+        // Ignore overlapping quit requests, while a quit attempt is already 
running.
+        if self.imp().quit_in_progress.replace(true) {
+            tracing::debug!("App::try_quit: quit already in progress, 
ignoring");
+            return Ok(());
+        }
+
+        let result = self.try_quit_inner().await;
+
+        // Allow future quit attempts if this one did not actually quit
+        // (e.g. cancelled by the user).
+        self.imp().quit_in_progress.set(false);
+
+        result
+    }
+
+    async fn try_quit_inner(&self) -> Result<()> {
         tracing::debug!("App::try_quit");
 
         let dialog = UnmountArchives::new();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/pika-backup/src/operation.rs 
new/pika-backup-0.8.4/pika-backup/src/operation.rs
--- old/pika-backup-0.8.3/pika-backup/src/operation.rs  2026-06-22 
21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/pika-backup/src/operation.rs  2026-08-04 
22:41:22.000000000 +0200
@@ -113,7 +113,7 @@
 
                 if let 
log_json::Output::Progress(log_json::Progress::Question(question)) = &*output
                 {
-                    // A question was asked
+                    tracing::debug!("A question was asked");
                     self.handle_borg_question(question);
                 }
             }
@@ -212,13 +212,13 @@
     fn handle_borg_question(&self, question: &log_json::QuestionPrompt) {
         let communication = self.communication().clone();
 
-        if !self.command.is_scheduled() {
+        if self.command.is_scheduled() {
             // Abort backup if question is asked during schedule
             communication.set_instruction(borg::Instruction::Abort(
                 borg::Abort::QuestionDuringSchedule(question.clone()),
             ));
         } else {
-            // Show dialog if question is asked during schedule
+            // Show dialog if question is not asked during schedule
             glib::MainContext::default().spawn_local(glib::clone!(
                 #[strong]
                 question,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pika-backup-0.8.3/pika-backup/src/widget/dialog/unmount_archives.rs 
new/pika-backup-0.8.4/pika-backup/src/widget/dialog/unmount_archives.rs
--- old/pika-backup-0.8.3/pika-backup/src/widget/dialog/unmount_archives.rs     
2026-06-22 21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/pika-backup/src/widget/dialog/unmount_archives.rs     
2026-08-04 22:41:22.000000000 +0200
@@ -102,7 +102,19 @@
             {
                 match BACKUP_CONFIG.load().try_get(config_id) {
                     Err(err) => {
-                        tracing::error!("Can't unmount: {err:?}");
+                        // The config was removed while its archives were still
+                        // open for browsing. There is nothing left to unmount,
+                        // so drop the orphaned browsing state. This avoids 
looping
+                        // on "Closing Archives" screen forever.
+                        tracing::warn!(
+                            "Dropping orphaned browsing state for 
{config_id:?}: {err:?}"
+                        );
+                        let _ = BACKUP_HISTORY
+                            .try_update(|histories| {
+                                histories.remove_browsing(config_id.clone());
+                                Ok(())
+                            })
+                            .await;
                     }
                     Ok(config) => match 
borg::functions::umount(&config.repo_id).await {
                         Err(err) => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pika-backup-0.8.3/pika-backup/src/widget/overview.rs 
new/pika-backup-0.8.4/pika-backup/src/widget/overview.rs
--- old/pika-backup-0.8.3/pika-backup/src/widget/overview.rs    2026-06-22 
21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/pika-backup/src/widget/overview.rs    2026-08-04 
22:41:22.000000000 +0200
@@ -168,6 +168,37 @@
     }
 
     async fn on_remove_backup(&self) -> Result<()> {
+        let config = BACKUP_CONFIG.load().active()?.clone();
+
+        BORG_OPERATION.with(|operations| {
+            if let Some(operation) = operations.load().get(&config.id) {
+                Err(Message::new(
+                    gettext("Repository in Use"),
+                    gettextf(
+                        "Repository configurations cannot be deleted while 
operation “{}” is in progress.",
+                        [&operation.name()],
+                    ),
+                ))
+            } else {
+                Ok(())
+            }
+        })?;
+
+        // If archives are still open for browsing, unmount them before 
removing
+        // the setup. If unmounting fails, abort and show the error,
+        // so the user can close it and try again.
+        let is_browsing = BACKUP_HISTORY
+            .load()
+            .try_get(&config.id)
+            .map(|history| history.is_browsing())
+            .unwrap_or(false);
+
+        if is_browsing {
+            return Err(
+                Message::new(gettext("Repository Open for Browsing"), 
gettext("Repository configurations cannot be deleted while the repository is 
open for browsing.")).into(),
+            );
+        }
+
         crate::utils::confirmation_dialog(
             self,
             &gettext("Remove Backup Setup?"),
@@ -177,13 +208,9 @@
         )
         .await?;
 
-        let config = BACKUP_CONFIG.load().active()?.clone();
-
-        let config_id = config.id.clone();
-
         BACKUP_CONFIG
             .try_update(|s| {
-                s.remove(&config_id)?;
+                s.remove(&config.id)?;
                 Ok(())
             })
             .await?;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pika-backup-0.8.3/pika-backup-common/src/borg/process.rs 
new/pika-backup-0.8.4/pika-backup-common/src/borg/process.rs
--- old/pika-backup-0.8.3/pika-backup-common/src/borg/process.rs        
2026-06-22 21:44:54.000000000 +0200
+++ new/pika-backup-0.8.4/pika-backup-common/src/borg/process.rs        
2026-08-04 22:41:22.000000000 +0200
@@ -6,8 +6,7 @@
 use std::os::unix::net::UnixStream;
 use std::time::Duration;
 
-use async_process;
-use async_process::{ChildStderr, ChildStdin};
+use async_process::{self, ChildStderr, ChildStdin};
 use futures_util::FutureExt;
 use serde::{Deserialize, Serialize};
 use smol::io::BufReader;
@@ -584,7 +583,7 @@
                 Instruction::Abort(reason) => {
                     self.communication.set_status(RunStatus::Stopping);
 
-                    tracing::debug!("Sending SIGINT to borg process");
+                    tracing::debug!("Sending SIGINT to borg process. Reason: 
{reason}");
                     nix::sys::signal::kill(
                         nix::unistd::Pid::from_raw(pid.try_into().unwrap()),
                         nix::sys::signal::Signal::SIGINT,

++++++ pika-backup.obsinfo ++++++
--- /var/tmp/diff_new_pack.MYSp1J/_old  2026-08-05 17:50:45.406808745 +0200
+++ /var/tmp/diff_new_pack.MYSp1J/_new  2026-08-05 17:50:45.414809025 +0200
@@ -1,5 +1,5 @@
 name: pika-backup
-version: 0.8.3
-mtime: 1782157494
-commit: a1131c6863299b614778366aea4fdf318e794447
+version: 0.8.4
+mtime: 1785876082
+commit: a528dec8d579797ba6f18079e9fabf8b16062fb0
 

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/pika-backup/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.pika-backup.new.16738/vendor.tar.zst differ: char 
7, line 1

Reply via email to