@thisismissem @jonny to clarify, are we talking about the polling approach, or the websocket?
Posts
-
alright, after like a year of halfheartedly trying on and off, #FetchAllReplies is pretty much finished - the problem of not being able to see all replies to a post is one of the largest complaints that people have with mastodon in particular but also ... -
alright, after like a year of halfheartedly trying on and off, #FetchAllReplies is pretty much finished - the problem of not being able to see all replies to a post is one of the largest complaints that people have with mastodon in particular but also ...@jonny @thisismissem fairness: should there be a per-user throttle so that we don’t have someone opening 100000 tabs and causing a bunch of work
(I’d argue that this endpoint may need to be authgated for that reason, to make it easier to throttle)
-
alright, after like a year of halfheartedly trying on and off, #FetchAllReplies is pretty much finished - the problem of not being able to see all replies to a post is one of the largest complaints that people have with mastodon in particular but also ...@thisismissem @jonny yeah. alas! my efficient websocket push
-
alright, after like a year of halfheartedly trying on and off, #FetchAllReplies is pretty much finished - the problem of not being able to see all replies to a post is one of the largest complaints that people have with mastodon in particular but also ...@thisismissem @jonny still waking up, but i was thinking of doing this near the distribution worker, actually. the uh, fan out service, i think?
so maybe it looks like:
"ThreadUpdates:#{PublicThreadRoot}:Public" -> public replies to thread with given PublicThreadRoot
"ThreadUpdates:#{PublicThreadRoot}:Unlisted” -> unlisted replies to thread with given PublicThreadRoot. may want to require “auth'd user for this instance” (not familiar with streaming)
"ThreadUpdates:#{PublicThreadRoot}:OutOfBand” -> management messages, i.e. a Resubscribe payload, and a Close payload (if that’s necessary?)but admittedly, yeah. this is starting to look less appealing versus polling. alas!
-
alright, after like a year of halfheartedly trying on and off, #FetchAllReplies is pretty much finished - the problem of not being able to see all replies to a post is one of the largest complaints that people have with mastodon in particular but also ...@thisismissem @jonny okay, so the solution that I was thinking:
- websocket event channel that exists solely to notify of an update to public / unlisted posts
reducing the scope to public/unlisted also reduces the ACL overhead to "is this incoming reply public/unlisted?”
not sure what's ideal for private/followers visibility thread roots, though; perhaps that could be a later patch
-
alright, after like a year of halfheartedly trying on and off, #FetchAllReplies is pretty much finished - the problem of not being able to see all replies to a post is one of the largest complaints that people have with mastodon in particular but also ...@jonny @thisismissem some of this feels like “it depends”. polling will be chattier, especially without connection reuse via H2/etc. websockets will make state management after disconnect a minor issue complexity wise
note that depending on implementation, polling may also incur the expense of a round trip vs half trip
-
https://fediversereport.com/last-week-in-fediverse-ep-84/@erincandescent @vyr @halcy but, y’know what it needs? Tanks. rolling armor for the full crush.
-
https://fediversereport.com/last-week-in-fediverse-ep-84/@erincandescent @vyr @halcy this is so terrible lol
this is objectively the worst, but I love it in its terror
it’s a real Robespierre of a proposal.
-
if anyone notices anything jank with this instance lmk@noah loooooool
-
Is there a prebuilt nginx container out there ready to go with Mastodon static files setup?@noah are you building your own images?
-
tier list of “DX" for writing tests:@erincandescent it’s bad, but writing tests feels nice
-
tier list of “DX" for writing tests:tier list of “DX" for writing tests:
- ruby: rspec: yes. absolutely wonderful, until you realize that you're writing ruby. this is a subtoot.*
- python: pytest, hypothesis. 'nuff said. fixtures are the best feature that nobody knows how to use T_T. the stdlib has mocking???
- kotlin: close race with python, but it somehow makes junit feel *nice*. mocking is neat- haskell: quickcheck(?) seems cool, but i lack experience.
- swift: idk. wrote a handful of tests, i guess
- rust/doctest: yes. nice.
- js/vitest: closure syntax feels awkward. may grow, but… yeah.- java: junit sucks
- rust/non-doctest: kinda sucks, compile time reflection would fix it (rust! it/its pronouns, clearly.)- go: somehow worse than rust, imho. better than c.
- C/C++: seriously what the heck- bash: wait, what. you actually test those???
- nixlang: is it even testable for the average user?*look, how many people here spite-write rails? anyway, unfortunately it's something that ill get good at eventually
-
we always would protest when being cajoled to smile in photos and like all things we never really connected it to straight-up not-being-white until relatively recently https://hachyderm.io/@lkanies/113128646066731963@atax1a ow, that image hurts to look at
and same. same.
-
summary of today: fixed some EC2-related bugs, found more EC2-related bugs@ariadne put them on the wall and pass them around
-
Statistically insignificant ActivityPub usage poll 1/5: how often do you look at your "home timeline"? (all your follows)@jrose server moderator georg unfortunately looks at local timeline and remote local timelines 1957384 times per hour
-
oh okay then@ireneista oh discord specifically has a form for it lol
-
now i’ve seen everything… #SeattleNatureWalk@ariadne oh I’ve seen those at uni events back when I attended those
-
ariadne here, excited to be almost done with a several week git bisect project@ariadne ow
-
My keyboards can now detect the operating system of the computer they're plugged into. Neat.@ryanc oooh
how’d you pull that off?
-
it's not that i prefer irc, it's just that our fedi instance was down today, i've been locked out of matrix for like 2 months now because element is shit and there aren't really any other serious entrants.@ariadne @dysfun yeah I accidentally started the compose stack with redis:latest instead of valkey, and then restared it with valkey
the redis:latest which has an incompatible rdb format change
fixable, just need to downtime tonight for maybe a minute (<1G of redis RDB, what could that possibly cost to parse)