Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
1b906ba
autocomplete: Cache normalized channel name words
sm-sayedi Feb 10, 2026
26b5bce
topics: Add Topics.latestMessageInChannelTopic
sm-sayedi Apr 3, 2026
77d504e
autocomplete [nfc]: Correct `shouldStop`'s dartdoc on when it completes
sm-sayedi Aug 21, 2026
db467c2
autocomplete: Add view-model TopicLinkAutocompleteView
sm-sayedi Feb 12, 2026
ff757ce
compose: Modify `channelLink` function to generate incomplete syntax
sm-sayedi Feb 12, 2026
125b0d7
compose: Introduce `topicLink` function
sm-sayedi Feb 16, 2026
6f51190
autocomplete [nfc]: Expand the comment on not requiring a collapsed s…
sm-sayedi Aug 17, 2026
dc39e7e
autocomplete: Simplify discarding autocomplete intent inside selection
sm-sayedi Feb 11, 2026
182b514
autocomplete [nfc]: Use named capture group in channel link intent regex
sm-sayedi May 1, 2026
4b1ed8e
autocomplete [nfc]: Correct a comment about text following _channelLi…
sm-sayedi May 1, 2026
3effc6e
autocomplete [nfc]: Add dartdoc to _channelLinkIntentRegex
sm-sayedi Aug 27, 2026
57025a4
autocomplete [nfc]: Make nameCharExclusions a top-level private constant
sm-sayedi Aug 27, 2026
b800c51
autocomplete: Detect topic link autocomplete intent
sm-sayedi Feb 12, 2026
8142362
autocomplete: Detect fallback topic link autocomplete intent
sm-sayedi Apr 6, 2026
147754c
autocomplete: Introduce `PendingTopicLinkAutocompleteFormatter`
sm-sayedi Apr 6, 2026
869ee87
icon: Add corner_down_right
sm-sayedi Feb 12, 2026
9a09123
autocomplete [nfc]: Add a TODO(#1805) for using language-appropriate …
sm-sayedi Aug 18, 2026
852c490
autocomplete: Finish topic link autocomplete for compose box
sm-sayedi Feb 12, 2026
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
Binary file modified assets/icons/ZulipIcons.ttf
Binary file not shown.
38 changes: 38 additions & 0 deletions assets/icons/corner_down_right.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions assets/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -1530,6 +1530,14 @@
"@wildcardMentionTopicDescription": {
"description": "Description for \"@topic\" wildcard-mention autocomplete options when writing a channel message."
},
"topicAutocompleteChannelOptionLabel": "(link to channel)",
"@topicAutocompleteChannelOptionLabel": {
"description": "Label for the topic autocomplete option representing the channel."
},
"topicAutocompleteNewOptionLabel": "New",
"@topicAutocompleteNewOptionLabel": {
"description": "Label for the topic autocomplete option matching the user's query when no exact topic exists."
},
"systemGroupNameEveryoneOnInternet": "Everyone on the internet",
"@systemGroupNameEveryoneOnInternet": {
"description": "Display name for the system group that includes everyone on the internet."
Expand Down
12 changes: 12 additions & 0 deletions lib/generated/l10n/zulip_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2220,6 +2220,18 @@ abstract class ZulipLocalizations {
/// **'Notify topic'**
String get wildcardMentionTopicDescription;

/// Label for the topic autocomplete option representing the channel.
///
/// In en, this message translates to:
/// **'(link to channel)'**
String get topicAutocompleteChannelOptionLabel;

/// Label for the topic autocomplete option matching the user's query when no exact topic exists.
///
/// In en, this message translates to:
/// **'New'**
String get topicAutocompleteNewOptionLabel;

/// Display name for the system group that includes everyone on the internet.
///
/// In en, this message translates to:
Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_ar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'إخطار الموضوع';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_de.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1313,6 +1313,12 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Thema benachrichtigen';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Jeder im Internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_el.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1282,6 +1282,12 @@ class ZulipLocalizationsEl extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_en.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_es.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1302,6 +1302,12 @@ class ZulipLocalizationsEs extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notificar tema';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Todo el mundo en Internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_et.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1297,6 +1297,12 @@ class ZulipLocalizationsEt extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_fr.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1320,6 +1320,12 @@ class ZulipLocalizationsFr extends ZulipLocalizations {
String get wildcardMentionTopicDescription =>
'Notifier les participants à cette conversation';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Tout le monde sur Internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_he.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsHe extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_hu.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsHu extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_hy.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsHy extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_it.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1307,6 +1307,12 @@ class ZulipLocalizationsIt extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notifica argomento';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Chiunque su internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_ja.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1253,6 +1253,12 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'トピック参加者に通知';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'インターネット上の全員';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_kk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsKk extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_lv.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsLv extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_nb.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_nn.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1285,6 +1285,12 @@ class ZulipLocalizationsNn extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Varsle emne';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Alle på Internett';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_pl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1299,6 +1299,12 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Powiadom w wątku';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_pt.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsPt extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_ru.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1314,6 +1314,12 @@ class ZulipLocalizationsRu extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Оповестить тему';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Все пользователи интернета';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_sk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1283,6 +1283,12 @@ class ZulipLocalizationsSk extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_sl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1319,6 +1319,12 @@ class ZulipLocalizationsSl extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Obvesti udeležence teme';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_so.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsSo extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_sv.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsSv extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_th.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsTh extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
6 changes: 6 additions & 0 deletions lib/generated/l10n/zulip_localizations_tr.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,12 @@ class ZulipLocalizationsTr extends ZulipLocalizations {
@override
String get wildcardMentionTopicDescription => 'Notify topic';

@override
String get topicAutocompleteChannelOptionLabel => '(link to channel)';

@override
String get topicAutocompleteNewOptionLabel => 'New';

@override
String get systemGroupNameEveryoneOnInternet => 'Everyone on the internet';

Expand Down
Loading
Loading