release: publish 1.0.7 Windows shell fixes
Windows CI / verify (push) Failing after 8s

Stabilize Start menu and desktop shortcut migration with persistent versioned icon resources, stale-registration recovery, and explicit Windows shell notifications. Keep development, packaged, and shortcut identities aligned, and add regression coverage for orphaned per-user installs, reduced-motion changelog transitions, and update-popover pointer transit.
This commit is contained in:
Sucukdeluxe
2026-08-12 12:55:46 +02:00
parent 5bc58a0d85
commit 49033f9ff2
13 changed files with 195 additions and 22 deletions
+3 -3
View File
@@ -20,9 +20,9 @@
<div class="update-changelog-card is-hidden" id="updateChangelogCard">
<div class="update-changelog-header">
<span class="update-changelog-label" id="updateChangelogLabel">Changelog</span>
<button type="button" class="update-changelog-toggle" id="updateChangelogToggle" onclick="toggleUpdateChangelog()">Changelog anzeigen</button>
<button type="button" class="update-changelog-toggle" id="updateChangelogToggle" onclick="toggleUpdateChangelog()" aria-controls="updateChangelogPanel" aria-expanded="false">Changelog anzeigen</button>
</div>
<div class="update-changelog-panel" id="updateChangelogPanel" hidden>
<div class="update-changelog-panel" id="updateChangelogPanel" aria-hidden="true">
<div class="update-changelog-content" id="updateChangelogContent"></div>
<p class="update-changelog-empty" id="updateChangelogEmpty" hidden>Kein Changelog verfügbar.</p>
</div>
@@ -940,7 +940,7 @@
<div class="settings-card" data-settings-pane="updates" hidden>
<h3 id="updateTitle">Updates</h3>
<p id="versionInfo" class="card-intro">Version: v1.0.6</p>
<p id="versionInfo" class="card-intro">Version: v1.0.7</p>
<button type="button" class="btn-secondary" id="checkUpdateBtn" onclick="checkUpdate()">Nach Updates suchen</button>
</div>
+8 -3
View File
@@ -293,7 +293,8 @@ function renderUpdateChangelog(notes?: string): void {
if (!normalized) {
card.classList.add('is-hidden');
panel.hidden = true;
panel.classList.remove('is-expanded');
panel.setAttribute('aria-hidden', 'true');
updateChangelogExpanded = false;
return;
}
@@ -372,7 +373,8 @@ function renderUpdateChangelog(notes?: string): void {
content.appendChild(fragment);
}
panel.hidden = !updateChangelogExpanded;
panel.classList.toggle('is-expanded', updateChangelogExpanded);
panel.setAttribute('aria-hidden', String(!updateChangelogExpanded));
}
function refreshUpdateChangelogToggleText(): void {
@@ -383,6 +385,7 @@ function refreshUpdateChangelogToggleText(): void {
}
toggle.textContent = updateChangelogExpanded ? UI_TEXT.updates.hideChangelog : UI_TEXT.updates.showChangelog;
toggle.setAttribute('aria-expanded', String(updateChangelogExpanded));
}
function refreshUpdateModalTexts(): void {
@@ -459,7 +462,9 @@ function toggleUpdateChangelog(): void {
}
updateChangelogExpanded = !updateChangelogExpanded;
byId<HTMLElement>('updateChangelogPanel').hidden = !updateChangelogExpanded;
const panel = byId<HTMLElement>('updateChangelogPanel');
panel.classList.toggle('is-expanded', updateChangelogExpanded);
panel.setAttribute('aria-hidden', String(!updateChangelogExpanded));
refreshUpdateChangelogToggleText();
}
+11
View File
@@ -3000,9 +3000,20 @@ input[type="checkbox"].vod-select-checkbox {
}
.update-changelog-panel {
max-height: 0;
overflow: hidden;
padding: 0 14px;
opacity: 0;
transform: translateY(-4px);
transition: max-height 260ms cubic-bezier(0.22, 0.76, 0.22, 1), padding 260ms cubic-bezier(0.22, 0.76, 0.22, 1), opacity 180ms ease, transform 260ms cubic-bezier(0.22, 0.76, 0.22, 1);
}
.update-changelog-panel.is-expanded {
max-height: 320px;
overflow: auto;
padding: 14px;
opacity: 1;
transform: translateY(0);
}
.update-changelog-content {
+13
View File
@@ -2646,6 +2646,10 @@ input[type="checkbox"].vod-select-checkbox:focus-visible {
transition-delay: 0s !important;
}
.update-changelog-panel {
transition: max-height 260ms cubic-bezier(0.22, 0.76, 0.22, 1), padding 260ms cubic-bezier(0.22, 0.76, 0.22, 1), opacity 180ms ease, transform 260ms cubic-bezier(0.22, 0.76, 0.22, 1) !important;
}
.top-nav::before {
transition: transform 420ms cubic-bezier(0.22, 0.76, 0.22, 1), width 420ms cubic-bezier(0.22, 0.76, 0.22, 1), height 420ms cubic-bezier(0.22, 0.76, 0.22, 1) !important;
}
@@ -2873,6 +2877,15 @@ input[type="checkbox"].vod-select-checkbox:focus-visible {
transform: rotate(45deg);
}
.workspace-update-popover::after {
position: absolute;
top: -7px;
right: 0;
left: 0;
height: 7px;
content: "";
}
.workspace-update.show:not(.popover-dismissed):hover .workspace-update-popover,
.workspace-update.show:not(.popover-dismissed):focus-within .workspace-update-popover {
visibility: visible;