Nostr Chat MVP
Download for Android using the APK here or at the bottom of this post (under "Assets").
Download for iOS by joining our TestFlight here.
Introducing the Arcade Beta
Today we launch our first Arcade beta build for Android and iOS, featuring three kinds of Nostr-based chat:
Combining Nostr chat with Nostr-based user authentication (NIP-06) and followers & contact management, the Arcade app is now the first cross-platform mobile app intended to be a drop-in replacement for Telegram and other popular chat apps.
You'll notice our app has no proprietary back-end: only Nostr relays. This enables truly unstoppable chat, as our chat channels can be accessed by any Nostr clients.
A lot of work remains to get Arcade to the level of polish of the major chat apps. This will be heavily work in progress over the next few months as we proceed toward a stable release we can put into the app stores.
We hope you'll help us by downloading this beta build and telling us how we can improve the app so you'll feel comfortable using it regularly. Please post any feedback in the "Arcade Feedback" channel, tweet at us @TheArcadeApp, or file an issue on our GitHub. Thank you!
Oslo
We name this release Oslo because that is where we're launching it from - and in recognition of the importance of censorship-resistant communications technology to the many people fighting for freedom around the globe. We are here to serve you.
Features
- Log in with Nostr nsec or create new account
- See unified list of your chat channels: public (NIP-28), DMs (NIP-4), and private groups (NIP-112)
- See list of your contacts
- Create a new public or private channel
- Invite your contacts to any public or private channel
- View profile of any chat channel member and follow or message them
- Add/remove Nostr relays
- Edit your profile name/username/bio and avatar/cover images
Encrypted Group Chat - NIP-112
This build includes a partial implementation of the new NIP-112, a draft Nostr specification for encrypted group chat written by our own @earonesty.
We request any technical/cryptographic feedback on the NIP-112 pull request.
What's Changed
- New web hello world by @ArcadeCityMayor in #69
- Init fresh Expo 48 project by @ArcadeCityMayor in #70
- Install Stream SDK by @ArcadeCityMayor in #71
- Add initial ChannelList with demo user & channel by @ArcadeCityMayor in #72
- Add Stream example code by @ArcadeCityMayor in #73
- Finish basic Stream chat with Arcade theme by @ArcadeCityMayor in #74
- Redesign to black/cyan theme by @ArcadeCityMayor in #75
- Mock wallet screen by @ArcadeCityMayor in #76
- Add profile mock by @ArcadeCityMayor in #77
- Tweaks by @ArcadeCityMayor in #78
- Add websocket handshake to arcade-relay by @ArcadeCityMayor in #79
- New splash screen by @ArcadeCityMayor in #80
- Add splash fade-in and glow/gradient by @ArcadeCityMayor in #81
- Splash welcome flow by @ArcadeCityMayor in #82
- Start MVP screens [GPT] by @ArcadeCityMayor in #83
- Finalize MVP navigation hierarchy by @ArcadeCityMayor in #84
- Reconnect NIP-06 login/logout; mimic Telegram navbar by @ArcadeCityMayor in #85
- Reconnect chat by @ArcadeCityMayor in #86
- Begin conversion to expo-router by @ArcadeCityMayor in #87
- Create home splash and prepare build by @ArcadeCityMayor in #88
- Placeholder splash by @ArcadeCityMayor in #89
- Add demo login page by @ArcadeCityMayor in #90
- Migrate to expo-router by @reyamir in #91
- Restore splash by @ArcadeCityMayor in #92
- Add react-three-fiber canvas by @ArcadeCityMayor in #93
- Add Alby test component by @ArcadeCityMayor in #94
- Initial support for nostr wallet connect by @reyamir in #96
- Fix vh/vw on mobile build by @ArcadeCityMayor in #98
- Delete unnecessary libraries by @ArcadeCityMayor in #99
- Reconnect onboarding screens by @ArcadeCityMayor in #100
- Convert to Ignite by @ArcadeCityMayor in #101
- Remove Ignite demo code by @ArcadeCityMayor in #102
- Add placeholder HomeScreen by @ArcadeCityMayor in #103
- Delete pre-Ignite code by @ArcadeCityMayor in #104
- Add new navbar by @ArcadeCityMayor in #105
- Add ignite docs by @ArcadeCityMayor in #107
- Add home messages screen by @reyamir in #108
- Add demo drawer via ScreenWithSidebar by @ArcadeCityMayor in #109
- Add core screens by @reyamir in #111
- Integrate arclib by @reyamir in #112
- Build config tweaks by @ArcadeCityMayor in #113
- Shim arclib/nostr-tools to work on mobile by @ArcadeCityMayor in #114
- Basic support NIP-28 by @reyamir in #116
- Add more core screens by @reyamir in #117
- Add more core screens by @reyamir in #118
- Minor updates by @reyamir in #121
- Remove secp256k1 patch, bump build info by @ArcadeCityMayor in #122
- Fix some errors by @reyamir in #123
- Hotfix by @reyamir in #124
- Add initial demo screens by @ArcadeCityMayor in #125
- Add demo chat screens by @reyamir in #127
- Add new logo/splash screen (iOS) by @ArcadeCityMayor in #128
- Fix Android production crash on start by @ArcadeCityMayor in #129
- Remove all placeholders by @reyamir in #131
- fix expo start by @earonesty in #134
- ren's db-connect + my android stuff by @earonesty in #136
- Add animated cascade demo by @ArcadeCityMayor in #138
- Add Watermelon pods by @ArcadeCityMayor in #140
- Initial support for NIP-04 by @reyamir in #143
- Start redesign by @ArcadeCityMayor in #144
- updates-db by @earonesty in #145
- unsub by @earonesty in #146
- Change handleSubmit to submitForm by @reyamir in #147
- Add background glow via Skia by @ArcadeCityMayor in #148
- ok image support by @earonesty in #149
- More channel screens by @reyamir in #150
- Improve onboarding design by @ArcadeCityMayor in #152
- Use arclib as git submodule by @reyamir in #153
- Fix some bugs by @reyamir in #154
- Contact screens by @reyamir in #159
- working encrypted group chat by @earonesty in #158
- working render test by @earonesty in #160
- fix home message screen by @earonesty in #162
- Update for v0.1.0 by @reyamir in #161
- Tweak channel create heading styling by @ArcadeCityMayor in #166
- Fix android slider by @earonesty in #164
- Fix channel and listing screens by @reyamir in #165
- use secure storage by @earonesty in #163
- Prepare 0.1.0 by @ArcadeCityMayor in #167
- works with public pulls by @earonesty in #173
- Update channel by @reyamir in #168
- fix encrypted channels by @earonesty in #174
- Add settings screen by @reyamir in #176
- push notifications by @earonesty in #177
- Minor updates by @reyamir in #178
- Add new logo and initial HUD animation by @ArcadeCityMayor in #181
- Refactor UI by @ArcadeCityMayor in #184
- Update direct message by @reyamir in #180
- feat: setup ActivityIndicator / Frame / TextInput / Button by @enzomanuelmangano in #186
- Remove EAS & Expo entry points by @ArcadeCityMayor in #187
- Convert tab bar to HUD Frame by @ArcadeCityMayor in #188
- Add demo AI chat screen by @ArcadeCityMayor in #189
- Misc UI cleanup by @ArcadeCityMayor in #192
- Fix android by @reyamir in #193
- Fix Android nav animation by @ArcadeCityMayor in #194
- fix: skia frame behavior by @enzomanuelmangano in #195
- Swap in final logos by @ArcadeCityMayor in #196
- Update default channels by @reyamir in #197
- Minor updates UI by @reyamir in #198
- Fix profile screen by @reyamir in #199
- Delete demo code by @ArcadeCityMayor in #200
- Finalize v0.1.0 for release by @ArcadeCityMayor in #201
- clipboard feature by @earonesty in #179
- Bump build to 74; v0.1.0 release candidate by @ArcadeCityMayor in #202
New Contributors
- @reyamir made their first contribution in #91
- @earonesty made their first contribution in #134
- @enzomanuelmangano made their first contribution in #186
Full Changelog: v0.0.5-alpha...v0.1.0-beta