Commit graph

130 commits

Author SHA1 Message Date
Manav Rathi 9e41b906a7
Swap progress bar 2024-03-31 21:38:26 +05:30
Manav Rathi 0f2181c09b
Remove more legacy ml code 2024-03-31 18:41:15 +05:30
Manav Rathi 707e14702e
Remove unused ML debug code 2024-03-31 18:34:00 +05:30
Manav Rathi f3a0240f1d
Remove more dead code
...that uses bootstrap instead of spending migration effort on it.
2024-03-31 18:23:05 +05:30
Manav Rathi e84b989484
Remove unused code
Came across this when trying to migrate off bootstrap in the few remaining
places, this code is unused and just removing it instead of doing a migration of
it to mui.
2024-03-31 18:19:48 +05:30
Manav Rathi 86e4cffb8e
Replace bootstrap buttons in fix time dialog 2024-03-31 18:16:57 +05:30
Manav Rathi 1d02fe4f32
Remove unused fix-large-thumbnail feature
This was disabled years ago. Specifically removing this now to reduce the amount
of work in removing bootstrap.
2024-03-31 18:07:17 +05:30
Manav Rathi e5edeae370
Remove the bootstrap carousel 2024-03-31 18:01:38 +05:30
Manav Rathi 40a1da1ba7
Fine tune 2024-03-31 18:00:09 +05:30
Manav Rathi 5dfafa28c7
Almost there in terms of styling 2024-03-31 17:54:38 +05:30
Manav Rathi d3df6b31ae
Use actual contents 2024-03-31 17:31:33 +05:30
Manav Rathi 145850a66e
Try using intrinsic size 2024-03-31 17:28:26 +05:30
Manav Rathi 8c127a6cec
Animate 2024-03-31 16:47:10 +05:30
Manav Rathi 3890373d4a
Try pure-react-carousel as a replacement of bootstrap's Carousel 2024-03-31 16:45:46 +05:30
Manav Rathi ee1eb75bdf
Extract component 2024-03-31 16:41:50 +05:30
Manav Rathi 7183a8b493
[web] Remove emotion caches
This is no longer needed for emotion > 10

> For v10 and above, SSR just works in Next.js.
>
> https://emotion.sh/docs/ssr#nextjs

Tested with

- yarn dev:*
- yarn preview:*

