Skip to content

Commit c0fe19b

Browse files
committed
fix(attio): gate remaining unscoped param mappings + comment-target back-compat
- taskFilterCompleted (list_tasks filter) was mapped to isCompleted for every operation; gate it to list_tasks so it can't override the isCompleted value on an unrelated update_task call - Generic threadId (get_thread) was unconditionally forwarded and create_comment prioritizes thread_id first, so a leftover threadId from configuring get_thread could silently hijack a comment meant for a list entry or record; gate it to get_thread - Default commentTarget to the pre-existing behavior (entry, or thread if commentThreadId is set) when absent, so blocks saved before this field existed keep working instead of throwing
1 parent 7b23b14 commit c0fe19b

1 file changed

Lines changed: 13 additions & 5 deletions

File tree

apps/sim/blocks/blocks/attio.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1457,7 +1457,11 @@ Record reference: {"allowed_objects": ["people", "companies"]}`,
14571457
if (params.taskFilterObject) cleanParams.linkedObject = params.taskFilterObject
14581458
if (params.taskFilterRecordId) cleanParams.linkedRecordId = params.taskFilterRecordId
14591459
if (params.taskFilterAssignee) cleanParams.assignee = params.taskFilterAssignee
1460-
if (params.taskFilterCompleted && params.taskFilterCompleted !== 'all')
1460+
if (
1461+
params.operation === 'list_tasks' &&
1462+
params.taskFilterCompleted &&
1463+
params.taskFilterCompleted !== 'all'
1464+
)
14611465
cleanParams.isCompleted = params.taskFilterCompleted === 'true'
14621466
if (params.taskSort) cleanParams.sort = params.taskSort
14631467

@@ -1497,20 +1501,24 @@ Record reference: {"allowed_objects": ["people", "companies"]}`,
14971501
if (params.commentFormat) cleanParams.format = params.commentFormat
14981502
if (params.commentAuthorType) cleanParams.authorType = params.commentAuthorType
14991503
if (params.commentAuthorId) cleanParams.authorId = params.commentAuthorId
1500-
if (params.commentTarget === 'entry') {
1504+
// Blocks saved before commentTarget existed have no value for it — fall back to the
1505+
// pre-existing behavior (entry-based comment, or thread reply if a thread ID was set).
1506+
const commentTarget = params.commentTarget ?? (params.commentThreadId ? 'thread' : 'entry')
1507+
if (commentTarget === 'entry') {
15011508
if (params.commentList) cleanParams.list = params.commentList
15021509
if (params.commentEntryId) cleanParams.entryId = params.commentEntryId
1503-
} else if (params.commentTarget === 'record') {
1510+
} else if (commentTarget === 'record') {
15041511
if (params.commentRecordObject) cleanParams.recordObject = params.commentRecordObject
15051512
if (params.commentRecordId) cleanParams.recordId = params.commentRecordId
1506-
} else if (params.commentTarget === 'thread') {
1513+
} else if (commentTarget === 'thread') {
15071514
if (params.commentThreadId) cleanParams.threadId = params.commentThreadId
15081515
}
15091516
if (params.commentCreatedAt) cleanParams.createdAt = params.commentCreatedAt
15101517
if (params.commentId) cleanParams.commentId = params.commentId
15111518

15121519
// Thread params
1513-
if (params.threadId) cleanParams.threadId = params.threadId
1520+
if (params.operation === 'get_thread' && params.threadId)
1521+
cleanParams.threadId = params.threadId
15141522
if (params.threadFilterRecordId) cleanParams.recordId = params.threadFilterRecordId
15151523
if (params.threadFilterObject) cleanParams.object = params.threadFilterObject
15161524
if (params.threadFilterEntryId) cleanParams.entryId = params.threadFilterEntryId

0 commit comments

Comments
 (0)