Commit Graph

7113 Commits

Author SHA1 Message Date
Min RK
d32b57450c upgrade: avoid eager loading of not-yet-upgraded column 2023-06-29 09:35:10 +02:00
Min RK
3afb209cd7 cleanup all db users in cleanup_after
not just those in the app.users dict
2023-06-29 09:19:46 +02:00
Min RK
8cd1b57eb4 debug: rm raiseload 2023-06-28 16:39:25 +02:00
Min RK
5a48a8e1fc fix adding users to groups in tests
not sure why this ever worked
2023-06-28 16:39:25 +02:00
Min RK
1734b75d47 avoid instantiating User object wrapper in user_model 2023-06-28 15:53:50 +02:00
Min RK
e12a317e7a join some more relationships 2023-06-28 15:53:50 +02:00
Min RK
f24fbc761f reduce repeat queries in GET /api/users
add eager loading of several relationships that are ~always used when the given objects are requested
add specific eager loading of spawners to the users query

- roles, groups (always needed to resolve permissions)
- APIToken.user, service
2023-06-28 15:53:50 +02:00
Min RK
715b8f3cee add note that user_model is inefficient
I don't have time to solve this now
2023-06-28 15:53:50 +02:00
Min RK
4fb4eed5e9 add default eager loading to several relationships 2023-06-28 15:53:49 +02:00
Min RK
105f8dcb92 Merge pull request #4498 from minrk/test-monitor-query
report db query counts in test output
2023-06-28 15:53:26 +02:00
Min RK
1d9e41ef57 report db query counts in test output 2023-06-28 13:50:31 +02:00
Min RK
fc361e3aea Merge pull request #4497 from minrk/back_populates
orm: trade backref for back_populates
2023-06-28 13:49:35 +02:00
Min RK
f92af04e0e trade backref for back_populates
backref considered 'legacy', and back_populates makes it easier to specify lazy loading options
2023-06-28 12:30:11 +02:00
Min RK
d38dd92415 avoid fetching potentially large list of users to compute repr of groups 2023-06-28 12:27:19 +02:00
Min RK
de31e7f815 more efficient query for loading active spawners to check
query on users filtered by spawner, with joinedload for relationships that will be checked

gets the same results, but in a single query with more efficient lookups
2023-06-28 11:17:25 +02:00
Min RK
e50ad5f039 mismatch query is now the same, don't do it twice 2023-06-28 09:18:02 +02:00
Min RK
7ae1b0b97f Merge pull request #4495 from yuvipanda/py8
Drop support for python 3.7
2023-06-28 09:11:43 +02:00
Min RK
a3ccee3871 Bump to 5.0.0.dev 2023-06-28 09:11:14 +02:00
Min RK
55e4ed6c07 improve query performance in startup role assignment
- avoid lookup-by-name of user and admin roles when assigning them
- filter users-to-update to only those that need updating, which should usually be empty

No change in behavior
2023-06-28 09:09:32 +02:00
YuviPanda
eb1f589d60 Stop testing python 3.7 2023-06-27 15:30:11 -07:00
YuviPanda
328177d25a Drop support for python 3.7
It's EOL today! https://endoflife.date/python
2023-06-27 15:27:34 -07:00
Min RK
13dd6e402b Merge pull request #4492 from Ph0tonic/patch-1
Add missing param descriptions for `HubAuth`
2023-06-27 09:09:22 +02:00
pre-commit-ci[bot]
26068c7db8 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-06-27 05:17:24 +00:00
Wermeille Bastien
a553f97425 Update auth.py 2023-06-27 07:16:52 +02:00
Erik Sundell
6aacc33cd5 Merge pull request #4491 from minrk/424-activity
avoid counting failed requests to not-running servers as 'activity'
2023-06-26 19:24:33 +02:00
Wermeille Bastien
7d00dd9054 Add missing param descriptions for HubAuth 2023-06-26 16:30:03 +02:00
Min RK
6db762c2a7 avoid counting failed requests to not-running servers as 'activity' 2023-06-26 11:37:33 +02:00
Min RK
c5fe261530 improve public_url docstring 2023-06-26 11:32:53 +02:00
Min RK
8e8640de3e make new subdomain scheme compatible with wildcard SSL
rather than using multi-level subdomains, which are nicer,
use `--user` and `--service` so it's only one DNS level below hub.

