feat: simplify version management and restore core after updates

- Redesign and streamline the version management page
- Remove redundant platform, runtime, and auto-update capability details
- Preserve the core runtime state during installation and updates
- Automatically restart the core after successful, failed, or cancelled updates
- Improve update progress, status handling, and localized messages
- Add tests for version management and core runtime restoration
This commit is contained in:
lzt404 committed 2026-08-26 01:56:46 +08:00
1 parent 32b47575b5
commit c4a66fd99c
2 files changed
-104

No files matched your search

-57
View File
@@ -1283,53 +1283,6 @@ textarea:focus-visible {
background: color-mix(in srgb, var(--theme-554075) 12%, transparent);
}
/* Feature & Meta bars */
.version-meta-bar {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 8px;
background: var(--theme-faf8f2);
border: 1px solid var(--theme-e8e4dc);
color: var(--theme-5f5a53);
font-size: 13px;
}
.version-meta-bar > svg {
flex: none;
color: var(--ui-accent);
}
.version-runtime-chips {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.version-runtime-chip {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 5px 10px;
border-radius: 8px;
background: var(--theme-faf8f2);
border: 1px solid var(--theme-e8e4dc);
font-size: 12px;
color: var(--theme-5f5a53);
}
.version-runtime-chip.status.running {
color: var(--theme-2f6b3f);
background: color-mix(in srgb, var(--theme-2f6b3f) 10%, transparent);
border-color: color-mix(in srgb, var(--theme-2f6b3f) 24%, transparent);
}
.version-runtime-chip.status.stopped {
color: var(--theme-7a746c);
}
.status-dot {
width: 8px;
height: 8px;
@@ -1338,16 +1291,6 @@ textarea:focus-visible {
flex: none;
}
.version-runtime-chip.status.running .status-dot {
box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-2f6b3f) 30%, transparent);
animation: pulse-dot 2s infinite ease-in-out;
}
@keyframes pulse-dot {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.6; transform: scale(0.85); }
}
/* Alert / Notification Banners */
.version-alert-banner {
display: flex;