Skip to content

Commit 1f2367b

Browse files
committed
msglist: Support mark-read-on-scroll, configurably
This still needs tests. We're tracking this as #1583 for early post-launch. (The launch is coming up very soon.) Fixes: #81
1 parent 2cbb71d commit 1f2367b

29 files changed

+1909
-9
lines changed

assets/l10n/app_en.arb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -971,6 +971,30 @@
971971
"@initialAnchorSettingNewestAlways": {
972972
"description": "Label for a value of setting controlling initial anchor of message list."
973973
},
974+
"markReadOnScrollSettingTitle": "Mark messages as read on scroll",
975+
"@markReadOnScrollSettingTitle": {
976+
"description": "Title of setting controlling which message-list views should mark read on scroll."
977+
},
978+
"markReadOnScrollSettingDescription": "When scrolling through messages, should they automatically be marked as read?",
979+
"@markReadOnScrollSettingDescription": {
980+
"description": "Description of setting controlling which message-list views should mark read on scroll."
981+
},
982+
"markReadOnScrollSettingAlways": "Always",
983+
"@markReadOnScrollSettingAlways": {
984+
"description": "Label for a value of setting controlling which message-list views should mark read on scroll."
985+
},
986+
"markReadOnScrollSettingNever": "Never",
987+
"@markReadOnScrollSettingNever": {
988+
"description": "Label for a value of setting controlling which message-list views should mark read on scroll."
989+
},
990+
"markReadOnScrollSettingConversations": "Only in conversation views",
991+
"@markReadOnScrollSettingConversations": {
992+
"description": "Label for a value of setting controlling which message-list views should mark read on scroll."
993+
},
994+
"markReadOnScrollSettingConversationsDescription": "Messages will be automatically marked as read only when viewing a single topic or direct message conversation.",
995+
"@markReadOnScrollSettingConversationsDescription": {
996+
"description": "Description for a value of setting controlling which message-list views should mark read on scroll."
997+
},
974998
"experimentalFeatureSettingsPageTitle": "Experimental features",
975999
"@experimentalFeatureSettingsPageTitle": {
9761000
"description": "Title of settings page for experimental, in-development features"

lib/generated/l10n/zulip_localizations.dart

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,6 +1449,42 @@ abstract class ZulipLocalizations {
14491449
/// **'Newest message'**
14501450
String get initialAnchorSettingNewestAlways;
14511451

1452+
/// Title of setting controlling which message-list views should mark read on scroll.
1453+
///
1454+
/// In en, this message translates to:
1455+
/// **'Mark messages as read on scroll'**
1456+
String get markReadOnScrollSettingTitle;
1457+
1458+
/// Description of setting controlling which message-list views should mark read on scroll.
1459+
///
1460+
/// In en, this message translates to:
1461+
/// **'When scrolling through messages, should they automatically be marked as read?'**
1462+
String get markReadOnScrollSettingDescription;
1463+
1464+
/// Label for a value of setting controlling which message-list views should mark read on scroll.
1465+
///
1466+
/// In en, this message translates to:
1467+
/// **'Always'**
1468+
String get markReadOnScrollSettingAlways;
1469+
1470+
/// Label for a value of setting controlling which message-list views should mark read on scroll.
1471+
///
1472+
/// In en, this message translates to:
1473+
/// **'Never'**
1474+
String get markReadOnScrollSettingNever;
1475+
1476+
/// Label for a value of setting controlling which message-list views should mark read on scroll.
1477+
///
1478+
/// In en, this message translates to:
1479+
/// **'Only in conversation views'**
1480+
String get markReadOnScrollSettingConversations;
1481+
1482+
/// Description for a value of setting controlling which message-list views should mark read on scroll.
1483+
///
1484+
/// In en, this message translates to:
1485+
/// **'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.'**
1486+
String get markReadOnScrollSettingConversationsDescription;
1487+
14521488
/// Title of settings page for experimental, in-development features
14531489
///
14541490
/// In en, this message translates to:

lib/generated/l10n/zulip_localizations_ar.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,27 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
790790
@override
791791
String get initialAnchorSettingNewestAlways => 'Newest message';
792792

793+
@override
794+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
795+
796+
@override
797+
String get markReadOnScrollSettingDescription =>
798+
'When scrolling through messages, should they automatically be marked as read?';
799+
800+
@override
801+
String get markReadOnScrollSettingAlways => 'Always';
802+
803+
@override
804+
String get markReadOnScrollSettingNever => 'Never';
805+
806+
@override
807+
String get markReadOnScrollSettingConversations =>
808+
'Only in conversation views';
809+
810+
@override
811+
String get markReadOnScrollSettingConversationsDescription =>
812+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
813+
793814
@override
794815
String get experimentalFeatureSettingsPageTitle => 'Experimental features';
795816

lib/generated/l10n/zulip_localizations_de.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,27 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
790790
@override
791791
String get initialAnchorSettingNewestAlways => 'Newest message';
792792

793+
@override
794+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
795+
796+
@override
797+
String get markReadOnScrollSettingDescription =>
798+
'When scrolling through messages, should they automatically be marked as read?';
799+
800+
@override
801+
String get markReadOnScrollSettingAlways => 'Always';
802+
803+
@override
804+
String get markReadOnScrollSettingNever => 'Never';
805+
806+
@override
807+
String get markReadOnScrollSettingConversations =>
808+
'Only in conversation views';
809+
810+
@override
811+
String get markReadOnScrollSettingConversationsDescription =>
812+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
813+
793814
@override
794815
String get experimentalFeatureSettingsPageTitle => 'Experimental features';
795816

lib/generated/l10n/zulip_localizations_en.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,27 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
790790
@override
791791
String get initialAnchorSettingNewestAlways => 'Newest message';
792792

793+
@override
794+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
795+
796+
@override
797+
String get markReadOnScrollSettingDescription =>
798+
'When scrolling through messages, should they automatically be marked as read?';
799+
800+
@override
801+
String get markReadOnScrollSettingAlways => 'Always';
802+
803+
@override
804+
String get markReadOnScrollSettingNever => 'Never';
805+
806+
@override
807+
String get markReadOnScrollSettingConversations =>
808+
'Only in conversation views';
809+
810+
@override
811+
String get markReadOnScrollSettingConversationsDescription =>
812+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
813+
793814
@override
794815
String get experimentalFeatureSettingsPageTitle => 'Experimental features';
795816

lib/generated/l10n/zulip_localizations_it.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,27 @@ class ZulipLocalizationsIt extends ZulipLocalizations {
790790
@override
791791
String get initialAnchorSettingNewestAlways => 'Newest message';
792792

793+
@override
794+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
795+
796+
@override
797+
String get markReadOnScrollSettingDescription =>
798+
'When scrolling through messages, should they automatically be marked as read?';
799+
800+
@override
801+
String get markReadOnScrollSettingAlways => 'Always';
802+
803+
@override
804+
String get markReadOnScrollSettingNever => 'Never';
805+
806+
@override
807+
String get markReadOnScrollSettingConversations =>
808+
'Only in conversation views';
809+
810+
@override
811+
String get markReadOnScrollSettingConversationsDescription =>
812+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
813+
793814
@override
794815
String get experimentalFeatureSettingsPageTitle => 'Experimental features';
795816

lib/generated/l10n/zulip_localizations_ja.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,27 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
790790
@override
791791
String get initialAnchorSettingNewestAlways => 'Newest message';
792792

793+
@override
794+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
795+
796+
@override
797+
String get markReadOnScrollSettingDescription =>
798+
'When scrolling through messages, should they automatically be marked as read?';
799+
800+
@override
801+
String get markReadOnScrollSettingAlways => 'Always';
802+
803+
@override
804+
String get markReadOnScrollSettingNever => 'Never';
805+
806+
@override
807+
String get markReadOnScrollSettingConversations =>
808+
'Only in conversation views';
809+
810+
@override
811+
String get markReadOnScrollSettingConversationsDescription =>
812+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
813+
793814
@override
794815
String get experimentalFeatureSettingsPageTitle => 'Experimental features';
795816

lib/generated/l10n/zulip_localizations_nb.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,27 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
790790
@override
791791
String get initialAnchorSettingNewestAlways => 'Newest message';
792792

793+
@override
794+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
795+
796+
@override
797+
String get markReadOnScrollSettingDescription =>
798+
'When scrolling through messages, should they automatically be marked as read?';
799+
800+
@override
801+
String get markReadOnScrollSettingAlways => 'Always';
802+
803+
@override
804+
String get markReadOnScrollSettingNever => 'Never';
805+
806+
@override
807+
String get markReadOnScrollSettingConversations =>
808+
'Only in conversation views';
809+
810+
@override
811+
String get markReadOnScrollSettingConversationsDescription =>
812+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
813+
793814
@override
794815
String get experimentalFeatureSettingsPageTitle => 'Experimental features';
795816

lib/generated/l10n/zulip_localizations_pl.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -801,6 +801,27 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
801801
@override
802802
String get initialAnchorSettingNewestAlways => 'Newest message';
803803

804+
@override
805+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
806+
807+
@override
808+
String get markReadOnScrollSettingDescription =>
809+
'When scrolling through messages, should they automatically be marked as read?';
810+
811+
@override
812+
String get markReadOnScrollSettingAlways => 'Always';
813+
814+
@override
815+
String get markReadOnScrollSettingNever => 'Never';
816+
817+
@override
818+
String get markReadOnScrollSettingConversations =>
819+
'Only in conversation views';
820+
821+
@override
822+
String get markReadOnScrollSettingConversationsDescription =>
823+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
824+
804825
@override
805826
String get experimentalFeatureSettingsPageTitle => 'Funkcje eksperymentalne';
806827

lib/generated/l10n/zulip_localizations_ru.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,27 @@ class ZulipLocalizationsRu extends ZulipLocalizations {
804804
@override
805805
String get initialAnchorSettingNewestAlways => 'Newest message';
806806

807+
@override
808+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
809+
810+
@override
811+
String get markReadOnScrollSettingDescription =>
812+
'When scrolling through messages, should they automatically be marked as read?';
813+
814+
@override
815+
String get markReadOnScrollSettingAlways => 'Always';
816+
817+
@override
818+
String get markReadOnScrollSettingNever => 'Never';
819+
820+
@override
821+
String get markReadOnScrollSettingConversations =>
822+
'Only in conversation views';
823+
824+
@override
825+
String get markReadOnScrollSettingConversationsDescription =>
826+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
827+
807828
@override
808829
String get experimentalFeatureSettingsPageTitle =>
809830
'Экспериментальные функции';

lib/generated/l10n/zulip_localizations_sk.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,27 @@ class ZulipLocalizationsSk extends ZulipLocalizations {
792792
@override
793793
String get initialAnchorSettingNewestAlways => 'Newest message';
794794

795+
@override
796+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
797+
798+
@override
799+
String get markReadOnScrollSettingDescription =>
800+
'When scrolling through messages, should they automatically be marked as read?';
801+
802+
@override
803+
String get markReadOnScrollSettingAlways => 'Always';
804+
805+
@override
806+
String get markReadOnScrollSettingNever => 'Never';
807+
808+
@override
809+
String get markReadOnScrollSettingConversations =>
810+
'Only in conversation views';
811+
812+
@override
813+
String get markReadOnScrollSettingConversationsDescription =>
814+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
815+
795816
@override
796817
String get experimentalFeatureSettingsPageTitle => 'Experimental features';
797818

lib/generated/l10n/zulip_localizations_sl.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -812,6 +812,27 @@ class ZulipLocalizationsSl extends ZulipLocalizations {
812812
@override
813813
String get initialAnchorSettingNewestAlways => 'Newest message';
814814

815+
@override
816+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
817+
818+
@override
819+
String get markReadOnScrollSettingDescription =>
820+
'When scrolling through messages, should they automatically be marked as read?';
821+
822+
@override
823+
String get markReadOnScrollSettingAlways => 'Always';
824+
825+
@override
826+
String get markReadOnScrollSettingNever => 'Never';
827+
828+
@override
829+
String get markReadOnScrollSettingConversations =>
830+
'Only in conversation views';
831+
832+
@override
833+
String get markReadOnScrollSettingConversationsDescription =>
834+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
835+
815836
@override
816837
String get experimentalFeatureSettingsPageTitle => 'Eksperimentalne funkcije';
817838

lib/generated/l10n/zulip_localizations_uk.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -805,6 +805,27 @@ class ZulipLocalizationsUk extends ZulipLocalizations {
805805
@override
806806
String get initialAnchorSettingNewestAlways => 'Newest message';
807807

808+
@override
809+
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';
810+
811+
@override
812+
String get markReadOnScrollSettingDescription =>
813+
'When scrolling through messages, should they automatically be marked as read?';
814+
815+
@override
816+
String get markReadOnScrollSettingAlways => 'Always';
817+
818+
@override
819+
String get markReadOnScrollSettingNever => 'Never';
820+
821+
@override
822+
String get markReadOnScrollSettingConversations =>
823+
'Only in conversation views';
824+
825+
@override
826+
String get markReadOnScrollSettingConversationsDescription =>
827+
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';
828+
808829
@override
809830
String get experimentalFeatureSettingsPageTitle => 'Експериментальні функції';
810831

0 commit comments

Comments
 (0)