This is not as nice, but is compatible with wildcard SSL which only allows one level of separation.
2023-06-26 11:06:29 +02:00
Min RK
f7c601ec25 expose dns_safe_name on users
so spawners (e.g. KubeSpawner) can use it.

on users, it is limited to 40 characters to allow it to be used as part of a label.
2023-06-26 11:05:02 +02:00
Min RK
58da178d30 Merge pull request #4455 from kreuzert/main
Add Spawner.progress_ready_hook for customizing the ready event
2023-06-26 10:46:26 +02:00
Erik Sundell
2673564e66 Merge pull request #4489 from minrk/no-credential-message
improve permission-denied errors for various cases
2023-06-23 15:00:02 +02:00
Min RK
a31127ed8b improver permission-denied errors for various cases
- "Missing or invalid credentials" if no credentials at all
- fix HTTP method name on actual xsrf check failures
- show scopes if authenticated but not authorized (no change, but now tested)
2023-06-23 13:53:11 +02:00
Diogo Castro
38e1a0aed5 Tests 2023-06-21 22:55:39 +02:00
Diogo Castro
7a0b8d675a Small css and layout improvements for better consistency 2023-06-18 16:16:37 +02:00
Diogo Castro
c2e7ce52ae Admin server buttons depending on the status (pending, running or stopped)
Fixes #4466
2023-06-18 16:16:37 +02:00
Diogo Castro
6eaa3a4343 Testing UI
Built on previous work, this allows seeing the react compiled UI without having to run JH
2023-06-18 16:15:36 +02:00
Erik Sundell
161cdcd7e7 Merge pull request #4480 from minrk/implicit-allow
Remove check for allowed_users for users created via role or group config
2023-06-14 16:28:06 +02:00
Min RK
ad3266b902 Remove check for allowed_users for users created via config
adding users via config anywhere makes them allowed

previously, this was _required_, so that it was always true for working config,
but config which allowed some users but declared others in groups or roles was forbidden.

Now, declaring a user anywhere _ensures_ the user is allowed rather than _enforcing_ it.
2023-06-14 14:42:15 +02:00
Min RK
0e4deec714 Merge pull request #4475 from grios-stratio/fix/custom-debug-function
Allow setting custom log_function in tornado_settings in SingleUserServer
2023-06-13 12:36:11 +02:00
Erik Sundell
345f50d29c Merge pull request #4477 from minrk/build-system
Move most package config to declarative pyproject.toml
2023-06-13 12:22:42 +02:00
Tim Kreuzer
262a831af8 use dict.copy() instead of deepcopy, improve docstrings 2023-06-13 08:44:50 +02:00
Min RK
2c7d693537 MANIFEST.in only needs to handle untracked files 2023-06-12 16:05:42 +02:00
Min RK
52a08176cc add missing init for jupyterhub.tests.browser 2023-06-12 15:55:41 +02:00
Min RK
c90b190c13 Move most package config to declarative pyproject.toml
data_files still needs to be dynamic because it gets reconstructed after setup.py starts
2023-06-12 15:47:47 +02:00
Min RK
20f75c0018 Bump to 4.1.0.dev 2023-06-12 15:29:13 +02:00
Guillermo Ríos
b71d1543ca use setdefault 2023-06-09 17:28:32 +02:00
Guillermo Ríos
cf21933a1d check for log_function in tornado_settings, not in web_app.settings 2023-06-09 17:27:38 +02:00
Guillermo Ríos
9349ad52e4 Allow setting custom log_function in tornado_settings in SingleUserServer 2023-06-08 17:39:02 +02:00
Min RK
689dc5ba24 Bump to 4.0.1 4.0.1 2023-06-08 10:38:00 +02:00