Page MenuHomePhorge

D15463.1765037967.diff
No OneTemporary

Size
7 KB
Referenced Files
None
Subscribers
None

D15463.1765037967.diff

diff --git a/lib/shared/farcaster/farcaster-conversation-types.js b/lib/shared/farcaster/farcaster-conversation-types.js
--- a/lib/shared/farcaster/farcaster-conversation-types.js
+++ b/lib/shared/farcaster/farcaster-conversation-types.js
@@ -15,52 +15,21 @@
} from './farcaster-user-types.js';
import { tShapeInexact } from '../../utils/validation-utils.js';
-type FarcasterUnreadReactionMessage = {
- +fid: number,
- +displayName: string,
- +username: string,
- +reaction: string,
- +timestamp: number,
- +reactedMessageFid: number,
- +reactedMessage: string,
- ...
-};
-const farcasterUnreadReactionMessageValidator: TInterface<FarcasterUnreadReactionMessage> =
- tShapeInexact({
- fid: t.Number,
- displayName: t.String,
- username: t.String,
- reaction: t.String,
- timestamp: t.Number,
- reactedMessageFid: t.Number,
- reactedMessage: t.String,
- });
-
type FarcasterInboxViewerContext = {
+category: 'default' | 'archived' | 'request',
- +lastReadAt: number,
+muted: boolean,
+manuallyMarkedUnread: boolean,
- +pinned: boolean,
+unreadCount: number,
- +unreadMentionsCount: number,
- +unreadReactionMessage?: FarcasterUnreadReactionMessage,
+counterParty?: FarcasterDCUser,
- +tag?: 'automated' | 'new-user',
...
};
const farcasterInboxViewerContextValidator: TInterface<FarcasterInboxViewerContext> =
tShapeInexact({
category: t.enums.of(['default', 'archived', 'request']),
- lastReadAt: t.Number,
muted: t.Boolean,
manuallyMarkedUnread: t.Boolean,
- pinned: t.Boolean,
unreadCount: t.Number,
- unreadMentionsCount: t.Number,
- unreadReactionMessage: t.maybe(farcasterUnreadReactionMessageValidator),
counterParty: t.maybe(farcasterDCUserValidator),
- tag: t.maybe(t.enums.of(['automated', 'new-user'])),
});
export type FarcasterInboxConversation = {
@@ -69,8 +38,6 @@
+description?: string,
+photoUrl?: string,
+adminFids: $ReadOnlyArray<number>,
- +lastReadTime: number,
- +lastMessage?: FarcasterMessage,
+isGroup: boolean,
+createdAt: number,
+viewerContext: FarcasterInboxViewerContext,
@@ -83,8 +50,6 @@
description: t.maybe(t.String),
photoUrl: t.maybe(t.String),
adminFids: t.list(t.Number),
- lastReadTime: t.Number,
- lastMessage: t.maybe(farcasterMessageValidator),
isGroup: t.Boolean,
createdAt: t.Number,
viewerContext: farcasterInboxViewerContextValidator,
@@ -93,34 +58,20 @@
type FarcasterConversationViewerContext = {
+access: 'read' | 'read-write' | 'admin',
+category: 'default' | 'archived' | 'request',
- +archived: boolean,
- +lastReadAt: number,
+muted: boolean,
+manuallyMarkedUnread: boolean,
- +pinned: boolean,
+unreadCount: number,
- +unreadMentionsCount: number,
- +unreadReactionMessage?: FarcasterUnreadReactionMessage,
+counterParty?: FarcasterDCUser,
- +tag?: 'automated' | 'new-user',
- +inviter?: FarcasterDCUserBase,
...
};
const farcasterConversationViewerContextValidator: TInterface<FarcasterConversationViewerContext> =
tShapeInexact({
access: t.enums.of(['read', 'read-write', 'admin']),
category: t.enums.of(['default', 'archived', 'request']),
- archived: t.Boolean,
- lastReadAt: t.Number,
muted: t.Boolean,
manuallyMarkedUnread: t.Boolean,
- pinned: t.Boolean,
unreadCount: t.Number,
- unreadMentionsCount: t.Number,
- unreadReactionMessage: t.maybe(farcasterUnreadReactionMessageValidator),
counterParty: t.maybe(farcasterDCUserValidator),
- tag: t.maybe(t.enums.of(['automated', 'new-user'])),
- inviter: t.maybe(FarcasterDCUserBaseValidator),
});
type FarcasterConversationGroupPreferences = {
@@ -144,18 +95,11 @@
+adminFids: $ReadOnlyArray<number>,
+removedFids: $ReadOnlyArray<number>,
+participants: $ReadOnlyArray<FarcasterDCUser>,
- +lastReadTime: number,
- +selfLastReadTime: number,
- +lastMessage?: FarcasterMessage,
+pinnedMessages: $ReadOnlyArray<FarcasterMessage>,
- +hasPinnedMessages: boolean,
+isGroup: boolean,
+groupPreferences?: FarcasterConversationGroupPreferences,
- +activeParticipantsCount: number,
+createdAt: number,
+unreadCount: number,
- +muted: boolean,
- +hasMention: boolean,
+viewerContext: FarcasterConversationViewerContext,
...
};
@@ -168,18 +112,11 @@
adminFids: t.list(t.Number),
removedFids: t.list(t.Number),
participants: t.list(farcasterDCUserValidator),
- lastReadTime: t.Number,
- selfLastReadTime: t.Number,
- lastMessage: t.maybe(farcasterMessageValidator),
pinnedMessages: t.list(farcasterMessageValidator),
- hasPinnedMessages: t.Boolean,
isGroup: t.Boolean,
groupPreferences: t.maybe(farcasterConversationGroupPreferencesValidator),
- activeParticipantsCount: t.Number,
createdAt: t.Number,
unreadCount: t.Number,
- muted: t.Boolean,
- hasMention: t.Boolean,
viewerContext: farcasterConversationViewerContextValidator,
});
diff --git a/lib/shared/farcaster/farcaster-messages-types.js b/lib/shared/farcaster/farcaster-messages-types.js
--- a/lib/shared/farcaster/farcaster-messages-types.js
+++ b/lib/shared/farcaster/farcaster-messages-types.js
@@ -3,14 +3,8 @@
import type { TInterface } from 'tcomb';
import t from 'tcomb';
-import type {
- FarcasterDCUserBase,
- FarcasterMessageUserContext,
-} from './farcaster-user-types.js';
-import {
- FarcasterDCUserBaseValidator,
- farcasterMessageUserContextValidator,
-} from './farcaster-user-types.js';
+import type { FarcasterMessageUserContext } from './farcaster-user-types.js';
+import { farcasterMessageUserContextValidator } from './farcaster-user-types.js';
import { tShapeInexact, tFarcasterID } from '../../utils/validation-utils.js';
export const farcasterMessageTypes = Object.freeze({
@@ -37,18 +31,12 @@
);
type FarcasterMessageViewerContext = {
- +isLastReadMessage: boolean,
- +focused: boolean,
+reactions: $ReadOnlyArray<string>,
- +isOptimistic?: boolean,
...
};
const farcasterMessageViewerContextValidator: TInterface<FarcasterMessageViewerContext> =
tShapeInexact({
- isLastReadMessage: t.Boolean,
- focused: t.Boolean,
reactions: t.list(t.String),
- isOptimistic: t.maybe(t.Boolean),
});
type FarcasterMessageMedia = {
@@ -100,19 +88,6 @@
videos: t.maybe(t.list(farcasterMessageVideoValidator)),
});
-type FarcasterMentionMetadata = {
- +user: FarcasterDCUserBase,
- +textIndex: number,
- +length: number,
- ...
-};
-const farcasterMentionMetadataValidator: TInterface<FarcasterMentionMetadata> =
- tShapeInexact({
- user: FarcasterDCUserBaseValidator,
- textIndex: t.Number,
- length: t.Number,
- });
-
export type FarcasterMessage = {
+conversationId: string,
+senderFid: number,
@@ -120,16 +95,12 @@
+serverTimestamp: number,
+type: FarcasterMessageType,
+message: string,
- +hasMention: boolean,
+reactions: $ReadOnlyArray<FarcasterReaction>,
+metadata?: FarcasterMessageMetadata,
+viewerContext?: FarcasterMessageViewerContext,
+isPinned: boolean,
+isDeleted: boolean,
- +senderContext: FarcasterMessageUserContext,
+actionTargetUserContext?: FarcasterMessageUserContext,
- +isProgrammatic?: boolean,
- +mentions?: $ReadOnlyArray<FarcasterMentionMetadata>,
+inReplyTo?: FarcasterMessage,
...
};
@@ -148,16 +119,12 @@
'rich_announcement',
]),
message: t.String,
- hasMention: t.Boolean,
reactions: t.list(farcasterReactionValidator),
metadata: t.maybe(farcasterMessageMetadataValidator),
viewerContext: t.maybe(farcasterMessageViewerContextValidator),
isPinned: t.Boolean,
isDeleted: t.Boolean,
- senderContext: farcasterMessageUserContextValidator,
actionTargetUserContext: t.maybe(farcasterMessageUserContextValidator),
- isProgrammatic: t.maybe(t.Boolean),
- mentions: t.maybe(t.list(farcasterMentionMetadataValidator)),
});
export { farcasterMessageValidator };

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 6, 4:19 PM (21 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5837377
Default Alt Text
D15463.1765037967.diff (7 KB)

Event Timeline