# 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 35
# self = https://watcher.sour.is/conv/rpgkixa
@eldersnake Speaking of which I’d get you an APK if only I could figure out this bloody keystore stuff 😆
@eldersnake Speaking of which I’d get you an APK if only I could figure out this bloody keystore stuff 😆
@prologic Is that required to even run the APK or just to publish to the Store? I wouldn't care about having to side-load it.
@eldersnake It’s require to build it 😆
@eldersnake It’s require to build it 😆
@eldersnake Know any Android devs? 🤔
@eldersnake Know any Android devs? 🤔
@prologic Wow, okay. Shows how much I know about the build process. Unfortunately I don't know any Android devs :(
@prologic Is the Goryon Android code easily available somewhere? I'm not an Android dev and haven't built an APK in about 10 years, and I don't remember how I did it, but something to look at as a reference and maybe eventually start getting a feel for could be handy. I'd certainly like to _eventually_ be able to help out in some way.
@eldersnake Yes! 😀 You can find it here

You will need to install Flutter and if you don't already have Android Studio and Java™ (_obviously_). Then you can _try_: flutter build apk -- Which will of course fail because I can't yet figure out this keystore stuff...
@eldersnake Yes! 😀 You can find it here\n\nYou will need to install Flutter and if you don't already have Android Studio and Java™ (_obviously_). Then you can _try_: flutter build apk -- Which will of course fail because I can't yet figure out this keystore stuff...
@eldersnake Yes! 😀 You can find it here

You will need to install Flutter and if you don't already have Android Studio and Java™ (_obviously_). Then you can _try_: flutter build apk -- Which will of course fail because I can't yet figure out this keystore stuff...
@prologic Cheers!
@prologic okay got it built and working, running on my phone, after fumbling around with the key store thing which ill try describe in a moment
@eldersnake @prologic Following the Flutter page about creating a key store I did so with the command they listed. Then in scripts/setenv.sh I had to change/set keyAlias=upload and storeFile=~/upload-keystore.jks or change these in android/key.properties if it already exists. \nI _think_ that's all I had to do 🤔 I spent a fair amount of time setting up Android Studio
@eldersnake Oh wow! 😳 You’re a smarter man than I 🙇‍♂️
@eldersnake Oh wow! 😳 You’re a smarter man than I 🙇‍♂️
@eldersnake Do you _actually_ feel like putting up a PR to simplify this process so I can _actually_ start publishing APK(s) to the Play Store and FDroid for all Android users? 🤔 🤗 I _feel_ like this can be "scripted" 🤣
@eldersnake Do you _actually_ feel like putting up a PR to simplify this process so I can _actually_ start publishing APK(s) to the Play Store and FDroid for all Android users? 🤔 🤗 I _feel_ like this can be "scripted" 🤣
@prologic \n> Oh wow! 😳 You’re a smarter man than I 🙇‍♂️\n\nNah, just needed another look by someone I reckon, you probably got enough happening at once 😅\n\n> Do you actually feel like putting up a PR to simplify this process so I can actually start publishing APK(s) to the Play Store and FDroid for all Android users? 🤔 🤗 I feel like this can be “scripted” 🤣\n\nI'm thinking about that. Thinking how to handle the password part of the keystore...
@eldersnake

> I’m thinking about that. Thinking how to handle the password part of the keystore…

Is the password for the keystore basically something that's baked into the APK bundle itself and shipped along with the App as a secure means of storing sensitive data? Although if this is what it's being used for it's an oxymoron because the App has the secret/password to the store 🤔 -- I just know that storing sensitive data like API tokens at least on iOS is handled by the OS.
@eldersnake

> I’m thinking about that. Thinking how to handle the password part of the keystore…

Is the password for the keystore basically something that's baked into the APK bundle itself and shipped along with the App as a secure means of storing sensitive data? Although if this is what it's being used for it's an oxymoron because the App has the secret/password to the store 🤔 -- I just know that storing sensitive data like API tokens at least on iOS is handled by the OS.
@eldersnake \n\n> I’m thinking about that. Thinking how to handle the password part of the keystore…\n\nIs the password for the keystore basically something that's baked into the APK bundle itself and shipped along with the App as a secure means of storing sensitive data? Although if this is what it's being used for it's an oxymoron because the App has the secret/password to the store 🤔 -- I just know that storing sensitive data like API tokens at least on iOS is handled by the OS.
@prologic No I believe it's just the password/key for the signed storekey itself, it has to validate at build time. Anyway I'm working on a small script now that should work. Each time the script is run the user building the APK has to set/enter the storekey password interactively, but other than that it's automated.
@eldersnake Does this password need to be set once or per build/release? 🤔 What are the security implications?
@eldersnake Does this password need to be set once or per build/release? 🤔 What are the security implications?
@prologic Well the way it’s set up at the moment (and I’m not sure if this is a standard Flutter/gradle thing or just the way the original maintainer of Goryon did it) is the key password and alias setting is stored in the key.properties file in ./android/. This is plain text, but the file isn’t part of the version control, so it remains on the builder’s computer until they delete it either manually or, as we could do if we wanted, automatically in the script
@eldersnake I se makes sense 👌
@eldersnake I se makes sense 👌
@prologic I assume also you will be distributing the new builds of Goryon as a different 'developer' and modified package name on the Play Store etc. I don't know who maintains the current one, but APKs signed with a different key than the original can't be installed over the top of an existing app with the same package name. For example, I couldn't install the new APK until I uninstalled the old Goryon on my phone. You probably know this though.
@eldersnake I will likely be renaming the App yes
@eldersnake I will likely be renaming the App yes
@prologic Here: https://git.mills.io/yarnsocial/goryon/pulls/89\nI apologise for my use of test -... instead of bracket notation. I always get fuddled up with bracket use in shell, so I default to basic use of test lol.
@eldersnake That’s fine! [ is usually a symlink to test anyway 🤣
@eldersnake That’s fine! [ is usually a symlink to test anyway 🤣