Skip to content

Conversation

@grizzlechips
Copy link
Contributor

@grizzlechips grizzlechips commented Nov 7, 2025

Before Submitting This PR, Please Ensure You Have Completed The Following:

  1. Are internal links to wiki documents using relative file links?
  2. Are all new documentation files lowercase, with dash separated names (ex. unraid-os.mdx)?
  3. Are all assets (images, etc), located in an assets/ subfolder next to the .md/mdx files?
  4. Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  5. Is the build succeeding?

Summary by CodeRabbit

  • New Features

    • Added --log-level option to CLI start/restart commands.
    • RAIDZ expansion via WebGUI now available in Unraid 7.2+.
  • Documentation

    • Large editorial and structural updates across API, CLI, OIDC, and how‑to guides.
    • Expanded API key authorization flow and programmatic management examples.
    • Server management docs now list a third "Remove Server" action.
    • Removed an obsolete site redirect.
  • Localization

    • Multiple Chinese docs updated for clearer examples and formatting.

grizzlechips added 19 commits October 14, 2025 16:18
… notification icons

- Expand notification settings documentation with detailed configuration options:
  * Add comprehensive display/behavior settings, notification types, and delivery methods
  * Include step-by-step SMTP configuration with Gmail app password setup
  * Add detailed notification agent setup with icons for 13+ services (Discord, Slack, Telegram, etc.)
- Significantly expand VM setup documentation with new Unraid 7.x features:
  * Add comprehensive VM snapshot management (create, revert, block commit/pull)
  * Include detailed troubleshooting sections and storage considerations
  * Expand GPU passthrough and PCI device binding documentation
- Enhance system administration guides with detailed upgrade/downgrade procedures:
  * Add a comprehensive downgrade process via the Downgrade OS tool
  * Include post-downgrade verification and troubleshooting sections
  * Add warnings about ZFS compatibility and plugin issues
- Add Creative Commons license information to the footer configuration
- Include 20+ notification service icons (Discord, Slack, Telegram, Pushover, etc.)
- Update Docker guide image and other visual assets
- Clarify WebGUI downgrade tool scope in upgrading-unraid.mdx
- Fix broken snapshot link and list formatting in vm-setup.mdx
- Correct Parity 2 technical description (Reed-Solomon Q-parity) in array-configuration.mdx
- Fix compound adjective hyphenation (XFS‑formatted)
- Remove redundant wording and incorrect "Sync" button reference in rebuild steps
- Standardize formatting and cross-references in tailscale.mdx
Correct inaccurate "Memory dump" checkbox description - it's not preselected by default. Replace alarmist "permanent crash state" language with accurate explanation of memory-backed vs disk-only snapshots and their trade-offs.
- Fix inconsistent vDisk storage paths in VM conversion docs (use /mnt/user/ instead of /mnt/cache/)
- Correct IDE vs SATA bus guidance to change both bus and dev attributes
- Replace Force stop recommendation with safer Stop/normal shutdown guidance
- Organize notification agent icons in dedicated static directory structure
- Fix incorrect rebuild instruction (change "Sync" to "Start" button guidance)
Address critical feedback about content hidden behind tabbed/collapsible elements by reorganizing content as inline sections while maintaining clean layouts.

**FAQ & Licensing FAQ:**
- Improve anchor linking with heading structure (unique shareable links without cluttering TOC)
- Flatten all questions for immediate accessibility
- Verify all anchors work correctly

**Array Configuration:**
- Split monolithic 1,160+ line page into 5 focused pages: Overview, Adding disks, Replacing disks, Removing disks, Health & maintenance
- Flatten content from tabs/expandables to inline sections
- Retain version-specific tabs only
- Update links and redirects for new structure

**File Systems:**
- Add Unraid 7.2 filesystem content (EXT4, NTFS, exFAT)
- Add filesystem comparison table at top of page
- Remove tab UI for filesystem introductions
- Retain CLI-specific tabs for file system checks/repairs
- Consolidate redundant partial files (btrfs/xfs/zfs intro, balance/scrub partials)
- Add cross-reference link to ZFS storage page

**Shares:**
- Convert configurable option tabs to inline sections with descriptive headers
- Move "Transferring files from network share" to CLI page (per feedback)
- Retain version-specific tabs for 6.12+ vs 6.11 differences
- Update links for new content location

**Cache Pools:**
- Remove tab UI, convert to inline sections
- Delete "Backing up cache pool" section (redundant with move operations, per feedback)
- Retain version-specific guidance as inline notes
- Improve content flow with clear section headers

**Unclean Shutdowns:**
- Flatten tabbed VM configuration to inline sections
- Expand Windows VM configuration with detailed step-by-step instructions
- Add comprehensive timeout configuration tables
- Enhance shutdown sequence explanations

**Additional improvements:**
- Improve CLI documentation with network file transfer section
- Enhance VM setup documentation accessibility
- Update Apple Time Machine style/formatting
- Add ZFS storage cross-references
- Apply CodeRabbit configuration file improvements
- Reduce excessive bold text across pages for better visual hierarchy (maintain content substance)
- Changed import path for sidebar sorting utility from `sitebar-semver-sort.js` to `sidebar-semver-sort.js`.
- Removed outdated `sitebar-semver-sort` TypeScript definition and JavaScript implementation.
- Updated various documentation files for consistency, including fixing minor grammatical issues and improving formatting for better readability.
- Adjusted links in the Docusaurus configuration to point to the new overview page for managing storage arrays.
- Changed the maximum heading level for the table of contents from 2 to 3 to improve navigation.
- Removed the outdated index section to streamline the FAQ content and enhance readability.
…bility

- Changed table of contents maximum heading level from 2 to 3 for better organization.
- Removed outdated index sections from the FAQ to streamline content and enhance user experience.
- Improved overall clarity and accessibility of the FAQ and Licensing FAQ sections.
- Removed outdated redirect entries in docusaurus.config.ts for clarity.
- Enhanced API documentation with consistent formatting and improved readability across multiple files.
- Updated CLI and API key management guides to reflect best practices and streamline user experience.
- Improved overall structure and accessibility of various documentation sections, including OIDC provider setup and array management.
- Minor editorial fixes and adjustments to ensure consistency in terminology and formatting.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 7, 2025

📝 Walkthrough

Walkthrough

Removed the top-level if guard from the deploy-preview job so the job is always instantiated while individual steps retain if: guards; broad documentation edits standardize headings, token placeholders, markdownlint directives, asset paths, and add a client-side gtag stub; one redirect mapping was removed.

Changes

Cohort / File(s) Summary
CI/CD Workflow
\.github/workflows/pr.yml
Removed top-level if guard on the deploy-preview job. The job is now created for closed events; per-step if: conditions remain to skip actions.
Site Configuration
docusaurus.config.ts
Removed a public redirect mapping and added a clientModules entry to load src/clientModules/gtag-stub.js; favicon and tagline updated.
Client stub
src/clientModules/gtag-stub.js
Added a lightweight browser stub that initializes window.dataLayer and defines window.gtag to push arguments into dataLayer.
API docs — Core & Index
docs/API/index.mdx, docs/API/upcoming-features.mdx, docs/API/api-key-app-developer-authorization-flow.mdx, docs/API/partials/*
Normalized title/heading casing, tokenized references (e.g., `%%GraphQL
API docs — Guides & CLI
docs/API/cli.mdx, docs/API/how-to-use-the-api.mdx
Rewrites and restructuring, tokenized references, added --log-level / LOG_LEVEL docs, sample queries, and consolidated guidance.
API docs — Auth & Keys
docs/API/oidc-provider-setup.mdx, docs/API/programmatic-api-key-management.mdx, docs/API/partials/manage-api-keys-gui.mdx
Reworded OIDC/provider guidance, reformatted API key examples/JSON outputs, added lint directives and placeholders.
Get Started / Partials
docs/API/partials/get-started-v72.mdx, docs/API/partials/get-started-pre72.mdx
Converted steps to linked format, added markdownlint directives, normalized punctuation and placeholders.
Storage & Array Docs
docs/unraid-os/using-unraid-to/manage-storage/array/*
Emphasis normalization, replaced layout blocks with Markdown tables, clarified procedures and link paths, added lint directives.
ZFS & Advanced Storage
docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx, i18n variants
Replaced image refs from /img/... to ./assets/..., added markdownlint disables, clarified RAIDZ expansion availability (Unraid 7.2+), formatting/table tweaks.
System Admin, VM & Updates
docs/unraid-os/system-administration/*, docs/unraid-os/using-unraid-to/create-virtual-machines/vm-setup.mdx, docs/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx
Global markdownlint disables, standardized code blocks and tab markup, spacing and formatting fixes across commands and examples.
Troubleshooting & Release Notes
docs/unraid-os/troubleshooting/*, docs/unraid-os/release-notes/7.2.0.md
Added/adjusted lint directives, replaced self-closing anchors, normalized emphasis and UI-path formatting, small clarifying notes.
Unraid Account
docs/unraid-account/server-management.mdx
Version text changed to "Unraid 6.12.8"; added "Remove Server" to actions list.
i18n — Translations
i18n/*/.../zfs-storage.mdx, i18n/zh/.../partials/*, i18n/de/..., i18n/es/..., i18n/fr/...
Image path updates where applicable, added markdownlint directives, converted code fences to language-labeled blocks, minor localization formatting/text fixes.

Sequence Diagram(s)

sequenceDiagram
  participant GH as GitHub Event
  participant Runner as Actions Runner
  participant Job as deploy-preview Job
  participant Step as Job Step

  note over GH,Runner: Workflow triggered by events (including 'closed')
  GH->>Runner: emit event
  Runner->>Job: instantiate deploy-preview (no top-level `if`)
  loop evaluate steps
    Job->>Step: evaluate step-level `if:` condition
    alt condition true
      Step-->>Job: execute
    else
      Step-->>Job: skip
    end
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Inspect .github/workflows/pr.yml to ensure every step-level if: prevents deployments on closed events.
  • Verify docusaurus.config.ts redirect removal doesn't cause broken links or SEO regressions.
  • Spot-check tokenized placeholders render correctly in previews (e.g., %%GraphQL|graphql%%).
  • Confirm ZFS RAIDZ expansion wording (Unraid 7.2+) matches product behavior.

Possibly related PRs

"I hopped through diffs with nimble feet,
Tokens tucked in, images found new street.
Lint hushes whispered, redirects trimmed fine,
Docs prance cleaner — a rabbit's tiny sign. 🐇"

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description consists of a contributor checklist matching the template structure. However, all checklist items are unchecked, providing no insight into completion status or PR-specific details beyond the template. Check the relevant checklist items to indicate which requirements were addressed. Add a brief summary of the specific documentation changes and improvements made.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main focus of the changes, which encompasses documentation updates for API and configuration-related content across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9f89784 and 3f0fc6b.

📒 Files selected for processing (3)
  • docs/unraid-os/release-notes/7.2.0.md (6 hunks)
  • docusaurus.config.ts (1 hunks)
  • src/clientModules/gtag-stub.js (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-17T16:28:59.403Z
Learnt from: elibosley
Repo: unraid/docs PR: 325
File: docs/unraid-os/system-administration/maintain-and-update/changing-the-flash-device.mdx:123-131
Timestamp: 2025-09-17T16:28:59.403Z
Learning: Unraid's flash backup feature (accessed via Main tab → Flash device → FLASH BACKUP) creates complete installation ZIP files that include both the Unraid OS and user configuration. These backup ZIPs are compatible with the USB Flash Creator's "Use custom" option for restoring to new flash devices.

Applied to files:

  • docs/unraid-os/release-notes/7.2.0.md
🪛 LanguageTool
docs/unraid-os/release-notes/7.2.0.md

[style] ~173-~173: Consider using the internationally preferred transliteration for the capital of Ukraine.
Context: ...ireGuard tunnels - Improvement: Europe/Kiev timezone renamed to Europe/Kyiv to a...

(KIEV)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: deploy-preview
🔇 Additional comments (7)
docs/unraid-os/release-notes/7.2.0.md (3)

34-34: Consistent path formatting for UI navigation.

The formatting updates to **_Main → Pool Devices_** correctly standardize navigation path references using bold-italic combination. This appears consistent across other changed lines (92, 139, 140, 154).

Also applies to: 37-37


171-171: Emphasis formatting normalized appropriately.

Changed *searchLink* to _searchLink_ aligns with consistent single-underscore emphasis formatting throughout the documentation updates.


173-173: Timezone transliteration updated to current standard.

The update from _Europe/Kiev_ to _Europe/Kyiv_ aligns with the internationally preferred transliteration for the capital of Ukraine and the IANA Time Zone Database standard.

src/clientModules/gtag-stub.js (1)

1-8: LGTM! Standard gtag stub implementation.

The implementation correctly follows the Google Analytics gtag stub pattern:

  • Safely checks for browser environment
  • Initializes dataLayer as an array
  • Pushes the entire arguments object (not spreading) to dataLayer, which is the expected behavior for gtag
  • Named function aids debugging
docusaurus.config.ts (3)

35-35: Minor wording improvement.

The tagline change from "Documentation for Unraid" to "Unraid Documentation" is more concise.


37-37: Correct integration of gtag stub.

The clientModules entry properly uses path.resolve to reference the gtag-stub.js file, ensuring the stub loads client-side.


36-36: Favicon file verified—no issues found.

The favicon.ico file exists at the expected location (static/img/favicon.ico), and the configuration path resolves correctly. Both the new ICO format and legacy SVG are in place.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot requested a review from ljm42 November 7, 2025 02:08
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx (1)

44-44: Move all zfs image assets to assets/ subfolder next to zfs-storage.mdx per PR checklist requirement #3.

The 16 zfs image files currently reside in git/static/img/ but should be relocated to docs/unraid-os/advanced-configurations/optimize-storage/assets/. Update all 16 image references in zfs-storage.mdx from /img/zfs#.png to ./assets/zfs#.png (lines 44, 64, 77, 92, 99, 108, 121, 125, 157, 164, 179, 220, 247, 264, 304, 315).

🧹 Nitpick comments (3)
docs/unraid-os/system-administration/advanced-tools/command-line-interface.mdx (1)

6-14: The markdownlint-disable MD041 directive appears unnecessary.

Line 14 contains a valid h1 heading (# Command line interface), which means the MD041 rule (requiring first heading to be h1) is already satisfied. This directive may be a leftover from previous edits. Consider removing it unless there's a specific reason it's needed (e.g., inherited from a template or required by CI configuration).

docs/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx (1)

6-6: Clarify the purpose of the MD033 linting rule disable.

The MD041 disable is appropriate given the YAML frontmatter, but MD033 (inline HTML) is not obviously needed—no raw HTML is present in the file. Verify whether this is anticipatory for token substitutions (e.g., %%...%% → HTML) or if it should be removed. Ensure the linting configuration aligns with the documentation build system's expectations.

docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx (1)

186-188: Consider en-dashes for numerical ranges (typographical consistency).

Lines 186–188 use hyphens for ranges (e.g., "3-6 drives", "6-12 drives", "10-16 drives"). Professional documentation typically uses en-dashes (–) for ranges instead. This is a minor style refinement.

For consistency and typographical polish:

- | RAIDZ1  | 1 disk per vdev               | Fast for big files. Not ideal for small or random writes. | Add new vdevs    | High             | General use, 1-disk fault tolerance      | 3-6 drives (max 8)                    |
- | RAIDZ2  | 2 disks per vdev              | Like Z1 but slightly slower writes (extra parity)         | Add new vdevs    | Moderate         | Important data, 2-disk fault tolerance   | 6-12 drives (max 14)                  |
- | RAIDZ3  | 3 disks per vdev              | Like Z2, with more write overhead (for maximum safety)    | Add new vdevs    | Lower            | Mission-critical, 3-disk fault tolerance | 10-16 drives (max 20)                 |
+ | RAIDZ1  | 1 disk per vdev               | Fast for big files. Not ideal for small or random writes. | Add new vdevs    | High             | General use, 1–disk fault tolerance      | 3–6 drives (max 8)                    |
+ | RAIDZ2  | 2 disks per vdev              | Like Z1 but slightly slower writes (extra parity)         | Add new vdevs    | Moderate         | Important data, 2–disk fault tolerance   | 6–12 drives (max 14)                  |
+ | RAIDZ3  | 3 disks per vdev              | Like Z2, with more write overhead (for maximum safety)    | Add new vdevs    | Lower            | Mission-critical, 3–disk fault tolerance | 10–16 drives (max 20)                 |
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 111c372 and d582a4b.

📒 Files selected for processing (26)
  • .github/workflows/pr.yml (0 hunks)
  • docs/API/api-key-app-developer-authorization-flow.mdx (3 hunks)
  • docs/API/cli.mdx (10 hunks)
  • docs/API/how-to-use-the-api.mdx (7 hunks)
  • docs/API/index.mdx (2 hunks)
  • docs/API/oidc-provider-setup.mdx (10 hunks)
  • docs/API/partials/get-started-pre72.mdx (1 hunks)
  • docs/API/partials/get-started-v72.mdx (1 hunks)
  • docs/API/partials/manage-api-keys-gui.mdx (1 hunks)
  • docs/API/programmatic-api-key-management.mdx (8 hunks)
  • docs/API/upcoming-features.mdx (1 hunks)
  • docs/unraid-account/server-management.mdx (2 hunks)
  • docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx (9 hunks)
  • docs/unraid-os/release-notes/7.2.0.md (9 hunks)
  • docs/unraid-os/system-administration/advanced-tools/command-line-interface.mdx (20 hunks)
  • docs/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx (1 hunks)
  • docs/unraid-os/troubleshooting/common-issues/unclean-shutdowns.mdx (11 hunks)
  • docs/unraid-os/troubleshooting/faq.mdx (16 hunks)
  • docs/unraid-os/troubleshooting/licensing-faq.mdx (1 hunks)
  • docs/unraid-os/using-unraid-to/create-virtual-machines/vm-setup.mdx (8 hunks)
  • docs/unraid-os/using-unraid-to/manage-storage/array/adding-disks-to-array.mdx (3 hunks)
  • docs/unraid-os/using-unraid-to/manage-storage/array/array-health-and-maintenance.mdx (5 hunks)
  • docs/unraid-os/using-unraid-to/manage-storage/array/overview.mdx (3 hunks)
  • docs/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx (2 hunks)
  • docs/unraid-os/using-unraid-to/manage-storage/array/replacing-disks-in-array.mdx (6 hunks)
  • docusaurus.config.ts (4 hunks)
💤 Files with no reviewable changes (1)
  • .github/workflows/pr.yml
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 2025-09-17T16:28:59.403Z
Learnt from: elibosley
Repo: unraid/docs PR: 325
File: docs/unraid-os/system-administration/maintain-and-update/changing-the-flash-device.mdx:123-131
Timestamp: 2025-09-17T16:28:59.403Z
Learning: Unraid's flash backup feature (accessed via Main tab → Flash device → FLASH BACKUP) creates complete installation ZIP files that include both the Unraid OS and user configuration. These backup ZIPs are compatible with the USB Flash Creator's "Use custom" option for restoring to new flash devices.

Applied to files:

  • docs/unraid-os/troubleshooting/licensing-faq.mdx
  • docs/unraid-os/troubleshooting/faq.mdx
  • docs/unraid-os/release-notes/7.2.0.md
  • docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx
📚 Learning: 2025-05-23T16:04:50.060Z
Learnt from: expliyh
Repo: unraid/docs PR: 281
File: i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/faq/installation.md:26-26
Timestamp: 2025-05-23T16:04:50.060Z
Learning: In the Unraid documentation, the folder for enabling UEFI boot mode is named "efi~" (lowercase with a tilde) in the English version, which is renamed to "efi". In the Chinese translation, this is represented as "EFI~" (uppercase with a tilde) renamed to "EFI". The tilde character is the correct notation, not a hyphen.

Applied to files:

  • docs/unraid-os/troubleshooting/faq.mdx
📚 Learning: 2025-05-23T16:04:50.060Z
Learnt from: expliyh
Repo: unraid/docs PR: 281
File: i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/faq/installation.md:26-26
Timestamp: 2025-05-23T16:04:50.060Z
Learning: The folder name for enabling UEFI boot mode in Unraid documentation is specified as "EFI~" (with a tilde), which is then renamed to "EFI". This is the correct notation as it matches the English version of the documentation.

Applied to files:

  • docs/unraid-os/troubleshooting/faq.mdx
📚 Learning: 2025-09-28T04:47:45.534Z
Learnt from: elibosley
Repo: unraid/docs PR: 339
File: docs/unraid-os/getting-started/what-is-unraid.mdx:64-80
Timestamp: 2025-09-28T04:47:45.534Z
Learning: In Docusaurus MDX files, `mdx-code-block` is not a literal code block but an escape hatch for Crowdin translation integration. It's a no-op wrapper that allows complex JSX to be preserved during Crowdin upload/download cycles while still rendering normally. Docusaurus includes special handling that unwraps these blocks so the JSX content renders as intended.

Applied to files:

  • docs/API/partials/get-started-v72.mdx
🪛 LanguageTool
docs/API/api-key-app-developer-authorization-flow.mdx

[misspelling] ~17-~17: Did you mean the verb “log in” instead of the noun ‘login’?
Context: ...dy logged in, the user is redirected to login first (standard Unraid auth). 3. **Con...

(LOG_IN)


[uncategorized] ~28-~28: Possible missing article found.
Context: ...er. - If redirect_uri is provided, user is redirected back with the key. 5. **...

(AI_HYDRA_LEO_MISSING_THE)

docs/API/index.mdx

[uncategorized] ~18-~18: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...egration capabilities through a modern, strongly-typed API with multiple authentication method...

(HYPHENATED_LY_ADVERB_ADJECTIVE)


[style] ~33-~33: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...nd Advanced Users) For Unraid versions prior to 7.2, or to access newer API features: ...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~39-~39: Try using a synonym here to strengthen your writing.
Context: ...y. Installing the plugin on Unraid 7.2+ gives you access to newer API features before the...

(GIVE_PROVIDE)

docs/unraid-os/troubleshooting/faq.mdx

[uncategorized] ~286-~286: Possible missing comma found.
Context: .... The br0 bridge is a Linux network bridge allowing Docker containers and %%VM|vm%...

(AI_HYDRA_LEO_MISSING_COMMA)

docs/unraid-os/troubleshooting/common-issues/unclean-shutdowns.mdx

[style] ~181-~181: Try using a synonym here to strengthen your writing.
Context: ... if you have multiple %%VMs|vm%%). This gives services more time to shut down gracefu...

(GIVE_PROVIDE)

docs/unraid-os/using-unraid-to/manage-storage/array/array-health-and-maintenance.mdx

[grammar] ~152-~152: Consider removing ‘will’. (Usually, ‘will’ does not occur in a conditional clause, unless in the sense ‘want to’ or ‘be willing to’.)
Context: ...ing array start failures If your array won't start, follow these steps to identify and fix...

(CONDITIONAL_CLAUSE)


[style] ~152-~152: Consider using a different verb for a more formal wording.
Context: ...art, follow these steps to identify and fix common problems. Look for error message...

(FIX_RESOLVE)

docs/unraid-os/release-notes/7.2.0.md

[uncategorized] ~50-~50: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...y. Any parity drives will be overwritten but the data drives will retain their data....

(COMMA_COMPOUND_SENTENCE_2)


[style] ~173-~173: Consider using the internationally preferred transliteration for the capital of Ukraine.
Context: ...ireGuard tunnels - Improvement: Europe/Kiev timezone renamed to Europe/Kyiv to a...

(KIEV)

docs/unraid-os/using-unraid-to/create-virtual-machines/vm-setup.mdx

[misspelling] ~124-~124: This word is normally spelled as one.
Context: ...e Linux %%VMs|vm%% or utilize QXL for multi-screen/memory options. - **%%CPU pinning|cpu-p...

(EN_COMPOUNDS_MULTI_SCREEN)


[uncategorized] ~311-~311: Loose punctuation mark.
Context: ...h%%). Machine type: - i440fx: Default for Windows %%VMs|vm%%. Change ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~312-~312: Loose punctuation mark.
Context: ...gh|gpu-passthrough%% issues. - Q35: Default for Linux %%VMs|vm%% and recomm...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~333-~333: Loose punctuation mark.
Context: ...r drivers. vDisk type: - RAW: Best performance, less flexible for sna...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~334-~334: Loose punctuation mark.
Context: ...ss flexible for snapshots. - QCOW2: Supports snapshots but offers slightly ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~334-~334: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...shots. - QCOW2: Supports snapshots but offers slightly lower performance. **V...

(COMMA_COMPOUND_SENTENCE_2)


[uncategorized] ~543-~543: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ong> If your %%VM|vm%% starts but the display remains blank: 1. **Check ...

(COMMA_COMPOUND_SENTENCE_2)

docs/API/oidc-provider-setup.mdx

[style] ~59-~59: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... have a small list of specific users. - You're new to OIDC configuration. <details...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~75-~75: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...., email domain AND verified status). - You have complex authorization requirements...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~76-~76: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...e complex authorization requirements. - You need fine-grained control over how rule...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[misspelling] ~190-~190: Did you mean the verb “log in” instead of the noun ‘login’?
Context: ...with emails ending in these domains can login" <!-- markdownlint-disable-next-line ...

(LOG_IN)


[misspelling] ~193-~193: Did you mean the verb “log in” instead of the noun ‘login’?
Context: ...: "Only these exact email addresses can login" <!-- markdownlint-disable-next-line ...

(LOG_IN)

docs/unraid-os/using-unraid-to/manage-storage/array/replacing-disks-in-array.mdx

[uncategorized] ~225-~225: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...lready disabled. If the drive is healthy but you want to replace it, unassign the dr...

(COMMA_COMPOUND_SENTENCE)


[style] ~225-~225: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...sabled. If the drive is healthy but you want to replace it, unassign the drive and star...

(REP_WANT_TO_VB)


[style] ~226-~226: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... force Unraid to mark it as disabled. - If your replacement data drive is not larg...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

docs/API/how-to-use-the-api.mdx

[grammar] ~51-~51: The verb ‘signed into’ is not standard English, except in the context of the law (“The bill was signed into law”). Write “signed in to”. For websites and computers, other options are “logged in to” or “logged on to”.
Context: ... access 2. Cookies - Automatic when signed into the %%WebGUI|web-gui%% 3. **%%SSO|sso%%...

(SIGN_INTO)

docs/unraid-os/system-administration/advanced-tools/command-line-interface.mdx

[grammar] ~146-~146: Did you mean “these”?
Context: ...ollapse bash free -h This displays RAM usage in a human-readable ...

(THIS_NNS_VB)


[uncategorized] ~286-~286: Loose punctuation mark.
Context: ...g ports:** bash ss -tuln - -t: TCP sockets - -u: UDP sockets - -l:...

(UNLIKELY_OPENING_PUNCTUATION)

docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx

[style] ~96-~96: To elevate your writing, try using an alternative expression here.
Context: ...5. Assign disks to the pool (disk order does not matter). <div style={{ margin: 'auto', maxWid...

(MATTERS_RELEVANT)


[typographical] ~186-~186: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...eral use, 1-disk fault tolerance | 3-6 drives (max 8) | | R...

(HYPHEN_TO_EN)


[typographical] ~187-~187: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...ortant data, 2-disk fault tolerance | 6-12 drives (max 14) | | RA...

(HYPHEN_TO_EN)


[typographical] ~188-~188: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...sion-critical, 3-disk fault tolerance | 10-16 drives (max 20) | :::t...

(HYPHEN_TO_EN)

docs/API/cli.mdx

[uncategorized] ~41-~41: Loose punctuation mark.
Context: ...ps the Unraid API service. - --delete: Optional. Delete the PM2 home directory...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~89-~89: Loose punctuation mark.
Context: ...ing environments. - -e, --environment: Optional. Target environment (productio...

(UNLIKELY_OPENING_PUNCTUATION)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: deploy-preview
🔇 Additional comments (56)
docs/unraid-account/server-management.mdx (3)

8-8: Terminology update improves consistency.

The change from "Unraid OS v6.12.8" to "Unraid 6.12.8" aligns with the documentation terminology standardization across the PR and makes the phrasing more concise.


26-30: Expanded server removal options enhance user clarity.

Adding the explicit "Remove Server" action as a third option provides users with a more direct way to manage their server without relying on session resets or sign-outs. This improves the user experience and aligns with the documentation refactoring goals of the PR.


1-5: File naming and structure are correct.

The filename server-management.mdx follows the lowercase, dash-separated naming convention specified in the PR checklist. Frontmatter is properly formatted with title and description.

docs/unraid-os/using-unraid-to/manage-storage/array/adding-disks-to-array.mdx (4)

42-47: Improved table clarity and accessibility.

Replacing the div-based comparison with a standard Markdown table is a solid improvement. The table is properly formatted and more accessible to screen readers and parsers.


24-24: Consistent emphasis formatting.

The navigation emphasis on line 24 (**_Main → Array Devices_**) and the parity terminology on line 123 (_parity bit_) both use valid Markdown emphasis. However, verify that this formatting choice is consistent with the rest of the documentation. The shift from single asterisks (*parity bit*) to underscores (_parity bit_) should be intentional and applied uniformly across the codebase.

Also applies to: 123-123


49-51: Clear and helpful supporting descriptions.

The added paragraphs effectively reinforce the table's comparison by summarizing the practical benefits of each approach. This reduces cognitive load when deciding between Clear vs. Pre-Clear.


1-169: Verify token placeholder resolution in build system.

The file consistently uses the %%term|link%% pattern for internal documentation cross-references throughout (e.g., %%parity disks|parity-drives%%, %%XFS|xfs%%). Confirm that this token syntax is correctly resolved by the documentation build system (Docusaurus or equivalent).

docs/unraid-os/using-unraid-to/manage-storage/array/replacing-disks-in-array.mdx (3)

48-48: Excessive and pervasive use of MD029 linting suppressions suggests underlying markdown structure issue.

Nearly every step in the procedural sections has <!-- markdownlint-disable-next-line MD029 --> markers (22+ instances total). This pattern indicates either:

  1. The markdown list structure is non-standard and triggering the rule repeatedly
  2. The linting rule (MD029 — ordered list item prefix) is misconfigured
  3. Suppressions are being used as a workaround rather than fixing the root cause

This should be validated against the Docusaurus/markdownlint configuration. If the suppressions are genuinely necessary due to how ordered lists are structured in your docs, consider either:

  • Documenting why these are necessary in a contributing guide
  • Reconfiguring the linting rule to match your documentation style
  • Restructuring the lists to conform naturally to the linting rule

For now, verify that these suppressions don't mask actual structural issues by checking that the rendered documentation displays properly with correct numbering.

Also applies to: 50-50, 52-52, 135-135, 137-137, 139-139, 140-140, 141-141, 142-142, 143-143, 144-144, 145-145, 146-146, 147-147, 259-259, 262-262, 264-264, 266-266, 268-268, 270-270, 272-272, 274-274, 276-276, 278-278


179-179: Relative link paths correctly use deeper nesting depth.

The updated links use ../../../ to traverse three directory levels relative to the file location, aligning with the file's location in docs/unraid-os/using-unraid-to/manage-storage/array/. This matches the PR requirement for relative file links. ✓

Also applies to: 189-189, 190-190


225-226: Address writing style issues flagged by static analysis.

Three style concerns identified:

  1. Line 225 (comma omission): "If the drive is healthy but you want to replace it" — add a comma before "but" since it connects two independent clauses.
  2. Line 225 (repetitive phrasing): The phrase "but you want to replace it" has already appeared in nearby sentences; consider rewording for variety.
  3. Lines 225–226 (repetitive sentence openings): Three successive sentences begin with "If" — reword to improve readability.

Apply the following revision to improve clarity and style:

- Before starting, ensure the data drive you want to replace is disabled. If the drive has failed (shows a red indicator), it is already disabled. If the drive is healthy but you want to replace it, unassign the drive and start the array once without it to force Unraid to mark it as disabled.
+ Before starting, ensure the data drive you want to replace is disabled. A failed drive (indicated by a red indicator) is already disabled. For a healthy drive you wish to replace, unassign it and start the array once without it to force Unraid to mark it as disabled.

This revision eliminates the comma issue, reduces repetition, and removes the "If" chain while preserving the procedural intent.

docs/unraid-os/system-administration/advanced-tools/command-line-interface.mdx (4)

16-105: Link formatting and token placeholders look good.

All relative internal links use proper relative path syntax (e.g., ../../using-unraid-to/run-docker-containers/community-applications.mdx), and token placeholders follow consistent %%DisplayName|anchor%% formatting. This satisfies the PR checklist requirement for internal link consistency.


199-199: Relative links remain consistent throughout.

Internal documentation links at lines 199 and 214 follow the same relative path pattern, confirming consistent application of the PR checklist requirement for relative internal links across the document.

Also applies to: 214-214


487-490: Security guidance is appropriately emphasized.

The credential handling guidance—discouraging inline password arguments and recommending credentials files with strict permissions (chmod 600)—is sound and well-positioned. The emphasis on security is appreciated and aligns with best practices.

Also applies to: 549-550


143-151: Static analysis hints appear to be false positives.

The two LanguageTool hints flagged do not reflect actual issues:

  • Line ~146 ("Did you mean 'these'?"): The sentence "This displays RAM usage in a human-readable format" is grammatically correct.
  • Line ~286 ("Loose punctuation"): The dashes (- -t: TCP...) are valid markdown list markers, not punctuation errors.

These can be safely dismissed.

Also applies to: 280-298

docs/unraid-os/troubleshooting/faq.mdx (7)

1-8: Metadata header and linting setup are well-structured.

The YAML frontmatter correctly configures sidebar positioning and TOC depth. The MD041 linting directive appropriately suppresses the required-header rule, which conflicts with frontmatter-first file structure in Docusaurus.


26-26: Anchor tag structure improvement enhances HTML validity.

Converting self-closing anchor tags to explicit empty elements (<a id="..."></a>) is a semantic correctness fix that improves HTML5 compliance and ensures proper deep-linking functionality. All IDs remain unchanged and functional.

Also applies to: 34-34, 44-44, 52-52, 70-70, 78-78, 86-86, 98-98, 133-133, 147-147, 169-169, 177-177, 189-189, 222-222, 282-282, 294-294, 321-321, 329-329, 341-341, 355-355, 371-371


38-38: Token placeholder system is applied consistently throughout.

The %%Token|key%% markers for glossary terms (e.g., %%parity|parity%%, %%RAID|raid%%, %%VM|vm%%) are used uniformly and will enable centralized terminology management and dynamic replacement. Usage in table cells (lines 197–208) follows the same convention and should render correctly with the token-replacement system.

Also applies to: 48-48, 56-56, 74-74, 103-103, 137-137, 151-151, 196-196, 212-212, 215-215, 286-286


137-137: Content styling and link references improve navigation clarity.

Bold-italic formatting of UI navigation paths (**_Settings → System Settings → Identification_**) enhances visual distinction and helps users locate settings more easily. The relative link at line 272 complies with PR objectives. Clarification about the dash removal on line 347 is helpful for UEFI setup procedures.

Also applies to: 255-255, 272-272, 341-341, 347-347


128-129: Linting directive appropriately suppresses false positive.

The MD029 directive correctly allows the numbered list to resume at step 8 following the danger callout and code block. This suppression is necessary and properly scoped to a single line.


286-286: Static analysis comma warning is a false positive.

The sentence structure is grammatically sound and clear without an additional comma. LanguageTool's suggestion to add a comma after "bridge" is optional stylistic preference, not a requirement. No revision needed.


1-381: File structure and documentation standards are well-aligned with PR objectives.

The FAQ documentation correctly implements:

  • Relative internal links throughout (PR objective #1) ✓
  • Lowercase dash-separated filename format ✓
  • Standardized metadata header and formatting ✓
  • Consistent token placeholder system for terminology management ✓
  • HTML5-compliant anchor structure ✓

The document is ready for merge pending build verification.

docs/unraid-os/system-administration/maintain-and-update/upgrading-unraid.mdx (3)

1-15: Documentation structure complies with PR checklist.

File naming follows the lowercase dash-separated convention, frontmatter is properly formatted, and relative links are in use. The imports of partial components (lines 8-13) suggest good modularity. Ensure the partial files are also compliant with the naming and documentation standards.


21-21: All internal links verified as valid.

The file changing-the-flash-device.mdx exists at the expected path, and the anchor #backing-up-your-flash-device is present in that file. Both links at lines 21 and 144 correctly target existing content.


48-57: Token substitution is properly configured and all tokens are defined.

The Docusaurus build system uses the @renatonagliati/remark-auto-glossary Remark plugin, registered in docusaurus.config.ts, which processes the %% %% token syntax during MDX compilation. All token IDs used in the file—zfs, web-gui, vm, ovmf, and vnc-session—are defined in glossary.yaml with their corresponding display names and documentation links. The token substitution patterns follow a consistent %%DisplayName|id%% format throughout the file, and the build infrastructure is correctly in place to handle these tokens.

docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx (2)

390-391: RAIDZ expansion in Unraid 7.1.x is not supported; the feature was introduced in Unraid 7.2.

RAIDZ expansion was introduced in Unraid 7.2, not available in 7.1.x. The WebGUI feature allows expanding single-vdev RAIDZ1/2/3 pools one drive at a time. The 7.1.0 release notes contain no mention of RAIDZ expansion support, indicating this is a new 7.2 capability rather than an enhancement of existing 7.1.x functionality.

Update line 391 to:

- **Expanding RAIDZ vdevs via the %%WebGUI|web-gui%%:** RAIDZ expansion is available via the %%WebGUI|web-gui%% in Unraid 7.2 and later. Earlier versions do not support RAIDZ expansion.

Likely an incorrect or invalid review comment.


6-6: The markdownlint suppressions are appropriate and should not be removed.

The suppression at line 6 (MD041) is standard for MDX files with frontmatter, which must precede the h1 heading. The MD029 suppressions (lines 80, 82, 95, 102, 104, 111, 128, 130, 160, 167, 169, 298, 300) are necessary because inline comments placed between numbered list items break ordered list detection. These are intentional structural choices in the documentation, not formatting issues that could be avoided.

Additionally, the RAIDZ expansion statement is factually accurate: RAIDZ expansion is available via WebGUI in Unraid 7.2 and later, with earlier versions (7.1.x) supporting CLI-only expansion.

No repository-wide markdownlint misconfiguration was found. The suppressions are legitimate and appropriate for this documentation structure.

Likely an incorrect or invalid review comment.

docs/unraid-os/using-unraid-to/manage-storage/array/removing-disks-from-array.mdx (1)

70-71: Formatting improvement: blank line before instruction.

Inserting a blank line before the instruction "Replace X with the specific number..." improves readability and visual separation from the code block above. This is a minor but helpful clarity improvement.

docs/unraid-os/using-unraid-to/manage-storage/array/array-health-and-maintenance.mdx (2)

20-20: Emphasis styling consistent with broader PR trend.

Lines 20, 35, and 47 change UI path styling from triple-asterisk bold (***text***) to bold-italic (**_text_**). This normalization aligns with similar changes across the PR and improves visual consistency for UI navigation paths (e.g., "Settings → Scheduler", "Main → Array Operation").

Also applies to: 35-35, 47-47


152-152: LanguageTool grammar hint appears to be a false positive.

Static analysis flagged: "Consider removing 'will'" from "If your array won't start, follow these steps...". However, this grammar is correct; "won't" (negation in conditional) is idiomatic and grammatically sound in English.

docs/API/partials/get-started-v72.mdx (2)

1-1: MD041 exception appropriate for partial file.

Line 1 disables the "missing top-level heading" rule (MD041). This is appropriate for imported partials that lack standalone headings, as they're composed into parent documents.


5-6: No action needed—GraphQL token is properly defined.

The %%GraphQL|graphql%% token is already defined in glossary.yaml with the key graphql. The Docusaurus build pipeline uses the remarkAutoGlossary plugin (configured in docusaurus.config.ts) to process these tokens. The token slug matches the glossary entry, and users will see the intended rendered output, not literal text.

Likely an incorrect or invalid review comment.

docs/unraid-os/using-unraid-to/manage-storage/array/overview.mdx (3)

71-72: MD036 exception appropriate for styled heading.

Line 71 disables the "don't use emphasis for headings" rule (MD036) because line 72 ("Write modes at a glance") is styled as bold text but functions as a table heading. This is an appropriate use of the exception.


177-177: Emphasis improvement for performance note.

Line 177 emphasizes the NVMe speeds note with italic/bold styling: _Actual NVMe speeds depend on..._ . This improves visual hierarchy and draws attention to important performance caveats.


134-135: Documentation is accurate; no changes needed.

The commit c5b4c0c created this file as new content. Verification confirms both details are correct:

  1. "Auto" (future feature): Accurately reflects current product state. Web sources confirm Unraid's built-in auto mode exists but doesn't function as a true intelligent toggle; community plugins provide enhanced automation.

  2. "Apply" step: Accurate. This follows the standard Unraid Settings UI pattern for confirming changes to tunable parameters.

docs/API/partials/get-started-pre72.mdx (2)

6-6: GraphQL token usage consistent with other API partials.

Line 6 uses %%GraphQL|graphql%% token, consistent with get-started-v72.mdx. Ensure this token is defined in your system.


3-3: All link targets verified—no issues found.

Both files referenced in the relative links exist and resolve correctly:

  • ../../unraid-connect/overview-and-setup.mdx
  • ../../unraid-os/using-unraid-to/run-docker-containers/community-applications.mdx
docs/unraid-os/using-unraid-to/create-virtual-machines/vm-setup.mdx (3)

101-105: Bullet list formatting improvements enhance visual hierarchy.

Multiple sections update bullet list formatting with emphasis and improved indentation:

  • Lines 101-105: Workflow enhancements (clones, templates, XML editing, etc.)
  • Lines 112-117: Advanced hardware & storage options
  • Lines 124-126: Enhanced graphics and GPU sharing
  • Lines 132-138: More advanced features

These cosmetic improvements make feature lists more scannable and visually organized without changing content.

Also applies to: 112-117, 124-126, 132-138


365-365: Verify navigation path is accurate.

Line 365 instructs users to navigate to **_Tools → System Devices_** in the WebGUI. Confirm this path matches the current UI (consider testing in Unraid interface or recent documentation screenshots).


295-346: Restructuring is intentional and verified as part of documentation accessibility improvements.

The formatting changes in lines 295-346 are confirmed as intentional. Commit 41581ba ("docs: Flatten tabbed content and improve documentation accessibility") explicitly addresses flattening VM configuration from tabs to inline sections as part of a comprehensive documentation improvement effort. The bold section titles and indented lists accurately represent the accessibility-focused reorganization of the Advanced View options. The file has been actively maintained through recent content updates, and the features listed remain current in Unraid's VM setup UI.

docs/unraid-os/troubleshooting/licensing-faq.mdx (2)

98-101: All tokenized references are properly defined and configured.

The file uses tokens (e.g., %%WebGUI|web-gui%%, %%array|array%%) that are fully defined in glossary.yaml and processed by the @renatonagliati/remark-auto-glossary plugin configured in docusaurus.config.ts. The MD033 exception for <sup> tags is appropriate for footnote markup. No issues found.


27-27: All relative links resolve correctly—no issues found.

Verification confirms that the file at docs/unraid-os/troubleshooting/licensing-faq.mdx contains valid relative links that resolve to their target files:

  • faq.mdx → existing file in same directory ✓
  • ../getting-started/set-up-unraid/create-your-bootable-media.mdx → existing file ✓
  • ../../unraid-connect/overview-and-setup.mdx → existing file ✓

No broken links detected. The code is correct as-is.

docs/API/api-key-app-developer-authorization-flow.mdx (1)

1-82: LGTM! Documentation improvements enhance clarity.

The reformatting of code blocks, reorganization of sections, and expanded JavaScript example all improve the documentation quality. The changes make the authorization flow clearer and provide better guidance for developers implementing API key authorization.

docs/unraid-os/troubleshooting/common-issues/unclean-shutdowns.mdx (2)

150-154: Good addition clarifying appliance VM limitations.

The note explaining why appliance VMs can't use hibernation (inability to install QEMU Guest Agent) helps users understand why they need to rely on timeout configuration instead. This addresses a common confusion point.


205-209: Timeout formula presentation is clear.

The formatted text block with the shutdown timeout calculation formula makes it easy for users to understand the timing requirements. The explicit markdownlint-disable comment appropriately suppresses the MD046 warning for this intentional formatting choice.

docs/unraid-os/release-notes/7.2.0.md (1)

1-302: LGTM! Consistent formatting improvements to release notes.

The formatting updates standardize path references and improve readability throughout the release notes without altering the documented functionality or features. The changes align with the broader documentation consistency effort in this PR.

docs/API/partials/manage-api-keys-gui.mdx (1)

1-8: LGTM! Consistent tokenization and formatting.

The updates align with the broader PR effort to standardize UI references using tokens (%%WebGUI|web-gui%%) and improve formatting consistency across API documentation.

docs/API/cli.mdx (2)

17-31: Excellent addition of log-level option documentation.

The new --log-level option and LOG_LEVEL environment variable documentation provides clear guidance for debugging. Including both the CLI flag and environment variable approach gives users flexibility.


93-193: LGTM! Tokenization improves consistency.

The tokenized UI references (%%WebGUI|web-gui%%, %%GraphQL|graphql%%, %%SSO|sso%%) align with the documentation-wide standardization effort and will enable better maintenance and translation support.

docs/API/oidc-provider-setup.mdx (3)

242-249: Important security guidance on issuer URL format.

The security note correctly emphasizes using base URL format (e.g., https://accounts.google.com) instead of full discovery URLs. This maintains proper issuer validation per OpenID Connect specification. The explanation helps users understand the security implications.


342-352: Excellent Google OAuth domain requirement warning.

The warning about Google's domain requirements is crucial, as local IP addresses and .local domains are common in Unraid deployments. Providing three clear alternatives (reverse proxy, Tailscale, DDNS) with links to additional documentation helps users successfully configure Google SSO.


1-424: LGTM! Comprehensive tokenization and improved organization.

The extensive tokenization throughout this file (%%SSO|sso%%, %%WebGUI|web-gui%%, %%GraphQL|graphql%%, %%Tailscale|tailscale%%, %%SSL|ssl%%, %%TLS|tls%%) standardizes terminology and enables better maintenance. The reorganized authorization modes section and provider-specific guidance improve user comprehension.

docs/API/index.mdx (2)

20-40: Excellent restructuring of availability information.

The clear separation between "Native integration (Unraid 7.2+)" and "Plugin installation (Pre-7.2 and Advanced Users)" helps users quickly identify which installation path applies to them. The note clarifying that Unraid Connect sign-in is not required for local API usage addresses a common confusion point.


1-55: LGTM! Landing page improvements enhance user experience.

The updated landing page with tokenized references, restructured availability sections, and clearer versioning in tab labels provides better guidance for both new and existing Unraid users. The emphasis on built-in availability in 7.2+ is appropriate.

docs/API/programmatic-api-key-management.mdx (1)

1-9: Solid documentation restructuring with improved clarity.

The flattened hierarchy, explicit JSON examples, and consistent formatting significantly improve readability. The markdownlint directives are appropriate for the structure, and the file naming follows the lowercase dash-separated convention. No issues identified.

docs/API/how-to-use-the-api.mdx (2)

16-16: Tokenization pattern applied consistently.

The token replacement scheme (e.g., %%GraphQL|graphql%%, %%WebGUI|web-gui%%) is consistently applied throughout and aligns with the broader documentation refactor. This supports the site's terminology standardization goals.

Also applies to: 22-22, 25-25, 26-26, 51-51, 52-52, 68-68, 81-81, 83-83, 153-153


81-81: Internal link path verified and correct.

The relative path ../unraid-os/using-unraid-to/manage-storage/array/overview.mdx resolves successfully to the target file. No action required.

- Updated redirect paths in docusaurus.config.ts to point to the new overview page for array management.
- Improved API documentation formatting and consistency across multiple files.
- Adjusted image paths in ZFS storage documentation to reference the correct assets folder.
- Added markdown linting comments for better formatting in various Docker container management guides.
- Removed outdated images related to ZFS storage to clean up the repository.
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx (1)

183-198: Use en dash instead of hyphen for numerical ranges.

The static analysis tool flags lines 186, 187, and 188 in the allocation profile table. Ranges like "3-6 drives", "6-12 drives", and "10-16 drives" should use an en dash (–) instead of a hyphen (-) for proper typography.

Apply this diff to replace hyphens with en dashes in numerical ranges:

-| Stripe  | None                          | Fast, but risky                                           | Add more disks   | 100%             | Temporary/scratch storage                | Any number                          |
-| Mirror  | 1:1 (%%RAID 1\|raid1%% style) | Excellent for random I/O                                  | Add more mirrors | 50%              | High performance, easy expansion         | 2 drives (can add more mirrors)        |
-| RAIDZ1  | 1 disk per vdev               | Fast for big files. Not ideal for small or random writes. | Add new vdevs    | High             | General use, 1-disk fault tolerance      | 3-6 drives (max 8)                    |
-| RAIDZ2  | 2 disks per vdev              | Like Z1 but slightly slower writes (extra parity)         | Add new vdevs    | Moderate         | Important data, 2-disk fault tolerance   | 6-12 drives (max 14)                  |
-| RAIDZ3  | 3 disks per vdev              | Like Z2, with more write overhead (for maximum safety)    | Add new vdevs    | Lower            | Mission-critical, 3-disk fault tolerance | 10-16 drives (max 20)                 |
+| Stripe  | None                          | Fast, but risky                                           | Add more disks   | 100%             | Temporary/scratch storage                | Any number                          |
+| Mirror  | 1:1 (%%RAID 1\|raid1%% style) | Excellent for random I/O                                  | Add more mirrors | 50%              | High performance, easy expansion         | 2 drives (can add more mirrors)        |
+| RAIDZ1  | 1 disk per vdev               | Fast for big files. Not ideal for small or random writes. | Add new vdevs    | High             | General use, 1-disk fault tolerance      | 3–6 drives (max 8)                    |
+| RAIDZ2  | 2 disks per vdev              | Like Z1 but slightly slower writes (extra parity)         | Add new vdevs    | Moderate         | Important data, 2-disk fault tolerance   | 6–12 drives (max 14)                  |
+| RAIDZ3  | 3 disks per vdev              | Like Z2, with more write overhead (for maximum safety)    | Add new vdevs    | Lower            | Mission-critical, 3-disk fault tolerance | 10–16 drives (max 20)                 |

Also update the optimization examples at lines 196–198 to use en dashes:

-  - **RAIDZ1**: 3, 5, or 9 drives (data disks = 2, 4, or 8)
-  - **RAIDZ2**: 4, 6, or 10 drives (data disks = 2, 4, or 8)  
-  - **RAIDZ3**: 5, 9, or 17 drives (data disks = 2, 6, or 14)
+  - **RAIDZ1**: 3, 5, or 9 drives (data disks = 2, 4, or 8)
+  - **RAIDZ2**: 4, 6, or 10 drives (data disks = 2, 4, or 8)  
+  - **RAIDZ3**: 5, 9, or 17 drives (data disks = 2, 6, or 14)
🧹 Nitpick comments (1)
i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/environment-variables.mdx (1)

1-2: Ensure markdownlint disable directive is necessary.

The MD041 rule (first line should be a heading) is being disabled. Consider whether the document structure could be adjusted to place a heading first instead of relying on lint suppressions.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d582a4b and 5e539e5.

⛔ Files ignored due to path filters (16)
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs1.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs10.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs11.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs12.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs13.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs14.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs15.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs16.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs2.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs3.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs4.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs5.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs6.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs7.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs8.png is excluded by !**/*.png
  • docs/unraid-os/advanced-configurations/optimize-storage/assets/zfs9.png is excluded by !**/*.png
📒 Files selected for processing (13)
  • docs/API/how-to-use-the-api.mdx (7 hunks)
  • docs/API/upcoming-features.mdx (1 hunks)
  • docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx (15 hunks)
  • docusaurus.config.ts (0 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-logs.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-restart.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-start.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-status.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-stop.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/environment-variables.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/network-type.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/port-mappings.mdx (1 hunks)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/volume-mappings.mdx (1 hunks)
💤 Files with no reviewable changes (1)
  • docusaurus.config.ts
✅ Files skipped from review due to trivial changes (3)
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/port-mappings.mdx
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/network-type.mdx
  • i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/volume-mappings.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/API/upcoming-features.mdx
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-17T16:28:59.403Z
Learnt from: elibosley
Repo: unraid/docs PR: 325
File: docs/unraid-os/system-administration/maintain-and-update/changing-the-flash-device.mdx:123-131
Timestamp: 2025-09-17T16:28:59.403Z
Learning: Unraid's flash backup feature (accessed via Main tab → Flash device → FLASH BACKUP) creates complete installation ZIP files that include both the Unraid OS and user configuration. These backup ZIPs are compatible with the USB Flash Creator's "Use custom" option for restoring to new flash devices.

Applied to files:

  • docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx
🪛 LanguageTool
docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx

[style] ~96-~96: To elevate your writing, try using an alternative expression here.
Context: ...5. Assign disks to the pool (disk order does not matter). <div style={{ margin: 'auto', maxWid...

(MATTERS_RELEVANT)


[typographical] ~186-~186: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...eral use, 1-disk fault tolerance | 3-6 drives (max 8) | | R...

(HYPHEN_TO_EN)


[typographical] ~187-~187: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...ortant data, 2-disk fault tolerance | 6-12 drives (max 14) | | RA...

(HYPHEN_TO_EN)


[typographical] ~188-~188: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...sion-critical, 3-disk fault tolerance | 10-16 drives (max 20) | :::t...

(HYPHEN_TO_EN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: deploy-preview
🔇 Additional comments (31)
i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-start.mdx (1)

1-9: Documentation standardization looks good.

The addition of the markdownlint directive, Bash-labeled code fence, and instructional text follow consistent best practices across all related files. The Chinese instruction text is clear and guides users correctly.

i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-status.mdx (1)

1-9: Consistent with other files in this batch.

The documentation update maintains the standardization pattern across related command documentation. The instructional text properly explains the command's output.

i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-stop.mdx (1)

1-9: Standardization applied correctly.

The changes follow the established pattern and maintain consistency with peer documentation files. No issues detected.

i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-restart.mdx (1)

1-9: Consistent standardization maintained.

All changes align with the established pattern across this batch of documentation updates. The formatting and instruction text are correct.

i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/command-logs.mdx (1)

1-9: Documentation batch standardization complete.

This final file in the batch maintains the same high-quality standardization applied across all related Docker command documentation. The changes improve consistency, enable proper syntax highlighting, and provide clear instructions to users.

i18n/zh/docusaurus-plugin-content-docs/current/unraid-os/using-unraid-to/run-docker-containers/partials/managing-and-customizing-containers/environment-variables.mdx (3)

5-16: Good: Markdown heading conversions.

The conversion from HTML heading tags to Markdown-style headings (###) improves readability and aligns with Markdown best practices.


18-31: Verify Docusaurus admonition block syntax.

The restructured info and tip blocks use Docusaurus admonition syntax (:::info[], :::tip). Verify that:

  1. The syntax :::info[环境变量示例] correctly sets the title in the documentation build system.
  2. The spacing and formatting within these blocks renders correctly in the final output.

12-16: File under review is consistent—no corrections needed.

The file uses %%WebGUI|web-gui%% (lines 12, 14), which matches the predominant pattern across related documentation. This syntax is correct and consistent with the majority of files in the docker-containers directory. However, note that two files (community-apps-reinstalling.mdx and community-applications.mdx) use the variant %%WebGUI|WebGUI%% with an uppercase reference, creating minor inconsistency in the codebase.

docs/unraid-os/advanced-configurations/optimize-storage/zfs-storage.mdx (4)

6-6: Markdownlint disable for frontmatter compatibility.

Adding <!-- markdownlint-disable MD041 --> at the top is appropriate—it prevents false positives from markdown linting rules that don't apply when the file begins with frontmatter (YAML).


80-80: Pragmatic use of markdownlint directives to handle list formatting conflicts.

Multiple <!-- markdownlint-disable-next-line MDxxx --> comments have been added around numbered steps and images to prevent linting warnings caused by the document structure (e.g., images breaking list continuity, indentation variations). This is a reasonable trade-off to maintain readability while managing linter strictness.

Also applies to: 82-82, 95-95, 102-102, 104-104, 111-111, 128-128, 130-130, 160-160, 167-167, 169-169, 298-298, 300-300


391-391: Version-specific guidance clarifies RAIDZ expansion availability.

Line 391 now explicitly states: "RAIDZ expansion is available via the %%WebGUI|web-gui%% in Unraid 7.2 and later. Earlier versions (7.1.x) supported expansion via CLI only." This update provides valuable clarification for users running older Unraid versions and reduces confusion about feature availability.


44-44: All asset files verified and present.

Image references have been correctly updated from /img/zfsX.png (absolute) to ./assets/zfsX.png (relative). All 16 referenced asset files (zfs1.png through zfs16.png) exist at docs/unraid-os/advanced-configurations/optimize-storage/assets/ as expected, confirming the changes align with PR guidelines.

docs/API/how-to-use-the-api.mdx (19)

7-7: ✓ Markdown linting directives properly configured.

The symmetric disable/enable pair for MD025 and MD033 is appropriate and properly scoped.

Also applies to: 169-169


16-16: ✓ Clear and inviting introduction.

The tokenized GraphQL reference and description effectively sets context for the guide.


18-44: ✓ Well-structured sandbox enablement guidance.

Clear distinction between WebGUI (recommended) and CLI methods with appropriate code examples and placeholders.


46-52: ✓ Authentication section properly revised.

Grammar fix verified ("signed in to" replaces "signed into"). Clear delineation of three authentication methods with appropriate tokenization.


54-74: ✓ API key management and usage clearly presented.

Tab-based structure appropriately isolates WebGUI and CLI methods. JSON header example is properly formatted.


85-143: ✓ Example queries are well-chosen and syntactically sound.

Three practical examples covering system status, array status, and Docker containers. GraphQL syntax is correct and field names follow camelCase convention.


145-149: ✓ Schema types section provides comprehensive guidance.

Type definitions and usage guidance are combined effectively. Includes practical Apollo Sandbox advice and security best practices alongside core type information.


1-169: ✓ Comprehensive documentation update well-executed.

The file demonstrates consistent tokenization, clear structure, practical examples, and appropriate use of MDX components. Grammar fix from previous review is confirmed ("signed in to" correctly replaces "signed into"). Pending verification of internal link paths for repository compliance.


7-7: ✓ Markdown linting configuration correct.

Symmetric disable/enable pair for MD025 and MD033 properly wraps the file content, which is appropriate for this document structure.

Also applies to: 169-169


16-16: ✓ Engaging introduction with consistent tokenization.

Clear description effectively sets expectations for the guide and uses tokenized GraphQL reference correctly.


18-44: ✓ Sandbox enablement section is well-structured.

Progressive disclosure with WebGUI method (recommended) presented first, followed by CLI alternative. Code examples are clear with appropriate placeholders (YOUR_SERVER_IP).


46-52: ✓ Grammar corrected and authentication methods clearly presented.

"Signed in to" correctly replaces the non-standard "signed into" (addressing prior review feedback). Three authentication options are cleanly delineated with proper tokenization.


54-74: ✓ API key management properly organized.

Tab-based UI/CLI separation is effective. JSON header example is correctly formatted and demonstrates practical usage.


85-143: ✓ Example queries are practical and syntactically sound.

Three well-chosen examples (system status, array monitoring, Docker containers) cover major API domains. GraphQL query syntax is correct with proper camelCase field names and curly brace structure.


145-149: ✓ Schema types section provides practical guidance.

Consolidation of type definitions and best practices (Apollo Sandbox exploration, query complexity monitoring, security) effectively combines reference information with actionable guidance.


151-168: No changes needed. Link and file verified as correct.

The verification confirms that cli.mdx exists in the same directory (docs/API/) and the relative link format [CLI documentation](cli.mdx) is correct and complies with PR requirements for same-directory references.


76-83: Internal link path verified and correct.

The relative link ../unraid-os/using-unraid-to/manage-storage/array/overview.mdx exists in the repository at the expected location. The reference is valid and meets PR requirements.


151-168: No issues found with internal link format.

The relative link [CLI documentation](cli.mdx) at line 167 is correctly formatted and the file exists in the same directory. This follows standard markdown conventions for same-directory references and is consistent with relative file linking requirements.


76-83: No issues found—internal link path is valid.

The verification confirms that the internal link at line 81 (../unraid-os/using-unraid-to/manage-storage/array/overview.mdx) correctly points to an existing file in the repository structure. The documentation link is properly configured.

- Adjusted image paths in the ZFS storage documentation across multiple languages to reference the correct assets folder.
- Ensured consistency in image references for better accessibility and organization of documentation.
@github-actions
Copy link
Contributor

github-actions bot commented Nov 7, 2025

PR Preview Action v1.6.2

🚀 View preview at
https://unraid.github.io/docs/pr-preview/pr-372/

Built to branch gh-pages at 2025-11-08 17:48 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

grizzlechips and others added 3 commits November 7, 2025 16:06
- Corrected formatting of the eMMC support section in the release notes.
- Ensured consistent use of backslashes in configuration options for clarity.
- Changed the tagline in docusaurus.config.ts for clarity.
- Updated favicon path to use .ico format.
- Ensured consistent use of backslashes in release notes for package versions.
@ljm42 ljm42 merged commit 43b7242 into unraid:main Nov 8, 2025
2 of 3 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Nov 14, 2025
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