Skip to content

Release 0.62.0#1610

Merged
tvst merged 29 commits intostreamlit:developfrom
tvst:release
Jun 23, 2020
Merged

Release 0.62.0#1610
tvst merged 29 commits intostreamlit:developfrom
tvst:release

Conversation

@tvst
Copy link
Copy Markdown
Contributor

@tvst tvst commented Jun 20, 2020

No description provided.

tconkling and others added 17 commits June 3, 2020 13:15
Fixes streamlit#463

From a lines-of-code perspective, this is a trivial change; Tornado supports WebSocket compression out of the box, and this PR just flips the switch to enable it.

(This obviously adds a bit of memory and CPU overhead to each WebSocket connection.)
* Merge server and client view state changes
* Up resource class used for Python 3.8 tests in CircleCI

* Ooops resource classs change should have be to the "cypress" flow
Our `mypy` task has been failing in CircleCI.

The issue is that `pipenv` is failing to deterministically resolve dependency versions, and is frequently resolving our `tornado=>=5.0, <6.0` dependency to Tornado 6 (because of other transitive dependencies on Tornado).

The solution is to use the `--sequential` flag in our `pipenv install` build step. From the pipenv docs:

> Installation is intended to be as deterministic as possible — use the --sequential flag to increase this, if experiencing issues.

So: pipenv installation is intended to be as deterministic as possible, but it's also possible to "increase its determinism" with a flag! (I think this is...madness.)

This PR *also* cleans up and documents a few things that I found confusing while tracking this down (with @jrhone's help!):

- The `mypy` cache is now stored in the project directory (and gitignored), rather than in `/tmp`
- We expire our CircleCI virtualenv cache key every day; I documented why we do this.
- Added docs to the "Create virtualenv" CircleCI build step.
- Removed the protobuf-caching step from the CircleCI jobs, because it's not actually doing anything.
- Updated the mypy ini to target Python 3.8, and fixed a new mypy warning.
1. It shouldn't read environment variables. This happens automatically.
2. It should have a type.
3. Environment variables and the config system are already tested, so no
   need to make sure it also works in the case of STREAMLIT_SERVER_COOKIE_SECRET.
@tvst tvst force-pushed the release branch 3 times, most recently from 6d4a9d4 to 3492513 Compare June 20, 2020 03:49
@tvst tvst marked this pull request as ready for review June 21, 2020 17:32
@tvst tvst requested review from a team and randyzwitch as code owners June 21, 2020 17:32
@@ -55,16 +55,53 @@ How to start a simple HTTP server:
### Symptom #2: The app says "Please wait..." forever

If when you try to load your app in a browser you see a blue box in the center
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'If when' is a bit awkward, but not enough to hold this up. LGTM

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'm trying to set up a better process so we don't have to do these last-minute changes, so I'm hoping this is the last time this will happen.

In the future, all changes (including changes to docs) will be properly reviewed before release, even if it means delaying the release.

@randyzwitch
Copy link
Copy Markdown
Contributor

@tvst, I already restarted the Python 3.8 test for you this morning and it failed again. So it might be a real issue.

// This works whether XSRF protection is on or off in the server. If off, this is set to
// undefined.
"X-XSRFToken": getCookie("_xsrf"),
},
Copy link
Copy Markdown
Contributor

@karriebear karriebear Jun 22, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this is failing the build. Need to import getCookie

Also this looks duplicative with the HttpClient. I think we should axe these lines and update HttpClient.ts with the new header spelling.

As a FYI, setting withCredentials:true requires not allowing wildcards * for Access-Control-Allow-Origin. Right now we only set a specific origin if enableXsrfProtection is True so if this was False, the call will fail.

Copy link
Copy Markdown
Contributor Author

@tvst tvst Jun 23, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know I know. I was working on the merge :)

Lots of conflicts!

@tvst tvst merged commit fc8cda9 into streamlit:develop Jun 23, 2020
@tvst tvst deleted the release branch June 23, 2020 18:23
tconkling added a commit that referenced this pull request Jun 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants