Second iteration of the Lichess mobile app.
The project is still in early stage of development. Drastic changes may still happen, including project structure.
If you want to contribute, please read the contributing guide.
- Follow the Flutter guide to install Flutter and the platform of you choice (iOS and/or Android). Note, if you're on Linux, you should install flutter manually because there is an issue with snapd when building Stockfish. Note that this project is not meant to be run on web platform.
- Switch to the beta channel by running
flutter channel beta
andflutter upgrade
- Ensure Flutter is correctly configured by running
flutter doctor
While the app is in beta we'll use the beta
channel of Flutter.
If you want to use FVM to manage your Flutter versions effectively, please consult the FVM (Flutter Version Management) guide for comprehensive instructions on installing Flutter on your specific operating system.
Pro Tip: Remember to prepend the 'flutter' prefix when using FVM commands, like this: fvm flutter [command]
.
You will need a local lila (lichess server scala app) instance to work on this project. You will also need to setup lila-ws (websocket server).
Instructions to install both are found in the lila wiki.
The mobile application is configured by default to target http://127.0.0.1:9663
and ws://127.0.0.1:9664
, so keep these when installing lila.
We don't commit generated code to the repository. So you need to run the code generator first:
flutter pub get
dart run build_runner watch
Check you have some connected device with: flutter devices
.
If you target an android emulator you need to run these commands so the device can reach the local lila instance:
adb reverse tcp:9663 tcp:9663
adb reverse tcp:9664 tcp:9664
Then run on your device:
flutter run -d <my_device>
You can find more information about emulators in the wiki.
You can find more information about the flutter run
command by running flutter run --help
.
Before submitting a pull request, please run the tests:
flutter analyze
flutter test
dart devtools
Then run the app with the flutter run
command above, and a link to the logging page will be printed in the console.
Do not edit the app_en.arb
file by hand, this file is generated.
More information in the wiki.
Only for members of lichess team.
- Bump the pubspec.yaml version number. This can be in a PR making a change or a separate PR. Use semantic versioning to determine which part to increment. The version number after the + should also be incremented. For example 0.3.3+000303 with a patch should become 0.3.4+000304.
- Run workflow Draft GitHub Release
- Run workflow Deploy to Play Store