refactor(chat): locate iMessage progress policy in channel folder

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-10-12 08:33:40 -05:00
1 parent 498be55046
commit e5c8f9738c
3 files changed
+26 -2

No files matched your search

@@ -0,0 +1,9 @@
import type { SafeChatPublicationPayload } from "@paperclipai/shared";
export function imessageProgressSupersessionReason(
progress: SafeChatPublicationPayload["progressState"],
): string | null {
return progress && ["queued", "working"].includes(progress)
? "iMessage uses typing instead of progress bubbles"
: null;
}
@@ -1,3 +1,4 @@
import { imessageProgressSupersessionReason } from "./imessage-photon/publications.js";
import { fastResponseRequests } from "@paperclipai/db";
import {
@@ -74,9 +75,10 @@ export function createChatPublicationReplacement(db: Db, options: ChatPublicatio
publication: typeof chatPublications.$inferSelect,
): Promise<string | null> {
const progress = publication.payload.progressState;
if (progress && ["queued", "working"].includes(progress)) {
const typingReason = imessageProgressSupersessionReason(progress);
if (typingReason) {
const endpoint = await endpointRecord(publication.endpointId);
if (endpoint?.endpoint.provider === "imessage-photon") return "iMessage uses typing instead of progress bubbles";
if (endpoint?.endpoint.provider === "imessage-photon") return typingReason;
}
if (
!progress ||