← Back to issue list

Desktop extension symlinks aren't updated on snap revert

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#2009970
Type
issue
State
open
Author
~lauren-brock
Labels
—
Created
Updated
Closed
—

Current evaluation

Desktop extensions store .last_revision in versioned $SNAP_USER_DATA, so after `snap revert` the marker already matches and desktop-launch skips symlink refresh, leaving stale/broken symlinks. Reported by an external contributor; unlabelled, no maintainer response, code still unchanged.

Suggested action: needs triage

Reason: The root cause is confirmed present at HEAD: `extensions/desktop/common/init` line 33 does `source "$SNAP_USER_DATA/.last_revision"` and `mark-and-exec` line 10 writes it back to the same versioned path, while the stale symlinks live in the non-versioned `$SNAP_USER_COMMON/.cache` (immodules, gio-modules) and `$SNAP_USER_DATA/.themes`. Git history for both files shows only cosmetic/style commits (e.g. 7fb6ad2a7 "style: shfmt") since the original b0c4319e5, so this is unfixed. However the issue carries no labels, no assignee, and only the reporter's own comment (2023-03-22) proposing moving the marker to `$SNAP_USER_COMMON`; no maintainer has confirmed Snapcraft (rather than snapd) owns the revert semantics, and no step-by-step reproducer is supplied, so it still needs an owner.

Evaluated by: mr-cal-bot

Impact: 45 Quick Win: 21 Complexity: 35 Confidence: 76 Actionability: 72

Issue body

The desktop extensions check whether or not to symlink libraries based on the contents of $SNAP_USER_DATA/.last_revision. Because $SNAP_USER_DATA is versioned, after a snap is reverted, the desktop-launch script will check .last_revision, but it will always match the (now) current revision. This leads to broken symlinks that point to a revision more recent than the current revision (since they are not updated after a revert). This issue also affects the ubuntu/snapcraft-desktop-helpers repository.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 45
Quick Win: 21
Complexity: 35
Confidence: 76
Actionability: 72
needs triage Desktop extensions store .last_revision in versioned $SNAP_USER_DATA, so after `snap revert` the marker already matches and desktop-launch skips symlink refresh, leaving stale/broken symlinks. Reported by an external contributor; unlabelled, no maintainer response, code still unchanged.
stealth/space-bunny-alpha
Impact: 52
Quick Win: 26
Complexity: 37
Confidence: 91
Actionability: 78
needs triage Current desktop launchers store .last_revision under revisioned SNAP_USER_DATA, so a snap revert can reuse an old matching marker, skip symlink refreshes, and prevent launch.
stealth/space-bunny-alpha
Impact: 50
Quick Win: 22
Complexity: 40
Confidence: 95
Actionability: 72
needs triage Desktop-extension symlinks can target a newer revision after a snap revert because versioned SNAP_USER_DATA preserves an old .last_revision match; the shared launch code remains affected.
qwen3.6-35b-a3b-mtp-q6
Impact: 60
Quick Win: 27
Staleness: 85
Complexity: 55
Confidence: 35
Support Request: 15
needs triage Desktop extension symlinks not updated on snap revert due to .last_revision check. Untriaged, 1273 days old, no maintainer response.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 70
Confidence: 85
Support Request: 10
close stale Bug where desktop extension symlinks break after a snap revert due to stale .last_revision checks. Unaddressed for over 3 years with no maintainer interaction.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 60
Confidence: 80
Support Request: 10
needs triage Desktop extension symlinks break after snap revert because .last_revision is not updated to match the reverted revision. Unlabeled with no maintainer activity for over three years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 65
Confidence: 75
Support Request: 10
needs triage Desktop extension symlinks break after snap revert because .last_revision isn't updated. Issue remains untriaged with no maintainer engagement for over three years.

Update history

Date Change
created

Related issues

No related issues found above the similarity threshold.