Prevent long blocking task and checkDifferentLanguage running twice

pull/1244/head
Lim Chee Aun 2025-08-20 17:01:45 +08:00
rodzic 2cde572c7a
commit e768965dba
2 zmienionych plików z 135 dodań i 137 usunięć

Wyświetl plik

@ -1083,9 +1083,7 @@ function Status({
const contentTranslationHideLanguages =
snapStates.settings.contentTranslationHideLanguages || [];
const [differentLanguage, setDifferentLanguage] = useState(
() =>
DIFFERENT_LANG_CHECK[language + contentTranslationHideLanguages] ||
checkDifferentLanguage(language, contentTranslationHideLanguages),
DIFFERENT_LANG_CHECK[language + contentTranslationHideLanguages],
);
useEffect(() => {
if (!language || differentLanguage) {
@ -1106,7 +1104,7 @@ function Status({
if (different) setDifferentLanguage(different);
}, 1);
return () => clearTimeout(timeout);
}, [language, differentLanguage, contentTranslationHideLanguages]);
}, [language, differentLanguage]);
const reblogIterator = useRef();
const favouriteIterator = useRef();

266
src/locales/en.po wygenerowano
Wyświetl plik

@ -108,11 +108,11 @@ msgstr ""
#: src/components/compose.jsx:2819
#: src/components/media-alt-modal.jsx:55
#: src/components/media-modal.jsx:363
#: src/components/status.jsx:1998
#: src/components/status.jsx:2015
#: src/components/status.jsx:2140
#: src/components/status.jsx:2769
#: src/components/status.jsx:2772
#: src/components/status.jsx:1996
#: src/components/status.jsx:2013
#: src/components/status.jsx:2138
#: src/components/status.jsx:2767
#: src/components/status.jsx:2770
#: src/pages/account-statuses.jsx:539
#: src/pages/accounts.jsx:118
#: src/pages/hashtag.jsx:203
@ -217,7 +217,7 @@ msgid "Original"
msgstr ""
#: src/components/account-info.jsx:978
#: src/components/status.jsx:2553
#: src/components/status.jsx:2551
#: src/pages/catchup.jsx:71
#: src/pages/catchup.jsx:1448
#: src/pages/catchup.jsx:2061
@ -343,30 +343,30 @@ msgid "Add/Remove from Lists"
msgstr ""
#: src/components/account-info.jsx:1522
#: src/components/status.jsx:1420
#: src/components/status.jsx:1418
msgid "Link copied"
msgstr ""
#: src/components/account-info.jsx:1525
#: src/components/status.jsx:1423
#: src/components/status.jsx:1421
msgid "Unable to copy link"
msgstr ""
#: src/components/account-info.jsx:1531
#: src/components/shortcuts-settings.jsx:1059
#: src/components/status.jsx:1429
#: src/components/status.jsx:3547
#: src/components/status.jsx:1427
#: src/components/status.jsx:3545
msgid "Copy"
msgstr ""
#: src/components/account-info.jsx:1546
#: src/components/shortcuts-settings.jsx:1077
#: src/components/status.jsx:1445
#: src/components/status.jsx:1443
msgid "Sharing doesn't seem to work."
msgstr ""
#: src/components/account-info.jsx:1552
#: src/components/status.jsx:1451
#: src/components/status.jsx:1449
msgid "Share…"
msgstr ""
@ -480,9 +480,9 @@ msgstr ""
#: src/components/shortcuts-settings.jsx:230
#: src/components/shortcuts-settings.jsx:583
#: src/components/shortcuts-settings.jsx:783
#: src/components/status.jsx:3271
#: src/components/status.jsx:3511
#: src/components/status.jsx:4020
#: src/components/status.jsx:3269
#: src/components/status.jsx:3509
#: src/components/status.jsx:4018
#: src/pages/accounts.jsx:45
#: src/pages/catchup.jsx:1584
#: src/pages/filters.jsx:225
@ -732,7 +732,7 @@ msgid "Attachment #{i} failed"
msgstr "Attachment #{i} failed"
#: src/components/compose.jsx:1222
#: src/components/status.jsx:2328
#: src/components/status.jsx:2326
#: src/components/timeline.jsx:1023
msgid "Content warning"
msgstr ""
@ -768,7 +768,7 @@ msgstr ""
#: src/components/compose.jsx:1289
#: src/components/status.jsx:103
#: src/components/status.jsx:2204
#: src/components/status.jsx:2202
msgid "Private mention"
msgstr ""
@ -805,10 +805,10 @@ msgstr "Schedule"
#: src/components/compose.jsx:1678
#: src/components/keyboard-shortcuts-help.jsx:155
#: src/components/status.jsx:1192
#: src/components/status.jsx:1978
#: src/components/status.jsx:1979
#: src/components/status.jsx:2673
#: src/components/status.jsx:1190
#: src/components/status.jsx:1976
#: src/components/status.jsx:1977
#: src/components/status.jsx:2671
msgid "Reply"
msgstr ""
@ -1030,7 +1030,7 @@ msgstr ""
#: src/components/drafts.jsx:128
#: src/components/list-add-edit.jsx:188
#: src/components/status.jsx:1595
#: src/components/status.jsx:1593
#: src/pages/filters.jsx:603
#: src/pages/scheduled-posts.jsx:369
msgid "Delete…"
@ -1239,10 +1239,10 @@ msgid "<0>l</0> or <1>f</1>"
msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:176
#: src/components/status.jsx:1200
#: src/components/status.jsx:2700
#: src/components/status.jsx:2723
#: src/components/status.jsx:2724
#: src/components/status.jsx:1198
#: src/components/status.jsx:2698
#: src/components/status.jsx:2721
#: src/components/status.jsx:2722
msgid "Boost"
msgstr ""
@ -1251,9 +1251,9 @@ msgid "<0>Shift</0> + <1>b</1>"
msgstr ""
#: src/components/keyboard-shortcuts-help.jsx:184
#: src/components/status.jsx:1263
#: src/components/status.jsx:2748
#: src/components/status.jsx:2749
#: src/components/status.jsx:1261
#: src/components/status.jsx:2746
#: src/components/status.jsx:2747
msgid "Bookmark"
msgstr ""
@ -1318,14 +1318,14 @@ msgid "Media description"
msgstr ""
#: src/components/media-alt-modal.jsx:67
#: src/components/status.jsx:1306
#: src/components/status.jsx:1315
#: src/components/status.jsx:1304
#: src/components/status.jsx:1313
#: src/components/translation-block.jsx:239
msgid "Translate"
msgstr ""
#: src/components/media-alt-modal.jsx:78
#: src/components/status.jsx:1334
#: src/components/status.jsx:1332
msgid "Speak"
msgstr ""
@ -1362,9 +1362,9 @@ msgid "Filtered: {filterTitleStr}"
msgstr ""
#: src/components/media-post.jsx:133
#: src/components/status.jsx:3850
#: src/components/status.jsx:3946
#: src/components/status.jsx:4024
#: src/components/status.jsx:3848
#: src/components/status.jsx:3944
#: src/components/status.jsx:4022
#: src/components/timeline.jsx:1012
#: src/pages/catchup.jsx:75
#: src/pages/catchup.jsx:1880
@ -1676,8 +1676,8 @@ msgid "[Unknown notification type: {type}]"
msgstr ""
#: src/components/notification.jsx:451
#: src/components/status.jsx:1277
#: src/components/status.jsx:1287
#: src/components/status.jsx:1275
#: src/components/status.jsx:1285
msgid "Boosted/Liked by…"
msgstr ""
@ -1786,19 +1786,19 @@ msgstr ""
#. Relative time in seconds, as short as possible
#. placeholder {0}: seconds < 1 ? 1 : Math.floor(seconds)
#: src/components/relative-time.jsx:61
#: src/components/relative-time.jsx:47
msgid "{0}s"
msgstr ""
#. Relative time in minutes, as short as possible
#. placeholder {0}: Math.floor(seconds / minute)
#: src/components/relative-time.jsx:66
#: src/components/relative-time.jsx:52
msgid "{0}m"
msgstr ""
#. Relative time in hours, as short as possible
#. placeholder {0}: Math.floor(seconds / hour)
#: src/components/relative-time.jsx:71
#: src/components/relative-time.jsx:57
msgid "{0}h"
msgstr ""
@ -2030,7 +2030,7 @@ msgid "Move down"
msgstr ""
#: src/components/shortcuts-settings.jsx:379
#: src/components/status.jsx:1557
#: src/components/status.jsx:1555
#: src/pages/list.jsx:195
msgid "Edit"
msgstr ""
@ -2275,312 +2275,312 @@ msgstr "Unbookmarked @{0}'s post"
msgid "Bookmarked @{0}'s post"
msgstr "Bookmarked @{0}'s post"
#: src/components/status.jsx:1169
#: src/components/status.jsx:1167
msgid "Some media have no descriptions."
msgstr ""
#. placeholder {0}: rtf.format(-statusMonthsAgo, 'month')
#: src/components/status.jsx:1176
#: src/components/status.jsx:1174
msgid "Old post (<0>{0}</0>)"
msgstr ""
#: src/components/status.jsx:1200
#: src/components/status.jsx:1240
#: src/components/status.jsx:2700
#: src/components/status.jsx:2723
#: src/components/status.jsx:1198
#: src/components/status.jsx:1238
#: src/components/status.jsx:2698
#: src/components/status.jsx:2721
msgid "Unboost"
msgstr ""
#: src/components/status.jsx:1216
#: src/components/status.jsx:2715
#: src/components/status.jsx:1214
#: src/components/status.jsx:2713
msgid "Quote"
msgstr ""
#. placeholder {0}: username || acct
#: src/components/status.jsx:1228
#: src/components/status.jsx:1694
#: src/components/status.jsx:1226
#: src/components/status.jsx:1692
msgid "Unboosted @{0}'s post"
msgstr "Unboosted @{0}'s post"
#. placeholder {0}: username || acct
#: src/components/status.jsx:1229
#: src/components/status.jsx:1695
#: src/components/status.jsx:1227
#: src/components/status.jsx:1693
msgid "Boosted @{0}'s post"
msgstr "Boosted @{0}'s post"
#: src/components/status.jsx:1241
#: src/components/status.jsx:1239
msgid "Boost…"
msgstr ""
#: src/components/status.jsx:1253
#: src/components/status.jsx:1988
#: src/components/status.jsx:2736
#: src/components/status.jsx:1251
#: src/components/status.jsx:1986
#: src/components/status.jsx:2734
msgid "Unlike"
msgstr ""
#: src/components/status.jsx:1254
#: src/components/status.jsx:1988
#: src/components/status.jsx:1989
#: src/components/status.jsx:2736
#: src/components/status.jsx:2737
#: src/components/status.jsx:1252
#: src/components/status.jsx:1986
#: src/components/status.jsx:1987
#: src/components/status.jsx:2734
#: src/components/status.jsx:2735
msgid "Like"
msgstr ""
#: src/components/status.jsx:1263
#: src/components/status.jsx:2748
#: src/components/status.jsx:1261
#: src/components/status.jsx:2746
msgid "Unbookmark"
msgstr ""
#: src/components/status.jsx:1346
#: src/components/status.jsx:1344
msgid "Post text copied"
msgstr "Post text copied"
#: src/components/status.jsx:1349
#: src/components/status.jsx:1347
msgid "Unable to copy post text"
msgstr "Unable to copy post text"
#: src/components/status.jsx:1355
#: src/components/status.jsx:1353
msgid "Copy post text"
msgstr "Copy post text"
#. placeholder {0}: username || acct
#: src/components/status.jsx:1373
#: src/components/status.jsx:1371
msgid "View post by <0>@{0}</0>"
msgstr ""
#: src/components/status.jsx:1394
#: src/components/status.jsx:1392
msgid "Show Edit History"
msgstr ""
#: src/components/status.jsx:1397
#: src/components/status.jsx:1395
msgid "Edited: {editedDateText}"
msgstr ""
#: src/components/status.jsx:1464
#: src/components/status.jsx:3516
#: src/components/status.jsx:1462
#: src/components/status.jsx:3514
msgid "Embed post"
msgstr ""
#: src/components/status.jsx:1478
#: src/components/status.jsx:1476
msgid "Conversation unmuted"
msgstr ""
#: src/components/status.jsx:1478
#: src/components/status.jsx:1476
msgid "Conversation muted"
msgstr ""
#: src/components/status.jsx:1484
#: src/components/status.jsx:1482
msgid "Unable to unmute conversation"
msgstr ""
#: src/components/status.jsx:1485
#: src/components/status.jsx:1483
msgid "Unable to mute conversation"
msgstr ""
#: src/components/status.jsx:1494
#: src/components/status.jsx:1492
msgid "Unmute conversation"
msgstr ""
#: src/components/status.jsx:1501
#: src/components/status.jsx:1499
msgid "Mute conversation"
msgstr ""
#: src/components/status.jsx:1517
#: src/components/status.jsx:1515
msgid "Post unpinned from profile"
msgstr ""
#: src/components/status.jsx:1518
#: src/components/status.jsx:1516
msgid "Post pinned to profile"
msgstr ""
#: src/components/status.jsx:1523
#: src/components/status.jsx:1521
msgid "Unable to unpin post"
msgstr ""
#: src/components/status.jsx:1523
#: src/components/status.jsx:1521
msgid "Unable to pin post"
msgstr ""
#: src/components/status.jsx:1532
#: src/components/status.jsx:1530
msgid "Unpin from profile"
msgstr ""
#: src/components/status.jsx:1539
#: src/components/status.jsx:1537
msgid "Pin to profile"
msgstr ""
#: src/components/status.jsx:1568
#: src/components/status.jsx:1566
msgid "Delete this post?"
msgstr ""
#: src/components/status.jsx:1584
#: src/components/status.jsx:1582
msgid "Post deleted"
msgstr ""
#: src/components/status.jsx:1587
#: src/components/status.jsx:1585
msgid "Unable to delete post"
msgstr ""
#: src/components/status.jsx:1615
#: src/components/status.jsx:1613
msgid "Report post…"
msgstr ""
#: src/components/status.jsx:1989
#: src/components/status.jsx:2025
#: src/components/status.jsx:2737
#: src/components/status.jsx:1987
#: src/components/status.jsx:2023
#: src/components/status.jsx:2735
msgid "Liked"
msgstr ""
#: src/components/status.jsx:2022
#: src/components/status.jsx:2724
#: src/components/status.jsx:2020
#: src/components/status.jsx:2722
msgid "Boosted"
msgstr ""
#: src/components/status.jsx:2032
#: src/components/status.jsx:2749
#: src/components/status.jsx:2030
#: src/components/status.jsx:2747
msgid "Bookmarked"
msgstr ""
#: src/components/status.jsx:2036
#: src/components/status.jsx:2034
msgid "Pinned"
msgstr ""
#: src/components/status.jsx:2082
#: src/components/status.jsx:2561
#: src/components/status.jsx:2080
#: src/components/status.jsx:2559
msgid "Deleted"
msgstr ""
#: src/components/status.jsx:2123
#: src/components/status.jsx:2121
msgid "{repliesCount, plural, one {# reply} other {# replies}}"
msgstr ""
#. placeholder {0}: snapStates.statusThreadNumber[sKey] ? ` ${snapStates.statusThreadNumber[sKey]}/X` : ''
#: src/components/status.jsx:2213
#: src/components/status.jsx:2211
msgid "Thread{0}"
msgstr ""
#: src/components/status.jsx:2291
#: src/components/status.jsx:2353
#: src/components/status.jsx:2457
#: src/components/status.jsx:2289
#: src/components/status.jsx:2351
#: src/components/status.jsx:2455
msgid "Show less"
msgstr ""
#: src/components/status.jsx:2291
#: src/components/status.jsx:2353
#: src/components/status.jsx:2289
#: src/components/status.jsx:2351
msgid "Show content"
msgstr ""
#. placeholder {0}: filterInfo.titlesStr
#. placeholder {0}: filterInfo?.titlesStr
#: src/components/status.jsx:2453
#: src/components/status.jsx:2451
#: src/pages/catchup.jsx:1879
msgid "Filtered: {0}"
msgstr "Filtered: {0}"
#: src/components/status.jsx:2457
#: src/components/status.jsx:2455
msgid "Show media"
msgstr ""
#: src/components/status.jsx:2597
#: src/components/status.jsx:2595
msgid "Edited"
msgstr ""
#: src/components/status.jsx:2674
#: src/components/status.jsx:2672
msgid "Comments"
msgstr ""
#. More from [Author]
#: src/components/status.jsx:2974
#: src/components/status.jsx:2972
msgid "More from <0/>"
msgstr "More from <0/>"
#: src/components/status.jsx:3276
#: src/components/status.jsx:3274
msgid "Edit History"
msgstr ""
#: src/components/status.jsx:3280
#: src/components/status.jsx:3278
msgid "Failed to load history"
msgstr ""
#: src/components/status.jsx:3285
#: src/components/status.jsx:3283
#: src/pages/annual-report.jsx:45
msgid "Loading…"
msgstr ""
#: src/components/status.jsx:3521
#: src/components/status.jsx:3519
msgid "HTML Code"
msgstr ""
#: src/components/status.jsx:3538
#: src/components/status.jsx:3536
msgid "HTML code copied"
msgstr ""
#: src/components/status.jsx:3541
#: src/components/status.jsx:3539
msgid "Unable to copy HTML code"
msgstr ""
#: src/components/status.jsx:3553
#: src/components/status.jsx:3551
msgid "Media attachments:"
msgstr ""
#: src/components/status.jsx:3575
#: src/components/status.jsx:3573
msgid "Account Emojis:"
msgstr ""
#: src/components/status.jsx:3606
#: src/components/status.jsx:3651
#: src/components/status.jsx:3604
#: src/components/status.jsx:3649
msgid "static URL"
msgstr ""
#: src/components/status.jsx:3620
#: src/components/status.jsx:3618
msgid "Emojis:"
msgstr ""
#: src/components/status.jsx:3665
#: src/components/status.jsx:3663
msgid "Notes:"
msgstr ""
#: src/components/status.jsx:3669
#: src/components/status.jsx:3667
msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed."
msgstr ""
#: src/components/status.jsx:3675
#: src/components/status.jsx:3673
msgid "Polls are not interactive, becomes a list with vote counts."
msgstr ""
#: src/components/status.jsx:3680
#: src/components/status.jsx:3678
msgid "Media attachments can be images, videos, audios or any file types."
msgstr ""
#: src/components/status.jsx:3686
#: src/components/status.jsx:3684
msgid "Post could be edited or deleted later."
msgstr ""
#: src/components/status.jsx:3692
#: src/components/status.jsx:3690
msgid "Preview"
msgstr ""
#: src/components/status.jsx:3701
#: src/components/status.jsx:3699
msgid "Note: This preview is lightly styled."
msgstr ""
#. [Name] [Visibility icon] boosted
#: src/components/status.jsx:3954
#: src/components/status.jsx:3952
msgid "<0/> <1/> boosted"
msgstr "<0/> <1/> boosted"
#: src/components/status.jsx:4056
#: src/components/status.jsx:4054
msgid "Post hidden by your filters"
msgstr "Post hidden by your filters"
#: src/components/status.jsx:4057
#: src/components/status.jsx:4055
msgid "Post pending"
msgstr "Post pending"
#: src/components/status.jsx:4056
#: src/components/status.jsx:4057
#: src/components/status.jsx:4058
#: src/components/status.jsx:4059
#: src/components/status.jsx:4060
#: src/components/status.jsx:4061
msgid "Post unavailable"
msgstr "Post unavailable"