Fix slow build process of BlazorUI projects (#12649)#12650
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (39)
💤 Files with no reviewable changes (3)
WalkthroughThe changes update frontend watch rules, add shared web-client wiring, make demo WebAssembly hosting conditional, introduce development SCSS watching, and normalize punctuation in PDF viewer documentation and comments. ChangesBlazorUI build and hosting
PDF documentation punctuation
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant DemoServer
participant ScssCompilerService
participant Sass
DemoServer->>ScssCompilerService: Start WatchScssFiles
ScssCompilerService->>Sass: Launch Sass watch process
Sass->>ScssCompilerService: Stream compilation output
DemoServer->>ScssCompilerService: Signal application stopping
ScssCompilerService->>Sass: Terminate process tree
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj (1)
75-76: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winCentralize the
Bit.BlazorES2019version to avoid silent breakage.The version
10.5.0-pre-08is hardcoded in the glob path at line 76 and must manually match thePackageReferenceat line 27. If the package is updated without updating the glob, the copy target silently matches zero files and the dev server 404s on_framework/bit.blazor.*.es2019.js.♻️ Suggested refactor: use a shared MSBuild property
<!-- Add to the PropertyGroup near the top --> +<BitBlazorES2019Version>10.5.0-pre-08</BitBlazorES2019Version>Then reference it in both locations:
-<PackageReference Include="Bit.BlazorES2019" Version="10.5.0-pre-08" /> +<PackageReference Include="Bit.BlazorES2019" Version="$(BitBlazorES2019Version)" />-<!-- The version here must match the Bit.BlazorES2019 PackageReference above. --> -<_BitBlazorES2019Scripts Include="$(NuGetPackageRoot)bit.blazores2019\10.5.0-pre-08\contentFiles\any\net10.0\wwwroot\_framework\*.js" /> +<_BitBlazorES2019Scripts Include="$(NuGetPackageRoot)bit.blazores2019\$(BitBlazorES2019Version)\contentFiles\any\net10.0\wwwroot\_framework\*.js" />🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj` around lines 75 - 76, Centralize the Bit.BlazorES2019 version used by the project by defining one shared MSBuild property and referencing it from both the PackageReference and the _BitBlazorES2019Scripts Include path. Remove the hardcoded 10.5.0-pre-08 value from the glob so package updates cannot leave the script path out of sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razor`:
- Around line 11-13: Update the normal render-mode selection in App.razor to
honor includeWasm, falling back to the prerender-enabled Blazor Server mode when
WebAssembly is disabled; expose that server mode publicly in AppRenderMode
alongside the existing no-prerender modes. Preserve AppRenderMode.Current only
when includeWasm is enabled.
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cs`:
- Around line 14-96: Handle startup exceptions within WatchScssFiles instead of
allowing them to fault the background task until shutdown. Wrap the process
setup and watcher startup flow, including Process.Start, job assignment,
output-reader initialization, and app.WaitForShutdownAsync, in exception
handling that logs the failure and returns because SCSS watching is best-effort
development tooling.
---
Nitpick comments:
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj`:
- Around line 75-76: Centralize the Bit.BlazorES2019 version used by the project
by defining one shared MSBuild property and referencing it from both the
PackageReference and the _BitBlazorES2019Scripts Include path. Remove the
hardcoded 10.5.0-pre-08 value from the glob so package updates cannot leave the
script path out of sync.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 16cd81c3-77c8-4cc4-957c-2298b161bd7d
📒 Files selected for processing (20)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/.gitignoresrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
🧹 Nitpick comments (3)
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razor (2)
67-67: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueAvoid self-closing non-void HTML elements.
Although the Blazor compiler correctly handles self-closing
divtags, standard HTML5 considersdiva normal (non-void) element. Using explicit closing tags (<div></div>) aligns better with standard HTML practices and avoids potential issues with other parsers or tools.♻️ Proposed refactor
- <div class="bswup-progress-text" /> + <div class="bswup-progress-text"></div>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razor` at line 67, Replace the self-closing bswup-progress-text div in AppBswupProgressBar with an explicit opening and closing div pair, preserving its class and surrounding markup.
66-66: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueConsider using standard boolean syntax for component parameters.
For component parameters, it is more idiomatic and less prone to parsing ambiguity to use strings (
"false","true") or explicit C# expressions (@false,@true) instead of unquoted values.♻️ Proposed refactor
- <BswupProgress AppContainer="`#app-container`" HideApp=false AutoReload=true ShowLogs=false> + <BswupProgress AppContainer="`#app-container`" HideApp="false" AutoReload="true" ShowLogs="false">🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razor` at line 66, Update the BswupProgress component invocation to use explicit boolean parameter syntax for HideApp, AutoReload, and ShowLogs, such as quoted values or explicit C# expressions, while preserving their current true/false settings.src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cs (1)
5-5: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueRename the static class to follow standard C# naming conventions.
Static classes should not be prefixed with
I, as that convention is strictly reserved for interfaces. Consider renaming this class toClientWebServiceCollectionExtensions.♻️ Proposed refactor
-public static class IClientWebServiceCollectionExtensions +public static class ClientWebServiceCollectionExtensions🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cs` at line 5, Rename the static class IClientWebServiceCollectionExtensions to ClientWebServiceCollectionExtensions and update all references to the class while preserving its existing extension methods and behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razor`:
- Line 67: Replace the self-closing bswup-progress-text div in
AppBswupProgressBar with an explicit opening and closing div pair, preserving
its class and surrounding markup.
- Line 66: Update the BswupProgress component invocation to use explicit boolean
parameter syntax for HideApp, AutoReload, and ShowLogs, such as quoted values or
explicit C# expressions, while preserving their current true/false settings.
In
`@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cs`:
- Line 5: Rename the static class IClientWebServiceCollectionExtensions to
ClientWebServiceCollectionExtensions and update all references to the class
while preserving its existing extension methods and behavior.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: b82f5fe8-b515-471e-8b1f-04bfee18d609
📒 Files selected for processing (19)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 12 seconds. |
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cs (1)
5-8: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueRemove the
Iprefix from the static class name.Naming a static class with an
Iprefix violates standard C# naming conventions, as it makes the class appear to be an interface.♻️ Proposed refactor
-public static class IClientWebServiceCollectionExtensions +public static class ClientWebServiceCollectionExtensions { public static IServiceCollection AddClientWebServices(this IServiceCollection services)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cs` around lines 5 - 8, Rename the static class IClientWebServiceCollectionExtensions to ClientWebServiceCollectionExtensions, preserving the existing AddClientWebServices method and all behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfString.cs`:
- Line 61: Update the PDFDocEncoding mapping table in BitPdfString so byte 0x84
maps to the EM DASH character U+2014, while preserving the existing mappings for
adjacent bytes and the AsText decoding behavior.
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cs`:
- Line 49: Update the watch command construction in ScssCompilerService to
include the Dart Sass --load-path=. option alongside the existing arguments,
ensuring the project root is treated as a configured load path while preserving
the current watch behavior.
---
Nitpick comments:
In
`@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cs`:
- Around line 5-8: Rename the static class IClientWebServiceCollectionExtensions
to ClientWebServiceCollectionExtensions, preserving the existing
AddClientWebServices method and all behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: ab3ab1e0-6455-4a3f-be24-4ea10e6edb16
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfString.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cs`:
- Around line 24-26: Update the startup flow around app.RunAsync and
Bit.BlazorUI.Demo.Server.Services.ScssCompilerService.WatchScssFiles so the host
is started before awaiting the SCSS watcher, rather than invoking both
concurrently in Task.WhenAll. Preserve watcher behavior while allowing startup
failures from app.RunAsync to propagate immediately.
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json`:
- Around line 4-6: Remove the explanatory comment from launchSettings.json so
the file remains valid JSON, and move the Blazor Server/WASM debugging guidance
to the relevant README.md or other documentation file. Preserve the
instructions, including the IncludeWasm build option, in the documentation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: db1cdf18-0585-4cde-9cdc-a2a9afe4ad8c
📒 Files selected for processing (38)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cs`:
- Line 24: Update the SCSS compiler process setup around the toolPath
construction to invoke the Windows sass.cmd through cmd.exe (or the system
ComSpec) with /c, while preserving direct execution of sass on non-Windows
platforms. Ensure the redirected-output ProcessStartInfo receives the correct
executable and arguments so the watcher starts successfully on Windows.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 50b17789-c347-4252-abcb-99be99f7cebd
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (1)
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj`:
- Around line 42-49: Remove the SCSS Watch item from the project files at
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj:42-49,
src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj:33-39,
src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj:32-38,
src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj:20-23, and
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj:34-37. Keep the
existing TypeScript and generated .razor.css Watch items unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 57d4716e-2e2f-4881-8f5d-3c5eb881a90d
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (1)
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
…bitframework into 12649-blazorui-slow-build
|
@coderabbitai full-review |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Demo/README.md`:
- Line 11: Update the README’s dotnet run example to include the --project
option and identify the intended server project, while preserving the existing
IncludeWasm=true property.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 698d88b7-55ca-453f-9efe-b7e56f3df1cd
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (3)
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
- src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj
- src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cs`:
- Around line 24-30: Update the startup flow around
ScssCompilerService.WatchScssFiles so it remains the sole shutdown coordinator,
removing the separate app.WaitForShutdownAsync() from Task.WhenAll. Preserve
app.StartAsync() first and continue awaiting the watcher for its shutdown-tied
lifetime.
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cs`:
- Around line 73-119: Replace the await of app.WaitForShutdownAsync() in the
SCSS watcher flow with an indefinitely pending delay canceled by
app.Lifetime.ApplicationStopping. Keep the existing KillSassProcess registration
and cleanup behavior unchanged, while avoiding a second host shutdown path.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 7f1e86b8-ec6e-414a-a9f6-7e3538a21b32
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (3)
- src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj
- src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razor (1)
66-67: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueUse C# boolean literals for component parameters.
While Blazor supports parsing string literals like
"false"and"true"for boolean component parameters, it is more idiomatic and type-safe to pass C# boolean expressions (@falseand@true). This also skips the framework's runtime string conversion.♻️ Proposed refactor
- <BswupProgress AppContainer="`#app-container`" HideApp="false" AutoReload="true" ShowLogs="false"> + <BswupProgress AppContainer="`#app-container`" HideApp="`@false`" AutoReload="`@true`" ShowLogs="`@false`">🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razor` around lines 66 - 67, Update the BswupProgress component invocation to pass HideApp and AutoReload as C# boolean expressions using `@false` and `@true` instead of quoted string literals, while leaving the other parameters unchanged.src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cs (1)
12-16: 🚀 Performance & Scalability | 🔵 Trivial | 💤 Low valueConsider caching render mode instances to avoid repeated allocations.
Since these properties return a new instance of the render mode every time they are accessed (e.g., when a component is rendered with
@rendermode AppRenderMode.Auto), it creates unnecessary allocations. You can optimize this by using get-only properties (or static readonly fields) that instantiate the render mode just once at startup.💡 Proposed refactor
- public static IComponentRenderMode Auto => new InteractiveAutoRenderMode(PrerenderEnabled); - public static IComponentRenderMode BlazorWebAssembly => new InteractiveWebAssemblyRenderMode(PrerenderEnabled); - public static IComponentRenderMode BlazorServer => new InteractiveServerRenderMode(PrerenderEnabled); - public static IComponentRenderMode NoPrerenderBlazorWebAssembly => new InteractiveWebAssemblyRenderMode(prerender: false); - public static IComponentRenderMode NoPrerenderBlazorServer => new InteractiveServerRenderMode(prerender: false); + public static IComponentRenderMode Auto { get; } = new InteractiveAutoRenderMode(PrerenderEnabled); + public static IComponentRenderMode BlazorWebAssembly { get; } = new InteractiveWebAssemblyRenderMode(PrerenderEnabled); + public static IComponentRenderMode BlazorServer { get; } = new InteractiveServerRenderMode(PrerenderEnabled); + public static IComponentRenderMode NoPrerenderBlazorWebAssembly { get; } = new InteractiveWebAssemblyRenderMode(prerender: false); + public static IComponentRenderMode NoPrerenderBlazorServer { get; } = new InteractiveServerRenderMode(prerender: false);🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cs` around lines 12 - 16, Update the render mode members in AppRenderMode so each InteractiveAutoRenderMode, InteractiveWebAssemblyRenderMode, and InteractiveServerRenderMode instance is created once and reused, while preserving the existing PrerenderEnabled and no-prerender behavior.src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj (1)
33-39: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winSame
dotnet watch.ts-watch block (comment +Watch Include/Exclude) is duplicated verbatim across project files. Root cause: no shared MSBuild fragment for this pattern, so each project repeats the same comment, include glob, and exclude list.
src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj#L33-L39: candidate anchor — extract this block into a shared.propsfile (e.g.Directory.Build.propsor a smallFrontendWatch.props) imported by each frontend project.src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj#L32-L38: replace with an<Import>of the shared props instead of repeating the block.src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj#L42-L49: import the shared.tswatch fragment and keep only the project-specific.razor.csswatch line locally.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj` around lines 33 - 39, Extract the duplicated .ts Watch comment, Include glob, and Exclude list from src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj lines 33-39 into a shared MSBuild props fragment, then import it from src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj lines 32-38 and src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj lines 42-49. Remove the duplicated blocks from all three projects, retaining only the project-specific .razor.css watch entry in the demo client project.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cs`:
- Around line 91-92: Update the OutputDataReceived and ErrorDataReceived
handlers in ScssCompilerService so e.Data is passed to ILogger as a logging
argument rather than a message template, preserving the existing
information/error levels and empty-data checks while preventing Sass braces from
being interpreted as format placeholders.
---
Nitpick comments:
In `@src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj`:
- Around line 33-39: Extract the duplicated .ts Watch comment, Include glob, and
Exclude list from src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj lines 33-39 into
a shared MSBuild props fragment, then import it from
src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj lines 32-38 and
src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj
lines 42-49. Remove the duplicated blocks from all three projects, retaining
only the project-specific .razor.css watch entry in the demo client project.
In
`@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cs`:
- Around line 12-16: Update the render mode members in AppRenderMode so each
InteractiveAutoRenderMode, InteractiveWebAssemblyRenderMode, and
InteractiveServerRenderMode instance is created once and reused, while
preserving the existing PrerenderEnabled and no-prerender behavior.
In
`@src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razor`:
- Around line 66-67: Update the BswupProgress component invocation to pass
HideApp and AutoReload as C# boolean expressions using `@false` and `@true` instead
of quoted string literals, while leaving the other parameters unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 45ad93d2-b05b-4111-961e-1df693ba4c80
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (3)
- src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
- src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@src/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cs`:
- Around line 1615-1621: Update the public TextCoalescing XML documentation to
state that embedded-font runs, including PUA glyph-mapped runs, are coalesced;
retain the documented exclusion for rotated or mirrored text and remove the
contradictory claim that embedded-font runs remain per-run exact.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 04debcc0-0ae7-4abd-a9c6-6f957ccfdc2d
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (3)
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
- src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj
- src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cs`:
- Around line 134-147: Update KillSassProcess so InvalidOperationException
raised while evaluating process.HasExited is caught and ignored, preventing a
warning for processes that never started or are already disposed. Preserve the
existing termination behavior and continue logging other exceptions through
logger.LogWarning.
- Around line 106-109: Remove the ApplicationStopping.Register callback that
invokes KillSassProcess in the SCSS watcher setup. Rely on the existing
ApplicationStopping wait and the finally cleanup path to terminate and dispose
the process, leaving the surrounding watcher lifecycle behavior unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: a329174d-f08b-4567-a26c-7b9a148f8c00
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (3)
- src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj
- src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@src/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cs`:
- Around line 68-70: Update the renderer documentation describing Compact-mode
text coalescing to state that rotated, mirrored, or skewed/non-upright text
remains per-run exact, matching the guard in the Compact-mode logic around the
relevant text transformation checks.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: c15a7e49-5f24-4f7e-9be7-f10d8aa758c3
📒 Files selected for processing (39)
src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csprojsrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfRenderMode.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.razor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.scsssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/BitPdfViewer.tssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfDocument.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfStructTree.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfUnsupportedEncryptionException.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/BitPdfXRef.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Content/BitPdfTextExtractor.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Filters/BitPdfJpegDecoder.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfCffFontParser.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfFont.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfSfntGlyphMapper.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfTrueTypeSanitizer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Fonts/BitPdfType1Font.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfCanvasRenderResult.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfHtmlRenderer.cssrc/BlazorUI/Bit.BlazorUI.Extras/Components/PdfViewer/Core/Render/BitPdfImage.cssrc/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csprojsrc/BlazorUI/Bit.BlazorUI.slnxsrc/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csprojsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Components/App.razorsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Extensions/IServiceCollectionExtensions.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Program.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.jsonsrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Services/ScssCompilerService.cssrc/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Startup/Middlewares.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Services/AppRenderMode.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Bit.BlazorUI.Demo.Client.Web.Shared.csprojsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Components/AppBswupProgressBar.razorsrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Extensions/ClientWebServiceCollectionExtensions.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebDeviceCoordinator.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web.Shared/Services/WebExceptionHandler.cssrc/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csprojsrc/BlazorUI/Demo/README.md
💤 Files with no reviewable changes (3)
- src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj
- src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Properties/launchSettings.json
- src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. Your plan includes PR reviews subject to rate limits. More reviews will be available in 36 minutes. |
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
…into 12649-blazorui-slow-build
|
@coderabbitai full-review |
|
✅ Action performedFull review finished. |
closes #12649
Summary by CodeRabbit
no-prerenderquery to select the appropriate non-prerender rendering behavior.