fix: pre-1.2.5-a fixes (block details, BTC RPC priority, worker proxy toggles)#346
Merged
AugustoL merged 14 commits intoopenscan-explorer:devfrom Mar 25, 2026
Merged
Conversation
When expanding via the collapse button with no tab selected, auto-select "moreDetails" so the panel shows content. Replace plain labels with FieldLabel components for all 9 fields with tooltips visible for all knowledge levels except nonce (beginner/intermediate only). Closes openscan-explorer#336 Closes openscan-explorer#337
Reverse the merge order in getEffectiveRpcUrls() so builtin worker proxy URLs take priority over metadata RPC endpoints. Also fix the Bitcoin testnet network ID mismatch: align rpcStorage.ts and the worker OnFinality route to use the Testnet4 CAIP-2 ID (bip122:00000000da84f2bafbbc53dee25a72ae) matching networks.json. Closes openscan-explorer#343
… RPC Add a Worker Proxy section in Settings > Network with two independent toggles: AI Analysis Proxy (hides/shows AIAnalysisPanel across all pages) and RPC Proxy (filters worker proxy URLs from effective RPC list). Both default to enabled. Settings persist in localStorage. Closes openscan-explorer#340
|
🚀 Preview: https://pr-346--openscan.netlify.app |
Shard eth-mainnet into 2 parallel jobs (3 tests each). Split EVM networks into 1 job per network (5 parallel jobs) instead of 2 shards.
Collaborator
josealoha666
left a comment
There was a problem hiding this comment.
Looked through the diff and I don't see a blocking issue in the implementation itself.
The BTC testnet CAIP-2 fix and the worker-proxy toggle wiring both make sense. The only thing I'd still sanity-check before merge is the RPC proxy toggle across a disable -> reload -> re-enable flow, just to confirm the effective RPC list comes back exactly as expected after persistence.
Change e2e workflow triggers from pull_request on dev to main, so they run automatically for release PRs (dev→main). Keep workflow_dispatch so they can be triggered manually on any branch/PR against dev.
Add e2e-all.yml that dispatches eth-mainnet, evm-networks, and bitcoin workflows concurrently via workflow_call. Add workflow_call trigger to each child workflow to support reusable composition.
MatiasOS
requested changes
Mar 24, 2026
Member
Member
|
@josealoha666 take a look on my comments |
Return empty array from getRPCUrls instead of throwing when a network has no configured endpoints. Keep networks with zero URLs in the filtered map so they remain visible but gracefully show error states instead of crashing the app.
Add REACT_APP_OPENSCAN_WORKER_URL to Vite define map so it is properly replaced at build time. Switch workerConfig.ts to dot notation for Vite compatibility. Guard isWorkerProxyUrl against empty string matching all URLs.
Add REACT_APP_OPENSCAN_WORKER_URL to Vite define map and switch workerConfig.ts to dot notation for proper build-time replacement. Guard isWorkerProxyUrl against empty string matching all URLs. Fix toggle knob alignment by adding flex-shrink: 0 and min-width to settings-toggle class.
…cing Concatenate metadata and builtin worker URLs per-network with deduplication instead of using object spread which replaced entire arrays. Worker proxy endpoints now supplement metadata RPCs as intended.
Stored user overrides were replacing default URLs entirely, causing worker proxy URLs to disappear after page reload. Now stored URLs are merged with defaults so builtin worker endpoints persist across sessions and are only removed by the excludeWorkerProxy filter.
Point the openscan-groq AI provider at OPENSCAN_WORKER_URL instead of the legacy openscan-groq-ai-proxy URL. This ensures AI requests go through the same worker proxy that already has the Netlify preview origin in its CORS allowlist. Remove unused REACT_APP_OPENSCAN_GROQ_AI_URL from Vite define map.
Always show the Analyze with AI button. When the AI proxy is disabled and no personal API keys are configured, show a warning message guiding the user to either enable the proxy or add their own keys. Users with their own API keys can still use AI analysis regardless of the proxy toggle.
When workerProxyAi is false, skip the openscan-groq provider in resolveProvider so it falls through to the user's configured API keys. Previously it always used the free proxy first regardless of the toggle setting.
Collaborator
Author
|
@MatiasOS ready 4 review |
MatiasOS
approved these changes
Mar 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Description
Pre-release fixes and feature for v1.2.5-alpha targeting block page issues, BTC RPC proxy priority, and user-controllable worker proxy settings.
Related Issue
Closes #336
Closes #337
Closes #340
Closes #343
Type of Change
Changes Made
FieldLabeltooltips to all 9 fields (parentHash, stateRoot, transactionsRoot, receiptsRoot, withdrawalsRoot, logsBloom, nonce, mixHash, sha3Uncles). All fields show tooltips at all knowledge levels except nonce (beginner/intermediate only).getEffectiveRpcUrls()so builtin worker proxy URLs take priority over metadata RPCs. Fix Bitcoin testnet network ID mismatch — alignrpcStorage.tsand workeronfinalityRpc.tsto use Testnet4 CAIP-2 ID (bip122:00000000da84f2bafbbc53dee25a72ae) matchingnetworks.json.AIAnalysisPanelacross all pages when disabled/enabledChecklist
npm run format:fixandnpm run lint:fixnpm run typecheckwith no errorsnpm run test:runAdditional Notes
The pre-existing lint warning (
getAlchemyBtcUrlunused variable in settings page) is not introduced by this PR.