forked from streamlit/streamlit
-
Notifications
You must be signed in to change notification settings - Fork 0
Dr mag pie async cache #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Describe your changes Clean up old reboot global scss files. Some of the still relevant stylings are moved into `globalStyles` to be cleaned up in subsequent PRs. ## Testing Plan - No logical changes -> no tests required. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
Resolve snapshot failure for `st_pydeck_chart_select_test` that has started to fail on `develop` and other PRs
## Describe your changes Fix a regression that removed showing the pointer cursor on hovering buttons. ## Testing Plan - Added e2e test. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…streamlit#9494) ## Describe your changes - Convert many components to functional - Components that were straight applications of `useBasicWidgetState`: - `st.time_input` - `st.date_input` - `st.color_picker` - `st.selectbox` - Components that require an extra "commit" step to save values to the state: - `st.text_input` - `st.text_area` - Components that have a "commit" step and other complexities: - `st.slider` / `st.select_slider` - Rename `setValueWSource` to `setValueWithSource` - Move some usage of `FormClearHelper` to `useFormClearHelper`: `st.number_input`, `st.dataframe`, `st.button_group` - Clean up `st.number_input` a little - Change `st.slider` algorithm ## GitHub Issue Link (if applicable) ## Testing Plan - ~~Explanation of why no additional tests are needed~~ - [x] Unit Tests (JS and/or Python) - [x] E2E Tests - Any manual testing needed? - Yes! Would love tests of: - All widgets above + session state - All widgets above + developer changes some parameters in the source code --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes - Adds `make update-snapshots` command to update the local snapshots based on the latest completed CI run. - Changes the behavior of snapshot testing to only fail after the full test has run through on a snapshot mismatch. This makes it easier to update snapshots of tests that contain multiple snapshot asserts. ## Testing Plan - Only adds dev-related tooling. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes In streamlit#9494 a dynamic way was added to calculate the slider labels. It looks like the added snapshot tests are flaky (on Firefox). It looks like the pixel values can have a few decimal values which seems to shift the label slightly. ## GitHub Issue Link (if applicable) ## Testing Plan - Fix flaky tests, so change is covered by them. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…t#9738) Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.6 to 2.0.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chimurai/http-proxy-middleware/releases">http-proxy-middleware's releases</a>.</em></p> <blockquote> <h2>v2.0.7</h2> <p><strong>Full Changelog</strong>: <a href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7">https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7</a></p> <h2>v2.0.7-beta.1</h2> <p><strong>Full Changelog</strong>: <a href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7-beta.0...v2.0.7-beta.1">https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7-beta.0...v2.0.7-beta.1</a></p> <h2>v2.0.7-beta.0</h2> <p><strong>Full Changelog</strong>: <a href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7-beta.0">https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7-beta.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md">http-proxy-middleware's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/chimurai/http-proxy-middleware/releases/tag/v2.0.7">v2.0.7</a></h2> <ul> <li>ci(github actions): add publish.yml</li> <li>fix(filter): handle errors</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/chimurai/http-proxy-middleware/commit/1e9233909839962bb3c1980848ad499b4757a71d"><code>1e92339</code></a> ci(github-actions): fix npm tag</li> <li><a href="https://github.com/chimurai/http-proxy-middleware/commit/90afb7c9a658b32cc8fe08950bd0926d3bb512c1"><code>90afb7c</code></a> chore(package): v2.0.7</li> <li><a href="https://github.com/chimurai/http-proxy-middleware/commit/0b4274e8cc9e9a2c5a06f35fbf456ccfcebc55a5"><code>0b4274e</code></a> fix(filter): handle errors</li> <li><a href="https://github.com/chimurai/http-proxy-middleware/commit/1bd6dd578b1326ed7979c301e3f8eb0f228f5b6f"><code>1bd6dd5</code></a> ci(github actions): add publish.yml</li> <li>See full diff in <a href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/streamlit/streamlit/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Describe your changes This PR blocks the use of `eval` in a browser environment. Please see [this](https://docs.google.com/document/d/1g-fczG7eV5CIIUDd5pnwvGkUn-SLf2vMZeBk9qj1Yk4/) spec for more info on why we need to remove it. This PR adds 2 packages: [patch-package](https://www.npmjs.com/package/patch-package) and [postinstall-postinstall](https://www.npmjs.com/package/postinstall-postinstall). The first one is used to patch `@protobufjs/inquire` which includes the `eval` (see protobufjs/protobuf.js#997 and protobufjs/protobuf.js#1548), and the second one is used to call `postinstall` on `yarn remove` as Yarn v1 only calls it on `yarn install` and `yarn add`. ## GitHub Issue Link (if applicable) [SNOW-1554237](https://snowflakecomputing.atlassian.net/browse/SNOW-1554237) ## Testing Plan - No tests required as there are no implementation changes. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
Updates the major pin of Pillow to allow v11.
## Describe your changes Migrate the StreamlitMarkdown component from class-based to functional. ## Testing Plan - No logical changes, no tests required. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…treamlit#9697) ## Describe your changes - In some of my previous modernization PRs, I accidentally omitted a `React.memo` call for components that were previously using `PureComponent` - This PR puts `memo` calls where they should be to match prior behavior. - See the [React Docs](https://react.dev/reference/react/PureComponent#alternatives) on this ## GitHub Issue Link (if applicable) ## Testing Plan - Explanation of why no additional tests are needed ✅ - Existing tests cover this - Unit Tests (JS and/or Python) - E2E Tests - Any manual testing needed? --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes - Modernizes `SettingsDialog` and its tests - There should be no functional changes, just a refactor onto modern React patterns ## GitHub Issue Link (if applicable) ## Testing Plan - Explanation of why no additional tests are needed - Unit Tests (JS and/or Python) - E2E Tests - Any manual testing needed? --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes The local storage in an Android WebView is only available when accessed via `window.localStorage` and not `localStorage` directly (see [here](https://stackoverflow.com/questions/5822256/error-web-console-uncaught-typeerror-cannot-call-method-getitem-of-null-at-h)). This PR makes sure that `window.localStorage` is used everywhere. This also adds a lint rule to prevent the usage of localStorage. ## GitHub Issue Link (if applicable) - Closes: streamlit#9740 ## Testing Plan - No logical changes and we cannot test usage of Android WebView easily. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Migrate the countdown component from class-based to functional. ## Testing Plan - No logical changes, no tests required. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Lukas Masuch <[email protected]>
…#9698) ## Describe your changes ## GitHub Issue Link (if applicable) Close streamlit#9682 ## Testing Plan Manual tests on frontend --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Karen Javadyan <[email protected]>
## Describe your changes - update Streamlit logo - update the dialog padding ## GitHub Issue Link (if applicable) ## Testing Plan - Explanation of why no additional tests are needed - Unit Tests (JS and/or Python) - E2E Tests - Any manual testing needed? --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes The running man animation appears while the script re-run is being performed and for re-runs that complete quickly it introduces a flicker and creates the perception of a longer wait. This PR introduces a delay when showing the running man animation. ## GitHub Issue Link (if applicable) ## Testing Plan - Unit Tests (one added to confirm not visible without delay, plus coverage by existing running man tests) - Manual testing by PM and Engineer to confirm expected visual behaviour. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
Final feature PR to execute the (soft) transition of our metrics provider
…t in User Settings (streamlit#9723) ## Describe your changes Update: In this update, we revamped the `preferredLayouts` state in `App.tsx` (previously `pageLayouts`) and fixed a number of issues with 1. apps flickering (when not calling `set_page_config`) 2. apps having fragments rerunning 3. wide mode in User Settings Here's a breakdown of the implementation by functions/files: 1. `handlePageConfigChanged` & `saveSetting`: `set_page_config` and User Settings panel are the 2 only places that could change the layout. As a result, we save the layout value to `preferredLayouts` in these 2 handlers 2. `handleNewSession` (not changed): For every rerun, we apply previously saved `preferredLayouts` of the corresponding page. If none matches, apply `CENTERED` 3. `handleNavigation`: If we get a new page script hash from navigation which has never been initialized in `preferredLayouts`, we carry over the layout from previous page for the new one. -- ~~We are seeing an unexpected behavior such that when an MPA page containing fragments reruns, the page layout would change to centered. This is an [issue reported in our forum](https://discuss.streamlit.io/t/bad-setin-index-issue-with-using-fragments-that-do-not-render-anything-within-multipage-app/82675/9?u=raethlein) flagged by @raethlein. Upon investigation, we have identified that the fix in streamlit#9479 introduced this behavior change.~~ ~~The root cause is that after a triggered rerun the page script hash changes, causing the `pageLayouts` object state not recognizing the new hash value and assigning the default/centered layout. Our proposed fix here is to only perform layout update when there is no fragment running.~~ ~~I also added new e2e test cases with fragments to verify the fix.~~ ## GitHub Issue Link (if applicable) [Post in discuss forum](https://discuss.streamlit.io/t/bad-setin-index-issue-with-using-fragments-that-do-not-render-anything-within-multipage-app/82675?u=raethlein) ## Testing Plan - E2E Tests: new test case in MPAv2 that mocks fragment rerunning ### Manually testing app reported in forum #### Before https://github.com/user-attachments/assets/41c3f629-5f69-42c3-9e5f-e0fec9d1bff3 #### After https://github.com/user-attachments/assets/77de515e-2e89-47d4-b49d-c03126d61f41 --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes This PR: - removes the old `FullScreenWrapper` - changes the `withFullScreenWrapper` to instead use the newly created `ElementFullscreenWrapper` - brings fullscreen toolbar functionality and standardizes pattern across `DeckGIJsonChart`, `ArrowVegaLiteChart`, `ImageList`, `PlotlyChart`, `DataFrame`  ## Testing Plan automated tests updated --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…9706) ## Describe your changes - `st.date_input` now understands the user's current locale and sets the start of the week based on it. ## GitHub Issue Link (if applicable) Closes streamlit#5215 ## Testing Plan - Explanation of why no additional tests are needed - Unit Tests (JS and/or Python) ✅ - E2E Tests ✅ - Any manual testing needed? --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
There remain some issues with the layout for MPA, so we are reverting the change for release. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes We amend the call to remove the slash at the end if necessary. However, paths with double slashes `//my-path` create an invalid redirect that can cause security issues. This change prevents the double slash from matching with this route. ## GitHub Issue Link (if applicable) closes streamlit#9690 ## Testing Plan - Updated Unit Tests - Verified manually that redirect works as needed and fails with a double slash (and with a URL encoded double slash) --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Applies two additional improvements to the update snapshot script: 1. Asks for a personal access token if it cannot be auto-retrieved from the credential manager 2. In case the latest workflow run is still in progress, the script waits and requests the latest state until the workflow is completed. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes - Removes the deprecated `use_column_width` parameter from the hello app. - Cleans up a few smaller things in the hello app, such as lower-casing filenames, using sentence casing in the descriptions, moving the order of demos, and cleaning up the code. I want to do a bigger pass on the hello app in the future and add some new demos, but I thought I'd quickly fix the obvious things for now. ## GitHub Issue Link (if applicable) ## Testing Plan Hello app is already covered by e2e tests. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Johannes Rieke <[email protected]> Co-authored-by: lukasmasuch <[email protected]>
…#9764) ## Describe your changes Fix the update snapshot test to wait for the correct status (failure instead of success). --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes `lib/streamlit/elements/image.py` contained a bunch of utils functions that were imported in other files, which caused cyclic imports in streamlit#9711. This PR moves all of these functions into `lib/streamlit/elements/lib/image_utils.py` and makes all other files import directly from there. Unfortunately, this PR didn't remove all cyclic imports. But it's still worth merging this to clean up our codebase a bit more. ## GitHub Issue Link (if applicable) Just a refactor, no new functionality or tests added. ## Testing Plan --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Johannes Rieke <[email protected]>
## Describe your changes Docstring updates for release 1.40.0. * Added `st.pills` * Added `st.segmented_control` * Updated `st.text` * Update `st.image` (width) * Added examples for `st.navigation` * Updated `st.markdown` and label descriptions: (`:streamlit:`, arrows, inline images) * Cleaned up some parameter descriptions for consistency ## Testing Plan None. Docstrings only. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Cleans up our globalStyles.ts file by removing old & unused styles. This also refactors our markdown test and fixes audio input to use the link color defined in the theme instead of primary. ## Testing Plan - Update markdown e2e test --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…it#10123) ## Describe your changes This PR simplifies the arrow handling logic by renaming variables and functions to more descriptive names. This also adds a variety of code comments to make it easier to understand the logic. To simplify reviewing, this PR does not apply any logical changes. ## Testing Plan - No logical or visual changes - no new tests required. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes - Fixes a name collision with existing `playwright-e2e-tests` job ## GitHub Issue Link (if applicable) ## Testing Plan - This is a workflow change --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes - Adds some more Playwright perf tests for some targeted areas in our application so we can use them as baselines moving forward ## GitHub Issue Link (if applicable) ## Testing Plan - This adds new performance tests --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
) ## Describe your changes These changes are needed for the public notebooks project and accomplishes two main things: 1. Introduces `ForwardMsgList` allowing us to store all of the protobuf messages as 1 protobuf message. 2. Adds a new lifecycle method that if set, will be called with the message before it is enqueued. But Nico! Why not utilize the newly added `ForwardMsgList` and avoid this base64 tomfoolery? Great question! It boils down wanting to be able to write the message as its enqueued. Why? For starters, it simplifies the code a bit to be able to just append these base64 lines, but more importantly, as we're recording these protobufs, we're watching this file and waiting for it to stop getting updates and using that to determine that the app is "done" rendering. ## Testing Plan Added a unit test for this new method. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes We use a set of all existing emojis to validate emoji usage across various elements. This collection needs routine updates whenever new emojis are released. This PR also includes a small fix to get the `update_emojis.py` script running again with the latest version of `emoji` library. Emojis before update: 5034 Emojis after update: 5042 --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…t#10147) ## Describe your changes We stopped raising a RuntimeError when a fragment with a specified id cannot be found. This solves the original issue in streamlit#9921, but surfaced a different issue where the dialog did not always close when the button in the dialog was clicked in fast succession. The reason for this is that in app_session, a fragment run might create a new ScriptRunner when the current ScriptRunner is in state STOPPED is false and the new ScriptRunner is created). This will lead to all events from the previous script runner being ignored. When the full app rerun ScriptRunner is done (STOPPED) but its events are not processed before the new ScriptRunner is created, its finished message is not sent to the frontend and no cleanup is happening. ## GitHub Issue Link (if applicable) ## Testing Plan - Unit Tests (JS and/or Python) - Add unit test to ensure that the scriptrunner is not requested if the fragment does not even exist anymore - E2E Tests - The e2e test that was added in streamlit#10132 _could_ catch this one here, although it happens more rarely than the race condition tackled in that PR --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Reuse the `DynamicButtonLabel` for pills & segmented control. Currently, the usage of markdown in pills / segmented control is not limited -> which isn't desired. Using `DynamicButtonLabel` applies the same limits to the markdown as in all other button labels. This also changes the starting emojis to be treated as icons instead of text to have the same special icon spacing that we also have for emoji icons on buttons. ## Testing Plan - Only visual changes -> Update snapshots. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes This PR contains a mix of smaller refactorings across all components that use arrow. It doesn't apply any behavioral or visual changes. ## Testing Plan - Doesn't apply any behavioral or visual changes - Added tests for new functions. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Lukas Masuch <[email protected]>
…streamlit#10133) ## Describe your changes This PR activates the [flake8-logging-format (G)](https://docs.astral.sh/ruff/rules/#flake8-logging-format-g) linting rules from ruff to enforce better usage of the built-in logger. It also moves all exceptions in logger output to `exc_info` which is the correct way to handle exceptions via the built-in logger. ## Testing Plan - No logical changes. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes We restricted protobuf due to issues in conda, but we have since upgraded protobuf. We should have it mimic reality. For this, we should try to not get involved and let the setup.py dictate. Assuming the Conda build succeeds, then new versions should be better and we can undo the check. ## Testing Plan - Conda Build should pass --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Upgrade yarn to yarn berry. In order to do this we had to do the following: 1. Support yarn licenses in our checker 2. Install packages in both directories and run scripts from the specific directory 3. Fixes to enable yarn in GitHub Actions and whatnot. ## Testing Plan - Tests should pass --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Adds `translate="no"` attribute for our uses of material icons to prevent the icon text from translating and, thereby, prevent it from breaking the display of the icon. <img width="476" alt="image" src="https://github.com/user-attachments/assets/7c50cca9-67c0-435c-b385-cc920df4acb2" /> ## GitHub Issue Link (if applicable) - Closes streamlit#10168 ## Testing Plan - Added unit tests - Testing this e2e does not seem super easy. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…tures (streamlit#10141) ## Describe your changes The `label_markdown` e2e test was quite annoying since it contains hundreds of snapshots across various that required repeated updates for unrelated changes. This PR refactors this test and improves our capabilities of testing markdown features by checking the underlying DOM elements instead of relying on screenshots. It also adds a screenshot test to every individual element test to check that the element correctly supports markdown in labels. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…` to functional component (streamlit#10083) ## Describe your changes Many of our widgets have dropdowns but they look slightly different. This PR makes them look more consistent. While I was at it, I also converted `BaseColorPicker` to a functional component because I couldn't figure out how to fix some issues with theming in the class-based component. The only things that changed in the color picker are the injection of custom styles and the placement of the popover, so I think doing the conversion at the same time shouldn't be too confusing. But I can separate both changes if it's easier to review. | Before | After | |----------|----------| |  |  | |  |  | |  |  | |  |  | |  |  | Note that the date input has a red border and is in the foreground when focused (just like the other components), my screenshot tool somehow removes that, though. ## GitHub Issue Link (if applicable) Closes streamlit#8705 ## Testing Plan - Updated snapshot tests for date input. - I added a snapshot test for the dropdown of color picker since that has a few customizations now. - I realized we don't really have snapshot tests for the dropdown elements of the other widgets. One problem is though that the snapshots test only capture the content of the dropdown, not the shadow and positioning around it. *Ideally*, we'd have some way to take a snapshot with some additional padding around it but I'm not sure if it's worth introducing that. - Don't think it makes sense to have unit tests for such small styling things. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Johannes Rieke <[email protected]>
## Describe your changes Closes streamlit#10165 Fixes the printing layout of `st.logo`. Right now it shows on the side (see streamlit#10165) but with this change it will show on the top left and only on the first page. This PR adds the Streamlit logo to the e2e version of the `hello_app` test so that the logo printing is tested. ## GitHub Issue Link (if applicable) ## Testing Plan - E2E Tests - Add `st.logo` to the `hello_app` e2e test to ensure that printing is working as expected --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes In preparation for adding the [react-refresh rule](https://github.com/ArnaudBarre/eslint-plugin-react-refresh), this PR splits up WebsocketConnection.tsx . Further PRs are in the works for fixing other violations of this linter rule and then adding the linter rule. Note, this file should not break fast refresh, so the linting rule is a false positive here, but I thought it could still be good to take the opportunity to reduce the file size a bit. ## GitHub Issue Link (if applicable) ## Testing Plan Does not change any functionality so this is covered by existing tests. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes - Bump min version of snowflake-connector to where the connection-manager definitely existed - Remove usage of private APIs and leverage the default connection handling as documented in https://docs.snowflake.cn/en/developer-guide/python-connector/python-connector-connect#setting-a-default-connection - When using the `"snowflake"` connection, no `kwargs` are passed to `snowflake.connector.connect` anymore to follow the [official Snowflake documentation](https://docs.snowflake.cn/en/developer-guide/python-connector/python-connector-connect#setting-a-default-connection) ## GitHub Issue Link (if applicable) ## Testing Plan - Explanation of why no additional tests are needed - Unit Tests (JS and/or Python) - E2E Tests - Any manual testing needed? --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…condition. (streamlit#10148) Add retry to watcher.util.path_modification_time to **try** and fix race condition. I have no guarantee this fixes it, but from the error message it seems right. And it doesn't hurt anyway. ## Describe your changes I just added some retries around an `os.stat(path).st_mtime` that could otherwise lead to a race condition:  I think this race condition is more likely to happen when you have tooling that runs on save. In my case, I have a linter/formatter that fixes issues and saves the file again. So sometimes when we get to the `os.stat(path).st_mtime` line the file is in the process of being modified, leading to the error above. BTW, as part of this work I also created two helper functions to do retries in the watcher code, since retries can be tricky. ## GitHub Issue Link (if applicable) ## Testing Plan - ~~Explanation of why no additional tests are needed~~ - Unit Tests (JS and/or Python): **None**. I am unable to reproduce the original problem. But the watcher code is well-tested enough that I'm confident this at least doesn't break anything. - E2E Tests: **None** - Any manual testing needed? **Yes**. Please try modifying your Streamlit app on Mac, Linux, Windows, using different editors (VS Code, PyCharm, etc). Even better if you can turn on auto-formatting plugins as well. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Separates Pandas Styler handling in the frontend into a dedicated utils module. This also extracts the logic around styled cells & headers from the `getCell` Quiver method to separate raw data handling and handling of styling information. Also changes `getCell` to only return actual data cells and not column header names as well. The changes in this PR do not change any visual or behavioral changes. ## Testing Plan - Added and updated unit tests. - Added additional e2e screenshot test for advanced pandas styler usage with `st.table` --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…lit#10163) ## Describe your changes Today, when `st.navigation` is present in an app, any [code using `ProcessPoolExecutor`](https://discuss.streamlit.io/t/make-apps-faster-by-moving-heavy-computation-to-a-separate-process/68541#method-2-use-a-processpoolexecutor-5) will throw an exception. Turns out this is because `ProcessPoolExecutor` spins up a separate pure-Python process, and there's a bug that causes `st.navigation` not to work in pure-Python mode (it requires a ScriptRunContext). This wasn't caught before because our pure-Python tests (`make bare-execution-tests`) weren't actually running for scripts in _subfolders_ of the main test folder. ...and when you run those previously-untested tests you discover `st.page_link` _also_ doesn't work in pure-Python mode! So this PR addresses all of the above: 1. Makes `st.navigation` and `st.page_link` work in pure-Python mode -- and therefore also when running inside a `ProcessPoolExecutor` 2. Makes `bare-execution-tests` test MPAv1 and MPAv2 code ## GitHub Issue Link (if applicable) n/a ## Testing Plan - ~~Explanation of why no additional tests are needed~~ - Unit Tests (JS and/or Python): ❌ - E2E Tests: ✅ - Any manual testing needed? ❌ --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## MINOR CHANGES (1) - Updated the logic of starting the server to prevent calling `asyncio.run()` from a running event loop. ## Describe your changes Refactored the server startup logic to ensure compatibility with both existing and new event loops. This prevents the `RuntimeError` encountered when `asyncio.run()` is called from a running event loop on Python 3.10.16, ## GitHub Issue Link (if applicable) No GitHub issue link available. ## Testing Plan I would be grateful if someone could test the code using the existing tests. The changes have been verified through manual testing. - Explanation of why no additional tests are needed: The refactored code has been manually tested and works as expected. - Unit Tests (JS and/or Python): [@raethlein]: Added a Python unit test to ensure that `bootstrap.run` works with and without an existing asyncio eventloop. - E2E Tests: _None._ - Any manual testing needed? Manual testing was performed to ensure the server starts correctly in both new and existing event loops. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: raethlein <[email protected]>
## Describe your changes This PR makes the usage of Pandas metadata in serialized Arrow tables entirely optional. This means that our arrow-backed frontend components (e.g. table, dataframe, vega lite) can work with raw arrow data that wasn't processed by Pandas. This PR also simplifies the Quiver API to a small number of public methods: - `columnNames`: Matrix of column names of the index- & data-columns. - `columnTypes`: List of column types for every index- & data-column - `dimensions`: Dimensions of the DataFrame - `getCell`: Return a single cell from an index- or data-column. - `hash`: A hash that identifies the underlying data. - `styler`: Pandas Styler data. - `addRows`: Add the contents of another table to this table. ## GitHub Issue Link (if applicable) - Closes streamlit#5606 ## Testing Plan - Added usage of a raw pyarrow table and array to data mocks. - Update some snapshots with expected changes. - Update a huge number of unit tests in frontend to conform with the new quiver interface and type information. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…lit#10195) ## Describe your changes The recent refactorings made it possible to use categorical index columns with `st.data_editor`. This PR removes the previous restrictions. ## GitHub Issue Link (if applicable) - Closes streamlit#9647 ## Testing Plan - Add e2e snapshot test and updated unit tests. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
…flow & update snapshots (streamlit#10198) ## Describe your changes Fixes our CI min-version test by updating the lower bound of typing-extensions to 0.4.4. This is required by one of our transitive dependencies. More info about the root cause in this PR: python-jsonschema/referencing#211 In addition to the issue with the dependency, there seems to be a second independent issue that broke our CI pipeline: The ubuntu version of our playwright e2e workflow got updated from 22 to 24 yesterday. This caused small changes in how the font is rendered, which required most of our snapshots to be updated. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
## Describe your changes Adds markdown support in `st.table` for data cells, row index, and column headers. Note that unlike labels, this doesn't have any restrictions on which markdown features can be used. I think table cells are big enough to handle larger markdown elements (such as headers or bullet lists) without looking ugly. I also changed the empty value from `<NA>` to a non-breaking space (i.e. an empty cell) because the smaller/greater symbols caused problems with the markdown formatting. Note that for `st.dataframe` we use `None` for empty values. In `st.table`, I think an empty cell looks nicer though, because `st.table` is less geared towards exploring actual datasets where it might be important to see the actual values and more towards showing a small table of fixed values.  ## GitHub Issue Link (if applicable) Closes streamlit#8785 Should also leave a note on streamlit#6461, which asks for markdown on `st.dataframe`. ## Testing Plan - Added an e2e snapshot test for a table with various markdown features. - I also tried adding JS unit tests but it's not super easy because we need to add the encoded data for a Markdown table in `frontend/lib/src/mocks/arrow/index.ts`. Not sure if it's worth doing that given that the e2e test already covers everything. - Note that a lot of snapshots changed because of the move from `<NA>` to an empty cell. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Johannes Rieke <[email protected]>
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.11 to 0.16.21. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/KaTeX/KaTeX/releases">katex's releases</a>.</em></p> <blockquote> <h2>v0.16.21</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.20...v0.16.21">0.16.21</a> (2025-01-17)</h2> <h3>Bug Fixes</h3> <ul> <li>escape \htmlData attribute name (<a href="https://github.com/KaTeX/KaTeX/commit/57914ad91eff401357f44bf364b136d37eba04f8">57914ad</a>) <ul> <li>See security advisory <a href="https://github.com/KaTeX/KaTeX/security/advisories/GHSA-cg87-wmx4-v546">https://github.com/KaTeX/KaTeX/security/advisories/GHSA-cg87-wmx4-v546</a></li> </ul> </li> </ul> <h2>v0.16.20</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.19...v0.16.20">0.16.20</a> (2025-01-12)</h2> <h3>Bug Fixes</h3> <ul> <li>\providecommand does not overwrite existing macro (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4000">#4000</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/6d30fe47b06f9da9b836fe518d5cbbecf6a6a3a1">6d30fe4</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3928">#3928</a></li> </ul> <h2>v0.16.19</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.18...v0.16.19">0.16.19</a> (2024-12-29)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>types:</strong> improve <code>strict</code> function type (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4009">#4009</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/4228b4eb529b8e35def66cc6e4fa467383b98c86">4228b4e</a>)</li> </ul> <h2>v0.16.18</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.17...v0.16.18">0.16.18</a> (2024-12-18)</h2> <h3>Bug Fixes</h3> <ul> <li>Actually publish TypeScript type definitions (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4008">#4008</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/629b87354fdfc04a3769f09b69f6bbadebcb9ae8">629b873</a>)</li> </ul> <h2>v0.16.17</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.16...v0.16.17">0.16.17</a> (2024-12-17)</h2> <h3>Bug Fixes</h3> <ul> <li>MathML combines multidigit numbers with sup/subscript, comma separators, and multicharacter text when outputting to DOM (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3999">#3999</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/7d79e220f465c42d4334dc95f1c41e333667e168">7d79e22</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3995">#3995</a></li> </ul> <h2>v0.16.16</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.15...v0.16.16">0.16.16</a> (2024-12-17)</h2> <h3>Features</h3> <ul> <li>ESM exports, TypeScript types (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3992">#3992</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/ea9c173a0de953b49b2ce5d131e88b785f5dffa1">ea9c173</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md">katex's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.20...v0.16.21">0.16.21</a> (2025-01-17)</h2> <h3>Bug Fixes</h3> <ul> <li>escape \htmlData attribute name (<a href="https://github.com/KaTeX/KaTeX/commit/57914ad91eff401357f44bf364b136d37eba04f8">57914ad</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.19...v0.16.20">0.16.20</a> (2025-01-12)</h2> <h3>Bug Fixes</h3> <ul> <li>\providecommand does not overwrite existing macro (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4000">#4000</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/6d30fe47b06f9da9b836fe518d5cbbecf6a6a3a1">6d30fe4</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3928">#3928</a></li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.18...v0.16.19">0.16.19</a> (2024-12-29)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>types:</strong> improve <code>strict</code> function type (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4009">#4009</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/4228b4eb529b8e35def66cc6e4fa467383b98c86">4228b4e</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.17...v0.16.18">0.16.18</a> (2024-12-18)</h2> <h3>Bug Fixes</h3> <ul> <li>Actually publish TypeScript type definitions (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4008">#4008</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/629b87354fdfc04a3769f09b69f6bbadebcb9ae8">629b873</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.16...v0.16.17">0.16.17</a> (2024-12-17)</h2> <h3>Bug Fixes</h3> <ul> <li>MathML combines multidigit numbers with sup/subscript, comma separators, and multicharacter text when outputting to DOM (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3999">#3999</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/7d79e220f465c42d4334dc95f1c41e333667e168">7d79e22</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3995">#3995</a></li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.15...v0.16.16">0.16.16</a> (2024-12-17)</h2> <h3>Features</h3> <ul> <li>ESM exports, TypeScript types (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3992">#3992</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/ea9c173a0de953b49b2ce5d131e88b785f5dffa1">ea9c173</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.14...v0.16.15">0.16.15</a> (2024-12-09)</h2> <h3>Features</h3> <ul> <li>italic sans-serif in math mode via <code>\mathsfit</code> command (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3998">#3998</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/22189018b63c9312ec4ad126804514a7390d60b5">2218901</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.13...v0.16.14">0.16.14</a> (2024-12-08)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/KaTeX/KaTeX/commit/923f2aa15692d06ef77051bfb018c17339ef1ab4"><code>923f2aa</code></a> chore(release): 0.16.21 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/57914ad91eff401357f44bf364b136d37eba04f8"><code>57914ad</code></a> fix: escape \htmlData attribute name</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/ff289955e81aab89086eef09254cbf88573d415c"><code>ff28995</code></a> Merge commit from fork</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/28a0bf51139969e9dc52085b72024e0c5447cfbe"><code>28a0bf5</code></a> chore(release): 0.16.20 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/6d30fe47b06f9da9b836fe518d5cbbecf6a6a3a1"><code>6d30fe4</code></a> fix: \providecommand does not overwrite existing macro (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4000">#4000</a>)</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/8f47dba453aa78e03878288fdd5841cfdb4ffb8d"><code>8f47dba</code></a> chore(deps): update actions/upload-artifact to v4 (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4012">#4012</a>)</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/88b5056bdc534016d00bbb581a36c4a14d3b0651"><code>88b5056</code></a> chore(release): 0.16.19 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/4228b4eb529b8e35def66cc6e4fa467383b98c86"><code>4228b4e</code></a> fix(types): improve <code>strict</code> function type (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4009">#4009</a>)</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/f93464644419ef0057cc5b314f81e439f1242935"><code>f934646</code></a> chore(release): 0.16.18 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/629b87354fdfc04a3769f09b69f6bbadebcb9ae8"><code>629b873</code></a> fix: Actually publish TypeScript type definitions (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4008">#4008</a>)</li> <li>Additional commits viewable in <a href="https://github.com/KaTeX/KaTeX/compare/v0.16.11...v0.16.21">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/streamlit/streamlit/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.11 to 0.16.21. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/KaTeX/KaTeX/releases">katex's releases</a>.</em></p> <blockquote> <h2>v0.16.21</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.20...v0.16.21">0.16.21</a> (2025-01-17)</h2> <h3>Bug Fixes</h3> <ul> <li>escape \htmlData attribute name (<a href="https://github.com/KaTeX/KaTeX/commit/57914ad91eff401357f44bf364b136d37eba04f8">57914ad</a>) <ul> <li>See security advisory <a href="https://github.com/KaTeX/KaTeX/security/advisories/GHSA-cg87-wmx4-v546">https://github.com/KaTeX/KaTeX/security/advisories/GHSA-cg87-wmx4-v546</a></li> </ul> </li> </ul> <h2>v0.16.20</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.19...v0.16.20">0.16.20</a> (2025-01-12)</h2> <h3>Bug Fixes</h3> <ul> <li>\providecommand does not overwrite existing macro (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4000">#4000</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/6d30fe47b06f9da9b836fe518d5cbbecf6a6a3a1">6d30fe4</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3928">#3928</a></li> </ul> <h2>v0.16.19</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.18...v0.16.19">0.16.19</a> (2024-12-29)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>types:</strong> improve <code>strict</code> function type (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4009">#4009</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/4228b4eb529b8e35def66cc6e4fa467383b98c86">4228b4e</a>)</li> </ul> <h2>v0.16.18</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.17...v0.16.18">0.16.18</a> (2024-12-18)</h2> <h3>Bug Fixes</h3> <ul> <li>Actually publish TypeScript type definitions (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4008">#4008</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/629b87354fdfc04a3769f09b69f6bbadebcb9ae8">629b873</a>)</li> </ul> <h2>v0.16.17</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.16...v0.16.17">0.16.17</a> (2024-12-17)</h2> <h3>Bug Fixes</h3> <ul> <li>MathML combines multidigit numbers with sup/subscript, comma separators, and multicharacter text when outputting to DOM (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3999">#3999</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/7d79e220f465c42d4334dc95f1c41e333667e168">7d79e22</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3995">#3995</a></li> </ul> <h2>v0.16.16</h2> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.15...v0.16.16">0.16.16</a> (2024-12-17)</h2> <h3>Features</h3> <ul> <li>ESM exports, TypeScript types (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3992">#3992</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/ea9c173a0de953b49b2ce5d131e88b785f5dffa1">ea9c173</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md">katex's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.20...v0.16.21">0.16.21</a> (2025-01-17)</h2> <h3>Bug Fixes</h3> <ul> <li>escape \htmlData attribute name (<a href="https://github.com/KaTeX/KaTeX/commit/57914ad91eff401357f44bf364b136d37eba04f8">57914ad</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.19...v0.16.20">0.16.20</a> (2025-01-12)</h2> <h3>Bug Fixes</h3> <ul> <li>\providecommand does not overwrite existing macro (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4000">#4000</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/6d30fe47b06f9da9b836fe518d5cbbecf6a6a3a1">6d30fe4</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3928">#3928</a></li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.18...v0.16.19">0.16.19</a> (2024-12-29)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>types:</strong> improve <code>strict</code> function type (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4009">#4009</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/4228b4eb529b8e35def66cc6e4fa467383b98c86">4228b4e</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.17...v0.16.18">0.16.18</a> (2024-12-18)</h2> <h3>Bug Fixes</h3> <ul> <li>Actually publish TypeScript type definitions (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4008">#4008</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/629b87354fdfc04a3769f09b69f6bbadebcb9ae8">629b873</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.16...v0.16.17">0.16.17</a> (2024-12-17)</h2> <h3>Bug Fixes</h3> <ul> <li>MathML combines multidigit numbers with sup/subscript, comma separators, and multicharacter text when outputting to DOM (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3999">#3999</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/7d79e220f465c42d4334dc95f1c41e333667e168">7d79e22</a>), closes <a href="https://redirect.github.com/KaTeX/KaTeX/issues/3995">#3995</a></li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.15...v0.16.16">0.16.16</a> (2024-12-17)</h2> <h3>Features</h3> <ul> <li>ESM exports, TypeScript types (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3992">#3992</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/ea9c173a0de953b49b2ce5d131e88b785f5dffa1">ea9c173</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.14...v0.16.15">0.16.15</a> (2024-12-09)</h2> <h3>Features</h3> <ul> <li>italic sans-serif in math mode via <code>\mathsfit</code> command (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/3998">#3998</a>) (<a href="https://github.com/KaTeX/KaTeX/commit/22189018b63c9312ec4ad126804514a7390d60b5">2218901</a>)</li> </ul> <h2><a href="https://github.com/KaTeX/KaTeX/compare/v0.16.13...v0.16.14">0.16.14</a> (2024-12-08)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/KaTeX/KaTeX/commit/923f2aa15692d06ef77051bfb018c17339ef1ab4"><code>923f2aa</code></a> chore(release): 0.16.21 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/57914ad91eff401357f44bf364b136d37eba04f8"><code>57914ad</code></a> fix: escape \htmlData attribute name</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/ff289955e81aab89086eef09254cbf88573d415c"><code>ff28995</code></a> Merge commit from fork</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/28a0bf51139969e9dc52085b72024e0c5447cfbe"><code>28a0bf5</code></a> chore(release): 0.16.20 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/6d30fe47b06f9da9b836fe518d5cbbecf6a6a3a1"><code>6d30fe4</code></a> fix: \providecommand does not overwrite existing macro (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4000">#4000</a>)</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/8f47dba453aa78e03878288fdd5841cfdb4ffb8d"><code>8f47dba</code></a> chore(deps): update actions/upload-artifact to v4 (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4012">#4012</a>)</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/88b5056bdc534016d00bbb581a36c4a14d3b0651"><code>88b5056</code></a> chore(release): 0.16.19 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/4228b4eb529b8e35def66cc6e4fa467383b98c86"><code>4228b4e</code></a> fix(types): improve <code>strict</code> function type (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4009">#4009</a>)</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/f93464644419ef0057cc5b314f81e439f1242935"><code>f934646</code></a> chore(release): 0.16.18 [ci skip]</li> <li><a href="https://github.com/KaTeX/KaTeX/commit/629b87354fdfc04a3769f09b69f6bbadebcb9ae8"><code>629b873</code></a> fix: Actually publish TypeScript type definitions (<a href="https://redirect.github.com/KaTeX/KaTeX/issues/4008">#4008</a>)</li> <li>Additional commits viewable in <a href="https://github.com/KaTeX/KaTeX/compare/v0.16.11...v0.16.21">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/streamlit/streamlit/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…eamlit#10073) ## Describe your changes When you click on a selectbox (or multiselect), scroll in the dropdown, then close it and click on the selectbox again, the dropdown opens at the top position. This can be annoying if the dropdown is large. With this PR, the dropdown will open at the same position where it was previously closed. Also, when the dropdown opens for the first time, it opens at the position of the selected default value. **Before:** https://github.com/user-attachments/assets/7b361fb1-0e0d-47db-b627-5391455a2228 **After:** https://github.com/user-attachments/assets/69ca577a-d78e-43fb-8a26-11ec56003638 ## GitHub Issue Link (if applicable) Closes streamlit#4901 ## Testing Plan - Added a JS unit test on the `Selectbox` component that simulates scrolling, closes the dropdown, and checks that it opens at the same position. - Did not add an e2e test because it would basically do the same thing and that feels a bit overkill. But I can add e2e test for `st.selectbox` and `st.multiselect` if we want to have them. --- **Contribution License Agreement** By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license. --------- Co-authored-by: Johannes Rieke <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe your changes
GitHub Issue Link (if applicable)
Testing Plan
Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.