@movq@www.uninformativ.de hmm, I see the same on twtxt.app, and Yarnd. On twtxt.app:

On yarnd:

I’m starting to use the twtxt.app as my daily driver now as opposed to yarnd and my pod twtxt.met 🥳
Fixed the broken hashes in the Twtxt App (https://twtxt.app) 🥳 It was hashing your twts with a client-side timestamp the server never used 🤦♂️ Now it keeps the canonical created/hash the pod (or twtd) returns, and the GitHub/Gitea backends write a # url = preamble so every client hashes your feed the same way. Thanks @fastidious@tilde.town for the report 🙏
2027-07-07T18:05:37+00:00 but is always showing up as having been just posted now on twtd 🤔
@itsericwoodward@itsericwoodward.com good catch! I don’t think that was possibly done by twtxt.app, so the issue I had open on it on @aelaraji@aelaraji.com’s behalf is being closed. Thanks!
@aelaraji@aelaraji.com do not use twtxt.app yet. It has issues that @prologic@twtxt.net will fix soon.
@prologic@twtxt.net I linked you some of my findings on the twtxt.app on IRC. The main problem is the hashing. Totally broken. But you have got to give it some thought, because GitHub hosting of the feed is tricky (even more so if they are CNAMEing their domain to it). It is also finicky because Pages is auto-enabled on username.github.io, so actions must run each time you twt.
And if we can compile a list and file issues for feeds, twtxt.app and anything else as issues for when i get back 🙏 feature requests, bug reports. etc 🤞
Anyone using XMPP? I’ve been hearing a lot about how it is the OG messaging protocol. That G00gle Talk used to use it as a back-end, that FB messanger and w_hatsapp use some modified version of it or something; And that setting up a server (or even using a public one) would be a better alternative to the aforementioned apps, so I did. Now the question is: “Where the Fu__ are my video calls at!!? 🤣” … The protocol supports videoconferencing and I’m yet to find a decent Desktop/Mobile client that implements it. I wish I knew enough Code-Fu to contribute/help implement some, somewhere.
@bender@twtxt.net Haha! Thanks. The broken avatar was a Me and my Hotlinking policy problem, It should be fixed by now. And I Freaking love the twtxt.app by the way. Cheers!
@aelaraji@aelaraji.com wow, look who the cat dragged in! 😂 I was thinking about you just yesterday, when testing the twtxt.app, and seeing your avatar photo broken. And today, here you are! Nice to “see” you mate!
FYi 👋 I’m aware of an optimist precomputed hashing bug on the new twtxt.app 🤯 Trying to work with @bender@twtxt.net remotely on my vacation yo fix it 🤣
As an example, this is a thread @GabesArcade@gabesarcade.com’s Arcade@gabesarcade.com and @david@daiwei.me carried all on twtxt.app, no issues: https://twtxt.net/conv/r4uf52ggwseh
@movq@www.uninformativ.de I figure there is a bug somewhere, but where?

Congratulations! I am using twtxt.app, and it rocks!
Hmmm the Twtxt App isn’t grouping threads correctly 🧐
@prologic@twtxt.net Twtxt App looks great and is dead-simple to use. You’re on fire! 😅
Adding support for forking, forked conversations and navigating back to the root of a thread for the Twtxt App 🤞
lleeypvkzbw2? That Twt was never ingested by twtxt.net (and likely the search engine) so umm hmmm threading breaks 🤣
Oh if we’re talking about the twtxt.app client, that’s a different story. I still consider that alpha/beta quality. Lemme look into that. It has it’s own cache of course (using IndexDB) and it’s entirely possible some behaviours are still not quite right yet…
hmm some avatars not showing in the app still 😢
Hello everyone ! 👋 Behold I bring you (after many years) the launch of the Twtxt App 😅 – Ye, this is a Desktop and Mobile app built as a Progressive Web App (PWA) using a little framework (Swag) I put together iafter some experiments @xuu@txt.sour.is and I did in Go and HTMX and Service Workers.
The App is offline-first and supports installing to Desktop and Mobile (add to Home screen) and supports a number of publishing backends, including Yarn.social’s yarnd Pod, Github, Codeberg/Gitea, and a little tiny twtd Twtxt server (See: https://git.mills.io/yarnsocial/twtd).
Please try it out, no need for any account(s) or such, works with your existing feed(s) (as long as the publishing backends work well enough for you!). Please give me feedback! 🙏
Also, did you know the Twtxt Search Engine is back? 🎉
@GabesArcade@gabesarcade.com You mean the one I haven’t quite announced yet? https://twtxt.app ? 🤣
👋 mbox.blue now support custom domains you can point at your ~/public_html or ~/.mbox/expose app/service. Enjoy! 😉
@itsericwoodward@itsericwoodward.com Why hear? I’ll just put it up at https://twtxt.app now shall I? It’s good enough IMO that it’s already working quite well. The challenging parts now is to figure out a good set of default publishing connectors to support? 🤔
tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:
Getting the vim key bindings to work for focus switching in this modal dialog took me forever. Only cursors and (Shift+)Tab are supported out of the box. I absolutely understand that, it’s fine. I installed an input handler on the dialog, but the focus always stayed the same.
After two wasted hours, I was in despair to copy the tview.Modal into my own code base. Of course, I had to fix all the private tview field accesses first. But even installing the input handler directly on the buttons themselves did not work. Even though, the handler was definitely executed, the focus did not shift. Forcing redraws as a last resort also did not work.
Looking through all the messy chained input handling, I eventually stumbled across another place in the tview.Form, which is internally used by tview.Modal. This messed around with app focus receptions and input handlers. This gave me the idea to make the tview.Application refocus my modal dialog after I told the modal dialog which button to select. And would you look at that, this did the trick! I haven’t completely figured out what is going on exactly, but I could get rid of my Modal clone again.
I always go through hell with focus handling in tview. Each and every time. It just does not feel natural to me. Complete brainfuck to wrap my head around. The Urwid API felt sooo much more refined, it never was an issue. It just works. In fact, I cannot think of any other TUI library that has remotely the same pain level when it comes to focusing widgets as tview.
Now I’m curious how movwin deals with that. ;-)
Belhod! I present Swag – Build offline-first web apps in pure Go and HTML.
@prologic@twtxt.net Wow, thanks everyone for the kind words! 😊
In answer to @movq@www.uninformativ.de and @bender@twtxt.net: I’m sorry, it’s just the default camera app on my Samsung Galaxy S23 phone with the “Portrait” mode turned on. It’s a trick I learned from my wife, who used to work for a dog daycare and took pics of doggos for their FB page. It works well for humans, too. 😁
I’m thinking about making a simple flash card / spaced repetition app of some type. And I mean simple.
Typing this on stock Android 9 with the bootloader unlocked and Google apps disabled.
Deleted the Google Maps iPhone app. It started giving “Unsupported link” errors when clicking its own links. They still work in a browser
Looking at Moji, an Emoji-only Chat App ?~L~X https://thenewleafjournal.com/b/DxJ
Adicionada funcionalidade First Blood na app ctf, incluindo novo rank na app e website.
@bender@twtxt.net both, but neither directly. I know every workaround there is, including those used by developers, to test apps, while working on them. However if “sideloading” becomes so tedious, even the more technical users, cannot be bothered to do it, competing appstores and independent developers, not wanting to send their money and ID to Google, loose users at such rate, they likely won’t be able to justify continuing to maintain their projects, people like me rely on.
Hiked up to 老地方 today, and then took a side path which was craggy and empty. Heard creaking bamboo, and several 五色鳥 thanks to the Merlin app
@kiwu@twtxt.net Lately… A native mobile app for Salty.im 😅
👋 Looking for other interested folks to continue to evolve the development of Salty.im 🙏 I’ve been hard™ at work on the v2 branch and @doesnm.p.psf.lt@doesnm.p.psf.lt has been incredibly helpful so far. Be great ot have a few more folks to join us, some of the v2 highlights include:
- Double Ratchet by default.
- Group Chat (sender/client fan-out for now)
- Much better TUI with background agent.
- Mobile App coming soon™ (iOS in progress, Android next, same codebase)
App ctf atualizada para gerar ranking no formato html, disponível no site do Vaporhole.
App ctf atualizada para suportar todas as opções como parâmetros.
Discovered the Ghostty terminal app today, so I’ve set it up for accessing my OpenBSD VPS 8-)
App menu do Vaporhole atualizada com funcionalidades para admins gerirem mensagens de notice, + help.
Itch.io Outdated TOTP 2FA App Recommendations ?~L~X https://thenewleafjournal.com/b/Dsk
I’m trying to implement configurable key bindings in tt. Boy, is parsing the key names into tcell.EventKeys a horrible thing. This type consists of three information:
- maybe a predefined compound key sequence, like Ctrl+A
- maybe some modifiers, such as Shift, Ctrl, etc.
- maybe a rune if neither modifiers are present nor a predefined compound key exists
It’s hardcoded usage results in code like this:
func (t *TreeView[T]) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
switch event.Key() {
case tcell.KeyUp:
t.moveUp()
case tcell.KeyDown:
t.moveDown()
case tcell.KeyHome:
t.moveTop()
case tcell.KeyEnd:
t.moveBottom()
case tcell.KeyCtrlE:
t.moveScrollOffsetDown()
case tcell.KeyCtrlY:
t.moveScrollOffsetUp()
case tcell.KeyTab, tcell.KeyBacktab:
if t.finished != nil {
t.finished(event.Key())
}
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'k':
t.moveUp()
case 'j':
t.moveDown()
case 'g':
t.moveTop()
case 'G':
t.moveBottom()
}
}
}
})
}
This data structure is just awful to handle and especially initialize in my opinion. Some compound tcell.Keys are mapped to human-readable names in tcell.KeyNames. However, these names always use - to join modifiers, e.g. resulting in Ctrl-A, whereas tcell.EventKey.Name() produces +-delimited strings, e.g. Ctrl+A. Gnaarf, why this asymmetry!? O_o
I just checked k9s and they’re extending tcell.KeyNames with their own tcell.Key definitions like crazy: https://github.com/derailed/k9s/blob/master/internal/ui/key.go Then, they convert an original tcell.EventKey to tcell.Key: https://github.com/derailed/k9s/blob/b53f3091ca2d9ab963913b0d5e59376aea3f3e51/internal/ui/app.go#L287 This must be used when actually handling keyboard input: https://github.com/derailed/k9s/blob/e55083ba271eed6fc4014674890f70c5ed6c70e0/internal/ui/tree.go#L101
This seems to be much nicer to use. However, I fear this will break eventually. And it’s more fragile in general, because it’s rather easy to forget the conversion or one can get confused whether a certain key at hand is now an original tcell.Key coming from the library or an “extended” one.
I will see if I can find some other programs that provide configurable tcell key bindings.
I’m writing through Lagrange in my Secureblue with Cosmic! This GUI app rocks
@shinyoukai@neko.laidback.moe Do we now need ad filters in twtxt clients, too? O_o I hope not! Personally, I cannot stand the “Sent with my crappy $phone/$app” e-mail footers.
But congrats on your client. :-)
i’ve learned a lot of lessons from writing my notes app, gonna apply this to bbycll and refactor the code to make it way more legible cause my custom templating system is only kind of a giant mess
@prologic@twtxt.net my translator says conversations. An Jabber Droid app comes to mind.
@shinyoukai@neko.laidback.moe what app is that?
@prologic@twtxt.net The periodic blacklists updates will be done automatically in the background, as for the different processing mechanisms (rules, collections of rules, remediation …etc) you just install/add the pre-made ones from the hub and call it a day, they’ll get periodic updates when needed. But you could easily create and add your own in case you want to block or white-list a specific behavior
since there are quite literally no note taking apps that work for me, i’ve began writing my own! to get started real quick i adapted the core part of bbycll’s backend and it works so nicely — which speaks volumes to the quality of the code! should really break it out into a custom framework. i’m also realizing how easy it would be to get bbycll v1 ready…but this is probably more important since it’ll allow me to get my life in order ^^’
To everyone previously asking, what my (and other developers) endless complaining about Google, to both every EU body, with a form on their website and every relevant team at Google accomplished…
WE FUCKING WON!!!
“While security is crucial, we’ve also heard from developers and power users who have a higher risk tolerance and want the ability to download unverified apps.”
-source
I was also able to work with my new webhost, to bring back “🐕.fr.to” - everyones favorite vanity redirect domain, for my site, Googles changes to SSL warnings in Chrome, killed at the beginning of this year.
The lesson: I NEED TO COMPLAIN MORE