Skip to content

Copilots: Get in touch from chrome only (#1105) - #1110

Merged
alehar9320-bot merged 3 commits into
mainfrom
dan/1105-copilots-chrome-hire
Oct 9, 2026
Merged

alehar9320-bot merged 3 commits into
mainfrom
dan/1105-copilots-chrome-hire

Conversation

@alehar9320-bot

Copy link
Copy Markdown
Collaborator

Summary

  • Drop in-body Get in touch on LinkedIn from src/content/work/ai-coding-copilots.md.
  • Keep slug <ContactCTA /> after </main> (#928 keep). Do not densify (#1059).
  • Identity: replace copilots in-body CTA lock with #1105 chrome-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 live 25290911.

Stay DRAFT until Dual CLOSE (Johan+Vera) → Nick Dual CLOSE FINAL READY. Dual path. Do not mark ready.

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

@Mergifyio refresh

@mergify

mergify Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

refresh

✅ Pull request refreshed

@alehar9320
alehar9320 temporarily deployed to dan/1105-copilots-chrome-hire - astro-cloudflare-personal-website-web-service PR #1110 October 9, 2026 09:04 — with Render Destroyed
@coderabbitai

coderabbitai Bot commented Oct 9, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cbe2c40a-43cd-445a-b702-cd583501d026

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

@codecov

codecov Bot commented Oct 9, 2026

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

Affected Assets, Files, and Routes:

view changes for bundle: molecular-mars-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
_astro/page.CBZbBu1R.js (New) 333.55kB 333.55kB 100.0% 🚀
_astro/module.C9ZsmiQG.js (New) 289.4kB 289.4kB 100.0% 🚀
_astro/Chat.astro_astro_type_script_index_0_lang.BB5gad-B.js (New) 11.45kB 11.45kB 100.0% 🚀
_astro/PostHog.astro_astro_type_script_index_0_lang.DTzaqpbI.js (New) 2.19kB 2.19kB 100.0% 🚀
_astro/hire-analytics.C9NoVYel.js (New) 1.37kB 1.37kB 100.0% 🚀
_astro/BaseLayout.astro_astro_type_script_index_0_lang.Dk54w0m5.js (New) 690 bytes 690 bytes 100.0% 🚀
_astro/contact.astro_astro_type_script_index_0_lang.Bkeh3jLc.js (New) 554 bytes 554 bytes 100.0% 🚀
_astro/page.DhwzH-2Q.js (Deleted) -333.55kB 0 bytes -100.0% 🗑️
_astro/module.C4en7q85.js (Deleted) -289.4kB 0 bytes -100.0% 🗑️
_astro/Chat.astro_astro_type_script_index_0_lang.YQqER2d5.js (Deleted) -11.45kB 0 bytes -100.0% 🗑️
_astro/PostHog.astro_astro_type_script_index_0_lang.DTvEU88b.js (Deleted) -2.19kB 0 bytes -100.0% 🗑️
_astro/hire-analytics.u1F_dY82.js (Deleted) -1.37kB 0 bytes -100.0% 🗑️
_astro/BaseLayout.astro_astro_type_script_index_0_lang.J9SKneYh.js (Deleted) -690 bytes 0 bytes -100.0% 🗑️
_astro/contact.astro_astro_type_script_index_0_lang.AtWB3KhG.js (Deleted) -554 bytes 0 bytes -100.0% 🗑️

@mergify

mergify Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

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

codecov Bot commented Oct 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

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).

alehar9320-bot added a commit that referenced this pull request Oct 9, 2026
…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.
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Vera Dual OWN PASS WITH NITS on 6afe1d7b (6afe1d7)

Head / scope: b9dffe2 + a merge of main + a Prettier newline, off merge-base 193eb144. Files changed:

  • src/content/work/ai-coding-copilots.md (−2): the in-body LinkedIn link is gone.
  • src/__tests__/identity.test.ts (+9/−5): the tests flip to not.toContain and assert <ContactCTA /> comes after </main> in [...slug].astro.

OPEN, not a draft, MERGEABLE / CLEAN. It also merges cleanly onto main 8a114f67 and together with #1116. CI is green: Build & Test, Quality, CodeQL/Analyze, Workers Builds, codecov, Snyk and CodeRabbit all pass. Mergify, Auto-Merge and Release Metadata are skipping. The preview 7719bbbf has SENTRY_RELEASE = 6afe1d7b ✅

/work/ai-coding-copilots/ (Playwright at 1280 and 390, posthog.capture stubbed, navigation blocked):

  • 0 LinkedIn or "Get in touch" anchors inside <main> (prod has 1, untagged).
  • The page ends on ## Outcome: "Internal AI coding copilots for IFS engineering teams." There's no dangling sentence or leftover empty paragraph.
  • ContactCTA is after </main> and records {surface: "contact_cta"}. The nav (linkedin_click/nav) and footer (linkedin_click/footer) LinkedIn links are tagged.
  • Spacing: </main> → ContactCTA is 80px at both widths, the same as prod. Last Outcome text → CTA heading is 202 at 1280 (= prod) and 213 at 390 (prod 237). Page height is 1708 at 1280 (prod 1748) and 2778 at 390 (prod 2842). There's no blank band; it's the normal section rhythm.
  • The CTA button is 67px on desktop and 46px on phone. It doesn't overlap the docked chat bar. No overflow-x, 0 console errors, no mailto: or PDF. Title: "Internal AI coding copilots | Product Manager, Developer Experience at IFS". An unknown path returns 404.

Nits (soft)

  1. The meta description (description, og and twitter) still ends "…for IFS engineering teams. Get in touch on LinkedIn." That's harmless as share copy, but it now points to a link that's no longer in the body.
  2. Inconsistency for Bob and Nick to decide: after fix(hire): /work/ #1109 nits: ContactCTA lock, trim padding, tag ifs-design-system CTA #1638, ifs-design-system keeps a tagged body link (case_study), while copilots (this PR) and analytics (Analytics: Get in touch from chrome only (#1111) #1116) remove theirs. Pick one pattern for all case studies.
  3. Pre-existing: the Problem and Outcome sentences on this case are almost the same ("Internal AI coding copilots for IFS engineering teams."). Now that Outcome is the last thing visitors read, that stands out more. This is a copy follow-up, not for this PR.

Johan: no Dual OWN on this tip yet, only Bob's owner PASS (6077875291). Dual CLOSE waits on Johan's OWN of 6afe1d7b. Overlay 69ca717. Hire LinkedIn.

github-actions Bot pushed a commit that referenced this pull request Oct 9, 2026
…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.
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Johan (Lead UX) — Dual OWN PASS WITH NITS on 6afe1d7b (6afe1d7)

Spec #1105: met.

  • Scope: ai-coding-copilots.md loses the in-body <a>…Get in touch on LinkedIn</a> and its blank line (−2). The identity.test.ts copilots expects are inverted and a (#1105) test is added. No tests are dropped.
  • No CSS changes. .content :global(a) is generic and still used, so nothing is orphaned.
  • ContactCTA stays after </main> in [...slug].astro. No narrative densify and no invented metrics.

Preview 7719bbbf (SENTRY_RELEASE = 6afe1d7) against prod 8a114f67, /work/ai-coding-copilots/:

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 footer LinkedIn are 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.

@alehar9320-bot
alehar9320-bot merged commit cc41498 into main Oct 9, 2026
14 checks passed
@alehar9320-bot
alehar9320-bot deleted the dan/1105-copilots-chrome-hire branch October 9, 2026 09:26
@alehar9320-bot

Copy link
Copy Markdown
Collaborator Author

Vera LIVE Dual PASS for #1110 on prod 536b0f9a (SENTRY MATCH, 11:30 CEST). Heights match the preview, there are 0 in-body hire links, ContactCTA records contact_cta, and there are no errors, overflow or mailto:. Full results are in #1116 (comment). Overlay 69ca717. Hire LinkedIn.

github-actions Bot pushed a commit that referenced this pull request Oct 9, 2026
#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.
alehar9320-bot added a commit that referenced this pull request Oct 10, 2026
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.
alehar9320-bot added a commit that referenced this pull request Oct 10, 2026
…he 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.
alehar9320-bot added a commit that referenced this pull request Oct 10, 2026
)

* 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.

This branch was successfully deployed

No deployments
dan/1105-copilots-chrome-hire - astro-cloudflare-personal-website-web-service PR #1110 — 6afe1d7b Deployed Oct 9, 2026 by alehar9320
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.

Visitors on the copilots case take Get in touch from chrome, not a second primary under the essay

2 participants