[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#988473: unblock: gnome-sound-recorder/3.38.1-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package gnome-sound-recorder

[ Reason ]
The new upstream release fixes an UI bug which people argue is RC,
see #988292

(This also means dropping a commit previously carried in debian/patches/
as it's now part of the release.)

[ Impact ]
Using spacebar doesn't work properly in UI ("causes data loss").

[ Tests ]
I've run the program. No other testing. Both the old and new
version works fine for my personal use.

[ Risks ]
The practical change here is adding 2 lines of code setting two
properties in src/recorderWidget.js, dropping unusable m4a format
support (which likely noone uses since we never got a bug report),
updates translations. Should be very low risk.

[ 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 testing

[ Other info ]
The new upstream release also includes translation updates and some
metadata to go with the release. Attached diff has been slighly
filtered so you don't have to scroll through the translations.
Please note that the debian/patches and src/row.js changes cancel
each other out. (Dropped patch now part of new upstream release.)

unblock gnome-sound-recorder/3.38.1-1
$ git diff debian/3.38.0-3..debian/3.38.1-1 | filterdiff -x '*/po/*'
diff --git a/NEWS b/NEWS
index bd9e05a..9d5d540 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+ 3.38.1
+ ======
+ Translation updates
+ Fix export dialog for recordings disappears shortly after opening
+ Fix not able to use space bar in recording name input
+ Fix recording is lost when using space bar in name input
+ Fix ui becomes unusable and recording is lost after stopping a record
+ Remove m4a option since using it results in unusable recordings
+
  3.34.0
  ======
  Translation updates
diff --git a/data/appdata/org.gnome.SoundRecorder.metainfo.xml.in.in b/data/appdata/org.gnome.SoundRecorder.metainfo.xml.in.in
index 4b1db05..a9bd409 100644
--- a/data/appdata/org.gnome.SoundRecorder.metainfo.xml.in.in
+++ b/data/appdata/org.gnome.SoundRecorder.metainfo.xml.in.in
@@ -35,6 +35,31 @@
   </kudos>
   <content_rating type="oars-1.0" />
   <releases>
+    <release version="3.38.1" date="2021-01-25">
+      <description>
+        <p>Bugfix release</p>
+        <ul>
+          <li>
+            Translation updates
+          </li>
+          <li>
+            Fix export dialog for recordings disappears shortly after opening
+          </li>
+          <li>
+            Fix not able to use space bar in recording name input
+          </li>
+          <li>
+            Fix recording is lost when using space bar in name input
+          </li>
+          <li>
+            Fix ui becomes unusable and recording is lost after stopping a record
+          </li>
+          <li>
+            Remove m4a option since using it results in unusable recordings
+          </li>
+        </ul>
+      </description>
+    </release>
     <release version="3.38.0" date="2020-09-18">
       <description>
         <p>An overall update of Sound Recorder's design</p>
@@ -69,4 +94,8 @@
   <developer_name>The GNOME Project</developer_name>
   <update_contact>meg387_at_gmail.com</update_contact>
   <translation type="gettext">@gettext-package@</translation>
+  <custom>
+    <value key="Purism::form_factor">workstation</value>
+    <value key="Purism::form_factor">mobile</value>
+  </custom>
 </component>
diff --git a/data/org.gnome.SoundRecorder.desktop.in.in b/data/org.gnome.SoundRecorder.desktop.in.in
index 0bb63f3..8cf7c4d 100644
--- a/data/org.gnome.SoundRecorder.desktop.in.in
+++ b/data/org.gnome.SoundRecorder.desktop.in.in
@@ -9,4 +9,6 @@ Categories=GNOME;GTK;Audio;AudioVideo;
 Keywords=Audio;Application;Record;
 Exec=gnome-sound-recorder
 StartupNotify=true
+# Translators: Do NOT translate or transliterate this text (these are enum types)!
+X-Purism-FormFactor=Workstation;Mobile;
 
diff --git a/data/org.gnome.SoundRecorder.gschema.xml.in b/data/org.gnome.SoundRecorder.gschema.xml.in
index 4cf6c09..afe84b2 100644
--- a/data/org.gnome.SoundRecorder.gschema.xml.in
+++ b/data/org.gnome.SoundRecorder.gschema.xml.in
@@ -4,7 +4,6 @@
     <value nick='opus' value='1'/>
     <value nick='flac' value='2'/>
     <value nick='mp3' value='3'/>
-    <value nick='m4a' value='4'/>
   </enum>
   <enum id="@app-id@.AudioChannel">
     <value nick='stereo' value='0'/>
diff --git a/data/ui/window.ui b/data/ui/window.ui
index e29196e..53bcdef 100644
--- a/data/ui/window.ui
+++ b/data/ui/window.ui
@@ -308,11 +308,6 @@
         <attribute name="action">app.audio-profile</attribute>
         <attribute name="target">mp3</attribute>
       </item>
-      <item>
-        <attribute translatable="yes" name="label">M4A</attribute>
-        <attribute name="action">app.audio-profile</attribute>
-        <attribute name="target">m4a</attribute>
-      </item>
     </submenu>
     <submenu>
       <attribute translatable="yes" name="label">Audio Channel</attribute>
diff --git a/debian/changelog b/debian/changelog
index 57dffcf..0b1103a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+gnome-sound-recorder (3.38.1-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream release (Closes: #982874, #988292)
+  * Revert "Add patch to fix "export" dialog disappearing due to GC"
+    - now part of new upstream release.
+
+ -- Andreas Henriksson <andreas@fatal.se>  Thu, 13 May 2021 18:19:57 +0200
+
 gnome-sound-recorder (3.38.0-3) unstable; urgency=medium
 
   * Team upload
diff --git a/debian/gbp.conf b/debian/gbp.conf
index 4ed071a..e447a39 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -1,7 +1,7 @@
 [DEFAULT]
 pristine-tar = True
-debian-branch = debian/master
-upstream-branch = upstream/latest
+debian-branch = debian/bullseye
+upstream-branch = upstream/3.38.x
 
 [buildpackage]
 sign-tags = True
diff --git a/debian/patches/Fix-export-dialog-that-disappears.patch b/debian/patches/Fix-export-dialog-that-disappears.patch
deleted file mode 100644
index 86cf50c..0000000
--- a/debian/patches/Fix-export-dialog-that-disappears.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From: Sergio Costas <raster@rastersoft.com>
-Date: Sat, 7 Nov 2020 22:56:36 +0100
-Subject: Fix export dialog that disappears
-
-When pressing the EXPORT button, the file dialog randomly
-disappears before being able to specify a place where to store
-the file. This is because the Gtk.FileChooser dialog is stored
-in a local variable, which, as soon as the callback where it is
-created returns, becomes unreferenced, and is reclaimed by the
-garbage collector (which happens at random intervals). This
-bug can be reproduced just by recording something, pressing
-the "export" button, and waiting.
-
-This patch fixes it by storing the dialog as a property in the
-row object.
-
-Forwarded: https://gitlab.gnome.org/GNOME/gnome-sound-recorder/-/merge_requests/164
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=974666
----
- src/row.js | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/src/row.js b/src/row.js
-index 154c0ef..743de63 100644
---- a/src/row.js
-+++ b/src/row.js
-@@ -68,16 +68,17 @@ var Row = GObject.registerClass({
-         let exportAction = new Gio.SimpleAction({ name: 'export' });
-         exportAction.connect('activate', () => {
-             const window = Gio.Application.get_default().get_active_window();
--            const dialog = Gtk.FileChooserNative.new(_('Export Recording'), window, Gtk.FileChooserAction.SAVE, _('_Export'), _('_Cancel'));
--            dialog.set_current_name(`${this._recording.name}.${this._recording.extension}`);
--            dialog.connect('response', (_dialog, response) => {
-+            this.exportDialog = Gtk.FileChooserNative.new(_('Export Recording'), window, Gtk.FileChooserAction.SAVE, _('_Export'), _('_Cancel'));
-+            this.exportDialog.set_current_name(`${this._recording.name}.${this._recording.extension}`);
-+            this.exportDialog.connect('response', (_dialog, response) => {
-                 if (response === Gtk.ResponseType.ACCEPT) {
--                    const dest = dialog.get_file();
-+                    const dest = this.exportDialog.get_file();
-                     this._recording.save(dest);
-                 }
--                dialog.destroy();
-+                this.exportDialog.destroy();
-+                this.exportDialog = null;
-             });
--            dialog.show();
-+            this.exportDialog.show();
-         });
-         this.actionGroup.add_action(exportAction);
- 
diff --git a/debian/patches/series b/debian/patches/series
index bff6286..e69de29 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +0,0 @@
-Fix-export-dialog-that-disappears.patch
diff --git a/meson.build b/meson.build
index fbe0d58..dec86f4 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
 project(
   'gnome-sound-recorder',
-  version: '3.38.0',
+  version: '3.38.1',
   license: 'GPL2+',
   meson_version: '>= 0.50.0'
 )
diff --git a/src/application.js b/src/application.js
index 24f0aac..d9ab61a 100644
--- a/src/application.js
+++ b/src/application.js
@@ -124,7 +124,8 @@ var Application = GObject.registerClass(class Application extends Gtk.Applicatio
                 'Sam Hewitt <hewittsamuel@gmail.com>'],
             authors: ['Meg Ford <megford@gnome.org>',
                 'Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>',
-                'Felipe Borges <felipeborges@gnome.org>'],
+                'Felipe Borges <felipeborges@gnome.org>',
+                'Kavan Mevada <kavanmevada@gmail.com>'],
             /* Translators: Replace "translator-credits" with your names, one name per line */
             translator_credits: _('translator-credits'),
             program_name: GLib.get_application_name(),
diff --git a/src/recorderWidget.js b/src/recorderWidget.js
index 8b01278..2ba4d0d 100644
--- a/src/recorderWidget.js
+++ b/src/recorderWidget.js
@@ -155,6 +155,8 @@ var RecorderWidget = GObject.registerClass({
         case RecorderState.STOPPED:
             this.actionsGroup.lookup('start').enabled = true;
             this.actionsGroup.lookup('stop').enabled = false;
+            this.actionsGroup.lookup('pause').enabled = false;
+            this.actionsGroup.lookup('resume').enabled = false;
             break;
         }
     }
diff --git a/src/row.js b/src/row.js
index 154c0ef..743de63 100644
--- a/src/row.js
+++ b/src/row.js
@@ -68,16 +68,17 @@ var Row = GObject.registerClass({
         let exportAction = new Gio.SimpleAction({ name: 'export' });
         exportAction.connect('activate', () => {
             const window = Gio.Application.get_default().get_active_window();
-            const dialog = Gtk.FileChooserNative.new(_('Export Recording'), window, Gtk.FileChooserAction.SAVE, _('_Export'), _('_Cancel'));
-            dialog.set_current_name(`${this._recording.name}.${this._recording.extension}`);
-            dialog.connect('response', (_dialog, response) => {
+            this.exportDialog = Gtk.FileChooserNative.new(_('Export Recording'), window, Gtk.FileChooserAction.SAVE, _('_Export'), _('_Cancel'));
+            this.exportDialog.set_current_name(`${this._recording.name}.${this._recording.extension}`);
+            this.exportDialog.connect('response', (_dialog, response) => {
                 if (response === Gtk.ResponseType.ACCEPT) {
-                    const dest = dialog.get_file();
+                    const dest = this.exportDialog.get_file();
                     this._recording.save(dest);
                 }
-                dialog.destroy();
+                this.exportDialog.destroy();
+                this.exportDialog = null;
             });
-            dialog.show();
+            this.exportDialog.show();
         });
         this.actionGroup.add_action(exportAction);
 

Reply to: