# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 60813
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=55080
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=55180
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=54980
@bender Yeah I will! I don't really use Matrix much tbh
@bender Yeah I will! I don't really use Matrix much tbh
@lyse Haha 🀣
@lyse Haha 🀣
@lyse I'm so confused now 🀣
@lyse I'm so confused now 🀣
@movq me neither πŸ€¦β€β™‚οΈ
@movq me neither πŸ€¦β€β™‚οΈ
@bender Haha @lyse exaxrly! 🀣
@bender Haha @lyse exaxrly! 🀣
@eldersnake Like a "I'm on a public terminal" type thing? Which has the opposite effect? With some helpful descriptive text? πŸ€”
@eldersnake Like a "I'm on a public terminal" type thing? Which has the opposite effect? With some helpful descriptive text? πŸ€”
@eldersnake Oh! That's a bug and pure lack of "form validation!" πŸ˜… Thanks for pointing this out, I'll fix this tonight 🀞
@eldersnake Oh! That's a bug and pure lack of "form validation!" πŸ˜… Thanks for pointing this out, I'll fix this tonight 🀞
@bender I do! I think it's prologic:mills.io
@bender I do! I think it's prologic:mills.io
Can we trust the bots not to fake their identity? πŸ€”
Can we trust the bots not to fake their identity? πŸ€”
@aelaraji Hmmm looks like the core idea is to intercept requests, Inspect the UserAgent header and respond accordingly.
@aelaraji Hmmm looks like the core idea is to intercept requests, Inspect the UserAgent header and respond accordingly.
But what would you prefer if you were rethinking the architectural design of your next web app? A bazillion lines of Javascriptβ„’ with all kinds of indirections and acrobatics that are impossible to understand? πŸ€” -- Or just write your web application as a normal set of pages in the Hypermedia Driven Application (HDA) style/architecture, than sprinkle a few hx-* attributes and get the same user experience? πŸ˜… #htmx
But what would you prefer if you were rethinking the architectural design of your next web app? A bazillion lines of Javascriptβ„’ with all kinds of indirections and acrobatics that are impossible to understand? πŸ€” -- Or just write your web application as a normal set of pages in the Hypermedia Driven Application (HDA) style/architecture, than sprinkle a few hx-* attributes and get the same user experience? πŸ˜… #htmx
@aelaraji Yeah it's more along the lines of "everything sucks" at least a bit 🀣
@aelaraji Yeah it's more along the lines of "everything sucks" at least a bit 🀣
@lyse I'll buy that argument πŸ‘Œ
@lyse I'll buy that argument πŸ‘Œ
@lyse Can you get an AI to summarize this 🀣
@lyse Can you get an AI to summarize this 🀣
@bender Hmmm god question 🀣 @shreyan Can you tell @bender what my Matrix handle is 🀣
@bender Hmmm god question 🀣 @shreyan Can you tell @bender what my Matrix handle is 🀣
@lyse Yeah I'm not a fan of all this YouTube / Discord / Twitch studs 🀣 I was more interested in the presentation itself which is also covered by the cook

https://hypermedia.systems/
@lyse Yeah I'm not a fan of all this YouTube / Discord / Twitch studs 🀣 I was more interested in the presentation itself which is also covered by the cook

