# 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 21
# self = https://watcher.sour.is/conv/2p356ca
Hello @prologic, I saw a little bug on the /post api. I can force the hash (sending "(#hash) text" ) that is good to choose my hash and to reply and I end up having in my twtxt file :

2022-10-01T05:49:32Z	(#f6yb3ma) second tentative (posted from twx through yarnsocial posthook plugin)
2022-10-01T05:53:15Z	(#f6yb3ma) Some adjustement needed but it works well (posted from twx through yarnsocial posthook plugin)
2022-10-01T05:56:46Z	(#f6yb3ma) I can go to bed happy, good night everybody


But yarn social doesn't add it to his /conv database so I don't see it as a reply nor as a Thread like : https://twtxt.net/conv/f6yb3ma
@tkanos Not a bug. Working as intended.

https://twtxt.net/twt/f6yb3ma is not a valid twt. It does not address a valid Twt by that Hash 😢 -- Yes you can "fake" the Hash in your repl, but by doing so you're on your own 😅
@tkanos Not a bug. Working as intended.

https://twtxt.net/twt/f6yb3ma is not a valid twt. It does not address a valid Twt by that Hash 😢 -- Yes you can "fake" the Hash in your repl, but by doing so you're on your own 😅
what does you mean by "It does not address a valid Twt by that Hash"
what do you mean by "It does not address a valid Twt by that Hash"
@tkanos Exactly that. https://twtxt.net/twt/f6yb3ma returns a 404 Not Found. There is no Twt by that Hash on (at least) my pod twtxt.net -- Unless that Twt exists by that Hash on some feed unknown to my pod?

The Twt Hash is designed to be "content addressable". You can't just "make up whatever you like" -- which is the problem with numerical id(s) that keep coming up from time to time.
@tkanos Exactly that. https://twtxt.net/twt/f6yb3ma returns a 404 Not Found. There is no Twt by that Hash on (at least) my pod twtxt.net -- Unless that Twt exists by that Hash on some feed unknown to my pod?

The Twt Hash is designed to be "content addressable". You can't just "make up whatever you like" -- which is the problem with numerical id(s) that keep coming up from time to time.
I m a bit lost, because it is in your pod : https://twtxt.net/user/tkanos/twtxt.txt (at the end of the page at 5:28 ...)
I m a bit lost, because it is in your pod : https://twtxt.net/user/tkanos/twtxt.txt (at the end of the page at 5:49 ...)
I m a bit lost, because it is in your pod : https://twtxt.net/user/tkanos/twtxt.txt (on the end of the page at 5:28 ...)
Oh I think I got it.
Oh I think I got it. yarnsocial doesn't build a conv if it can't find the initial (without hash) tweet.

the following will work :


Date Hello
Date (#hash_addressing_Hello_with_yarn_algorithm) Hello again


But That doesn't work :

Date (#hash1) Hello
Date (#hash1) Hello again
Oh I think I got it. yarnsocial doesn't build a conv if it can't find the initial (without hash) tweet.
Oh I think I got it. yarnsocial doesn't build a conv if it can't find the initial (without hash) tweet.

the following will work :


Date Hello
Date (#hash_addressing_Hello_with_yarn_algorithm) Hello again


But That doesn't work :

Date (#hash1) Hello
Date (#hash1) Hello again


Did I got it right ? I need maybe to read again twtxt hash extension.
@tkanos The first is right -- The second is likely wrong because the Twt Subjedt Hash must exist.
@tkanos The first is right -- The second is likely wrong because the Twt Subjedt Hash must exist.
got it. Yarn social not finding the hash of the conv on its cache, thinks that it's a subject instead. Which is logical because hash is in the subject. Ok so only now I fully understand the specs :


Twt hashes make twts identifiable, so replies can be created to build up conversations. The twt’s hash is used in the Twt Subject of the reply twt to indicate to which original twt it refers to. The twt hash is similar to the Message-ID header of an e-mail which the response e-mail would reference in its In-Reply-To header.


You gotta admit that some example would have been helpful :D
@tkanos BTW what would happen in the case of a hash collision?

Once I calculated that it's remotely possible, but with a massive usage, it could occur 🤔

#prematureOptimizationFTW 🙄😁
I guess it will be fine because yarn has one cache and one archive. So if a collision appear it will unlikely be on the first cache. But if it happen anyway, I think that the cache will be overridden by the collision, and the reply of the first conv will appear as childs of the collision instead.
@tkanos This 👌
@tkanos This 👌