Commit graph

374 commits

Author SHA1 Message Date
Vishnu Mohandas 41c1f39421 Ignore invalid files 2021-06-19 16:31:32 +05:30
Vishnu Mohandas 811a4cb71e Move expensive ops to a separate isolate 2021-06-19 16:31:32 +05:30
Vishnu d3ee26db0c Process older photos 2021-06-15 17:27:33 +05:30
Vishnu 3f6a847212 Reformat code 2021-06-15 00:40:28 +05:30
Vishnu 74ac0326fe Move private function further down 2021-06-14 21:57:50 +05:30
Vishnu f9918c16d3 Factor responsibilities into respecive sync services 2021-06-14 21:57:15 +05:30
Vishnu f7bc1962f6 Pull out remote sync to a separate service 2021-06-14 21:54:15 +05:30
Vishnu 3b9858cc40 Extract local-sync to a separate service 2021-06-14 20:28:36 +05:30
Vishnu a1aafad475 Drop the check for creation time during de-duplication 2021-06-13 16:45:24 +05:30
Vishnu 6d686745e1 Add extra logs 2021-06-13 15:40:51 +05:30
Vishnu Mohandas 265f3c2406 Add option to download a remote file 2021-06-13 02:59:04 +05:30
Vishnu Mohandas ee00ce351b Better interface when backups fail 2021-06-12 16:03:48 +05:30
Vishnu Mohandas 04879370d1 Use updated verify-email endpoint to enable 2FA 2021-06-12 15:14:00 +05:30
Vishnu Mohandas fc614e3f21 Ignore updates to edited file 2021-06-11 22:06:01 +05:30
Vishnu Mohandas 4cf2ec73e1 Save remote only files post edits 2021-06-05 00:41:39 +05:30
Vishnu Mohandas 323a754171 Update iOS config 2021-05-31 06:25:03 +05:30
Vishnu Mohandas d497fcf035 Initialize the notification service only on Android 2021-05-31 06:22:27 +05:30
Vishnu Mohandas dfe637b2ac Sync with remote only after the first import is complete 2021-05-31 05:16:50 +05:30
Vishnu Mohandas c1e1a99163 Make backup folder selection skippable 2021-05-29 22:31:59 +05:30
Vishnu Mohandas 5daf8412a1 Parse collection name decryption errors if any gracefully 2021-05-26 14:52:48 +05:30
Vishnu Mohandas 7ea047c905 Reduce excitement 2021-05-23 03:06:03 +05:30
Vishnu Mohandas a6b3b82bd1 Show notifications in the background, if an update is available 2021-05-23 02:56:11 +05:30
Vishnu Mohandas df3495a10d Handle errors gracefully 2021-05-23 01:18:44 +05:30
Vishnu Mohandas 1cba327147 Add option to check for updates 2021-05-22 23:59:09 +05:30
Vishnu Mohandas 4c2721af20 Update update endpoint 2021-05-22 23:30:20 +05:30
Vishnu Mohandas 04f17d8a9f Fix update URL 2021-05-22 23:28:04 +05:30
Vishnu Mohandas d3d4cf2515 Add a separate package for the independent track 2021-05-22 23:27:20 +05:30
Vishnu Mohandas 31de45bf1c Enable auto update checks 2021-05-22 21:16:04 +05:30
Vishnu Mohandas 537abae771 Show a notification on Android when storage limit is exceeded 2021-05-21 04:53:29 +05:30
Vishnu Mohandas 1a20fd3779 Extract constant 2021-05-21 04:48:45 +05:30
Vishnu Mohandas f9b879de69 Remove reliance on cached subscription plan 2021-05-19 23:03:21 +05:30
Vishnu Mohandas db184b470b Remove complex checks from SyncService 2021-05-19 23:03:21 +05:30
Vishnu Mohandas 2d2a3a846b Prevent snowballing of remote syncs 2021-05-19 23:03:20 +05:30
Vishnu Mohandas 73d1872851 Expilicitly set generatedID to null so that a new entry is created in the files DB 2021-05-16 14:10:06 +05:30
Vishnu Mohandas a0541c724b Handle network errors 2021-05-13 23:06:17 +05:30
Vishnu Mohandas e3a50358db Redirect to loading screen if first load is interrupted 2021-05-13 02:22:45 +05:30
Vishnu Mohandas 74470a7882 Smoothen the first load experience 2021-05-10 18:53:53 +05:30
Vishnu Mohandas 6922b35efd Setup happy paths 2021-05-10 00:14:05 +05:30
Vishnu Mohandas 62bc2de3da Improve efficiency of fetching latest files across collections 2021-05-04 20:56:17 +05:30
Vishnu Mohandas 0592ed04b0 Upgrade ALL packages! 2021-05-02 21:35:36 +05:30
Vishnu Mohandas dd007c2bc0 Handle errors during file deletion 2021-05-01 02:32:16 +05:30
Vishnu Mohandas 5a6d538879 Update the delete files API 2021-04-28 02:19:00 +05:30
Vishnu Mohandas 8aae51c055 Update local cache when a memory is seen 2021-04-27 21:53:01 +05:30
Vishnu Mohandas 41237f85c8 Cache call to memories 2021-04-27 21:36:24 +05:30
Vishnu Mohandas 40e7c8e4e5 Improve time taken to load memories 2021-04-27 21:30:29 +05:30
Vishnu Mohandas 15f009add3 Fire an event when first import is successful 2021-04-25 17:22:07 +05:30
Vishnu Mohandas 426ab8add5 Minimize the number of reloads for collection updates 2021-04-24 03:07:04 +05:30
Vishnu Mohandas 07ce960f65 Emit the list of changed files along with the event 2021-04-24 00:41:05 +05:30
Vishnu Mohandas 2b7c4612ea Remove FileRepository 2021-04-21 18:39:18 +05:30
Vishnu Mohandas ffa878e354 Extract method to clear cache to a util 2021-04-19 18:26:12 +05:30
Vishnu Mohandas ef68187625 Clear thumbnail cache with the right URL 2021-04-19 18:25:02 +05:30
Vishnu Mohandas 35de15da79 Insert fetched diff in bulk 2021-04-19 18:24:48 +05:30
Vishnu Mohandas 8a86781b12 Increase diff limit to 1000 2021-04-19 16:28:07 +05:30
Vishnu Mohandas 01ffdf2f24 Display the correct sync state post local gallery sync 2021-04-07 05:03:41 +05:30
Vishnu Mohandas 8e368f83b6 Ensure that there was a response before parsing the status code 2021-04-05 18:37:41 +05:30
Vishnu Mohandas f446c73d3d Ensure that the error has an osError attribute 2021-04-05 18:36:49 +05:30
Vishnu Mohandas 3c14ec733a Rename variable to make more sense 2021-04-05 18:17:31 +05:30
Vishnu Mohandas 4bf87b4c5c Add indicator for loading photos the first time 2021-04-05 18:16:26 +05:30
Vishnu Mohandas 98a0e91128 Generate new recovery keys for users who don't have any right now 2021-04-01 23:03:15 +05:30
Vishnu Mohandas 5037996ab6 Remove unused import 2021-04-01 22:28:51 +05:30
Vishnu Mohandas d445e21e01 Add ability to recover data 2021-04-01 19:56:08 +05:30
Vishnu Mohandas eea5b78531 Fix flow for key generation 2021-03-30 00:05:46 +05:30
Vishnu Mohandas b246d87191 Add a dialog to save recovery key 2021-03-29 20:39:12 +05:30
Vishnu Mohandas ba48e51516 Update set key request contract 2021-03-28 18:13:44 +05:30
Vishnu Mohandas d12ab1b4e0 Add option to change password 2021-03-26 21:43:32 +05:30
Vishnu Mohandas 99e4ce4563 Remove comments 2021-03-26 00:36:06 +05:30
Vishnu Mohandas dfeaa4408e Simplify sync events 2021-03-26 00:36:01 +05:30
Vishnu Mohandas d775051d35 Simplify logic to count uploads 2021-03-25 20:14:58 +05:30
Vishnu Mohandas 5b6bb926f8 Handle network errors 2021-03-22 13:04:59 +05:30
Vishnu Mohandas d1d72ed325 Display the correct queue size 2021-03-22 12:44:16 +05:30
Vishnu Mohandas 887bcbf06a Add functionality to add and remove folders from queue 2021-03-22 11:59:53 +05:30
Vishnu Mohandas 5918d996a4 Perform credential fetch within await block 2021-03-21 17:34:57 +05:30
Vishnu Mohandas a4fd2f7cf4 Fix dialog dismissals 2021-03-21 16:51:45 +05:30
Vishnu Mohandas 98dbe7bcfe Remove unused sync state 2021-03-20 17:02:33 +05:30
Vishnu Mohandas 017d26acbd Logout on 401 2021-03-18 03:38:13 +05:30
Vishnu Mohandas 27d9a570df Parse default errors separately 2021-03-18 03:21:39 +05:30
Vishnu Mohandas 126121486d Clear service level cache on logout 2021-03-18 02:41:31 +05:30
Vishnu Mohandas a7b2e63b1a Add an option to logout 2021-03-18 02:37:17 +05:30
Vishnu Mohandas 99ede8f687 Add happy path 2021-03-12 14:10:36 +05:30
Vishnu Mohandas 2221e16dd3 Refresh UI when permission is not granted 2021-03-10 08:58:33 +05:30
Vishnu Mohandas 60a9fd5b73 Deal with network errors separately 2021-03-07 10:55:07 +05:30
Vishnu Mohandas d4ce8fc162 Simplify detection of background uploads 2021-03-04 22:58:27 +05:30
Vishnu Mohandas a557723061 Refresh on background updates 2021-03-04 06:17:49 +05:30
Vishnu Mohandas fe2faba89a Handle DNS resolution errors gracefully 2021-03-03 22:29:11 +05:30
Vishnu Mohandas b9e9aa393a Take a lock on a file before triggering it's upload 2021-03-03 21:37:02 +05:30
Vishnu Mohandas 2d4fc30de3 Use a global state for the app being in background 2021-03-03 21:33:03 +05:30
Vishnu Mohandas cd986512b2 Fire a sync status event as soon as a subscription is picked 2021-03-03 10:29:02 +05:30
Vishnu Mohandas a1488b0b68 Log updates to sync status 2021-03-03 09:58:49 +05:30
Vishnu Mohandas 5672cc7eb8 Log reasons for backup failure correctly 2021-03-02 12:54:03 +05:30
Vishnu Mohandas 114511489d Add a silent exception for upload errors 2021-03-02 12:53:02 +05:30
Vishnu Mohandas f06b4f1e9f Handle network errors gracefully 2021-03-02 12:50:21 +05:30
Vishnu Mohandas f986c9ae29 Make free plan configurable 2021-03-02 12:05:10 +05:30
Vishnu Mohandas cecfd7fefc Remove stack traces 2021-03-02 11:38:29 +05:30
Vishnu Mohandas 8ea3d0b708 Simplify SyncService state handling 2021-03-02 05:07:24 +05:30
Vishnu Mohandas 8bafb4e4fb Revert "Remove stack traces"
This reverts commit 19bb5fdd26.
2021-03-02 00:54:02 +05:30
Vishnu Mohandas 19bb5fdd26 Remove stack traces 2021-03-02 00:25:45 +05:30
Vishnu Mohandas b9ea4be9a7 Log once sync is completed 2021-02-26 19:39:35 +05:30
Vishnu Mohandas 980d288d5b Clean up error handling 2021-02-26 15:25:35 +05:30
Vishnu Mohandas 813ded3360 Modify log 2021-02-26 15:20:44 +05:30
Vishnu Mohandas d466e120b4 Don't throw an error if account is not configured 2021-02-26 14:54:20 +05:30
Vishnu Mohandas 2759399ff3 Extract errors into a separate file 2021-02-26 14:51:47 +05:30
Vishnu Mohandas 009d9957bf Fix the point where an error is thrown 2021-02-26 13:30:21 +05:30
Vishnu Mohandas 7a778abaea Throw unknown exceptions found during sync 2021-02-26 13:29:11 +05:30
Vishnu Mohandas ffefa99504 Retry batch insert requests 2021-02-26 13:22:21 +05:30
Vishnu Mohandas 6fb07bab27 Show appropriate error dialog for free users when sharing is disabled 2021-02-25 23:08:31 +05:30
Vishnu Mohandas a0614ad114 Clear upload queue with a reason 2021-02-25 21:44:27 +05:30
Vishnu Mohandas fa2f40bc7a Add an option to skip subscription during onboarding 2021-02-25 20:44:31 +05:30
Vishnu Mohandas e1d28f4ab3 Remove unused import 2021-02-25 13:18:29 +05:30
Vishnu Mohandas 67e60606ea Log trace when sync is called 2021-02-19 14:53:39 +05:30
Vishnu Mohandas 89f201161c Log exact times frames within which the photos are fetched 2021-02-18 13:26:05 +05:30
Vishnu Mohandas 0d8cd028d9 Minor refactor 2021-02-18 12:35:45 +05:30
Vishnu Mohandas 432219234d Comment out library that could cause issues on Android 2021-02-16 21:45:23 +05:30
Vishnu Mohandas 4295702fdf Return album with decrypted name post creation 2021-02-16 19:37:19 +05:30
Vishnu Mohandas 9139d01a7f Safeguard against decoding issues 2021-02-16 00:04:15 +05:30
Vishnu Mohandas 9a5185d883 Use copyWith instead of the constructor 2021-02-15 23:54:36 +05:30
Vishnu Mohandas db47586424 Don't rely on cache that does not exist yet 2021-02-14 23:45:38 +05:30
Vishnu Mohandas a7d0ae47d8 Refresh cache for memories once seen 2021-02-14 15:12:02 +05:30
Vishnu Mohandas 703d331bd0 Rename file 2021-02-13 18:00:18 +05:30
Vishnu Mohandas 5f8648554a Remove unnecessary reloads 2021-02-08 20:21:48 +05:30
Vishnu Mohandas 3169962738 Persist the maxUpdationTime for all collections (factoring in the deleted ones) 2021-02-08 20:17:19 +05:30
Vishnu Mohandas a641c42e90 Remove corrupted files from the DB 2021-02-07 02:43:51 +05:30
Vishnu Mohandas fa5b806ed5 Publish sync status update only for non-local syncs 2021-02-07 01:50:37 +05:30
Vishnu Mohandas c444e08e63 Remove unused import 2021-02-07 01:45:18 +05:30
Vishnu Mohandas ca5a30e98a Ensure that sync interruptions are handled gracefully 2021-02-06 14:24:25 +05:30
Vishnu Mohandas 069e504b61 Cache memories 2021-02-05 22:31:55 +05:30
Vishnu Mohandas 39b6141f2d Update messages for sync errors 2021-02-05 21:37:14 +05:30
Vishnu Mohandas 417e83987c Parse storage quota exceeded errors 2021-02-03 00:31:32 +05:30
Vishnu Mohandas 86f97e9c66 Clear and restart uploads when a subscription is purchased 2021-02-02 23:55:43 +05:30
Vishnu Mohandas fabe447439 No need to abort eagerly 2021-02-02 23:33:51 +05:30
Vishnu Mohandas cfee0a0120 Update header in case of subscription expiry 2021-02-02 22:27:16 +05:30
Vishnu Mohandas a10ad8c279 Handle subscription expired errors 2021-02-02 22:05:38 +05:30
Vishnu Mohandas b9599383e2 Enable upgrades and downgrades on PlayStore 2021-02-02 00:44:04 +05:30
Vishnu Mohandas 7a149d08ac Enable sync 2021-02-01 17:10:15 +05:30
Vishnu Mohandas 8292ce2621 Prevent downgrading to a plan that provides lesser storage than what has been consumed 2021-02-01 16:44:22 +05:30
Vishnu Mohandas a7eb3d8653 Move bytes to GB conversion to a util 2021-02-01 16:32:30 +05:30
Vishnu Mohandas 6fdbba8d73 Update subscription model 2021-02-01 16:08:07 +05:30
Vishnu Mohandas c2dbdaaf7b Rename function 2021-02-01 02:24:22 +05:30
Vishnu Mohandas f962230060 Move code to fetch usage to BillingService 2021-02-01 02:24:00 +05:30
Vishnu Mohandas 79d312f263 Revert to official IAP library since purchases aren't getting completed on iOS 2021-02-01 02:11:41 +05:30
Vishnu Mohandas 007389a9d3 Clear transaction only for iOS 2021-01-31 16:45:40 +05:30
Vishnu Mohandas f320d00ef8 Migrate to third party library for IAP 2021-01-30 13:27:18 +05:30
Vishnu Mohandas 2223c4103e Check for updates to subscription if it is locally expired 2021-01-29 17:12:15 +05:30
Vishnu Mohandas 65a4c838dc Make subscription verification async 2021-01-27 16:28:23 +05:30
Vishnu Mohandas 7e444642db Report updated purchases from BillingService 2021-01-27 14:25:58 +05:30
Vishnu Mohandas 70f5fbacd7 Blue blue blue 2021-01-26 16:56:35 +05:30
Vishnu Mohandas 013c1576be Merge branch 'encrypt-collection-name' into ui_refresh 2021-01-25 15:20:53 +05:30
Abhinav-grd a395e27f80 refactored keyDecryption logic into seperate function 2021-01-25 10:55:26 +05:30
Abhinav-grd 75e27aa51f collectionService changes 2021-01-25 00:29:39 +05:30
Abhinav-grd 73fa2aad9e added null check to encryptedName 2021-01-24 21:37:37 +05:30
Abhinav-grd c4e19c56cf cached collection before calling getCollectionKey 2021-01-24 21:17:51 +05:30