Skip to content

Sync upstream v2.9.0 (merge conflicts)#7

Open
JOY (JOY) wants to merge 86 commits into
mainfrom
sync-upstream-v2.9.0
Open

Sync upstream v2.9.0 (merge conflicts)#7
JOY (JOY) wants to merge 86 commits into
mainfrom
sync-upstream-v2.9.0

Conversation

@JOY

Copy link
Copy Markdown

Upstream Sync - v2.9.0

Auto-merge with upstream v2.9.0 failed due to conflicts.

To resolve:

  1. Check out this branch locally
  2. Resolve conflicts
  3. Push and merge this PR
  4. Then create tag v2.9.0 to trigger Docker build

Upstream release notes

tom goriunov (tom2drum) and others added 30 commits May 19, 2026 20:04
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
tom goriunov (tom2drum) and others added 7 commits June 24, 2026 15:07
)

* migrate to type shorhands

* migrate tx and block types

* clean up address, internal txs, token transfers and logs types

* migrate rollup types

* migrate chain variants, gas and other types

* migrate advanced filters types

* migrate search types

* fix tests

* fix ts
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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.

Comment thread .agents/AGENTS.md
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

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.

Suggested change
- `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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

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.

Comment on lines +17 to +19
// Detail (entity) pages: read the route param here for the title, e.g.
// const router = useRouter();
// const __entityParam__ = getQueryParamString(router.query.__entityParam__);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The commented-out example code references useRouter and getQueryParamString, but these are not imported in this template. If a developer uncommented these lines, it would cause a compilation error. Consider adding the commented-out imports at the top of the template or noting them in the comments.


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`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

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.

Suggested change
- 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`.

@JOY JOY (JOY) force-pushed the sync-upstream-v2.9.0 branch 20 times, most recently from e47eddb to 79efe19 Compare July 4, 2026 20:41
@JOY JOY (JOY) force-pushed the sync-upstream-v2.9.0 branch from 79efe19 to d3e08dc Compare July 5, 2026 05:53
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.

5 participants