Commit graph

479 commits

Author SHA1 Message Date
Manav Rathi 8695f46b43
Improve script for finding unused keys 2024-04-06 11:43:56 +05:30
Manav Rathi 8020d83ced
Fix crowdin paths 2024-04-06 11:30:31 +05:30
Manav Rathi 121df66ada
Cleanup 2024-04-06 11:19:14 +05:30
Manav Rathi a98a29800b
[web] Bundle translations but load them lazily
Refs:
- https://github.com/i18next/i18next-resources-to-backend
- https://stackoverflow.com/questions/77251750/how-to-implement-lazy-loading-translations-in-i18next-with-react
- https://github.com/i18next/react-i18next/issues/525
- https://gist.github.com/SimeonC/6a738467c691eef7f21ebf96918cd95f
- https://www.i18next.com/overview/plugins-and-utils
2024-04-06 11:06:29 +05:30
Manav Rathi 6333792d64
Temporarily disable tsc on CI 2024-04-05 22:03:39 +05:30
Manav Rathi 69bd822499
Attempt to fix tsc warning on CI
Error: src/services/wasm/ffmpeg.ts(6,38): error TS2307: Cannot find module 'ffmpeg-wasm' or its corresponding type declarations.
2024-04-05 21:59:18 +05:30
Manav Rathi 6a31331ac4
Fix lint issue when running on CI
> cast
    $ /home/runner/work/ente/ente/web/node_modules/.bin/tsc
    Error: src/components/FilledCircleCheck/index.tsx(2,20): error TS2307: Cannot find module './FilledCircleCheck.module.scss' or its corresponding type declarations.
2024-04-05 21:56:46 +05:30
Manav Rathi e16834e52e
Remove unused styled jsx tag
This caused the lint to fail on CI

    > auth
    $ /home/runner/work/ente/ente/web/node_modules/.bin/tsc
    Error: src/pages/auth/index.tsx(125,20): error TS2322: Type '{ children: string; jsx: true; }' is not assignable to type 'ClassAttributes<HTMLStyleElement> & StyleHTMLAttributes<HTMLStyleElement> & { css?: Interpolation<Theme>; }'.
      Property 'jsx' does not exist on type 'ClassAttributes<HTMLStyleElement> & StyleHTMLAttributes<HTMLStyleElement> & { css?: Interpolation<Theme>; }'.
    error Command failed with exit code 2.

