Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mozzius/graysky
a bluesky client for ios and android
https://github.com/mozzius/graysky
at-protocol bluesky bluesky-client react-native
Last synced: 5 days ago
JSON representation
a bluesky client for ios and android
- Host: GitHub
- URL: https://github.com/mozzius/graysky
- Owner: mozzius
- License: mit
- Created: 2023-04-15T17:45:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-27T18:09:19.000Z (about 2 months ago)
- Last Synced: 2024-12-16T22:11:22.774Z (9 days ago)
- Topics: at-protocol, bluesky, bluesky-client, react-native
- Language: TypeScript
- Homepage: https://graysky.app
- Size: 48.9 MB
- Stars: 570
- Watchers: 8
- Forks: 49
- Open Issues: 73
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Graysky
[![Crowdin](https://badges.crowdin.net/graysky/localized.svg)](https://crowdin.com/project/graysky)
Graysky is a Bluesky client written in React Native.
Get it here: https://graysky.app/download
## Getting Started
You'll need pnpm, and some sort of simulator or device to run the app on.
```bash
pnpm install
cp .env.example .env
```> EAS setup (optional)
> Set EAS_PROJECT_ID, APP_ID, and OWNER in .envIn the `/apps/expo` directory, build the dev client using EAS:
```bash
pnpm build:dev-client:ios-simulator
// or
pnpm build:dev-client:android
```You can then start the expo server with:
```bash
pnpm dev
```## Future Roadmap
- [ ] Change handle
- [ ] own domain
- [x] bsky.social
- [ ] community handles
- [x] Push notifications
- [ ] Drafts
- [x] Full lists support
- [x] Share post as image
- [ ] Pro features
- [ ] Polls
- [ ] Analytics## Android local APK builds
- Install Android Studio, and the Android SDK
- Install Azul Zulu OpenJDK (`brew install --cask zulu17`) and then set `JAVA_HOME` to the path of the JDK, which will probably be `/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home`
- Copy `google-services.json.example` to `google-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](https://developer.android.com/studio/publish/app-signing#generate-key)
- 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`## iOS local builds
In the `/apps/expo` directory:
```
pnpm build:ios
```# Sponsors
Thank you to @thepriceisright for sponsoring my work on this project!
# Contributors
Graysky is primarily developed by [@mozzius.dev](https://bsky.app/profile/mozzius.dev). If you'd like to show your support for the project, you can [sponsor me](https://github.com/sponsors/mozzius).
However, I'm not the only one who's contributed to this project. I'd like to especially thank [@alice.bsky.sh](https://bsky.app/profile/alice.bsky.sh) for her work on adding dark mode, and getting Android builds working, and thank [@holden.bsky.social](https://bsky.app/profile/holden.bsky.social) for their invaluable accessibility improvements.
## All Contributors
My eternal thanks to the following people for their contributions to Graysky:
- [@alice.bsky.sh](https://bsky.app/profile/alice.bsky.sh)
- [@holden.bsky.social](https://bsky.app/profile/holden.bsky.social)
- [@matthewstanciu.com](https://bsky.app/profile/matthewstanciu.com)
- [@mary.my.id](https://bsky.app/profile/mary.my.id)
- [@st-cyr.bsky.social](https://bsky.app/profile/st-cyr.bsky.social)