Add event-driven Telegram Web K chat profiles for Chrome

This commit is contained in:
agrynco committed 2026-11-06 10:26:42 +02:00
1 parent 15197da548
commit c18148a574
8 files changed
+197 -6

No files matched your search

+8
View File
@@ -14,6 +14,13 @@ void require(bool ok, const char *message)
}
void contextChecks()
{
require(ks::telegramWebKey(L"https://web.telegram.org/k/#@Example") == L"telegram-web\n@example", "Telegram Web username normalized");
require(ks::telegramWebKey(L"web.telegram.org/a/#-123456") == L"telegram-web\n-123456", "Telegram Web numeric peer");
for (const auto *url : {L"https://web.telegram.org/k/", L"https://web.telegram.org.evil/k/#@example",
L"http://web.telegram.org/k/#@example", L"https://evil/web.telegram.org/k/#@example",
L"https://web.telegram.org/k/#@example?foo", L"https://web.telegram.org/k/#@",
L"https://web.telegram.org/k/#-", L"https://web.telegram.org/k/#settings"})
require(ks::telegramWebKey(url).empty(), "Reject non-chat or untrusted Telegram Web URL");
const auto key = ks::chatKey(L"Telegram.exe", L"\u200eТестовий чат \u2013 (12)");
require(key == L"telegram\nТестовий чат", "Telegram unread suffix");
require(ks::chatKey(L"Telegram", L"Тестовий чат") == key, "stable unread profile");
@@ -28,6 +35,7 @@ void contextChecks()
settings.cycle = {L"win:04090409", L"win:04220422", L"win:04190419"};
settings.chatCycles[key] = {settings.cycle[1], settings.cycle[0]};
settings.chatCycles[L"viber\nТестовий контакт"] = {settings.cycle[1], settings.cycle[0]};
settings.chatCycles[L"telegram-web\n@example"] = {settings.cycle[0], settings.cycle[1]};
std::vector<ks::Layout> installed(3);
for (size_t i = 0; i < installed.size(); ++i)
{