Add version footer to MainMenu#14028
Conversation
✅ PR preview is ready!
|
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Pull request overview
This PR adds a version footer to the MainMenu displaying "Made with Streamlit v{version}" with a hover-to-reveal copy button, merges the About menu item into the standard items section (removing its separate divider), and adds the ESC keyboard shortcut hint to the Record screen item during active recording. The version footer truncates nightly .dev versions for display (e.g., v1.54.1.dev) but copies the full version string (e.g., 1.54.1.dev20260217) to the clipboard.
Changes:
- Adds a new version footer component to MainMenu with truncated display and full version copy functionality
- Restructures menu sections by merging the About item into the standard items section alongside Print and Record screen
- Adds missing ESC shortcut display for Record screen item during COUNTDOWN and RECORDING states
Reviewed changes
Copilot reviewed 5 out of 11 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
frontend/app/src/components/MainMenu/MainMenu.tsx |
Adds formatDisplayVersion utility, integrates version footer rendering, updates menu structure to merge About item, adds ESC shortcut to screencast items |
frontend/app/src/components/MainMenu/styled-components.ts |
Defines three new styled components for version footer: container, row (with hover-to-reveal styles), and muted text |
frontend/app/src/components/MainMenu/MainMenu.test.tsx |
Adds comprehensive unit tests for version footer rendering, display truncation, clipboard copy, and ESC shortcut display |
frontend/app/src/App.tsx |
Passes streamlitVersion from SessionInfo to MainMenu component |
e2e_playwright/main_menu_test.py |
Adds E2E tests for version footer visibility and clipboard copy, updates snapshot test to replace dynamic version with placeholder |
e2e_playwright/__snapshots__/ |
Updated screenshot snapshots for all themes and browsers showing the new version footer |
f2476b7 to
3b189b5
Compare
cffa19a to
9b408da
Compare
📈 Frontend coverage change detectedThe frontend unit test (vitest) coverage has increased by 0.1300%
🎉 Great job on improving test coverage! |
SummaryThis PR adds a "Made with Streamlit v{version}" footer to the MainMenu with a hover-to-reveal copy button, merges the About menu item into the standard items section (removing its separate divider), and adds the missing ESC keyboard shortcut hint on the Record screen item during active recording. The Code QualityThe code is well-structured and follows the established patterns in the codebase:
One minor observation:
Test CoverageTest coverage is thorough: Unit tests (MainMenu.test.tsx):
E2E tests (main_menu_test.py):
App.test.tsx:
Backwards CompatibilityNo breaking changes:
Security & RiskNo security concerns identified:
AccessibilityGood overall accessibility posture:
One minor note:
Recommendations
VerdictAPPROVED: Well-implemented feature with thorough test coverage, clean code following project conventions, and no backwards-compatibility or security concerns. The minor accessibility observation about the copy button's placement within This is an automated AI review by |
There was a problem hiding this comment.
This snapshot might also need th XX.XX... replacement to prevent flakiness
- Adds a "Made with Streamlit v{version}" footer inside the main menu, with a hover-to-reveal copy button that copies the full version string to the clipboard.
- Merges the About menu item into the standard items section (removing its separate divider).
- Adds the missing `ESC` keyboard shortcut hint on the Record screen item during active recording (parity with `develop`).
- Nightly `.dev` versions are truncated for display (e.g., `v1.54.1.dev`) but the full version (e.g., `1.54.1.dev20260217`) is copied.
This PR is the culmination of the following PRs approved into this feature branch: - [Core `MainMenu` Refactor](#13833) - [`MainMenu` accessibility improvements](#13878) - [Add theme switcher to `MainMenu`](#13937) - [Add auto-rerun toggle to `MainMenu`](#13988) - [Add version footer to `MainMenu`](#14028) - [Remove `SettingsDialog`](#14048)
Describe your changes
ESCkeyboard shortcut hint on the Record screen item during active recording (parity withdevelop)..devversions are truncated for display (e.g.,v1.54.1.dev) but the full version (e.g.,1.54.1.dev20260217) is copied.Testing Plan