Commit graph

1533 commits

Author SHA1 Message Date
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
Manav Rathi 48a726885f
Fix typo in comment 2024-03-26 21:45:21 +05:30
Manav Rathi ac97d65c12
Remove one copy of duplication from IPC types 2024-03-26 21:45:21 +05:30
Manav Rathi 24176d8c40
Document a few more dependencies 2024-03-26 21:42:48 +05:30
Crowdin Bot e3d3943539 New Crowdin translations by GitHub Action 2024-03-26 01:36:29 +00:00
Manav Rathi 147d79c64f
[web][photos] Fix infinite loop on half-logins (#1197)
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 19:11:07 +05:30
Manav Rathi 4b7155dd13
Match the condition in one more place 2024-03-25 17:44:27 +05:30
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
LI-NA b98da635b6 [web] Change the command to fetch the git SHA
To make the git command work on Windows, changed it to use different commands depending on the platform of the OS.
2024-03-25 20:10:38 +09:00
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 f53b1361e8
Move file related functions 2024-03-25 15:09:51 +05:30
Manav Rathi 4261624da5
Handle rest of watch related functions 2024-03-25 14:03:20 +05:30
Manav Rathi 186e76c62b
Move add/remove watch functions to preload 2024-03-25 13:49:48 +05:30
Manav Rathi 96ea53face
preload / watch - part 1
The change event was not being used (since
dca542e781), so also remove that dead code.
2024-03-25 13:31:28 +05:30
Manav Rathi 67468c6ff9
Move the selection dialogs 2024-03-25 13:02:06 +05:30
Manav Rathi e8acbd8c9f
Convert the other conversion functions 2024-03-25 12:45:21 +05:30
Manav Rathi 2522da2b5e
Handle runFFMPEGCmd in preload 2024-03-25 12:32:57 +05:30
Manav Rathi dd7e87274a
Handle set/getEncryptionKey in preload 2024-03-25 12:19:19 +05:30
Manav Rathi 106ba270fe
Handle ML related functions in updated preload 2024-03-25 12:09:11 +05:30
Manav Rathi d3093809d6
Inline more into preload 2024-03-23 20:25:56 +05:30
Manav Rathi 81ba5379c9
Move checkExistsAndCreateDir out of preload 2024-03-23 20:06:27 +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 a5c3aff54b
Expose an fs.exists over the context bridge 2024-03-23 18:28:22 +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 3a6c7b2dcd
Remove unused sendNotification IPC 2024-03-19 19:18:05 +05:30
Manav Rathi e00b8fd2f1
Remove unused IPC for getPlatform 2024-03-19 19:18:05 +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
Manav Rathi e4684b22df
Move out the electron-builder config to separate file 2024-03-19 19:17:01 +05:30
Manav Rathi d80fad6cf1
Remove unused vscode extension support
This doesn't belong in the repo even if were used
https://github.com/standard/vscode-standard
2024-03-19 19:17:01 +05:30
Manav Rathi b7b33eba4a
Switch to contextBridge - Part 1 2024-03-19 19:17:01 +05:30
Manav Rathi fc3aea7694
[web] Update yarn.lock 2024-03-19 11:24:42 +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
Manav Rathi 26b162c8dc
[web] Allow running the build outside of a git repository
This was found useful by @Bramas when building a Dockerfile of the web app
itself. See https://github.com/ente-io/ente/pull/1065.

Now, the GIT_SHA environment variable can just be undefined if we're not in a
git repository, and the code using it deals with that case explicitly.

**Tested by**

Temporarily inverted the isDevBuild flag, tehn

1. Ran the build normally and verified that the SHA continued to appear in the logs.

2. Ran the build after copying to a standalone folder without an associated git
   repository and verified that the SHA was skipped without causing the build to
   fail.
2024-03-13 11:15:12 +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 5d01931402
Retain -web suffix to allow disambiguating between main and renderer process 2024-03-12 14:06:42 +05:30
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
Manav Rathi a9557df240
Add preview deployment docs 2024-03-12 10:08:52 +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 438387a4cb
fix: remove organize imports dep 2024-03-11 13:55:44 -04: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 267bd56285
feat: twoFactorType prop with default in recovery page 2024-03-11 13:52:46 -04:00
httpjamesm 44568dc142
feat: text recovery two factor button on passkey error 2024-03-11 13:48:05 -04:00
httpjamesm 83a17e4d11
feat: default to totp 2024-03-11 13:40:49 -04:00
httpjamesm cbdb4907cf
feat: two factor type 2024-03-11 13:30:11 -04:00
httpjamesm 27a1d420db
feat: configure passkey recovery on passkeys click 2024-03-11 13:24:25 -04:00
httpjamesm 69048844d7
fix: add prettier-plugin-organize-imports 2024-03-11 13:10:27 -04:00
httpjamesm 048162ba1f
fix: resp data 2024-03-11 13:09:27 -04:00
httpjamesm 2928cae79a
feat: configurePasskeyRecovery in service 2024-03-11 13:04:53 -04:00
httpjamesm 1d4f92c39b
feat: isPasskeyRecoveryEnabled in service 2024-03-11 13:03:15 -04:00
Manav Rathi 849b61c5cf Document some and fix the path 2024-03-11 17:29:39 +05:30
Manav Rathi 267ad0d11f [desktop] Fix yarn build 2024-03-11 17:04:17 +05:30
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 6fdfa24e89 Document translation 2024-03-11 15:30:24 +05:30
Manav Rathi bd84b54c5a Capitalize Ente 2024-03-11 13:27:17 +05:30
Manav Rathi af4eaac158 Remove duplicate favicon link 2024-03-11 13:26:15 +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
Manav Rathi 290196ee9e Add fixed nightly mappings 2024-03-08 16:36:06 +05:30
Manav Rathi 2d14cc5899 Mention fast forwards 2024-03-08 16:29:35 +05:30
Manav Rathi 0b585ce3a5 Update the documentation 2024-03-08 15:40:35 +05:30
Manav Rathi 8058d2bfd4 Add production deployments 2024-03-08 15:20:16 +05:30
Manav Rathi 215e89427d
[WIP] [docs] Deploy docs (#742)
Add a GitHub workflow to deploy docs. If this works, will start using
this same approach for the other web apps in our repo.
2024-03-08 13:30:28 +05:30
Manav Rathi 2eb95ab215 Move the docs deployment to the new project, its final resting place 2024-03-08 13:26:41 +05:30
Manav Rathi 4b05dd49f6
[web] New translations (#739)
New translations from
[Crowdin](https://crowdin.com/project/ente-photos-web)
2024-03-08 13:16:22 +05:30
Manav Rathi 9e4f4c4670 Document the need for yarn classic 2024-03-08 13:11:04 +05:30
Manav Rathi 05d13979db Remove GitHub deployments
Not integrating GitHub deployments for now since creating a deployment
(anywhere) causes "This branch has not been deployed" message to appear on
unrelated branches.

Also, the Discord /github webhook doesn't support deployment status events
anyway - Discord accepts and responds to the webhook with a 204 but it doesn't
appear in the channel. This is not a big issue, we can easily massage the
payload ourselves, but just mentioning this for posterity. Refs:

* [Corresponding issue on Discord](https://github.com/discord/discord-api-docs/issues/6203#issuecomment-1608151265)

* [A general recipe](https://gist.github.com/jagrosh/5b1761213e33fc5b54ec7f6379034a22)

---

For deleting the existing deployment I had to

```
gh api /repos/ente-io/ente/deployments --jq=".[].id"
gh api --method DELETE -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" "/repos/ente-io/ente/deployments/1375794893"
```

This helpful hint taken from https://github.com/orgs/community/discussions/46375. Thanks!
2024-03-08 12:30:58 +05:30
Manav Rathi e47bcf2774 Merge for now 2024-03-08 12:05:12 +05:30
Manav Rathi 4da96a3b76 Add the workflow 2024-03-08 11:19:04 +05:30
Manav Rathi e3118ee7b0 Start adding notes 2024-03-08 10:37:40 +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 d26d193a41 Update the URLs for opening new deployment PRs
Note that the three dot syntax is needed, the two dot compare doesn't open a pull request.

Ref:
- https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request
- https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests#three-dot-and-two-dot-git-diff-comparisons
2024-03-06 14:48:28 +05:30
Manav Rathi 7057b53d2c Add deployment shortcuts 2024-03-06 11:58:41 +05:30
Manav Rathi 92b5411cb2 Update deployment script 2024-03-06 11:44:30 +05:30
Manav Rathi f199ce0e83 Update deployment instructions 2024-03-06 11:44:09 +05:30
Manav Rathi 9d55b9936d Document NODE_VERSION 2024-03-06 11:09:19 +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
Ikko Eltociear Ashimine e13edc7486
Update dev.md
minor fix
2024-03-05 00:11:27 +09:00
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 e15e39fb6c Crowdin project_id is already public
It is shown on the public project page
2024-03-04 12:54:49 +05:30
Manav Rathi 136124c450 WIP Resurrect web related GitHub actions 2024-03-04 11:27:01 +05:30
Manav Rathi 918e70b516 Update links to GitHub from within the apps 2024-03-03 18:08:11 +05:30
Manav Rathi 95ae7c4594 Update auth/ to account for new monorepo structure 2024-03-02 14:26:55 +05:30
Manav Rathi a7dbd32bc9 Update mobile/ to account for new monorepo structure 2024-03-02 11:47:47 +05:30
Manav Rathi d869bd645f Update web/ to account for new monorepo structure 2024-03-02 10:13:51 +05:30
Manav Rathi d7ef0e238c Add README notices about the in-progress migration to this repository 2024-03-01 16:35:45 +05:30
Manav Rathi 9cdaabc403
Move all submodules to the top level (#505)
## Description

## Tests
2024-03-01 16:16:25 +05:30
Manav Rathi e15c7e1642 Move into web/ 2024-03-01 12:21:07 +05:30