@m13v/seo-components 0.38.1 → 0.38.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m13v/seo-components",
3
- "version": "0.38.1",
3
+ "version": "0.38.3",
4
4
  "scripts": {
5
5
  "build:css": "tailwind -i src/_build.css -o dist/styles.css --minify",
6
6
  "lint:mobile-spans": "node scripts/lint-mobile-spans.mjs",
@@ -268,7 +268,7 @@ export function FounderChatPanel({
268
268
  <button
269
269
  type="button"
270
270
  onClick={handleOpen}
271
- aria-label={`Chat with ${founderName}`}
271
+ aria-label="Chat with founder"
272
272
  style={{
273
273
  display: "flex",
274
274
  alignItems: "center",
@@ -301,14 +301,14 @@ export function FounderChatPanel({
301
301
  >
302
302
  {founderName.slice(0, 1).toUpperCase()}
303
303
  </span>
304
- chat with {founderName}
304
+ chat with founder
305
305
  </button>
306
306
  )}
307
307
 
308
308
  {open && (
309
309
  <div
310
310
  role="dialog"
311
- aria-label={`Chat with ${founderName}`}
311
+ aria-label="Chat with founder"
312
312
  style={{
313
313
  width: 360,
314
314
  maxWidth: "calc(100vw - 40px)",
@@ -46,8 +46,17 @@ export interface DmShortLinkRedirectConfig {
46
46
  * (Google publishes this; any real Android user is on a current device).
47
47
  * - AI-Innovation-Radar, a named AI/news scraper.
48
48
  * - AFMMainUI/Darwin, Apple's Ads-For-Messages link prefetch (no human tap).
49
+ *
50
+ * 2026-05-10: extended after a 24h click audit found four leak patterns
51
+ * sitting in the human pile:
52
+ * - LinkResolver/1.0 and link-resolver/1.0 (named link-unfurl bots,
53
+ * no "bot/crawler" token in the UA).
54
+ * - Bare "Mozilla/5.0 (compatible)" with no engine info (no real browser
55
+ * ever sends just this; spoofed minimal fingerprint).
56
+ * - curl/<version> (generic HTTP client; "axios/" was already caught,
57
+ * curl was missed).
49
58
  */
50
- const BOT_UA_RE = /bot|crawler|spider|Twitterbot|LinkedInBot|Slackbot|facebookexternalhit|Discordbot|TelegramBot|WhatsApp|Applebot|Googlebot|Bingbot|YandexBot|DuckDuckBot|redditbot|Pinterest|Embedly|Snapchat|axios\/|python-requests|python-urllib|node-fetch|^node$|dataminr|Anthill|^Mozilla\/5\.0$|Chrome\/70\.|Nexus 5X Build\/MMB29P|AI-Innovation-Radar|^AFMMainUI/i;
59
+ const BOT_UA_RE = /bot|crawler|spider|Twitterbot|LinkedInBot|Slackbot|facebookexternalhit|Discordbot|TelegramBot|WhatsApp|Applebot|Googlebot|Bingbot|YandexBot|DuckDuckBot|redditbot|Pinterest|Embedly|Snapchat|axios\/|python-requests|python-urllib|node-fetch|^node$|dataminr|Anthill|^Mozilla\/5\.0$|Chrome\/70\.|Nexus 5X Build\/MMB29P|AI-Innovation-Radar|^AFMMainUI|LinkResolver|link-resolver|^Mozilla\/5\.0 \(compatible\)$|^curl\//i;
51
60
 
52
61
  /**
53
62
  * Factory for `GET /r/[code]`.