🔀 Fork of Bluesky (https://github.com/bluesky-social/social-app) with minor adjustments for https://zio.blue
| .bundle | ||
| __tests__ | ||
| android | ||
| ios | ||
| public | ||
| scripts | ||
| src | ||
| .buckconfig | ||
| .env | ||
| .eslintrc.js | ||
| .gitignore | ||
| .prettierrc.js | ||
| .ruby-version | ||
| .watchmanconfig | ||
| babel.config.js | ||
| Gemfile | ||
| index.native.js | ||
| metro.config.js | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| yarn.lock | ||
Social App
In-progress social app.
Uses:
Build instructions
- Setup your environment using the react native instructions.
- After initial setup:
cd ios ; pod install
- Start the dev servers
yarn dev-pdsyarn dev-wallet
- Run the dev app
- iOS:
yarn ios - Android:
yarn android - Web:
yarn web
- iOS:
- Tips
npx react-native infoChecks what has been installed.- On M1 macs, you need to exclude "arm64" from the target architectures
- Annoyingly this must be re-set via XCode after every pod install
Various notes
Env vars
Set using the .env file or using bash.
REACT_APP_AUTH_LOBBY = 'http://localhost:3001'
Build behaviors
The metro.config.js file rewrites a couple of imports. This is partly to work around missing features in Metro, and partly to patch the bundle. Affected imports include:
- ucans
- one-webcrypto
Cryptography
For native builds, we must provide a polyfill of webcrypto. We use react-native-securerandom for the CRNG and msrcrypto for the cryptography.
NOTE Keys are not currently stored securely.
Polyfills
./platform/polyfills.*.ts adds polyfills to the environment. Currently this includes:
- webcrypto
- TextEncoder / TextDecoder