@@ -56,13 +56,9 @@ const ChatMessageList = (props: { messages: Message[]; darkMode: boolean }) => {
56
56
/>
57
57
)
58
58
}
59
- const ChatMessageListMemo = React . memo (
60
- ChatMessageList ,
61
- ( prevProps , nextProps ) => prevProps . messages === nextProps . messages
62
- )
59
+ const ChatMessageListMemo = React . memo ( ChatMessageList ) // Shallow prop compare.
63
60
64
- const createErrorHandler = (
65
- color : string ,
61
+ const errorHandler = (
66
62
addMessage : ( text : MinecraftChat ) => void ,
67
63
translated : string
68
64
) => ( error : unknown ) => {
@@ -89,7 +85,6 @@ const ChatScreen = ({ navigation }: { navigation: ChatNavigationProp }) => {
89
85
connection && connection . connection . options . protocolVersion >= 306 // 16w38a
90
86
? 256
91
87
: 100
92
- const colorMap = darkMode ? mojangColorMap : lightColorMap
93
88
const addMessage = ( text : MinecraftChat ) =>
94
89
setMessages ( m => {
95
90
const trunc = m . length > 500 ? m . slice ( 0 , 499 ) : m
@@ -103,23 +98,18 @@ const ChatScreen = ({ navigation }: { navigation: ChatNavigationProp }) => {
103
98
if ( ! loggedInRef . current && connection . connection . loggedIn ) {
104
99
setLoggedIn ( true )
105
100
loggedInRef . current = true
106
- const errorHandler = createErrorHandler (
107
- colorMap . dark_red ,
108
- addMessage ,
109
- sendMessageErr
110
- )
111
101
if ( settings . sendJoinMessage ) {
112
102
connection . connection
113
103
. writePacket (
114
104
0x03 ,
115
105
concatPacketData ( [ settings . joinMessage . substring ( charLimit ) ] )
116
106
)
117
- . catch ( errorHandler )
107
+ . catch ( errorHandler ( addMessage , sendMessageErr ) )
118
108
}
119
109
if ( settings . sendSpawnCommand ) {
120
110
connection . connection
121
111
. writePacket ( 0x03 , concatPacketData ( [ '/spawn' ] ) )
122
- . catch ( errorHandler )
112
+ . catch ( errorHandler ( addMessage , sendMessageErr ) )
123
113
}
124
114
} else if ( packet . id === 0x0f ) {
125
115
try {
@@ -133,15 +123,14 @@ const ChatScreen = ({ navigation }: { navigation: ChatNavigationProp }) => {
133
123
addMessage ( parseValidJson ( chatJson ) )
134
124
}
135
125
} catch ( e ) {
136
- createErrorHandler ( colorMap . dark_red , addMessage , parseMessageErr ) ( e )
126
+ errorHandler ( addMessage , parseMessageErr ) ( e )
137
127
}
138
128
}
139
129
} )
140
130
return ( ) => {
141
131
connection . connection . removeAllListeners ( 'packet' )
142
132
}
143
133
} , [
144
- colorMap ,
145
134
charLimit ,
146
135
connection ,
147
136
settings . joinMessage ,
@@ -169,7 +158,7 @@ const ChatScreen = ({ navigation }: { navigation: ChatNavigationProp }) => {
169
158
if ( trim . startsWith ( '/' ) ) setCommandHistory ( ch => ch . concat ( [ trim ] ) )
170
159
connection . connection
171
160
. writePacket ( 0x03 , concatPacketData ( [ trim ] ) )
172
- . catch ( createErrorHandler ( colorMap . dark_red , addMessage , sendMessageErr ) )
161
+ . catch ( errorHandler ( addMessage , sendMessageErr ) )
173
162
}
174
163
175
164
if ( ! connection ) return < > </ > // This should never be hit hopefully.
0 commit comments