Skip to content

Conversation

@Snider
Copy link
Contributor

@Snider Snider commented Nov 9, 2025

Description

The wails3 documentation website is many versions out of date, this PR fixes that by upgrading astro and starlight to their latest versions and fixes issues with the doc files stopping a compile on the older version or new.

  • Bug fix (non-breaking change which fixes an issue)

npm run build in the docs folder now compiles a static website, which is viewable with npm run preview, that has the missing documentation.

The GitHub workflow has been updated to use the latest action versions for actions/checkout@v5 and withastro/action@v5

image image

Summary by CodeRabbit

  • Documentation

    • Refined architecture diagrams and contributing guide labels for clearer, single-line descriptions.
    • Updated several docs pages and metadata notes with wording and formatting clarifications.
    • Reworked site social links into a structured list.
    • Simplified the unreleased changelog entry for the v3 docs.
  • Chores

    • Bumped documentation package dependency versions.
    • Pinned CI workflow actions to specific revisions for more stable runs.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 9, 2025

Walkthrough

Replaced action pins in the GitHub Actions workflow; converted docs social config from an object to an array of social-entry objects; bumped multiple docs package versions (added astro-d2); simplified docs content schema composition; refined contributing-doc diagram labels and one mapping edge; changed an Aside metadata type; updated v3 changelog entries.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow
\.github/workflows/v3-docs.yml
Pinned actions to commits: actions/checkout08c6903... (inline # v5.0.0) and withastro/action2226b56...; added fetch-depth: 0. No other workflow logic changed.
Astro Configuration
docs/astro.config.mjs
Converted exported social from a keyed object to an array of { icon, label, href } entries (Codeberg, Discord, GitHub, x, Mastodon); minor quoting/format tweaks.
Docs — Package Versions
docs/package.json
Bumped many deps (notably astro 4.16.17 → 5.15.4, @astrojs/*, various starlight-*), and added [email protected].
Docs — Contributing Guides
docs/src/content/docs/contributing/architecture.mdx, docs/src/content/docs/contributing/index.mdx
Consolidated multi-line diagram labels into single-line labels with inline clarifications; added mapping edge Developer → PKG ("compile & package"); small wording refinements.
Docs — Guides
docs/src/content/docs/guides/custom-protocol-association.mdx
Changed an Aside block metadata type from "important" to "note" in the Windows-specific excerpt.
Docs Content Config
docs/src/content/config.ts
Simplified collection schema composition: extend: blogSchema used directly instead of wrapping in a context lambda.
Changelog
v3/UNRELEASED_CHANGELOG.md
Added entries noting Astro updated to v5 and a fix for the alpha3 docs site; removed placeholder/template sections.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify docs/astro.config.mjs social shape aligns with site components and rendering expectations.
  • Run docs build/tests with upgraded astro and starlight-* packages to catch API/compatibility issues.
  • Confirm workflow pins function correctly on CI (checkout depth and action commit pins).
  • Check contributing diagrams render correctly after label consolidation.

Suggested reviewers

  • leaanthony

Poem

🐰 I hopped through configs and pinned each action,
Socials lined in rows with tidy satisfaction,
Packages climbed the ladder, new plugins in store,
Diagrams trimmed neat — then I hopped out the door. ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the purpose (upgrading dependencies, fixing compilation issues) and verifies the fix works (npm run build/preview), but fails to reference a linked issue as required by the template. Add 'Fixes #' to reference the related GitHub issue as specified in the template requirements.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: dependency updates and documentation formatting improvements, matching the core modifications across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@github-actions github-actions bot added the Documentation Improvements or additions to documentation label Nov 9, 2025
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: 1

🧹 Nitpick comments (1)
docs/astro.config.mjs (1)

9-9: Minor: Quote style inconsistency.

The import statement changed from single quotes to double quotes. While functional, this is inconsistent with the rest of the file which uses double quotes for imports. The change actually makes it more consistent.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e4e340 and b2c13d8.

⛔ Files ignored due to path filters (1)
  • docs/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • .github/workflows/v3-docs.yml (1 hunks)
  • docs/astro.config.mjs (3 hunks)
  • docs/package.json (1 hunks)
  • docs/src/content/docs/contributing/architecture.mdx (4 hunks)
  • docs/src/content/docs/contributing/index.mdx (1 hunks)
  • docs/src/content/docs/guides/custom-protocol-association.mdx (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📚 Learning: 2024-12-03T07:49:16.593Z
Learnt from: stavros-k
Repo: wailsapp/wails PR: 3917
File: docs/src/assets/contributors.astro:0-0
Timestamp: 2024-12-03T07:49:16.593Z
Learning: The table in 'docs/src/assets/contributors.astro' is autogenerated by another bot, so manual changes to it would be overwritten and are unnecessary.

Applied to files:

  • docs/astro.config.mjs
📚 Learning: 2025-08-08T09:13:16.916Z
Learnt from: APshenkin
Repo: wailsapp/wails PR: 4480
File: v2/internal/frontend/desktop/darwin/message.h:17-19
Timestamp: 2025-08-08T09:13:16.916Z
Learning: In Wails v2 bindings origin verification, processBindingMessage intentionally has different signatures across platforms: Darwin includes an isMainFrame bool (WKWebKit provides it), Linux uses two params (message, source) as WebKitGTK doesn’t expose main-frame info there, and Windows handles origin checks in Go via WebView2 sender/args without a C bridge. This divergence is acceptable/expected per maintainer (APshenkin).

Applied to files:

  • docs/src/content/docs/contributing/architecture.mdx
📚 Learning: 2024-09-21T13:34:24.145Z
Learnt from: nixpare
Repo: wailsapp/wails PR: 3763
File: v3/pkg/application/webview_window_bindings_darwin.h:0-0
Timestamp: 2024-09-21T13:34:24.145Z
Learning: In this codebase, typedefs for window references (like replacing `void *` with `WindowRef`) are not preferred; using `void *` is acceptable.

Applied to files:

  • docs/src/content/docs/contributing/architecture.mdx
📚 Learning: 2024-09-20T23:34:29.841Z
Learnt from: nixpare
Repo: wailsapp/wails PR: 3763
File: v3/examples/keybindings/main.go:16-17
Timestamp: 2024-09-20T23:34:29.841Z
Learning: In the codebase, `application.Options.KeyBindings` uses the `application.Window` type, whereas `application.WebviewWindowOptions.KeyBindings` uses `*application.WebviewWindow`. This is intentional and acceptable.

Applied to files:

  • docs/src/content/docs/contributing/architecture.mdx
📚 Learning: 2025-10-17T23:16:11.570Z
Learnt from: Sammy-T
Repo: wailsapp/wails PR: 4570
File: v2/internal/frontend/desktop/linux/window_webkit6.go:97-108
Timestamp: 2025-10-17T23:16:11.570Z
Learning: For webkit_6/GTK4 builds in v2/internal/frontend/desktop/linux/window_webkit6.go, GTK widget creation should not be wrapped in invokeOnMainThread. The activation mechanism (activateWg + onActivate export) already handles thread safety, and additional wrapping would cause issues.

Applied to files:

  • docs/src/content/docs/contributing/architecture.mdx
📚 Learning: 2025-08-08T13:15:20.339Z
Learnt from: APshenkin
Repo: wailsapp/wails PR: 4484
File: v2/internal/frontend/utils/urlValidator.go:25-31
Timestamp: 2025-08-08T13:15:20.339Z
Learning: In Wails v2 (PR wailsapp/wails#4484), for BrowserOpenURL URL validation (v2/internal/frontend/utils/urlValidator.go), maintainers (APshenkin) prefer not to restrict schemes to an http/https allowlist because supported schemes may vary. The allowlist suggestion is declined; continue with the existing denylist approach and generic validation.

Applied to files:

  • docs/src/content/docs/guides/custom-protocol-association.mdx
⏰ 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: semgrep-cloud-platform/scan
🔇 Additional comments (8)
docs/src/content/docs/guides/custom-protocol-association.mdx (1)

130-132: Verify the Aside type change is intentional.

The Aside type was changed from "important" to "note", which reduces the visual emphasis. This note explains that Windows protocol schemes require installer registration, which seems like important information for developers to be aware of.

Is this downgrade in severity intentional?

docs/package.json (1)

19-19: Nice addition of D2 diagram support!

The addition of astro-d2 enables D2 diagram rendering in the documentation, which is being used in the architecture documentation files updated in this PR.

docs/src/content/docs/contributing/architecture.mdx (3)

31-44: Excellent diagram label improvements!

The updated labels consolidate multi-line text into concise single-line descriptions with inline clarifications (e.g., "Binding Generator (static analysis)", "Asset Server (dev)", etc.). This makes the diagrams more readable and self-contained.


95-108: Clear distinction between dev and prod modes.

The updated labels now clearly indicate the differences between development and production asset serving with inline details like "(port 5173)", "(proxy + disk)", and "(read-only)". This helps readers quickly understand the operational differences.


124-131: Great addition of build tag annotations!

Including the build tags (e.g., //go:build darwin) directly in the diagram labels helps developers immediately understand the platform-specific nature of these files without needing to check the source code.

docs/src/content/docs/contributing/index.mdx (1)

56-75: Consistent diagram improvements across documentation.

These label updates match the style improvements made in architecture.mdx, consolidating multi-line labels into concise single-line descriptions with inline clarifications. The new Developer -> PKG: "compile & package" edge also adds clarity to the workflow.

.github/workflows/v3-docs.yml (1)

23-25: GitHub Actions versions are available and documented; verify upstream dependency compatibility.

Both actions/checkout@v5 and withastro/action@v5 are released and available. The withastro/action v5.0.0 release notes indicate the primary changes involve pinning dependencies for security and updating upload-pages-artifact to v4.0.0, which has documented breaking changes. Verify that the site generation and upload workflow remain compatible with these dependency updates, particularly upload-pages-artifact v4.

docs/astro.config.mjs (1)

41-47: I need to search more specifically for Astro Starlight (the documentation theme) since the initial query was ambiguous. Let me search for the Astro Starlight documentation and changelog.

Let me search for more information about the Starlight social configuration changes and breaking changes in v0.36.

No issues found - configuration matches current Starlight API.

The social configuration underwent a breaking change syntax update in Starlight that required updating astro.config.mjs when upgrading. The new format requires you to specify the icon and label for each social link explicitly using an array of objects with icon, label, and href properties. The configuration in your code correctly implements this updated format and is compatible with Starlight v0.36.x.

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: 1

🧹 Nitpick comments (1)
v3/UNRELEASED_CHANGELOG.md (1)

4-4: Consider expanding changelog entries for clarity.

The entries are accurate but generic. Per the PR description, this change includes Starlight upgrades, package version bumps (e.g., astro-d2), social config restructuring, and schema changes—not just Astro v5. Consider elaborating these entries to better reflect the full scope of changes for users and maintainers reviewing this release.

Also applies to: 7-7

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0784f8f and 7c34fb6.

📒 Files selected for processing (2)
  • .github/workflows/v3-docs.yml (1 hunks)
  • v3/UNRELEASED_CHANGELOG.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-12-03T07:49:16.593Z
Learnt from: stavros-k
Repo: wailsapp/wails PR: 3917
File: docs/src/assets/contributors.astro:0-0
Timestamp: 2024-12-03T07:49:16.593Z
Learning: The table in 'docs/src/assets/contributors.astro' is autogenerated by another bot, so manual changes to it would be overwritten and are unnecessary.

Applied to files:

  • v3/UNRELEASED_CHANGELOG.md
⏰ 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). (3)
  • GitHub Check: Run Go Tests v3 (macos-latest, 1.24)
  • GitHub Check: Run Go Tests v3 (ubuntu-latest, 1.24)
  • GitHub Check: Run Go Tests v3 (windows-latest, 1.24)
🔇 Additional comments (1)
.github/workflows/v3-docs.yml (1)

23-25: Verified: checkout action v5.0.0 commit hash is correct, and fetch-depth: 0 is justified for Astro docs.

The fetch-depth: 0 setting is needed for Astro's lastUpdated configuration to work as expected by fetching the whole git history. The checkout action version pin to commit 08c6903cd8c0fde910a37f88322edcfb5dd907a8 matches v5.0.0, and the version comment provides good maintainability.

No changes needed.

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: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7c34fb6 and 7f091ee.

📒 Files selected for processing (1)
  • v3/UNRELEASED_CHANGELOG.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-12-03T07:49:16.593Z
Learnt from: stavros-k
Repo: wailsapp/wails PR: 3917
File: docs/src/assets/contributors.astro:0-0
Timestamp: 2024-12-03T07:49:16.593Z
Learning: The table in 'docs/src/assets/contributors.astro' is autogenerated by another bot, so manual changes to it would be overwritten and are unnecessary.

Applied to files:

  • v3/UNRELEASED_CHANGELOG.md
⏰ 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). (3)
  • GitHub Check: Run Go Tests v3 (windows-latest, 1.24)
  • GitHub Check: Run Go Tests v3 (macos-latest, 1.24)
  • GitHub Check: Run Go Tests v3 (ubuntu-latest, 1.24)

@sonarqubecloud
Copy link

@leaanthony
Copy link
Member

I've got a ton of doc changes incoming so will need to come back to this 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation v3-alpha

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants