# 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 60813
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=54980
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=55080
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=54880
Let's focus on this ☝️ how in da fuq is this happenning?!
@eldersnake LOL all good. Feel free to use https://gist.mills.io 👌
@eldersnake LOL all good. Feel free to use https://gist.mills.io 👌
@eldersnake Holy fuck?! That's unpossible?!
@eldersnake Holy fuck?! That's unpossible?!
Oh you deleted that last Twt 🤣
Oh you deleted that last Twt 🤣
@eldersnake I don't see the subsequent GET /, You are right that a POST /post does an internal XHR redirect to whatever view you're on to refresh it.
@eldersnake I don't see the subsequent GET /, You are right that a POST /post does an internal XHR redirect to whatever view you're on to refresh it.
@eldersnake That one was 👌
@eldersnake That one was 👌
But there should *never ever* be a GET /post -- There is no handler/route for that, that *will* indeed 404, really strange you're still seeing this? And what's this login issue?
But there should *never ever* be a GET /post -- There is no handler/route for that, that *will* indeed 404, really strange you're still seeing this? And what's this login issue?
Upgraded my Go compiler and I'm still not able to reproduce those 404(s) you're seeing. For clarity, this is what you expect to see in the server logs:


DEBU[0163] no subscriptions found for http://10.0.0.164:8000/user/admin/twtxt.txt
[yarnd] 2024/06/19 23:13:23 (10.0.0.164:64888) "POST /post HTTP/1.1" 200 0 8.323709ms
DEBU[0163] reloading templates in debug mode...
[yarnd] 2024/06/19 23:13:23 (10.0.0.164:64888) "GET / HTTP/1.1" 200 18120 87.933208ms


for every post there should be a POST /post ... followed pretty quickly by a GET /
Upgraded my Go compiler and I'm still not able to reproduce those 404(s) you're seeing. For clarity, this is what you expect to see in the server logs:


DEBU[0163] no subscriptions found for http://10.0.0.164:8000/user/admin/twtxt.txt
[yarnd] 2024/06/19 23:13:23 (10.0.0.164:64888) "POST /post HTTP/1.1" 200 0 8.323709ms
DEBU[0163] reloading templates in debug mode...
[yarnd] 2024/06/19 23:13:23 (10.0.0.164:64888) "GET / HTTP/1.1" 200 18120 87.933208ms


for every post there should be a POST /post ... followed pretty quickly by a GET /
FWOW go v1.22.2 here, but I'll upgrade now just to be sure...
FWIW go v1.22.2 here, but I'll upgrade now just to be sure...
FWIW go v1.22.2 here, but I'll upgrade now just to be sure...
@eldersnake So you're still having the exact same problems?! 🤔 And no I don't think the version of the compiler has much to do with this 😢
@eldersnake So you're still having the exact same problems?! 🤔 And no I don't think the version of the compiler has much to do with this 😢

* 8eef4d5d - (HEAD -> main, origin/main) Add DB restore capability and tools/backu-_db.sh script (19 seconds ago) <James Mills>


Oh well 😅 It works wonderfully!

In the event of a database corruption or loss:


$ URL=http://10.0.0.164:8000 ./tools/backup_db.sh > db.json
mv db.json data/db.restore.json
yarnd ...

* 8eef4d5d - (HEAD -> main, origin/main) Add DB restore capability and tools/backu-_db.sh script (19 seconds ago) <James Mills>


Oh well 😅 It works wonderfully!

In the event of a database corruption or loss:


$ URL=http://10.0.0.164:8000 ./tools/backup_db.sh > db.json
mv db.json data/db.restore.json
yarnd ...
@eldersnake Oh well, is the pod at least behaving normally now, just like mine? 😅
@eldersnake Oh well, is the pod at least behaving normally now, just like mine? 😅
@eldersnake Bahahahaha 🤣 That's sure one fire way of cleaning up house 🏠
@eldersnake Bahahahaha 🤣 That's sure one fire way of cleaning up house 🏠
I'll complete the work anyway, it's just wrapping up existing code and making backups of the database a proper thing.
I'll complete the work anyway, it's just wrapping up existing code and making backups of the database a proper thing.
@eldersnake Ahh damn man haha 😝 If you had given me like ~20 more mins (_just got home_) I would have had a fulll backup/restore that would have been "just run this command and move this file here". 😅~
@eldersnake Ahh damn man haha 😝 If you had given me like ~20 more mins (_just got home_) I would have had a fulll backup/restore that would have been "just run this command and move this file here". 😅~
Are the weird errors gone at least? 😅
Are the weird errors gone at least? 😅
@eldersnake Hold up wait... You effectively now have a fresh new pod with only yourself? 🤣 Ooops!
@eldersnake Hold up wait... You effectively now have a fresh new pod with only yourself? 🤣 Ooops!
Better yet, I'll write some code to do this to make it a whole lot easier to do. Should be ready by tonight
Better yet, I'll write some code to do this to make it a whole lot easier to do. Should be ready by tonight
@eldersnake There is. I'll document this tonight and send it your way! 🤞
@eldersnake There is. I'll document this tonight and send it your way! 🤞
@eldersnake received
@eldersnake received
@slashdot so the Ukraine had to land mines in 1324? 🧐
@slashdot so the Ukraine had to land mines in 1324? 🧐
@shreyan stressed 😅 how about you?
@shreyan stressed 😅 how about you?
I'm finding myself more and more now using the web app on mobile 🤔🧐
I'm finding myself more and more now using the web app on mobile 🤔🧐
@bender Also thanks 🙏
@bender Also thanks 🙏
@bender If you think the keyboard shortcuts should be by default something else, LMK! Otherwise if interest levels pick up again for yarnd and there's enough interest, it _could_ become a user preference.
@bender If you think the keyboard shortcuts should be by default something else, LMK! Otherwise if interest levels pick up again for yarnd and there's enough interest, it _could_ become a user preference.
Keyboard shortcuts:

