Compare commits

...
3 Commits
Author SHA1 Message Date
AxTps 2efaa4fb35 chore: 发布 1.0.1-beta1 公告
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
Sync LobeHub models / sync (push) Has been cancelled
Starlight release / Release preflight (push) Has been cancelled
Prepare pnpm cache / prepare (push) Has been cancelled
Starlight release / Build (Windows x64) (push) Has been cancelled
Starlight release / Build (Linux arm64) (push) Has been cancelled
Starlight release / Build (Linux x64) (push) Has been cancelled
Starlight release / Build (macOS universal) (push) Has been cancelled
Starlight release / Verify and publish (push) Has been cancelled
- catalog.ts 增量新增 1.0.1-beta1 公告(首次启动欢迎弹窗);
- 网站 catalog.json 重新生成。
2026-09-27 08:39:49 +08:00
AxTps 2d52d16933 feat: 添加了首次启动器时弹出的公告
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
2026-09-27 08:24:13 +08:00
Axolotl Release Bot bbb9e5c054 chore(website): update download metadata to v1.0.0 [skip ci] 2026-09-26 07:26:43 +00:00
5 changed files with 214 additions and 31 deletions

No files matched your search

+16
View File
@@ -92,6 +92,7 @@ import NavRail from '@/components/ui/NavRail.vue'
import OnboardingOverlay from '@/components/ui/onboarding/OnboardingOverlay.vue' import OnboardingOverlay from '@/components/ui/onboarding/OnboardingOverlay.vue'
import QuickInstanceSwitcher from '@/components/ui/QuickInstanceSwitcher.vue' import QuickInstanceSwitcher from '@/components/ui/QuickInstanceSwitcher.vue'
import SkinSiteSessionFrame from '@/components/ui/SkinSiteSessionFrame.vue' import SkinSiteSessionFrame from '@/components/ui/SkinSiteSessionFrame.vue'
import StartupAnnouncementModal from '@/components/ui/StartupAnnouncementModal.vue'
import SplashScreen from '@/components/ui/SplashScreen.vue' import SplashScreen from '@/components/ui/SplashScreen.vue'
import WindowControls from '@/components/ui/WindowControls.vue' import WindowControls from '@/components/ui/WindowControls.vue'
import { useCheckDisableMouseover } from '@/composables/macCssFix.js' import { useCheckDisableMouseover } from '@/composables/macCssFix.js'
@@ -498,6 +499,7 @@ onMounted(async () => {
checkUpdates() checkUpdates()
void warnIfRunningElevated() void warnIfRunningElevated()
startDirectLinkSync() startDirectLinkSync()
maybeShowStartupAnnouncement()
}) })
let directLinkSync: (() => Promise<void>) | undefined let directLinkSync: (() => Promise<void>) | undefined
@@ -1538,6 +1540,19 @@ const updateToPlayModal = ref()
const modrinthLoginFlowWaitModal = ref() const modrinthLoginFlowWaitModal = ref()
const startupAnnouncementModal = ref<InstanceType<typeof StartupAnnouncementModal> | null>(null)
const STARTUP_ANNOUNCEMENT_KEY = 'starlight-startup-announcement-seen-v1'
function maybeShowStartupAnnouncement() {
try {
if (localStorage.getItem(STARTUP_ANNOUNCEMENT_KEY)) return
localStorage.setItem(STARTUP_ANNOUNCEMENT_KEY, '1')
} catch (error) {
console.warn('Failed to read/write startup announcement flag', error)
}
startupAnnouncementModal.value?.show()
}
// ── Drop import system ────────────────────────────────────────────────── // ── Drop import system ──────────────────────────────────────────────────
const dropImport = useDropImport({ const dropImport = useDropImport({
notificationManager, notificationManager,
@@ -2167,6 +2182,7 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
<SplashScreen v-if="!stateFailed" ref="splashScreen" data-tauri-drag-region /> <SplashScreen v-if="!stateFailed" ref="splashScreen" data-tauri-drag-region />
<SkinSiteSessionFrame v-if="stateInitialized" /> <SkinSiteSessionFrame v-if="stateInitialized" />
<InstancePlayerModal v-if="stateInitialized" /> <InstancePlayerModal v-if="stateInitialized" />
<StartupAnnouncementModal ref="startupAnnouncementModal" />
<div id="teleports"></div> <div id="teleports"></div>
<div <div
v-if="stateInitialized && themeStore.customBackgroundPath && !themeStore.transparentBackground" v-if="stateInitialized && themeStore.customBackgroundPath && !themeStore.transparentBackground"
@@ -32,6 +32,25 @@ export const ANNOUNCEMENT_CHANGE_TYPES: readonly AnnouncementChangeType[] = [
] ]
export const launcherAnnouncements: readonly LauncherAnnouncement[] = [ export const launcherAnnouncements: readonly LauncherAnnouncement[] = [
{
id: 'launcher-1.0.1-beta1',
version: '1.0.1-beta1',
publishedAt: '2026-09-27',
title: {
'en-US': 'Starlight Launcher 1.0.1-beta1',
'zh-CN': 'Starlight Launcher 1.0.1-beta1',
},
changes: {
added: [
{
'en-US':
'Added a one-time welcome announcement on first launch, covering the development team, the StarLight-only note, the rulebook update, and server connection addresses.',
'zh-CN':
'新增首次启动时的欢迎公告弹窗,包含开发团队、StarLight 专用说明、服规更新与服务器连接地址。',
},
],
},
},
{ {
id: 'launcher-1.0.0', id: 'launcher-1.0.0',
version: '1.0.0', version: '1.0.0',
@@ -0,0 +1,132 @@
<script setup lang="ts">
import { ExternalIcon, UsersIcon, XIcon } from '@modrinth/assets'
import { Avatar, ButtonStyled, NewModal } from '@modrinth/ui'
import { openUrl } from '@tauri-apps/plugin-opener'
import { ref } from 'vue'
import { teamMembers } from '@/data/about'
const modal = ref<InstanceType<typeof NewModal>>()
const SERVER_IPS: { label: string; host: string }[] = [
{ label: '直连 IPv4', host: 'slv4.starlight.cool' },
{ label: '直连 IPv6', host: 'slv6.starlight.cool' },
{ label: '北方代理 IPv4', host: 'north.starlight.cool' },
{ label: '南方代理 IPv4', host: 'south.starlight.cool' },
{ label: '美国代理 IPv4', host: 'usa.starlight.cool' },
]
const RULES_URL = 'https://kdocs.cn/l/cmT6lVdryHJu'
const QQ_GROUP = '535392227'
function show() {
modal.value?.show()
}
function hide() {
modal.value?.hide()
}
function openLink(url: string) {
void openUrl(url)
}
</script>
<template>
<NewModal ref="modal" header="欢迎使用 Starlight Launcher" width="640px" max-width="640px">
<div class="flex min-w-0 flex-col gap-5">
<!-- 1. 开发组 -->
<section class="flex flex-col gap-2">
<h3 class="m-0 flex items-center gap-2 text-sm font-semibold text-contrast">
<UsersIcon class="size-4 text-secondary" />
开发团队
</h3>
<p class="m-0 text-sm text-secondary">
本启动器由
<span class="font-semibold text-contrast">Ax_Tps</span>
和
<span class="font-semibold text-contrast">Disy920</span>
基于 Axolotl 开发。
</p>
<div class="grid gap-3 sm:grid-cols-2">
<a
v-for="member in teamMembers"
:key="member.name"
:href="member.url ?? undefined"
target="_blank"
rel="noopener noreferrer"
class="flex min-w-0 items-center gap-3 rounded-xl bg-surface-4 p-3 transition-colors hover:bg-surface-5"
@click.prevent="member.url && openLink(member.url)"
>
<Avatar :src="member.avatarUrl" :alt="member.name" size="2.5rem" circle no-shadow />
<span class="min-w-0 flex-1 truncate font-semibold text-contrast">{{ member.name }}</span>
<ExternalIcon v-if="member.url" class="size-4 shrink-0 text-secondary" />
</a>
</div>
</section>
<!-- 2. SLS 专属 -->
<section class="flex flex-col gap-2">
<h3 class="m-0 text-sm font-semibold text-contrast">Starlight 专用启动器</h3>
<p class="m-0 text-sm text-secondary">
该启动器为 Starlight 专用。如果您还未加入 StarLight,请前往我们的 QQ 审核群
<button
type="button"
class="cursor-pointer border-0 bg-transparent p-0 font-semibold text-brand underline"
@click="openLink(`https://qm.qq.com/q/${QQ_GROUP}`)"
>
{{ QQ_GROUP }}
</button>
。
</p>
</section>
<!-- 3. 服规更新 -->
<section class="flex flex-col gap-2">
<h3 class="m-0 text-sm font-semibold text-contrast">StarLight 总则章程更新</h3>
<p class="m-0 text-sm text-secondary">
StarLight 总则章程(即“服规”)更新至第 15 版。该版服规进一步完善与严格了聚落建立、改组、招新与运营的全链条要求,请大家注意阅读并遵守!本版服规自
2026 年 9 月 27 日 0 点起开始试行。
</p>
<button
type="button"
class="flex w-fit cursor-pointer items-center gap-1 border-0 bg-transparent p-0 text-sm font-semibold text-brand underline"
@click="openLink(RULES_URL)"
>
查看服规链接
<ExternalIcon class="size-3.5" />
</button>
</section>
<!-- 4. 服务器连接 -->
<section class="flex flex-col gap-2">
<h3 class="m-0 text-sm font-semibold text-contrast">服务器连接</h3>
<p class="m-0 text-sm text-secondary">服务器目前下列几项 IP 可用:</p>
<ul class="m-0 flex flex-col gap-1 pl-5 text-sm text-secondary">
<li v-for="ip in SERVER_IPS" :key="ip.host">
<span class="text-contrast">{{ ip.label }}</span>
:<code class="text-brand">{{ ip.host }}</code>
</li>
</ul>
<p class="m-0 text-sm text-secondary">
请注意,我们优先推荐您尝试直连 IP(包括 v4 和 v6,哪个可用用哪个)。若没有出现高延迟或延迟波动严重的问题,尽量避免使用代理
IP(代理 IP 是流量计费的,使用会给服务器带来更大的经济压力)。
</p>
<p class="m-0 text-sm text-secondary">
若必须使用代理 IP,按以往经验,河北(含)以北的我国省份,在选用代理 IP 时建议优先选用北方代理,否则请使用南方代理。
</p>
</section>
</div>
<template #actions>
<div class="flex justify-end">
<ButtonStyled color="brand">
<button @click="hide">
<XIcon />
我知道了
</button>
</ButtonStyled>
</div>
</template>
</NewModal>
</template>
+18 -1
View File
@@ -1,6 +1,23 @@
{ {
"updated_at": "2026-09-26T06:23:01.194Z", "updated_at": "2026-09-27T00:38:49.605Z",
"announcements": [ "announcements": [
{
"id": "launcher-1.0.1-beta1",
"version": "1.0.1-beta1",
"publishedAt": "2026-09-27",
"title": {
"en-US": "Starlight Launcher 1.0.1-beta1",
"zh-CN": "Starlight Launcher 1.0.1-beta1"
},
"changes": {
"added": [
{
"en-US": "Added a one-time welcome announcement on first launch, covering the development team, the StarLight-only note, the rulebook update, and server connection addresses.",
"zh-CN": "新增首次启动时的欢迎公告弹窗,包含开发团队、StarLight 专用说明、服规更新与服务器连接地址。"
}
]
}
},
{ {
"id": "launcher-1.0.0", "id": "launcher-1.0.0",
"version": "1.0.0", "version": "1.0.0",
+29 -30
View File
@@ -1,34 +1,33 @@
{ {
"tag_name": "v1.9.5", "tag_name": "v1.0.0",
"assets": [ "assets": [
"Axolotl.Launcher-1.9.5-1.aarch64.rpm", "Axolotl_Launcher_1.0.0_x64_modern-setup.exe",
"Axolotl.Launcher-1.9.5-1.aarch64.rpm.sig", "Axolotl_Launcher_1.0.0_x64_modern-setup.exe.sig",
"Axolotl.Launcher-1.9.5-1.x86_64.rpm", "Axolotl_Launcher_1.0.0_x64_nsis-setup.exe",
"Axolotl.Launcher-1.9.5-1.x86_64.rpm.sig", "Axolotl_Launcher_1.0.0_x64_nsis-setup.exe.sig",
"Axolotl.Launcher_1.9.5_aarch64.AppImage", "Axolotl_Launcher_1.0.0_x64_portable.zip",
"Axolotl.Launcher_1.9.5_aarch64.AppImage.sig", "Starlight.Launcher-1.0.0-1.aarch64.rpm",
"Axolotl.Launcher_1.9.5_aarch64.AppImage.tar.gz", "Starlight.Launcher-1.0.0-1.aarch64.rpm.sig",
"Axolotl.Launcher_1.9.5_aarch64.AppImage.tar.gz.sig", "Starlight.Launcher-1.0.0-1.x86_64.rpm",
"Axolotl.Launcher_1.9.5_amd64.AppImage", "Starlight.Launcher-1.0.0-1.x86_64.rpm.sig",
"Axolotl.Launcher_1.9.5_amd64.AppImage.sig", "Starlight.Launcher_1.0.0_aarch64.AppImage",
"Axolotl.Launcher_1.9.5_amd64.AppImage.tar.gz", "Starlight.Launcher_1.0.0_aarch64.AppImage.sig",
"Axolotl.Launcher_1.9.5_amd64.AppImage.tar.gz.sig", "Starlight.Launcher_1.0.0_aarch64.AppImage.tar.gz",
"Axolotl.Launcher_1.9.5_amd64.deb", "Starlight.Launcher_1.0.0_aarch64.AppImage.tar.gz.sig",
"Axolotl.Launcher_1.9.5_amd64.deb.sig", "Starlight.Launcher_1.0.0_amd64.AppImage",
"Axolotl.Launcher_1.9.5_arm64.deb", "Starlight.Launcher_1.0.0_amd64.AppImage.sig",
"Axolotl.Launcher_1.9.5_arm64.deb.sig", "Starlight.Launcher_1.0.0_amd64.AppImage.tar.gz",
"Axolotl.Launcher_1.9.5_universal.dmg", "Starlight.Launcher_1.0.0_amd64.AppImage.tar.gz.sig",
"Axolotl.Launcher_1.9.5_x64-setup.exe", "Starlight.Launcher_1.0.0_amd64.deb",
"Axolotl.Launcher_1.9.5_x64-setup.exe.sig", "Starlight.Launcher_1.0.0_amd64.deb.sig",
"Axolotl.Launcher_1.9.5_x64-setup.nsis.zip", "Starlight.Launcher_1.0.0_arm64.deb",
"Axolotl.Launcher_1.9.5_x64-setup.nsis.zip.sig", "Starlight.Launcher_1.0.0_arm64.deb.sig",
"Axolotl.Launcher_universal.app.tar.gz", "Starlight.Launcher_1.0.0_universal.dmg",
"Axolotl.Launcher_universal.app.tar.gz.sig", "Starlight.Launcher_1.0.0_x64-setup.exe",
"Axolotl_Launcher_1.9.5_x64_modern-setup.exe", "Starlight.Launcher_1.0.0_x64-setup.exe.sig",
"Axolotl_Launcher_1.9.5_x64_modern-setup.exe.sig", "Starlight.Launcher_1.0.0_x64-setup.nsis.zip",
"Axolotl_Launcher_1.9.5_x64_nsis-setup.exe", "Starlight.Launcher_1.0.0_x64-setup.nsis.zip.sig",
"Axolotl_Launcher_1.9.5_x64_nsis-setup.exe.sig", "Starlight.Launcher_universal.app.tar.gz",
"Axolotl_Launcher_1.9.5_x64_portable.zip", "Starlight.Launcher_universal.app.tar.gz.sig"
"latest.json"
] ]
} }