According to @esb.lol, if we publish the full textContent Bluesky will estimate the reading time: https://github.com/bluesky-social/atproto/discussions/4978#discussioncomment-17010931
Currently, we slice only the first 10,000 chars:
textContent: textContent?.slice(0, 10000),
Oh nice!! Yeah we can definitely bump this up. I just checked the spec and I didn't see a max length for that field.