Commit graph

1283 commits

Author SHA1 Message Date
Manav Rathi
0e1bdfe07e
Support arbitrary ReactNodes as title 2024-04-02 14:38:37 +05:30
Manav Rathi
b95fc54adb
[web] Prefer .local files for local only configuration
Refs:
https://vitejs.dev/guide/env-and-mode.html
2024-04-01 19:59:02 +05:30
Manav Rathi
d5f294980e
Remove use of emotion from payments 2024-04-01 17:08:54 +05:30
Manav Rathi
1e410a82f2
Remove stray use of @mui/system 2024-04-01 17:05:05 +05:30
Manav Rathi
3b3d314f9c
Remove stale import from styled-engine 2024-04-01 16:52:57 +05:30
Manav Rathi
7248a226bc
Remove bootstrap 2024-04-01 15:35:45 +05:30
Manav Rathi
8ae7ae2de9
Replace the Spinner in payments 2024-04-01 15:32:56 +05:30
Manav Rathi
28cf7d76d5
Even numbers don't seem to be kosher, only strings work 2024-04-01 15:13:43 +05:30
Manav Rathi
c2957238da
Fix the date handling 2024-04-01 15:07:29 +05:30
Manav Rathi
f9a2ec774a
Make it work with MUI components 2024-04-01 14:54:29 +05:30
Manav Rathi
0568cd03c9
Refactor somewhat
More to come
2024-04-01 13:07:36 +05:30
Manav Rathi
39bc68390f
Match the variable name 2024-04-01 10:49:28 +05:30
Manav Rathi
83dabfbdee
Refactor 2024-04-01 10:23:54 +05:30
Manav Rathi
35f2a6944e
Inline 2024-04-01 09:58:55 +05:30
Manav Rathi
18698d35bb
Replace in export progress 2024-03-31 21:43:24 +05:30
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
f6abcafc83
Copy over fix into auth and accounts 2024-03-30 17:20:26 +05:30
Manav Rathi
911cdd9448
Remove more dead code from cast 2024-03-29 22:37:42 +05:30
Manav Rathi
b4699ecfcb
Remove ElectronFile from cast 2024-03-29 22:26:50 +05:30
Manav Rathi
ded151241f
Remove more dead code from cast 2024-03-29 22:22:03 +05:30
Manav Rathi
3dfc3a6dba
Remove dead code from cast 2024-03-29 21:56:33 +05:30
Manav Rathi
7ef59bb4cc
Short circuit unused code
isFileEligibleForCast filters out isRawFileFromFileName. Specifically, it
filters out HEIC files. So getRenderableImage is a no-op.
2024-03-29 21:01:17 +05:30
Manav Rathi
049a240916
Remove dead code from cast 2024-03-29 20:54:10 +05:30
Manav Rathi
3fdf5f1e46
Remove dead cast code 2024-03-29 20:12:57 +05:30
Manav Rathi
9440b967c8
Remove the extra spaces being inserted when we copy paste
Ref:

- https://github.com/facebook/react/issues/1643
- https://stackoverflow.com/questions/10837063/display-text-with-spaces-that-are-not-copied
2024-03-29 17:10:51 +05:30
Manav Rathi
d22cf34a0e
Remove nesting 2024-03-29 16:18:49 +05:30
Manav Rathi
0d3662d9fe
Remove the 123456 below the actual code
It prevents copy pasting (and doesn't look too good either)
2024-03-29 16:03:34 +05:30
Manav Rathi
70e5e9b13c
[cast] Change slideshow time from 5s => 10s 2024-03-29 12:34:54 +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
1f6b9030ff
[web] Fix nightly build
This was accidentally an ancient version of axios when importing from the older
repo - update it to what the rest of the code uses (via the shared package).
2024-03-29 09:11:28 +05:30
Manav Rathi
055ebd0447
Fix leftover gunk 2024-03-28 17:44:27 +05:30
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