- ^n (Ctrl+n) -- Compose new Twt
- Esc (Escape) -- Close the composer
- ^t (Ctrl+t) -- Refresh or navigate to Timeline
- ^m (Ctrl+m) -- Refresh or navigate to Mentions
- ^d (Ctrl+d) -- Refresh or navigate to Discover

There are shortcuts for Feeds, Settings and Profile too (_similiarly_))
Keyboard shortcuts:

- ^n (Ctrl+n) -- Compose new Twt
- Esc (Escape) -- Close the composer
- ^t (Ctrl+t) -- Refresh or navigate to Timeline
- ^m (Ctrl+m) -- Refresh or navigate to Mentions
- ^d (Ctrl+d) -- Refresh or navigate to Discover

There are shortcuts for Feeds, Settings and Profile too (_similiarly_))
@bender Btw how are you finding the new and improved UX at all? 🤔 (_this Twt was authored by presing ^n, then @ and then bender<TAB> and the rest of this twt, finally ^ENTER_)
@bender Btw how are you finding the new and improved UX at all? 🤔 (_this Twt was authored by presing ^n, then @ and then bender<TAB> and the rest of this twt, finally ^ENTER_)
@bender Yeah I'm just about done! ✔️
@bender Yeah I'm just about done! ✔️
@bender As am I. @eldersnake when you are able, I'd like to take a more active role in helping you get to the bottom of this. SSH, get in there, whatever it takes. I'm a bit perplexed by what's going on for you 😱
@bender As am I. @eldersnake when you are able, I'd like to take a more active role in helping you get to the bottom of this. SSH, get in there, whatever it takes. I'm a bit perplexed by what's going on for you 😱
This is fixed, improved, tested and rolling out shortly, Including dynamically reflecting the theme too!
This is fixed, improved, tested and rolling out shortly, Including dynamically reflecting the theme too!
Which is actually only 3 commits behind 😅
Which is actually only 3 commits behind 😅
@bender Looks like it's running 1977cb18 2024-06-17T22:54:51+00:00
@bender Looks like it's running 1977cb18 2024-06-17T22:54:51Z
@bender Looks like it's running 1977cb18 2024-06-17T22:54:51+00:00
@bender Looks like it's running 1977cb18 2024-06-17T22:54:51Z
@bender LOL 😂
@bender LOL 😂
@bender 😅
@bender 😅
@bender Working on fixing that now actually 😅 I have to exchange 3 key pieces of information in every request, title, navigation and preference. I'm just refactoring the templating now so I don't have to duplicate this everywhere, just do it once.
@bender Working on fixing that now actually 😅 I have to exchange 3 key pieces of information in every request, title, navigation and preference. I'm just refactoring the templating now so I don't have to duplicate this everywhere, just do it once.
Fixed and being rolled out. Forgot to actually check the preference 🤦‍♂️
Fixed and being rolled out. Forgot to actually check the preference 🤦‍♂️
@eldersnake You around this late evening at all? 🤔 I want to fix this for you!
@eldersnake You around this late evening at all? 🤔 I want to fix this for you!
@eldersnake Yes! It's just a flag and otherwise is stupidly simple.
@eldersnake Yes! It's just a flag and otherwise is stupidly simple.
@eldersnake Yup!
@eldersnake Yup!
@eldersnake Oh that is super weird 🤔 I am admin on my pod and I always test locally with the admin account hmmm 🧐
@eldersnake Oh that is super weird 🤔 I am admin on my pod and I always test locally with the admin account hmmm 🧐
@eldersnake I can't think of why that might be? The bloody URL of feeds is always a problem and changing the Base IRL of the pod is rather problematic that I never solved. But otherwise hmmm I'm not sure!
@eldersnake I can't think of why that might be? The bloody URL of feeds is always a problem and changing the Base IRL of the pod is rather problematic that I never solved. But otherwise hmmm I'm not sure!
@eldersnake Okay so maybe not a browser thing - just didn't try myself (although I regularly use Chrome and Mobile Safari)
@eldersnake Okay so maybe not a browser thing - just didn't try myself (although I regularly use Chrome and Mobile Safari)
One thing I haven't thought to rule out is the browser itself. When I tried to reproduce, I was using chrome and I wasn't able to reproduce what you were saying from the client perspective.
One thing I haven't thought to rule out is the browser itself. When I tried to reproduce, I was using chrome and I wasn't able to reproduce what you were saying from the client perspective.
@eldersnake Can I see an excerpt of the NGINX logs?
@eldersnake Can I see an excerpt of the NGINX logs?
@eldersnake It's more likely I've done something silly that I can't pin point 🤣
@eldersnake Ira more likely I've done someyhing
Silly yjay I can't pin point 🤣
@eldersnake It's more likely I've done something silly that I can't pin point 🤣
@bender Thanks! I'll check that out later tonight 🤞
@bender Thanks! I'll check that out later tonight 🤞
@eldersnake Cool! And yeah that's right!
@eldersnake Cool! And yeah that's right!
@bender Hmmmm I'm not sure about this... 🧐 Does anyone have any other opinions that know this web/session security better than me?
@bender Hmmmm I'm not sure about this... 🧐 Does anyone have any other opinions that know this web/session security better than me?
@bender We need to design what this will look like and the mechanisms 🧐