Commit Graph

7939 Commits

Author SHA1 Message Date
Min RK
5f4a40324f Merge pull request #5043 from jupyterhub/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2025-04-11 08:33:27 +02:00
pre-commit-ci[bot]
9539790f29 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.9.9 → v0.11.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.9...v0.11.4)
2025-04-07 20:35:52 +00:00
Min RK
9fe7822098 Bump to 5.3.0rc0 5.3.0rc0 2025-04-07 15:02:03 +02:00
Min RK
e70658c015 Merge pull request #5042 from minrk/53rc
changelog for 5.3.0 (RC)
2025-04-07 14:59:59 +02:00
Min RK
13ae9247f9 changelog for 5.3.0 2025-04-07 12:58:30 +02:00
Min RK
cb81f309a6 Merge pull request #5030 from minrk/eslint
jsx: update and address eslint
2025-04-07 12:37:25 +02:00
Min RK
b5359545db Merge pull request #5037 from yuvipanda/dummy-path
Add SharedPasswordAuthenticator
2025-04-07 12:25:10 +02:00
Min RK
640c688519 can't run eslint on ci for some reason
npm install hangs
2025-04-07 11:49:05 +02:00
Georgiana
ce1269c1c8 Merge pull request #5041 from ktaletsk/patch-1
Add instruction on how to select dummy authenticator
2025-04-06 20:14:53 +03:00
pre-commit-ci[bot]
d1a412b354 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-05 22:33:39 +00:00
Konstantin Taletskiy
fd9f86cf49 how to select dummy authenticator 2025-04-05 15:31:08 -07:00
Simon Li
4a67babe7d Merge pull request #5012 from minrk/user_options_redux
add apply_user_options hook
2025-04-05 19:31:41 +01:00
Min RK
1aa220ee2c improve user_options docs per review 2025-04-03 14:39:39 +02:00
Min RK
286b85cc78 only relay HTTPErrors to users in apply_user_options hook
don't leak arbitrary error messages
2025-04-03 14:39:11 +02:00
Min RK
8002cbb873 Apply suggestions from code review
Co-authored-by: Simon Li <orpheus+devel@gmail.com>
2025-04-03 11:29:22 +02:00
Min RK
7522d2c73a flesh out SharedPasswordAuthenticator
- add docs, tests
- deprecate DummyAuthenticator.password, pointing to new class
- accept no password as valid config (no login possible)
- log warnings for suspicious config (e.g. passwords not set, admin password set, but no admin users, etc.)
2025-04-02 12:16:22 +02:00
Simon Li
ca733312a1 Merge pull request #5040 from jupyterhub/dependabot/npm_and_yarn/jsx/jsx-minor-6866d3dd07
Bump the jsx-minor group in /jsx with 5 updates
2025-04-01 19:40:20 +01:00
Simon Li
a75e0095c9 Merge pull request #5039 from jupyterhub/dependabot/npm_and_yarn/npm-minor-db3facc306
Bump sass from 1.86.0 to 1.86.1 in the npm-minor group
2025-04-01 19:22:11 +01:00
dependabot[bot]
7fda625102 Bump the jsx-minor group in /jsx with 5 updates
Bumps the jsx-minor group in /jsx with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.0.0` | `19.1.0` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.0.0` | `19.1.0` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.4.0` | `7.4.1` |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.2.4` | `5.2.5` |
| [webpack-dev-server](https://github.com/webpack/webpack-dev-server) | `5.2.0` | `5.2.1` |


Updates `react` from 19.0.0 to 19.1.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.1.0/packages/react)

Updates `react-dom` from 19.0.0 to 19.1.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.1.0/packages/react-dom)

Updates `react-router` from 7.4.0 to 7.4.1
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.4.1/packages/react-router)

Updates `eslint-plugin-prettier` from 5.2.4 to 5.2.5
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.4...v5.2.5)

Updates `webpack-dev-server` from 5.2.0 to 5.2.1
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v5.2.0...v5.2.1)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: jsx-minor
- dependency-name: react-dom
  dependency-version: 19.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: jsx-minor
- dependency-name: react-router
  dependency-version: 7.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.2.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: webpack-dev-server
  dependency-version: 5.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 17:39:41 +00:00
