Commit graph

16 commits

Author SHA1 Message Date
Anna Larch
2aa944a80f fix(core): use btoa() instead of window.Buffer.from() for base64 encoding
window.Buffer is a Node.js API that is not natively available in browsers.
It was apparently polyfilled in the webpack bundle by a dependency, but
the polyfill is absent in environments like headless Electron (Cypress).

This went undetected because browserslist-useragent-regexp < 4.1.4 had a
bug where an empty browser set produced /(?:)/ (matches everything). Electron
matched as "supported" and the redirect code was never reached.

browserslist-useragent-regexp 4.1.4 fixed that bug (PR #1583: faithfully
match an empty set of browsers), generating /[]/ instead. Electron 118 no
longer matches as supported, the redirect path is now exercised, and
window.Buffer.from() throws:

  TypeError: Cannot read properties of undefined (reading 'from')

The fix replaces window.Buffer.from(str).toString('base64') with the
native browser btoa(str), which has been universally available since
before our minimum browser support baseline and requires no polyfill.

Fixes: #57920

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-05-04 19:48:19 +02:00
Ferdinand Thiessen
91f3b6b4ee
chore: adjust code to new codestyle
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:42 +02:00
skjnldsv
0179cb4d8d feat(core): add setup cypress tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-13 20:51:00 +01:00
Maksim Sukharev
afd27f4bc4 fix: wipe local storages on log out
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-02-24 10:37:19 +01:00
Ferdinand Thiessen
1df23140b8 fix: Redirect user to login if session is terminated
If a session timed out or was closed in another tab,
then currently the user gets random error messages.
This intercepts 401 responses (should only happen if logged out, or the
users does something wrong).

If we get a 401, we make sure its because of the session,
by checking if the user can access the files app.
If that is also the case we forward the user to the login page
and set the redirect URL to the last used URL.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-12-19 18:56:46 +01:00
skjnldsv
ed901604ab feat(core): offer clipboard fallback for non-secure environments
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-08 14:01:33 +01:00
Ferdinand Thiessen
691f570237
chore: Enable ESLint for apps and fix all errors
Nevertheless this causes a huge amount of new warnings.
Previously the shell script for directories to lint was wrong it was generating all app names to lint,
but was missing the `apps/` prefix. Causing only `core` to be linted.

Co-authored-by: Grigorii K. Shartsev <me@shgk.me>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-09 17:13:30 +02:00
Andy Scherzinger
1f7e2ba599
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-13 17:41:36 +02:00
Julien Veyssier
bb3d7288dd fix adding x-requested-with header for relative URLs when the base NC URL is empty
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-11-24 11:33:08 +01:00
Ferdinand Thiessen
0414ca35c0
fix(xhr-request): Make sure to also allow strings as url
Our utility to add `X-Requested-With` headers on API calls intercepts
calls to `window.fetch`, so we must ensure we allow all parameters that the default
browser provided `window.fetch` allows.
In this case make sure to allow all stringify-able objects.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-10-17 17:41:51 +02:00
Julien Veyssier
d2cc4c4798
only add x-requested-with header if requests point to NC
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-10-16 10:28:47 +02:00
Julius Härtl
0904c84319 fix: Set X-Requested-With header on all requests to avoid browser auth dialogs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-18 18:22:14 +00:00
Julius Härtl
61ce0ad293
Generate proper URL for unsupported browsers page
Signed-off-by: Julius Härtl <jus@bitgrid.net>

Compile assets

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-11-22 11:57:26 +01:00
John Molakvoæ
a8e8a89ade
Only check unsupported browsers on user rendering
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-10-28 12:23:02 +02:00
John Molakvoæ
2d98cd1daf
Add config and fix selenium
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-10-19 10:04:51 +02:00
John Molakvoæ (skjnldsv)
bd303388e3
Cleanup ie and old edge properties
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2022-10-19 10:02:51 +02:00