Skip to content

[Notifier][Telegram] Add escaping for slashes #51721

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 1 commit into from
Sep 24, 2023

Conversation

igrizzli
Copy link
Contributor

@igrizzli igrizzli commented Sep 22, 2023

Q A
Branch? 6.3
Bug fix? yes
New feature? no
Deprecations? no
Tickets
License MIT
Doc PR symfony/symfony-docs#...

If source message contains slash and reserved symbol after it Telegram handle escape incorrect.

Actual behavior:
Hello\World\{closure} will be escaped as Hello\World\\{closure\}

In TelegramTransport.php line 107:
                                                                                                                                                            
  [Symfony\Component\Notifier\Exception\TransportException]                                                                                                 
  Unable to post the Telegram message: Bad Request: can't parse entities: Character '{' is reserved and must be escaped with the preceding '\' (code 400).  
                                                                                                                                                            

Exception trace:
  at /app/vendor/symfony/telegram-notifier/TelegramTransport.php:107
 Symfony\Component\Notifier\Bridge\Telegram\TelegramTransport->doSend() at /app/vendor/symfony/notifier/Transport/AbstractTransport.php:80
 Symfony\Component\Notifier\Transport\AbstractTransport->send() at /app/vendor/symfony/notifier/Transport/Transports.php:60
 Symfony\Component\Notifier\Transport\Transports->send() at /app/vendor/symfony/notifier/Messenger/MessageHandler.php:32
 Symfony\Component\Notifier\Messenger\MessageHandler->__invoke() at /app/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:157
 Symfony\Component\Messenger\Middleware\HandleMessageMiddleware->callHandler() at /app/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:96
 Symfony\Component\Messenger\Middleware\HandleMessageMiddleware->handle() at /app/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php:77
 Symfony\Component\Messenger\Middleware\SendMessageMiddleware->handle() at /app/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php:34
 Symfony\Component\Messenger\Middleware\FailedMessageProcessingMiddleware->handle() at /app/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php:68
 Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware->handle() at /app/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php:41
 Symfony\Component\Messenger\Middleware\RejectRedeliveredMessageMiddleware->handle() at /app/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php:37
 Symfony\Component\Messenger\Middleware\AddBusNameStampMiddleware->handle() at /app/vendor/symfony/messenger/Middleware/TraceableMiddleware.php:40
 Symfony\Component\Messenger\Middleware\TraceableMiddleware->handle() at /app/vendor/symfony/messenger/MessageBus.php:70
 Symfony\Component\Messenger\MessageBus->dispatch() at /app/vendor/symfony/messenger/TraceableMessageBus.php:38
 Symfony\Component\Messenger\TraceableMessageBus->dispatch() at /app/vendor/symfony/notifier/Chatter.php:55

Expected behavior:
Slashes should be also escaped - Hello\\World\\\{closure\}

@igrizzli igrizzli force-pushed the notifier/fix-escape-slash branch from 4ab26c5 to 9a426ff Compare September 22, 2023 10:28
@carsonbot carsonbot changed the title [Notifier] Telegram Bridge add escaping for slashes Telegram Bridge add escaping for slashes Sep 22, 2023
@carsonbot carsonbot changed the title Telegram Bridge add escaping for slashes [Notifier] Telegram Bridge add escaping for slashes Sep 23, 2023
@OskarStark OskarStark changed the title [Notifier] Telegram Bridge add escaping for slashes [Notifier][Telegram] Add escaping for slashes Sep 23, 2023
@fabpot
Copy link
Member

fabpot commented Sep 24, 2023

Thank you @igrizzli.

@fabpot fabpot merged commit 4caaa2e into symfony:6.3 Sep 24, 2023
@nicolas-grekas nicolas-grekas added this to the 6.3 milestone Sep 25, 2023
@fabpot fabpot mentioned this pull request Sep 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants