aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-01-08 20:27:07 +0300
committerlevlam <levlam@telegram.org>2026-01-08 20:27:07 +0300
commita96f805cab7105ddd7d5aba0201a2139aaf45049 (patch)
tree281078ca3e7919310e654ba8e52a105524342d7a
parentabf1f4a3b14b38a5aa138eb04919bde82f29e6e0 (diff)
Add td_api::settingsSectionPrivacyPolicy.
-rw-r--r--td/generate/scheme/td_api.tl5
-rw-r--r--td/telegram/LinkManager.cpp5
-rw-r--r--test/link.cpp7
3 files changed, 16 insertions, 1 deletions
diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl
index ff1c2e5b6..16b5c4c1a 100644
--- a/td/generate/scheme/td_api.tl
+++ b/td/generate/scheme/td_api.tl
@@ -8362,7 +8362,7 @@ settingsSectionMyToncoins = SettingsSection;
//-"pinned-messages", "reset", "web"
settingsSectionNotifications subsection:string = SettingsSection;
-//@description The Premium subscription section
+//@description The "Telegram Premium" section
settingsSectionPremium = SettingsSection;
//@description The privacy and security section @subsection Subsection of the section if any; may be one of
@@ -8385,6 +8385,9 @@ settingsSectionPremium = SettingsSection;
//-"data-settings/bot-settings", "data-settings/map-provider", "archive-and-mute"
settingsSectionPrivacyAndSecurity subsection:string = SettingsSection;
+//@description The "Privacy Policy" section
+settingsSectionPrivacyPolicy = SettingsSection;
+
//@class InternalLinkType @description Describes an internal https://t.me or tg: link, which must be processed by the application in a special way
diff --git a/td/telegram/LinkManager.cpp b/td/telegram/LinkManager.cpp
index a66026210..c82986875 100644
--- a/td/telegram/LinkManager.cpp
+++ b/td/telegram/LinkManager.cpp
@@ -1074,6 +1074,9 @@ class LinkManager::InternalLinkSettings final : public InternalLink {
}
return td_api::make_object<td_api::settingsSectionPrivacyAndSecurity>();
}
+ if (path_[0] == "privacy-policy") {
+ return td_api::make_object<td_api::settingsSectionPrivacyPolicy>();
+ }
if (path_[0] == "stars") {
return td_api::make_object<td_api::settingsSectionMyStars>();
}
@@ -3166,6 +3169,8 @@ Result<string> LinkManager::get_internal_link_impl(const td_api::InternalLinkTyp
}
return "tg://settings/privacy";
}
+ case td_api::settingsSectionPrivacyPolicy::ID:
+ return "tg://settings/privacy-policy";
default:
UNREACHABLE();
return "";
diff --git a/test/link.cpp b/test/link.cpp
index 2455c1ef1..62fcdf368 100644
--- a/test/link.cpp
+++ b/test/link.cpp
@@ -235,6 +235,10 @@ static auto privacy_and_security_settings(td::string subsection = td::string())
return settings(td::td_api::make_object<td::td_api::settingsSectionPrivacyAndSecurity>(subsection));
}
+static auto privacy_policy() {
+ return settings(td::td_api::make_object<td::td_api::settingsSectionPrivacyPolicy>());
+}
+
static auto target_chat_chosen(bool allow_users, bool allow_bots, bool allow_groups, bool allow_channels) {
return td::td_api::make_object<td::td_api::targetChatChosen>(
td::td_api::make_object<td::td_api::targetChatTypes>(allow_users, allow_bots, allow_groups, allow_channels));
@@ -1807,6 +1811,9 @@ TEST(Link, parse_internal_link_part4) {
parse_internal_link("tg://features", unknown_deep_link("tg://features"));
parse_internal_link("tg://settings/features", features());
+ parse_internal_link("tg://privacy-policy", unknown_deep_link("tg://privacy-policy"));
+ parse_internal_link("tg://settings/privacy-policy", privacy_policy());
+
parse_internal_link("tg://stars_topup", unknown_deep_link("tg://stars_topup"));
parse_internal_link("tg://stars_topup?balance=", unknown_deep_link("tg://stars_topup?balance="));
parse_internal_link("tg://stars_topup?balance=test", buy_stars(1, ""));