this repo has no description
0
fork

Configure Feed

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

Don't need @mastodon/grouped-notifications

+97 -101
-1
src/data/features.json
··· 5 5 "@mastodon/filtered-notifications": "~4.3 || >=4.3", 6 6 "@mastodon/fetch-multiple-statuses": "~4.3 || >=4.3", 7 7 "@mastodon/trending-link-posts": "~4.3 || >=4.3", 8 - "@mastodon/grouped-notifications": "~4.3 || >=4.3", 9 8 "@mastodon/annual-report": "~4.4 || >=4.4", 10 9 "@mastodon/endorsements": "~4.4 || >=4.4" 11 10 }
+72 -72
src/locales/en.po
··· 216 216 #: src/pages/catchup.jsx:72 217 217 #: src/pages/catchup.jsx:1450 218 218 #: src/pages/catchup.jsx:2073 219 - #: src/pages/settings.jsx:1201 219 + #: src/pages/settings.jsx:1198 220 220 msgid "Boosts" 221 221 msgstr "" 222 222 ··· 475 475 #: src/pages/list.jsx:302 476 476 #: src/pages/notifications.jsx:942 477 477 #: src/pages/scheduled-posts.jsx:259 478 - #: src/pages/settings.jsx:91 478 + #: src/pages/settings.jsx:90 479 479 #: src/pages/status.jsx:1392 480 480 msgid "Close" 481 481 msgstr "" ··· 729 729 730 730 #: src/components/compose.jsx:1273 731 731 #: src/components/status.jsx:96 732 - #: src/pages/settings.jsx:319 732 + #: src/pages/settings.jsx:318 733 733 msgid "Public" 734 734 msgstr "" 735 735 ··· 742 742 743 743 #: src/components/compose.jsx:1282 744 744 #: src/components/status.jsx:98 745 - #: src/pages/settings.jsx:322 745 + #: src/pages/settings.jsx:321 746 746 msgid "Unlisted" 747 747 msgstr "" 748 748 749 749 #: src/components/compose.jsx:1285 750 750 #: src/components/status.jsx:99 751 - #: src/pages/settings.jsx:325 751 + #: src/pages/settings.jsx:324 752 752 msgid "Followers only" 753 753 msgstr "" 754 754 ··· 998 998 msgstr "" 999 999 1000 1000 #: src/components/drafts.jsx:64 1001 - #: src/pages/settings.jsx:705 1001 + #: src/pages/settings.jsx:702 1002 1002 msgid "Unsent drafts" 1003 1003 msgstr "" 1004 1004 ··· 1412 1412 #: src/pages/home.jsx:240 1413 1413 #: src/pages/mentions.jsx:21 1414 1414 #: src/pages/mentions.jsx:174 1415 - #: src/pages/settings.jsx:1193 1415 + #: src/pages/settings.jsx:1190 1416 1416 #: src/pages/trending.jsx:384 1417 1417 msgid "Mentions" 1418 1418 msgstr "" ··· 1451 1451 #: src/pages/catchup.jsx:2067 1452 1452 #: src/pages/favourites.jsx:12 1453 1453 #: src/pages/favourites.jsx:26 1454 - #: src/pages/settings.jsx:1197 1454 + #: src/pages/settings.jsx:1194 1455 1455 msgid "Likes" 1456 1456 msgstr "" 1457 1457 ··· 2531 2531 msgstr "Quoting not allowed by the author." 2532 2532 2533 2533 #: src/components/timeline.jsx:485 2534 - #: src/pages/settings.jsx:1221 2534 + #: src/pages/settings.jsx:1218 2535 2535 msgid "New posts" 2536 2536 msgstr "" 2537 2537 ··· 3405 3405 msgstr "" 3406 3406 3407 3407 #: src/pages/notifications.jsx:681 3408 - #: src/pages/settings.jsx:1209 3408 + #: src/pages/settings.jsx:1206 3409 3409 msgid "Follow requests" 3410 3410 msgstr "" 3411 3411 ··· 3622 3622 msgid "Enter your search term or paste a URL above to get started." 3623 3623 msgstr "" 3624 3624 3625 - #: src/pages/settings.jsx:96 3625 + #: src/pages/settings.jsx:95 3626 3626 msgid "Settings" 3627 3627 msgstr "" 3628 3628 3629 - #: src/pages/settings.jsx:105 3629 + #: src/pages/settings.jsx:104 3630 3630 msgid "Appearance" 3631 3631 msgstr "" 3632 3632 3633 - #: src/pages/settings.jsx:181 3633 + #: src/pages/settings.jsx:180 3634 3634 msgid "Light" 3635 3635 msgstr "" 3636 3636 3637 - #: src/pages/settings.jsx:192 3637 + #: src/pages/settings.jsx:191 3638 3638 msgid "Dark" 3639 3639 msgstr "" 3640 3640 3641 - #: src/pages/settings.jsx:205 3641 + #: src/pages/settings.jsx:204 3642 3642 msgid "Auto" 3643 3643 msgstr "" 3644 3644 3645 - #: src/pages/settings.jsx:215 3645 + #: src/pages/settings.jsx:214 3646 3646 msgid "Text size" 3647 3647 msgstr "" 3648 3648 3649 3649 #. Preview of one character, in smallest size 3650 3650 #. Preview of one character, in largest size 3651 - #: src/pages/settings.jsx:220 3652 - #: src/pages/settings.jsx:245 3651 + #: src/pages/settings.jsx:219 3652 + #: src/pages/settings.jsx:244 3653 3653 msgid "A" 3654 3654 msgstr "" 3655 3655 3656 - #: src/pages/settings.jsx:259 3656 + #: src/pages/settings.jsx:258 3657 3657 msgid "Display language" 3658 3658 msgstr "" 3659 3659 3660 - #: src/pages/settings.jsx:268 3660 + #: src/pages/settings.jsx:267 3661 3661 msgid "Volunteer translations" 3662 3662 msgstr "Volunteer translations" 3663 3663 3664 - #: src/pages/settings.jsx:279 3664 + #: src/pages/settings.jsx:278 3665 3665 msgid "Posting" 3666 3666 msgstr "" 3667 3667 3668 - #: src/pages/settings.jsx:286 3668 + #: src/pages/settings.jsx:285 3669 3669 msgid "Default visibility" 3670 3670 msgstr "" 3671 3671 3672 - #: src/pages/settings.jsx:287 3673 - #: src/pages/settings.jsx:333 3672 + #: src/pages/settings.jsx:286 3673 + #: src/pages/settings.jsx:332 3674 3674 msgid "Synced" 3675 3675 msgstr "" 3676 3676 3677 - #: src/pages/settings.jsx:312 3677 + #: src/pages/settings.jsx:311 3678 3678 msgid "Failed to update posting privacy" 3679 3679 msgstr "" 3680 3680 3681 - #: src/pages/settings.jsx:335 3681 + #: src/pages/settings.jsx:334 3682 3682 msgid "Synced to your instance server's settings. <0>Go to your instance ({instance}) for more settings.</0>" 3683 3683 msgstr "" 3684 3684 3685 - #: src/pages/settings.jsx:350 3685 + #: src/pages/settings.jsx:349 3686 3686 msgid "Experiments" 3687 3687 msgstr "" 3688 3688 3689 - #: src/pages/settings.jsx:363 3689 + #: src/pages/settings.jsx:362 3690 3690 msgid "Auto refresh timeline posts" 3691 3691 msgstr "" 3692 3692 3693 - #: src/pages/settings.jsx:375 3693 + #: src/pages/settings.jsx:374 3694 3694 msgid "Boosts carousel" 3695 3695 msgstr "" 3696 3696 3697 - #: src/pages/settings.jsx:392 3697 + #: src/pages/settings.jsx:391 3698 3698 msgid "Post translation" 3699 3699 msgstr "" 3700 3700 3701 - #: src/pages/settings.jsx:403 3701 + #: src/pages/settings.jsx:402 3702 3702 msgid "Translate to " 3703 3703 msgstr "Translate to " 3704 3704 3705 - #: src/pages/settings.jsx:414 3705 + #: src/pages/settings.jsx:413 3706 3706 msgid "System language ({systemTargetLanguageText})" 3707 3707 msgstr "" 3708 3708 3709 3709 #. placeholder {0}: snapStates.settings.contentTranslationHideLanguages .length 3710 - #: src/pages/settings.jsx:440 3710 + #: src/pages/settings.jsx:439 3711 3711 msgid "{0, plural, =0 {Hide \"Translate\" button for:} other {Hide \"Translate\" button for (#):}}" 3712 3712 msgstr "" 3713 3713 3714 - #: src/pages/settings.jsx:495 3714 + #: src/pages/settings.jsx:494 3715 3715 msgid "Note: This feature uses external translation services, powered by <0>{TRANSLATION_API_NAME}</0>." 3716 3716 msgstr "Note: This feature uses external translation services, powered by <0>{TRANSLATION_API_NAME}</0>." 3717 3717 3718 - #: src/pages/settings.jsx:523 3718 + #: src/pages/settings.jsx:522 3719 3719 msgid "Auto inline translation" 3720 3720 msgstr "" 3721 3721 3722 - #: src/pages/settings.jsx:527 3722 + #: src/pages/settings.jsx:526 3723 3723 msgid "Automatically show translation for posts in timeline. Only works for <0>short</0> posts without content warning, media and poll." 3724 3724 msgstr "" 3725 3725 3726 - #: src/pages/settings.jsx:548 3726 + #: src/pages/settings.jsx:547 3727 3727 msgid "GIF Picker for composer" 3728 3728 msgstr "" 3729 3729 3730 - #: src/pages/settings.jsx:552 3730 + #: src/pages/settings.jsx:551 3731 3731 msgid "Note: This feature uses external GIF search service, powered by <0>GIPHY</0>. G-rated (suitable for viewing by all ages), tracking parameters are stripped, referrer information is omitted from requests, but search queries and IP address information will still reach their servers." 3732 3732 msgstr "" 3733 3733 3734 - #: src/pages/settings.jsx:581 3734 + #: src/pages/settings.jsx:580 3735 3735 msgid "Image description generator" 3736 3736 msgstr "" 3737 3737 3738 - #: src/pages/settings.jsx:586 3738 + #: src/pages/settings.jsx:585 3739 3739 msgid "Only for new images while composing new posts." 3740 3740 msgstr "" 3741 3741 3742 - #: src/pages/settings.jsx:593 3742 + #: src/pages/settings.jsx:592 3743 3743 msgid "Note: This feature uses external AI service, powered by <0>img-alt-api</0>. May not work well. Only for images and in English." 3744 3744 msgstr "" 3745 3745 3746 - #: src/pages/settings.jsx:621 3746 + #: src/pages/settings.jsx:618 3747 3747 msgid "Server-side grouped notifications" 3748 3748 msgstr "" 3749 3749 3750 - #: src/pages/settings.jsx:625 3750 + #: src/pages/settings.jsx:622 3751 3751 msgid "Alpha-stage feature. Potentially improved grouping window but basic grouping logic." 3752 3752 msgstr "" 3753 3753 3754 - #: src/pages/settings.jsx:646 3754 + #: src/pages/settings.jsx:643 3755 3755 msgid "\"Cloud\" import/export for shortcuts settings" 3756 3756 msgstr "" 3757 3757 3758 - #: src/pages/settings.jsx:651 3758 + #: src/pages/settings.jsx:648 3759 3759 msgid "⚠️⚠️⚠️ Very experimental.<0/>Stored in your own profile’s notes. Profile (private) notes are mainly used for other profiles, and hidden for own profile." 3760 3760 msgstr "" 3761 3761 3762 - #: src/pages/settings.jsx:662 3762 + #: src/pages/settings.jsx:659 3763 3763 msgid "Note: This feature uses currently-logged-in instance server API." 3764 3764 msgstr "" 3765 3765 3766 - #: src/pages/settings.jsx:679 3766 + #: src/pages/settings.jsx:676 3767 3767 msgid "Cloak mode <0>(<1>Text</1> → <2>████</2>)</0>" 3768 3768 msgstr "" 3769 3769 3770 - #: src/pages/settings.jsx:688 3770 + #: src/pages/settings.jsx:685 3771 3771 msgid "Replace text as blocks, useful when taking screenshots, for privacy reasons." 3772 3772 msgstr "" 3773 3773 3774 - #: src/pages/settings.jsx:713 3774 + #: src/pages/settings.jsx:710 3775 3775 msgid "About" 3776 3776 msgstr "" 3777 3777 3778 - #: src/pages/settings.jsx:752 3778 + #: src/pages/settings.jsx:749 3779 3779 msgid "<0>Built</0> by <1>@cheeaun</1>" 3780 3780 msgstr "" 3781 3781 3782 - #: src/pages/settings.jsx:781 3782 + #: src/pages/settings.jsx:778 3783 3783 msgid "Sponsor" 3784 3784 msgstr "" 3785 3785 3786 - #: src/pages/settings.jsx:789 3786 + #: src/pages/settings.jsx:786 3787 3787 msgid "Donate" 3788 3788 msgstr "Donate" 3789 3789 3790 - #: src/pages/settings.jsx:805 3790 + #: src/pages/settings.jsx:802 3791 3791 msgid "What's new" 3792 3792 msgstr "What's new" 3793 3793 3794 - #: src/pages/settings.jsx:809 3794 + #: src/pages/settings.jsx:806 3795 3795 msgid "Privacy Policy" 3796 3796 msgstr "" 3797 3797 3798 3798 #. placeholder {0}: WEBSITE.replace(/https?:\/\//g, '').replace(/\/$/, '') 3799 - #: src/pages/settings.jsx:816 3799 + #: src/pages/settings.jsx:813 3800 3800 msgid "<0>Site:</0> {0}" 3801 3801 msgstr "" 3802 3802 3803 3803 #. placeholder {0}: !__FAKE_COMMIT_HASH__ && ( <span class="ib insignificant"> ( <a href={`https://github.com/cheeaun/phanpy/commit/${__COMMIT_HASH__}`} target="_blank" rel="noopener" > <RelativeTime datetime={new Date(__BUILD_TIME__)} /> </a> ) </span> ) 3804 - #: src/pages/settings.jsx:823 3804 + #: src/pages/settings.jsx:820 3805 3805 msgid "<0>Version:</0> <1/> {0}" 3806 3806 msgstr "" 3807 3807 3808 - #: src/pages/settings.jsx:838 3808 + #: src/pages/settings.jsx:835 3809 3809 msgid "Version string copied" 3810 3810 msgstr "" 3811 3811 3812 - #: src/pages/settings.jsx:841 3812 + #: src/pages/settings.jsx:838 3813 3813 msgid "Unable to copy version string" 3814 3814 msgstr "" 3815 3815 3816 - #: src/pages/settings.jsx:1106 3817 - #: src/pages/settings.jsx:1111 3816 + #: src/pages/settings.jsx:1103 3817 + #: src/pages/settings.jsx:1108 3818 3818 msgid "Failed to update subscription. Please try again." 3819 3819 msgstr "" 3820 3820 3821 - #: src/pages/settings.jsx:1117 3821 + #: src/pages/settings.jsx:1114 3822 3822 msgid "Failed to remove subscription. Please try again." 3823 3823 msgstr "" 3824 3824 3825 - #: src/pages/settings.jsx:1124 3825 + #: src/pages/settings.jsx:1121 3826 3826 msgid "Push Notifications (beta)" 3827 3827 msgstr "" 3828 3828 3829 - #: src/pages/settings.jsx:1146 3829 + #: src/pages/settings.jsx:1143 3830 3830 msgid "Push notifications are blocked. Please enable them in your browser settings." 3831 3831 msgstr "" 3832 3832 3833 3833 #. placeholder {0}: [ { value: 'all', label: t`anyone`, }, { value: 'followed', label: t`people I follow`, }, { value: 'follower', label: t`followers`, }, ].map((type) => ( <option value={type.value}>{type.label}</option> )) 3834 - #: src/pages/settings.jsx:1155 3834 + #: src/pages/settings.jsx:1152 3835 3835 msgid "Allow from <0>{0}</0>" 3836 3836 msgstr "" 3837 3837 3838 - #: src/pages/settings.jsx:1164 3838 + #: src/pages/settings.jsx:1161 3839 3839 msgid "anyone" 3840 3840 msgstr "" 3841 3841 3842 - #: src/pages/settings.jsx:1168 3842 + #: src/pages/settings.jsx:1165 3843 3843 msgid "people I follow" 3844 3844 msgstr "" 3845 3845 3846 - #: src/pages/settings.jsx:1172 3846 + #: src/pages/settings.jsx:1169 3847 3847 msgid "followers" 3848 3848 msgstr "" 3849 3849 3850 - #: src/pages/settings.jsx:1205 3850 + #: src/pages/settings.jsx:1202 3851 3851 msgid "Follows" 3852 3852 msgstr "" 3853 3853 3854 - #: src/pages/settings.jsx:1213 3854 + #: src/pages/settings.jsx:1210 3855 3855 msgid "Polls" 3856 3856 msgstr "" 3857 3857 3858 - #: src/pages/settings.jsx:1217 3858 + #: src/pages/settings.jsx:1214 3859 3859 msgid "Post edits" 3860 3860 msgstr "" 3861 3861 3862 - #: src/pages/settings.jsx:1238 3862 + #: src/pages/settings.jsx:1235 3863 3863 msgid "Push permission was not granted since your last login. You'll need to <0><1>log in</1> again to grant push permission</0>." 3864 3864 msgstr "" 3865 3865 3866 - #: src/pages/settings.jsx:1254 3866 + #: src/pages/settings.jsx:1251 3867 3867 msgid "NOTE: Push notifications only work for <0>one account</0>." 3868 3868 msgstr "" 3869 3869
+2 -2
src/pages/notifications.jsx
··· 41 41 import showToast from '../utils/show-toast'; 42 42 import states, { saveStatus } from '../utils/states'; 43 43 import store from '../utils/store'; 44 - import { getCurrentInstance } from '../utils/store-utils'; 44 + import { getAPIVersions, getCurrentInstance } from '../utils/store-utils'; 45 45 import supports from '../utils/supports'; 46 46 import usePageVisibility from '../utils/usePageVisibility'; 47 47 import useScroll from '../utils/useScroll'; ··· 58 58 }; 59 59 60 60 const memSupportsGroupedNotifications = mem( 61 - () => supports('@mastodon/grouped-notifications'), 61 + () => getAPIVersions()?.mastodon >= 2, 62 62 { 63 63 maxAge: 1000 * 60 * 5, // 5 minutes 64 64 },
+23 -26
src/pages/settings.jsx
··· 25 25 import states from '../utils/states'; 26 26 import store from '../utils/store'; 27 27 import { getAPIVersions, getVapidKey } from '../utils/store-utils'; 28 - import supports from '../utils/supports'; 29 28 30 29 const DEFAULT_TEXT_SIZE = 16; 31 30 const TEXT_SIZES = [14, 15, 16, 17, 18, 19, 20]; ··· 605 604 </div> 606 605 </li> 607 606 )} 608 - {authenticated && 609 - supports('@mastodon/grouped-notifications') && 610 - getAPIVersions()?.mastodon >= 2 && ( 611 - <li class="block"> 612 - <label> 613 - <input 614 - type="checkbox" 615 - checked={snapStates.settings.groupedNotificationsAlpha} 616 - onChange={(e) => { 617 - states.settings.groupedNotificationsAlpha = 618 - e.target.checked; 619 - }} 620 - />{' '} 621 - <Trans>Server-side grouped notifications</Trans> 622 - </label> 623 - <div class="sub-section insignificant"> 624 - <small> 625 - <Trans> 626 - Alpha-stage feature. Potentially improved grouping 627 - window but basic grouping logic. 628 - </Trans> 629 - </small> 630 - </div> 631 - </li> 632 - )} 607 + {authenticated && getAPIVersions()?.mastodon >= 2 && ( 608 + <li class="block"> 609 + <label> 610 + <input 611 + type="checkbox" 612 + checked={snapStates.settings.groupedNotificationsAlpha} 613 + onChange={(e) => { 614 + states.settings.groupedNotificationsAlpha = 615 + e.target.checked; 616 + }} 617 + />{' '} 618 + <Trans>Server-side grouped notifications</Trans> 619 + </label> 620 + <div class="sub-section insignificant"> 621 + <small> 622 + <Trans> 623 + Alpha-stage feature. Potentially improved grouping window 624 + but basic grouping logic. 625 + </Trans> 626 + </small> 627 + </div> 628 + </li> 629 + )} 633 630 {authenticated && ( 634 631 <li class="block"> 635 632 <label>