Corregido: el botón de borrar no hacía nada al filtrar por tracker (reportado en qBittorrent)
Telegram rechaza el teclado entero con 400 BUTTON_DATA_INVALID en cuanto un botón supera los 64 bytes de callback_data, y edit_message solo registra ese fallo, así que la pantalla no cambiaba y el botón parecía muerto.
La confirmación llevaba el hash de 40 caracteres, el filtro y la página junto al comando confirmDelete: 61 bytes con un filtro de estado (por eso funcionaba desde el dashboard) pero 66 con un filtro por tracker, cuya clave es un id de contexto de 7 caracteres. Ahora viaja por un nav context, como ya hacían las pantallas de archivos y de mover: 22 bytes sea cual sea el filtro y la longitud del id del gestor.
Corregido: renameManual, que se pasaba por 1 byte con filtro por tracker y página de 3 dígitos. Mismo tratamiento.
Corregido: mensajes que se pasaban de 4096 caracteres — el mismo fallo silencioso por el otro límite. La pantalla de detalle de un pack de temporada con nombres al límite del sistema de ficheros llegaba a 5565 caracteres. Ahora se recortan por salto de línea, cerrando el HTML que quede abierto, y avisando de que se recortó.
Seguridad: una confirmación cuyo contexto ya no existe (incluidos los mensajes enviados por versiones anteriores) avisa en vez de actuar. Ningún botón viejo puede borrar ni renombrar nada tras actualizar.
Diagnóstico: build_call registra cualquier callback_data pasado de largo, en vez de dejar que Telegram lo rechace de forma opaca.
Nuevo test_callbacks.py: carga el bot contra un cliente falso y un Telegram falso que aplica los límites reales, y recorre todas las pantallas alcanzables desde el dashboard con tres perfiles de datos — 3615 pantallas, 0,7 s.
Full Changelog: v1.3.0...v1.3.1