# 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 43
# self = https://watcher.sour.is/conv/u4bs34q
@lyse
 ` 
 `` 
 ` 
@xuu Working like a charm.
@lyse What did you reply to here? This thread is broken for me now. 🥴
@lyse What did you reply to here? This thread is broken for me now. 🥴
@lyse What did you reply to here? This thread is broken for me now. 🥴
@lyse What did you reply to here? This thread is broken for me now. 🥴
@movq Ahh this was a bug that @lyse triggered and I _think_ I discovered and then @xuu. fixed 😅
@movq Ahh this was a bug that @lyse triggered and I _think_ I discovered and then @xuu. fixed 😅
@movq Ahh this was a bug that @lyse triggered and I _think_ I discovered and then @xuu. fixed 😅
@movq Ahh this was a bug that @lyse triggered and I _think_ I discovered and then @xuu. fixed 😅
@movq It was this
@movq It was this
@movq It was this
@movq It was this
@prologic Right, but lyse’s twt hash was probably generated by his own client, thus probably not affected by the bug, thus … it should be compatible with my hashes. But it’s not. 😅😭 I’ll try to investigate later.
@prologic Right, but lyse’s twt hash was probably generated by his own client, thus probably not affected by the bug, thus … it should be compatible with my hashes. But it’s not. 😅😭 I’ll try to investigate later.
@prologic Right, but lyse’s twt hash was probably generated by his own client, thus probably not affected by the bug, thus … it should be compatible with my hashes. But it’s not. 😅😭 I’ll try to investigate later.
@prologic Right, but lyse’s twt hash was probably generated by his own client, thus probably not affected by the bug, thus … it should be compatible with my hashes. But it’s not. 😅😭 I’ll try to investigate later.
@movq I'd say that tt, jenny and lextwt all had their own respective bugs 😅 I _think_ its not a problem with the Hashing per se, but how the content is handled/parsed? 🤔 This is the commit that @xuu published to fix the bug in lextwt -- Maybe it'll help you figure out a similar edge case with jenny? 🤔
@movq I'd say that tt, jenny and lextwt all had their own respective bugs 😅 I _think_ its not a problem with the Hashing per se, but how the content is handled/parsed? 🤔 This is the commit that @xuu published to fix the bug in lextwt -- Maybe it'll help you figure out a similar edge case with jenny? 🤔
@movq I'd say that tt, jenny and lextwt all had their own respective bugs 😅 I _think_ its not a problem with the Hashing per se, but how the content is handled/parsed? 🤔 This is the commit that @xuu published to fix the bug in lextwt -- Maybe it'll help you figure out a similar edge case with jenny? 🤔
@movq I'd say that tt, jenny and lextwt all had their own respective bugs 😅 I _think_ its not a problem with the Hashing per se, but how the content is handled/parsed? 🤔 This is the commit that @xuu published to fix the bug in lextwt -- Maybe it'll help you figure out a similar edge case with jenny? 🤔
@prologic Hm, I think there’s some edit confusion going on.

When my client fetched @xuu’s twt, it read like this (I’m posting screenshots here to avoid something parsing this as markdown):



The hash I got for this was v6kvlma. That’s what’s still stored in my client.

Note the wrong mention. xuu must have edited it, because it now reads like this:



And I get dmypf5q for that.

This latter hash also exists on twtxt.net, but it’s not the one that @lyse replied to: https://twtxt.net/conv/dmypf5q

