this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Don't replace all zero-width spaces

+62 -59
+7 -4
src/components/compose.jsx
··· 1701 1701 if (!textarea) return; 1702 1702 const { selectionStart, selectionEnd } = textarea; 1703 1703 const text = textarea.value; 1704 - const textBeforeMention = text.slice(0, selectionStart); 1704 + let textBeforeMention = text.slice(0, selectionStart); 1705 + // Remove zero-width space from end of text 1706 + textBeforeMention = textBeforeMention.replace(/\u200B$/, ''); 1705 1707 const spaceBeforeMention = textBeforeMention 1706 1708 ? /[\s\t\n\r]$/.test(textBeforeMention) 1707 1709 ? '' ··· 1748 1750 if (!textarea) return; 1749 1751 const { selectionStart, selectionEnd } = textarea; 1750 1752 const text = textarea.value; 1751 - const textBeforeEmoji = text.slice(0, selectionStart); 1753 + let textBeforeEmoji = text.slice(0, selectionStart); 1754 + // Remove zero-width space from end of text 1755 + textBeforeEmoji = textBeforeEmoji.replace(/\u200B$/, ''); 1752 1756 const spaceBeforeEmoji = textBeforeEmoji 1753 1757 ? /[\s\t\n\r]$/.test(textBeforeEmoji) 1754 1758 ? '' ··· 2357 2361 }} 2358 2362 onInput={(e) => { 2359 2363 const { target } = e; 2360 - // Replace zero-width space 2361 - const text = target.value.replace(/\u200b/g, ''); 2364 + const text = target.value; 2362 2365 setText(text); 2363 2366 autoResizeTextarea(target); 2364 2367 props.onInput?.(e);
+55 -55
src/locales/en.po
··· 108 108 109 109 #: src/components/account-info.jsx:462 110 110 #: src/components/account-info.jsx:1236 111 - #: src/components/compose.jsx:2783 111 + #: src/components/compose.jsx:2786 112 112 #: src/components/media-alt-modal.jsx:55 113 113 #: src/components/media-modal.jsx:363 114 114 #: src/components/status.jsx:1836 ··· 450 450 #: src/components/account-info.jsx:2295 451 451 #: src/components/account-sheet.jsx:38 452 452 #: src/components/compose.jsx:891 453 - #: src/components/compose.jsx:2739 454 - #: src/components/compose.jsx:3219 455 - #: src/components/compose.jsx:3428 456 - #: src/components/compose.jsx:3658 453 + #: src/components/compose.jsx:2742 454 + #: src/components/compose.jsx:3222 455 + #: src/components/compose.jsx:3431 456 + #: src/components/compose.jsx:3661 457 457 #: src/components/drafts.jsx:59 458 458 #: src/components/embed-modal.jsx:13 459 459 #: src/components/generic-accounts.jsx:151 ··· 657 657 658 658 #: src/components/compose.jsx:664 659 659 #: src/components/compose.jsx:682 660 - #: src/components/compose.jsx:1788 661 - #: src/components/compose.jsx:1913 660 + #: src/components/compose.jsx:1792 661 + #: src/components/compose.jsx:1917 662 662 msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}" 663 663 msgstr "" 664 664 ··· 779 779 msgstr "Posting on <0/>" 780 780 781 781 #: src/components/compose.jsx:1447 782 - #: src/components/compose.jsx:3277 782 + #: src/components/compose.jsx:3280 783 783 #: src/components/shortcuts-settings.jsx:715 784 784 #: src/pages/list.jsx:388 785 785 msgid "Add" ··· 807 807 msgid "Post" 808 808 msgstr "Post" 809 809 810 - #: src/components/compose.jsx:1800 810 + #: src/components/compose.jsx:1804 811 811 msgid "Downloading GIF…" 812 812 msgstr "Downloading GIF…" 813 813 814 - #: src/components/compose.jsx:1828 814 + #: src/components/compose.jsx:1832 815 815 msgid "Failed to download GIF" 816 816 msgstr "Failed to download GIF" 817 817 818 - #: src/components/compose.jsx:2043 819 - #: src/components/compose.jsx:2120 818 + #: src/components/compose.jsx:2047 819 + #: src/components/compose.jsx:2124 820 820 #: src/components/nav-menu.jsx:244 821 821 msgid "More…" 822 822 msgstr "" 823 823 824 - #: src/components/compose.jsx:2553 824 + #: src/components/compose.jsx:2556 825 825 msgid "Uploaded" 826 826 msgstr "" 827 827 828 - #: src/components/compose.jsx:2566 828 + #: src/components/compose.jsx:2569 829 829 msgid "Image description" 830 830 msgstr "Image description" 831 831 832 - #: src/components/compose.jsx:2567 832 + #: src/components/compose.jsx:2570 833 833 msgid "Video description" 834 834 msgstr "Video description" 835 835 836 - #: src/components/compose.jsx:2568 836 + #: src/components/compose.jsx:2571 837 837 msgid "Audio description" 838 838 msgstr "Audio description" 839 839 ··· 841 841 #. placeholder {0}: prettyBytes( videoSize, ) 842 842 #. placeholder {1}: prettyBytes(imageSizeLimit) 843 843 #. placeholder {1}: prettyBytes(videoSizeLimit) 844 - #: src/components/compose.jsx:2603 845 - #: src/components/compose.jsx:2623 844 + #: src/components/compose.jsx:2606 845 + #: src/components/compose.jsx:2626 846 846 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 847 847 msgstr "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." 848 848 ··· 850 850 #. placeholder {1}: i18n.number(height) 851 851 #. placeholder {2}: i18n.number(newWidth) 852 852 #. placeholder {3}: i18n.number( newHeight, ) 853 - #: src/components/compose.jsx:2615 854 - #: src/components/compose.jsx:2635 853 + #: src/components/compose.jsx:2618 854 + #: src/components/compose.jsx:2638 855 855 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 856 856 msgstr "Dimension too large. Uploading might encounter issues. Try reduce dimension from {0}×{1}px to {2}×{3}px." 857 857 858 - #: src/components/compose.jsx:2643 858 + #: src/components/compose.jsx:2646 859 859 msgid "Frame rate too high. Uploading might encounter issues." 860 860 msgstr "Frame rate too high. Uploading might encounter issues." 861 861 862 - #: src/components/compose.jsx:2703 863 - #: src/components/compose.jsx:2953 862 + #: src/components/compose.jsx:2706 863 + #: src/components/compose.jsx:2956 864 864 #: src/components/shortcuts-settings.jsx:726 865 865 #: src/pages/catchup.jsx:1081 866 866 #: src/pages/filters.jsx:413 867 867 msgid "Remove" 868 868 msgstr "" 869 869 870 - #: src/components/compose.jsx:2720 870 + #: src/components/compose.jsx:2723 871 871 #: src/compose.jsx:84 872 872 msgid "Error" 873 873 msgstr "" 874 874 875 - #: src/components/compose.jsx:2745 875 + #: src/components/compose.jsx:2748 876 876 msgid "Edit image description" 877 877 msgstr "Edit image description" 878 878 879 - #: src/components/compose.jsx:2746 879 + #: src/components/compose.jsx:2749 880 880 msgid "Edit video description" 881 881 msgstr "Edit video description" 882 882 883 - #: src/components/compose.jsx:2747 883 + #: src/components/compose.jsx:2750 884 884 msgid "Edit audio description" 885 885 msgstr "Edit audio description" 886 886 887 - #: src/components/compose.jsx:2792 888 - #: src/components/compose.jsx:2841 887 + #: src/components/compose.jsx:2795 888 + #: src/components/compose.jsx:2844 889 889 msgid "Generating description. Please wait…" 890 890 msgstr "Generating description. Please wait…" 891 891 892 892 #. placeholder {0}: e.message 893 - #: src/components/compose.jsx:2812 893 + #: src/components/compose.jsx:2815 894 894 msgid "Failed to generate description: {0}" 895 895 msgstr "Failed to generate description: {0}" 896 896 897 - #: src/components/compose.jsx:2813 897 + #: src/components/compose.jsx:2816 898 898 msgid "Failed to generate description" 899 899 msgstr "Failed to generate description" 900 900 901 - #: src/components/compose.jsx:2825 902 - #: src/components/compose.jsx:2831 903 - #: src/components/compose.jsx:2877 901 + #: src/components/compose.jsx:2828 902 + #: src/components/compose.jsx:2834 903 + #: src/components/compose.jsx:2880 904 904 msgid "Generate description…" 905 905 msgstr "" 906 906 907 907 #. placeholder {0}: e?.message ? `: ${e.message}` : '' 908 - #: src/components/compose.jsx:2864 908 + #: src/components/compose.jsx:2867 909 909 msgid "Failed to generate description{0}" 910 910 msgstr "Failed to generate description{0}" 911 911 912 912 #. placeholder {0}: localeCode2Text(lang) 913 - #: src/components/compose.jsx:2879 913 + #: src/components/compose.jsx:2882 914 914 msgid "({0}) <0>— experimental</0>" 915 915 msgstr "" 916 916 917 - #: src/components/compose.jsx:2898 917 + #: src/components/compose.jsx:2901 918 918 msgid "Done" 919 919 msgstr "" 920 920 921 921 #. placeholder {0}: i + 1 922 - #: src/components/compose.jsx:2934 922 + #: src/components/compose.jsx:2937 923 923 msgid "Choice {0}" 924 924 msgstr "Choice {0}" 925 925 926 - #: src/components/compose.jsx:2981 926 + #: src/components/compose.jsx:2984 927 927 msgid "Multiple choices" 928 928 msgstr "" 929 929 930 - #: src/components/compose.jsx:2984 930 + #: src/components/compose.jsx:2987 931 931 msgid "Duration" 932 932 msgstr "" 933 933 934 - #: src/components/compose.jsx:3015 934 + #: src/components/compose.jsx:3018 935 935 msgid "Remove poll" 936 936 msgstr "" 937 937 938 - #: src/components/compose.jsx:3236 938 + #: src/components/compose.jsx:3239 939 939 msgid "Search accounts" 940 940 msgstr "Search accounts" 941 941 942 - #: src/components/compose.jsx:3290 942 + #: src/components/compose.jsx:3293 943 943 #: src/components/generic-accounts.jsx:236 944 944 msgid "Error loading accounts" 945 945 msgstr "" 946 946 947 - #: src/components/compose.jsx:3434 947 + #: src/components/compose.jsx:3437 948 948 msgid "Custom emojis" 949 949 msgstr "" 950 950 951 - #: src/components/compose.jsx:3454 951 + #: src/components/compose.jsx:3457 952 952 msgid "Search emoji" 953 953 msgstr "Search emoji" 954 954 955 - #: src/components/compose.jsx:3485 955 + #: src/components/compose.jsx:3488 956 956 msgid "Error loading custom emojis" 957 957 msgstr "" 958 958 959 - #: src/components/compose.jsx:3496 959 + #: src/components/compose.jsx:3499 960 960 msgid "Recently used" 961 961 msgstr "Recently used" 962 962 963 - #: src/components/compose.jsx:3497 963 + #: src/components/compose.jsx:3500 964 964 msgid "Others" 965 965 msgstr "Others" 966 966 967 967 #. placeholder {0}: i18n.number(emojis.length - max) 968 - #: src/components/compose.jsx:3535 968 + #: src/components/compose.jsx:3538 969 969 msgid "{0} more…" 970 970 msgstr "" 971 971 972 - #: src/components/compose.jsx:3673 972 + #: src/components/compose.jsx:3676 973 973 msgid "Search GIFs" 974 974 msgstr "Search GIFs" 975 975 976 - #: src/components/compose.jsx:3688 976 + #: src/components/compose.jsx:3691 977 977 msgid "Powered by GIPHY" 978 978 msgstr "Powered by GIPHY" 979 979 980 - #: src/components/compose.jsx:3696 980 + #: src/components/compose.jsx:3699 981 981 msgid "Type to search GIFs" 982 982 msgstr "" 983 983 984 - #: src/components/compose.jsx:3794 984 + #: src/components/compose.jsx:3797 985 985 #: src/components/media-modal.jsx:469 986 986 #: src/components/timeline.jsx:927 987 987 msgid "Previous" 988 988 msgstr "" 989 989 990 - #: src/components/compose.jsx:3812 990 + #: src/components/compose.jsx:3815 991 991 #: src/components/media-modal.jsx:488 992 992 #: src/components/timeline.jsx:944 993 993 msgid "Next" 994 994 msgstr "" 995 995 996 - #: src/components/compose.jsx:3829 996 + #: src/components/compose.jsx:3832 997 997 msgid "Error loading GIFs" 998 998 msgstr "" 999 999