Most `npm` operations are replaced with `yarn`, which generally has better
behavior. However, steps like publish that write to the NPM registry are left to
`npm`, which currently handles these tasks best.
It would be nice if it were actually an optional dependency and you
could just not install olm and get a Riot without olm, but you can't:
what you get is a broken Riot, so having it as an optional dep isn't
helping anyone.
Also whatever other package-lock changes npm has decided are
necessary today.
This resolves an issue where the auto-updater on Mac with a standard
(ie. non-admin) user account would leave the app in a broken,
unlaunchable state (although it's not obvious what change in
electron-builder fixes this).
Fixes https://github.com/vector-im/riot-web/issues/8215
This adds a `file-loader` rule to the Webpack build so that any requests for
image resource will be output into the app's output directory, but with an extra
content has appended so that we can safely use a long cache lifetime.
The CSS and SCSS rules are also changed to use `css-loader` so that any `url`
inside is automatically processed by the new image rule above.
App checks at startup for an existing session, if there isn't one,
it will start the tool to check for a login in the file:// origin.
If there is one, it will copy the login over to the vector://vector
origin.
In principle this could also be used to migrate logins between
other origins on the web if this were ever required.
This includes a minified copy of the browserified js-sdk with
a getAllEndToEndSessions() function added to the crypto store
(https://github.com/matrix-org/matrix-js-sdk/pull/812). This is
not great, but for a short-lived tool this seems better than
introducing more entry points into webpack only used for the
electron app.