TheOutdoorProgrammer
07dca55fe1
Fix: Detect files modified directly on GitHub
...
Fixes #45 - Plugin now detects when files are edited via GitHub web UI.
The manifest only updates when syncing through this plugin. We now compare
actual tree SHAs with manifest SHAs to catch external modifications.
Changes:
- Compare remote file SHAs from git tree with manifest SHAs
- Update manifest when external changes detected
- Handle new files added externally
2026-01-30 12:05:55 -05:00
Silvano Cerza
59f951f2b8
Fix sync not working if files have been deleted, moved, or renamed
2025-05-22 16:50:02 +02:00
Silvano Cerza
69841aa574
Fix log file being synced if settings sync is enabled
2025-04-20 21:25:24 +02:00
Silvano Cerza
345826443f
Fix issue reading binary files on iOS causing sync to fail
2025-04-20 17:33:13 +02:00
Silvano Cerza
e33de48075
Create remote manifest on first sync with local manifest content
2025-04-20 15:42:14 +02:00
Silvano Cerza
b2f3db6050
Fix first sync marked as done on failure
2025-04-20 13:16:57 +02:00
Silvano Cerza
be547d8691
Fix trying to sync deleted files on first sync
2025-04-20 13:16:53 +02:00
Silvano Cerza
786cefaf4d
Correctly update metadata when extracting zip
2025-04-18 19:41:16 +02:00
Silvano Cerza
654fa6b455
Add some more logs
2025-04-18 18:14:36 +02:00
Silvano Cerza
1e16d01adf
Skip hidden files when unzipping repo on first sync from remote
2025-04-18 18:06:20 +02:00
Silvano Cerza
56bd6dee4c
Fix crashes when unzipping repo on first sync from remote
2025-04-18 18:05:30 +02:00
Silvano Cerza
b6be53ca16
Add retry to most requests made by SyncManager
2025-04-17 12:57:57 +02:00
Silvano Cerza
13383dc65c
Change all GithubClient method to support retry and slightly change arguments type
2025-04-17 12:57:57 +02:00
Silvano Cerza
457a0b6d24
Fix repo unzip
2025-04-17 09:57:17 +02:00
Silvano Cerza
1a2eb64959
Simplify logic that determines if a file is text or binary
2025-04-16 16:58:23 +02:00
Silvano Cerza
6c9b8625c3
Enhance first sync from remote to make less requests
2025-04-16 15:02:14 +02:00
Silvano Cerza
5879d22a52
Fix text files being treated as binaries if their size is big
2025-04-01 13:09:46 +02:00
Silvano Cerza
acf5157971
Remove unnecessary import
2025-03-30 11:10:02 +02:00
Silvano Cerza
5f0c8b1ed2
Fix binary files failing to upload to GitHub
2025-03-21 17:03:13 +01:00
Silvano Cerza
65f77c5720
Correctly register listener events
2025-03-20 09:49:01 +01:00
Silvano Cerza
12feb2c90f
Add button to reset plugin settings and metadata
2025-03-09 18:13:59 +01:00
Silvano Cerza
0ca42124db
Respect user settings on conflict
2025-03-01 17:13:43 +01:00
Silvano Cerza
fc890b5d95
Purge onboarding flow
...
The onboarding flow and UI was a bit clunky and made it annoying to handle
failures, backtracking, errors made by the user, etc.
I decided to remove it completely and just show a notice to the user if
the plugin is not correctly configured, forcing them to take action.
Documentation is going to be key in teaching the user how to configure
the plugin properly.
2025-03-01 16:43:25 +01:00
Silvano Cerza
7d389f8e0c
Handle corner case in conflict check
2025-02-28 17:39:06 +01:00
Silvano Cerza
e4409cb96e
Properly decode emoji chars
2025-02-28 17:35:01 +01:00
Silvano Cerza
b8df463e66
Change filename occurances to filePath for consistency
2025-02-28 17:01:14 +01:00
Silvano Cerza
fa192eb197
Fix some issues with conflict resolution and syncing
2025-02-28 16:57:50 +01:00
Silvano Cerza
2d8ee9f7bd
Handle conflicts resolution end to end
2025-02-25 18:47:01 +01:00
Silvano Cerza
cef814f702
Rework how conflicts are passed from SyncManager to ConflictsResolutionView
2025-02-23 16:43:22 +01:00
Silvano Cerza
1d4bc03aac
Change GithubClient.getBlob use the sha instead of the URL
2025-02-23 16:42:56 +01:00
Silvano Cerza
c0792c79e7
Show notice on sync start, success and failure
2025-02-12 18:34:55 +01:00
Silvano Cerza
3f06dd4f90
Correctly run sync interval as async
2025-02-12 15:25:58 +01:00
Silvano Cerza
98b931ead5
Change GithubClient to use settings directly
2025-01-23 18:18:31 +01:00
Silvano Cerza
f64ff13b88
Use mobile compatible util function to convert from base64 string
2025-01-23 18:05:03 +01:00
Silvano Cerza
5446560b86
Check if syncing is in progress before starting
2025-01-23 17:34:27 +01:00
Silvano Cerza
476b17ba05
Move manifest file name definition
2025-01-23 17:25:44 +01:00
Silvano Cerza
2c4ed3e671
Add logger
2025-01-23 16:12:30 +01:00
Silvano Cerza
d20bda9a68
Ditch partial sync
2025-01-23 11:09:58 +01:00
Silvano Cerza
923a811a4a
Handle first sync with completely empty repository
2025-01-23 10:49:22 +01:00
Silvano Cerza
2c463ca34e
Fix changing sync config settings
2025-01-22 17:36:29 +01:00
Silvano Cerza
b760a51911
Fix some issues with onboarding first sync and add setting to sync config dir
2025-01-22 16:01:46 +01:00
Silvano Cerza
6aeecdbd73
Simplify sync handling in SyncManager and remove some logs
2025-01-22 11:33:28 +01:00
Silvano Cerza
5fbcf520a8
Remove even more dead code
2025-01-14 18:41:49 +01:00
Silvano Cerza
44cc1c6380
Temporary conflict handling
2025-01-14 18:31:19 +01:00
Silvano Cerza
56a9fb29cd
Remove lots of unnecessary code
2025-01-14 17:02:16 +01:00
Silvano Cerza
4085c2f5c5
Ugly, uncommented and messy but kinda works
2025-01-14 16:21:49 +01:00
Silvano Cerza
cd577d5751
Remove unnecessary import
2025-01-12 22:43:04 +01:00
Silvano Cerza
a7995fc9a7
Big refactoring
2025-01-12 21:52:51 +01:00