From reading the code, this CSS doesn't seem to be coming into effect. Then I
also did a test to verify that the auth app is correctly switching to a 2 column
layout even without this.
2024-04-05 21:39:52 +05:30
Manav Rathi 10b0d9f533
Fix the yarn lint 2024-04-05 21:22:44 +05:30
Manav Rathi 791cc61ca7
Fix more leftover issues 2024-04-05 21:18:26 +05:30
Manav Rathi 7a674dcf95
lint-fix 2024-04-05 21:10:59 +05:30
Manav Rathi 5c313fb87d
tsc when linting 2024-04-05 21:10:20 +05:30
Manav Rathi 411984ebdc
Fix lint errors 2024-04-05 21:09:47 +05:30
Manav Rathi cf27f3236c
lint-fix 2024-04-05 20:48:23 +05:30
Manav Rathi 42a59f2fb5
Consolidate and deduplicate 2024-04-05 20:35:22 +05:30
Manav Rathi 7807d3a413
Inline 2024-04-05 20:03:23 +05:30
Manav Rathi 461430a972
Move up from shared 2024-04-05 20:01:28 +05:30
Manav Rathi 0b39759ad9
Inline 2024-04-05 19:58:45 +05:30
Manav Rathi fe6215d0fd
Replace context entry with useRouter 2024-04-05 19:58:45 +05:30
Manav Rathi e680970cdf
Inline 2024-04-05 19:58:45 +05:30
Manav Rathi 63387d8819
Use regular image
This is the only place we were using next/image
2024-04-05 19:58:45 +05:30
Manav Rathi 356ad6f004
Use regular link
Removing unnecessary dependencies on next specific components
2024-04-05 19:58:45 +05:30
Manav Rathi ae51531bd0
[web] Uncomment accidentally activated env vars for localhost defaults 2024-04-05 17:08:47 +05:30
Manav Rathi 0d48284b4f
[web] Remove leftover console log 2024-04-05 11:33:57 +05:30
Manav Rathi e0cfa36f08
Use the implementation instead of the accidental infinite loop 2024-04-05 10:51:04 +05:30
Manav Rathi fa7cbaea18
Remove custom _document
Looking towards a longer term transition out of next
2024-04-05 10:09:37 +05:30
Manav Rathi 9785bbcb26
We don't have full web app support yet
Plus, Apple doesn't do much for PWAs anyway. One reason for removing this until
we test it out in actuality is because there were reports of the semi-PWA
caching causing issues.
2024-04-05 09:38:48 +05:30
Manav Rathi 039387a84e
Initial-scale=1 is still recommended
Ref:
https://teamtreehouse.com/community/is-initialscale-not-needed
2024-04-05 09:36:18 +05:30
Manav Rathi 866b52b002
Inline constant 2024-04-05 09:26:30 +05:30
Manav Rathi 2c098904fb
Inline 2024-04-05 09:13:38 +05:30
Manav Rathi a68dce35f6
Remove unused knob 2024-04-05 09:08:56 +05:30
Manav Rathi 1d0f30ad91
These values were never customized 2024-04-05 09:08:02 +05:30
Manav Rathi ae061d2a44
fetch 2024-04-04 16:19:46 +05:30
Manav Rathi d9d03d8451
Add schema validation of the response 2024-04-04 16:12:39 +05:30
Manav Rathi e53c923675
Lint fix + update URL 2024-04-04 15:44:03 +05:30
Manav Rathi 39228270c1
Deploy 2024-04-04 15:40:17 +05:30
Manav Rathi 384ec365e8
Add starter staff app 2024-04-04 15:25:38 +05:30
Manav Rathi 29550317f7
Enable the jsx-runtime plugin for vite's ESLint
This prevents it complaining about a missing React import.

Enabling this is recommended by the vite starter itself:

