An android app to manage your self-hosted Zipline instance (zipline is https://zipline.diced.sh)
SafeEntity
Check their projects out: UnderTerm, kris-watcher, ReeTui
Ciao
Check their project out: ModBot
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Fixed an issue that would cause update button not to work for play store (changed in-app updates from FLEXIBLE to IMMEDIATE
Added a popup for the install APK button with the download progress so the user knows that it's downloading instead of just showing a toast
Updated app.config.ts to look nicer and easier to change name, ID and assets path for the different variants (currently release, prerelease and development)
I also did some tests to try to implement a persistent notification for background uploads but sadly the only good lib i found didn't work cuz it doesn't support the framework i use (expo) :(
Added the permission REQUEST_INSTALL_PACKAGES to let the app install APK files
Added a Install APK button on files to download and install the APK file (unless password protected)
Updated all the icons to use Material Symbols instead of Material Icons (font & codepoints loaded locally)
Added a setup script to download the Material Symbols TTF file and codepoints
Fixed an issue that would cause the folders' visibility to not get updated
Added optional Biometric Authentication
Metrics page now follows the adminOnly feature instead of showing for non-admins too
Fixed an issue that would cause the admin settings to fail to reload because of a HTTP request to an API route that was removed
Added untested update system (if installed from play store, uses play.core API, otherwise, if installed via APK, it checks the latest github release's version)
Partially added a version check system (still not fully implemented or tested)
Added a line in user settings' App Settings menu for the apk source (either google play or apk, or development instance in built from source)
Fixed wrong indentation in a metrics button
Added a camera button in the upload file section that allows to take a picture and crop it
Updated the change avatar buttons for self user and admins (to other users) to use media picker and allow cropping with aspect ratio of 1:1 (self user can also take a picture & crop other than upload)
Formatted code with biomejs
Currently working on a installer check & in-app update system
Updated the github workflow, now slit into 2 workflows, one for prerelease and one for release
Fixed an issue that would cause the app to crash when select a color through the color picker (fixed by moving the onComplete function from the UI thread to the JS thread)
(Thanks SoM reviewer for finding the issue, i prob wouldn't have found it otherwise lmao)
Updated chunked uploads system
Added a website for the app at zipline.stefdp.com (following the reverse domain notation from the app package ID com.stefdp.zipline)
Fixed an issue that would cause the app not to show anything on login screen
Updated popups and large file view to make it display over the header instead of under
After multiple attempts at making back gesture work correctly (go back in pages or close popups instead of just closing the app) i realized it was enough to replace router.replace with router.push 💀
Added BackHandler to LargeFileDisplay and Popup to make it close the popup instead of going back through the pages
Fixed an issue where in text upload, the content of the text input was not cleared after the upload
[untested] added chunked uploads support by splitting the file into smaller chunks inside the app's cache directory and uploading those chunks with the appropriate chunk header
Fixed app freezing when uploading large files by showing a loading message (both on file and text upload)
Update text File Type select to use webSettings.codeMap (fetched from /api/server/settings/web) from instead of hardcoded values
Fixed an issue that would cause the app to not load the user data
Moved metrics' change date button on a new line to avoid it overflowing
Fix date picker text styling (before it was all black on dark blue bg, now it's gray and white)
Updated useAuth hook to use data from the AuthContext context instead of fetching the user data on every page change
Fixed Recent Files section having no height when there was no file (replaced by a text saying so)
Fixed text inputs' content not being vertically centered
Fixed password input not hiding the password after it has been displayed
Updated all pages to use the ZiplineContext for public server settings/data instead of fetching it on every page change
Added a message telling the max file size uploadable to the Zipline instance
Added a check and a error popup for when any selected file exceeds the max file size
Bumped app version to 1.15.0
Updated convertToBytes function to correctly convert strings such as 4096mb
Created AuthContext (user role) & ZiplineContext (public server settings) to avoid fetching the settings on every page change (not yet applied to the app)
Increased minimum Zipline version to 4.2.3 as it's the only version with /api/server/public & /api/server/settings/web
Added functions to fetch /api/server/public & /api/server/settings/web & their types
In the last commits i updated all the app code so it targets as main android SDK 35 instead of SDK 34 since play store was complaining about it and fixed some issues reported by the few people who enrolled in the play store 14 days closed testing period