Skip to content

fix(alerts): speak links as domain + path, no http:// on calls - #135

Merged
sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
worktree-alert-speech-no-scheme
Nov 2, 2026
Merged

sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
worktree-alert-speech-no-scheme

Conversation

@sh1pt-actions-fleet

Copy link
Copy Markdown
Contributor

Anthony: "for threatcrush when you call me can you not say the http:// in links just start with domain name ... and path".

  • spokenLinks() in src/lib/alerts/call.ts: https://threatcrush.com/incidents/42?token=x#a is spoken as threatcrush.com/incidents/42; query/fragment and trailing slash dropped, sentence punctuation kept.
  • Applied in alertSpeech (every alert call, ThreatCrush pages included). SMS text is unchanged so links stay tappable.
  • Tests: bunx vitest run src/lib/alerts 23/23.

🤖 Generated with Claude Code

Alert calls read links aloud scheme and all. alertSpeech now runs
spokenLinks first: https://threatcrush.com/incidents/42?t=x becomes
threatcrush.com/incidents/42. Query strings, fragments and a trailing
slash are dropped. Texts keep the full link.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sh1pt-actions-fleet
sh1pt-actions-fleet Bot merged commit 42e15fa into master Nov 2, 2026
8 checks passed
@sh1pt-actions-fleet
sh1pt-actions-fleet Bot deleted the worktree-alert-speech-no-scheme branch November 2, 2026 08:36
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

ThreatCrush Security Scan

14 finding(s)

HIGH/CRITICAL: 2 | MEDIUM: 4 | LOW: 8

Severity Rule Location
HIGH sh-unquoted-expansion-destructive public/install.sh:67
HIGH sh-remote-script-execution public/install.sh:89
MEDIUM sh-remote-script-execution public/install.sh:133
MEDIUM js-open-redirect src/app/numbers/page.tsx:180
MEDIUM js-open-redirect src/components/inbox-client.tsx:35
MEDIUM js-unescaped-html-sink src/components/pit-footer.tsx:17
LOW secret-generic-credential src/lib/providers/__tests__/twilio.test.ts:24
LOW secret-generic-credential src/lib/providers/__tests__/twilio.test.ts:46
LOW secret-generic-credential src/lib/providers/__tests__/twilio.test.ts:60
LOW secret-generic-credential src/lib/providers/__tests__/twilio.test.ts:78
LOW secret-generic-credential src/lib/vault/__tests__/vault.test.ts:117
LOW secret-generic-credential src/lib/webhooks/__tests__/supabase-store.test.ts:11
LOW secret-generic-credential supabase/config.toml:287
LOW secret-generic-credential supabase/config.toml:319

Snippets are redacted; ThreatCrush never prints matched credential material.

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.

1 participant