Crash with demo article #79
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
renovate-bot
renovate-security
security
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
realaravinth/libmedium#79
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Clicked the demo article, got 500
I would guess medium is blocking digitalocean ips, but i haven't looked into it at all.
I've started getting the same error on my home IP I can (sometimes) view articles locally.
I think it's trying to pull GetPostLight in https://git.batsense.net/realaravinth/libmedium/src/branch/master/schemas/query.graphql:
The closest query I could find in a successful article load (warning long):
Wonder what's up with that.
Did they change their schema? Are they fingerprinting and rejecting queries? Is this rejecting clients who didn't pass a Cloudflare challenge at
cdn-cgi/challenge-platform/h/g/precursor/...?it's cloudflare.
err_safe.html (google says it's a WAF block?)
discussion on why at https://github.com/seanmonstar/reqwest/discussions/2227
it seems http2 is no longer present (always on?) and native-tls-alpn was integrated into regular native-tls (https://docs.rs/reqwest/latest/reqwest/). enabling
features = ["json", "native-tls"]did not fix the issue. Runningsamply record target/debug/libmediumshows stack traces referencing hyper. I'd say this means native-tls wasn't applied... except request's source code comments say default-tls "it currently usesnative-tls"... idkAdditionally it seems reqwest issues a http/1.1 request?
I tried:
and we successfully fetch over http2, but still error out. sigh.
it's not the user agent; Bruno without user agent succeeds yet Reqwest with UA fails.
curl
reqwest http1
actually logs website content! ...and fails anyway. despite the Cloudflare response having
Content-Type: application/json; charset=utf-8and a pile of data. i think it's a bug in our client somehow. Probably should debug it at some point...EDIT: i'm past the blocking period, but it seems browser user-agent without browser headers gets nuked? but curl still requires the browser UA to not get nuked...
I've assembled a working fork at https://git.batsense.net/nyanpasu64/libmedium/src/branch/fix (is your fingerprint SHA256:wUP77yJCCoTnbTu6LkYp2as3NzsZTIjfVWwllhcHkwY?).
I was able to successfully load /@wenting_zhang/getting-fluent-at-the-language-of-iconography-3415d03d0a8f. Though it does print a warning:
Strangely this caption appears in the JSON fetched by reqwest, and the DOM of the article at https://medium.com/@wenting_zhang/getting-fluent-at-the-language-of-iconography-3415d03d0a8f (
window.__APOLLO_STATE__), but not in the actual text or alt-text visible in the browser. I decided to silence it, but don't know if this is the official website's behavior for all pages....looking at this page I think Scribe had better typography. you failed to add space between the blockquote and headings, since normally
<p>handles margins but blockquotes lack them.EDIT: turns out Scribe uses tufte-css: