Commit graph

187 commits

Author SHA1 Message Date
Manav Rathi 5867af3a2f
Clean up EnteSpinner 2024-03-28 17:15:45 +05:30
Manav Rathi ac01f7a12a
Clean up utils 2024-03-28 17:10:48 +05:30
Manav Rathi 713a0038f0
Clean up CSS 2024-03-28 17:09:11 +05:30
Manav Rathi 3c0c591bed
Remove custom font 2024-03-28 17:08:39 +05:30
Manav Rathi 990f9a8d70
Remove old payment instructions 2024-03-28 17:05:59 +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 4c05e0925d
Fix example whitelisted-redirect-url 2024-03-28 13:19:00 +05:30
Manav Rathi 2b379640ca
Allow billing plans to be mounted into the Docker container if needed 2024-03-28 13:07:43 +05:30
Manav Rathi 8cd725978a
Update the README 2024-03-28 12:55:47 +05:30
Manav Rathi c5a2b61454
Fix tsconfig formatting 2024-03-28 12:11:09 +05:30
Manav Rathi 88e4f61221
Config 2024-03-28 12:07:10 +05:30
Manav Rathi 06f1fa086e
Fix dev 2024-03-28 11:56:05 +05:30
Manav Rathi e4c18b9e74
Inline 2024-03-28 11:49:05 +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
Abhinav 8a3c0743fe
Import code for payments.ente.io
Manav: To avoid accidentally spilling out any secrets, squash and
import. However, the overwhelming majority of the work in the original code was
done by Abhinav <abhinavk.grd@gmail.com> so set them as the author for the
commit.
2024-03-28 10:19:44 +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 47a7042d55
Remove dead code from cast 2024-03-23 18:38:31 +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
vishnukvmd 0fd4b2936d ente -> Ente 2024-03-23 12:22:16 +05:30
vishnukvmd a96cb58f87 Fix case for strings 2024-03-23 12:20:15 +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
Manav Rathi 4ff378cd06
[web] Update translations for the non-photos apps 2024-03-18 20:01:37 +05:30
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 dbc50760af [web][passkey] Whitelist *.ente.sh redirect urls 2024-03-12 09:33:14 +05:30
Neeraj Gupta 638de0a769 [authw] Handle passkey finish redirect 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 60a8ca3e2e
feat: link to recovery page 2024-03-11 13:54:22 -04:00
httpjamesm d0a73d729d
feat: passkey recover page 2024-03-11 13:53:49 -04:00
httpjamesm 44568dc142
feat: text recovery two factor button on passkey error 2024-03-11 13:48:05 -04: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 951ace6183 Include translations
There needs to be a better way, but this unblocks our current deployment
2024-03-06 14:50:00 +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 d845be6691 Fix formatting for web 2024-03-04 15:23:38 +05:30
Manav Rathi 918e70b516 Update links to GitHub from within the apps 2024-03-03 18:08:11 +05:30
Manav Rathi e15c7e1642 Move into web/ 2024-03-01 12:21:07 +05:30