The new dynamic favicon-changing code looks for an existing favicon in
the DOM with id 'favicon'. This uses that id in the templates, so we
don't end up with two favicon links in the page.
I was hoping that this would fix some issues I'm having with the favicon
getting stuck, but it doesn't seem to. :-(
Most user don't care how to get the token each time (if they see the
message). They want to avoid using a token.
Make it clearer that Password should be configured.
Be more tricky, say that password not configured **yet**, to make the
user think they __have to__.
The text is not technically correct as as far as I remember you can have
PW and Token at the same time. But I'm going to say that in 99% of case
where users read that, the password is unset.
There is a less-than optimal double border between the last button and
the input field.
Remove it by making the left border of the input field None, (or the
right one in RLT layout). We don't change the border of the buton or it
looks ugly when pressed.
Once the page has been loaded, the token has done its job and can be discarded.
Its presence can lead to confusion, especially copying/pasting URLs with one-time tokens present.
- Cookie-authenticated API requests must use set X-XSRFToken header
- add utils.ajax for making ajax requests, adding xsrf header from default location
- add NotebookApp.login_token, used when NotebookApp.password is not set
- store login_token, bool(password) in notebook server-info file
- `jupyter notebook list` shows pasteable URLs with token
General changes:
- notebook servers are now authenticated by default
- first connect with token sets a cookie
- once a user has logged into one server with a token, their browser is logged in to
all subsequent servers on the same system+port until cookie_secret changes
* Change handler for consistency with nbconvert
* Change bundler function API to take ContentManager models
* Change CLI to work as jupyter bundler
* Change UI to fit into existing template / JS structure
(c) Copyright IBM Corp. 2016