Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
DSH needs a restart when a change alters the set of installed bundle layers it composes at startup. Editing a watched profile or home cordis.patch.yml file is different: those edits are documented to hot-reload. Settings and plugin changes have their own limits, so the right action depends on what changed and which layer needs to refresh.
Why changing a bundle calls for a restart
DSH assembles bundle layers when the process starts. An installed bundle is a distribution layer that contributes configuration and code to that stack; adding, removing, or rebuilding one changes the composition DSH must load. The official first-plugin tutorial puts the distinction plainly: “adding, removing, or rebuilding an installed bundle requires a restart.” dsh.fish, “Build your first plugin” likewise states that “Bundle layers compose at boot.” DSH Hub, “How to install DSH plugins”
A plugin and a bundle are related, but not interchangeable terms. A plugin is a TypeScript module that exports an apply function; DSH calls it with a Cordis context, through which it registers its contributions. A bundle is a package or layer that participates in the installed stack. According to the Hub install guide, a package joins that stack only when it declares dsh.bundle; an ordinary dependency is just a library.
One useful analogy is that a watched patch edit changes live configuration, while a bundle change alters which modules are assembled at launch. That analogy explains the different lifecycle, but it is not a separate DSH feature or mechanism.
#1 Best Overall
- ULTRA POWER - SUPPORTS THE LATEST RYZEN 9000 PROCESSORS IN HIGH PERFORMANCE - The MAG B850 TOMAHAWK MAX WIFI employs a 14 Duet Rail Power System (80A, SPS) VRM for the AMD B850 chipset (AM5, Ryzen 9000 / 8000 / 7000) with Core Boost architecture
- FROZR GUARD - Premium cooling features such as 7W/mK MOSFET thermal pads, extra choke thermal pads and an Extended Heatsink; Includes chipset heatsink, EZ M.2 Shield Frozr II, and a Combo-fan (for pump & system) header (3A)
- DDR5 MEMORY, PCIe 5.0 x16 SLOT - 4 x DDR5 DIMM SMT slots enable extreme memory overclocking speeds (1DPC 1R, 8400+ MT/s); 1 x PCIe 5.0 x16 SMT slot (128GB/s) with Steel Armor II supports cutting-edge graphics cards
- QUADRUPLE M.2 CONNECTORS - Storage options include 2 x M.2 Gen5 x4 128Gbps slots, 1 x M.2 Gen4 x4 64Gbps slot and 1 x M.2 Gen4 x2 32Gbps slot; Features EZ M.2 Shield Frozr II to prevent thermal throttling and EZ M.2 Clip II for EZ DIY experience
- CONNECTIVITY - Network hardware includes a full-speed Wi-Fi 7 module with Bluetooth 5.4 & 5Gbps LAN; Rear ports include USB 20G Type-C and 7.1 USB High Performance Audio with Audio Boost 5 (supports S/PDIF output)
Which DSH changes hot-reload?
| Change | What the documentation says | What to do |
|---|---|---|
Profile or home cordis.patch.yml edit |
These edits hot-reload, according to the official developer tutorial. | Allow the reload and check the active configuration. |
settings.yaml key |
Some keys hot-reload; the install guide does not list which ones. | Check the documentation for that particular key. |
| Installed bundle added, removed, or rebuilt | A restart is required to compose the changed bundle layers. | Restart the web profile. |
| UI plugin | Most UI plugins need a web restart, according to the install guide. | Follow the plugin README and active profile’s instructions. |
The official tutorial specifically documents hot reload for the profile and home patch files; it does not establish that every patch source or every possible patch edit is watched. Similarly, the Hub’s note about settings applies to some keys, not all settings.
Choose the refresh level that matches the change
Patch or setting
For an edit to the profile or home cordis.patch.yml, give the documented hot reload a chance to apply it, then inspect the active configuration. For settings.yaml, verify that the specific key supports hot reload rather than assuming the file reloads as a whole.
Rank #2
- AMD Socket AM4: Ready to support AMD Ryzen 5000 / Ryzen 4000 / Ryzen 3000 Series processors
- Enhanced Power Solution: Digital twin 10 plus3 phases VRM solution with premium chokes and capacitors for steady power delivery.
- Advanced Thermal Armor: Enlarged VRM heatsinks layered with 5 W/mk thermal pads for better heat dissipation. Pre-Installed I/O Armor for quicker PC DIY assembly.
- Boost Your Memory Performance: Compatible with DDR4 memory and supports 4 x DIMMs with AMD EXPO Memory Module Support.
- Comprehensive Connectivity: WIFI 6, PCIe 4.0, 2x M.2 Slots, 1GbE LAN, USB 3.2 Gen 2, USB 3.2 Gen 1 Type-C
Installed bundle or UI plugin
If you added, removed, or rebuilt an installed bundle, restart the web profile so DSH can compose the changed layers. For a UI plugin, check its README: the Hub guide says most UI plugins need a web restart and advises following the plugin’s own documentation.
Free tools Windows power users keep installed
One-click scans. No signup required.
Browser assets or framework files
Refresh behavior can differ in a configured development workflow. In the setup documented by one developer, rebuilt browser client assets require a page refresh, while framework file changes trigger a full restart. That same workflow does not watch command-line --patch overlays. These are setup-specific observations, not universal guarantees for every DSH profile. Developer notes on hot reload for web-profile plugin development
Rank #3
- AMD Socket AM4: Ready to support AMD Ryzen 5000/4000/3000 Series Processors
- Enhanced Power Solution: Digital 3+3 VRM Design and premium chokes and capacitors for steady power delivery.
- Advanced Thermal Armor: Chipset heatsinks for better heat dissipation.
- Boost Your Memory: Compatible with DDR4 and supports 4 DIMMS with Extreme Memory Profile support.
- Comprehensive Connectivity: 1x Ultra Durable PCIe 4.0 x16 slot, 1x PCIe 4.0 M.2 slot, 1x PCIe 3.0 M.2 slot, 4x USB 3.2 Gen 1 ports for hassle-free setup.
Why unload and cleanup matter to plugin authors
The official tutorial says the harness undoes registrations when a plugin unloads. But resources outside Cordis-managed registrations—such as timers or network connections—need explicit cleanup. Acquire those resources inside ctx.effect() and return a disposer so they can be released during unload or reload. Without that cleanup, a reload can leave unmanaged resources behind.
Dependency relationships matter too. In the developer-specific workflow, reloading a service provider can dispose dependent plugins that inject its services. If a dependent plugin disappears or needs to be re-established after a provider reload, treat that as a lifecycle consequence to check in that setup, not proof that all DSH profiles behave identically.
Quick Recap
Best Value
- Supports 12th/13th Gen Intel Core, Pentium Gold and Celeron processors for LGA 1700 socket
- Supports DDR4 Memory, Dual Channel DDR4 5333+MHz (OC)
- Enhanced Power Design: 12+1 Duet Rail Power System with P-PAK, 8-pin + 4-pin CPU power connectors, Core Boost, Memory Boost
- Premium Thermal Solution: Extended Heatsink, MOSFET thermal pads rated for 7W/mK, additional choke thermal pads and M.2 Shield Frozr are built for high performance system and non-stop gaming experience
- High Quality PCB: 6-layer PCB made by 2oz thickened copper and server grade level material
Rank #4
- AMD Socket AM5: Supports AMD Ryzen 9000 / Ryzen 8000 / Ryzen 7000 Series Processors
- DDR5 Compatible: 4*DIMMs
- Power Design: 14+2+2
- Thermals: VRM and M.2 Thermal Guard
- Connectivity: PCIe 5.0, 3x M.2 Slots, USB-C, Sensor Panel Link
A practical troubleshooting sequence
- Classify the change. Decide whether it is a patch edit, a setting, an installed bundle change, plugin code, browser assets, or framework code.
- Check where it is configured. Distinguish profile or home patch files from command-line overlays and installed bundles; the documented hot-reload claim applies specifically to profile and home
cordis.patch.yml. - Refresh the layer that changed. Allow watched patch edits to reload, verify support for an individual settings key, restart after an installed bundle change, or refresh the browser where a UI asset rebuild requires it in your development setup.
- Check plugin-specific guidance. Read the plugin README and confirm the active profile, because behavior can depend on both.
- If you own the plugin, review cleanup and dependencies. Use
ctx.effect()with a disposer for unmanaged resources, and consider whether reloading a service provider affects plugins that consume it.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

