#dev 2023-05-09

2023-05-09 UTC
#
[tantek]
testing BridgyFed create/update race conditions. what happens if I post an Update (and webmention Bridgy Fed) before it is finished sending out the Create messages? does it queue and do both? does it live update the remaining creates to use the new update?
#
[KevinMarks]
[manton]++ for writing up the Bluesky integration code he was using as the official docs I could find were unhelpful data structure dumps
#
Loqi
[manton] has 27 karma in this channel over the last year (48 in all channels)
#
[tantek]
rapid create+update seemed to work fine on BridgyFed++
#
Loqi
BridgyFed has 5 karma in this channel over the last year (9 in all channels)
#
[KevinMarks]
[capjamesg] once you merge and deploy this fix, bsky.link will stop failing after 30 minutes. nect fix would be to check for actual expiration
geoffo, KMF and IWSlackGateway joined the channel
#
bkil
aaronpk rubenwardy [snarfed] : I know of a white label gratis PHP hosting provider who protects against spam, abuse and misuse of their web hosting offering by only serving web pages to a visitor who enables cookies and JavaScript and has a sort of tongue in cheek checking for it before first page load. That breaks most M2M interactions. Anyway, all such techniques basically try to do a form of browser detection to tell apart a bot coded by hand vs. one
#
bkil
puppeteer a full headless browser engine. It raises the bar, but not by much. There would be variations to this that worked without JavaScript but instead relied on just HTML5 itself or maybe sprinkled with a little CSS dynamic mechanisms to still remain zero-click.
#
bkil
[snarfed]: Thanks for the link about the `loop etiquette`! We should link it from the wiki as well. Not sure where to put it and cross link it from, though. Sounds somewhat related to yak shaving and these: https://indieweb.org/web_hosting#Is_using_3rd_party_hosting_still_indieweb https://indieweb.org/self_hosting https://indieweb.org/personal_cloud#Why https://indieweb.org/admin_tax https://indieweb.org/home_server
[tantek] joined the channel
#
bkil
[capjamesg]: How would you reimplement this without JavaScript? https://evy.garden/hello/ Generate a few hundred random permutations of pre-made styled `<audio>` elements. Make CSS that only reveals the first one initially. Generate CSS rules that reveal the next one after each click by :target selectors and manipulating the anchor with `<a href>`.
#
bkil
You can actually create a random number in CSS for the initial seed as well by creating a very fast animation that stops after you click on it.
#
bkil
And/or by asking the user to click on a "canvas" on start that in reality is composed of a huge number of radio buttons and the coordinates (button) would determine the seed. up to 10 bits of entropy would be plausible (1k buttons arranged in a 32x32 grid, partially randomly overlapping and more dense in the middle for a bit more uniform distribution).
pharonix71, [Ana_Rodrigues], ShoesNSocks, [jamietanna], holiday_medley and [KevinMarks] joined the channel
#
[KevinMarks]
[capjamesg] did you deploy my fix? Also, do you want more PR's as there was a bit more tidying up I could do.
#
capjamesg
The fix is live.
#
capjamesg
Feel free to file as many PRs as you would like!
#
capjamesg
I would like this tool to be the best it can be.
[jacky], cambridgeport90 and [snarfed] joined the channel
#
[snarfed]
[KevinMarks] out of curiosity, where did you see that bluesky access token expiration is 30m?
#
[KevinMarks]
I didn't change that, it was in James's original code. Switching to a "renew when token fails" would make more sense.
#
[snarfed]
hmm ok thx
#
[KevinMarks]
Manton said "Sessions do not last very long, only a couple hours last time I checked" in https://www.manton.org/2023/04/29/getting-started-with.html
[manton] joined the channel
#
[manton]
Yeah, it was 2 hours when I was testing. My logic is I call `com.atproto.server.getSession` before doing anything else to check the token. If it fails, I refresh the token and continue.
#
[manton]
I also retry posting if I got an “ExpiredToken” error, since in theory it could expire in between me calling `getSession` and posting.
#
[KevinMarks]
does that show up as a 401? I seemed to be getting 502 when I passed null tokens
geoffo joined the channel
#
IWDiscordRelay
<c​apjamesg#4492> Two hours sounds right.
[tw2113_Slack_] joined the channel
#
[manton]
My code doesn’t really care if it’s a 401 or 502… If it’s not 200, try to refresh the token.
#
[manton]
Personally I don’t understand the 2-hour limit. Should be at least a few days. Otherwise you’re just constantly refreshing the token.
#
[KevinMarks]
Feels like there should be a 304 in there somewhere meaning keep using what you have, but if that's how it's working we can do that.
gRegor, geoffo, gRegorLove_, gRegorLove__, KMF and jose_ joined the channel
#
capjamesg
[KevinMarks]++ for the bsky.link updates
#
Loqi
[KevinMarks] has 13 karma in this channel over the last year (47 in all channels)
#
capjamesg
It has been running all day reliably.
#
[KevinMarks]
That's encouraging - I'll have another look later on tonight
Ruxton joined the channel
#
capjamesg
[snarfed]++
#
Loqi
[snarfed] has 95 karma in this channel over the last year (151 in all channels)
#
capjamesg
Worth documenting on the wiki somewhere?
#
[snarfed]
really they need a wiki for the bluesky API itself, I can ask there
Ruxton joined the channel
#
capjamesg
That would be an amazing idea.
#
[KevinMarks]
they could rnable the github one
#
[snarfed]
[KevinMarks]++ good idea
#
Loqi
[KevinMarks] has 14 karma in this channel over the last year (48 in all channels)
gxt__, Gorro_Rojo[theyi and geoffo joined the channel