18 Commits

Author SHA1 Message Date
Theodore Dubois 9510680692 Make sure to take sqlite write locks upfront
Fun quirk of sqlite is that if you BEGIN DEFERRED and then do a read
statement and then another process concurrently does a write and then
the first process does a write statement on the same transaction, it
will immediately return SQLITE_BUSY because it's impossible to do a
write against a past version of the database. To fix this we need to use
BEGIN IMMEDIATE to take a write lock upfront on any transaction that
will need to write.
2024-10-27 15:10:14 -07:00
Theodore Dubois a11d7b6f9d Hide items not found in database instead of crashing 2023-06-02 18:03:10 -07:00
Theodore Dubois 0b968c8cff Use the exception exfiltrator in the file provider too 2023-05-20 18:36:42 -05:00
Theodore Dubois d9b0d1be6e Rewrite the file provider to work on Linux 2022-02-21 19:22:09 -08:00
Saagar Jha 4ce766fdc3 Remove file provider cleanup timer, fixing #1591
We can instead just run cleanup periodically on a codepath that is
called when the user is actively using the file provider, rather than
burning CPU time in the background when not necessary.
2021-10-24 10:44:22 -07:00
Theodore Dubois cd32f2a019 Fix build 2021-06-27 10:54:42 -07:00
Theodore Dubois 35fd96d420 Allow the file provider to fail without crashing
If you start the file provider before opening the app for the first
time, it can't open the rootfs and won't be able to display anything.
Make it return an error in this case instead of crashing.

Fixes #978
2020-10-25 19:42:01 -07:00
Theodore Dubois 8683e98793 Periodically delete deleted files from file provider storage
Fixes #603
2020-10-04 11:32:03 -07:00
Theodore Dubois 82fda42b77 Add button to browse a root in Files 2020-06-18 00:19:00 -07:00
Theodore Dubois a7c910761a Add filesystem management
#695
2020-06-17 10:04:03 -07:00
Theodore Dubois cc89ed2619 Get app group IDs from entitlements
A bunch of people have tried to build the app from source and got confused when it crashed, because they customized the app group but didn't update the preprocessor macro. Now the app reads its app group off the mach-o on disk.

This also fixes AltStore, which has to change app group names too.

Fixes #650
2020-02-29 16:46:53 -08:00
Theodore Dubois ca00c483b2 Make it easy to change the bundle ID 2019-05-11 15:59:19 -07:00
Theodore Dubois 046c76a699 Use the actual filename instead of a bunch of random numbers 2019-02-11 09:43:21 -08:00
Theodore Dubois dfa37180b6 Implement rename and reparent in the file provider 2019-02-08 20:29:03 -08:00
Theodore Dubois bb924a48a8 Implement removing files and directories 2019-02-08 20:04:54 -08:00
Theodore Dubois f1fefd2482 Implement creating files and directories in file provider 2019-02-08 17:39:08 -08:00
Theodore Dubois 724d5f2202 Make it possible to sanely edit files through the file provider 2019-01-29 13:06:52 -08:00
Theodore Dubois 62a699603b Add half-finished files app integration 2018-09-22 15:18:45 -07:00