I have a working version of bitchat android with full background persistance. can run in your pocket for days after closing, waiting for incoming messages, relaying the messages of others, with notifications when you receive a message. starts automatically after boot. battery use is minimal. all optional, user has full control.
remember when satoshi told @Martti Malmi "fuck linux, lets implement minimize to tray for windows, that's going to increase the node count by 300%" β that's what I'm doing now.
Thread
Login to reply
Replies (25)
Just curious, I recall it originally being completely vibe-coded, what percent has been rewritten?
most of it but vibe coding and rewriting isnβt mutually exclusive.
When can we follow which gehashs have movement, as well as in the nym?
you are the most inspirational person iβve never met. always working on your craft & programs no matter what to make them perfect. a good man through & through
It's all about keeping memory low and not doing too much processing in a single time.
Any trick we should import into Pokey? @KoalaSat
What happens if you do "too much"?
Android just kills it. It's quite common. Especially in low-end phones.
Someone in Google factory has to punch your punchcard...
I didn't check, does bitchat connects to relays in background @calle?
That's the only work done by Pokey in background, keeping an open WS is expensive.
When I start pokey every 5/10 minute it wakes up my screen without a real notification
wow!! doable for ios too?
you're building bitchat for windows?
Do notifications run over nostr relays?
Based
Is it the latest GitHub version?
Please change the name
what android, device in the popular range would you recommend (let's exclude GrapheneOS as this one is not allowed in certain situations π, but just works with #bitchat)?
This is the way.
Turn it on by default.
Did you also handle the needed restart on new version being installed?
When user updates the app, Android will kill the process, then dispatch a system Intent to it after installation completion. It will receive a warm start whereby the Saved Instance State is recoverable.
Wow no I wasn't aware that's crazy. Does it need migrations?
Do you wanna help dev with bitchat btw? I could use a pro to show me the way.
> Wow no I wasn't aware that's crazy. Does it need migrations?
Unsure what you mean by migrations. The OS will install the new version over the old one. If you have defined in your manifest a broadcast receiver for `android.intent.action.ACTION_PACKAGE_REPLACED`, you'll receive the Intent upon completion and can restart your services and what not.
> Do you wanna help dev with bitchat btw? I could use a pro to show me the way.
I'm no pro π, just have been around the block once or twice. I'd love to, but have my plate full with a grant from @OpenSats working on kmp-tor for the next 3 months, then back to my other project.
See:
Android Developers
Intent | API reference | Android Developers
Sorry, the string value to declare in your manifest is actually `PACKAGE_REPLACED` not `ACTION_PACKAGE_REPLACED
Cool story, except that's not what Satoshi said :
A few suggestions
A few suggestions