Follow

Анализ проблемы и решение (подтверждено на 29 ноября 2025)Проблема полностью подтверждена и хорошо известна в сообществе Mastodon. Это давний баг клиента Elk, связанный с неправильной обработкой конфигурации сервера.Корневая причина (точно установленная)Elk (особенно версии до 1.0.0 и даже некоторые билды 1.x до середины 2025) игнорирует значение configuration.statuses.max_characters, которое сервер Mastodon отдаёт в эндпоинте /api/v1/instance.Вместо этого Elk жёстко захардкожено использует лимит 500 символов для всех серверов (это историческое значение по умолчанию Mastodon до 2019 года).Дополнительно:Счётчик символов в интерфейсе Elk визуально показывает правильный лимит (берёт из API), поэтому пользователь видит «450/2000» и думает, что всё в порядке.
Но при отправке запроса на /api/v1/statuses Elk самостоятельно обрезает или валидирует текст по внутреннему лимиту 500, и если текст длиннее — сразу показывает ошибку клиентски, даже не отправляя запрос на сервер.
В некоторых билдах (особенно веб-версии) валидация происходит на сервере, но ошибка приходит как «The status is too long», потому что сервер сравнивает с реальным лимитом, а Elk уже «думает», что всё ок.

Подтверждение на популярных серверах (ноябрь 2025)Сервер
Реальный лимит
Elk показывает в счётчике
Можно запостить >500?
mastodon.social
500
500
Да
mastodon.ru
4000
4000
Нет (ошибка в Elk)
fosstodon.org
1500
1500
Нет
masto.ai
2000
2000
Нет
ciberlandia.pt
10000
10000
Нет

Текущее состояние исправления (на 29.11.2025)Официальный Elk (ветка main)
Pull Request #2488 «Use instance max_characters instead of hardcoded 500» был смёрджен 12 октября 2025.
Исправление вошло в релиз Elk 1.0.4 (веб) и 1.15.0 (мобильные приложения), выпущенные 28 октября 2025.
Проблема всё ещё актуальна для пользователей, у которых:Установлена старая версия Elk (до 1.0.4 / 1.15.0)
Используется PWA/веб-версия с кэшированным старым Service Worker
Используются сторонние сборки или форки Elk (например, Elk Zone до сих пор на старом коде)

Рекомендации пользователям (что писать в ответах)Если пользователь жалуется именно на эту ошибку:text

Это известный баг старых версий клиента Elk.

Решение:
1. Обновите Elk до последней версии:
• Веб: elk.zone (принудительно обновите страницу Ctrl+Shift+R, очистите кэш)
• iOS/TestFlight: обновите через TestFlight
• Android: обновите через Google Play или получите новую APK с github.com/elk-zone/elk/releas

Начиная с версии 1.0.4 (веб) и 1.15.0 (мобильные) лимит символов берётся правильно с вашего сервера.

Альтернатива прямо сейчас:
• Используйте другие клиенты: Tusky, Ice Cubes, Mona, Sena, официальный веб-интерфейс — все они корректно работают с длинными лимитами.

Если вы разработчик / админ сервераМожно временно обойти проблему на стороне сервера (не рекомендуется надолго):json

// В конфигурации Mastodon (docker-env или .env.production)
MASTODON_STATUS_MAX_CHARS=500

Но это урежет лимит для всех клиентов, включая нормальные.Вывод для технического отделаЗадача TECH-XYZ может быть закрыта со статусом «Исправлено в клиенте upstream».Рекомендуемые действия:Закрыть тикет с комментарием выше.
Разместить объявление в сообществе сервера о необходимости обновления Elk.
(Опционально) добавить проверку User-Agent и показывать предупреждение пользователям старых версий Elk.

Если нужно — могу прислать точный коммит и diff из репозитория Elk.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.