mirror of
https://github.com/nikdoof/pocket-id.git
synced 2025-12-13 14:52:18 +00:00
fix: don't return error page if version info fetching failed
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { version as currentVersion } from '$app/environment';
|
||||
import type { AllAppConfig, AppConfigRawResponse } from '$lib/types/application-configuration';
|
||||
import axios from 'axios';
|
||||
import axios, { AxiosError } from 'axios';
|
||||
import APIService from './api-service';
|
||||
|
||||
export default class AppConfigService extends APIService {
|
||||
@@ -56,12 +56,23 @@ export default class AppConfigService extends APIService {
|
||||
}
|
||||
|
||||
async getVersionInformation() {
|
||||
const response = (
|
||||
await axios.get('https://api.github.com/repos/stonith404/pocket-id/releases/latest')
|
||||
).data;
|
||||
const response = await axios
|
||||
.get('https://api.github.com/repos/stonith404/pocket-id/releases/latest')
|
||||
.then((res) => res.data)
|
||||
.catch((e) => {
|
||||
console.error(
|
||||
'Failed to fetch version information',
|
||||
e instanceof AxiosError && e.response ? e.response.data.message : e
|
||||
);
|
||||
return null;
|
||||
});
|
||||
|
||||
const newestVersion = response.tag_name.replace('v', '');
|
||||
const isUpToDate = newestVersion === currentVersion;
|
||||
let newestVersion: string | null = null;
|
||||
let isUpToDate: boolean | null = null;
|
||||
if (response) {
|
||||
newestVersion = response.tag_name.replace('v', '');
|
||||
isUpToDate = newestVersion === currentVersion;
|
||||
}
|
||||
|
||||
return {
|
||||
isUpToDate,
|
||||
|
||||
@@ -41,7 +41,7 @@ export type AppConfigRawResponse = {
|
||||
}[];
|
||||
|
||||
export type AppVersionInformation = {
|
||||
isUpToDate: boolean;
|
||||
newestVersion: string;
|
||||
currentVersion: string;
|
||||
isUpToDate: boolean | null;
|
||||
newestVersion: string | null;
|
||||
currentVersion: string
|
||||
};
|
||||
|
||||
@@ -15,6 +15,9 @@ export const load: LayoutServerLoad = async () => {
|
||||
|
||||
if (!versionInformation || cacheExpired) {
|
||||
versionInformation = await appConfigService.getVersionInformation();
|
||||
if (versionInformation.newestVersion == null) {
|
||||
console.error('Failed to fetch version information. Trying again in 3 hours.');
|
||||
}
|
||||
versionInformationLastUpdated = Date.now();
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
{label}
|
||||
</a>
|
||||
{/each}
|
||||
{#if $userStore?.isAdmin && !versionInformation.isUpToDate}
|
||||
{#if $userStore?.isAdmin && versionInformation.isUpToDate === false}
|
||||
<a
|
||||
href="https://github.com/stonith404/pocket-id/releases/latest"
|
||||
target="_blank"
|
||||
|
||||
Reference in New Issue
Block a user