接入宿主网络状态队列轮询

新增宿主网络在线 Hook 并覆盖离线与恢复事件测试

平台外部生成队列概览在原生壳离线时暂停轮询

同步宿主壳网络状态消费方案与共享决策记录
This commit is contained in:
2026-06-18 07:31:41 +08:00
parent 20e4e88bd4
commit 621719077f
6 changed files with 181 additions and 6 deletions
@@ -114,6 +114,7 @@ import type {
} from '../../../packages/shared/src/contracts/visualNovel';
import type { WoodenFishWorkSummaryResponse } from '../../../packages/shared/src/contracts/woodenFish';
import { buildCustomWorldPlayableCharacters } from '../../data/characterPresets';
import { useHostNetworkOnline } from '../../hooks/useHostNetworkOnline';
import {
buildPublicWorkStagePath,
pushAppHistoryPath,
@@ -4806,14 +4807,24 @@ export function PlatformEntryFlowShellImpl({
(selectionStage === 'platform' &&
platformBootstrap.platformTab === 'profile' &&
platformBootstrap.canReadProtectedData);
const isHostNetworkOnline = useHostNetworkOnline();
const externalGenerationQueueOwnerKey =
shouldShowExternalGenerationQueueStatus
? (authUi?.user?.id ?? 'anonymous')
: null;
useEffect(() => {
if (!shouldShowExternalGenerationQueueStatus) {
setExternalGenerationQueueOverview(null);
setExternalGenerationQueueOverview(null);
}, [externalGenerationQueueOwnerKey]);
useEffect(() => {
if (
!shouldShowExternalGenerationQueueStatus ||
!isHostNetworkOnline
) {
return;
}
setExternalGenerationQueueOverview(null);
let disposed = false;
let controller: AbortController | null = null;
@@ -4841,7 +4852,11 @@ export function PlatformEntryFlowShellImpl({
controller?.abort();
window.clearInterval(intervalId);
};
}, [authUi?.user?.id, shouldShowExternalGenerationQueueStatus]);
}, [
externalGenerationQueueOwnerKey,
isHostNetworkOnline,
shouldShowExternalGenerationQueueStatus,
]);
const activeExternalGenerationJobState = useMemo(() => {
const candidates = [
puzzleOperation?.queueState ?? null,