fix(freehire-search): drop the github.com URL from the User-Agent (#689)

* fix(freehire-search): drop the github.com URL from the User-Agent

#633 put a contact URL in freehire-search's User-Agent. /apply learns which
hosts an installed portal serves from the host literals in its cli/src, so
github.com became a freehire-search board host: any github.com link (a repo
README or gist presented as a job posting) classified as an installed
portal instead of an unverified source host.

Keep the owner/project/version identifier freehire's API docs ask for and
drop the optional contact URL. Pin github.com and gist.github.com as
unverified in the host-check test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QhZWmcevg3UX9udYi1CsHC

* changelog: place the #689 entry under [Unreleased]

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Mads Lorentzen <madslorentzen_17@hotmail.com>
This commit is contained in:
authored and GitHub committed 2026-10-20 08:30:42 +02:00
1 parent f97a759945
commit 64a6c90ec3
4 files changed
+25 -6

No files matched your search

@@ -16,11 +16,14 @@ export function writeError(error: string, code: string): void {
process.stderr.write(JSON.stringify({ error, code }) + "\n")
}
// Names this project, the shape freehire's API docs ask for (owner/project/version
// plus a contact URL), so the API's operators can reach the maintainer before a
// limit or a field changes. The old value linked to freehire.me itself, which
// identified the API, not the caller.
const UA = "MadsLorentzen/ai-job-search/1.0 (+https://github.com/MadsLorentzen/ai-job-search; freehire-search)"
// Names this project in the owner/project/version shape freehire's API docs ask
// for, so the API's operators can find the maintainer before a limit or a field
// changes. The contact URL the docs make optional is left out on purpose: /apply
// learns which hosts a portal serves by reading the host literals in its
// cli/src, so a github.com URL here made every github.com link classify as an
// installed job board instead of an unverified host. The owner/project name
// already identifies the repo on GitHub.
const UA = "MadsLorentzen/ai-job-search/1.0 (freehire-search)"
/** The shared API response envelope: {data, meta, error}. */
export interface Envelope<T> {