Two follow-up fixes from the code review:
1. **Unified lock key for markAsDisconnected / markAsTokenExpired.**
Both methods now use `social_account_status:{id}` instead of
different keys. Prevents the race where `markAsDisconnected` and
`markAsTokenExpired` could run concurrently on the same account
(publish-time vs verify-batch-time), causing overlapping updates and
duplicate notifications.
2. **i18n for notification title/body in markAsTokenExpired and
markAsDisconnected.** Strings were previously hardcoded in English.
Added `notifications.account_disconnected.{title,body}` and
`notifications.account_token_expired.{title,body}` in en, pt-BR, es.
Follows the project convention (e.g. `Mail/PostPublished`) of
concatenating the `@` prefix in PHP before passing the username to
the translation placeholder, instead of putting `@:account` in the
lang file.
18 lines
533 B
PHP
18 lines
533 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
'post_ready' => [
|
|
'title' => 'Tu publicación está lista',
|
|
'body' => 'La IA terminó. Toca para revisar y publicar.',
|
|
],
|
|
'account_disconnected' => [
|
|
'title' => 'Cuenta de :platform desconectada',
|
|
'body' => ':account necesita reconectarse',
|
|
],
|
|
'account_token_expired' => [
|
|
'title' => 'Cuenta de :platform necesita reconectarse',
|
|
'body' => 'La sesión de :account expiró — reconéctala para seguir publicando',
|
|
],
|
|
];
|