Bug 57356 - баг в работе расширения removable drive menu - появляются фиктивные флешки
Summary: баг в работе расширения removable drive menu - появляются фиктивные флешки
Status: NEW
Alias: None
Product: Branch p11
Classification: Unclassified
Component: gnome-shell-extensions (show other bugs)
Version: unspecified
Hardware: all Linux
: P5 normal
Assignee: Semen Fomchenkov
QA Contact: qa-p11@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-25 12:01 MSK by kullibbin
Modified: 2025-12-29 19:05 MSK (History)
5 users (show)

See Also:


Attachments
Пропатченный файл js для временного решения проблемы. (6.36 KB, application/octet-stream)
2025-12-25 12:36 MSK, kullibbin
no flags Details
Скрипт для решения проблемы. Бэкапит исходный файл расширения js и создает новый, с задержкой запуска 5 сек, что решает проблему. Используетс (7.01 KB, application/octet-stream)
2025-12-29 14:29 MSK, kullibbin
no flags Details
патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3) (504 bytes, patch)
2025-12-29 17:45 MSK, Дмитрий
no flags Details | Diff
патч (602 bytes, patch)
2025-12-29 19:05 MSK, Дмитрий
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description kullibbin 2025-12-25 12:01:56 MSK
Если в усб вставить флешку или усб-диск до того, как юзер залогинился в сессии, расширение показывает в панели ДВА таких устройства вместо одного. При этом одно устройство работает правильно и отмонтируется при нажатии на стрелку, а второе - нет, при этом получаю сообщение, что не найдена точка монтирования, но это фейковое устройство продолжает находиться в меню расширения до перезагрузки. То же самое, если флешка вставлена и не вытаскивается из усб-порта при перезагрузке. Пробовал удалять папку этого расширения из /usr/share/gnome-shell/extensions и ставить с интернета с сайта расширений - то же самое. Предполагаю, что баг имеет тот же характер, что и с pipewire settings - расширения инициализируются слишком рано после логина юзера, но это только предположение. В случае с pipewire settings помогло включение задержки в несколько секунд в файле расришения js.
Comment 1 kullibbin 2025-12-25 12:03:54 MSK
в файле расширения extension.js
Comment 2 kullibbin 2025-12-25 12:36:52 MSK
Created attachment 20402 [details]
Пропатченный файл js для временного решения проблемы.

Исправленный extension.js для временного решения проблемы.
Comment 3 kullibbin 2025-12-25 12:41:14 MSK
Мое предположение было правильным, баги с расширениями возникают из-за слишком ранней инициализации их. Если добавить задержку в 5 секунд, например, при инициализации расширения removable drive menu, то проблема пропадает. Как временное решение, с помощью нейросети исправил файл extension.js так, чтоб он запускался через 5 секунд только, после логина пользователя. Все работает. Но расширение не виновато - та же проблема с pipewire settings. И если ставить removeale drive menu с сайта расширений, удалив из системы (удалив каталог с расширением, по-варварски :)  ), точно такой же баг проявляется и тогда.
Comment 4 kullibbin 2025-12-25 12:46:11 MSK
файл extension.js скопировать с заменой в папку admin:///usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com
Comment 5 Антон Мидюков 2025-12-26 11:11:09 MSK
Пулл-риквест в апстрим:
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/440
Comment 6 kullibbin 2025-12-29 14:29:00 MSK
Created attachment 20424 [details]
Скрипт для решения проблемы. Бэкапит исходный файл расширения js и создает новый, с задержкой запуска 5 сек, что решает проблему. Используетс
Comment 7 Дмитрий 2025-12-29 17:45:30 MSK
Created attachment 20431 [details]
патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3)

В расширение добавлена проверка для предотвращения дублирования носителей, MR в апстрим отправлен:

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/440
Comment 8 Дмитрий 2025-12-29 18:05:19 MSK
Comment on attachment 20431 [details]
патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3)

Изменил название файла в соответствии со стандартом
Comment 9 Дмитрий 2025-12-29 19:00:49 MSK
Comment on attachment 20431 [details]
патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3)

diff -urN gnome-shell-extensions-original/extensions/drive-menu/extension.js gnome-shell-extensions/extensions/drive-menu/extension.js
--- gnome-shell-extensions-original/extensions/drive-menu/extension.js	2025-12-29 21:49:23.096987297 +0600
+++ gnome-shell-extensions/extensions/drive-menu/extension.js	2025-12-29 21:54:16.094220518 +0600
@@ -178,6 +178,9 @@
     }
 
     _addMount(mount) {
+        if (this._mounts.some(item => item.mount === mount))
+            return;
+
         let item = new MountMenuItem(mount);
         this._mounts.unshift(item);
         this.menu.addMenuItem(item, 0);
Comment 10 Дмитрий 2025-12-29 19:02:46 MSK
Comment on attachment 20431 [details]
патч, добавляющий проверку на дубликаты при монтирование (исправление для версии 48.3)

diff -urN gnome-shell-extensions-original/extensions/drive-menu/extension.js gnome-shell-extensions/extensions/drive-menu/extension.js
--- gnome-shell-extensions-original/extensions/drive-menu/extension.js	2025-12-29 21:49:23.096987297 +0600
+++ gnome-shell-extensions/extensions/drive-menu/extension.js	2025-12-29 21:54:16.094220518 +0600
@@ -178,6 +178,9 @@
     }
 
     _addMount(mount) {
+        if (this._mounts.some(item => item.mount === mount))
+            return;
+
         let item = new MountMenuItem(mount);
         this._mounts.unshift(item);
         this.menu.addMenuItem(item, 0);
Comment 11 Дмитрий 2025-12-29 19:05:45 MSK
Created attachment 20432 [details]
патч

В расширение добавлена проверка для предотвращения дублирования носителей, MR в апстрим отправлен:

P.S
Извините за спам, я изучаю особенностей bugzilla по работе с файлами и их редактированию )