The latest one is causing password generation issues (e.g. when creating an account):
TypeError: length cannot be null or undefined
at f (webpack-internal:///../../node_modules/libsodium-wrappers/dist/modules/libsodium-wrappers.js:1:18896)
at m (webpack-internal:///../../node_modules/libsodium-wrappers/dist/modules/libsodium-wrappers.js:1:18940)
at Object.Lt [as randombytes_buf] (webpack-internal:///../../node_modules/libsodium-wrappers/dist/modules/libsodium-wrappers.js:1:93208)
at Module.generateSaltToDeriveKey (webpack-internal:///../../packages/shared/crypto/internal/libsodium.ts:261:82)
We can investigate them and fix them in a subsequent PR, for now it is more
prudent to stick with the version that we've been using and upgrade more
carefully.
The transpilePackage affordance provided by Next.js only kicks in when we import
our TypeScript packages into the apps. But when importing them into another
(internal) package within our monorepo, the transpilation doesn't happen, so
VSCode (rightfully) complains.
It works out fine at runtime (since the actual app code will transpile it
correctly), but this is not a good DX, and smells hacky. So for now, we avoid
our dependence on the export map by keeping the hierarchy rooted at root.
This workaround was added in https://github.com/ente-io/photos-web/pull/1027,
but it has stopped working again, likely due to the update to Next 14. We're
only using nested child selectors in one place (not 100% sure of this, but I did
try to poke around and verify that statement a bit).
This was causing an error in dev mode, and silent failure in production mode.
- Hover state is restored
- dev mode seems to work fine
- yarn build also works
This was likely happening because the package versions in the top level
package.json and the eslint-config package.json were different. I've synced them
for now.
> On a longer time frame, the idea is not have such conflicting cases, and
remove mostly all the top level package.json dependencies and for the rest rely
on them solely being in the top level package.json and not duplicated in two
places.