Skip to content

Improve mobile details, form errors, nav restore, and request IDs - #762

Merged
Abd-Standard merged 1 commit into
Core-Foundry:mainfrom
miss-yusrah:fix-issues
Aug 30, 2026
Merged

Abd-Standard merged 1 commit into
Core-Foundry:mainfrom
miss-yusrah:fix-issues

Conversation

@miss-yusrah

@miss-yusrah miss-yusrah commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #680
closes #681
closes #678
closes #686

#680 — Improve Mobile Event Detail Layout

  • Expanded EventCard shortens long contract addresses, tx hashes, and event IDs, keeps full values available via title + copy actions, and wraps payload/value text so narrow viewports do not scroll horizontally.
  • NotificationDetailsDrawer adds a payload section with copy support and stacks row layout on small screens so labels, values, and actions stay usable.
  • CSS updates for 600px / 375px breakpoints cover event cards and the details drawer (min-width: 0, overflow-wrap, sticky-accessible copy/close controls).
  • Tests cover representative mobile widths (375, 390, 414, 600) and drawer payload/actions.

#681 — Add Responsive Navigation State Restoration

  • Adds useMediaQuery / useIsMobileNav (aligned to the dashboard 768px hamburger breakpoint).
  • App closes the mobile nav drawer when the viewport crosses into desktop layout so overlay, body scroll lock, and focus-trap state cannot linger after resize.
  • Active tab / hash routing is unchanged; only ephemeral mobile-only UI state is cleared.
  • Hook tests verify breakpoint updates and drawer-state restoration on desktop transition.

#678 — Improve Form Error Messaging

  • Introduces shared FormField / FormInput / FormSelect / FormTextarea helpers with:
    • field-named validation copy
    • aria-invalid + aria-describedby wiring
    • role="alert" error text and a non-colour invalid indicator (icon + left accent border)
  • Applied to Preferences contact fields, Delivery Timeline ID search, and Templates create/edit validation.
  • Unit tests cover association, screen-reader exposure, and axe checks.

#686 — Add Request ID Middleware

  • Adds listener/src/middleware/request-id.ts and enhances applyRequestContext to:
    • assign a request id to every incoming request
    • validate client X-Request-Id before reuse ([\w.:-]{8,128})
    • mint a fresh id when missing/invalid
    • echo X-Request-Id / X-Correlation-Id on responses
  • Events server uses the middleware, allows X-Request-Id in CORS, and exposes request/correlation/response-time headers to browsers.
  • Unit tests cover validation, reuse, rejection, and middleware delegation.

Test plan

  • Dashboard: open an expanded event card / details drawer at ~375px and ~414px; confirm long hashes wrap/shorten and Copy / Close remain tappable with no page-level horizontal scroll
  • Dashboard: open mobile nav, widen past 768px; confirm drawer closes and desktop sidebar works without stuck overlay
  • Dashboard: Preferences / Templates / Timeline — submit invalid fields; confirm field-named alerts, aria-invalid, and non-colour invalid styling
  • Listener: send requests with valid/invalid/missing X-Request-Id; confirm response header and logs use reused vs minted ids appropriately
  • Run dashboard tests for FormField, EventCard, NotificationDetailsDrawer, useMediaQuery, NotificationTimelineView
  • Run listener tests for request-id utils/middleware

Co-authored-by: Cursor <cursoragent@cursor.com>
@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@miss-yusrah Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Abd-Standard
Abd-Standard merged commit c386d1c into Core-Foundry:main Aug 30, 2026
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.

Add Request ID Middleware Add Responsive Navigation State Restoration Improve Mobile Event Detail Layout Improve Form Error Messaging

2 participants