about summary refs log tree commit diff
path: root/src/state/messages
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2024-05-14 09:22:09 -0500
committerGitHub <noreply@github.com>2024-05-14 09:22:09 -0500
commit9173be686c1df9adc6cbb9cc2175f8909a868c35 (patch)
tree25ea67a686969a086249769a1a3a445cd819a9ff /src/state/messages
parent107760d551dee695f76409337048cd8c7917b784 (diff)
downloadvoidsky-9173be686c1df9adc6cbb9cc2175f8909a868c35.tar.zst
[🐴] Swap in new package, update usages (#3992)
* Swap in new package, update usages

* Remove uneccessary patch

* Override type in safe place
Diffstat (limited to 'src/state/messages')
-rw-r--r--src/state/messages/convo/agent.ts58
-rw-r--r--src/state/messages/convo/index.tsx8
-rw-r--r--src/state/messages/convo/types.ts5
-rw-r--r--src/state/messages/events/agent.ts17
-rw-r--r--src/state/messages/events/index.tsx11
-rw-r--r--src/state/messages/events/types.ts3
6 files changed, 27 insertions, 75 deletions
diff --git a/src/state/messages/convo/agent.ts b/src/state/messages/convo/agent.ts
index 79406d155..a453e81c6 100644
--- a/src/state/messages/convo/agent.ts
+++ b/src/state/messages/convo/agent.ts
@@ -1,10 +1,10 @@
-import {AppBskyActorDefs} from '@atproto/api'
 import {
+  AppBskyActorDefs,
   BskyAgent,
   ChatBskyConvoDefs,
   ChatBskyConvoGetLog,
   ChatBskyConvoSendMessage,
-} from '@atproto-labs/api'
+} from '@atproto/api'
 import {nanoid} from 'nanoid/non-secure'
 
 import {networkRetry} from '#/lib/async/retry'
@@ -26,6 +26,7 @@ import {
 } from '#/state/messages/convo/types'
 import {MessagesEventBus} from '#/state/messages/events/agent'
 import {MessagesEventBusError} from '#/state/messages/events/types'
+import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const'
 
 // TODO temporary
 let DEBUG_ACTIVE_CHAT: string | undefined
@@ -46,7 +47,7 @@ export class Convo {
 
   private agent: BskyAgent
   private events: MessagesEventBus
-  private __tempFromUserDid: string
+  private senderUserDid: string
 
   private status: ConvoStatus = ConvoStatus.Uninitialized
   private error:
@@ -89,7 +90,7 @@ export class Convo {
     this.convoId = params.convoId
     this.agent = params.agent
     this.events = params.events
-    this.__tempFromUserDid = params.__tempFromUserDid
+    this.senderUserDid = params.agent.session?.did!
 
     this.subscribe = this.subscribe.bind(this)
     this.getSnapshot = this.getSnapshot.bind(this)
@@ -467,11 +468,7 @@ export class Convo {
             {
               convoId: this.convoId,
             },
-            {
-              headers: {
-                Authorization: this.__tempFromUserDid,
-              },
-            },
+            {headers: DM_SERVICE_HEADERS},
           )
         })
 
@@ -479,10 +476,8 @@ export class Convo {
 
         resolve({
           convo,
-          sender: convo.members.find(m => m.did === this.__tempFromUserDid),
-          recipients: convo.members.filter(
-            m => m.did !== this.__tempFromUserDid,
-          ),
+          sender: convo.members.find(m => m.did === this.senderUserDid),
+          recipients: convo.members.filter(m => m.did !== this.senderUserDid),
         })
       } catch (e) {
         reject(e)
@@ -557,11 +552,7 @@ export class Convo {
             convoId: this.convoId,
             limit: isNative ? 30 : 60,
           },
-          {
-            headers: {
-              Authorization: this.__tempFromUserDid,
-            },
-          },
+          {headers: DM_SERVICE_HEADERS},
         )
       })
       const {cursor, messages} = response.data
@@ -775,12 +766,7 @@ export class Convo {
             convoId: this.convoId,
             message,
           },
-          {
-            encoding: 'application/json',
-            headers: {
-              Authorization: this.__tempFromUserDid,
-            },
-          },
+          {encoding: 'application/json', headers: DM_SERVICE_HEADERS},
         )
       })
       const res = response.data
