Commit d3b1e3f
feat(portable): update management with per-track caching and flash-free detail refresh
- Full update system for Portable installs using update.py (pygit2-based)
- Two update tracks: Stable (--stable flag, latest tag) and Latest on GitHub (master HEAD)
- Check for Update fetches GitHub Releases/Commits API, stores results per-track in updateInfoByTrack
- Switching tracks instantly shows cached check results without re-fetching
- Update execution with 3-step progress, handles updater self-update flow
- Detail view uses targeted section refresh (replaceWith) instead of full page rebuild
- Extract _renderSection, _refreshSection, _refreshAllSections for flash-free updates
- List view shows amber update badge via getStatusTag()
- Modal messages linkify URLs (open in system browser) and are selectable with scroll
- Migrate legacy updateInfo to updateInfoByTrack on startup
- button.loading CSS class for inline check spinner
Amp-Thread-ID: https://ampcode.com/threads/T-019c6f48-6409-738c-8e1d-5bf37f16859e
Co-authored-by: Amp <amp@ampcode.com>1 parent a7ad556 commit d3b1e3f
7 files changed
Lines changed: 501 additions & 136 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
99 | 107 | | |
100 | 108 | | |
101 | 109 | | |
| |||
163 | 171 | | |
164 | 172 | | |
165 | 173 | | |
166 | | - | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
167 | 177 | | |
168 | 178 | | |
169 | 179 | | |
| |||
647 | 657 | | |
648 | 658 | | |
649 | 659 | | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
650 | 665 | | |
651 | 666 | | |
652 | | - | |
| 667 | + | |
653 | 668 | | |
654 | 669 | | |
655 | 670 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
137 | 138 | | |
138 | 139 | | |
139 | 140 | | |
| |||
170 | 171 | | |
171 | 172 | | |
172 | 173 | | |
173 | | - | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
174 | 197 | | |
175 | 198 | | |
176 | 199 | | |
| |||
0 commit comments