mirror of
https://github.com/immich-app/immich.git
synced 2025-05-31 12:16:20 -04:00
* Use cookie for frontend request * Remove api helper to use SDK * Added error handling to status box * Remove additional places that check for session.user * Refactor sending password * prettier clean up * remove deadcode * Move all authentication requests to the client * refactor upload panel to only fetch assets after the upload panel disappear * Added keydown to remove focus on title change on album viewer
51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
type CheckAppVersionReponse = {
|
|
shouldShowAnnouncement: boolean;
|
|
localVersion?: string;
|
|
remoteVersion?: string;
|
|
};
|
|
|
|
type GithubRelease = {
|
|
tag_name: string;
|
|
};
|
|
|
|
export const checkAppVersion = async (): Promise<CheckAppVersionReponse> => {
|
|
const res = await fetch('https://api.github.com/repos/alextran1502/immich/releases/latest', {
|
|
headers: {
|
|
Accept: 'application/vnd.github.v3+json'
|
|
}
|
|
});
|
|
|
|
if (res.status == 200) {
|
|
const latestRelease = (await res.json()) as GithubRelease;
|
|
const appVersion = localStorage.getItem('appVersion');
|
|
|
|
if (!appVersion) {
|
|
return {
|
|
shouldShowAnnouncement: true,
|
|
remoteVersion: latestRelease.tag_name,
|
|
localVersion: 'empty'
|
|
};
|
|
}
|
|
|
|
if (appVersion != latestRelease.tag_name) {
|
|
return {
|
|
shouldShowAnnouncement: true,
|
|
remoteVersion: latestRelease.tag_name,
|
|
localVersion: appVersion
|
|
};
|
|
}
|
|
|
|
return {
|
|
shouldShowAnnouncement: false,
|
|
remoteVersion: latestRelease.tag_name,
|
|
localVersion: appVersion
|
|
};
|
|
} else {
|
|
return {
|
|
shouldShowAnnouncement: false,
|
|
remoteVersion: '0',
|
|
localVersion: '0'
|
|
};
|
|
}
|
|
};
|