Commit graph

48 commits

Author SHA1 Message Date
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