Note
This project is archived. React native feels incredibly clunky and I don't like how it partially adapts web standards. I'd much rather not use something that tries to look like web standards but is completely incompatible with them. I am working on a rewrite of both the desktop app and this one, using kotlin multiplatform
this is the android version of the desktop file_server client for my file server. It's still under development but I aim to bring all functionality to this app.
The first thing you'll need is to make sure you have an instance of file_server running...somewhere, preferably on your local machine. Import your ca.crt generated from the gen_certs.sh script in that project to the phone you're testing on.
The next thing you'll need is to follow the instructions located in ./assets/config.example.jsonc. This is to set up app config
This is a react native application using expo. The style framework is react-native-paper, and it uses Jest for tests.
- Node Version
- 22
- Min Android SDK Version
- 29
Note
in case you run npx expo prebuild --clean, you need to add this file to ./android/src/main/res/xml/network_security_config.xml in order to allow your application to trust user certs
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<!-- this line is for the expo dev server. If your file server runs with https enabled, you don't have to worry about this leaking your info -->
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>cleartextTrafficPermitted="true" is required for expo dev server to function
On top of that, you need to add this line to ./android/gradle.properties
AsyncStorage_useNextStorage=true