Skip to content

Releases: chungty/abm-research

v0.13.0: Critical UX Fixes & Feedback Collection

13 Dec 22:09

Choose a tag to compare

Critical Bug Fixes

Focus Jump Bug in Add Account Modal

  • Fixed issue where typing in Domain field would jump focus back to Company Name
  • Root cause: FocusTrap component's useEffect was re-running on every render due to non-memoized callback
  • Solution: Added useCallback memoization and "latest ref" pattern for stable references

Race Condition in Account Detail Loading

  • Fixed stale data display when rapidly switching between accounts
  • Added AbortController to cancel in-flight requests when account selection changes
  • Proper cleanup on component unmount

Null Safety in Outreach Generation

  • Fixed potential crash when contact.name is null/undefined
  • Added defensive fallbacks: contact.name || 'there' with safe string splitting

Memory Leaks in Progress Intervals

  • Fixed setInterval not being cleared on component unmount in:
    • ResearchButton
    • VendorDiscoveryButton
  • Added useRef to track intervals and useEffect cleanup

Domain Validation

  • Added frontend validation: must include TLD (.), no spaces, valid characters only
  • Added matching backend validation in /api/accounts POST endpoint
  • Visual feedback with red border and error message

New Features

Feedback Collection

  • New "Submit Feedback" button in dashboard header
  • Modal with category selection (Feature Request, Bug Report, Improvement, Other)
  • Posts directly to Slack #team-plg channel
  • Graceful fallback if Slack is unavailable

Filter Persistence

  • Sort field, sort direction, priority filters, status filters, and GPU-only toggle now persist across page reloads
  • Uses sessionStorage (clears on browser close, persists during session)
  • Search query intentionally NOT persisted

Files Changed

  • dashboard/src/components/AddAccountModal.tsx
  • dashboard/src/components/shared/index.tsx (FocusTrap fix)
  • dashboard/src/api/client.ts (AbortController)
  • dashboard/src/utils/outreachGenerator.ts (null safety)
  • dashboard/src/components/ResearchButton.tsx
  • dashboard/src/components/VendorDiscoveryButton.tsx
  • dashboard/src/components/AccountList.tsx
  • dashboard/src/components/FeedbackModal.tsx (NEW)
  • dashboard/src/hooks/useSessionStorage.ts (NEW)
  • src/abm_research/api/server.py

v0.12.0: Account Urgency & BD Workflow Improvements

11 Dec 16:48

Choose a tag to compare

Highlights

  • Hot/Warming/Quiet account status for BD prioritization
  • Partnership UX redesign with BD-focused defaults
  • Partner Paths on Account Detail page

Account Status System

Urgency computed from buying_signals_score:

  • 🔴 Hot (≥50): Strong signals - immediate outreach candidates
  • 🟡 Warming (20-50): Some activity detected
  • Quiet (<20): No recent signals

Status badges show the reason (e.g., "Hiring ML engineers") directly on account cards.

UI/UX Improvements

  • Clickable status filter buttons with counts in account list header
  • Improved Add Account flow with View/Add Another/Close actions
  • Partnership page: summary stats, smart defaults showing only partners with account coverage
  • Partner Paths section on Account Detail showing intro routes to each account

Intelligence

  • getAccountStatus() computes urgency from buying signals breakdown
  • usePartnersForAccount hook filters partners for specific accounts
  • Extracts reasons from trigger events, expansion signals, hiring signals

Commits

  • Account list: Add urgency status (Hot/Warming/Quiet) and improved Add flow
  • Account Detail: Add Partner Paths section for BD workflow
  • Partnership UX redesign: BD-focused first principles approach
  • UI improvements: Trigger events, contact cards, enrichment UX