Skip to content

fix: dead Log In button, missing rel, window.location nav, missing AbortController - #596

Merged
ogazboiz merged 1 commit into
LabsCrypt:mainfrom
MarvyNwaokobia:fix/frontend-issues-560-561-562-563
May 30, 2026
Merged

fix: dead Log In button, missing rel, window.location nav, missing AbortController#596
ogazboiz merged 1 commit into
LabsCrypt:mainfrom
MarvyNwaokobia:fix/frontend-issues-560-561-562-563

Conversation

@MarvyNwaokobia

@MarvyNwaokobia MarvyNwaokobia commented May 30, 2026

Copy link
Copy Markdown

Closes #560
Closes #561
Closes #562
Closes #563

What changed and why

#562 — Navbar: remove dead Log In button
The Log In button rendered with no onClick or href — clicking it did nothing. WalletButton is the real auth entry point so the orphaned button is removed.

#560 — ActivityHistory: add rel="noopener noreferrer" to Stellar Expert link
The external explorer anchor had target="_blank" with no rel, exposing the app to reverse-tabnabbing. Fixed in ActivityHistory.tsx. A grep confirmed every other target="_blank" link in the codebase already carries the correct rel.

#561 — NotificationDropdown: replace window.location.href with router.push
The "View All Activity" button was forcing a full-page reload, discarding SPA state (wallet context, React Query cache, SSE connection). Now uses useRouter().push('/activity') from next/navigation and closes the dropdown before navigating.

#563 — Activity page: add AbortController cleanup to fetch
fetchActivity had no abort signal, so rapidly switching tabs or unmounting mid-flight left stale in-flight requests that could race setEvents/setHasMore. An AbortController is now created in the effect, its signal passed to fetch, and abort() called on cleanup. AbortError is silently ignored.

Files changed

  • frontend/src/components/Navbar.tsx
  • frontend/src/components/dashboard/ActivityHistory.tsx
  • frontend/src/components/NotificationDropdown.tsx
  • frontend/src/app/activity/page.tsx

Test plan

  • Navbar no longer shows a Log In button; WalletButton still renders
  • ActivityHistory explorer link opens in a new tab without exposing window.opener
  • NotificationDropdown "View All Activity" navigates without a full reload and closes the dropdown
  • Rapid tab switching on the activity page produces no stale-response races or unmount warnings

…window.location nav, missing AbortController

- LabsCrypt#562: Remove non-functional Log In button from Navbar; WalletButton is the sole auth entry point
- LabsCrypt#560: Add rel="noopener noreferrer" to Stellar Expert external link in ActivityHistory to prevent reverse-tabnabbing
- LabsCrypt#561: Replace window.location.href with useRouter().push in NotificationDropdown and close dropdown on navigate
- LabsCrypt#563: Add AbortController to activity page useEffect; pass signal to fetch and abort on tab change / unmount to prevent stale-response races

Closes LabsCrypt#560
Closes LabsCrypt#561
Closes LabsCrypt#562
Closes LabsCrypt#563

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ogazboiz
ogazboiz merged commit acbce28 into LabsCrypt:main May 30, 2026
15 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants