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