One family. Font stacks name Zen and fall back to the native faces, tokens
name the role rather than a face, and the packages that used to supply a
face now point at @hanzo/font.
Self-hosted @font-face blocks are removed rather than renamed: rewriting the
family in one would leave a src pointing at a file this repo no longer ships.
@hanzo/font carries the binaries and declares the faces, so the local copies
go with the declaration that used them.
Comments naming a face we no longer use are deleted, not reworded.
BEACON_URL was https://sentry.io/remote/beacon/ and every self-hosted install
POSTed to it on a schedule. The payload is not anonymous by default: alongside
install id, version and usage counts it carries get_all_package_versions() — the
full dependency inventory of the running instance — and, whenever
`beacon.anonymous` is off, "admin_email", the address in system.admin-email.
So the fork's own operators were reporting their contact details and software
inventory to a third party, and the settings page explained the arrangement as
though it were still upstream's product. It now posts to api.hanzo.ai/v1/beacon,
and the copy on that page says so, which it could not honestly do before.
Three more outbound identities went with it. USER_AGENT announced every request
this server makes as "sentry/<version> (https://sentry.io)". The Jira and
Bitbucket app descriptors named Functional Software as the vendor — that string
is what a customer reads in the Atlassian marketplace before installing. And the
MS Teams cards sent people to sentry.io/signup for an account they cannot use
here.
Left alone: comments citing upstream issues, form placeholders, and the OIDC
`iss` claim, which is a token-validation input rather than a link.
Co-authored-by: Hanzo Dev <[email protected]>
sentry-pattern.png is a doodle tile with the Sentry script wordmark drawn into
it, and it existed twice: once under images/email, once under static/images/
pattern. The email copy lost its only reference with the template pass. The other
was live — webpack aliases sentry-images to static/images, so the install wizard
and .pattern-bg were both painting the upstream mark as a page background.
Neither use is load-bearing. The wizard's ::after existed only to hold the tile,
and layout.less keeps its ground colour. Redrawing the doodle in Hanzo's marks
would be inventing an illustration to replace one nobody needs, so both files are
deleted rather than substituted.
SHOW_LOGIN_BANNER goes too: the login banner it gated was two hardcoded upstream
campaigns, and with those removed the setting had no reader left.
LLM.md said "Branded as: Hanzo Sentry", which the code no longer agrees with.
Co-authored-by: Hanzo Dev <[email protected]>
FSL-1.0-Apache-2.0 grants us the code, not the name. "Sentry" is
Functional Software's trademark, so every place the running app says it
to a user -- page titles, onboarding, empty states, toasts, settings
copy, the self-hosted footer -- now says Sentinel.
Attribution is the other half of the deal and stays untouched: upstream
copyright headers, LICENSE, NOTICE. So does anything where the mark is a
fact rather than a brand -- @sentry/* packages, sentry-cli, the wizard
and bundler plugins, docs.sentry.io, the whole gettingStartedDocs tree.
Renaming those would leave instructions that no longer work.
Nothing structural moved. No import, identifier, route path, feature
flag, API field or test id changed; the diff is 312 lines in and 312
out. Colocated specs were updated in lockstep with the copy they assert.
Marketing and community links point at hanzo.ai, only where a real page
exists to point at.
Co-authored-by: Hanzo Dev <[email protected]>