continuwuity/BEEPER.md
2026-07-10 17:37:29 +00:00

73 lines
3 KiB
Markdown

## Setup
### Server
- Use this fork
- Make sure email works ([config](conduwuit-example.toml#L1958))
- Or [don't use email](src/api/client/beeper.rs#L63) if testing
Login still needs an email address, so `!admin users change-email user user@mail.invalid`
- Set `well_known.client` if using delegation ([config](conduwuit-example.toml#L1860))
- Route `api.server.name` to c10y if registration is enabled
### Android
1. Get an APK from somewhere
2. `apktool d com.beeper.android.apk`
3. Edit `com.beeper.android/smali_classes3/com/beeper/datastore/Environment.smali`
- Replace these strings with the server url and name (around line 200)
```smali
.line 50
.line 51
const-string v7, "https://matrix.beeper.com"
.line 52
.line 53
const-string v8, "https://api.beeper.com"
.line 54
.line 55
const-string v4, "PROD"
.line 56
.line 57
const/4 v5, 0x3
.line 58
const-string v6, "beeper.com"
```
4. `apktool b com.beeper.android`
5. `uber-apk-signer -a com.beeper.android/dist/com.beeper.android.apk`
6. Install `com.beeper.android/dist/com.beeper.android-aligned-debugSigned.apk`
#### Registration
Seems to work fine
#### Login
7. Open Beeper and log in
8. When it gets to `Syncing inbox...` wait a few minutes to make sure it's done and then close the app
9. `adb root`
10. `adb pull /data/data/com.beeper.android/matrix/account.db{,-shm,-wal} .`
11. `sqlite3 account.db "INSERT INTO store VALUES ('first_sync_done', 1);"`
12. `adb push account.db /data/data/com.beeper.android/matrix/account.db`
13. `adb shell`
- `ls -l /data/data/com.beeper.android/matrix` and check the file owners
- `chown u0_a??? /data/data/com.beeper.android/matrix/account.db` change `u0_a???` to match
- `rm /data/data/com.beeper.android/matrix/account.db-*`
14. Open Beeper again
### Linux
1. `curl -OL https://api.beeper.com/desktop/download/linux/x64/stable/com.automattic.beeper.desktop`
2. `chmod +x com.automattic.beeper.desktop`
3. `./com.automattic.beeper.desktop --appimage-extract`
4. `find ./squashfs-root/resources/app/build -type f -print0 | xargs -0 sed -i '' -e 's|https://api.beeper.com|https://matrix.server.name|g'`
5. `squashfs-root/beepertexts`
6. Log in / register
7. When it gets to `Syncing inbox...` wait a few minutes to make sure it's done and then close Beeper
8. `sqlite3 ~/.config/BeeperTexts/account.db "INSERT INTO store VALUES ('first_sync_done', 1);"`
9. Open it again
---
## Issues
- The displayname and profile picture is sometimes not shown in the settings (but is fine everywhere else)
- They usually appear after changing either
- Changing the email doesn't work yet
- The app occasionally crashes
- UIAA is not implemented yet
- Messages can't be sent if `m.room.power_levels` has `events_default` > powerlevel, even if `m.room.message` would allow it
- Beeper Desktop is weird with the room timeline
- Push/background notifications don't work