Commit graph

270 commits

Author SHA1 Message Date
Vishnu Mohandas e743fd6f41 Request for files that have been updated on device 2020-12-01 13:38:19 +05:30
Vishnu Mohandas d318a57d23 Implement ability to update files on remote 2020-12-01 00:12:11 +05:30
Vishnu Mohandas 51f083d290 Adopt API to update file if already uploaded 2020-11-30 23:15:21 +05:30
Vishnu Mohandas 127270b23e Remove only those files that have actually been deleted 2020-11-30 16:16:56 +05:30
Vishnu Mohandas c3bd8c7f2b Clear cache on iOS to reduce disk storage consumption 2020-11-30 15:50:08 +05:30
Vishnu Mohandas 3f084bb38c Clear existing temp files if any before writing to them 2020-11-30 12:27:28 +05:30
Vishnu Mohandas 304ec1806c Add null check 2020-11-30 12:00:34 +05:30
Vishnu Mohandas b92023ad5c Skip parsing files that are already in sync 2020-11-30 11:58:37 +05:30
Vishnu Mohandas 4884e98346 Rename function 2020-11-27 12:25:55 +05:30
Vishnu Mohandas cd224e523d Ensure that tokens are passed only in the header 2020-11-27 12:22:07 +05:30
Vishnu Mohandas 47052a6596 Compress iOS thumbnails 2020-11-22 23:37:40 +05:30
Vishnu Mohandas da2cb1b2cf Improve the resolution of the compressed thumbnail 2020-11-22 23:25:34 +05:30
Vishnu Mohandas a1e68d54a6 Compress thumbnails fetched from the server 2020-11-22 14:46:11 +05:30
Vishnu Mohandas a6c3913af5 Convert HEIC images on Android 2020-11-20 16:35:17 +05:30
Vishnu Mohandas 34ffc9e5a1 Log all network requests 2020-11-19 23:52:30 +05:30
Vishnu Mohandas 316e1c53d7 Simplify the force upload flow 2020-11-19 20:29:01 +05:30
Vishnu Mohandas aa9929f07d Force upload files even on mobile data 2020-11-18 21:32:32 +05:30
Vishnu Mohandas 9b84413a68 Handle file deletions outside ente gracefully 2020-11-17 11:32:14 +05:30
Vishnu Mohandas 1947970b0a Sync only when WiFi is available 2020-11-16 22:05:16 +05:30
Vishnu Mohandas 8448b9baef Lower the quality of local thumbnails that are loaded 2020-11-16 13:05:06 +05:30
Vishnu Mohandas 06f5db3fd7 Ensure that temp files generated are deleted 2020-11-16 12:32:09 +05:30
Vishnu Mohandas ed80f9dc9f Show year within gallery if not within the same year 2020-11-14 16:41:43 +05:30
Vishnu Mohandas 892d04288a Add draggable scroll bar 2020-11-12 18:55:57 +05:30
Vishnu Mohandas 6891beeb48 Make sure that upload resumes when possible 2020-11-09 23:36:27 +05:30
Vishnu Mohandas ccbc3bec96 Fetch a batch of URLs in one go 2020-11-09 23:13:40 +05:30
Vishnu Mohandas 433e11882a Fix race conditions in the upload flow 2020-11-09 21:40:43 +05:30
Vishnu Mohandas e825798433 Enable parallel uploads 2020-11-09 17:58:43 +05:30
Vishnu Mohandas 3602f8d08c Buffer first load from disk to improve performance 2020-11-01 16:30:50 +05:30
Vishnu Mohandas 49af595268 Fix deletion behavior 2020-11-01 13:07:23 +05:30
Vishnu Mohandas 2b2db78d67 Ensure that events are generated on file deletion 2020-11-01 12:15:10 +05:30
Vishnu Mohandas e637d18426 Refresh collection page on file delete 2020-11-01 10:45:33 +05:30
Vishnu Mohandas 4dd4eed10c Update delete API 2020-10-31 04:55:28 +05:30
Vishnu Mohandas 5730d265a3 Remove endpoint finder 2020-10-31 00:05:14 +05:30
Vishnu Mohandas 32087f79d1 Remove logging util 2020-10-31 00:05:08 +05:30
Vishnu Mohandas ff4b620d0d Disable preloading until relevant ordering can be ensured 2020-10-28 21:16:15 +05:30
Vishnu Mohandas 28098cae79 Update diff fetching API 2020-10-28 21:15:05 +05:30
Vishnu Mohandas 585079b380 Download files in parallel when attempting to share 2020-10-26 20:49:29 +05:30
Vishnu Mohandas ccf577c1bb Preload files 2020-10-26 20:38:47 +05:30
Vishnu Mohandas 36ab7edb7c Add a button to create an album 2020-10-26 16:48:00 +05:30
Vishnu Mohandas 22f670ccd4 Prevent parallel downloads for the same thumbnail 2020-10-26 16:24:26 +05:30
Vishnu Mohandas 7fe8f9fa40 Document h4ck 2020-10-25 05:10:53 +05:30
Vishnu Mohandas 6cabe8c21a Ensure that the location is saved to the metadata if unavailable before uploading 2020-10-25 05:09:46 +05:30
Vishnu Mohandas 805e5a8550 Prevent duplicate uploads across collections 2020-10-25 01:35:50 +05:30
Vishnu Mohandas 56c31318d4 Update delete file interaction 2020-10-23 20:50:51 +05:30
Vishnu Mohandas c44e89641b Remove files that have been deleted on remote 2020-10-23 20:29:51 +05:30
Vishnu Mohandas 4a054e4365 Remove debug log statement 2020-10-23 20:25:41 +05:30
Vishnu Mohandas f6e6e8bf49 Update contract of the FileUploader 2020-10-21 21:50:41 +05:30
Vishnu Mohandas ec0972d7ba Log download speeds 2020-10-19 02:35:32 +05:30
Vishnu Mohandas 588fa6dca0 Log the upload speeds 2020-10-18 01:19:45 +05:30
Vishnu Mohandas 6a73308bd1 Fix remaining issues with displaying shared collection items 2020-10-14 03:10:22 +05:30
Vishnu Mohandas 83be7e3e42 Fix file decryption logic 2020-10-13 02:05:33 +05:30
Vishnu Mohandas 107c1b870e Send the collectionID in file creation requests 2020-10-13 00:45:01 +05:30
Vishnu Mohandas 13715c924c Remove redundant code to sync diff 2020-10-12 23:55:33 +05:30
Vishnu Mohandas d5338af961 Update API endpoint to upload and fetch files 2020-10-11 05:59:31 +05:30
Vishnu Mohandas fa8a284af3 Encrypt file key with the collection key 2020-10-11 05:56:52 +05:30
Vishnu Mohandas 8f8594f07f Decrypt keys of files within collections using the collectionKey 2020-10-11 05:47:31 +05:30
Vishnu Mohandas da8b69084b Add collectionID as an attribute to files 2020-10-11 05:30:44 +05:30
Vishnu Mohandas a40355c249 Remove unnecessary await 2020-10-11 05:13:47 +05:30
Vishnu Mohandas bae5c9bf7d Explicitly state the sync nature of the encryption API 2020-10-11 05:08:22 +05:30
Vishnu Mohandas 86b60fd487 Add API to seal with a user's public key 2020-10-11 04:11:15 +05:30
Vishnu Mohandas 50a67acb75 Use the explicit sync-decrypt API 2020-10-11 04:10:18 +05:30
Vishnu Mohandas bd879263f0 Add functionality to extract a decrypted collection key 2020-10-11 04:08:33 +05:30
Vishnu Mohandas ad8bca7fe7 Add a util function to share text 2020-10-10 05:17:14 +05:30
Vishnu Mohandas 785481fccd Add a util to validate emails 2020-10-10 03:15:07 +05:30
Vishnu Mohandas 1330ef07d2 Switch to cryptobox keygen 2020-10-07 05:54:13 +05:30
Vishnu Mohandas 266e1984ae Update file creation API params 2020-10-07 05:26:49 +05:30
Vishnu Mohandas 2346d54838 File file decryption behavior 2020-10-07 05:26:37 +05:30
Vishnu Mohandas 8da3f0c687 Remove more unnecessary models 2020-10-07 04:47:53 +05:30
Vishnu Mohandas 3f5d20027e Remove unnecessary model 2020-10-07 04:42:02 +05:30
Vishnu Mohandas 7f707d187e Refactor crypto util 2020-10-07 04:28:41 +05:30
Vishnu Mohandas 27f019af57 Move to XChaCha for thumbnail and metadata encryption 2020-10-07 04:25:59 +05:30
Vishnu Mohandas 16b2ff0624 Declutter root folder 2020-10-03 23:28:26 +05:30
Vishnu Mohandas 5a25676dc4 Generate and store public private keypairs on the server 2020-10-03 03:15:26 +05:30
Vishnu Mohandas 832b0c7e74 Update the computation logic for kek-hash 2020-10-02 18:43:15 +05:30
Vishnu Mohandas 0daecf3924 Remove unused function 2020-10-01 04:44:20 +05:30
Vishnu Mohandas 1b40d64a20 Move hash verification to a separate isolate 2020-09-30 23:59:58 +05:30
Vishnu Mohandas 71720df54c Compute the hash on a separate isolate 2020-09-30 19:20:00 +05:30
Vishnu Mohandas a4323ad280 Reduce the memlimit for pwhash 2020-09-29 00:34:22 +05:30
Vishnu Mohandas fed7cda7f4 Replace scrypt with libsodium's abstractions 2020-09-29 00:02:53 +05:30
Vishnu Mohandas b06190fbf2 Replace AES with libsodium abstractions 2020-09-28 23:22:43 +05:30
Vishnu Mohandas a7944a3f93 Use sodium to generate random bytes 2020-09-28 23:06:04 +05:30
Vishnu Mohandas a089fd1e3b Remove unused AESCrypt library 2020-09-28 22:37:33 +05:30
Vishnu Mohandas 04e2edd4e7 Prevent multiple file download requests 2020-09-28 22:35:53 +05:30
Vishnu Mohandas f3446a9ed0 Don't prefetch files from server 2020-09-28 21:47:19 +05:30
Vishnu Mohandas 61c80bff3e Minor refactor 2020-09-28 21:46:04 +05:30
Vishnu Mohandas 03fb189396 Add some logging to fileutil 2020-09-28 21:45:21 +05:30
Vishnu Mohandas 4de5c56a3f Fix copypastah errors 2020-09-28 21:45:06 +05:30
Vishnu Mohandas f2b10a4168 Move expensive encryption and decryption operations to a separate isolate 2020-09-28 21:24:40 +05:30
Vishnu Mohandas e574a0d8d2 Use Dart's file handling APIs correctly to append to a file 2020-09-26 03:54:33 +05:30
Vishnu Mohandas 05a67773e9 Minor refactor 2020-09-26 03:08:14 +05:30
Vishnu Mohandas d6e0671fe7 Rename variable 2020-09-26 02:28:19 +05:30
Vishnu Mohandas bd66a9a309 Simplify encryption code 2020-09-26 02:26:02 +05:30
Vishnu Mohandas 9f6cfebcb1 Ensure file deletion only after read 2020-09-26 01:55:03 +05:30
Vishnu Mohandas 727a1684ce Switch to libsodium for file encryption and decryption 2020-09-26 00:37:32 +05:30
Vishnu Mohandas 3bad6a7c94 Add API to chacha encrypt and decrypt a file 2020-09-25 21:15:00 +05:30
Vishnu Mohandas 735d30583a Cache downloaded thumbnails and files for 365 days 2020-09-18 00:11:14 +05:30
Vishnu Mohandas 6d8e7c1a43 Save files to cache with the extension 2020-09-17 19:59:42 +05:30
Vishnu Mohandas 9e641ba57d Return base64 encoded string 2020-09-10 05:18:11 +05:30
Vishnu Mohandas 87fd87987a Explicitly call the AESCrypt password as password 2020-09-10 03:57:54 +05:30
Vishnu Mohandas db3869fa58 Use existing raw API for steel crypt 2020-09-10 03:00:04 +05:30
Vishnu Mohandas 94a41a72c9 Remove all assumptions related to key attribute encoding 2020-09-10 02:39:41 +05:30
Vishnu Mohandas 5fffea1824 Remove single line hash function 2020-09-10 02:22:18 +05:30
Vishnu Mohandas d9a583a46c Ensure that CBC is always the chosen mode of encryption 2020-09-10 02:17:51 +05:30
Vishnu Mohandas 4cd93610f7 Make no assumptions about the encoding type of the key 2020-09-10 01:01:14 +05:30
Vishnu Mohandas 1f98f8ca8d Modify steel crypt to expose a hashBytes function that does not assume the encoding of the inputs or output 2020-09-09 14:35:24 +05:30
Vishnu Mohandas 831de35e9c Update file upload API 2020-09-06 11:59:30 +05:30
Vishnu Mohandas bc36bf8f5e Verify the correctness of the passphrase entered 2020-09-05 14:23:23 +05:30
Vishnu Mohandas a5d3305cbf Encrypt every file with a separate key 2020-09-03 22:20:26 +05:30
Vishnu Mohandas aa2890107f Add API to use AesCrypt to encrypt and decrypt data directly 2020-09-03 21:08:46 +05:30
Vishnu Mohandas 81db6e73d1 Display the full month in billing details 2020-08-29 09:34:59 +05:30
Vishnu Mohandas ddb2c7dc82 Update UI for the OTT sign in flow 2020-08-25 11:30:19 +05:30
Vishnu Mohandas 0c70cd96fd Fix crash on attempting to share multiple large files 2020-08-25 05:29:57 +05:30
Vishnu Mohandas 3d3c1496e7 Pull the key from server on sign in 2020-08-15 06:52:14 +05:30
Vishnu Mohandas 1ac16347bd Show progress dialog while downloading a video 2020-08-14 05:31:37 +05:30
Vishnu Mohandas a1ebee60b8 Add in memory cache for thumbnails to improve hero experience 2020-08-14 05:17:44 +05:30
Vishnu Mohandas 2505389d00 Use Computer to handle isolates 2020-08-14 04:34:32 +05:30
Vishnu Mohandas 7bd2ad19de Revert "Queue encryption and decryption with work-manager"
This reverts commit 5000a0b3cd.
2020-08-14 04:13:09 +05:30
Vishnu Mohandas bda0d8afd9 Minor change to the image decoding API 2020-08-14 04:01:37 +05:30
Vishnu Mohandas 5000a0b3cd Queue encryption and decryption with work-manager 2020-08-14 03:31:18 +05:30
Vishnu Mohandas 873f1b631d Use a single cache for thumbnails 2020-08-14 03:03:31 +05:30
Vishnu Mohandas 1ce1479dd9 Perform encryption and decryption on a separate isolate 2020-08-14 02:30:40 +05:30
Vishnu Mohandas 7da487cd4e Decrypt and render encrypted videos 2020-08-14 01:33:29 +05:30
Vishnu Mohandas c3265b91ab Move file decrypting logic out of ZoomableImage 2020-08-13 07:05:57 +05:30
Vishnu Mohandas 2a4404c293 Refactor file util 2020-08-13 06:54:48 +05:30
Vishnu Mohandas 600fd58a46 Augment the getBytes function to take care of encrypted files 2020-08-13 06:48:41 +05:30
Vishnu Mohandas d36b88aa23 Mark preloadFile as TODO since the logic has to be reworked 2020-08-13 06:28:25 +05:30
Vishnu Mohandas f6d3a7e6bd Decrypt, save and display encrypted thumbnails 2020-08-13 04:47:15 +05:30
Vishnu Mohandas 746fb18cf7 Download and save encrypted files 2020-08-12 04:34:16 +05:30
Vishnu Mohandas 2e39f2e90a Upload thumbnail along with the file 2020-08-11 05:38:48 +05:30
Vishnu Mohandas 4b63196e34 Encrypt and upload files 2020-08-11 05:17:22 +05:30
Vishnu Mohandas 797c6ae856 Reuse existing library for generating secure random string 2020-08-10 05:49:44 +05:30
Vishnu Mohandas c7b40265c3 Fix issue with loading remote images 2020-08-10 04:04:59 +05:30
Vishnu Mohandas f80e06762f Add crypto util 2020-08-10 02:09:11 +05:30
Vishnu Mohandas 786dba4514 Set the background color for progress dialog 2020-08-09 20:00:46 +05:30
Vishnu Mohandas 805f41f811 Set the background color for toasts 2020-08-09 20:00:42 +05:30
Vishnu Mohandas 8f2dce89c7 Update the base plugin for memories 2020-07-30 00:47:13 +05:30
Vishnu Mohandas 590c72f2e5 Preload the next memory 2020-07-29 21:18:13 +05:30
Vishnu Mohandas 1c8b29d60f Rename method to delete files 2020-07-29 13:25:29 +05:30
Vishnu Mohandas ce9cf2c026 Extract function to delete a file from the DB 2020-07-29 13:23:13 +05:30
Vishnu Mohandas 5911a718cb Add file sync util for the day Flutter makes using isolate less painful 2020-07-28 02:02:07 +05:30
Vishnu Mohandas 755664a8de Display memories from previous years 2020-07-21 15:55:19 +05:30
Vishnu Mohandas e917e4e568 Increase connection timeout to 250ms 2020-07-16 05:57:55 +05:30
Vishnu Mohandas 5c53661dd8 Display a progress dialog while deleting a photo 2020-07-16 00:44:37 +05:30
Vishnu Mohandas 8f1e4297aa Add progress dialog while fetching data to share files 2020-07-08 03:34:08 +05:30
Vishnu Mohandas f4fe539df4 Accept toast-length as a parameter 2020-07-08 03:23:09 +05:30
Vishnu Mohandas 8f0b606713 Add a util for displaying toasts 2020-07-08 03:16:14 +05:30
Vishnu Mohandas 8b6685c3e2 Update video controls 2020-06-21 05:21:10 +05:30
Vishnu Mohandas a5aaf91460 Extend support for videos 2020-06-20 04:33:26 +05:30
Vishnu Mohandas a99bfde90d Fix the title matching logic for remote HEIC files that was triggering duplicate entries 2020-06-18 01:46:46 +05:30
Vishnu Mohandas d178b0838d Improve log statement readability 2020-06-18 01:17:49 +05:30