dependabot[bot]
e099579ff3 Bump sass from 1.86.0 to 1.86.1 in the npm-minor group
Bumps the npm-minor group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.86.0 to 1.86.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.86.0...1.86.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.86.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 17:33:17 +00:00
pre-commit-ci[bot]
2457813432 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-03-31 18:50:17 +00:00
YuviPanda
d45472a7fc Partially move to another authenticator 2025-03-31 11:45:14 -07:00
Min RK
ca730cbed4 Merge pull request #5022 from minrk/login_xsrf
improve xsrf errors on login
2025-03-31 10:09:30 +02:00
Min RK
fd3ae8b2b6 Merge pull request #5033 from manics/urlpathjoin-trailing-empty
url_path_join: handle empty trailing components
2025-03-31 10:07:57 +02:00
YuviPanda
b7621ea82b Require different password for admins with dummyauthenticator
Currently, admin users are even more insecure than otherwise
with dummyauthenticator - anyone who knows the username of the admin
can get in if they also know the password.

This PR adds an additional layer of security - admins *must* login
using a different, more secure (longer, per NIST guidelines) password.
If they login using the regular password, no admin status for them.

This mildly helpful in local testing and improves overall security
posture. Where it really shines though, is in 'workshop' hubs. I've
been running those for years now, both at UC Berkeley and now at 2i2c
(with NASA Openscapes in particular). This was the usecase DummyAuth
was written for :D It allows an instructor to share a single password
with all the users in a secure way (they're all in a physical room,
zoom, etc). The password is then changed after the workshop. However,
admin access was not possible in this use case, as anyone guessing the
admin's username can get in as admin. With this change, admin access
is possible.
2025-03-28 09:15:05 -07:00
Simon Li
ba25ee9e9c Additional test cases
Co-authored-by: Min RK <benjaminrk@gmail.com>
2025-03-28 10:08:43 +00:00
Min RK
239902934a Merge pull request #4988 from manics/ipv6
More IPv6: Use bare IPv6 for configuration, use `[ipv6]` when displaying IPv6 outputs
2025-03-28 10:31:07 +01:00
Min RK
e63d6bfbb1 Merge pull request #5036 from minrk/rtd-no-node
skip js build on readthedocs
2025-03-28 10:28:50 +01:00
Min RK
ae434dd866 skip js build on readthedocs
don't need the frontend to build the docs

previously only skipped jsx because yarn was unavailable
but we don't use yarn anymore
2025-03-28 10:15:14 +01:00
Min RK
15efe6b7c1 don't assume url_path_join strips trailing slashes
- when adding trailing slash, do so inside url_path_join, not with `+ '/'`
- don't use url_path_join to build url for handler _outside_ prefix (AddSlash on `/hub`)
2025-03-28 10:02:33 +01:00
Simon Li
5fbf787066 Warn if Spawner.ip includes [] 2025-03-27 22:45:06 +00:00
Simon Li
b486f9465c Add versionchanged for Spawner.ip 2025-03-27 22:33:56 +00:00
Simon Li
5e77ca22e3 url_path_join: handle empty trailing components
This ensures that `url_path_join("/x/", "") returns "/x/" not "/x"
2025-03-27 18:36:50 +00:00
Min RK
cd79f17d90 jsx: update and address eslint
add script to top-level package.json to run eslint in subdir
2025-03-26 12:02:04 +01:00
Min RK
742de1311e Merge pull request #5027 from jupyterhub/dependabot/npm_and_yarn/jsx/jsx-react-7710106a89
Bump the jsx-react group in /jsx with 2 updates
2025-03-25 13:19:54 +01:00
Min RK
f76cc42363 Merge pull request #5023 from minrk/spawn-pending
try to fix flaky spawn_pending browser test
2025-03-25 12:30:37 +01:00
Min RK
7854ed56d1 update lock 2025-03-25 12:28:09 +01:00
Min RK
f2cab7c5ef vendor tiny subset of unmaintained recompose
the functions we use haven't changed in almost 10 years,
and are only a few lines

we should probably lose them eventually, but easier to vendor them first
2025-03-25 12:28:00 +01:00
dependabot[bot]
bd8bb9e5ec Bump the jsx-react group in /jsx with 2 updates
Bumps the jsx-react group in /jsx with 2 updates: [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom).


Updates `react` from 18.3.1 to 19.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.0.0/packages/react)

Updates `react-dom` from 18.3.1 to 19.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.0.0/packages/react-dom)

---
updated-dependencies:
- dependency-name: react
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: jsx-react
- dependency-name: react-dom
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: jsx-react
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 11:21:37 +00:00
Min RK
25c1469658 Merge pull request #5028 from jupyterhub/dependabot/npm_and_yarn/jsx/jsx-minor-d1f509e622
Bump the jsx-minor group in /jsx with 11 updates
2025-03-25 12:20:36 +01:00
Min RK
b64b4e45c2 remove unused multi-select 2025-03-25 11:58:58 +01:00
dependabot[bot]
24d99afffd Bump the jsx-minor group in /jsx with 11 updates
Bumps the jsx-minor group in /jsx with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) | `2.10.7` | `2.10.9` |
| [react-icons](https://github.com/react-icons/react-icons) | `5.4.0` | `5.5.0` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.1.1` | `7.4.0` |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.26.0` | `7.26.10` |
| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.26.0` | `7.26.9` |
| [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.1.0` | `16.2.0` |
| [eslint](https://github.com/eslint/eslint) | `9.21.0` | `9.23.0` |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.2.3` | `5.2.4` |
| [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) | `7.37.3` | `7.37.4` |
| [prettier](https://github.com/prettier/prettier) | `3.5.2` | `3.5.3` |
| [webpack](https://github.com/webpack/webpack) | `5.97.1` | `5.98.0` |


Updates `react-bootstrap` from 2.10.7 to 2.10.9
- [Release notes](https://github.com/react-bootstrap/react-bootstrap/releases)
- [Changelog](https://github.com/react-bootstrap/react-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-bootstrap/react-bootstrap/compare/v2.10.7...v2.10.9)

Updates `react-icons` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/react-icons/react-icons/releases)
- [Commits](https://github.com/react-icons/react-icons/compare/v5.4.0...v5.5.0)

Updates `react-router` from 7.1.1 to 7.4.0
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@7.4.0/packages/react-router)

Updates `@babel/core` from 7.26.0 to 7.26.10
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-core)

Updates `@babel/preset-env` from 7.26.0 to 7.26.9
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.9/packages/babel-preset-env)

Updates `@testing-library/react` from 16.1.0 to 16.2.0
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v16.1.0...v16.2.0)

Updates `eslint` from 9.21.0 to 9.23.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.21.0...v9.23.0)

