|
963 | 963 | try { |
964 | 964 | let chatNameEle = ele.querySelector("[data-e2e='message-owner-name']"); |
965 | 965 | if (chatNameEle) { |
966 | | - if (chatNameEle.dataset.skip) { |
967 | | - return; |
| 966 | + if (!chatNameEle.dataset.skip) { |
| 967 | + chatNameEle.dataset.skip = true; |
| 968 | + } |
| 969 | + let extractedName = ""; |
| 970 | + try { |
| 971 | + if (typeof chatNameEle.textContent === "string") { |
| 972 | + extractedName = chatNameEle.textContent; |
| 973 | + } |
| 974 | + } catch (e) {} |
| 975 | + if (!extractedName || !extractedName.trim()) { |
| 976 | + const titleAttr = chatNameEle.getAttribute && chatNameEle.getAttribute("title"); |
| 977 | + if (titleAttr) { |
| 978 | + extractedName = titleAttr; |
| 979 | + } |
| 980 | + } |
| 981 | + if ((!extractedName || !extractedName.trim()) && (typeof chatNameEle.innerText === "string")) { |
| 982 | + extractedName = chatNameEle.innerText; |
| 983 | + } |
| 984 | + if (extractedName && extractedName.trim()) { |
| 985 | + chatname = escapeHtml(extractedName.trim()); |
968 | 986 | } |
969 | | - chatNameEle.dataset.skip = true; |
970 | | - chatname = chatNameEle.textContent; |
971 | | - chatname = escapeHtml(chatname); |
972 | 987 | } |
973 | 988 | } catch (e) {} |
974 | 989 | try { |
|
1172 | 1187 | avatarCache.add(chatname, chatimg, chatbadges, membership, nameColor); |
1173 | 1188 | } |
1174 | 1189 | const compactMessage = normalizedMessage.replace(/[^a-z]/g, ""); |
1175 | | - const joinFromMessage = containsJoinKeyword(chatmessage || normalizedMessage); |
| 1190 | + const combinedJoinText = [chatmessage, normalizedMessage, ele?.textContent] |
| 1191 | + .filter(Boolean) |
| 1192 | + .join(" "); |
| 1193 | + const joinFromMessage = containsJoinKeyword(combinedJoinText); |
1176 | 1194 | const shareFromMessage = compactMessage.includes("share"); |
1177 | 1195 | const followFromMessage = compactMessage.includes("follow"); |
1178 | 1196 | const likeFromMessage = compactMessage.includes("like"); |
|
1289 | 1307 | try { |
1290 | 1308 | let chatNameEle = ele.querySelector("[data-e2e='message-owner-name']"); |
1291 | 1309 | if (chatNameEle) { |
1292 | | - if (chatNameEle.dataset.skip) { |
1293 | | - return; |
| 1310 | + if (!chatNameEle.dataset.skip) { |
| 1311 | + chatNameEle.dataset.skip = true; |
| 1312 | + } |
| 1313 | + let extractedName = ""; |
| 1314 | + try { |
| 1315 | + if (typeof chatNameEle.textContent === "string") { |
| 1316 | + extractedName = chatNameEle.textContent; |
| 1317 | + } |
| 1318 | + } catch (e) {} |
| 1319 | + if (!extractedName || !extractedName.trim()) { |
| 1320 | + const titleAttr = chatNameEle.getAttribute && chatNameEle.getAttribute("title"); |
| 1321 | + if (titleAttr) { |
| 1322 | + extractedName = titleAttr; |
| 1323 | + } |
| 1324 | + } |
| 1325 | + if ((!extractedName || !extractedName.trim()) && (typeof chatNameEle.innerText === "string")) { |
| 1326 | + extractedName = chatNameEle.innerText; |
| 1327 | + } |
| 1328 | + if (extractedName && extractedName.trim()) { |
| 1329 | + chatname = escapeHtml(extractedName.trim()); |
1294 | 1330 | } |
1295 | | - chatNameEle.dataset.skip = true; |
1296 | | - chatname = chatNameEle.textContent; |
1297 | | - chatname = escapeHtml(chatname); |
1298 | 1331 | } |
1299 | 1332 | } catch (e) {} |
1300 | 1333 | ele.dataset.skip = ++msgCount; |
|
1380 | 1413 | } |
1381 | 1414 | const normalizedMessage = chatmessage ? chatmessage.toLowerCase() : ""; |
1382 | 1415 | const compactMessage = normalizedMessage.replace(/[^a-z]/g, ""); |
1383 | | - const joinFromMessage = containsJoinKeyword(chatmessage || normalizedMessage); |
| 1416 | + const combinedJoinText = [chatmessage, normalizedMessage, ele?.textContent] |
| 1417 | + .filter(Boolean) |
| 1418 | + .join(" "); |
| 1419 | + const joinFromMessage = containsJoinKeyword(combinedJoinText); |
1384 | 1420 | const shareFromMessage = compactMessage.includes("share"); |
1385 | 1421 | const followFromMessage = compactMessage.includes("follow"); |
1386 | 1422 | const likeFromMessage = compactMessage.includes("like"); |
|
0 commit comments