Commit graph

961 commits

Author SHA1 Message Date
ashilkn
7966c6bbc8 Merge branch 'main' into load_model_perf_improvement 2024-03-27 16:34:39 +05:30
ashilkn
35a8a96898 pref: reduce GC events 2024-03-27 16:34:06 +05:30
Vishnu Mohandas
eef33e9c0c
[mobile][web] Redirect to payment portal if subscription is past due (#1222)
## Description

When a customer whose Stripe subscription is past due (within the 30 day
window after expiry time and has not been cancelled) clicks on the
subscription modal, take them to the payment portal to complete the
subscription.

## Tests

- [x] Tested web
- [x] Tested mobile
2024-03-27 16:29:58 +05:30
vishnukvmd
1020366c3a [mobile][web] Ignore cancelled subscriptions while computing past-due status 2024-03-27 16:11:03 +05:30
laurenspriem
3869802e4c Use alternative face thumbnails in suggestions 2024-03-27 16:08:23 +05:30
vishnukvmd
a581e31ef9 [mobile] Redirect to payment portal if subscription is past due 2024-03-27 15:56:54 +05:30
Vishnu Mohandas
81a8cba4da
[mobile] New translations (#1140)
New translations from
[Crowdin](https://crowdin.com/project/ente-photos-app)
2024-03-27 14:44:29 +05:30
Vishnu Mohandas
0c400db649
[server] Fix Stripe related issues (#1152)
## Description

### Stripe
- Settings have been modified to "Cancel" the subscription if all
attempts to charge an invoice fails. The previous configuration was to
set the subscription to "Past Due".

### Museum
- Updated our Stripe workflow to use `PaymentBehaviorAllowIncomplete` in
case of SEPA payments
- Fixed the issue caused by us spawning unnecessary subscriptions when a
customer tried to renew their expired subscription
- Removed the email that was being sent out when a Stripe subscription
expired. We will have to run our own cron to send a notification and
perform necessary clean up. When payments fail, we will still send a
notification to intimate the customer that their account is on hold.

### Mobile
- Fixed the dialogs and error messages on the payment page

## Tests
The following cases were tested for SEPA, Credit Cards, and Credit Cards
with 3DS.
- [x] Purchase
  - [x] Success
  - [x] Failure
- [x] Renewal
  - [x] Success
  - [x] Failure
- [x] Upgrades
  - [x] Success
  - [x] Failure
- [x] Cancellation
- [x] Resumption post recovery

## Note

These changes are likely to break in the event of some corner cases we
haven't thought of. But this will land us in a state that is better than
where we are right now in terms of collecting payments for expired
subscriptions and those via SEPA.
2024-03-27 14:43:36 +05:30
vishnukvmd
b78a66a274 [mobile] Update behavior of the payment page 2024-03-26 19:59:22 +05:30
Crowdin Bot
33cfec915a New Crowdin translations by GitHub Action 2024-03-26 01:55:04 +00:00
Manav Rathi
a4ecc2c344
Update ente.io/faq => help.ente.io where possible
On desktop, now there Help menu will have an "Ente Help" option instead of "FAQ"
(Unrelated: I noticed that user facing strings in the desktop app are not
localized).

The only place remaining after this is the sidebar on mobile
(`support_section_widget.dart`), but I wasn't sure of what string to use (and
how to add it to the localized strings for mobile) so I've left it unchanged.
2024-03-25 19:26:10 +05:30
laurenspriem
a09b71cc15 [mob] Faster face cropping method 2024-03-23 17:02:22 +05:30
laurenspriem
b1b3bcc534 Support for clustering in buckets 2024-03-22 11:49:23 +05:30
laurenspriem
85f76497b4 More debug info 2024-03-22 11:31:33 +05:30
ashilkn
953824ca25 Refactor: reduce parameters and change name of function 2024-03-21 19:54:31 +05:30
laurenspriem
005ab0814f [mob] Remove empty CTA icon when there are people 2024-03-21 18:59:45 +05:30
laurenspriem
b8813161a1 Add faces count 2024-03-21 18:23:21 +05:30
laurenspriem
f94aa400bf [mob] Minor changes to clustering 2024-03-21 18:07:12 +05:30
laurenspriem
b5cff212bb Refactor of clustering 2024-03-21 16:59:55 +05:30
laurenspriem
212208ae01 Add debugPrint 2024-03-21 16:53:22 +05:30
laurenspriem
fc8122b18e Add indexing debug cooldown 2024-03-21 16:52:52 +05:30
ashilkn
7c05069dbd fix(viewing proXDR images): When codec fails to produce an image, try converting image to jpeg and use the jpeg file for viewing the image 2024-03-21 16:26:09 +05:30
laurenspriem
a2bca84b91 [mob] Sort clustering on fileCreationTime asc 2024-03-21 15:41:34 +05:30
laurenspriem
a9fdee96a8 More debug options 2024-03-21 12:40:03 +05:30
laurenspriem
125a4de66a Deprecate function 2024-03-20 16:20:55 +05:30
laurenspriem
a4582c0e55 Move FaceML inside Machine Learning directory 2024-03-20 15:51:57 +05:30
laurenspriem
1819ea834a Forgot to delete debug stuff 2024-03-20 14:44:28 +05:30
laurenspriem
a443ac1680 Better use of constants 2024-03-20 14:42:42 +05:30
laurenspriem
39f16ff517 Only show high quality faces in file info 2024-03-20 14:34:12 +05:30
laurenspriem
974b7c7329 Increase blur threshold 2024-03-20 14:15:59 +05:30
Vishnu Mohandas
8101fe1495
Patch few Stripe related issues (#1156) 2024-03-20 14:07:26 +05:30
vishnukvmd
ec258e8b2a Extract the payments redirect URL into an environment variable 2024-03-20 14:06:53 +05:30
vishnukvmd
b769c428eb Hide the dialog on page load 2024-03-20 14:05:23 +05:30
laurenspriem
af1a6fc9fa [mob] Log actually analyzed count 2024-03-20 12:03:08 +05:30
laurenspriem
2573328c30 [mob] Minor change 2024-03-20 11:28:59 +05:30
laurenspriem
eaea4f81b7 [mob] update server on old FaceMlVersion 2024-03-20 11:28:37 +05:30
laurenspriem
17fa64aa5e Remove unused import 2024-03-20 10:43:02 +05:30
laurenspriem
83d8d7ae7a [mob] empty constructor for Face 2024-03-19 18:24:46 +05:30
Neeraj Gupta
a79b14db78 [mob] use ml version when to decide need for re-index 2024-03-19 16:16:08 +05:30
Neeraj Gupta
e83e8cdb6e [mob] minor refactor 2024-03-19 15:18:07 +05:30
Neeraj Gupta
3e4cf4b4f2 [mob] Skip already indexed files on remote 2024-03-19 15:06:32 +05:30
Neeraj Gupta
8a4ca15eb8 [mob] generated strings 2024-03-19 13:44:57 +05:30
Neeraj Gupta
79acd166b7 [mob] Enable magic search in face 2024-03-19 12:37:24 +05:30
Neeraj Gupta
f78eb703ef [mob] Add support for pushing embeddings to remote 2024-03-16 23:02:44 +05:30
Vishnu Mohandas
a5340764a8
[mobile][photos] Share to multiple people at once (#1116)
[mobile][photos] Share to multiple people at once
2024-03-16 00:07:12 +05:30
ashilkn
64814ef82f minor fixes 2024-03-15 21:07:38 +05:30
ashilkn
bb622bfcd0 fix typo in file name 2024-03-15 20:49:51 +05:30
ashilkn
07c41c4c92 extract strings 2024-03-15 20:22:15 +05:30
laurenspriem
58c85c8c13 Deprecating some methods 2024-03-15 18:22:40 +05:30
laurenspriem
0b0a0cec26 [mob] Only run decoding of images once 2024-03-15 18:15:57 +05:30
laurenspriem
9285baace2 Change Face to use relative coordinates 2024-03-15 17:07:17 +05:30
vishnukvmd
14c75333f3 Simplify states 2024-03-15 16:49:02 +05:30
vishnukvmd
7941d4bcb6 Skip model downloads over mobile data 2024-03-15 16:36:45 +05:30
ashilkn
ed2e3bae0d clean up 2024-03-15 16:21:04 +05:30
ashilkn
1e8f772280 feat(share-to-multi-contacts-at-once): multiple changes in one commit due mistakes when commiting
- Change 'Add viewer' buttons logic to work with the new UI.
- Long press on an email to verify.
- Filter suggestions list with the text entered in 'Enter email' text field.
2024-03-15 15:47:14 +05:30
laurenspriem
ca16c6f0d6 Merge remote-tracking branch 'origin/mobile_face' into mobile_face 2024-03-15 14:58:21 +05:30
laurenspriem
cdd8929bc6 Cleanup 2024-03-15 14:53:46 +05:30
laurenspriem
05f188080b Remove image package in thumbnail generation 2024-03-15 14:53:40 +05:30
Neeraj Gupta
85ed93e374 [mob] Remove unused files 2024-03-15 14:52:57 +05:30
Neeraj Gupta
3007c4c7dd Remove unused model 2024-03-15 14:41:57 +05:30
ashilkn
a4985116b8 feat(share-to-multi-contacts-at-once): change data structure of selected emails from List to Set to avoid duplicates 2024-03-15 12:53:32 +05:30
laurenspriem
847a99d0e9 Fix cutoff face thumbnails 2024-03-15 12:52:27 +05:30
laurenspriem
52b787f71e Face thumbnail generation without canvas 2024-03-15 12:48:01 +05:30
ashilkn
487be4a451 feat(share-to-multi-contacts-at-once): change state to selected state of an existing email if an already existing email in the list is added from 'add new email' 2024-03-15 12:44:54 +05:30
ashilkn
987250d4f3 feat(share-to-multi-contacts-at-once): add new email to list below with selected state 2024-03-15 12:34:30 +05:30
ashilkn
0b6d44eb99 feat(share-to-multi-contacts-at-once): make list of suggested users a state variable 2024-03-15 11:21:21 +05:30
Neeraj Gupta
9f3fe7b05b Merge branch 'main' into mobile_face 2024-03-14 17:11:53 +05:30
vishnukvmd
22685ae911 Increase interaction timeout to 15s 2024-03-14 16:35:38 +05:30
ashilkn
96072a607c nit: fix typo 2024-03-14 16:20:08 +05:30
ashilkn
8bf17af6de feat(share-to-multi-contacts-at-once): make multi-select possible from list of existing contacts 2024-03-14 16:14:06 +05:30
laurenspriem
8ef673fe58 Clean up logs 2024-03-14 16:13:42 +05:30
laurenspriem
74d1cbb01f Use full file on face detection 2024-03-14 16:13:27 +05:30
laurenspriem
f0ad363895 elliptical rounding on face widget 2024-03-14 16:04:08 +05:30
ashilkn
6b70d8556b Use MediaQuery.viewInsetsOf() instead of MediaQuery.of() to reduce rebuids 2024-03-14 11:52:13 +05:30
ashilkn
d4cf8c5f9a move super.initState to top 2024-03-14 11:25:38 +05:30
ashilkn
48a8bab862 dispose text field focus node 2024-03-14 11:24:50 +05:30
Neeraj Gupta
c643876955 [mob][face] Fix clear table query 2024-03-14 11:12:22 +05:30
laurenspriem
17684a112e [mob] green banner for adding name to cluster 2024-03-13 19:00:23 +05:30
laurenspriem
aad4bd3b79 Better logging for face detection 2024-03-13 18:32:57 +05:30
Neeraj Gupta
614db863bc [mob] Fix search tab 2024-03-13 17:49:10 +05:30
Neeraj Gupta
f239959067 Merge branch 'mobile_face' of https://github.com/ente-io/auth into mobile_face 2024-03-13 16:39:27 +05:30
laurenspriem
83b9afa5c8 custom interpolation for face detection 2024-03-13 16:36:45 +05:30
github-actions[bot]
83aa3db795
[mobile] New translations (#740)
New translations from
[Crowdin](https://crowdin.com/project/ente-photos-app)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-03-13 13:55:47 +05:30
Ashil
6ef1da68e0
[photos][mobile] Performance improvement (#1080)
## Description

Stack has `clipBehaviour = Clip.hardEdge` by default. This is necessary
if content inside the stack is overflowing it's boundary and it has to
be clipped. Clipping is expensive so it's worth removing it when it
makes sense.

In this case of `GalleryFileWidget`, content doesn't overflow the
Stack's boundary so the clip operation can be removed by setting
`clipBehaviour = Clip.none`.
2024-03-13 13:52:03 +05:30
Neeraj Gupta
33a0a3511a Merge branch 'mobile_face' of https://github.com/ente-io/auth into mobile_face 2024-03-13 12:06:53 +05:30
Neeraj Gupta
f9dd509d61 Merge branch 'main' of https://github.com/ente-io/auth into mobile_face 2024-03-13 12:06:33 +05:30
Vishnu Mohandas
92de88e778
[photos] Update flow for Independent APK (#1074) 2024-03-13 11:46:04 +05:30
Ashil
518b947808
[mobile][photos] Make scrollbar in log file viewer interactive (#1075) 2024-03-13 11:43:31 +05:30
vishnukvmd
be3b4dc7ba Open the link to Github APK instead of downloading it in-app 2024-03-13 11:21:36 +05:30
Ashil
0c1c0ad400
[mobile][photos] Home widget UI tweaks (#1060) 2024-03-13 11:20:50 +05:30
Ashil
773f4cdca2
[mobile][photos] Fix missing hero animation (#1064)
## Description

Sometimes, when opening an image from gallery, the hero animation fails
to happen. This PR fixes this issue.



https://github.com/ente-io/ente/assets/77285023/2ee40ec8-58d0-4ca1-82fb-1be96581137b



## Tests

- [x] Didn't break hero animations of videos, it almost stays the same.
2024-03-13 11:20:20 +05:30
Neeraj Gupta
297148dc67
[auth][mob] Add recovery support for passkey (#1013)
## Description

## Tests
  Verified that reset flow is working fine on both auth and photos app.
2024-03-13 11:12:30 +05:30
laurenspriem
af978e1e36 Banner to add name to cluster 2024-03-12 18:52:31 +05:30
laurenspriem
a00a8bb0a9 RRect for faces in file info 2024-03-12 18:48:21 +05:30
laurenspriem
3b2fa3ba10 bicubic interpolation 2024-03-12 17:06:42 +05:30
Prateek Sunal
1d2de8d9b8
[mobile][photos] Home Widget fixes (#992)
## Description

- Upscale default placeholder
- Keep image ready to be rendered in home widget before adding the home
widget.
- Change the photo in home widget every time it's clicked.
- Open favourites when home widget is clicked.
- Fix multiple issues

## Tests

Did a good amount of testing.

---------

Co-authored-by: ashilkn <ashilkn99@gmail.com>
Co-authored-by: Ashil <77285023+ashilkn@users.noreply.github.com>
2024-03-12 01:39:30 +05:30
Neeraj Gupta
9f2a66e0ef Fix lint warnings 2024-03-11 22:45:22 +05:30
Neeraj Gupta
944ef2e564 [mob]Generate randomkey using crypto library 2024-03-11 22:34:00 +05:30
laurenspriem
5b3519ea38 Align faces with bilinear interpolation in dart 2024-03-11 18:50:00 +05:30
laurenspriem
ebc69b645e Enable faces section quick and dirty fix 2024-03-11 18:18:45 +05:30
Neeraj Gupta
27c1b66c08 [auth][mob] Add recovery support for passkey 2024-03-11 17:54:24 +05:30
laurenspriem
db4b1a8767 Deprecate TFLite preprocessing methods 2024-03-11 17:10:16 +05:30
Neeraj Gupta
e272722d6e [mob][photos] Add dialog to describe clean uncat option 2024-03-11 16:52:27 +05:30
Neeraj Gupta
a73f3cc52b [mob] Fixed sorting bug in uncategorized section 2024-03-11 16:52:27 +05:30
ashilkn
ae67f0d67b nit: change description section's heading from 'Photo descriptions' to 'Descriptions' 2024-03-11 13:06:07 +05:30
ashilkn
fab16a7947 nit: change location section's heading from 'Location' to 'Locations' 2024-03-11 12:59:59 +05:30
ashilkn
b812827480 update currentChangeLogVersion 2024-03-09 17:15:08 +05:30
ashilkn
f9051c94da update change log 2024-03-09 17:12:57 +05:30
ashilkn
4c3642526e minor fix 2024-03-09 17:05:23 +05:30
ashilkn
7c86e8f903 update limit of elemets shown in each search section 2024-03-09 16:52:02 +05:30
ashilkn
b4cf5761fa remove unused translation 2024-03-09 16:44:24 +05:30
ashilkn
881ece525f fix alignment of 'search' hint text in search field 2024-03-09 16:39:54 +05:30
Prateek Sunal
5acef45118
[FIX] HomeWidget improvements (#737)
## Description
- Use Background fetch as workmanager is not working as expected.
- Use new asset for empty state.
2024-03-09 16:21:04 +05:30
Vishnu Mohandas
c75e45897c
[Photos] Fix auto scaling on loading final image (#749)
## Description

When an image is zoomed in, there were cases where when then final image
is loaded and rendered on screen, the image gets zoomed even more.

#### Case 1
Double tapping twice to zoom and then the final image is loaded.

##### Before


https://github.com/ente-io/ente/assets/77285023/7d9acb0f-2849-4ffb-863d-cab61ef4bd16

##### After


https://github.com/ente-io/ente/assets/77285023/89fb1238-1444-4681-a94f-7a58679f9350



#### Case 2
When screen is pressed or dragged (any contact with screen).

##### Before


https://github.com/ente-io/ente/assets/77285023/3aefdec5-3bc3-42ef-9442-592442273569

##### After


https://github.com/ente-io/ente/assets/77285023/7b458184-5abe-4983-ba21-f38080cc8bee

## Tests

Tested for regressions. Found one, which it not quite a regression as
the issue was already present but reproducible in a different flow. It
happens too fast for screen recording to capture it.

Not a blocker as it doesn't affect usability in anyway and since this
fix (auto scaling on final image loading) is an important fix.
2024-03-08 17:05:24 +05:30
ashilkn
62b05513a2 Remove late initialisations 2024-03-08 17:00:48 +05:30
ashilkn
ea63ea1c55 Make _photoViewController late 2024-03-08 16:32:16 +05:30
ashilkn
1dd183c4bd Make scaleStateController final and dispose it when widget gets disposed 2024-03-08 15:54:38 +05:30
Neeraj Gupta
5a04030766 Fix lint 2024-03-08 15:17:28 +05:30
Neeraj Gupta
04e508561b [photos] Update copy for passkey verification 2024-03-08 15:17:28 +05:30
Neeraj Gupta
57d5647a39 [photos] Add support for by-passing passkey 2024-03-08 15:17:28 +05:30
Neeraj Gupta
9f28e5ef79 Rename 2024-03-08 15:17:28 +05:30
Neeraj Gupta
42d9ad4206 [photos] Register passkey reset key 2024-03-08 15:17:28 +05:30
Neeraj Gupta
907a0bd456 Reformat 2024-03-08 15:17:28 +05:30
Neeraj Gupta
8f37af3985 [mobile] Add TwoFactorType enum & pass it during recovery 2024-03-08 15:17:28 +05:30
ashilkn
69c5d4f645 Added comment for context of line 2024-03-08 14:57:32 +05:30
ashilkn
cf8e684cb3 Revert "Remove unnecessary check"
This reverts commit a9631c09c8.
2024-03-08 14:09:43 +05:30
ashilkn
a9385f2132 Remove unnecessary mixin 2024-03-08 14:05:42 +05:30
ashilkn
454f5cdead Merge branch 'main' into fix_auto_scaling_on_loading_final_image 2024-03-08 12:17:04 +05:30
ashilkn
3f45345aad fix: when image is fully loaded after scaling the image, stay at the same position 2024-03-08 12:13:50 +05:30
ashilkn
8da57bd575 fix: auto scaling when final image is loaded case 2
When an image is magnified and a user is pressing down (onPressed) on the image, once the final image is loaded, the image auto scales
2024-03-08 12:09:33 +05:30
Neeraj Gupta
350e02f348 Lint fixes 2024-03-08 12:00:39 +05:30
ashilkn
f14b499ffe fix: auto scaling after image is fully loaded after double tapping twice 2024-03-08 11:20:19 +05:30
Neeraj Gupta
d2bf4846a5 [mobile] Patch faces mvp from photos-app repo 2024-03-08 09:36:03 +05:30
Neeraj Gupta
a9cb6f3077
[mobile] Remove unused db for public keys (#734)
## Description
To keep the changes simple, we are not deleting any existing database
instances. In case we need to store this information in the future, we
will reuse the existing database instead of creating a new one.
2024-03-07 16:37:20 +05:30
github-actions[bot]
1a6644e28c
New translations (mobile) (#667)
New translations via [Crowdin GH
Action](https://github.com/crowdin/github-action)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-03-07 08:35:58 +05:30
ashilkn
a9631c09c8 Remove unnecessary check
_loadedFinalImage will be true only after _loadedSmallThumbnail becomes true as first the small thumbnail is loaded and then the final image
2024-03-07 07:29:39 +05:30
ashilkn
c4ec818fb8 Remove unnecessary SingleTickerProviderStateMixin 2024-03-07 07:27:51 +05:30
Neeraj Gupta
dd323316f7 Update logs & undo build file changes 2024-03-07 07:02:17 +05:30
Neeraj Gupta
cd328687e2 [passkey] Fix base64 decoding 2024-03-07 06:22:03 +05:30
ashilkn
d6fc57fc3f Merge branch 'main' into fix_auto_scaling 2024-03-06 19:09:27 +05:30
Neeraj Gupta
ce94a17b8a [passkey] Add additional logs 2024-03-06 17:39:34 +05:30
Neeraj Gupta
8101ddf4bc [photos]Always reset volatile password on login 2024-03-06 16:58:34 +05:30
Neeraj Gupta
bf923007e8 Fix arb 2024-03-06 16:58:34 +05:30
Neeraj Gupta
c175973ff0 Passkey changes 2024-03-06 14:54:45 +05:30
Neeraj Gupta
942da28b53 Merge branch 'main' into passkeys 2024-03-06 13:21:42 +05:30
Neeraj Gupta
69a900aa56
[mobile] Move recovery option under account section (#695)
## Description

## Tests
2024-03-06 12:57:03 +05:30
Prateek Sunal
ad542429a4 feat: passkeys for mobile branch 2024-03-05 00:25:52 +05:30
Manav Rathi
918e70b516 Update links to GitHub from within the apps 2024-03-03 18:08:11 +05:30
ashilkn
939e76d696 remove unnecessary mixin 2024-03-02 15:38:03 +05:30
ashilkn
71ad1ee1dd fix(discovery-tab): constrain width of album name in albums section 2024-03-02 12:40:51 +05:30
vishnukvmd
a875cad231 Fix warnings in Photos 2024-03-01 18:54:19 +05:30
Manav Rathi
41b2581b8f Move into mobile/ 2024-03-01 12:25:37 +05:30
Prateek Sunal
801b4162f2 fix: file hash should not be unique 2023-11-20 05:32:04 +05:30
Prateek Sunal
1ca2721dae fix: add file key in table 2024-04-10 22:50:02 +05:30
Prateek Sunal
ce3a3bd802 fix: upload status to table 2024-04-10 20:31:04 +05:30
Prateek Sunal
a45092931d fix: add support for inital resumable 2024-04-10 19:36:57 +05:30
Prateek Sunal
7358305d15 fix: generalize xml parser logic 2024-04-07 12:10:20 +05:30
Prateek Sunal
12c1aa4c28 fix: only multipart when count is greater than 1 2024-04-07 12:09:59 +05:30
Prateek Sunal
2a4a551d52 fix: complete url xml 2024-04-06 22:42:57 +05:30
Prateek Sunal
c2bbca3bc7 fix: separate xml parser util 2024-04-06 21:30:44 +05:30
Prateek Sunal
9c9309cc06 feat: add multipart upload support 2024-04-06 21:24:14 +05:30