This repository is the tartar sauce spaghetti code of Floaty.
| Feature | Windows | MacOS | Linux | Android | iOS | Info |
|---|---|---|---|---|---|---|
| Channel Page | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Post Page | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Playback | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Livestream Page | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Livesteam playback | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Live Chat | Awaiting Fix from floatplane. | |||||
| Live Chat Polls | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Live Chat Emotes | ||||||
| Floatplane Settings | Some settings are there. | |||||
| Home Page | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Whenplane intergration | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Updater | ✅ | ✅ | ✅ | ✅ | ✅ | |
| PiP | ✅ | ✅ | ✅ | ✅ | ❌ | |
| Mini Player | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Subtitles | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Download | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Login | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Notifications | ❌ | ❌ | ❌ | ❌ | ❌ | Deciding on how to complete this. |
First, install Flutter by following the official guide:
➡️ Flutter Installation Guide
Make sure to set up your system PATH to include the flutter/bin directory.
Verify installation:
flutter --versiongit clone https://github.com/floatyfp/floaty.git
cd floatySome dependencies rely on Rust, install Rust first by following the official guide:
➡️ Rust Installation Guide
flutter pub getMake sure you have an Android/iOS device or a desktop environment ready.
To get a list of available devices and select an option to run on:
flutter runOr list devices and run on a specific one:
flutter devices
flutter run -d DEVICE_IDYou can build the app in either release or debug mode. If you're building it in release refer to step 6 to setup certificates.
-
Android APK
Build a release APK:flutter build apk --<INSERT MODE>
-
iOS
Build for iOS (requires macOS and Xcode):flutter build ios --<INSERT MODE>
-
Windows
flutter build windows --<INSERT MODE>
-
macOS
flutter build macos --<INSERT MODE>
-
Linux
flutter build linux --<INSERT MODE>
To publish a signed APK or App Bundle:
- Generate a signing key:
keytool -genkey -v -keystore ~/your_keystore_name.jks -keyalg RSA -keysize 2048 -validity 10000 -alias your_key_alias - Create a
key.propertiesfile in theandroid/directory:storePassword=your_store_password keyPassword=your_key_password keyAlias=your_key_alias storeFile=/path/to/your_keystore_name.jks
- Edit
android/app/build.gradleto load thekey.propertiesand configure signingConfigs.
Full guide here: Signing Flutter apps