(#tuizh4q) Iām clearly going to have to take a proper look at the code and get a feeling for the data architecture to understand this! From the outside I have to say if something as simple as ādisplay all of a userās postsā is impossible ā especially when a twtxt file is literally a list of all of a userās posts ā it feels like some very strange architectural choices must have been made⦠but I am also well aware that a lot of painstaking thought by very clever people has gone into this, and I havenāt even looked at the code, so donāt mind me š
(#2kj5qta) @carsten@yarn.zn80.net Yeah, I looked up at a bunch of Twitter UI redesigns on Behance and Dribbble to understand how they tried to āimproveā the app and took what felt nice to me for the #pwa
For me an ergonomic interface is very important and keeping in mind the various ways to use a touchscreen + the desktop interface, I kept the possibility of having multiple layouts to switch to the userās liking.
(#fe55h2a) @carsten@yarn.zn80.net I checked it too, seems that it has a m.request that use the old XMLHttpRequest but expose a fetch style API by wrapping it in a Promise.
That I can understand (though to the extent that I understand it, I think I disagree with it š). I was asking more about the technical barriers @mutefall@twtxt.net mentioned.
responses are provided from the cache
I see, so weāre taking about an architectural limitation in Yarn, rather than twtxt. Still, I know cache invalidation is famously hard, but surely an intentional page load from a user trying to view a feed that isnāt (fully) cached is about the best signal you could get to fetch that data from the origin? š¤
(#x6zqkha) @prologic@twtxt.net Hmm but if youāre self-hosting the bridges (the only option I think since they generally have to run on the same machine as the Matrix server) that man in the middle is yourself š
Of course you do have to trust the code, but itās all open source.
(#tuizh4q) @mutefall@twtxt.net@prologic@twtxt.net I donāt understand this answer at all from a technical perspective (leaving any philosophical arguments aside). A twtxt file is literally a flat file containing a list of all of a personās posts. Surely simply displaying all of that personās posts in Yarn should be the easiest possible thing to do, way easier than threading etc. Why would it require āinvesting heavily in infrastructureā or for the protocol to be āredesigned from the ground upā?
Iām guessing Iāve misunderstood what youāre saying; can you help me understand?
(#x6zqkha) @prologic@twtxt.net but if you used those external services directly without bridging, youād still have to trust all those things, right? Take, say, FB Messenger. Whether I ābridgeā it to Matrix or use Messenger directly, I have to ātrustā Facebook (ha ha, as if! š) Same for Signal, WhatsApp, IRC, or anything else you bridge to.
That said, I donāt really use bridging much; for the services I tried it for it was too much hassle making the bridge work for it to be worthwhile.
(#ooxps7q) @darch@twtxt.net Thatās my approach, yep š ā but I can also see @prologic@twtxt.netās argument that Matrix is over-engineered and current servers are resource hogs and (arguably) hard to get set upā¦
(#5pe3caq) @prologic@twtxt.net for real. Sounds like the whole meeting should have just consisted of them sharing that one piece of information, instead of buying it in vaguely reassuring filler text on a screen.
(#4uape5q) @prologic@twtxt.net I think thatās approximately what happens behind the scenes, it shouldnāt be visible on that easy to the end user, so I guess something else is going wrong⦠(or bad UI in the client youāre using?) š¤
(#4n4ppya) @prologic@twtxt.net Iām curious about this. Surely the implication of a twtxt file being self-hosted (unless youāre using someone elseās podā¦) is that I control its content; I can delete/edit what I want. Sure, someone else might have saved/cached it, but the same would apply to any web page: if itās on my server, I can delete the canonical version. Doesnāt mean every trace is immediately/permanently gone from the web, but any remaining cached versions are just outdated cache artifacts. Am I wrong?
(#t47rjwa) @movq@www.uninformativ.de thatās exactly what it means š
As for clients, I prefer SchildiChat myself, itās an Element fork with a few improvements. I find FluffyChat too basic, but then I never liked WhatsApp either, which I guess it what itās trying to imitate UI-wise.
(#rm3puaa) @prologic@twtxt.net Oh for sure. I just would prefer if the twtxt file could be consumed raw inasmuch as possible; that seems to me to be one of the main points of a raw text-based format vs something more structured. But as you say, this doesnāt really break that. As I say, a clever workaround to an annoying flaw in the original spec. š
(#pv7ouaq) @caesar@twtxt.net Yeah, Iāll probably be making some kind of toy project in Go to test it out and see how it fit me when empty handed. š
(#rm3puaa) @prologic@twtxt.net Ah cheers. Pity the original spec doesnāt allow real newlines, maybe with indentation or escaping a-la-Markdown to indicate continuation lines⦠but using \u2028 is a clever solution to working around that limitation.
(#pv7ouaq) @prologic@twtxt.net I love most of the modern Javascript syntax, including arrow functions (this doesnāt include JSX, which is not Javascript and I hate it š) but I do agree that terseness can go too far to the point of getting in the way of readability ā definitely an issue with Python IMO. Honestly the only good thing about Python in my opinion is the ecosystem, particularly for data science.
I do like Go from my very limited experience with it; I will definitely be using it more.
(#pv7ouaq) @prologic@twtxt.net Yeah, I was planning to try it myself in the future, thereās seems to be lot of other Python developers that made the switch for the same reason.
I prefer working on the frontend the most, but Iāll surely get my hands on it sooner or later. š
@prologic@twtxt.net how do newlines in twts work? I see they donāt show up in the raw twtxt.txt (in my browser at least). The twtxt spec seems (?) to forbid actual newlines, so Iām guessing you are using some sort of workaround specific to Yarn?