Mobile app¶
The Splintertree companion app is an Android-only client for managing your account, chatting with friends and guildmates, browsing the game database, and reading forum / support tickets. It does not run the game itself; that's still desktop-only via the launcher.
Status: alpha
The shell crate (splintertree-mobile/), the touch-first
/m/* route tree, and the Docker / GitHub Actions build pipeline
are in place. Distribution channel signups (Play Console, F-Droid
inclusion request) are pending the first stable build.
Get the app¶
We publish the same signed AAB / APK to three channels so you can pick whichever you trust:
| Channel | Status | Notes |
|---|---|---|
| Google Play Store | Planned (default for most users) | One-tap install + auto-updates. Bundle ID dev.luebke.splintertree.mobile. |
| F-Droid | Planned | Reproducible-build inclusion via the upstream metadata repo. No Google account needed. |
| GitHub releases | Live for every tagged release | Direct AAB + universal APK on the releases page. Side-load with adb install. |
The Play Store + F-Droid builds and the GitHub release artifacts come
from the same splintertree-mobile/Dockerfile and the same workflow
(.github/workflows/mobile.yml); the Play upload is just the same
AAB re-signed with the operator's Play upload key.
What it does¶
- Account — sign in with email + password (same
/api/v1/auth/loginthe launcher uses), see splintertag, manage 2FA, redeem keycodes, view subscription days remaining. - Social — friends list, account-level DMs, and guild chat over
the same
/api/v1/social/wsWebSocket the launcher uses. Push notifications for inbound DMs / friend requests are delivered via Firebase Cloud Messaging; the device registers its token withPOST /api/v1/me/push-tokenon every sign-in. - Database — read-only views of items / quests / NPCs / achievements / guilds / armory.
- Shop — browse the Splintertoken catalogue and redeem keycodes. Purchases route through the existing web payment gateway so the app doesn't pay the platform store cut.
- Forum — same forum the web portal serves; reachable from the Account tab.
- Support tickets — your own tickets only
(
/api/v1/tickets/mine). No bug-report form; tickets are the single intake channel.
Account creation is intentionally web-only: you sign up at
/register on the website (Play Store + email-verification flows
make in-app registration painful and the website is the canonical
entry point anyway).
Architecture¶
The mobile app is not a separate frontend codebase. It reuses the
Quasar SPA at splintertree-web-frontend/ and enters at the /m
route, which mounts MobileLayout.vue with a bottom QTabs nav (Home
/ Social / Shop / Database / Account). The Tauri shell lives in
splintertree-mobile/ and is intentionally minimal: it only exposes
ping, version, get_settings, and save_settings over the IPC
bridge.
| Layer | Path | Notes |
|---|---|---|
| Tauri shell | splintertree-mobile/ |
Cargo + tauri.conf.json, identifier dev.luebke.splintertree.mobile. |
| UI entry | /m in the SPA |
tauriShell() latches the entry path so router guards route the mobile shell into /m/* and reject /launcher deep-links. |
| Layout | src/layouts/MobileLayout.vue |
Bottom QTabs, single-column pages, shared --rc-* tokens. |
| Mobile-only pages | src/pages/mobile/Mobile*Page.vue |
Home feed, Social tabs, DM thread, guild thread, Account hub, Login. |
| Re-mounted desktop pages | src/pages/{Shop,ItemList,QuestList,...,Forum,MyTickets,...}.vue |
Same component as the web portal, mounted under /m/* so styling, components, and tokens stay shared. |
Heavy native commands (Wow.exe launch, full-client patching, addon
install) live only in splintertree-launcher and intentionally don't
exist on mobile, since the in-game client doesn't run there.
Building it yourself¶
If you want to build, sign, and publish your own fork of the app (e.g. for a private server), see Build & publish your own.