It seems codemirror-vim is maintained by replit and I should not be asking here. However I found their block cursor implementation is pretty straightforward, the text position is calculated by relying on
view.coordsAtPos, it seems doesn’t work very well on Safari.
Could you please check details described in this issue? [Bug] Block cursor text rendering issue on Safari · Issue #118 · replit/codemirror-vim · GitHub
I appreciate if you can think of something that might be related, thanks.