Second iteration of the Lichess mobile app.
Contributions to this project are welcome!
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.
To use the Lichess dev to run this app, run the following command to set up the Lichess host URLs in the app.
flutter run --dart-define=LICHESS_HOST=lichess.dev --dart-define=LICHESS_WS_HOST=socket.lichess.dev
Note : Do not use any scheme (https:// or ws://) in url in host, since it's already handled by URI helper methods
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.
Note: Only run the command if you are using a local Lila server; otherwise, there's no need to set up port forwarding.
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 documentation.
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.
For more information, see Internationalisation.
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 Deploy to Play Store