Resolvido a bug do tamanho da mensagem, eu acho
o metodo getcaretPosition parou de servir do nada
eu tive que subistituir ele por getText().length, que agora parece que devera ter sido a primeira opção