This change screws up the CSS in places in dev mode though.
2024-03-30 20:56:38 +05:30
Manav Rathi 949780d1e8
[cast] Use the placeholder as the placeholder, not as the label 2024-03-29 12:15:06 +05:30
Manav Rathi f524403580
Wait for i18 to be ready before trying to load the page 2024-03-28 14:25:20 +05:30
Manav Rathi 88e4f61221
Config 2024-03-28 12:07:10 +05:30
Manav Rathi 478435f806
Use :3001 for all the aux services 2024-03-28 11:42:59 +05:30
Manav Rathi 8f0ef055c5
[web] Make the imported payments code feel at home in the new monorepo
- Use the shared yarn monorepo configuration
- styled-components => emotion (since that's what the rest of the code uses)
- Remove Sentry (since it's gone elsewhere)
2024-03-28 11:40:22 +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 ba307b0dcd [web] Fix check 2024-03-27 16:23:38 +05:30
vishnukvmd ba314eb647 [web] Handle past-due state on clicking "renew" 2024-03-27 16:17:23 +05:30
vishnukvmd 1020366c3a [mobile][web] Ignore cancelled subscriptions while computing past-due status 2024-03-27 16:11:03 +05:30
vishnukvmd a15e9b0c9a [web] Redirect to payment portal if subscription is past due 2024-03-27 15:57:00 +05:30
Crowdin Bot e3d3943539 New Crowdin translations by GitHub Action 2024-03-26 01:36:29 +00:00
Manav Rathi eecb8b70f4
[web][photos] Fix infinite loop on half-logins
Fix an infinite loop of navigation under the following conditions: key is valid
but token is not present.

Fix is to match the condition used in both gallery

    if (!key || !token) {

and the root page.

They seemed to have diverged in commit c3304571a9.

Was able to reproduce this when launching the desktop app such that the key was
picked up (possibly from a prior installation) from the secure keychain, but the
token was not found. I feel this is also a fix for a similar navigation loop
recently reported by QA but unreproducible so far.
2024-03-25 16:48:08 +05:30
Manav Rathi f8a36852a6
Prepare for test 2024-03-25 15:39:29 +05:30
Manav Rathi 892bf852a5
Convert remaining upload functions 2024-03-25 15:29:39 +05:30
Manav Rathi 4261624da5
Handle rest of watch related functions 2024-03-25 14:03:20 +05:30
Manav Rathi f21dc84840
Switch to async fs.exists
We cannot expose the sync version over the context bridge - the node:fs module
is not available to the preload script under context isolation.
2024-03-23 19:59:47 +05:30
Manav Rathi b1d0909675
EXtract common queueProcessor 2024-03-23 18:49:22 +05:30
Manav Rathi 7704b902c4
Extract shared function 2024-03-23 18:46:20 +05:30
Manav Rathi bdb2a22863
Extract shared function 2024-03-23 18:44:30 +05:30
Manav Rathi 7a3209ebf6
Fix preload.ts - Part x/x 2024-03-23 16:13:16 +05:30
Crowdin Bot e953c1c16b New Crowdin translations by GitHub Action 2024-03-23 10:40:49 +00:00
Manav Rathi 53c53cebbc
[web] Update the "source" translation
https://github.com/ente-io/ente/pull/1185 updated the file but in the accounts
app. That's not the file that's used as the source - this PR updates the one we
use as the source for Crowdin.
2024-03-23 15:01:44 +05:30
Manav Rathi d297465ea6
Dedup 2024-03-22 20:48:57 +05:30
Manav Rathi 0a7991bc0e
Remove unused code 2024-03-22 19:52:08 +05:30
Manav Rathi 03bad54bce
Remove from the web side 2024-03-22 17:41:32 +05:30
Manav Rathi 8391e7edfc
Start migrating from promise-fs 2024-03-22 15:13:37 +05:30
Crowdin Bot c9e008895c New Crowdin translations by GitHub Action 2024-03-22 01:36:33 +00:00
Manav Rathi 1157919496
Update the support email 2024-03-21 12:14:23 +05:30
Manav Rathi eeaa5165ab
Remove custom cache directory
From discussions, it seems that it was pre-emptively added but not specifically
requested by a customer. We can bring this back later if needed, or at least
offer better options to clean it, but for now I'm pruning the IPC surface to
reduce the amount of work needed for handling contextIsolation and sandboxing.
2024-03-19 19:18:04 +05:30
Crowdin Bot 9e44f5cc20 New Crowdin translations by GitHub Action 2024-03-19 01:37:04 +00:00
Crowdin Bot 6bbd296c25 New Crowdin translations by GitHub Action 2024-03-18 03:38:20 +00:00
Manav Rathi 9012a96a58
[web] Add passkeys related translations
Obtained these strings from 33faadf83e/apps/accounts/public/locales/en/translation.json (L632)

I didn't have a way of exhaustively ensuring that all strings are covered, but
I've tried to manually verify.

Once this is merged and translation files synced with Crowdin, I'll do another
PR to update the `local/**/translation.json` files within apps/accounts.
2024-03-17 11:55:57 +05:30
Manav Rathi f85f220c1d
Web Passkey Recovery (#1047)
## Description

* Adds passkey recovery feature parity from #1013

## Tests
2024-03-17 11:44:13 +05:30
Crowdin Bot 123fc8a883 New Crowdin translations by GitHub Action 2024-03-15 01:37:14 +00:00
Manav Rathi 56b750c1ac
[web] Exit fullscreen if needed when pressing the info button
Fixes: Info button is not working when videos are playing in full screen mode.

**Tested by**

Wasn't working before, but it works now. Still doesn't work with the keybinding,
have left a note about that in the code.
2024-03-14 15:39:03 +05:30
Manav Rathi f1e68e9eef
Show select-all-for-day checkmark only when there is a selection 2024-03-14 14:42:27 +05:30
Crowdin Bot 419f562aed New Crowdin translations by GitHub Action 2024-03-14 04:22:53 +00:00
Manav Rathi 2faef37f4b
Fix the upload tests
The current approach wasn't working. Not sure what caused it to stop working,
but anyway that was an hacky import, as evidenced by the ungainly warning
webpack would print on `yarn dev`. So instead of taking the path, we just take
the JSON contents directly, sidestepping all that.

**Tested by**

Rerunning the upload tests
2024-03-13 14:25:07 +05:30
httpjamesm d9b1081849
Merge branch 'main' into feature/web-passkey-recovery 2024-03-12 13:57:57 -04:00
httpjamesm 609e4d1207
feat: open accounts portal in a new tab 2024-03-12 13:56:59 -04:00
httpjamesm d4d2c68299
feat: use encryption key for more entropy in reset secret 2024-03-12 13:56:34 -04:00
Crowdin Bot ee7d90e55b New Crowdin translations by GitHub Action 2024-03-12 08:38:32 +00:00
Manav Rathi 206ad46950
Remove CRASH_REPORTING key 2024-03-12 13:59:45 +05:30
Manav Rathi 70cddfdf0b
[web] Remove Sentry
Sentry has a measurable impact on page load, a metric that I'm keen to
improve. Apparently by default it loses us 8-9 page speed points, though that
can be reduced to 3-4
(https://github.com/getsentry/sentry-javascript/issues/9179).

All of this is doable, but there are bigger tasks to deal with. This is not to
say that Sentry won't be useful again at some point, when we have time to deal
with it better. But right now, we discussed that it's just better to remove
Sentry instead of piling on to the sunk cost.
2024-03-12 13:24:33 +05:30
Manav Rathi 8a7f64b889
[web] New translations (#1049)
New translations from
[Crowdin](https://crowdin.com/project/ente-photos-web)
2024-03-12 11:28:39 +05:30
Neeraj Gupta 51f19cf2fd [web] Fix lint error 2024-03-12 09:33:14 +05:30
Neeraj Gupta cb8738287a [photosw] Enable passkey for internal users 2024-03-12 09:33:14 +05:30
Crowdin Bot cfa4077b5c New Crowdin translations by GitHub Action 2024-03-12 01:36:05 +00:00
httpjamesm 27a1d420db
feat: configure passkey recovery on passkeys click 2024-03-11 13:24:25 -04:00
Crowdin Bot 2a33707db2 New Crowdin translations by GitHub Action 2024-03-11 10:29:16 +00:00
Manav Rathi e3826695c5 Remove the unnecessary console warning 2024-03-11 15:31:46 +05:30
Manav Rathi 8fab6b5e48 [web] Fix shared albums
This flow probably got broken when the select-all-for-a-day functionality got
added in https://github.com/ente-io/ente/pull/674 (haven't dug into this, I'm
just guessing since that's where this all got touched).

Thank you to @Bramas on our Discord for pointing this out, and also providing the fix:
https://github.com/ente-io/ente/compare/main...Bramas:ente:fix-error-on-shared-album

Tested by
---------

Run normal web app on one terminal

    NEXT_PUBLIC_ENTE_ENDPOINT=http://localhost:8080 NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=http://localhost:3002 yarn dev

Run the albums listener on another port (need to do this since we're running on
localhost, and need to bind to a different origin):

    NEXT_PUBLIC_ENTE_ENDPOINT=http://localhost:8080 NEXT_PUBLIC_ENTE_ALBUMS_ENDPOINT=http://localhost:3002 yarn dev:albums

Create a shared album, copy its public link, and verify that

- Before the fix we were getting an error (trying to access properties of `galleryContext.selectedFile`)
- After the fix the shared album is visible
2024-03-11 12:00:26 +05:30
Crowdin Bot 2354f5bc7e New Crowdin translations by GitHub Action 2024-03-11 01:36:36 +00:00
Manav Rathi 8c9a11fc62 [web] Fix a warning about MUI component switch state on using the select all checkbox
The issue here was that since the checkbox property would get initialized to an
undefined value, React would consider it to be uncontrolled. But later on we'd
try to set a value, which'd cause React to complain.

Ref:
- Material-UI: A component is changing the uncontrolled checked state of SwitchBase to be controlled
  https://stackoverflow.com/questions/69259429/material-ui-a-component-is-changing-the-uncontrolled-checked-state-of-switchbas
2024-03-09 09:42:33 +05:30
Crowdin Bot 835c6dea73 New Crowdin translations by GitHub Action 2024-03-08 00:09:25 +00:00
Manav Rathi d57e59493b Fix formatting issues 2024-03-06 15:51:26 +05:30
Manav Rathi af2ccf7449 UI tweaks to the select all checkbox
This select-all checkbox was added in https://github.com/ente-io/ente/pull/674.
These are some changes to how it looks:

- Move the checkbox to the left
- Reduce the size of the checkbox
2024-03-06 15:50:20 +05:30
Vishnu Mohandas a857a86608
Added selectAll checkbox to select all files on a day (#674)
## Description

fixes https://github.com/ente-io/ente/issues/535

This PR will add checkbox to all select files on a day, this will also
handle manual selection of files and select all checkbox on a day.
2024-03-06 15:33:20 +05:30
Manav Rathi b4ac991986 [web] Disable the Cloudflare upload proxy when connecting to a custom endpoint
This simplifies use cases like
https://github.com/ente-io/ente/discussions/685#discussioncomment-8682588. There
is one less thing for folks to do if they want to run locally or self-host.

Starting a local museum, then connecting to it from the web app

    NEXT_PUBLIC_ENTE_ENDPOINT=http://localhost:8080 yarn dev

And uploading a photo.
2024-03-06 09:51:19 +05:30
Crowdin Bot 9d0aee87d1 New Crowdin translations by GitHub Action 2024-03-06 00:09:13 +00:00
aakankshabhende b7503897c5 fixed spacing
Signed-off-by: aakankshabhende <aakanksha0407@gmail.com>
2024-03-05 10:48:18 +05:30
aakankshabhende 4a579a93bb Added selectAll checkbox to select all files on a day
Signed-off-by: aakankshabhende <aakanksha0407@gmail.com>
2024-03-05 10:42:57 +05:30
Crowdin Bot 4d26104086 New Crowdin translations by GitHub Action 2024-03-04 10:59:53 +00:00
Manav Rathi e15c7e1642 Move into web/ 2024-03-01 12:21:07 +05:30