# blueskeet

> Blueskeet is a Bluesky client forked from mozzius/blueskeett and is written in React Native. Meant as a fun little learning experiment and to see if I could compile my own app.

Latest version **1.0.0** (published 2023-05-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install blueskeet
pnpm add blueskeet
yarn add blueskeet
bun add blueskeet
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2023-05-04 |
| First published | 2023-05-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=v18.16.0 |
| Dependencies | 18 |
| Unpacked size | 8.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | labat |

## Links

- npm: https://www.npmjs.com/package/blueskeet
- npm.io page: https://npm.io/package/blueskeet

## Dependencies (18)

- [expo](https://npm.io/package/expo.md) ~48.0.15
- [react](https://npm.io/package/react.md) 18.2.0
- [turbo](https://npm.io/package/turbo.md) ^1.9.3
- [eslint](https://npm.io/package/eslint.md) ^8.39.0
- [prettier](https://npm.io/package/prettier.md) ^2.8.8
- [react-dom](https://npm.io/package/react-dom.md) 18.2.0
- [typescript](https://npm.io/package/typescript.md) ^4.9.4
- [@manypkg/cli](https://npm.io/package/@manypkg/cli.md) ^0.20.0
- [react-native](https://npm.io/package/react-native.md) 0.71.7
- [@types/prettier](https://npm.io/package/@types/prettier.md) ^2.7.2
- [expo-dev-client](https://npm.io/package/expo-dev-client.md) ~2.2.1
- [expo-status-bar](https://npm.io/package/expo-status-bar.md) ~1.4.4
- [react-native-web](https://npm.io/package/react-native-web.md) ~0.18.10
- [expo-splash-screen](https://npm.io/package/expo-splash-screen.md) ~0.18.2
- [@expo/webpack-config](https://npm.io/package/@expo/webpack-config.md) ^18.0.1
- [@blueskeet/eslint-config](https://npm.io/package/@blueskeet/eslint-config.md) ^0.1.0
- [prettier-plugin-tailwindcss](https://npm.io/package/prettier-plugin-tailwindcss.md) ^0.2.7
- [@ianvs/prettier-plugin-sort-imports](https://npm.io/package/@ianvs/prettier-plugin-sort-imports.md) ^3.7.2

## Recent versions

- 1.0.0 (latest) — 2023-05-04

## README

# Blueskeet

Blueskeet is a Bluesky client forked from mozzius/blueskeett and is written in React Native. Meant as a fun little learning experiment and to see if I could compile my own app.

Much of this documentation comes from mozzius, I will tweak should I make any MAJOR revisions.

- Labat

## Getting Started

You'll need pnpm, and some sort of simulator or device to run the app on.

```bash
pnpm install
```

> Weird side step - you need to go to `apps/expo/app.config.ts` and delete the `extra` field which has an expo project id in it. Sorry, I'll fix this later.

You can then start the expo server with:

```bash
pnpm dev:expo
```

(Note: this is just a shortcut for `expo start`)

Then just scan the QR code!

## Roadmap to Feature Parity

- [x] Notifications screen
- [x] Image viewer
- [x] Pull to refresh fix
- [x] Haptics
- [x] Post composer
- [x] Context menu - post actions
- [x] Block/Unblock user
- [x] Quote post
- [x] Dark mode
- [x] Sidebar w/ logout button
- [ ] Followers/Following screens
- [ ] Settings screen
- [ ] Context menu - user actions
- [ ] Image viewer: Pinch to zoom
- [ ] Better haptics
- [ ] Search screen
- [ ] Invites screen
- [ ] Create account flow
- [ ] Push notifications
- [ ] App Store???

## Android local APK builds

- 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](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 IPA builds

> This is fish shell format, but you can probably figure out how to translate it to bash.

```
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"
```

---
_Source: https://npm.io/package/blueskeet · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
