🔀 Fork of Bluesky (https://github.com/bluesky-social/social-app) with minor adjustments for https://zio.blue
7171d0404e
* Fix permission usage descriptions on iOS * Bump ios build number |
||
---|---|---|
.bundle | ||
.github/workflows | ||
__e2e__ | ||
__mocks__ | ||
__tests__/lib | ||
assets | ||
bskyweb | ||
jest | ||
patches | ||
scripts | ||
src | ||
web | ||
.buckconfig | ||
.detoxrc.js | ||
.eslintrc.js | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.js | ||
.ruby-version | ||
.watchmanconfig | ||
Dockerfile | ||
Gemfile | ||
README.md | ||
app.json | ||
babel.config.js | ||
eas.json | ||
index.js | ||
index.web.js | ||
metro.config.js | ||
package.json | ||
tsconfig.json | ||
webpack.config.js | ||
yarn.lock |
README.md
Bluesky
Build instructions
- Setup your environment using the react native instructions.
- Setup your environment for e2e testing using detox:
- yarn global add detox-cli
- brew tap wix/brew
- brew install applesimutils
- After initial setup:
npx expo prebuild
-> you will also need to run this anytimeapp.json
orpackage.json
changes
- Start the dev servers
git clone git@github.com:bluesky-social/atproto.git
cd atproto
yarn
cd packages/dev-env && yarn start
- Run the dev app
- iOS:
yarn ios
- Android:
yarn android
- Web:
yarn web
- iOS:
- Run e2e tests
- Start in various console tabs:
yarn e2e:server
yarn e2e:metro
- Run once:
yarn e2e:build
- Each test run:
yarn e2e:run
- Start in various console tabs:
- Tips
npx react-native info
Checks what has been installed.- The android simulator won't be able to access localhost services unless you run
adb reverse tcp:{PORT} tcp:{PORT}
- For instance, the localhosted dev-wallet will need
adb reverse tcp:3001 tcp:3001
- For instance, the localhosted dev-wallet will need
- For some reason, the typescript compiler chokes on platform-specific files (e.g.
foo.native.ts
) but only when compiling for Web thus far. Therefore we always have one version of the file which doesn't use a platform specifier, and that should bee the Web version. (More info.)
Various notes
Debugging
- Note that since 0.70, debugging using the old debugger (which shows up using CMD+D) doesn't work anymore. Follow the instructions below to debug the code: https://reactnative.dev/docs/next/hermes#debugging-js-on-hermes-using-google-chromes-devtools
Developer Menu
To open the Developer Menu on an expo-dev-client
app you can do the following:
- Android Device: Shake the device vertically, or if your device is connected via USB, run adb shell input keyevent 82 in your terminal
- Android Emulator: Either press Cmd ⌘ + m or Ctrl + m or run adb shell input keyevent 82 in your terminal
- iOS Device: Shake the device, or touch 3 fingers to the screen
- iOS Simulator: Press Ctrl + Cmd ⌘ + z on a Mac in the emulator to simulate the shake gesture, or press Cmd ⌘ + d
Running E2E Tests
- Make sure you've setup your environment following above
- Make sure Metro and the dev server are running
- Run
yarn e2e
- Find the artifacts in the
artifact
folder
Polyfills
./platform/polyfills.*.ts
adds polyfills to the environment. Currently this includes:
- TextEncoder / TextDecoder