# 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 22
# self = https://watcher.sour.is/conv/g3vczua
So much going on in the twtxtiverse. I can’t keep up anymore. 🤪 I either need to follow fewer people or I need to somehow rework my client’s UX. 🤔
So much going on in the twtxtiverse. I can’t keep up anymore. 🤪 I either need to follow fewer people or I need to somehow rework my client’s UX. 🤔
So much going on in the twtxtiverse. I can’t keep up anymore. 🤪 I either need to follow fewer people or I need to somehow rework my client’s UX. 🤔
@movq I added kill files to tt yesterday evening to mute things I'm not interested in. But I have to polish the code before releasing it to the wild.
@lyse Hm, interesting, how does it work? 🤔 Does it mute threads, keywords, … ?
@lyse Hm, interesting, how does it work? 🤔 Does it mute threads, keywords, … ?
@lyse Hm, interesting, how does it work? 🤔 Does it mute threads, keywords, … ?
@movq I used it yesterday to mute a complete conversation tree by twt hash. But it is very flexible and basically can operate on any data of a single twt. However, it's not possible to look at data of the parent twts other than their hashes. I haven't cleaned it yet, but I just pushed the basic idea. I reckon I will never use the feature, that certain twts in the conversation tree are excluded from a match, but tt supports it. The tree structure is kept intact and only the contents of the parents nodes is replaced to honor the kill file match.

That's better illustrated on some example. Consider the simple kill file rule 'sxivfua' in twt.conversation_hashes that will just hide the complete conversation tree with all its branches. Here's a screenshot of yesterday's version where I just replaced the text, but didn't hide the twts yet (current code does):

complete conversation killed

Now, if that kill file rule is extended to 'sxivfua' in twt.conversation_hashes and twt.source.nick != 'david' some twts are not matched by the rule in the conversation. Again, from yesterday's experiment:

partial conversation tree killed

If I do this today, it just hides the killed entries without any shown leaves. However, it still keeps the intermediate nodes that would have to be killed according to the kill file rule. For sake of keeping the structure intact I decided to still show them in a modified manner:

partial conversation tree killed, now really

I haven't made up my mind on where to configure the kill file rules. Maybe in the config file in a dedicated [killfile] section. Then the keys could be some names or descriptions that describe the rules.

And I also need to integrate this into the UI, so I can press something like ^K and then automatically insert a rule that hides that tree at the cursor.
@movq

> either need to follow fewer people or I need to somehow rework my client’s UX.

I _think_ you should focus on the later 😂 That particular Yarn you're tlaking about with over ~50 Twts I didn't even notice until last night sometime before bed 😂

The UX(s) of tt and jenny (correct me if I'm wrong) don't collapse threads by default right? 🤔~
@movq

> either need to follow fewer people or I need to somehow rework my client’s UX.

I _think_ you should focus on the later 😂 That particular Yarn you're tlaking about with over ~50 Twts I didn't even notice until last night sometime before bed 😂

The UX(s) of tt and jenny (correct me if I'm wrong) don't collapse threads by default right? 🤔~
@lyse We also added support for Muting Hashes and all replies to yarnd some week or so ago as well -- But I don't use this very much, because the "Flat view" collapses long threads so it's not a problem.
@lyse We also added support for Muting Hashes and all replies to yarnd some week or so ago as well -- But I don't use this very much, because the "Flat view" collapses long threads so it's not a problem.
@prologic Yes, in fact tt cannot even collapse conversation trees, they're always fully expanded. Or not shown at all if all twts in that tree are marked as read and the appropriate setting is enabled to hide completely read conversations.
@lyse Yeah okay fair enough, I _think_ this is why we added this so-called "Flat view" for a similar reason. Perhaps tt needs to grow similar support? 🤔
@lyse Yeah okay fair enough, I _think_ this is why we added this so-called "Flat view" for a similar reason. Perhaps tt needs to grow similar support? 🤔
@prologic I've never been conviced with displaying a tree in a flat view. It's just wrong in my opinion. But collapsing branches might be a feature in the future.
@lyse Yeah I agree 💯 I've always maintained that displaying anything other than a flat-ish "Timeline" doesn't make a lot of sense really. Yes we can construct trees out of the chains of hashes, and we do. Collapsing them, yes 👌
@lyse Yeah I agree 💯 I've always maintained that displaying anything other than a flat-ish "Timeline" doesn't make a lot of sense really. Yes we can construct trees out of the chains of hashes, and we do. Collapsing them, yes 👌
@lyse Phew, that’s quite the elaborate system. 🤔

I think I’ll try playing with mutt’s collapse_unread setting first. I don’t want this for *email*, but it could be useful for twtxt. It basically keeps all threads collapsed, unless you explicitly open them.
@lyse Phew, that’s quite the elaborate system. 🤔

I think I’ll try playing with mutt’s collapse_unread setting first. I don’t want this for *email*, but it could be useful for twtxt. It basically keeps all threads collapsed, unless you explicitly open them.
@lyse Phew, that’s quite the elaborate system. 🤔

I think I’ll try playing with mutt’s collapse_unread setting first. I don’t want this for *email*, but it could be useful for twtxt. It basically keeps all threads collapsed, unless you explicitly open them.
@movq Yeah. It's not super easy, that's for sure. Also I think I need to implement something more simple to make sub nodes inherit the kill file matches. That way things like "welcome spam" can be easily filtered out.

So for the beginning I would do it the other way. Expand everything unread and manually collapse and mark read the whole thread if it gets too boring. This way it's easier to jump over a few messages and quickly see if it gets more interesting or not. But maybe that's already the way you do it.