@@ -792,7 +778,6 @@ export class Convo {
       this.newMessages.set(res.id, {
         ...res,
         $type: 'chat.bsky.convo.defs#messageView',
-        sender: this.sender,
       })
       this.pendingMessages.delete(id)
 
@@ -835,12 +820,7 @@ export class Convo {
               message,
             })),
           },
-          {
-            encoding: 'application/json',
-            headers: {
-              Authorization: this.__tempFromUserDid,
-            },
-          },
+          {encoding: 'application/json', headers: DM_SERVICE_HEADERS},
         )
       })
       const {items} = data
@@ -853,9 +833,6 @@ export class Convo {
         this.newMessages.set(item.id, {
           ...item,
           $type: 'chat.bsky.convo.defs#messageView',
-          sender: this.convo?.members.find(
-            m => m.did === this.__tempFromUserDid,
-          ),
         })
       }
 
@@ -899,12 +876,7 @@ export class Convo {
             convoId: this.convoId,
             messageId,
           },
-          {
-            encoding: 'application/json',
-            headers: {
-              Authorization: this.__tempFromUserDid,
-            },
-          },
+          {encoding: 'application/json', headers: DM_SERVICE_HEADERS},
         )
       })
     } catch (e: any) {
@@ -970,7 +942,11 @@ export class Convo {
           id: nanoid(),
           rev: '__fake__',
           sentAt: new Date().toISOString(),
-          sender: this.sender,
+          /*
+           * `getItems` is only run in "active" status states, where
+           * `this.sender` is defined
+           */
+          sender: this.sender!,
         },
         nextMessage: null,
       })
diff --git a/src/state/messages/convo/index.tsx b/src/state/messages/convo/index.tsx
index 311e8ce05..9c5295832 100644
--- a/src/state/messages/convo/index.tsx
+++ b/src/state/messages/convo/index.tsx
@@ -1,6 +1,5 @@
 import React, {useContext, useState, useSyncExternalStore} from 'react'
 import {AppState} from 'react-native'
-import {BskyAgent} from '@atproto-labs/api'
 import {useFocusEffect, useIsFocused} from '@react-navigation/native'
 
 import {Convo} from '#/state/messages/convo/agent'
@@ -8,7 +7,6 @@ import {ConvoParams, ConvoState} from '#/state/messages/convo/types'
 import {useMessagesEventBus} from '#/state/messages/events'
 import {useMarkAsReadMutation} from '#/state/queries/messages/conversation'
 import {useAgent} from '#/state/session'
-import {useDmServiceUrlStorage} from '#/screens/Messages/Temp/useDmServiceUrlStorage'
 
 const ChatContext = React.createContext<ConvoState | null>(null)
 
@@ -25,18 +23,14 @@ export function ConvoProvider({
   convoId,
 }: Pick<ConvoParams, 'convoId'> & {children: React.ReactNode}) {
   const isScreenFocused = useIsFocused()
-  const {serviceUrl} = useDmServiceUrlStorage()
   const {getAgent} = useAgent()
   const events = useMessagesEventBus()
   const [convo] = useState(
     () =>
       new Convo({
         convoId,
-        agent: new BskyAgent({
-          service: serviceUrl,
-        }),
+        agent: getAgent(),
         events,
-        __tempFromUserDid: getAgent().session?.did!,
       }),
   )
   const service = useSyncExternalStore(convo.subscribe, convo.getSnapshot)
diff --git a/src/state/messages/convo/types.ts b/src/state/messages/convo/types.ts
index 920635c8c..4615acc2d 100644
--- a/src/state/messages/convo/types.ts
+++ b/src/state/messages/convo/types.ts
@@ -1,9 +1,9 @@
-import {AppBskyActorDefs} from '@atproto/api'
 import {
+  AppBskyActorDefs,
   BskyAgent,
   ChatBskyConvoDefs,
   ChatBskyConvoSendMessage,
-} from '@atproto-labs/api'
+} from '@atproto/api'
 
 import {MessagesEventBus} from '#/state/messages/events/agent'
 