lyse replied to u4bs34q (https://twtxt.net/conv/u4bs34q), but I can’t find out what the original raw content of that twt was. Can someone show me that raw twt line? Then I can check which hash I get. 🙂

The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

(For that original twt from your test cases (the one the say “Great, last system update broke something …”), I get bd3yzvq, just like your test suite.)
@prologic Hm, I think there’s some edit confusion going on.

When my client fetched @xuu’s twt, it read like this (I’m posting screenshots here to avoid something parsing this as markdown):



The hash I got for this was v6kvlma. That’s what’s still stored in my client.

Note the wrong mention. xuu must have edited it, because it now reads like this:



And I get dmypf5q for that.

This latter hash also exists on twtxt.net, but it’s not the one that @lyse replied to: https://twtxt.net/conv/dmypf5q

lyse replied to u4bs34q (https://twtxt.net/conv/u4bs34q), but I can’t find out what the original raw content of that twt was. Can someone show me that raw twt line? Then I can check which hash I get. 🙂

The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

(For that original twt from your test cases (the one the say “Great, last system update broke something …”), I get bd3yzvq, just like your test suite.)
@prologic Hm, I think there’s some edit confusion going on.

When my client fetched @xuu’s twt, it read like this (I’m posting screenshots here to avoid something parsing this as markdown):



The hash I got for this was v6kvlma. That’s what’s still stored in my client.

Note the wrong mention. xuu must have edited it, because it now reads like this:



And I get dmypf5q for that.

This latter hash also exists on twtxt.net, but it’s not the one that @lyse replied to: https://twtxt.net/conv/dmypf5q

lyse replied to u4bs34q (https://twtxt.net/conv/u4bs34q), but I can’t find out what the original raw content of that twt was. Can someone show me that raw twt line? Then I can check which hash I get. 🙂

The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

(For that original twt from your test cases (the one the say “Great, last system update broke something …”), I get bd3yzvq, just like your test suite.)
@prologic Hm, I think there’s some edit confusion going on.

When my client fetched @xuu’s twt, it read like this (I’m posting screenshots here to avoid something parsing this as markdown):



The hash I got for this was v6kvlma. That’s what’s still stored in my client.

Note the wrong mention. xuu must have edited it, because it now reads like this:



And I get dmypf5q for that.

This latter hash also exists on twtxt.net, but it’s not the one that @lyse replied to: https://twtxt.net/conv/dmypf5q

lyse replied to u4bs34q (https://twtxt.net/conv/u4bs34q), but I can’t find out what the original raw content of that twt was. Can someone show me that raw twt line? Then I can check which hash I get. 🙂

The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

(For that original twt from your test cases (the one the say “Great, last system update broke something …”), I get bd3yzvq, just like your test suite.)
@movq OH

> The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

This is probably what you were _actually_ referring to, I got confused and thought you were asking about something else 😅 Sorry! 🙏 Needless to all this craziness was because we found a weird edge case 🤣
@movq OH

> The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

This is probably what you were _actually_ referring to, I got confused and thought you were asking about something else 😅 Sorry! 🙏 Needless to all this craziness was because we found a weird edge case 🤣
@movq OH

> The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

This is probably what you were _actually_ referring to, I got confused and thought you were asking about something else 😅 Sorry! 🙏 Needless to all this craziness was because we found a weird edge case 🤣
@movq OH

> The simplest explanation is that xuu edited several times and lyse replied to something other than the current/final twt.

This is probably what you were _actually_ referring to, I got confused and thought you were asking about something else 😅 Sorry! 🙏 Needless to all this craziness was because we found a weird edge case 🤣
@movq @prologic Exactly. I replied to @xuu's [(presumably) first version of the backtick code block test twt](https://txt.sour.is/twt/u4bs34q). But then he edited it multiple times.
@movq @prologic I looked up the gossipping protocol in the code and it's as simple as that: curl https://txt.sour.is/twt/u4bs34q -H 'Accept: application/json' That exfiltrated the original twt from @xuu's yarnd instance, which I cast into a test case: https://git.mills.io/lyse/go-lextwt/commit/66d8e56141233af66026cfb72ebd74b02cc02201
@movq yeah.. i rewrote it a few times because i thought there was something breaking.. but was mistaken
though now i am seeing a weird cache corruption.. that seems to come and go.
@movq yeah.. i rewrote it a few times because i thought there was something breaking.. but was mistaken
though now i am seeing a weird cache corruption.. that seems to come and go.
@lyse Ahh, perfect. Yes, that content yields u4bs34q here, too.

Phew. 🥴
@lyse Ahh, perfect. Yes, that content yields u4bs34q here, too.

Phew. 🥴
@lyse Ahh, perfect. Yes, that content yields u4bs34q here, too.

Phew. 🥴
@lyse Ahh, perfect. Yes, that content yields u4bs34q here, too.

Phew. 🥴
@movq I'm glad that all three implementations agree with each other. :-)
Me too 😅
Me too 😅
Me too 😅
Me too 😅