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