Skip to content

Implement mark-as-read-on-scroll, v1 #1574

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions assets/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -971,6 +971,30 @@
"@initialAnchorSettingNewestAlways": {
"description": "Label for a value of setting controlling initial anchor of message list."
},
"markReadOnScrollSettingTitle": "Mark messages as read on scroll",
"@markReadOnScrollSettingTitle": {
"description": "Title of setting controlling which message-list views should mark read on scroll."
},
"markReadOnScrollSettingDescription": "When scrolling through messages, should they automatically be marked as read?",
"@markReadOnScrollSettingDescription": {
"description": "Description of setting controlling which message-list views should mark read on scroll."
},
"markReadOnScrollSettingAlways": "Always",
"@markReadOnScrollSettingAlways": {
"description": "Label for a value of setting controlling which message-list views should mark read on scroll."
},
"markReadOnScrollSettingNever": "Never",
"@markReadOnScrollSettingNever": {
"description": "Label for a value of setting controlling which message-list views should mark read on scroll."
},
"markReadOnScrollSettingConversations": "Only in conversation views",
"@markReadOnScrollSettingConversations": {
"description": "Label for a value of setting controlling which message-list views should mark read on scroll."
},
"markReadOnScrollSettingConversationsDescription": "Messages will be automatically marked as read only when viewing a single topic or direct message conversation.",
"@markReadOnScrollSettingConversationsDescription": {
"description": "Description for a value of setting controlling which message-list views should mark read on scroll."
},
"experimentalFeatureSettingsPageTitle": "Experimental features",
"@experimentalFeatureSettingsPageTitle": {
"description": "Title of settings page for experimental, in-development features"
Expand Down
36 changes: 36 additions & 0 deletions lib/generated/l10n/zulip_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1449,6 +1449,42 @@ abstract class ZulipLocalizations {
/// **'Newest message'**
String get initialAnchorSettingNewestAlways;

/// Title of setting controlling which message-list views should mark read on scroll.
///
/// In en, this message translates to:
/// **'Mark messages as read on scroll'**
String get markReadOnScrollSettingTitle;

/// Description of setting controlling which message-list views should mark read on scroll.
///
/// In en, this message translates to:
/// **'When scrolling through messages, should they automatically be marked as read?'**
String get markReadOnScrollSettingDescription;

/// Label for a value of setting controlling which message-list views should mark read on scroll.
///
/// In en, this message translates to:
/// **'Always'**
String get markReadOnScrollSettingAlways;

/// Label for a value of setting controlling which message-list views should mark read on scroll.
///
/// In en, this message translates to:
/// **'Never'**
String get markReadOnScrollSettingNever;

/// Label for a value of setting controlling which message-list views should mark read on scroll.
///
/// In en, this message translates to:
/// **'Only in conversation views'**
String get markReadOnScrollSettingConversations;

/// Description for a value of setting controlling which message-list views should mark read on scroll.
///
/// In en, this message translates to:
/// **'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.'**
String get markReadOnScrollSettingConversationsDescription;

/// Title of settings page for experimental, in-development features
///
/// In en, this message translates to:
Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_ar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,27 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Experimental features';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_de.dart
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,27 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Experimental features';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_en.dart
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,27 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Experimental features';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_it.dart
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,27 @@ class ZulipLocalizationsIt extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Experimental features';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_ja.dart
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,27 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Experimental features';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_nb.dart
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,27 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Experimental features';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_pl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,27 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Funkcje eksperymentalne';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_ru.dart
Original file line number Diff line number Diff line change
Expand Up @@ -804,6 +804,27 @@ class ZulipLocalizationsRu extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle =>
'Экспериментальные функции';
Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_sk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -792,6 +792,27 @@ class ZulipLocalizationsSk extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Experimental features';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_sl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -812,6 +812,27 @@ class ZulipLocalizationsSl extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Eksperimentalne funkcije';

Expand Down
21 changes: 21 additions & 0 deletions lib/generated/l10n/zulip_localizations_uk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,27 @@ class ZulipLocalizationsUk extends ZulipLocalizations {
@override
String get initialAnchorSettingNewestAlways => 'Newest message';

@override
String get markReadOnScrollSettingTitle => 'Mark messages as read on scroll';

@override
String get markReadOnScrollSettingDescription =>
'When scrolling through messages, should they automatically be marked as read?';

@override
String get markReadOnScrollSettingAlways => 'Always';

@override
String get markReadOnScrollSettingNever => 'Never';

@override
String get markReadOnScrollSettingConversations =>
'Only in conversation views';

@override
String get markReadOnScrollSettingConversationsDescription =>
'Messages will be automatically marked as read only when viewing a single topic or direct message conversation.';

@override
String get experimentalFeatureSettingsPageTitle => 'Експериментальні функції';

Expand Down
Loading