This commit is contained in:
@@ -38,7 +38,11 @@ export function scriptStatus(s: LibraryScript): ScriptStatus {
|
||||
if (s.latestVersion.id === s.current_version_id) return 'promoted';
|
||||
return s.latestVersion.state === 'test-failed' ? 'failed' : s.latestVersion.state;
|
||||
}
|
||||
export function canTest(s: LibraryScript): boolean {
|
||||
export function canTest(s: {
|
||||
runningBetaId: number | null;
|
||||
latestVersion: { id: number } | null;
|
||||
current_version_id: number | null;
|
||||
}): boolean {
|
||||
return (
|
||||
s.runningBetaId === null &&
|
||||
s.latestVersion !== null &&
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
} from '$lib/beta-draft.js';
|
||||
import { coverageSummary, requirementSummary } from '$lib/beta-plan-summary.js';
|
||||
import { artifactVersionLabel } from '$lib/artifact-version.js';
|
||||
import { parseBetaSelection, mapLabel } from '$lib/script-library.js';
|
||||
import { canTest, parseBetaSelection, mapLabel } from '$lib/script-library.js';
|
||||
import { fleetIdentity, freshServer } from '$lib/fleet-overview.js';
|
||||
import { fleetServers as sharedFleet, fleetError, refreshFleet } from '$ui/stores/fleet.js';
|
||||
import { serverTimeNow } from '$ui/stores/servers.js';
|
||||
@@ -95,7 +95,13 @@
|
||||
const editable = $derived(canOperate($page.data?.user?.role));
|
||||
const fleetServers = $derived($sharedFleet);
|
||||
const eligibleFiles = $derived(
|
||||
scripts.filter((file) => file.runningBetaId === null && file.latestVersion !== null)
|
||||
scripts.filter(
|
||||
(file) =>
|
||||
canTest(file) ||
|
||||
// Exact-version links and drafts may still target an older unpromoted upload.
|
||||
(file.runningBetaId === null &&
|
||||
picks.some((pick) => pick.scriptId === file.id && versionsFor(pick).length > 0))
|
||||
)
|
||||
);
|
||||
const filesReady = $derived(
|
||||
picks.length > 0 &&
|
||||
|
||||
Reference in New Issue
Block a user