• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

inclusion-numerique / coop-mediation-numerique / d4144e8b-1bbe-44c2-90e9-6d614bcf9fdc

09 Apr 2026 02:35PM UTC coverage: 10.603% (+3.1%) from 7.465%
d4144e8b-1bbe-44c2-90e9-6d614bcf9fdc

push

circleci

KGALLET
chore: remove quick access menu mobile

698 of 10550 branches covered (6.62%)

Branch coverage included in aggregate %.

2166 of 16460 relevant lines covered (13.16%)

1.99 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/apps/web/src/assistant/messageHasDiff.ts
1
import type { Message } from 'ai'
2
import { isEqual } from 'lodash-es'
3

4
export const messageHasDiff = (a: Message, b: Message) => {
×
5
  // basic properties diff
6
  if (
×
7
    a.id !== b.id ||
×
8
    a.role !== b.role ||
9
    (a.content || '') !== (b.content || '')
×
10
  ) {
11
    return true
×
12
  }
13

14
  if (
×
15
    a.parts?.length !== b.parts?.length ||
×
16
    a.annotations?.length !== b.annotations?.length ||
17
    a.experimental_attachments?.length !== b.experimental_attachments?.length
18
  ) {
19
    return true
×
20
  }
21

22
  if (
×
23
    !isEqual(a.parts ?? [], b.parts ?? []) ||
×
24
    !isEqual(a.annotations ?? [], b.annotations ?? []) ||
×
25
    !isEqual(a.experimental_attachments, b.experimental_attachments)
26
  ) {
27
    return true
×
28
  }
29

30
  return false
×
31
}
32

33
export const filterMessagesWithDiff = ({
×
34
  initialMessages,
35
  messages,
36
}: {
37
  initialMessages: Message[]
38
  messages: Message[]
39
}) => {
40
  const initialMessagesById = new Map(
×
41
    initialMessages.map((message) => [message.id, message]),
×
42
  )
43
  return messages.filter((message) => {
×
44
    const initialMessage = initialMessagesById.get(message.id)
×
45
    if (!initialMessage) {
×
46
      return true
×
47
    }
48

49
    return messageHasDiff(initialMessage, message)
×
50
  })
51
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc