aboutsummaryrefslogtreecommitdiff
path: root/src/services/backend_interactor_service
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/backend_interactor_service')
-rw-r--r--src/services/backend_interactor_service/backend_interactor_service.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js
index 57fdccde..0cef4640 100644
--- a/src/services/backend_interactor_service/backend_interactor_service.js
+++ b/src/services/backend_interactor_service/backend_interactor_service.js
@@ -1,4 +1,4 @@
-import apiService from '../api/api.service.js'
+import apiService, { getMastodonSocketURI, handleMastoWS } from '../api/api.service.js'
import timelineFetcherService from '../timeline_fetcher/timeline_fetcher.service.js'
import notificationsFetcher from '../notifications_fetcher/notifications_fetcher.service.js'
import followRequestFetcher from '../../services/follow_request_fetcher/follow_request_fetcher.service'
@@ -16,6 +16,19 @@ const backendInteractorService = credentials => ({
return followRequestFetcher.startFetching({ store, credentials })
},
+ startUserSocket ({ store, onMessage }) {
+ const serv = store.rootState.instance.server.replace('https', 'wss')
+ // const serb = 'ws://localhost:8080/'
+ const url = serv + getMastodonSocketURI({ credentials, stream: 'user' })
+ const socket = new WebSocket(url)
+ console.log(socket)
+ if (socket) {
+ socket.addEventListener('message', (wsEvent) => onMessage(handleMastoWS(wsEvent)))
+ } else {
+ throw new Error('failed to connect to socket')
+ }
+ },
+
...Object.entries(apiService).reduce((acc, [key, func]) => {
return {
...acc,