https://hypermedia.systems/
Haha yeah that video on htmx sucks is pretty funny really! 🀣 And no it obviously doesn't suck πŸ˜…
Haha yeah that video on htmx sucks is pretty funny really! 🀣 And no it obviously doesn't suck πŸ˜…
@lyse Haha, sadly no, that is the version number Firefox is up to 🀣
@lyse Haha, sadly no, that is the version number Firefox is up to 🀣
[Interview with Senior JS Developer 2024 [NEW] - YouTube](https://www.youtube.com/watch?v=aWfYxg-Ypm4) Bahahahahaha 🀣 So funny!
[Interview with Senior JS Developer 2024 [NEW] - YouTube](https://www.youtube.com/watch?v=aWfYxg-Ypm4) Bahahahahaha 🀣 So funny!
@lyse 10s rule? πŸ€”
@lyse 10s rule? πŸ€”
@movq True! Complexity Budget πŸ‘Œ
@movq True! Complexity Budget πŸ‘Œ
Creator of HTMX Talks HTMX - YouTube
Creator of HTMX Talks HTMX - YouTube
@eldersnake No worries! Any time πŸ€— Sorry it took this long to sort out, I'm not happy about how we did it (_work around et all_) but yeah if that's what we have to do, so be it 🀣
@eldersnake No worries! Any time πŸ€— Sorry it took this long to sort out, I'm not happy about how we did it (_work around et all_) but yeah if that's what we have to do, so be it 🀣
@movq Oh come now, this isn't the first Browser bug we've seen right? πŸ˜…
@movq Oh come now, this isn't the first Browser bug we've seen right? πŸ˜…
@eldersnake Good good πŸ‘
@eldersnake Good good πŸ‘
@eldersnake But not me against your pod, so that's even weirder right? πŸ€”
@eldersnake But not me against your pod, so that's even weirder right? πŸ€”
@movq You wouldn't believe it, but I'm pretty sure @eldersnake and I found a nasty little bug in Firefox 126.0.1 🀣
@movq You wouldn't believe it, but I'm pretty sure @eldersnake and I found a nasty little bug in Firefox 126.0.1 🀣
@eldersnake I just installed 127.0.1 (64-bit) tonight and tested and it worked just fine. Try upgrading and roll that commit back and see if it still repros? πŸ€” I'm almost willing to bet this is a bug πŸ›
@eldersnake I just installed 127.0.1 (64-bit) tonight and tested and it worked just fine. Try upgrading and roll that commit back and see if it still repros? πŸ€” I'm almost willing to bet this is a bug πŸ›
@eldersnake Test
@eldersnake Test
What browser and version is this btw? Not sure if you mentioned?
What browser and version is this btw? Not sure if you mentioned?
@eldersnake Fuck'n hell 🀣 This has to be a browser bug!
@eldersnake Fuck'n hell 🀣 This has to be a browser bug!
@eldersnake Looks legit πŸ‘Œ
@eldersnake Looks legit πŸ‘Œ
Okay just pushed:


* aa2f3ae9 - (HEAD -> main, origin/main) Workaround for this invalid Referer BS (6 seconds ago) <James Mills>
Okay just pushed:


* aa2f3ae9 - (HEAD -> main, origin/main) Workaround for this invalid Referer BS (6 seconds ago) <James Mills>
Should I just code in a work-around? If the Referer is /post then consider that total bullshit, and ignore? πŸ€”
Should I just code in a work-around? If the Referer is /post then consider that total bullshit, and ignore? πŸ€”
Why would a Web Browser set the Referer header incorrectly?! πŸ€”
Why would a Web Browser set the Referer header incorrectly?! πŸ€”
Can't reproduce with Iridium either.
Can't reproduce with Iridium either.
Can't reproduce with Firefox.
Can't reproduce with Firefox.
A initial post, reply and conv -> post (_bottom of page_) and nothing πŸ€” All 6 requests are POST /post followed by a GET <from> where ever I was coming from. Hmmm 🧐 This is nuts 🌰
A initial post, reply and conv -> post (_bottom of page_) and nothing πŸ€” All 6 requests are POST /post followed by a GET <from> where ever I was coming from. Hmmm 🧐 This is nuts 🌰
Test
Test
Test
Test
Test
Test
@eldersnake Yeah no worries!

You can see here, at least, htmx knows what the current URL is:


HX-Current-URL: https://we.loveprivacy.club/conv/vcpt7gq
Referer: https://we.loveprivacy.club/post


But the freak'n browser is setting the wrong value for Referer. There is simply no way to be on the /post endpoint normally anyway.
@eldersnake Yeah no worries!

You can see here, at least, htmx knows what the current URL is:


HX-Current-URL: https://we.loveprivacy.club/conv/vcpt7gq
Referer: https://we.loveprivacy.club/post


But the freak'n browser is setting the wrong value for Referer. There is simply no way to be on the /post endpoint normally anyway.
What Browser is this again? Does it happen with any other browser?
What Browser is this again? Does it happen with any other browser?
@eldersnake Ahh missed this. Fuck, that's just silliness and not right. wtf?!
@eldersnake Ahh missed this. Fuck, that's just silliness and not right. wtf?!
The POST /post XHR (_that is being run by htmx_) should never, ever be Referer: .../post πŸ€¦β€β™‚οΈ
The POST /post XHR (_that is being run by htmx_) should never, ever be Referer: .../post πŸ€¦β€β™‚οΈ
For example, this is what you *should* see:
For example, this is what you *should* see:
@eldersnake I mean on the POST /post request itself. That's the Referer that's looked up and used as the redirect.
@eldersnake I mean on the POST /post request itself. That's the Referer that's looked up and used as the redirect.
The only way this is possible is if the Referrer is /post and not / or /discover like it should be. Can we confirm/deny this if you inspect the POST /post requests? πŸ€”

See this code

g
if htmx.IsHTMX(r) {
  htmx.NewResponse().
  Location(RedirectRefererURL(r, s.config, "/")).
  Write(w)
} else {
  http.Redirect(w, r, RedirectRefererURL(r, s.config, "/"), http.StatusFound)
}
The only way this is possible is if the Referrer is /post and not / or /discover like it should be. Can we confirm/deny this if you inspect the POST /post requests? πŸ€”

See this code

g
\t\tif htmx.IsHTMX(r) {
\t\t\thtmx.NewResponse().
\t\t\t\tLocation(RedirectRefererURL(r, s.config, "/")).
\t\t\t\tWrite(w)
\t\t} else {
\t\t\thttp.Redirect(w, r, RedirectRefererURL(r, s.config, "/"), http.StatusFound)
\t\t}
The only way this is possible is if the Referrer is /post and not / or /discover like it should be. Can we confirm/deny this if you inspect the POST /post requests? πŸ€”

See this code

g
if htmx.IsHTMX(r) {
  htmx.NewResponse().
  Location(RedirectRefererURL(r, s.config, "/")).
  Write(w)
} else {
  http.Redirect(w, r, RedirectRefererURL(r, s.config, "/"), http.StatusFound)
}
There is only one explanation for this... Lemme see...
There is only one explanation for this... Lemme see...
Let's focus on this ☝️ how in da fuq is this happenning?!