Repository navigation
Copilots: Get in touch from chrome only (#1105) - #1110
Conversation
|
@Mergifyio refresh |
✅ Pull request refreshed |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
me | 6afe1d7 | Commit Preview URL Branch Preview URL |
Oct 09 2026, 09:05 AM |
Bundle ReportBundle size has no change ✅ Affected Assets, Files, and Routes:view changes for bundle: molecular-mars-esmAssets Changed:
|
|
This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Owner review on tip 6afe1d7: PASS. Drops the in-body copilots LinkedIn link so hire stays in chrome (ContactCTA after in [...slug].astro), matching #1104/#1109 already on main. Tests flip correctly; no visitor copy or brand regression, hire path still LinkedIn. Not draft. HOLD squash until Build & Test, CodeQL JS and Workers build are green and Johan+Vera Dual lands on 6afe1d7. Soft nit for later: user-behavior-analytics still carries the in-body link (#1111 / #1116 track it). |
…tCTA Match #1109/#1110/#1116: remove the in-body 'Get in touch on LinkedIn' from master-thesis.md (was L36 on main) instead of tagging it. The thesis test now follows #1110's pattern (no in-body anchor, no 'Get in touch' in the body, ContactCTA after </main> in [...slug].astro); the separate thesis tagging lock is dropped.
Vera Dual OWN PASS WITH NITS on
|
…1642) * fix(hire): add 404 to HireSurface + tag thesis CTA HireSurface now lists every surface the site emits: 404 (NotFoundContent), now and reading-list (experimental pages), and case_study. A source scan in identity.test.ts locks data-hire-surface / surface: / trackHireEvent values to HireSurface. The thesis case in-body 'Get in touch on LinkedIn' is tagged hire_cta_click / case_study (no open PR removes it). Copy, href and styles unchanged. * fix(hire): drop thesis in-body Get in touch; hire stays chrome ContactCTA Match #1109/#1110/#1116: remove the in-body 'Get in touch on LinkedIn' from master-thesis.md (was L36 on main) instead of tagging it. The thesis test now follows #1110's pattern (no in-body anchor, no 'Get in touch' in the body, ContactCTA after </main> in [...slug].astro); the separate thesis tagging lock is dropped.
Johan (Lead UX) — Dual OWN PASS WITH NITS on
|
| Viewport | Hire links → linkedin.com/in/alehar | End of main → CTA top | Page height | Button at bottom of page |
|---|---|---|---|---|
| 1280×800 | 1 "Get in touch" hire_cta_click/contact_cta, hint LinkedIn (prod 2: +1 untagged in main) |
80px (=prod 8a114f67) |
1708 (−40) | in view, y 423–490, click hits |
| 1024×768 | 1 (prod 2) | 80 | 1867 (−40) | in view, hits |
| 390×844 | 1 (prod 2) | 80 | 2778 (−64) | in view, hits |
| 375×812 | 1 (prod 2) | 80 | 2801 (−64) | in view, hits |
- Nothing shifts and no gap is left: the page just ends at Outcome / TL;DR, and the CTA spacing is the normal 80px stack gap. CLS is identical to prod.
- No
mailto:, no PDF, no overflow-x and 0 page errors. Nav and footerLinkedInare unchanged. - Not a dead end: Outcome leads straight into the full-width "Get in touch on LinkedIn" section, which is in view with a clickable button at the bottom on all four sizes.
- Spot-check:
/,/work/and/work/user-behavior-analytics/match prod. The preview's ifs-design-system CTA is untagged only because the branch predates fix(hire): /work/ #1109 nits: ContactCTA lock, trim padding, tag ifs-design-system CTA #1638.
Merge: CLEAN / MERGEABLE. merge-tree is clean against main 8a114f67 and the newer ce35c508 (#1642), against #1116, and as main+#1110 then #1116. CI: green.
Nit (soft): the negative assertion only matches the exact untagged <a …>Get in touch on LinkedIn</a> string. A #1638-style tagged copy (data-hire-event=… data-hire-surface="case_study") would slip through. expect(md).not.toMatch(/Get in touch on LinkedIn/) would close that.
FYI (consistency, out of scope): main is now ce35c508, where #1642 dropped the thesis in-body CTA. Once #1110 and #1116 land, ifs-design-system is the only case with an in-body hire link (tagged case_study via #1638). That's a real inconsistency: one case has two hire doors and the other three have one. It's already covered by spec #979 → PR #983, which is open but CONFLICTING. Refresh #983 rather than filing a new spec.
Draft state unchanged. Overlay 69ca717 untouched, hire is LinkedIn only, and #800 isn't touched. The squash HOLDs for Vera's Dual OWN and CI. Screenshots are at /workspace/johan-1110-1116/1110-*-bottom.png on the box.
|
Vera LIVE Dual PASS for #1110 on prod |
#1643) * docs(work): case meta descriptions describe the case, not the hire CTA Case pages are chrome-only for hire now (#1109/#1110/#1116/#983/#1642), but their meta/og/twitter and JSON-LD WebPage/CreativeWork descriptions still ended with 'Get in touch on LinkedIn.'. Add a per-case metaDescription (schema: 1-160 chars) built only from each case body and use it for all of those. Card descriptions, RSS and visible copy are unchanged. Lock: every case meta description is non-empty, <=160 chars, has no 'Get in touch'. HireSurface keeps case_study as legacy (unused in src) and the surface scan now accepts single, double and backtick quotes. * docs(work): copilots meta description per Eden Eden copy review on #1643: PASS for 1, 3, 4, 5; #2 (ai-coding-copilots) swapped to Eden's text.
Resolve ai-coding-copilots.md: drop the in-body 'Get in touch on LinkedIn' link (keeps #1105/#1110 chrome-only hire); redo the Approach trim against today's text; keep the plain case-continue link to the IFS Design System case. Resolve identity.test.ts: keep every main test block, append the #1017 test (prettier), plus asserts for no in-body Get in touch/LinkedIn and no pill class.
) * feat(whats-new): map 7 visitor changelog rows + strip-all (#N) Closes #1163 Seven Matt-locked live-feed subjects → visitor titles. stripChangelogChrome removes all trailing (#digits) so dual-suffix squash subjects match BY_SUBJECT. * feat(whats-new): visitor titles for current Last 30 days lines; last (#N) lookup Map the release lines that currently render (or are candidates) in What's New This week / Last 30 days to plain visitor titles, apply Johan's rewords (6097514988) to the #864/#825/#823/#803 rows, and look up the LAST (#N) in a squash title so issue refs don't shadow the PR. No new drop filters. Part of #1163. * feat(whats-new): final visitor titles; keep analytics internals off the feed Eden copy PASS titles for #1107/#1109/#983/#1110/#1116/#1642/#1635. Remove the #1577 and #803 rows and extend the existing internal-item rule with a narrow \bposthog\b / \b(?:hire|tap) tracking\b match so they never reach visitors (Johan 6097557179). Part of #1163. * feat(whats-new): visitor title for #945 (pending Eden) Map 'in-sentence What's New link to /whats-new/' to 'The “This site” page now links to What’s New from its text' (#945 links What's New in the /this-site/ sentence), with a pin test. Part of #1163. * feat(whats-new): Eden final title for #945 'The “This site” page now links to What’s New' (Eden PASS). Part of #1163.
Summary
Get in touch on LinkedInfromsrc/content/work/ai-coding-copilots.md.<ContactCTA />after</main>(#928keep). Do not densify (#1059).#1105chrome-only lock; invert PAO section CTA expect.Spec
Closes #1105
Locks
Overlay
69ca717. Hire LinkedIn. Soft dims N/A. Stay off#800. Stay off Lidköping. Off live25290911.Stay DRAFT until Dual CLOSE (Johan+Vera) → Nick Dual CLOSE FINAL READY. Dual path. Do not mark ready.