[Bug]: SnapShot GNOME extension is "out of date" on GNOME 51
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 79/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- desktop
Direzione di ricerca
Inizia da apps/desktop/gnome-extension/metadata.json e dai test di configurazione dell’acquisizione GNOME e degli snapshot Linux indicati nell’issue: GnomeCaptureSetup.test.ts e LinuxSnapShot.dbus.test.ts. Aggiorna la compatibilità con GNOME 51 e i fixture della versione dei metadati, e aggiungi test per l’aggiornamento dalla versione 2 alla 3; mantieni il protocollo D-Bus del servizio di acquisizione alla versione 2. Il lavoro è completato quando l’estensione viene riconosciuta su GNOME 51 e i test pertinenti passano.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
Steps to reproduce
- Upgrade to GNOME Shell 51.0 (Wayland) with T3 Code 0.0.45 and its bundled
[email protected]extension (version 2) installed and enabled. - Sign out and back in.
- Run
gnome-extensions info [email protected].
Expected behavior
The bundled extension loads on GNOME 51 and is available as an active-window SnapShot backend.
Actual behavior
GNOME refuses to load it and reports State: OUT OF DATE (output below).
apps/desktop/gnome-extension/metadata.json lists "shell-version": ["45", "46", "47", "48", "49", "50"]. T3 Code's own setup check rejects 51 for the same reason: GnomeCaptureSetup.state() returns status unsupported when the bundled shell-version doesn't include the session's major version (GnomeCaptureSetup.ts#L172).
Impact
Major degradation or frequent failure
On my GNOME 51 setup, the unmodified bundled version-2 extension is marked OUT OF DATE and unavailable as a capture backend.
Version or commit
0.0.45 (t3code-bin from the AUR). The same metadata and setup checks are present at commit 611132c171f3a821bd2e32f22261135cef6330ac.
Environment
CachyOS (Arch), GNOME Shell 51.0, Wayland, kernel 7.2.9-1-cachyos, xdg-desktop-portal 1.22.1 with xdg-desktop-portal-gnome 51.0. AMD HawkPoint iGPU and NVIDIA RTX 4060 Laptop GPU.
Logs or stack traces
$ gnome-extensions info [email protected]
[email protected]
Name: T3 Code SnapShots
...
Enabled: Yes
State: OUT OF DATE
$ gdbus call --session --dest org.freedesktop.portal.Desktop --object-path /org/freedesktop/portal/desktop \
--method org.freedesktop.DBus.Properties.GetAll org.freedesktop.portal.Screenshot
({'AvailableTargets': <uint32 0>, 'version': <uint32 2>},)
Screenshots, recordings, or supporting files
No response
Workaround
Add "51" to shell-version in the installed extension's metadata.json under ${XDG_DATA_HOME:-$HOME/.local/share}/gnome-shell/extensions/[email protected]/, then sign out and back in. This edits only the installed copy; T3 Code's setup check still uses its bundled metadata.
I tested this locally:
- The extension is
ACTIVE, with no errors from it in the gnome-shell journal. - A SnapShot (Ctrl+Shift+2) of another window succeeded in about 100 ms, with the window's app name and title attached.
- It went through the extension, not the portal. This system's Screenshot portal reports
version2 andAvailableTargets0 (above), so backend selection falls through tognome-extension(LinuxSnapShot.ts#L196-L211).
Static review of extension.js, captureService.js, captureFeedback.js and feedbackGeometry.js found no use of the removed, changed or deprecated APIs listed in the GNOME Shell 51 porting guide. Together with the local result, this suggests a metadata compatibility update. It is not a full GNOME 51 regression test.
Proposed fix
Add "51" to shell-version and bump metadata version from 2 to 3. The bump makes existing version-2 installations eligible for replacement through T3 Code's setup flow: state() requires a higher bundled version for update-required (L189), and perform("install-extension") accepts only not-installed or update-required (L229). Adding "51" while keeping version 2 would not make those installations eligible through this flow. Installing the update still requires signing out and back in.
In apps/desktop/gnome-extension/metadata.json:
- "shell-version": ["45", "46", "47", "48", "49", "50"],
+ "shell-version": ["45", "46", "47", "48", "49", "50", "51"],
- "version": 2,
+ "version": 3,
The tests need updating too:
GnomeCaptureSetup.test.tscurrently uses{ shell: "51.0" }as itsunsupportedexample (L126). It also has current-version fixtures atversion: 2.LinuxSnapShot.dbus.test.tshas a metadata-version fixture at 2 (L97).- A test for the version-2-to-3 upgrade would cover this case.
Keep the capture service's D-Bus protocol version (get Version() in extension.js) at 2. LinuxSnapShot.ts accepts only protocol 1 or 2, and this metadata revision doesn't change the protocol.
- Lingua principale
- TypeScript
- Stelle
- 24.8k
- Fork
- 6.4k
- Merge medio
- 8h 58m
- PR unite (30g)
- 278
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pingdotgg/t3code
-
[Bug]: Server git tests sign fixture commits with the developer's key when run from the repo rootAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
pingdotgg/t3code#17402 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pingdotgg/t3code
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
melgarafael/DeskcommCRM#2657 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
MystenLabs/MemWal#1163 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Mondriaan
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
knaw-huc/textannoviz#709 ·
I maintainer di solito rispondono entro 1 giorno
-
billion-context-pi
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ranxianglei/billion-context#2521 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Add: YRF Music NepalApertastreams:add
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno