AT Protocol Jetstream Module for Open Web Desktop
1import { defineNuxtPlugin, useRuntimeConfig } from 'nuxt/app'
2import { useAtproto, useAgent } from '#imports'
3import { startActorDesktopStreamw } from './utils/utilAtprotoApplicationStates'
4
5export default defineNuxtPlugin({
6 name: 'owd-plugin-atproto-jetstream',
7 dependsOn: ['owd-plugin-atproto'],
8 async setup(nuxt) {
9 nuxt.hook('app:mounted', () => {
10 const runtimeConfig = useRuntimeConfig()
11 const atproto = useAtproto()
12
13 if (
14 runtimeConfig.public.desktop.atprotoJetstream &&
15 runtimeConfig.public.desktop.atprotoJetstream.startOwnerDesktopStreamOnMounted
16 ) {
17
18 if (atproto.isLogged()) {
19 const agent = useAgent('private')
20
21 if (runtimeConfig.public.desktop.atprotoDesktop.owner.did === agent.assertDid) {
22 return
23 }
24 }
25
26 startActorDesktopStreamw(runtimeConfig.public.desktop.atprotoDesktop.owner.did)
27 }
28 })
29 },
30})