about summary refs log tree commit diff
path: root/src/state/messages/convo
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2025-02-28 12:09:36 -0600
committerGitHub <noreply@github.com>2025-02-28 12:09:36 -0600
commit7c36ea115855050f319be19bb74d6f7fd80f8eed (patch)
treeed32d674b1b74dca813ad9cac44a621313431270 /src/state/messages/convo
parent9e9ffd5c6e9e5c672f60aa10d60c6628a15ae783 (diff)
downloadvoidsky-7c36ea115855050f319be19bb74d6f7fd80f8eed.tar.zst
Logger improvements (#7729)
* Remove enablement

* Refactor context and filtering

* Fix imports, simplify transports config

* Migrate usages of debug context

* Re-org, add colors and grouping to console logging

* Remove temp default context

* Remove manual prefix

* Move colorizing out of console transport body

* Reduce reuse

* Pass through context

* Ensure bitdrift is enabled in dev

* Enable Sentry on web only

* Clean up types

* Docs

* Format

* Update tests

* Clean up tests

* No positional args

* Revert Sentry changes

* Clean up context, use it, pass metadata through to Bitdrift

* Fix up debugging

* Clean up metadata before passing to Bitdrift

* Correct transports

* Reserve context prop on metadata and include in transports

* Update tests
Diffstat (limited to 'src/state/messages/convo')
-rw-r--r--src/state/messages/convo/agent.ts41
1 files changed, 18 insertions, 23 deletions
diff --git a/src/state/messages/convo/agent.ts b/src/state/messages/convo/agent.ts
index eed44c757..73e75f58d 100644
--- a/src/state/messages/convo/agent.ts
+++ b/src/state/messages/convo/agent.ts
@@ -10,7 +10,7 @@ import EventEmitter from 'eventemitter3'
 import {nanoid} from 'nanoid/non-secure'
 
 import {networkRetry} from '#/lib/async/retry'
-import {logger} from '#/logger'
+import {Logger} from '#/logger'
 import {isNative} from '#/platform/detection'
 import {
   ACTIVE_POLL_INTERVAL,
@@ -34,6 +34,8 @@ import {MessagesEventBus} from '#/state/messages/events/agent'
 import {MessagesEventBusError} from '#/state/messages/events/types'
 import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const'
 
+const logger = Logger.create(Logger.Context.ConversationAgent)
+
 export function isConvoItemMessage(
   item: ConvoItem,
 ): item is ConvoItem & {type: 'message'} {
@@ -125,7 +127,7 @@ export class Convo {
 
   getSnapshot(): ConvoState {
     if (!this.snapshot) this.snapshot = this.generateSnapshot()
-    // logger.debug('Convo: snapshotted', {}, logger.DebugContext.convo)
+    // logger.debug('Convo: snapshotted', {})
     return this.snapshot
   }
 
@@ -375,15 +377,11 @@ export class Convo {
         break
     }
 
-    logger.debug(
-      `Convo: dispatch '${action.event}'`,
-      {
-        id: this.id,
-        prev: prevStatus,
-        next: this.status,
-      },
-      logger.DebugContext.convo,
-    )
+    logger.debug(`Convo: dispatch '${action.event}'`, {
+      id: this.id,
+      prev: prevStatus,
+      next: this.status,
+    })
 
     this.updateLastActiveTimestamp()
     this.commit()
@@ -471,7 +469,7 @@ export class Convo {
         this.dispatch({event: ConvoDispatchEvent.Ready})
       }
     } catch (e: any) {
-      logger.error(e, {context: 'Convo: setup failed'})
+      logger.error(e, {message: 'Convo: setup failed'})
 
       this.dispatch({
         event: ConvoDispatchEvent.Error,
@@ -576,7 +574,7 @@ export class Convo {
       this.sender = sender || this.sender
       this.recipients = recipients || this.recipients
     } catch (e: any) {
-      logger.error(e, {context: `Convo: failed to refresh convo`})
+      logger.error(e, {message: `Convo: failed to refresh convo`})
     }
   }
 
@@ -586,7 +584,7 @@ export class Convo {
       }
     | undefined
   async fetchMessageHistory() {
-    logger.debug('Convo: fetch message history', {}, logger.DebugContext.convo)
+    logger.debug('Convo: fetch message history', {})
 
     /*
      * If oldestRev is null, we've fetched all history.
@@ -773,7 +771,7 @@ export class Convo {
     // Ignore empty messages for now since they have no other purpose atm
     if (!message.text.trim() && !message.embed) return
 
-    logger.debug('Convo: send message', {}, logger.DebugContext.convo)
+    logger.debug('Convo: send message', {})
 
     const tempId = nanoid()
 
@@ -793,7 +791,6 @@ export class Convo {
     logger.debug(
       `Convo: processing messages (${this.pendingMessages.size} remaining)`,
       {},
-      logger.DebugContext.convo,
     )
 
     const pendingMessage = Array.from(this.pendingMessages.values()).shift()
@@ -837,7 +834,7 @@ export class Convo {
       // continue queue processing
       await this.processPendingMessages()
     } catch (e: any) {
-      logger.error(e, {context: `Convo: failed to send message`})
+      logger.error(e, {message: `Convo: failed to send message`})
       this.handleSendMessageFailure(e)
       this.isProcessingPendingMessages = false
     }
@@ -883,7 +880,7 @@ export class Convo {
     } else {
       this.pendingMessageFailure = 'unrecoverable'
       logger.error(e, {
-        context: `Convo handleSendMessageFailure received unknown error`,
+        message: `Convo handleSendMessageFailure received unknown error`,
       })
     }
 
@@ -902,7 +899,6 @@ export class Convo {
     logger.debug(
       `Convo: batch retrying ${this.pendingMessages.size} pending messages`,
       {},
-      logger.DebugContext.convo,
     )
 
     try {
@@ -937,16 +933,15 @@ export class Convo {
       logger.debug(
         `Convo: sent ${this.pendingMessages.size} pending messages`,
         {},
-        logger.DebugContext.convo,
       )
     } catch (e: any) {
-      logger.error(e, {context: `Convo: failed to batch retry messages`})
+      logger.error(e, {message: `Convo: failed to batch retry messages`})
       this.handleSendMessageFailure(e)
     }
   }
 
   async deleteMessage(messageId: string) {
-    logger.debug('Convo: delete message', {}, logger.DebugContext.convo)
+    logger.debug('Convo: delete message', {})
 
     this.deletedMessages.add(messageId)
     this.commit()
@@ -962,7 +957,7 @@ export class Convo {
         )
       })
     } catch (e: any) {
-      logger.error(e, {context: `Convo: failed to delete message`})
+      logger.error(e, {message: `Convo: failed to delete message`})
       this.deletedMessages.delete(messageId)
       this.commit()
       throw e