Sync upstream v2.9.0 (merge conflicts)#7
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lockscout#3461) * Average block time: new ENV to update in realtime Resolves blockscout#3407 * [skip ci] fixes
…cout#3460) * feat: migrate name-services files to client/features/name-services/ Move domains and clusters files from legacy paths into client/features/name-services/: - types/api/ens.ts → domains/types/api.ts (merged) - types/api/clusters.ts → clusters/types/api.ts (merged) - stubs/ENS.ts → domains/stubs.ts - stubs/clusters.ts → clusters/stubs.ts - mocks/ens/ → domains/mocks/ - mocks/clusters/ → clusters/mocks/ - ui/shared/entities/ens/ → domains/components/ - ui/shared/entities/clusters/ → clusters/components/ - lib/clusters/ → clusters/hooks/ and clusters/utils/ - ui/nameServices/domains/ → domains/pages/index/ - ui/nameServices/directories/ → clusters/pages/index/ - ui/nameDomain/ → domains/pages/details/ - ui/cluster/ → clusters/pages/details/ - ui/pages/NameServices.tsx → common/pages/ - ui/pages/NameDomain.tsx → domains/pages/details/ - ui/pages/Cluster.tsx → clusters/pages/details/ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> * fixes --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> Co-authored-by: tom <tom@ohhhh.me>
[Migration 6-10] Feature: rewards — move to client/features/rewards/ Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/65be2ab2-d127-4211-aacb-0cdd3692d7b1 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(migration/6-16): move dex-pools feature to client/features/dex-pools Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/f20ff970-15af-4975-a30e-5483aeb19830 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com>
* feat: migrate marketplace files to client/features/marketplace/ - types/client/marketplace.ts → client/features/marketplace/types/client.ts - stubs/marketplace.ts → client/features/marketplace/stubs.ts - mocks/apps/ → client/features/marketplace/mocks/ - mocks/essentialDapps/ → client/features/marketplace/mocks/ - lib/contexts/marketplace.tsx → client/features/marketplace/context.tsx - lib/hooks/useGraphLinks.tsx → client/features/marketplace/hooks/useGraphLinks.tsx - ui/marketplace/** → client/features/marketplace/ (hooks, components, pages) - ui/pages/Marketplace* → client/features/marketplace/pages/ Split ui/marketplace/utils.ts into: - client/features/marketplace/utils/sort.ts (SortValue, SORT_OPTIONS) - client/features/marketplace/utils/dapp.ts (getAppUrl) Updated all import paths across the repo including: - pages/apps/, pages/essential-dapps/ (dynamic imports) - client/api/services/admin.ts - client/slices/search/ files - client/features/account/ user-profile files - playwright/TestApp.tsx, pages/_app.tsx - global.d.ts, types/, configs/ files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> * fix: update app.html path in MarketplaceApp.pw.tsx after migration Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/53f597bb-92a8-42d4-a522-72124b0667b8 Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com>
feat: migrate advanced-filter feature to client/ (task 6-11) Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/9eb8f172-90c1-42b5-814f-28aa802b519f Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com>
[Migration 6-21] Feature: tx-interpretation — move types, stubs, mocks, utils, component Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/db0c8652-ae94-4996-a4b2-ee755a01fce0 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com>
* feat: [Migration 6-8] move validators to chain-variant trees Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/653c3d88-8c65-4029-bbcf-f73927181ffd Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> * update screenshots --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> Co-authored-by: tom <tom@ohhhh.me>
* API page: PRO API Tab Resolves blockscout#3408 * add script to detect pro api instance * add utm and fix icon color * let user redefine the pro api variable * [skip ci] review fixes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ission` (blockscout#3478) feat(migration-6-22): migrate address-metadata, merge public-tags-submission Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/e0d3eadb-c3ea-4c8d-9f77-cde244a30543 Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com>
…cout#3481) * feat: migrate multichain and multichain-button features to client/ (6-3) Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/3a77ef5d-f314-4986-aa6e-dfe4b057ff38 Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> * [skip ci] fixes --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> Co-authored-by: tom <tom@ohhhh.me>
…#3482) * [Migration 6-27] Features: web3-wallet and connect-wallet Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/116ee604-9f2e-4f3c-b949-deb07ac2ddfb Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> * [skip ci] fixes --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> Co-authored-by: tom <tom@ohhhh.me>
…ckscout#3484) * feat(migration-6-13): move cross-chain-txs, gas-tracker, sol2uml to client/features Agent-Logs-Url: https://github.com/blockscout/frontend/sessions/a3b87e12-c516-499b-a208-62c641fd8f29 Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> * [skip ci] fixes --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tom2drum <22130104+tom2drum@users.noreply.github.com> Co-authored-by: tom <tom@ohhhh.me>
…scout#3485) * clean up lib, mocks, stubs and types * refactor easter eggs feature * clean up ui/pages/ * clean up ui/shared/ and ui/snippets/ * update tasks
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request restructures the repository's documentation, rules, and tooling to align with the migration of the codebase from the legacy client/ directory to src/. It introduces a ubiquitous language glossary, updates architectural rules, adds new agent skills for scaffolding pages and deprecating environment variables, and removes obsolete migration scripts and legacy API files. The reviewer provided several constructive suggestions to align the documentation and templates with the current codebase state, including updating the schema validation library reference in AGENTS.md from Yup to Valibot, correcting the outdated client/ path to src/ for dayjs imports in code-quality.mdc, noting missing imports for commented-out example code in the PageWithTabs.tsx.tmpl template, and fixing a relative path reference to the Slack message template in prepare-release/SKILL.md.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| Some directories have a `CONTEXT.md` documenting non-obvious patterns specific to that area. Read the relevant one before working in (or reaching into) that directory: | ||
|
|
||
| - `deploy/scripts/` — how the frontend container is built and starts up (Dockerfile stages, entrypoint). | ||
| - `deploy/tools/envs-validator/` — startup validation of `NEXT_PUBLIC_*` envs against yup schemas. |
There was a problem hiding this comment.
The description mentions yup schemas, but the project has migrated to using Valibot for environment variable validation (as documented in .agents/rules/env-vars.mdc). Consider updating this reference to reflect the correct schema library.
| - `deploy/tools/envs-validator/` — startup validation of `NEXT_PUBLIC_*` envs against yup schemas. | |
| - `deploy/tools/envs-validator/` — startup validation of `NEXT_PUBLIC_*` envs against Valibot schemas. |
| ### Date and time | ||
|
|
||
| - Import `dayjs` only via `lib/date/dayjs.ts` — never directly from the `dayjs` package. | ||
| - Import `dayjs` only via `client/shared/date-and-time/dayjs.ts` — never directly from the `dayjs` package. |
There was a problem hiding this comment.
The path client/shared/date-and-time/dayjs.ts is outdated because the client/ directory has been migrated to src/. Please update the path to src/shared/date-and-time/dayjs.ts to align with the new directory structure.
- Import `dayjs` only via `src/shared/date-and-time/dayjs.ts` — never directly from the `dayjs` package.
| // Detail (entity) pages: read the route param here for the title, e.g. | ||
| // const router = useRouter(); | ||
| // const __entityParam__ = getQueryParamString(router.query.__entityParam__); |
There was a problem hiding this comment.
|
|
||
| Once the pre-release workflow has finished **successfully**, ask the DevOps team to roll up the new pre-release on staging. | ||
|
|
||
| - Build the message from `./slack-message-template.md` (in this skill directory) — it holds the format, the breaking-ENV-change rule, the target channel, and the QA cc. Fill it with the `-alpha` tag, the breaking-ENV list derived per that rule (or `None.`), and the pre-release URL from step 6. The breaking-ENV input comes from the "Changes in ENV variables" section / `release-prs-data.json`. |
There was a problem hiding this comment.
The path ./slack-message-template.md is relative to the repository root when the release process is run. Since the template is located in the skill directory, this path will fail to resolve. Please update it to .agents/skills/prepare-release/slack-message-template.md.
| - Build the message from `./slack-message-template.md` (in this skill directory) — it holds the format, the breaking-ENV-change rule, the target channel, and the QA cc. Fill it with the `-alpha` tag, the breaking-ENV list derived per that rule (or `None.`), and the pre-release URL from step 6. The breaking-ENV input comes from the "Changes in ENV variables" section / `release-prs-data.json`. | |
| - Build the message from `.agents/skills/prepare-release/slack-message-template.md` (in this skill directory) — it holds the format, the breaking-ENV-change rule, the target channel, and the QA cc. Fill it with the `-alpha` tag, the breaking-ENV list derived per that rule (or `None.`), and the pre-release URL from step 6. The breaking-ENV input comes from the "Changes in ENV variables" section / `release-prs-data.json`. |
e47eddb to
79efe19
Compare
79efe19 to
d3e08dc
Compare
Upstream Sync - v2.9.0
Auto-merge with upstream
v2.9.0failed due to conflicts.To resolve:
v2.9.0to trigger Docker buildUpstream release notes