MCPcopy Create free account
hub / github.com/daodst/chat / processReceiptEvent

Method processReceiptEvent

federationapi/routing/send.go:469–489  ·  view source on GitHub ↗

processReceiptEvent sends receipt events to JetStream

(ctx context.Context,
	userID, roomID, receiptType string,
	timestamp gomatrixserverlib.Timestamp,
	eventIDs []string,
)

Source from the content-addressed store, hash-verified

467
468// processReceiptEvent sends receipt events to JetStream
469func (t *txnReq) processReceiptEvent(ctx context.Context,
470 userID, roomID, receiptType string,
471 timestamp gomatrixserverlib.Timestamp,
472 eventIDs []string,
473) error {
474 if _, serverName, err := gomatrixserverlib.SplitID('@', userID); err != nil {
475 return nil
476 } else if serverName == t.ourServerName {
477 return nil
478 } else if serverName != t.Origin {
479 return nil
480 }
481 // store every event
482 for _, eventID := range eventIDs {
483 if err := t.producer.SendReceipt(ctx, userID, roomID, eventID, receiptType, timestamp); err != nil {
484 return fmt.Errorf("unable to set receipt event: %w", err)
485 }
486 }
487
488 return nil
489}
490
491func (t *txnReq) processDeviceListUpdate(ctx context.Context, e gomatrixserverlib.EDU) {
492 var payload gomatrixserverlib.DeviceListUpdateEvent

Callers 1

processEDUsMethod · 0.95

Calls 1

SendReceiptMethod · 0.45

Tested by

no test coverage detected