Graysky is a Bluesky client written in React Native.
Get it here: https://graysky.app/download
You'll need pnpm, and some sort of simulator or device to run the app on.
pnpm install
cp .env.example .env
EAS setup (optional) Set EAS_PROJECT_ID, APP_ID, and OWNER in .env
In the /apps/expo
directory, build the dev client using EAS:
pnpm build:dev-client:ios-simulator
// or
pnpm build:dev-client:android
You can then start the expo server with:
pnpm dev
- Change handle
- own domain
- bsky.social
- community handles
- Push notifications
- Drafts
- Full lists support
- Share post as image
- Pro features
- Polls
- Analytics
- Install Android Studio, and the Android SDK
- Install Azul Zulu OpenJDK (
brew install --cask zulu17
) and then setJAVA_HOME
to the path of the JDK, which will probably be/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
- Copy
google-services.json.example
togoogle-services.json
, or add your own Firebase config - Make Gradle faster in
~/.gradle/gradle.properties
:
org.gradle.jvmargs=-Xmx20g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=2g
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=false
org.gradle.caching=true
You can now either run pnpm build:android
to build and submit the app, or if you want to sign a build manually you can do the following:
- Create a signing key in Android Studio
- Build it with:
eas build --platform android --profile production-apk --non-interactive --local --output="./foo.apk" --wait
- Sign it with:
/Users/alice/Library/Android/sdk/build-tools/33.0.0/apksigner sign -ks sideload.jks foo.apk
In the /apps/expo
directory:
pnpm build:ios
Thank you to @thepriceisright for sponsoring my work on this project!
Graysky is primarily developed by @mozzius.dev. If you'd like to show your support for the project, you can sponsor me.
However, I'm not the only one who's contributed to this project. I'd like to especially thank @alice.bsky.sh for her work on adding dark mode, and getting Android builds working, and thank @holden.bsky.social for their invaluable accessibility improvements.
My eternal thanks to the following people for their contributions to Graysky: