mattgodbolt / owlet-editor

A modern BBC BASIC editor inspired by the BBC Micro Bot (https://bbcmicrobot.com)
https://bbcmic.ro
54 stars 4 forks source link

Handle badly-treated %s in URIs #103

Closed mattgodbolt closed 4 weeks ago

mattgodbolt commented 4 weeks ago

It seems Discord eats %25s in the output which leads to bad URLs containing n% etc


(was:) Clicking a link like: https://bbcmic.ro/#%7B%22v%22%3A1%2C%22program%22%3A%22REM%20I%20am%20link%20one%22%7D

and then another one like: https://bbcmic.ro/#%7B%22v%22%3A1%2C%22program%22%3A%22REM%20Link%20two%20here%22%7D

shows the same link as above. It seems the internal state of owlet overrides whatever the URL is encoding.

mattgodbolt commented 4 weeks ago

Hmmm But not always! I just repro'd it with admittedly different links than the above... will dig more

mattgodbolt commented 4 weeks ago

It's something specific to a URL I have (but can't share); not a general problem. Will close and debug locally.

mattgodbolt commented 4 weeks ago

Reopening; https://bbcmic.ro/#%7B%22v%22%3A1%2C%22program%22%3A%22MODE%201%5Cna%3DPI%2F256%3AREM%20angle%20per%20step%5Cnr%3D128%3AREM%20radius%5Cnsa%3DSINa%3AREM%20precalculate%20sin(a)%5Cns%3D0%3AREM%20initial%20position%5Cnv%3Dr%3AREM%20initial%20velocity%5CnFOR%20n%%3D0%20TO%20255%5CnGCOL%200%2C2%3APLOT69%2Cn%*4%2Cs*4%2B2%3AREM%20calculated%5CnGCOL%200%2C1%3APLOT69%2Cn%*4%2CSIN(a*n%)*r*4%2B2%3AREM%20actual%5Cnv%3Dv-s*sa%5Cns%3Ds%2Bv*sa%5CnNEXT%22%7D is the example that doesn't load, and @richtw1 sees "old data" from time to time too.

mattgodbolt commented 4 weeks ago

The state is invalid! It contains FORN%%30 which should have the first % escaped!

mattgodbolt commented 4 weeks ago

It seems that Discord is eating the %25 when it posts URLs !!

mattgodbolt commented 4 weeks ago

Filed a bug with Discord.