@@ -11,7 +11,6 @@ export type ConvoParams = {
   convoId: string
   agent: BskyAgent
   events: MessagesEventBus
-  __tempFromUserDid: string
 }
 
 export enum ConvoStatus {
diff --git a/src/state/messages/events/agent.ts b/src/state/messages/events/agent.ts
index 68225e595..3759eb3a0 100644
--- a/src/state/messages/events/agent.ts
+++ b/src/state/messages/events/agent.ts
@@ -1,4 +1,4 @@
-import {BskyAgent, ChatBskyConvoGetLog} from '@atproto-labs/api'
+import {BskyAgent, ChatBskyConvoGetLog} from '@atproto/api'
 import EventEmitter from 'eventemitter3'
 import {nanoid} from 'nanoid/non-secure'
 
@@ -13,6 +13,7 @@ import {
   MessagesEventBusParams,
   MessagesEventBusStatus,
 } from '#/state/messages/events/types'
+import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const'
 
 const LOGGER_CONTEXT = 'MessagesEventBus'
 
@@ -20,7 +21,6 @@ export class MessagesEventBus {
   private id: string
 
   private agent: BskyAgent
-  private __tempFromUserDid: string
   private emitter = new EventEmitter<{event: [MessagesEventBusEvent]}>()
 
   private status: MessagesEventBusStatus = MessagesEventBusStatus.Initializing
@@ -31,7 +31,6 @@ export class MessagesEventBus {
   constructor(params: MessagesEventBusParams) {
     this.id = nanoid(3)
     this.agent = params.agent
-    this.__tempFromUserDid = params.__tempFromUserDid
 
     this.init()
   }
@@ -242,11 +241,7 @@ export class MessagesEventBus {
           {
             limit: 1,
           },
-          {
-            headers: {
-              Authorization: this.__tempFromUserDid,
-            },
-          },
+          {headers: DM_SERVICE_HEADERS},
         )
       })
       // throw new Error('UNCOMMENT TO TEST INIT FAILURE')
@@ -337,11 +332,7 @@ export class MessagesEventBus {
           {
             cursor: this.latestRev,
           },
-          {
-            headers: {
-              Authorization: this.__tempFromUserDid,
-            },
-          },
+          {headers: DM_SERVICE_HEADERS},
         )
       })
 
diff --git a/src/state/messages/events/index.tsx b/src/state/messages/events/index.tsx
index 08ec77503..e8768573b 100644
--- a/src/state/messages/events/index.tsx
+++ b/src/state/messages/events/index.tsx
@@ -1,12 +1,10 @@
 import React from 'react'
 import {AppState} from 'react-native'
-import {BskyAgent} from '@atproto-labs/api'
 
 import {useGate} from '#/lib/statsig/statsig'
 import {isWeb} from '#/platform/detection'
 import {MessagesEventBus} from '#/state/messages/events/agent'
 import {useAgent} from '#/state/session'
-import {useDmServiceUrlStorage} from '#/screens/Messages/Temp/useDmServiceUrlStorage'
 import {IS_DEV} from '#/env'
 
 const MessagesEventBusContext = React.createContext<MessagesEventBus | null>(
@@ -26,15 +24,11 @@ export function Temp_MessagesEventBusProvider({
 }: {
   children: React.ReactNode
 }) {
-  const {serviceUrl} = useDmServiceUrlStorage()
   const {getAgent} = useAgent()
   const [bus] = React.useState(
     () =>
       new MessagesEventBus({
-        agent: new BskyAgent({
-          service: serviceUrl,
-        }),
-        __tempFromUserDid: getAgent().session?.did!,
+        agent: getAgent(),
       }),
   )
 
@@ -74,8 +68,7 @@ export function MessagesEventBusProvider({
   children: React.ReactNode
 }) {
   const gate = useGate()
-  const {serviceUrl} = useDmServiceUrlStorage()
-  if (gate('dms') && serviceUrl) {
+  if (gate('dms')) {
     return (
       <Temp_MessagesEventBusProvider>{children}</Temp_MessagesEventBusProvider>
     )
diff --git a/src/state/messages/events/types.ts b/src/state/messages/events/types.ts
index e65136e4b..305418bd3 100644
--- a/src/state/messages/events/types.ts
+++ b/src/state/messages/events/types.ts
@@ -1,8 +1,7 @@
-import {BskyAgent, ChatBskyConvoGetLog} from '@atproto-labs/api'
+import {BskyAgent, ChatBskyConvoGetLog} from '@atproto/api'
 
 export type MessagesEventBusParams = {
   agent: BskyAgent
-  __tempFromUserDid: string
 }
 
 export enum MessagesEventBusStatus {