Repository navigation
fix: pre-alpha polish (Command actions, Escape on overlays, Tailwind CLI, init and update output) - #41
Merged
Conversation
added 7 commits
October 3, 2026 17:08
DisposeAsync only caught JSException. After a reload or tab close the circuit is gone, so ShellUI.disposeSidebar throws JSDisconnectedException and Blazor logged it twice per page load.
Command only raised CommandSelected, so items with an Action did nothing on click or Enter. It now runs Action, then raises CommandSelected. CommandPalette is built on Command and gets the same behavior.
…e project An explicit --tailwind now skips the prompt (it was ignored in interactive mode), an unknown value fails before init touches the project, and with --yes init says that standalone is the default and how to choose npm.
…lui update The summary counted every requested component as updated, including skipped and failed ones. InstallComponent now reports success.
The standalone Build/ShellUI.targets silently skipped Tailwind when .shellui/bin had no binary, for example after a fresh clone, leaving a stale app.css. The build now downloads the pinned version with MSBuild's DownloadFile and warns if it can't.
Shewart
added a commit
that referenced
this pull request
Oct 10, 2026
…Popover, SidebarProvider reloads (#45) Patch release for 0.3, porting the non-breaking fixes from #41 plus the theme CSS fix. - **Theme CSS 404 (package):** `shellui-theme.css` no longer starts with `@import "tailwindcss";`, so linking it directly no longer logs a 404. The CSS build script adds the import itself; `shellui-all.css` is unchanged. - **`Command` runs `CommandItem.Action` (package and template):** it runs the item's `Action`, then raises `CommandSelected`, like `CommandPalette`. Ported by hand, since 0.3's `Command` predates the compositional rewrite on main. - **Escape closes `Dropdown` and `Popover` (package and templates).** - **`SidebarProvider` template:** also catches `JSDisconnectedException` on dispose, so full reloads no longer log it twice. The demo app's copy on 0.3 already catches everything, so it is unchanged. - **Tests:** `PackageBehaviorTests` covers the Command action and Escape on both components. The Command test clicks the item's `<button>`, because 0.3 has no `role="option"`. - **`chore(release): v0.3.3`:** version bumped in the same 11 files as 0.3.2, plus a v0.3.3 section in `docs/RELEASE_NOTES.md`. Checked: - Release build has 0 warnings and all 159 tests pass, including on the test commit by itself - `scripts/extract-release-notes.sh 0.3.3` extracts the new section - The CSS bundle builds - `ShellUI.CLI` and `ShellUI.Components` both pack as `0.3.3`
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
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.
Summary
Bug fixes and CLI polish before 0.4.0-alpha.1.
DisposeAsynconly caughtJSException, so after a reload or tab close theJSDisconnectedExceptionfromShellUI.disposeSidebarwas logged twice per page load. It's caught now.CommandItem.Action: clicking an item or pressing Enter ran nothing; onlyCommandSelectedfired. Command now runsAction, then raisesCommandSelected. CommandPalette is built on Command and gets the same behavior.init --tailwind: an explicit value now skips the prompt (it was ignored in interactive mode), an unknown value fails beforeinitchanges the project, and with--yesthe output says standalone is the default and how to choose npm.shellui update: the summary reported every requested component as updated. It now counts updated, skipped and failed separately.Build/ShellUI.targetssilently skipped Tailwind when.shellui/binhad no binary (e.g. after a fresh clone), leaving a staleapp.css. The build now downloads the pinned version with MSBuild'sDownloadFileand warns if it can't. Applies to projects initialized from now on.Tests
ActionbeforeCommandSelected, and Escape on Dropdown and Popover.Build/ShellUI.targetsparses as XML and pins the Tailwind version (standalone and npm).Verification
dotnet build0 warnings, 303 tests pass..shellui/bindeleted,dotnet builddownloaded Tailwind v4.3.2 and builtapp.css. With an unreachable version, the build succeeded with the warning.shellui updateprinted the right counts.init --tailwind gulpfailed before Bootstrap was removed.