From 558483ef442403b7030827792a0ddd2988c7a1ca Mon Sep 17 00:00:00 2001 From: Vladimir Bryzgalov Date: Fri, 17 Apr 2026 22:04:15 +0500 Subject: [PATCH] docs: fix punycode example and regex delimiter in plan/spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - xn--80aafmakjldfe1b5h.xn--p1ai decodes to "алквзелчкоеиа.рф", not "вашаняня.рф". Correct Punycode for "вашаняня.рф" is xn--80aae0ca7d8bb.xn--p1ai. Updated plan Task 2 test and spec §9. - DomainFormatter strip-path regex '#[/?#].*$#' had the '#' delimiter colliding with the literal '#' inside the character class. Switched to tilde delimiters: '~[/?#].*$~'. Both caught by TDD RED/GREEN loop on Task 3. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/superpowers/plans/2026-04-17-cf7-spam-to-telegram.md | 4 ++-- .../specs/2026-04-17-cf7-spam-to-telegram-design.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/superpowers/plans/2026-04-17-cf7-spam-to-telegram.md b/docs/superpowers/plans/2026-04-17-cf7-spam-to-telegram.md index f633643..6b8cce0 100644 --- a/docs/superpowers/plans/2026-04-17-cf7-spam-to-telegram.md +++ b/docs/superpowers/plans/2026-04-17-cf7-spam-to-telegram.md @@ -207,7 +207,7 @@ final class DomainFormatterTest extends TestCase { self::assertSame( 'вашаняня.рф', - DomainFormatter::humanize('xn--80aafmakjldfe1b5h.xn--p1ai') + DomainFormatter::humanize('xn--80aae0ca7d8bb.xn--p1ai') ); } @@ -284,7 +284,7 @@ final class DomainFormatter $host = $parsed['host'] ?? $host; } // Strip any remaining path/query - $host = preg_replace('#[/?#].*$#', '', $host) ?? $host; + $host = preg_replace('~[/?#].*$~', '', $host) ?? $host; // Strip leading www. $host = preg_replace('/^www\./i', '', $host) ?? $host; diff --git a/docs/superpowers/specs/2026-04-17-cf7-spam-to-telegram-design.md b/docs/superpowers/specs/2026-04-17-cf7-spam-to-telegram-design.md index 9558c31..ba06255 100644 --- a/docs/superpowers/specs/2026-04-17-cf7-spam-to-telegram-design.md +++ b/docs/superpowers/specs/2026-04-17-cf7-spam-to-telegram-design.md @@ -251,7 +251,7 @@ apply_filters('cf7stg_classifier_thresholds', ['client' => 3, 'spam' => -2]); - Если распарсился валидный RU-телефон — одна кнопка `"📞 Позвонить: {phone_formatted}"` → `url: "tel:{e164}"`. - Без телефона — `reply_markup = null` (кнопок нет). -**Site title:** `Settings::get_site_title()` возвращает либо оверрайд из настроек, либо декодированный через `idn_to_utf8()` host из `home_url()`. Например, `xn--80aafmakjldfe1b5h.xn--p1ai` → `вашаняня.рф`. +**Site title:** `Settings::get_site_title()` возвращает либо оверрайд из настроек, либо декодированный через `idn_to_utf8()` host из `home_url()`. Например, `xn--80aae0ca7d8bb.xn--p1ai` → `вашаняня.рф`. ## 10. Ретроспективная выгрузка