From 88995ff59b9e5ac83b9bd0591af7a332cee53bd8 Mon Sep 17 00:00:00 2001 From: Stockboy Steve Date: Thu, 25 Jun 2026 02:18:14 +0000 Subject: [PATCH 1/3] feat(GRO-2516): add agent-runtime credential stanza to .gitignore Appends canonical ignore rules for .gh-token, .config/gh/, .claude/, .codex/, and AGENT_HOME patterns per GRO-2516 guardrail to prevent accidental commit of agent credential artifacts. Co-Authored-By: Paperclip --- .gitignore | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 729a784..d73b7a4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,14 @@ node_modules/ dist/ playwright-report/ test-results/ -*.log \ No newline at end of file +*.log +# Agent runtime artifacts — never commit +.gh-token +*.gh-token +**/.gh-token +.config/gh/ +**/.config/gh/ +**/AGENT_HOME/** +$AGENT_HOME/** +.claude/ +.codex/ -- 2.52.0 From 8d005942df8aefd42c4691e4f9afa645f7d917f9 Mon Sep 17 00:00:00 2001 From: Flea Flicker <22+gb_flea@noreply.git.farh.net> Date: Fri, 26 Jun 2026 08:57:46 +0000 Subject: [PATCH 2/3] fix(GRO-1026): re-apply GRO-730 scrollbar-hide to portal tab rows (#88) fix(GRO-1026): re-apply GRO-730 scrollbar-hide to portal tab rows Co-Authored-By: Paperclip --- UAT_PLAYBOOK.md | 9 +++++++++ src/index.css | 9 +++++++++ src/portal/sections/BillingPayments.tsx | 2 +- src/portal/sections/PetProfiles.tsx | 4 ++-- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/UAT_PLAYBOOK.md b/UAT_PLAYBOOK.md index 59d6de8..d19ae97 100644 --- a/UAT_PLAYBOOK.md +++ b/UAT_PLAYBOOK.md @@ -320,6 +320,15 @@ the seeded UAT customer (`uat-customer@groombook.dev`), not just unit-rendered. | TC-WEB-5.16.2 | PWA install prompt | Load app on supported browser | Install prompt appears when criteria met | | TC-WEB-5.16.3 | Touch interactions | Use touch gestures on mobile | All interactions work with touch input | +#### 5.16a Portal Tab Rows — Mobile Overflow (GRO-730 / GRO-1026) + +| # | Scenario | Steps | Expected | +|---|----------|-------|----------| +| TC-WEB-5.16.4 | My Pets tab row — horizontal scroll, no visible scrollbar | Sign in as customer → My Pets. Set viewport to 390px. If 3+ pets are seeded, the pet-selector row overflows. | Pet selector row scrolls horizontally; native scrollbar is **not** visible (`scrollbar-width: none` / `scrollbar-hide` applied). | +| TC-WEB-5.16.5 | My Pets section tab row — no visible scrollbar | On the same My Pets view, observe the tabs row (Basic Info / Medical / Grooming / History). | Tabs row scrolls horizontally when needed; native scrollbar is not visible. | +| TC-WEB-5.16.6 | Billing/Payments tab row — no wrap, no visible scrollbar | Sign in as customer → Billing/Payments at 390px. | Tab row (Invoices / Payment Methods / Packages) does **not** wrap to a second line; scrolls horizontally if needed; native scrollbar not visible. | +| TC-WEB-5.16.7 | Desktop — no visual regression | Open My Pets and Billing/Payments at ≥1024px. | No layout change; tab rows display identically to before the fix. | + ### 5.17 Error & Empty States | # | Scenario | Steps | Expected | diff --git a/src/index.css b/src/index.css index 32b3b5e..0ccb242 100644 --- a/src/index.css +++ b/src/index.css @@ -78,6 +78,15 @@ input:focus, select:focus, textarea:focus { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); } +/* ─── Scrollbar hide utility ─── */ +.scrollbar-hide { + scrollbar-width: none; + -ms-overflow-style: none; +} +.scrollbar-hide::-webkit-scrollbar { + display: none; +} + /* ─── Scrollbar polish ─── */ ::-webkit-scrollbar { width: 6px; diff --git a/src/portal/sections/BillingPayments.tsx b/src/portal/sections/BillingPayments.tsx index e4d2902..be6610c 100644 --- a/src/portal/sections/BillingPayments.tsx +++ b/src/portal/sections/BillingPayments.tsx @@ -130,7 +130,7 @@ function BillingPaymentsInner({ sessionId, readOnly }: BillingPaymentsProps) { )} -
+
{([ { id: "invoices" as const, label: "Invoices", icon: DollarSign }, { id: "payment" as const, label: "Payment Methods", icon: CreditCard }, diff --git a/src/portal/sections/PetProfiles.tsx b/src/portal/sections/PetProfiles.tsx index 7fe0cf2..12e462f 100644 --- a/src/portal/sections/PetProfiles.tsx +++ b/src/portal/sections/PetProfiles.tsx @@ -145,7 +145,7 @@ export function PetProfiles({ sessionId, readOnly }: Props) { return (
{/* Pet Selector */} -
+
{pets.map(p => (