#dev 2024-01-30

2024-01-30 UTC
aaronpk, geoffo, bterry, gRegorLove_, [0x3b0b], jeremy, kleb, gxt, alex1 and jacky joined the channel
#
[tantek]
[snarfed] new Bridgy backfeed technique? 😉 https://mastodon.social/@ChrisHardie/111842767174823116
#
Loqi
[preview] [Chris Hardie] People say content is being locked up in proprietary silos but look all I had to do to get an RSS feed of articles on a certain site was install a mitm proxy to intercept their mobile app's requests, fake an SSL certificate to inspect them, reverse e...
nickname, CB1, geoffo, tPoltergeist, monkeybeans, kody_, [Jo], Loqi, vikanezrimaya, Guest6 and gxt joined the channel
#
[snarfed]
[tantek]
#
[snarfed]
😁 ...also that's the spirit of what the Bridgy browser extension does, and it works, but it also gets people's accounts banned 😢
tPoltergeist and mro joined the channel
#
[tantek]
[snarfed] hah (re: img/comic). I need to write up a brainstorm for how to POSSE / backfeed using mitm intercepting of native (mobile) apps and then kick it over to Cory Doctorow to run with
GWG joined the channel
#
[snarfed]
usually you don't need to actually MITM real mobile apps. lots of people reverse engineer the "unofficial" APIs for various networks, eg IG and recently Threads have been popular for this, and sending requests from servers generally works fine. at worst you need to spoof User-Agent and maybe rotate IPs 😢
#
[campegg]
[snarfed] sorry to bother you (again!) but I'm trying to track down the source of some errors I'm getting when processing incoming BF webmentions. This is what I'm seeing:
#
[campegg]
is_verified, target_object, metadata = verify_webmention(
#
[campegg]
``` File "/var/www/dotcom/venv/lib/python3.11/site-packages/mentions/tasks/incoming/process.py", line 38, in process_incoming_webmention
#
[campegg]
^^^^^^^^^^^^^^^^^^
#
[campegg]
File "/var/www/dotcom/venv/lib/python3.11/site-packages/mentions/tasks/incoming/process.py", line 101, in verify_webmention
#
[campegg]
metadata = get_metadata_from_source(response_html, target_url, source_url)
#
[campegg]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#
[campegg]
File "/var/www/dotcom/venv/lib/python3.11/site-packages/mentions/tasks/incoming/remote.py", line 87, in get_metadata_from_source
#
[campegg]
hcard = coerce_hcard_absolute_urls(hcard, source_url)
#
[campegg]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#
[campegg]
File "/var/www/dotcom/venv/lib/python3.11/site-packages/mentions/tasks/incoming/remote.py", line 100, in coerce_hcard_absolute_urls
#
[campegg]
hcard.avatar = urljoin(source_url, hcard.avatar)
#
[campegg]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#
[campegg]
File "/usr/lib/python3.11/urllib/parse.py", line 547, in urljoin
#
[campegg]
base, url, _coerce_result = _coerce_args(base, url)
#
[campegg]
^^^^^^^^^^^^^^^^^^^^^^^
#
[campegg]
File "/usr/lib/python3.11/urllib/parse.py", line 130, in _coerce_args
#
[campegg]
raise TypeError("Cannot mix str and non-str arguments")
#
[campegg]
TypeError: Cannot mix str and non-str arguments```
#
[campegg]
For reference, I'm using `django-wm` to process webmentions on my site. These are the files referenced in the traceback above:
#
[campegg]
Both instances that I've received failed incoming webmentions from have been running Mastodon 4.1.4, if that makes a difference. I really don't know what to look at (or for) next and would appreciate any suggestions.
#
[snarfed]
hey [campegg]! hard for me to debug based on an internal stack trace from your site. looks like BF has gotten 2xxes for all of your recent wms: https://fed.brid.gy/web/campegg.com/notifications . based on "tasks" in the stack trace, I'm guessing you handle wms async?
#
[snarfed]
do you have a wm source URL from BF for any of these crashes?
#
[campegg]
Like these?
#
[snarfed]
yup thx
#
[campegg]
Sorry, formatting sucks:
#
Loqi
[preview] The Iconfactory
#
Loqi
[preview] [The Iconfactory] @cam Thanks for the support and for spreading the word! :)
#
Loqi
[preview] [The Iconfactory] likes this.
#
[snarfed]
looking at the mf2, and at that stack trace, I'd guess django-wm is choking on the composite values in the h-card photo property
#
[snarfed]
ie they're objects with value and alt instead of raw string URLs
#
[snarfed]
I expect django-wm uses mf2py, and they switched img alt support on by default in 2.0.1 back in Dec, https://github.com/microformats/mf2py/blob/main/CHANGELOG.md#201---2023-12-07 , so if your site upgraded mf2py recently, that's probably why. maybe file a bug w/django-wm or try to fix it there yourself?
shoesNso_ and gRegor joined the channel
#
[campegg]
[snarfed] thank you! Just so I'm clear, because mf2py now returns an object (dict?) instead of a string, and that's what django-wm is choking on? (i.e. it's expecting a string and getting an object?)
#
[snarfed]
*if* you recently upgraded mf2py to 2.x, then yes
#
[snarfed]
specifically for images with alt text, in the photo property
#
[campegg]
Great, thanks! Will file an issue (and probably mess about with it a bit as well)
#
[campegg]
And yes, I did upgrade (or at least mf2py was upgraded by a package I installed) to 2.0.1
#
[campegg]
[snarfed]++
#
Loqi
[snarfed] has 71 karma in this channel over the last year (121 in all channels)
#
[campegg]
[snarfed] thanks again! Downgrading to mf2py 1.1.3 worked
[benatwork] joined the channel
#
capjamesg[d]
How do I add a custom ligature to a font?
#
capjamesg[d]
I want the pe hybrid I linked in #indieweb-chat to be a thing.
CRISPR, [timothy_chambe], tPoltergeist and [jamietanna] joined the channel
#
[jamietanna]
[snarfed] any idea why https://www.jvt.me/mf2/2024/01/xwghg/ may not be showing up as a reply to the toot it's replying to?
#
[jamietanna]
(it was accidentally posted as a note, and then updated)
#
Loqi
[preview] [Jamie Tanna] I've seen some internally, but not externally, sorry - my own salary is public if that helps as a guide 🤞🏽
tPoltergeist, gxt and gRegor joined the channel
#
[snarfed]
[jamietanna] hmm! let's see. first time BF saw that post, 2024-01-30 22:01:45, it didn't see/parse an in-reply-to out of the HTML
tPoltergeist joined the channel
#
[snarfed]
same when it got the next wm at 22:09:38
#
[snarfed]
and it finally saw in in-reply-to when it got the next one at 22:21:32
#
[snarfed]
oh sorry I see that's what you meant
#
[snarfed]
I vaguely remember not having good luck when I tried to add an in-reply-to to a previously federated post without it
#
[snarfed]
ie receiving Mastodon instances ignored it
#
[snarfed]
BF did deliver an Update to https://tenforward.social/users/0xdariaj/inbox, with the inReplyTo, so that's my guess 😐
gRegorLove_, gRegorLove__ and Xe joined the channel