# 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 61083
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=36891
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=36991
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=36791
@eaplmx I _think_ we can just provide all variants of the content; We already do anyway. We provide the original twt content and markdown, so no reason we can't add some additional cycles on the server-side / api-side and just do the rendering...
@eaplmx I _think_ we can just provide all variants of the content; We already do anyway. We provide the original twt content and markdown, so no reason we can't add some additional cycles on the server-side / api-side and just do the rendering...
@dendiz I _think_ its probably fine to just add the option to "declare" a FeedType on User Accounts on pods and Feeds (personas) -- And just let the community deal with this. I I add this feature today/tomorrow for example, would you update your feeds appropriately? πŸ˜… It would basically mean I can remove the "shadow ban" (on my pod) and let the software deal with the "categorisation" automatically.
@dendiz I _think_ its probably fine to just add the option to "declare" a FeedType on User Accounts on pods and Feeds (personas) -- And just let the community deal with this. I I add this feature today/tomorrow for example, would you update your feeds appropriately? πŸ˜… It would basically mean I can remove the "shadow ban" (on my pod) and let the software deal with the "categorisation" automatically.
@dendiz Ahh no need to stop your script(s) -- I already shadow banned them for my pod, as it was cluttering up my pod's "Discover" view πŸ˜… -- So... If these are just "real" user accounts on your Pod and you're just scripting (via Python) against the API I _think_ this is fine. I can only see one way out of this mess in terms of automating the process, that is to add a User Setting / Fee Setting that lets you define the type of feed, one of (currently) rss or bot. Does this sound reasonable to you? The only problem I see though is I can see this happening again due to lack of documentation or just whatever, so I'm kind of wondering how to make the process of "automated feeds" even easier and more obvious without cluttering up views intended not to have bots and automated feeds? πŸ€”
@dendiz Ahh no need to stop your script(s) -- I already shadow banned them for my pod, as it was cluttering up my pod's "Discover" view πŸ˜… -- So... If these are just "real" user accounts on your Pod and you're just scripting (via Python) against the API I _think_ this is fine. I can only see one way out of this mess in terms of automating the process, that is to add a User Setting / Fee Setting that lets you define the type of feed, one of (currently) rss or bot. Does this sound reasonable to you? The only problem I see though is I can see this happening again due to lack of documentation or just whatever, so I'm kind of wondering how to make the process of "automated feeds" even easier and more obvious without cluttering up views intended not to have bots and automated feeds? πŸ€”
@justamoment I think I agree with you. And by "pre-compiled" do you mean just hand API clients the HTML they _should_ render and do all the rendering work server-side anyway and reuse all the same logic? (_I also think this is better for consistency's sake_)
@justamoment I think I agree with you. And by "pre-compiled" do you mean just hand API clients the HTML they _should_ render and do all the rendering work server-side anyway and reuse all the same logic? (_I also think this is better for consistency's sake_)
πŸ₯³ Woohoo the v0.15 milestone is done πŸ₯³ -- I just hope we haven't caused/broken anything major or caused any regressions πŸ˜…

Hopefully will cut the yarnd v0.15 release today 🀞
πŸ₯³ Woohoo the v0.15 milestone is done πŸ₯³ -- I just hope we haven't caused/broken anything major or caused any regressions πŸ˜…

Hopefully will cut the yarnd v0.15 release today 🀞
Reminder that in ~40ms from this post at 5am UTC we will be holding a video call for Yarn.social at https://meet.jit.si/Yarn.social Anyone is welcome to come and discuss your ideas and share interesting other topics we often cover πŸ˜…~
Reminder that in ~40ms from this post at 5am UTC we will be holding a video call for Yarn.social at https://meet.jit.si/Yarn.social Anyone is welcome to come and discuss your ideas and share interesting other topics we often cover πŸ˜…~
@aryak Congrats πŸ₯³
@aryak Congrats πŸ₯³
@dendiz Unfoetunately you can't set Feed Type on personas (yet) but we should probably add that...

How are you generating these posts now?
@dendiz Unfoetunately you can't set Feed Type on personas (yet) but we should probably add that...

How are you generating these posts now?
@dendiz So this is a bit tricky. Yarn.social is based on Twtxt. Therefore feeds are expected to be published and hosted on public servers of some kind (supported are Gopher, Gemini and HTTP).

The only way to be private / invisible is blacklist the world and be dark or password protect feeds.

I have to ask though... What is your use-case here? What are you trying to solve? πŸ€”

We have toyed with the idea of encrypted feeds but it hasn't taken off so far...
@dendiz So this is a bit tricky. Yarn.social is based on Twtxt. Therefore feeds are expected to be published and hosted on public servers of some kind (supported are Gopher, Gemini and HTTP).

The only way to be private / invisible is blacklist the world and be dark or password protect feeds.

I have to ask though... What is your use-case here? What are you trying to solve? πŸ€”

We have toyed with the idea of encrypted feeds but it hasn't taken off so far...
@dendiz Hmmm cross origin. problem?
@dendiz Hmmm cross origin. problem?
@eaplmx Why don't I just setup another call some hours later so it is Saturday for you? πŸ˜…
@eaplmx Why don't I just setup another call some hours later so it is Saturday for you? πŸ˜…
I kid of course πŸ˜…
I kid of course πŸ˜…
@abucci We'd better just start doing some advertising then 🀣 (On Twitterβ„’ πŸ˜‚)
@abucci We'd better just start doing some advertising then 🀣 (On Twitterβ„’ πŸ˜‚)
@marado This also reminds me of recents posts coming from the UN no credible pathway...
@marado This also reminds me of recents posts coming from the UN no credible pathway...
Dude you're most welcome! πŸ€— We missed having you around πŸ€—
Dude you're most welcome! πŸ€— We missed having you around πŸ€—
@lyse We gotta somehow bring more good German folk to join our growing community πŸ˜†
@lyse We gotta somehow bring more good German folk to join our growing community πŸ˜†
@jason Welcome baxk!!! πŸ₯³πŸ€—
@jason Welcome baxk!!! πŸ₯³πŸ€—
@will https://search.twtxt.net/search?q=Gitea&f=
@will https://search.twtxt.net/search?q=Gitea&f=
@hashrock Oh good! I did nothing just took a while πŸ˜†
@hashrock Oh good! I did nothing just took a while πŸ˜†
Who's coming to our weekly Yarn.social call / meetup today? 5am UTC at https://meet.jit.si/Yarn.social
Who's coming to our weekly Yarn.social call / meetup today? 5am UTC at https://meet.jit.si/Yarn.social
@stigatle Why the hell not πŸ˜†
@stigatle Why the hell not πŸ˜†
@eaplmx Let me do some playing around today and see...
@eaplmx Let me do some playing around today and see...
@eaplmx Looking good πŸ‘Œ
@eaplmx Looking good πŸ‘Œ
@eaplmx Basically stripping the Hash here

But maybe this should be done server side in the API? πŸ€”πŸ€”
@eaplmx Basically stripping the Hash here

But maybe this should be done server side in the API? πŸ€”πŸ€”
@hashrock I will fix this for you after I get some sleep πŸ€— Please send me an email πŸ™
@hashrock I will fix this for you after I get some sleep πŸ€— Please send me an email πŸ™
@carsten Yeah, sadly though we _would never_ use an external 3rd-party Cloud/SaaS service. So that's not really an option here.
@carsten Yeah, sadly though we _would never_ use an external 3rd-party Cloud/SaaS service. So that's not really an option here.
@eaplmx Thanks! πŸ€—
@eaplmx Thanks! πŸ€—
For now I just use Chrome Web Store - Extensions -- a Browser extension, which works well enough and has a nice interface. Triple-click to select all the text, hit the button πŸ‘Œ
For now I just use Chrome Web Store - Extensions -- a Browser extension, which works well enough and has a nice interface. Triple-click to select all the text, hit the button πŸ‘Œ
What I'm not sure about however is what the interface and anda mechanism(s) should be... To be honest though, I _really wish_ there was a decent self-hosted "language translation" tool that I could stand up and just point yarnd at it for "automatic language translation" (at least best effort, I don't care)
What I'm not sure about however is what the interface and anda mechanism(s) should be... To be honest though, I _really wish_ there was a decent self-hosted "language translation" tool that I could stand up and just point yarnd at it for "automatic language translation" (at least best effort, I don't care)
@eaplmx Yup πŸ‘Œ I _think_ this is a good idea. And to that end this library seems like it would do most of the work for us: pemistahl/lingua-go: πŸ‘„ The most accurate natural language detection library for Go, suitable for long and short text alike
@eaplmx Yup πŸ‘Œ I _think_ this is a good idea. And to that end this library seems like it would do most of the work for us: pemistahl/lingua-go: πŸ‘„ The most accurate natural language detection library for Go, suitable for long and short text alike
Okay folks... I'm going to bed 😴 I managed to get the v0.15 milestone down to just 5 remaining issues πŸ₯³
Okay folks... I'm going to bed 😴 I managed to get the v0.15 milestone down to just 5 remaining issues πŸ₯³
@carsten Some options configurable at runtime, via the Admin interface. But those will override the CLI flags / Env vars. So double check those. If in doubt just nuke the /path/to/data/settings.json and restart.
@carsten Some options configurable at runtime, via the Admin interface. But those will override the CLI flags / Env vars. So double check those. If in doubt just nuke the /path/to/data/settings.json and restart.
@carsten My gawd. Mind if I take a copyΒ of that video for reservation? Someone needs to transcribe this and put the text up. If true (and I believe it has to be right? πŸ€”) that poor guy's legacy needs to be remembered for all time πŸ™
@carsten My gawd. Mind if I take a copyΒ of that video for reservation? Someone needs to transcribe this and put the text up. If true (and I believe it has to be right? πŸ€”) that poor guy's legacy needs to be remembered for all time πŸ™
@carsten Thanks! This is my problem then, I noticed some "bad data" in my pod's cache or something. Trying to figure it it and fix it. Thanks πŸ‘Œ
@carsten Thanks! This is my problem then, I noticed some "bad data" in my pod's cache or something. Trying to figure it it and fix it. Thanks πŸ‘Œ
@abucci Overloaded from all the desparate souls trying to get off Tiwtterβ„’ ? 🀣
@abucci Overloaded from all the desparate souls trying to get off Tiwtterβ„’ ? 🀣
@carsten Wow! 😳 That'll give new meaning to the phrase:

