browsh-org / browsh

A fully-modern text-based browser, rendering to TTY and browsers
https://www.brow.sh
GNU Lesser General Public License v2.1
17.02k stars 415 forks source link

Rendering sanity check #49

Open tobimensch opened 6 years ago

tobimensch commented 6 years ago

Unfortunately sometimes pages get rendered wrongly by browsh's webext.

To the human eye this is obvious with missing text or distorted graphics.

Browsh should try to perform a sanity check on the rendered output.

Red flags are:

you get:

|  b  |
  |   o  |
    |   x  |

If the sanity check fails, Browsh should not send anything to the client and instead try to rerender the page until it succeeds. If rerending fails n times, it should rather send a failure page/report to the client instead of corrupted renders.

It's better to prevent corrupted renders in the first place by fixing browsh's rendering mechanism. However I'm assuming this will not always be possible and therefore a sanity check would save the user's time and bandwith.

tombh commented 6 years ago

Can you give URLs for the examples poorly rendered text?

The only problem here that I know is solved be a page reload is the 'no text' one. So yes I agree that automatically detecting this and reloading would be a good solution, but I think the time spent coding that would be better spent on fixing the actual bug.

polyzium commented 4 years ago

Can confirm. @tombh https://polprog.net/ ELinks: image Browsh: image