mirror of
https://github.com/only-cli/oc.git
synced 2026-09-15 10:40:56 +02:00
Testing the 0.3.0-beta.1 build against live URLs turned up a gap the beta notes claimed was closed: only the native-fetch path checked the content type, and impers is the default whenever the optional dependency installs. So 'oc open' on a PNG rendered eight kilobytes of mojibake as a page, with numbered blocks, an actions footer, and a straight face. The check now lives in one exported assertReadableType that both transports call, so a refusal cannot depend on which client happened to get the page. While the gate was being written down it also grew a correct allow list. The old one matched the substring html, xml, or json anywhere in the header, which let application/vnd.ms-htmlhelp through and, worse, refused text/plain: a robots.txt or an llms.txt is exactly the kind of small text file an agent asks for, and the fetch path was answering that it was not a page. Readable now means any text/* type plus the application/* types that are really text, including the +json and +xml families a feed answers with. A missing header stays readable, since small servers omit it and the page behind it is fine. Tested offline against the header strings themselves rather than the network.