Skip to content

ui-next: progressive migration - #1206

Open
renbaoshuo wants to merge 1 commit into
hydro-dev:masterfrom
renbaoshuo:ui-next/progressive-mirgation
Open

ui-next: progressive migration#1206
renbaoshuo wants to merge 1 commit into
hydro-dev:masterfrom
renbaoshuo:ui-next/progressive-mirgation

Conversation

@renbaoshuo

@renbaoshuo renbaoshuo commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Added support for page and fragment rendering modes, enabling more precise template selection.
    • Added page registration and manifest scanning for reliable page discovery during development and production.
    • Added domain-aware URL generation using configured domain IDs and hosts.
    • Added automatic page resolution for error, template-specific, and route-based pages.
    • Added a sample link to the problem detail page.
  • Bug Fixes

    • Unrecognized pages now fall back to full navigation instead of applying invalid route data.
    • Development page updates are detected and refreshed automatically.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 3627933f-7a02-4553-9394-072762e6e032

📥 Commits

Reviewing files that changed from the base of the PR and between a7a49bf and b2d3236.

📒 Files selected for processing (11)
  • framework/framework/base.ts
  • framework/framework/server.ts
  • packages/hydrooj/src/service/layers/base.ts
  • packages/ui-default/backendlib/template.ts
  • packages/ui-next/index.ts
  • packages/ui-next/package.json
  • packages/ui-next/src/app.tsx
  • packages/ui-next/src/context/router.tsx
  • packages/ui-next/src/hooks/use-build-url.ts
  • packages/ui-next/src/pages/problem_main.tsx
  • packages/ui-next/src/registry/page.tsx

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


Walkthrough

The rendering API now carries page or fragment context and supports renderer predicates. The ui-next build process scans builtin and addon sources for registered pages, refreshes the manifest during development, and limits the next renderer to registered pages. Client page resolution is centralized and unknown fetched pages trigger full-window navigation. Domain identifiers and normalized host arrays are exposed through UI context. A sample problem detail link was added.

Estimated code review effort: 4 (Complex) | ~45 minutes

Merge Risk: ⚪ Minimal · up to b2d32

The reviewed rendering, manifest, routing, and URL changes have no unresolved actionable issue.

Suggested reviewers: undefined-moe

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 10 files. (1 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately identifies the main change: progressive migration work centered on ui-next, including page registration, renderer selection, routing, and build updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 10 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch ui-next/progressive-mirgation
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Some tools did not complete. Review the errors below.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

framework/framework/base.ts

ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.

framework/framework/server.ts

ESLint skipped: the matched ESLint configuration already failed (missing-dependency).

packages/hydrooj/src/service/layers/base.ts

ESLint skipped: the matched ESLint configuration already failed (missing-dependency).

  • 8 others

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.

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.

1 participant