Skip to content

feat: persist package-manager tabs and simplify documentation - #620

Merged
Mohamed Mansour (mohamedmansour) merged 3 commits into
mainfrom
mohamedmansour-package-manager-tabs
Oct 29, 2026
Merged

Mohamed Mansour (mohamedmansour) merged 3 commits into
mainfrom
mohamedmansour-package-manager-tabs

Conversation

@mohamedmansour

@mohamedmansour Mohamed Mansour (mohamedmansour) commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Package-manager commands were inconsistent across the docs, and readers had to repeatedly reselect their preferred tool. The installation guide also mixed the first-page path with deeper host integration details.

Changes

  • Use the existing Press tabs for npm, pnpm, Yarn, and Bun across 12 documentation pages, including installation policies.
  • Add opt-in category synchronization with sync, stable tab value attributes, and storage="local" persistence. Package-manager choices now follow readers across documentation pages and reloads. Other controls remain independent by default; unavailable storage logs a warning while page-local synchronization continues.
  • Add Bun to the homepage installer and share its saved package-manager preference with the documentation tabs in both directions.
  • Remove outer code-block gaps inside code-only tab panels while retaining readable inner padding and standalone code-block spacing.
  • Simplify installation around install, verify, and the first page. Put troubleshooting in disclosures and give Rust, Node.js/Bun, .NET, Python, C/FFI, and WASM equal placement under Deep integrations.
  • Move benchmark notes to the full results page, preserve metric-note links, and rename the homepage link to "More frameworks and methodology".
  • Document the tab APIs and add browser regressions for synchronization, persistence, reconnects, category isolation, storage failures, spacing, and documentation flows.

Before and after

The original installation command tables are on the left. The updated tabs are on the right, with pnpm selected for both installation and verification.

Before: installation and verification tables listing all four package managers. After: compact tabs with pnpm selected consistently for both commands, without extra space around the code blocks.

Validation

  • cargo xtask check passed.
  • All 118 Press tests passed.
  • Verified the live preview restores the selected package manager after reload and cross-page navigation, including between the homepage and guides, and the renamed benchmark link opens the relocated notes.
  • Verified code-only tabs have no outer code-block gaps in light and dark themes, with and without JavaScript.

Persistence restores on page load; it does not live-synchronize already-open browser tabs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@mohamedmansour
Mohamed Mansour (mohamedmansour) merged commit aab3350 into main Oct 29, 2026
41 checks passed
@mohamedmansour
Mohamed Mansour (mohamedmansour) deleted the mohamedmansour-package-manager-tabs branch October 29, 2026 00:55
Mohamed Mansour (mohamedmansour) added a commit that referenced this pull request Oct 29, 2026
Resolve the installation guide conflict with the documentation
simplification (#620) by taking main's backend table; the routing guide
keeps the delivery package. Install @microsoft/webui-delivery from the
routing guide's new pnpm, Yarn, and Bun tabs as well as npm.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 90a93005-7b2a-4ea4-bce5-902f79da872d
Mohamed Mansour (mohamedmansour) added a commit that referenced this pull request Oct 31, 2026
## Release

Bumps WebUI to `3.0.5`.

Previous release tag: `v3.0.4`

## Changes since `v3.0.4`

Features:

- Press supports reusable, per-page outlines with responsive navigation
(feat: redesign the docs site and add reusable page outlines #613 by
@mohamedmansour).
- Press tabs can synchronize categories and persist selections;
package-manager preferences now follow readers across documentation
pages and reloads (feat: persist package-manager tabs and simplify
documentation #620 by @mohamedmansour).
- Press adds independent theme families, shared appearance preferences,
System/Light/Dark controls, and extensible header regions with a
cacheable pre-paint initializer (feat: add Press theme families and
extensible appearance controls #623 by @mohamedmansour).

Fixes:

- Hydrate conditional and repeated SSR ranges in place, avoiding
unnecessary custom-element disconnect/reconnect cycles and correcting
trailing formatting whitespace (fix: hydrate SSR block ranges in place
#619 by @mohamedmansour).
- Preserve pending development-server file events by retargeting the
existing watcher instead of replacing it after rebuilds (fix: retarget
the dev-server watcher instead of replacing it #622 by @mohamedmansour).
- Remove unapproved transitive TLS/WebSocket crypto dependencies while
retaining HTTP/2 support. The commerce example now serves HTTP/1.1 and
h2c behind a TLS-terminating ingress; its direct TLS flags are removed
(fix: remove unapproved crypto dependencies #596 by @mohamedmansour).

Docs:

- Redesign the documentation homepage and reading experience, organize
guides into Start/Learn/Build/Reference with legacy redirects, and
simplify installation and package-manager instructions (feat: redesign
the docs site and add reusable page outlines #613 by @mohamedmansour,
chore: clarify the homepage and organize documentation #617 by
@mohamedmansour, feat: persist package-manager tabs and simplify
documentation #620 by @mohamedmansour).
- Refresh benchmark previews, methodology, and downloadable results
around the uniform 15-case official WebUI 3.0.4 campaign, including
provenance and unavailable memory-sample disclosures (docs: support the
uniform 15-case official benchmark campaign #614 by @mohamedmansour).
- Update source-build requirements, Rust writer guidance, and Press
appearance configuration and deployment documentation (chore: upgrade
Rust to 1.99.1 #612 by @mohamedmansour, perf: reduce renderer output
allocations #615 by @mohamedmansour, feat: add Press theme families and
extensible appearance controls #623 by @mohamedmansour).

Maintenance:

- Reduce renderer allocation churn by writing escaped values directly
into output buffers, reusing attribute buffers, and borrowing quoted
condition text (perf: reduce renderer output allocations #615 by
@mohamedmansour).
- Share eligible Link stylesheets across component mounts within a
document, preserving native first-use loading and avoiding repeated
parsing on subsequent uses (perf: share Link stylesheets across
component mounts #621 by @mohamedmansour).
- Align development and release toolchains on Rust 1.99.1; consumers
building from source now require Rust 1.99.1 or newer (chore: upgrade
Rust to 1.99.1 #612 by @mohamedmansour).

## Validation

- `cargo xtask check` passed, including lint, protocol drift, dependency
audit, tests, native/WASM builds, examples, benchmark validation, and
docs.
- Used `WEBUI_PRESS_BINARY_PATH` to select the freshly built workspace
Press 3.0.5 binary instead of an older global installation.
- Refreshed the standalone Tauri lockfile with Cargo; all 45 changed
files contain only `3.0.4` to `3.0.5` substitutions.
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.

2 participants