Skip to content

Beautify the extension UI#2851

Open
UnArbosFour wants to merge 1 commit into
bittensor-core-explorationfrom
feat/extension-ui
Open

Beautify the extension UI#2851
UnArbosFour wants to merge 1 commit into
bittensor-core-explorationfrom
feat/extension-ui

Conversation

@UnArbosFour

@UnArbosFour UnArbosFour commented Jul 10, 2026

Copy link
Copy Markdown

Motivation

Improve the browser-extension signing bridge so it presents a polished, focused interface and clearly indicates when a submitted transaction succeeds or fails.

What changed

  • Redesigned sdk/python/bittensor/extension/static/bridge.html with a responsive dark interface, connection-state styling, and reduced-motion support.
  • Added a transaction.result bridge RPC that updates the page after submission.
  • Wired transaction outcomes through BridgeClient, ExtensionSigner, and the CLI execution flow for both ordinary and MEV-shielded submissions.
  • Added unit coverage for the client-side transaction-result request.

Behavioral impact

Extension users now see a completion or failure state after btcli submits the signed transaction. Signing and chain execution semantics are otherwise unchanged.

Migration and runtime impact

This change is limited to the Python SDK and browser bridge. It requires no storage migration or runtime spec_version bump.

Testing

Added a parametrized unit test verifying that successful and failed transaction outcomes are forwarded as transaction.result requests.

@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
subtensor Ready Ready Preview, Comment Jul 10, 2026 7:21pm

Request Review

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

🛡️ AI Review — Skeptic (security review)

VERDICT: SAFE

VERY HIGH account-age/activity scrutiny, mitigated by repository write permission; no Gittensor association found; feat/extension-ui → bittensor-core-exploration.

The diff is limited to SDK extension-bridge presentation and transaction-result reporting. It introduces no runtime, dependency, privilege, workflow, or trusted-review-instruction changes.

Findings

No findings.

Conclusion

No malicious behavior or security vulnerability was found in the reviewed diff.


🔍 AI Review — Auditor (domain review)

VERDICT: 👎

Gittensor association UNKNOWN; the author is a very new GitHub account but has repository write access, so behavior and tests were reviewed without relying on contribution history.

PR body was empty/trivial; the Auditor has auto-filled it. Please review.

The visual redesign is cohesive, and the transaction-result RPC is wired through the client and signer. However, the redesign removes the browser’s only actionable diagnostics, leaving common setup and connection failures visually unexplained.

Findings

Sev File Finding
MEDIUM sdk/python/bittensor/extension/static/bridge.html:397 Bridge errors no longer tell the user what failed inline

Conclusion

The bridge must continue showing actionable error text before this UI-focused PR is ready. No build or runtime execution was necessary to confirm this static regression.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

AI review — see the sticky summary comment for the verdict and the inline comments below for specific findings.

Comment on lines 396 to +397
listAccounts().catch((error) => {
setStatus(error.message, "err");
setBridgeState("error");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[MEDIUM] Bridge errors no longer tell the user what failed

The previous UI displayed error.message; this handler now only changes the pulse color while the page continues to say “Keep this page open / Switch back to btcli.” Missing extensions, rejected authorization, stale sessions, disconnects, and WebSocket failures therefore become indistinguishable and unactionable. Preserve the new design, but update headlineEl/detailEl with the error text here and provide explicit messages in the stale-session, disconnect, and WebSocket-error handlers below.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👎

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