🔀 Fork of Bluesky (https://github.com/bluesky-social/social-app) with minor adjustments for https://zio.blue
81441c3c26 | ||
---|---|---|
.bundle | ||
__tests__ | ||
android | ||
ios | ||
public | ||
scripts | ||
src | ||
.buckconfig | ||
.env | ||
.eslintrc.js | ||
.gitignore | ||
.prettierrc.js | ||
.ruby-version | ||
.watchmanconfig | ||
Gemfile | ||
README.md | ||
babel.config.js | ||
index.native.js | ||
metro.config.js | ||
package.json | ||
tsconfig.json | ||
yarn.lock |
README.md
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-pds
yarn dev-wallet
- Run the dev app
- iOS:
yarn ios
- Android:
yarn android
- Web:
yarn web
- iOS:
- Tips
npx react-native info
Checks 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