> Install
  [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and
  add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends`
  list
2024-04-04 14:46:41 +05:30
Manav Rathi 608cb6c85e
Prevent double rendering in strict mode
The double invocation during dev mode, while harmless, is confusing, so add an
additional small check to insure this only runs once.
2024-04-04 14:25:04 +05:30
Manav Rathi 712b99b8f3
Fix lint issue 2024-04-04 14:15:42 +05:30
Manav Rathi 935e47fbca
Fix the payments eslint 2024-04-04 14:10:16 +05:30
Manav Rathi fcb26d39f1
Don't need default export 2024-04-04 14:02:31 +05:30
Manav Rathi ff6d0d32cf
Remove unused 404 handler
The default appType == 'spa' in vite redirects all (unclaimed) paths to /index.html.

If needed, this can be disabled:
https://stackoverflow.com/questions/69701743/how-can-i-configure-vites-dev-server-to-give-404-errors/69711988#69711988
2024-04-04 13:58:30 +05:30
Manav Rathi 756050ae8c
Fix compilation 2024-04-04 13:02:08 +05:30
Manav Rathi 87dc7d76ca
Remove middleman package, to get it to compile 2024-04-04 11:36:20 +05:30
Manav Rathi 4255e48abb
Convert payments app to use Vite - Part 1
(Doesn't compile)
2024-04-04 11:10:34 +05:30
Manav Rathi a8a5cc8b59
Inline spinner 2024-04-04 09:55:52 +05:30
Manav Rathi 949a42004f
Remove the need for a separate page 2024-04-04 09:53:11 +05:30
Manav Rathi 56d500f4e8
Keep React in scope 2024-04-03 21:41:03 +05:30
Manav Rathi 7a41ba43a5
Another cleanup of billing-service 2024-04-03 21:32:38 +05:30
Manav Rathi 7a729183e2
Cleanup the pages 2024-04-03 20:03:02 +05:30
Manav Rathi aa5422db6c
Clean up CSS 2024-04-03 19:54:16 +05:30
Manav Rathi c0fee7bc91
Clean up strings 2024-04-03 19:51:01 +05:30
Manav Rathi 1411ca6fad
Continue refactoring 2024-04-03 19:46:15 +05:30
Manav Rathi d0f1bbfca7
Refactor billing service 2024-04-03 17:22:00 +05:30
Manav Rathi 8a00f1b85f
Remove custom errors indirection 2024-04-03 15:45:20 +05:30
Manav Rathi f10f751a2f
Inline local storage calls
The methods are trivial, and we cannot centralize the keys since they will be
different for different apps. So an abstraction for this is not beneficial.

Also move the next specific dev build check to @/next
2024-04-03 14:21:11 +05:30
Manav Rathi d28daece8a
ignorePatters seems to be inherited (as we wished) when extending 2024-04-03 13:48:41 +05:30
Manav Rathi 24bce96d71
Shorten 2024-04-03 13:44:30 +05:30
Manav Rathi ad6dea2ecb
prettier markdown 2024-04-03 13:39:44 +05:30
Manav Rathi 212dcfb88a
Tinker 2024-04-03 13:32:05 +05:30
Manav Rathi a689aca4a6
Remove the eslint stuff from docs
(trying to remove the eslint-disables throughout)
2024-04-03 13:26:46 +05:30
Manav Rathi e2fd88bff0
Remove (possibly) unnecessary tsconfigRootDir
Let's see what breaks
2024-04-03 13:15:12 +05:30
Manav Rathi 764b6bf2f3
Move react setup to react specific file 2024-04-03 13:02:09 +05:30
Manav Rathi b3a86874db
yarn.lock 2024-04-02 20:47:35 +05:30
Manav Rathi 5c1ed5be8f
Restructure eslint config 2024-04-02 20:44:57 +05:30
Manav Rathi 14fde54d87
Not really 2024-04-02 20:04:23 +05:30
Manav Rathi 26b35cec9e
Merge @/ui into @/next 2024-04-02 19:58:42 +05:30
Manav Rathi 6213628aee
[web] Prefer .local files for local only configuration (#1280)
Refs: https://vitejs.dev/guide/env-and-mode.html
2024-04-02 17:22:32 +05:30
Manav Rathi cc90dd7ba5
[web] Enable Russian
The translation percentage of Russian in crowdin is now 100%, it's time to
enable it as an option in the UI.

A big thank you to the translators.
2024-04-02 17:16:33 +05:30
Manav Rathi 9cb289e002
[desktop] Prevent the desktop app from getting stuck on viewing openstreetmap info
Open the link in a new tab. This prevents the desktop app from getting into a
state where the user cannot navigate back.
2024-04-02 17:05:23 +05:30
Crowdin Bot ce5627f04c New Crowdin translations by GitHub Action 2024-04-02 11:28:47 +00:00
Manav Rathi 2e7dcc6bc2
Make the cast link clickable 2024-04-02 16:51:27 +05:30
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 25e762ba57
Remove mui from list of transpiled packages
- I can't see this mentioned anywhere in the docs
- Removing it didn't break anything dev / preview
2024-04-01 17:13:06 +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 eced463f6f
Investigate and explain why component selectors don't work with Next vanilla
Refs:
- https://github.com/mui/material-ui/issues/27380#issuecomment-928973157
- https://codesandbox.io/s/hopeful-browser-4q17t5?file=/README.md
- https://mui.com/system/styled/#how-to-use-components-selector-api
- https://github.com/vercel/next.js/issues/46973
2024-04-01 16:43:10 +05:30
Manav Rathi 9b27cac465
Remove @emotion/server
It is not mentioned as a dependency in the SSR page

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

Tested by - yarn dev, yarn preview:photos
2024-04-01 16:05:17 +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 6b56c28870
Mark vscode-styled-components optional 2024-03-31 17:07:48 +05:30
Manav Rathi 9ec68ecd3d
Mention vscode-styled-components 2024-03-31 17:04:38 +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 14e99ea26a
Fix ports 2024-03-30 20:59:05 +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 5810d2b762
Add yarn preview:* 2024-03-30 18:06:58 +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 a06a93e73d
Use 3001 for sidecars 2024-03-29 11:58:42 +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 212b2663d0
Add payments deployment scripts 2024-03-28 17:42:54 +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
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