-
-
Notifications
You must be signed in to change notification settings - Fork 30
Feature/webdav sync #189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jdkruzr
wants to merge
92
commits into
Ethran:main
Choose a base branch
from
jdkruzr:feature/webdav-sync
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Feature/webdav sync #189
Changes from all commits
Commits
Show all changes
92 commits
Select commit
Hold shift + click to select a range
c85e702
Add WebDAV sync foundation (Phase 1)
085756a
Add serialization layer (Phase 2)
9037d89
Add stub implementations for all sync components
7115027
stub commits for synchronization, plus new serialization code
f56bde7
Fix compilation errors
f227d06
Complete WebDAV sync settings UI
8dfd9d8
Fix showHint argument order
876bbe5
Add debug logging for connection testing
6a60635
Fix NetworkOnMainThreadException in sync operations
6263db9
Implement complete SyncEngine with bidirectional sync
a72ae42
Fix SyncEngine compilation errors
a401ceb
Add force upload/download operations with confirmation dialogs
24be07e
Add detailed logging for sync debugging
19f55dc
Add in-app sync log viewer to Settings
9b89c91
Fix force operations and add comprehensive logging
73a7740
Implement sync on note close
554b677
Add detailed sync direction logging
5ab3f86
Fix EditorControlTower repository access
d365614
Fix sync to skip when timestamps are equal
7082c44
Fix sync-on-close to trigger when leaving editor
8f3c044
Fix coroutine scope cancellation in onDispose
5562949
Add credential loading debug logging
6a500c0
Add millisecond-precision timestamp logging
9f912f6
Fix null safety in timestamp logging
9f0313f
Add 1-second tolerance for timestamp comparison
fafb2b3
Add server notebook discovery to sync
839d93e
Fix bug in sync order.
28042b1
Deletion semantics update.
66b89b9
Fix bug with timestamp updates not happening in manifest.
ea9fb36
Fix deletion synchronization order of operations.
c501a6b
Switch to XmlPullParser for WebDav syncing instead of hacky regexes.
0f20790
Refactored a bunch of monolithic code into SyncEngine functions for b…
ae77510
Added state machine for consistency in synchronization status.
c9a1a6a
Extracted magic numbers we were previously using.
2ea67fb
Got rid of stacktraces and replaced with proper logging.
8bc98c0
Got rid of stacktraces and replaced with proper logging.
1c3fab9
Update app/src/main/java/com/ethran/notable/ui/views/Settings.kt
jdkruzr 1731c41
Extracted sync settings tab to its own file.
595953a
Extracted sync settings tab to its own file.
75c2872
Merge refactored Settings code
2f6fd4e
Switched to SLog in all instances, reduced number of arguments to 2 i…
ba71486
Updated .gitignore to leave out unnecessary files.
b85acf1
Internationalization fix with strings.xml
306e189
Update app/src/main/java/com/ethran/notable/data/datastore/AppSetting…
jdkruzr 10594a9
Added note re: notable subdir and credential saving fix
ff92bae
Change to SB1 format.
b1ef2ce
Created const for Notable directory.
fa5f148
Fixed issue with deletions clobbering edits made later.
20595cb
Small fix to currently unused file streaming function.
a491064
Sync documentation.
39acc64
Resolved another magic string into a const.
3f42b96
Added sync technical docs.
c4b5619
Minor edits to sync technical docs.
ceaef77
Edits explaining some DAV address vagaries.
b0fa0f0
Added sync on WiFi only option.
db9698f
Addressed editorial feedback for documentation.
f350374
We now check deletions.json for truncation opportunities when writing.
3363131
Changes and responses to PR feedback (see comment)
04e6930
Rename tombstones/ server directory to deletions/ per review feedback.
83c6bbc
merge Hilt implementation, address notebook creation quality of life …
281e7e5
Merge branch 'main' into feature/webdav-sync
Ethran 4fd3037
rollback all changes to .idea
Ethran ac6e487
code cleaning.
Ethran 8b04390
Refactor ConnectivityChecker and CredentialManager for dependency inj…
Ethran 1fd0377
refactor sync settings to use a ViewModel-driven state pattern and im…
Ethran 757e080
add dark mode preview for Settings
Ethran 1981857
Refactor `SyncSettings` and `CredentialManager` to centralize synchro…
Ethran a5821ac
finish the merge.
Ethran d47c513
Split into smaller files
Ethran 73205b5
Refactor `SyncOrchestrator` to delegate notebook synchronization logi…
Ethran 5cf0715
update docs
Ethran 19cc65f
WebDAV sync now uses ETags and `If-Match` headers when updating file…
Ethran d2b847f
update docs
Ethran 021266a
Update `SyncSettingsTab` to use `MaterialTheme` colors and components…
Ethran 10964f8
format code
Ethran fa00f28
Restore .idea to match origin/main
Ethran 01eb26d
fixed auto cleaning of broken notebook.
Ethran f0bd875
change synchronization architecture by implementing `WorkManager`-bas…
Ethran 331b307
Remove symbols from sync logs and UI strings
Ethran 5906890
do not repopulate password field from db, and button to show password
Ethran b7fa920
Improve Sync Settings UI with E-Ink inspired design and improved layout
Ethran 5438689
Added configuration of sync interval and fix sync on startup.
Ethran c5abb7f
Add snackbar notifications for scheduled background syncs
Ethran 2ae367e
Merge branch 'main' into feature/webdav-sync
Ethran 99d6a3c
finish marge of recent changes to main branch
Ethran ccf3306
Add SyncProgressReporter for per-notebook sync progress
8acae1c
Step A: introduce upstream SnackDispatcher and AppEventBus scaffolding
3b4f216
Step B1: migrate SyncWorker to SnackDispatcher
f3892e1
Step B2: migrate SettingsViewModel to SnackDispatcher
e1d363f
Step B3: migrate EditorViewModel to SnackDispatcher
511845c
Merge upstream/main into feature/webdav-sync
5d75e7e
Paint newly-created SurfaceHolder surface from surfaceCreated callback
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,12 @@ | ||
| *.iml | ||
| .gradle | ||
| /local.properties | ||
| /.idea/caches | ||
| /.idea/libraries | ||
| /.idea/modules.xml | ||
| /.idea/workspace.xml | ||
| /.idea/navEditor.xml | ||
| /.idea/assetWizardSettings.xml | ||
| /.idea/ | ||
| .DS_Store | ||
| /build | ||
| /captures | ||
| .externalNativeBuild | ||
| .cxx | ||
| local.properties | ||
| .claude-context.md | ||
| comments.md | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -196,6 +196,11 @@ dependencies { | |||||
| ksp "com.google.dagger:hilt-compiler:2.59.2" | ||||||
| implementation "androidx.hilt:hilt-navigation-compose:1.3.0" | ||||||
|
|
||||||
| // WebDAV sync dependencies | ||||||
| implementation "androidx.work:work-runtime-ktx:2.9.0" // Background sync | ||||||
| implementation "com.squareup.okhttp3:okhttp:4.12.0" // HTTP/WebDAV client | ||||||
| implementation "androidx.security:security-crypto:1.1.0-alpha06" // Encrypted credential storage | ||||||
|
||||||
| implementation "androidx.security:security-crypto:1.1.0-alpha06" // Encrypted credential storage | |
| implementation "androidx.security:security-crypto:1.0.0" // Encrypted credential storage |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.