Skip to content

[GoodBounty-Patch] Connect-a-wallet widget: follow-up fixes and testing #245

Open

Description

@L03TJ3

Summary

Resolve the five focused items below on the existing Connect-a-wallet widget PR #116, verify its main user flows, and prepare the changes for review.

This is a follow-up bounty, not a new widget implementation.

Bounty tier / reward: Common (full-reward, not split)
Target branch: plan/connect-a-wallet-widget

Contributor task

  • Apply with an ETA and wait for assignment.
  • Start from the latest plan/connect-a-wallet-widget branch and run the widget locally.
  • Open your follow-up PR against plan/connect-a-wallet-widget, not main.
  • Complete the scoped fixes using existing repository patterns.
  • Provide automated test results and manual wallet-flow QA evidence.
  • Respond to each copilot comment with the related fix.

Scope checks

1. Chain-specific status reads

  • Use chain-specific HTTP providers for status reads on Fuse, Celo and XDC.
  • Keep the connected wallet provider for signing.
  • Handle disconnected or missing-wallet-provider states safely.

Review comment

2. Test the main user actions

Follow existing widget testing patterns and keep coverage focused on this widget.

  • Test connecting a wallet, checking status for each supported chain, and linking/unlinking an address.
  • Assert the resulting UI and status changes, including wallet cancellation and errors.
  • Provide manual wallet-flow QA evidence. Clearly distinguish real wallet checks from mocked automated tests.
  • Check desktop and mobile usability and provide relevant screenshots or videos.

Broader testing coverage across widgets belongs to a separate bounty.

Review comment

3. Clarify screenshot and test-output locations

  • Align AGENTS.md and associated QA/demo documentation:
    • Root /test-results/ is ignored temporary output.
    • Curated widget screenshots belong under tests/widgets/<widget>/test-results/.
  • Preserve the anchored ignore rule and existing screenshot locations.

Review comment

4. Invalid-address feedback

  • Show clear feedback for an invalid address.
  • Clear or update the feedback appropriately when the address changes, so stale errors do not remain.

Review comment

5. Prevent overlapping operations

  • Use a simple widget-wide busy guard to prevent overlapping link/unlink actions and address changes during an operation.
  • Clear the busy state on success, cancellation and failure.
  • Keep the implementation small: no dialog queue or new architecture.

Review comment

Required commands

pnpm install
pnpm build
pnpm lint
pnpm test:demo tests/widgets/connect-a-wallet-widget

Follow the repository’s documented test setup. If a command fails or cannot run, report the exact blocker and whether it also occurs before your changes.

Link this bounty and PR #116 in the follow-up PR description.

Activity

  1. edehvictor commented on Oct 13, 2026

    @edehvictor
    Collaborator

    GM @L03TJ3 ,

    I’d like to take this on. I’m an active GoodDollar open-source contributor and have worked on GoodWidget/GoodWallet-related flows before, including implementation cleanup, UI consistency, Storybook/Playwright verification, and reviewer feedback fixes.

    I’ll review the requirements carefully, keep the changes scoped, run the needed checks, and provide a clear handoff when done.

    Please kindly assign this to me.

    ETA: 12-24 hours.

  2. L03TJ3 commented on Oct 13, 2026

    @L03TJ3
    ContributorAuthor

    @edehvictor assigned

  3. Godbrand0 commented on Oct 13, 2026

    @Godbrand0
    Contributor

    GM @L03TJ3 i'd like to work on this issue,given my past experience contributing and creating widgets for this repo.
    I have reviewed the requirements and I would be able to complete the task at the estimated time.
    ETA- 24hrs

  4. L03TJ3 commented on Oct 13, 2026

    @L03TJ3
    ContributorAuthor

    @edehvictor Hey, just to note. this is a goodwidget ticket. moving the issue but just making sure you are working on the expected widget. no work is needed in goodsdks

  5. transferred this issue fromGoodDollar/GoodSDKson Oct 13, 2026
  6. edehvictor commented on Oct 13, 2026

    @edehvictor
    Collaborator

    Yeah, noted @L03TJ3.

  7. edehvictor commented on Oct 13, 2026

    @edehvictor
    Collaborator

    Handoff Comment

    Contributor: @edehvictor
    PR: #249 (follow-up to #116 for #245)
    Commit: 074b547

    Fixed

    • Chain-specific HTTP reads, inline address validation and a widget-wide busy guard.
    • Cancellation/error recovery, stale-wallet protection, interaction tests and screenshot-output documentation.

    Verified

    • Install, scoped lint and targeted widget build passed. The build used locally emitted dependency declarations because of the baseline UI error below.
    • Targeted Playwright: 27/27 passed with retries disabled.
    • Manual GoodWallet/Celo: link/unlink, cancellation, rejection and status after refresh checked; unlink receipt independently confirmed successful.

    Evidence

    • Run pnpm test:demo tests/widgets/connect-a-wallet-widget --workers=1 --retries=0.
    • QA report and coverage; screenshots. Mocked and live evidence are labeled separately.

    Remaining Risks

    • Workspace build/lint are blocked by the existing UI Select.tsx:7 Role type error, reproduced on the unchanged base.
    • GoodWallet QA needed a local WalletConnect chain-ID normalizer. Shared core is unchanged; unmodified WalletConnect compatibility is not claimed.
    • Live Fuse/XDC transactions and physical-phone wallet flows remain untested. GitHub Playwright is currently waiting for authorization.

    Thanks for the guidance. Happy to adjust anything you would prefer handled differently.

  8. added a commit that references this issue on Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GoodBounties - CommonMedium features, some codebase familiarity needed

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions