feat(update): add rolling dev update channel for per-commit builds

Adds an opt-in Dev channel so panels running CI per-commit builds can self-update to the latest commit, mirroring the stable online-update flow.

CI publishes/overwrites a single fixed-tag pre-release (dev-latest), force-moved to the newest main commit and marked --latest=false so releases/latest stays the stable tag. Builds stamp the short commit via -ldflags; the panel compares the running commit to the dev release commit to detect an update, and update.sh honors XUI_UPDATE_TAG to install from that tag. Linux/systemd only.
This commit is contained in:
MHSanaei
2026-06-24 18:11:22 +02:00
parent 93ff60e568
commit aad2b3eb1e
25 changed files with 556 additions and 48 deletions
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "إصدار البانل الحالي",
"latestPanelVersion": "أحدث إصدار للبانل",
"panelUpToDate": "البانل محدث لآخر إصدار",
"devChannel": "قناة التطوير",
"devChannelWarning": "تتابع نسخ التطوير كل كومِت على main وليست إصدارات مستقرة — لا يوجد رجوع تلقائي لإصدار أقدم.",
"currentCommit": "الكومِت الحالي",
"latestCommit": "أحدث كومِت",
"updateChannelChanged": "تم تغيير قناة التحديث",
"upToDate": "محدث",
"xrayStatusUnknown": "مش معروف",
"xrayStatusRunning": "شغالة",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Current panel version",
"latestPanelVersion": "Latest panel version",
"panelUpToDate": "Panel is up to date",
"devChannel": "Dev channel",
"devChannelWarning": "Dev builds track every commit on main and aren't stable releases — there is no automatic downgrade.",
"currentCommit": "Current commit",
"latestCommit": "Latest commit",
"updateChannelChanged": "Update channel changed",
"upToDate": "Up to date",
"xrayStatusUnknown": "Unknown",
"xrayStatusRunning": "Running",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Versión actual del panel",
"latestPanelVersion": "Última versión del panel",
"panelUpToDate": "El panel está actualizado",
"devChannel": "Canal de desarrollo",
"devChannelWarning": "Las compilaciones de desarrollo siguen cada commit en main y no son versiones estables; no hay reversión automática.",
"currentCommit": "Commit actual",
"latestCommit": "Último commit",
"updateChannelChanged": "Canal de actualización cambiado",
"upToDate": "Actualizado",
"xrayStatusUnknown": "Desconocido",
"xrayStatusRunning": "En ejecución",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "نسخه فعلی پنل",
"latestPanelVersion": "آخرین نسخه پنل",
"panelUpToDate": "پنل به‌روز است",
"devChannel": "کانال توسعه (Dev)",
"devChannelWarning": "بیلدهای توسعه هر کامیت روی main را دنبال می‌کنند و نسخهٔ پایدار نیستند — بازگشت خودکار به نسخهٔ قبلی وجود ندارد.",
"currentCommit": "کامیت فعلی",
"latestCommit": "آخرین کامیت",
"updateChannelChanged": "کانال به‌روزرسانی تغییر کرد",
"upToDate": "به‌روز",
"xrayStatusUnknown": "ناشناخته",
"xrayStatusRunning": "در حال اجرا",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Versi panel saat ini",
"latestPanelVersion": "Versi panel terbaru",
"panelUpToDate": "Panel sudah terbaru",
"devChannel": "Kanal dev",
"devChannelWarning": "Build dev mengikuti setiap commit di main dan bukan rilis stabil — tidak ada penurunan versi otomatis.",
"currentCommit": "Commit saat ini",
"latestCommit": "Commit terbaru",
"updateChannelChanged": "Kanal pembaruan diubah",
"upToDate": "Terbaru",
"xrayStatusUnknown": "Tidak diketahui",
"xrayStatusRunning": "Berjalan",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "現在のパネルバージョン",
"latestPanelVersion": "最新のパネルバージョン",
"panelUpToDate": "パネルは最新です",
"devChannel": "開発チャンネル",
"devChannelWarning": "開発ビルドは main の各コミットを追跡し、安定版ではありません。自動ダウングレードはありません。",
"currentCommit": "現在のコミット",
"latestCommit": "最新のコミット",
"updateChannelChanged": "更新チャンネルを変更しました",
"upToDate": "最新",
"xrayStatusUnknown": "不明",
"xrayStatusRunning": "実行中",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Versão atual do painel",
"latestPanelVersion": "Última versão do painel",
"panelUpToDate": "O painel está atualizado",
"devChannel": "Canal de desenvolvimento",
"devChannelWarning": "As builds de desenvolvimento acompanham cada commit na main e não são versões estáveis — não há downgrade automático.",
"currentCommit": "Commit atual",
"latestCommit": "Último commit",
"updateChannelChanged": "Canal de atualização alterado",
"upToDate": "Atualizado",
"xrayStatusUnknown": "Desconhecido",
"xrayStatusRunning": "Em execução",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Текущая версия панели",
"latestPanelVersion": "Последняя версия панели",
"panelUpToDate": "Панель обновлена",
"devChannel": "Канал разработки",
"devChannelWarning": "Сборки разработки отслеживают каждый коммит в main и не являются стабильными релизами — автоматического отката нет.",
"currentCommit": "Текущий коммит",
"latestCommit": "Последний коммит",
"updateChannelChanged": "Канал обновления изменён",
"upToDate": "Обновлено",
"xrayStatusUnknown": "Неизвестно",
"xrayStatusRunning": "Запущен",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Mevcut panel sürümü",
"latestPanelVersion": "Panelin en son sürümü",
"panelUpToDate": "Panel güncel",
"devChannel": "Geliştirme kanalı",
"devChannelWarning": "Geliştirme yapıları main üzerindeki her commit'i izler ve kararlı sürüm değildir — otomatik geri alma yoktur.",
"currentCommit": "Geçerli commit",
"latestCommit": "Son commit",
"updateChannelChanged": "Güncelleme kanalı değiştirildi",
"upToDate": "Güncel",
"xrayStatusUnknown": "Bilinmiyor",
"xrayStatusRunning": "Çalışıyor",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Поточна версія панелі",
"latestPanelVersion": "Остання версія панелі",
"panelUpToDate": "Панель оновлено",
"devChannel": "Канал розробки",
"devChannelWarning": "Збірки розробки відстежують кожен коміт у main і не є стабільними релізами — автоматичного відкату немає.",
"currentCommit": "Поточний коміт",
"latestCommit": "Останній коміт",
"updateChannelChanged": "Канал оновлення змінено",
"upToDate": "Оновлено",
"xrayStatusUnknown": "Невідомо",
"xrayStatusRunning": "Запущено",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "Phiên bản panel hiện tại",
"latestPanelVersion": "Phiên bản panel mới nhất",
"panelUpToDate": "Panel đã được cập nhật",
"devChannel": "Kênh phát triển",
"devChannelWarning": "Bản dev bám theo từng commit trên main và không phải bản ổn định — không có hạ cấp tự động.",
"currentCommit": "Commit hiện tại",
"latestCommit": "Commit mới nhất",
"updateChannelChanged": "Đã đổi kênh cập nhật",
"upToDate": "Đã cập nhật",
"xrayStatusUnknown": "Không xác định",
"xrayStatusRunning": "Đang chạy",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "当前面板版本",
"latestPanelVersion": "最新面板版本",
"panelUpToDate": "面板已是最新",
"devChannel": "开发通道",
"devChannelWarning": "开发版会跟踪 main 的每次提交,并非稳定版本,且无法自动降级。",
"currentCommit": "当前提交",
"latestCommit": "最新提交",
"updateChannelChanged": "更新通道已切换",
"upToDate": "已是最新",
"xrayStatusUnknown": "未知",
"xrayStatusRunning": "运行中",
+5
View File
@@ -153,6 +153,11 @@
"currentPanelVersion": "目前面板版本",
"latestPanelVersion": "最新面板版本",
"panelUpToDate": "面板已是最新",
"devChannel": "開發通道",
"devChannelWarning": "開發版會追蹤 main 的每次提交,並非穩定版本,且無法自動降級。",
"currentCommit": "目前提交",
"latestCommit": "最新提交",
"updateChannelChanged": "更新通道已切換",
"upToDate": "已是最新",
"xrayStatusUnknown": "未知",
"xrayStatusRunning": "運行中",