Merge pull request #750 from ajnart/fix-ping-status

🐛 Fix StatusCode not being used properly
This commit is contained in:
Thomas Camlong
2023-03-04 08:14:22 +09:00
committed by GitHub
6 changed files with 9 additions and 8 deletions

View File

@@ -10,6 +10,9 @@ interface NetworkTabProps {
export const NetworkTab = ({ form }: NetworkTabProps) => { export const NetworkTab = ({ form }: NetworkTabProps) => {
const { t } = useTranslation('layout/modals/add-app'); const { t } = useTranslation('layout/modals/add-app');
const acceptableStatusCodes = (form.values.network.statusCodes ?? ['200']).map((x) =>
x.toString()
);
return ( return (
<Tabs.Panel value="network" pt="lg"> <Tabs.Panel value="network" pt="lg">
<Switch <Switch
@@ -27,7 +30,7 @@ export const NetworkTab = ({ form }: NetworkTabProps) => {
data={StatusCodes} data={StatusCodes}
clearable clearable
searchable searchable
defaultValue={form.values.network.okStatus.map((x) => `${x}`)} defaultValue={acceptableStatusCodes}
variant="default" variant="default"
{...form.getInputProps('network.statusCodes')} {...form.getInputProps('network.statusCodes')}
/> />

View File

@@ -95,7 +95,7 @@ export const AvailableElementTypes = ({
}, },
network: { network: {
enabledStatusChecker: true, enabledStatusChecker: true,
okStatus: [200], statusCodes: ['200'],
}, },
behaviour: { behaviour: {
isOpeningNewTab: true, isOpeningNewTab: true,

View File

@@ -19,7 +19,7 @@ export const AppPing = ({ app }: AppPingProps) => {
queryKey: ['ping', { id: app.id, name: app.name }], queryKey: ['ping', { id: app.id, name: app.name }],
queryFn: async () => { queryFn: async () => {
const response = await fetch(`/api/modules/ping?url=${encodeURI(app.url)}`); const response = await fetch(`/api/modules/ping?url=${encodeURI(app.url)}`);
const isOk = app.network.okStatus.includes(response.status); const isOk = app.network.statusCodes.includes(response.status.toString());
return { return {
status: response.status, status: response.status,
state: isOk ? 'online' : 'down', state: isOk ? 'online' : 'down',
@@ -60,5 +60,3 @@ export const AppPing = ({ app }: AppPingProps) => {
</motion.div> </motion.div>
); );
}; };
type PingState = 'loading' | 'down' | 'online';

View File

@@ -177,7 +177,7 @@ export default function ContainerActionBar({ selected, reload }: ContainerAction
}, },
network: { network: {
enabledStatusChecker: true, enabledStatusChecker: true,
okStatus: [200], statusCodes: ['200'],
}, },
behaviour: { behaviour: {
isOpeningNewTab: true, isOpeningNewTab: true,

View File

@@ -159,7 +159,7 @@ const migrateService = (oldService: serviceItem, areaType: AreaType): ConfigAppT
}, },
network: { network: {
enabledStatusChecker: oldService.ping ?? true, enabledStatusChecker: oldService.ping ?? true,
okStatus: oldService.status?.map((str) => parseInt(str, 10)) ?? [200], statusCodes: oldService.status ?? ['200'],
}, },
appearance: { appearance: {
iconUrl: migrateIcon(oldService.icon), iconUrl: migrateIcon(oldService.icon),

View File

@@ -23,7 +23,7 @@ interface AppBehaviourType {
interface AppNetworkType { interface AppNetworkType {
enabledStatusChecker: boolean; enabledStatusChecker: boolean;
okStatus: number[]; statusCodes: string[];
} }
interface AppAppearanceType { interface AppAppearanceType {