> Pod head

🀣 I've never tried it myself (let alone smoking), but good to see progressive stuff like this. Drugs _really_ should be legal, doing anything else just criminalises shit unnecessarily IMO πŸ™„
@carsten Wow! 😳 That'll give new meaning to the phrase:

> Pod head

🀣 I've never tried it myself (let alone smoking), but good to see progressive stuff like this. Drugs _really_ should be legal, doing anything else just criminalises shit unnecessarily IMO πŸ™„
This is so weird. I'm trying to figure out some bad data I've spotted... πŸ™„
This is so weird. I'm trying to figure out some bad data I've spotted... πŸ™„
@carsten Can I ask... What is the BASE_URL configured on your pod to be? πŸ€”
@carsten Can I ask... What is the BASE_URL configured on your pod to be? πŸ€”
@javiermillar Hello! πŸ‘‹ Welcome to Yarn.social πŸ€—
@javiermillar Hello! πŸ‘‹ Welcome to Yarn.social πŸ€—
There we go. Fixed πŸ₯³
There we go. Fixed πŸ₯³
@carsten You _might_ have to link that directly here or somewhere, I wasn't able to view that sadly πŸ™„ Silly Telegram πŸ˜…
@carsten You _might_ have to link that directly here or somewhere, I wasn't able to view that sadly πŸ™„ Silly Telegram πŸ˜…
@carsten I really hate this pointless Russian war. 🀬 It needs to stop.
@carsten I really hate this pointless Russian war. 🀬 It needs to stop.
@carsten So let me get this straight... Russian soldiers are stealing Swedish cameras?! 😳
@carsten So let me get this straight... Russian soldiers are stealing Swedish cameras?! 😳
@carsten Oh if you run on Docker, yes, I recommend you just setup automatic updates. I _try_ very hard not to break master/edge so you'll be fine πŸ‘Œ -- If we do anything big or a "big change" we tend to put it behind a "feature flag".
@carsten Oh if you run on Docker, yes, I recommend you just setup automatic updates. I _try_ very hard not to break master/edge so you'll be fine πŸ‘Œ -- If we do anything big or a "big change" we tend to put it behind a "feature flag".
Figured it ou! 🀣 Bahahahaha πŸ˜‚ We were stripping <br /> tags in the HTMl Sanitiser 😳 I _wonder_ long that bug has existed for any we've only noticed now?! πŸ™„ Nice catch @eaplmx πŸ₯³ Fix inbound... 🀞
Figured it ou! 🀣 Bahahahaha πŸ˜‚ We were stripping <br /> tags in the HTMl Sanitiser 😳 I _wonder_ long that bug has existed for any we've only noticed now?! πŸ™„ Nice catch @eaplmx πŸ₯³ Fix inbound... 🀞
@abucci Actually we have an extension enabled called parser.HardLineBreak that is suppose to behave the way @eaplmx describes on the Web. But hmmm I'm not sure what's going on... Going to do some local / dev testing...
@abucci Actually we have an extension enabled called parser.HardLineBreak that is suppose to behave the way @eaplmx describes on the Web. But hmmm I'm not sure what's going on... Going to do some local / dev testing...
Oh I'm so confused.
Oh I'm so confused.
LIne 1
Line 2
Line 3
LIne 1
Line 2
Line 3
Testing 1 2 3

This should be separate by a blank line.
Testing 1 2 3

This should be separate by a blank line.
Hmm I reverted and it made noΒ difference. @eaplmx you're only talking about the Web / Mobile Web view right? πŸ€”
Hmm I reverted and it made noΒ difference. @eaplmx you're only talking about the Web / Mobile Web view right? πŸ€”