feat: restart to apply update, privileged helper, rollback

This commit is contained in:
fsylvain committed 2026-10-01 21:36:40 +02:00
1 parent 70460e4170
commit 54e8fd5fed
63 files changed
+8635 -164

No files matched your search

+36 -2
View File
@@ -1,4 +1,4 @@
import { formatAbsoluteDateFromIso } from '@/lib/relativeDate'
import { formatAbsoluteDateFromIso, formatRelativeDate } from '@/lib/relativeDate'
export const ENABLE_BROWSER_UPDATES_COMMAND = 'renewcms enable-browser-updates'
export const AUTO_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000
@@ -15,7 +15,7 @@ function isSameLocalDay(a: Date, b: Date) {
)
}
function formatClock(date: Date) {
export function formatClock(date: Date) {
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
return `${hours}:${minutes}`
@@ -69,3 +69,37 @@ export function downloadAnnouncement(version: string, percent: number) {
}
export const VERIFYING_ANNOUNCEMENT = 'Checking the download'
const BROWSER_UPDATES_DOCS_PATH = '/src/branch/main/docs/deployment.md#browser-updates'
const RELEASES_SEGMENT = /^(.*)\/releases\//
export function browserUpdatesDocsUrl(releaseUrl: string) {
try {
const url = new URL(releaseUrl)
const repository = RELEASES_SEGMENT.exec(url.pathname)
return repository ? `${url.origin}${repository[1]}${BROWSER_UPDATES_DOCS_PATH}` : releaseUrl
} catch {
return releaseUrl
}
}
export function formatStartedAt(iso: string) {
return `Started at ${formatClock(new Date(iso))}`
}
export function formatStartedWithAge(iso: string, now: Date = new Date()) {
return `${formatStartedAt(iso)} · ${formatRelativeDate(iso, now)}`
}
export function formatUpdatedAt(iso: string, now: Date = new Date()) {
const date = new Date(iso)
const yesterday = new Date(now)
yesterday.setDate(now.getDate() - 1)
if (isSameLocalDay(date, now)) {
return `Updated today at ${formatClock(date)}`
}
if (isSameLocalDay(date, yesterday)) {
return `Updated yesterday at ${formatClock(date)}`
}
return `Updated ${formatAbsoluteDateFromIso(iso)} at ${formatClock(date)}`
}