Newer
Older
## Running style checks and unit tests
When working on the code base, consider running the style checks and unit
tests locally, because the CI will complain anyway:
./gradlew :check
The above command does both. To run style checks only:
./gradlew ktlintCheck
If that fails, try formatting:
./gradlew ktlintFormat
Running unit tests only:
./gradlew :test --tests "*"
That will run tests from the desktop project only. On the other hand, this
will also run tests on briar core:
./gradlew test
## Testing different locales
To test the app with a different locale, add this e.g. in `Main.kt`:
```
Locale.setDefault(Locale("ar"))
```
and replace `ar` with a different language you would like to test, such as
Arabic in this example.
It is also possible to run from the command line using Gradle with a
different language setting:
```
GRADLE_OPTS="-Duser.language=fr -Duser.country=FR" ./gradlew run
```
## Threading
Some rules about threading in Briar Desktop:
* Always use local variables instead of the composable State objects inside
another thread: [Source](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/55#note_57632)
## Testing with multiple app instances
When experimenting with multiple app instances, it can make sense to
decrease the polling time in briar core so that adding contacts succeeds
quicker. In `RendezvousConstants`, change
`long POLLING_INTERVAL_MS = MINUTES.toMillis(1);`
to something lower such as
`long POLLING_INTERVAL_MS = SECONDS.toMillis(10);`.