mirror of
https://github.com/immich-app/immich.git
synced 2025-03-25 02:41:37 -05:00
* Added album page * Refactor sidebar * Added album assets count info * Added album viewer page * Refactor album sorting * Fixed incorrectly showing selected asset in album selection * Improve fetching speed with prefetch * Refactor to use ImmichThubmnail component for all * Update to the latest version of Svelte * Implement fixed app bar in album viewer * Added shared user avatar * Correctly get all owned albums, including shared
38 lines
869 B
TypeScript
38 lines
869 B
TypeScript
import { Socket, io } from 'socket.io-client';
|
|
import { writable } from 'svelte/store';
|
|
import { serverEndpoint } from '../constants';
|
|
|
|
let websocket: Socket;
|
|
|
|
export const openWebsocketConnection = (accessToken: string) => {
|
|
const websocketEndpoint = serverEndpoint.replace('/api', '');
|
|
|
|
try {
|
|
websocket = io(websocketEndpoint, {
|
|
path: '/api/socket.io',
|
|
transports: ['polling'],
|
|
reconnection: true,
|
|
forceNew: true,
|
|
autoConnect: true,
|
|
extraHeaders: {
|
|
Authorization: 'Bearer ' + accessToken,
|
|
},
|
|
});
|
|
|
|
listenToEvent(websocket);
|
|
} catch (e) {
|
|
console.log('Cannot connect to websocket ', e);
|
|
}
|
|
};
|
|
|
|
const listenToEvent = (socket: Socket) => {
|
|
socket.on('on_upload_success', (data) => {});
|
|
|
|
socket.on('error', (e) => {
|
|
console.log('Websocket Error', e);
|
|
});
|
|
};
|
|
|
|
export const closeWebsocketConnection = () => {
|
|
websocket?.close();
|
|
};
|