Repository navigation
[GoodBounty] Finalize Connect-a-wallet Widget PR #122
Description
Activity
- addedGoodBounties - RareLarger features, touches multiple areasLarger features, touches multiple areas
on Jul 28, 2026 I’d like to claim this bounty and finish the existing AI-generated PR.
How I’ll work on itCheck out plan/connect-a-wallet-widget, install deps, and run the widget locally with the required commands.
Do a side-by-side pass against the design reference, #113 required states, and #114 plan.
Fix the concrete gaps in priority order:
Container overflow in ChainLinkRow (layout/wrap/truncate)
Input/button sizing with a localized override if possible
Confirm transaction-failure behavior (Toast vs red Alert) with the Bounty Lead
Align Playwright screenshots with real browser renderingManually test happy path + error states (including wallet cancel) on desktop and mobile.
Update screenshots and leave a clear handoff comment covering fixes, verification, evidence, and any remaining risks.ETA: 2–3 days after assignment.
I’ll keep the PR against the feature branch and respect existing package patterns.Hi @L03TJ3
I would like to work on this issue. I have read the implementation plan and understand what needs to be done. ETA: 48 hours.
I'll check out the current PR, run Storybook, tests locally, complete any remaining gaps, and prepare the widget for review
Happy to start once assigned!
Hi Maintainer, I am a Frontend and Smart Contract developer who is familiar with building on Gooddollar using its SDK.
Kindly assign me this issue, so that i can get started ASAP and hand it off in less than 24 hours.
Hi I'd like to take on this issue.
I'm a full stack blockchain developer and I understand the issue very wellI'd like to take on this kindly assign me
ETA:24hrs
Hey @sammajayi, you will be assigned
Since this is your first contribution with us and our bounties program please read up on the bounty program and contribution guidelines
Also make sure to read up on our widget author instructions when working on widgets and utilizing the design system api
@L03TJ3 Noted. Thank you.
I will review the docs and guidelines before I proceed with the execution of the issue.
Contributor: @hazzikri
Fixed:
- Container overflow bug: Added
flexWrap: 'wrap'toChainRowCardinshared.tsxto prevent content pushing past the 400px widget container width. - Simplified
ActionButtondefaultminWidthto allow responsive button alignment without overflowing.
Verified:
- Mobile & 400px viewports: Content wraps cleanly without horizontal scroll or clipping.
Evidence:
- Verified
ChainRowCardrow layout at 400px container width.
Remaining risks:
- None.
- Container overflow bug: Added
Hi, @hazzikri
we only accept pull-requests from contributors that have been assigned according to the rules of our bounties program, you can read more on that here on the bounty program and contribution guidelinesContributor: @sammajayi
PR: #116
Commit: bbfde2fFixed:
- Missing Alert import causing crash on error/unsupported states
- Unused address prop in ChainLinkRow (lint error)
- Overflow on 320px viewports
- Input/button sizing too large for small viewports
- Address display layout and centering
- GlowCard shadow too prominent
- Unlink icon SVG path mismatch
Verified:
- Disconnected wallet gate: renders "Connect Wallet" prompt
- Connecting state: shows loading spinner
- Connected no-input state: address form renders
- Checking address: loading spinner replaces button
- Chain row statuses: Connect/Disconnect buttons always visible
- Unsupported network: warning block renders alongside chain rows
- Top-level error: error message with retry button
- Mobile/desktop layouts: renders usable at 320px and 1280px viewports
Evidence:
- All 8 Playwright state tests pass (pnpm test:demo tests/widgets/connect-a-wallet-widget)
- Screenshots updated in tests/widgets/connect-a-wallet-widget/test-results/
Remaining risks:
- None
cc: @L03TJ3
@L03TJ3 how are you doing?
I am standing by for your review!
@sammajayi thanks for the contribution, we are little behind on reviewing bounties.
should be resolved and reviewed in the next 2-3 days, apologies for the delay@L03TJ3 alright, no problem.
- linked a pull request that will close this issueSammajayi/connect a wallet fixes #135
on Sep 29, 2026
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsIn Progress
Summary
Pick up the existing AI-generated PR for the Connect-a-wallet widget
(
packages/connect-a-wallet-widget), run it locally, close the gaps below,update tests/evidence, and prepare it for human review.
PR: #116
Commit:
93ca2ffParent issue: #113 · Plan: #114
Contributor task
This task require to start on the feature-branch produced by the agent and branch out from it.
the resulting pull-request should be against the feature-branch
plan/connect-a-wallet-widgetnot against
mainplan/connect-a-wallet-widgetand run it locally.reference attached to [Feature]: Add Connect-a-wallet widget #113.
Scope checks
colored Connect/Disconnect, info callout, footer, "Connect identity" tab are all present)
but still needs a side-by-side pass against
design-reference.pngon [Feature]: Add Connect-a-wallet widget #113 for spacing,proportions, and copy — don't consider this done from the current screenshot alone.
ChainLinkRow's row(avatar + chain badge + address + status badge + action button) has no
flexWraporwidth guards on a
flexDirection:'row', justifyContent:'space-between'container with4+ children. This is what's pushing content past the widget's container at the fixed
400px width used in Storybook — confirmed by diffing the Storybook harness
(
connectAWalletWidgetStories.tsx) againststreaming-widget's, which isbyte-for-byte identical. So this isn't a harness/Playwright bug — fix the row layout
itself (wrap, truncate, or restructure the row) rather than the test fixture.
height-wise with each other or their copy.
InputandTransactionButtonuse sharedpackages/uidefaults (not overridden with custom size props in this widget), so theroot cause may be in the shared default components rather than this widget — but
confirming that requires checking rendering across other widgets that reuse the same
components, which is out of scope to redo here. Prefer a localized fix if one exists
scoped to this widget (e.g. adjust button font-size, or align input height to the
button's via a local style override) over touching shared
packages/uicomponents,which would need cross-widget verification. Only touch the shared components if no
localized fix is possible, and flag that decision in the handoff comment.
components/shared.tsx's localActionButtonwrapper also sets its own defaultminWidth(108, overridden to 128 in the address form) — simplify or drop unlessthere's a real reason for it.
fontFamilyoverrideexists anywhere in
connect-a-wallet-widget/src. The repo's only font preset(
packages/ui/src/presets.ts) isAvenir Next, Inter, system-ui, ... sans-serif— nomonospace token exists anywhere in the repo. The monospace look in screenshots is a
pre-existing font-loading/fallback issue in the Storybook/demo environment, unrelated to
this package. Flag separately if it needs fixing; not in scope for this bounty.
"Connect/disconnect transaction failure → red error block." As implemented,
connectChain/disconnectChaininadapter.tsroute failures to aToastonly; thered
Alertblock only fires for the primary/secondary address-check failure. Confirmwith the Bounty Lead whether Toast-only is the intended reading of [Feature]: Add Connect-a-wallet widget #113/[PLAN] Add Connect-a-wallet widget to GoodWidget #114, or fix to
match the documented red-block behavior.
screenshots don't match how the widget actually renders when loaded manually in a
browser. Compare
tests/widgets/connect-a-wallet-widget/states.spec.tsand its fixturesetup against another widget's test whose screenshots do match manual rendering
(e.g.
streaming-widgetorcitizen-claim-widget) to find what's different — viewportsize, wait conditions, font/asset loading before capture, etc. — rather than assuming
the widget code itself is at fault.
Manually exercise the error paths in a real browser — including cancelling a
connect/disconnect transaction request from the wallet prompt — and confirm the actual
on-screen behavior matches what [Feature]: Add Connect-a-wallet widget #113/[PLAN] Add Connect-a-wallet widget to GoodWidget #114 specify (see the transaction-failure check
above), not just that a test assertion passes.
component decomposition already matches
streaming-widget's precedent and is cleanerthan
citizen-claim-widget's monolithic file).via the Playwright fixtures.
too, not just the 400px Storybook shell).
just keep evidence current after fixes).
Required commands
If a command cannot be run, document why.
Handoff comment