completed critical

Screenshot

Issue screenshot

Stored at legacy-import/issues/180/1773138553-dashboard-after-fix-verification.png

Metadata

Selector candidates
[
  {
    "matches": 1,
    "score": 76,
    "selector": "div.bg-white.rounded-xl.shadow-md",
    "strategy": "class"
  },
  {
    "matches": 1,
    "score": 74,
    "selector": "#action-center \u003e div:nth-of-type(1)",
    "strategy": "scoped-parent-id"
  },
  {
    "matches": 219,
    "score": 60,
    "selector": "div:nth-of-type(1)",
    "strategy": "nth-of-type"
  },
  {
    "matches": 2,
    "score": 58,
    "selector": "#action-center \u003e div \u003e div:nth-of-type(1)",
    "strategy": "ancestor-path"
  }
]
Target fingerprint
{
  "ancestorPath": [
    "#action-center",
    "div"
  ],
  "ariaLabel": null,
  "className": "bg-white rounded-xl shadow-md border-2 border-[#7FBCE6] p-6",
  "href": null,
  "id": null,
  "name": null,
  "role": null,
  "tagName": "div",
  "textSample": "Pending Requests (Requires decision) 1 total MAE (Pet Boarding) Apr 9 - Apr 10, 2026 9d left Accept Decline Keeping your"
}
Secondary signal
{
  "hasFiberInstance": true,
  "reactComponentStack": [
    "div",
    "section",
    "eC",
    "Content",
    "o",
    "eV",
    "x",
    "c",
    "f",
    "T",
    "E",
    "j"
  ],
  "reactOwnerStack": [],
  "source": "react-fiber"
}
Layout evidence
bbox:
{
  "bottom": 957,
  "height": 338,
  "left": 504,
  "right": 1108,
  "top": 619,
  "width": 604,
  "x": 504,
  "y": 619
}

viewport:
{
  "height": 1120,
  "width": 1920
}

scroll:
{
  "x": 0,
  "y": 0
}

screenshotMarks:
[]
DOM excerpt
<div class="bg-white rounded-xl shadow-md border-2 border-[#7FBCE6] p-6"><div class="flex items-center justify-between mb-5"><div class="flex items-center"><h3 class="text-lg font-bold text-gray-900">Pending Requests</h3><span class="ml-2 text-xs text-gray-500 font-medium">(Requires decision)</span></div><span class="bg-red-500 text-white text-xs font-bold px-3 py-1.5 rounded-full">1 total</span></div><div class="space-y-4"><div class="border-l-4 rounded-lg p-4 shadow-sm hover:shadow-lg hover:scale-[1.01] transition-all duration-200 cursor-pointer group border-l-[#7FBCE6] bg-blue-50"><div class="flex items-start justify-between mb-3"><div class="flex items-start"><div class="w-10 h-10 bg-white rounded-full flex items-center justify-center shadow-sm mr-3 flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar w-5 h-5 text-[#7FBCE6]" aria-hidden="true" data-sentry-element="Calendar" data-sentry-component="renderRequestIcon" data-sentry-source-file="PetsitterDashboardV2Desktop.tsx"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></div><div><h4 class="font-bold text-gray-900 text-base">MAE (Pet Boarding)</h4><p class="text-sm text-gray-600 mt-1 flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar w-3.5 h-3.5 mr-1" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>Apr 9 - Apr 10, 2026</p></div></div><span class="text-xs font-bold text-white bg-[#7FBCE6] px-2.5 py-1.5 rounded-lg flex items-center gap-1 shadow-sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock w-3 h-3" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>9d left</span></div><div class="flex space-x-3 mt-4 mb-2"><button type="button" class="flex-1 px-4 py-3 bg-[#7FBCE6] text-white rounded-lg text-sm font-bold hover:bg-[#5FA5D1] shadow-md hover:shadow-lg transition-all disabled:opacity-60 disabled:cursor-not-allowed">Accept</button><button type="button" class="flex-1 px-4 py-3 bg-white border border-gray-200 text-gray-600 rounded-lg text-sm font-semibold hover:bg-gray-50 transition-all disabled:opacity-60 disabled:cursor-not-allowed">Decline</button></div><p class="text-xs text-[#7FBCE6] text-center mb-2 font-medium">Keeping your calendar accurate helps you avoid cancellations and stay higher in search.</p><div class="text-center"><a class="text-sm text-gray-500 hover:text-gray-700 inline-flex items-center" href="/at/petsitter/bookings/133022">View details<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right ml-1 w-3 h-3" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></div><div class="mt-4 text-center"><a class="text-sm text-[#7FBCE6] hover:text-[#5FA5D1] font-medium" data-sentry-element="Link" data-sentry-source-file="PetsitterDashboardV2Desktop.tsx" href="/at/petsitter/bookings">View all requests</a></div></div>

Thread

qa-user 2026-03-10 10:29:35

Fixed locally and verified in browser from the petsitter dashboard. Root cause: dashboard decline flow sent reason but omitted declineReason, so the /api/bookings/:id mutation was rejected. Verification: declining the dog-walking request from the dashboard succeeded. The dashboard summary changed from 5 requests to 4, and the visible Emma (Dog Walking) card disappeared from the pending requests list. Screenshots: Before: /api/support/attachments/support-attachments/qa-issues/180/1773138553-dashboard-before-fix-verification.png After: /api/support/attachments/support-attachments/qa-issues/180/1773138553-dashboard-after-fix-verification.png