Updates `eslint-plugin-prettier` from 5.2.3 to 5.2.4
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.3...v5.2.4)

Updates `eslint-plugin-react` from 7.37.3 to 7.37.4
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.37.3...v7.37.4)

Updates `prettier` from 3.5.2 to 3.5.3
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.5.2...3.5.3)

Updates `webpack` from 5.97.1 to 5.98.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.97.1...v5.98.0)

---
updated-dependencies:
- dependency-name: react-bootstrap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: react-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: jsx-minor
- dependency-name: react-router
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: jsx-minor
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: jsx-minor
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: jsx-minor
- dependency-name: eslint-plugin-prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: jsx-minor
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: jsx-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 11:55:03 +01:00
Min RK
470d7624a3 show timestamps in captured logs
for easier debugging of timelines
2025-03-25 11:53:57 +01:00
Min RK
d0120ef56c don't keep waiting for log messages after we've received what we expect
avoids potential race waiting for an element on he progress page after navigating away
2025-03-25 11:53:57 +01:00
Min RK
44b81f662a Merge pull request #5025 from minrk/admin-paging
Try to improve admin paging consistency
2025-03-25 11:53:04 +01:00
Min RK
43a868d00b Apply suggestions from code review
Co-authored-by: Anton Akhmerov <anton.akhmerov@gmail.com>
2025-03-25 11:47:37 +01:00
Min RK
52e852e8f9 test_browser: wait for filter to be applied before clicking next
wait for networkidle isn't enough for debounced name filter
clock.run_for doesn't seem to work, either, unclear why

instead, make sure the first page reflects the filtered view before clicking 'next'
2025-03-25 09:00:57 +01:00
Min RK
1c5607ca1d Merge pull request #5024 from minrk/rm-docker
stop publishing images from jupyterhub/jupyterhub
2025-03-25 08:44:57 +01:00
Min RK
9c4aefc424 Merge pull request #5026 from jupyterhub/dependabot/npm_and_yarn/npm-minor-dc07ffc076
Bump sass from 1.85.1 to 1.86.0 in the npm-minor group
2025-03-24 20:36:18 +01:00
Min RK
66995952ab remove some more docker workflow remnants 2025-03-24 20:14:21 +01:00