Skip to content

Commit e28688f

Browse files
committed
Small fixes
1 parent 635abd9 commit e28688f

File tree

4 files changed

+28
-9
lines changed

4 files changed

+28
-9
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@flyerhq/react-native-chat-ui",
3-
"version": "1.3.2",
3+
"version": "1.3.3",
44
"description": "Actively maintained, community-driven chat UI implementation with an optional Firebase BaaS.",
55
"homepage": "https://flyer.chat",
66
"main": "lib/index.js",

src/components/Message/Message.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ export const Message = React.memo(
111111
)
112112
case 'file':
113113
return oneOf(renderFileMessage, <FileMessage message={message} />)(
114-
message,
114+
// type-coverage:ignore-next-line
115+
excludeDerivedMessageProps(message) as MessageType.File,
115116
messageWidth
116117
)
117118
case 'image':
@@ -123,7 +124,11 @@ export const Message = React.memo(
123124
messageWidth,
124125
}}
125126
/>
126-
)(message, messageWidth)
127+
)(
128+
// type-coverage:ignore-next-line
129+
excludeDerivedMessageProps(message) as MessageType.Image,
130+
messageWidth
131+
)
127132
case 'text':
128133
return oneOf(
129134
renderTextMessage,
@@ -137,7 +142,11 @@ export const Message = React.memo(
137142
usePreviewData,
138143
}}
139144
/>
140-
)(message, messageWidth)
145+
)(
146+
// type-coverage:ignore-next-line
147+
excludeDerivedMessageProps(message) as MessageType.Text,
148+
messageWidth
149+
)
141150
default:
142151
return null
143152
}

src/components/TextMessage/TextMessage.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ import { Linking, Text, View } from 'react-native'
88
import ParsedText from 'react-native-parsed-text'
99

1010
import { MessageType } from '../../types'
11-
import { getUserName, ThemeContext, UserContext } from '../../utils'
11+
import {
12+
excludeDerivedMessageProps,
13+
getUserName,
14+
ThemeContext,
15+
UserContext,
16+
} from '../../utils'
1217
import styles from './styles'
1318

1419
export interface TextMessageTopLevelProps {
@@ -17,7 +22,7 @@ export interface TextMessageTopLevelProps {
1722
message,
1823
previewData,
1924
}: {
20-
message: MessageType.DerivedText
25+
message: MessageType.Text
2126
previewData: PreviewData
2227
}) => void
2328
/** Enables link (URL) preview */
@@ -57,7 +62,12 @@ export const TextMessage = ({
5762

5863
const handlePreviewDataFetched = (data: PreviewData) => {
5964
setPreviewData(data)
60-
onPreviewDataFetched?.({ message, previewData: data })
65+
onPreviewDataFetched?.({
66+
// It's okay to cast here since we know it is a text message
67+
// type-coverage:ignore-next-line
68+
message: excludeDerivedMessageProps(message) as MessageType.Text,
69+
previewData: data,
70+
})
6171
}
6272

6373
const handleUrlPress = (url: string) => {

src/utils/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const getUserName = ({ firstName, lastName }: User) =>
3636
`${firstName ?? ''} ${lastName ?? ''}`.trim()
3737

3838
/** Returns hash code of the provided text */
39-
const hashCode = (text = '') => {
39+
export const hashCode = (text = '') => {
4040
let i,
4141
chr,
4242
hash = 0
@@ -48,7 +48,7 @@ const hashCode = (text = '') => {
4848
// eslint-disable-next-line no-bitwise
4949
hash |= 0 // Convert to 32bit integer
5050
}
51-
return hash
51+
return Math.abs(hash)
5252
}
5353

5454
/** Inits dayjs locale */

0 commit comments

Comments
 (0)