Coding period update - Week 8-9

Repository: GitHub - khuongduy354/joplin-sync-lib
Demo: joplin-sync-lib/src/sample_app at master · khuongduy354/joplin-sync-lib · GitHub

Progress

  • Merged E2E into main branch and fix E2E bugs, add 4 test cases in Synchronizer.e2ee.test
  • Rewrite ItemUploader, so that it can receives E2E settings as arguments
  • Implement delete operations with unit tests, delete resource will find blob and delete both blob and metadata.
  • Reimplement GET items, add tests
  • Fix resource bugs: CREATE now includes both metadata and blob, GET operation can return either blob or metadata depending on client input.
  • Implement Item listener demo using .getItemsMetadata() method, simplify OCR service demo.
  • Updated documentations:

Plan

  • Implement encryption on resource blob, add tests when encryption enabled, add Encryption to main docs.
  • Implement resource blobs update, multiple reads,...
  • Finding and fix bugs: locks (ensure proper lock placements), error handling,...

Problems

  • Share sevice: I looked into share service, but figure out it's a bit out of scope for this project.
  • Detachment of Joplin original library: to reduce bugs, I tried to use as much from Joplin library as possible at the beginning, but it's hard to maintence to have mix of classes. I tried to reduce the Joplin's classes recently, and it seems to have been improved, I'm aiming to reduce this as much as possible.