Graysky is a Bluesky client written in React Native. ๐ง WIP ๐ง
You'll need pnpm, and some sort of simulator or device to run the app on.
pnpm install
Weird side step - you need to go to
apps/expo/app.config.ts
and delete theextra
field which has an expo project id in it. Sorry, I'll fix this later.
You can then start the expo server with:
pnpm dev:expo
(Note: this is just a shortcut for expo start
)
Then just scan the QR code!
- Notifications screen
- Image viewer
- Pull to refresh fix
- Haptics
- Post composer
- Context menu - post actions
- Block/Unblock user
- Quote post
- Dark mode
- Sidebar w/ logout button
- Search screen
- Invites screen
- Upload images
- Followers/Following screens
- Likes list
- Context menu - user actions
- Image viewer: Pinch to zoom
- Custom feeds
- Moderation settings
- Settings screen
- Create account flow
- Edit profile screen
- Push notifications
- App Store???
- Install Android Studio, and the Android SDK
- Install Oracle Java 11 JDK
- Make Gradle faster in
~/.gradle/gradle.properties
:
org.gradle.jvmargs=-Xmx20g -XX:MaxPermSize=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
- 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
SHORT_SHA=$(git rev-parse --short HEAD)
eas build --platform ios --profile production --non-interactive --local --output="./$SHORT_SHA.ipa" --wait && say "Build finished"
eas submit --platform ios --path="./$SHORT_SHA.ipa" --wait && say "Submitted to TestFlight"
set SHORT_SHA (git rev-parse --short HEAD)
eas build --platform ios --profile production --non-interactive --local --output="./$SHORT_SHA.ipa" --wait; and say "Build finished"
eas submit --platform ios --path="./$SHORT_SHA.ipa" --wait; and say "Submitted to TestFlight"
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: