Skip to content

chore: rename Char → Anarlog (source-level)#5144

Merged
ComputelessComputer merged 3 commits intomainfrom
chore/anarlog-rename-source
May 1, 2026
Merged

chore: rename Char → Anarlog (source-level)#5144
ComputelessComputer merged 3 commits intomainfrom
chore/anarlog-rename-source

Conversation

@ComputelessComputer
Copy link
Copy Markdown
Collaborator

@ComputelessComputer ComputelessComputer commented Apr 30, 2026

Source-level rename: Char → Anarlog. Stacks on #5141.

Touches only user-visible product metadata. No infra, no CD, no updater, no internal package renames.

Changes

  • tauri.conf.{,stable,staging,nightly}.jsonproductName and mainBinaryName flipped to Anarlog
  • Cargo.toml description string
  • package.json dev:relay echo string
  • Removed dead pro channel resources (icons + macOS resources, ~1.9MB freed)
  • Removed unused resources/models/cactus/char-vlm/ (was never bundled — placeholder dir)
  • Renamed icon source masters: char-*.pnganarlog-*.png (image content was already swapped previously; filename hygiene only)
  • Added packages/changelog/content/1.0.25.md — rename banner entry

Out of scope (intentional)

These are preserved to avoid breaking existing users and to keep the PR scoped:

  • Bundle identifiers com.hyprnote.* — keeping these means macOS treats the app as the same app (settings + data carry over cleanly)
  • Deep-link schemes hyprnote, hyprnote-staging, hyprnote-nightly — preserves magic links from emails, calendar invites
  • Updater endpoint desktop2.hyprnote.com — what every existing v1.0.x app polls for updates; changing this risks bricking auto-update
  • hyprnote_desktop_lib Rust lib name, @hypr/* workspace deps, hypr-* internal crates — repo-internal naming, no user-visible benefit, large cascading change
  • Cactus STT integration code (crates/transcribe-cactus/, references in CLI/API/desktop settings) — only the bundled VLM model directory was removed; the transcription provider stays. Separate decision.

Verification

  • pnpm exec dprint fmt — clean
  • pnpm -F desktop typecheck — clean
  • cargo check — pre-existing workspace error (apps/claw missing on disk), unrelated to this PR

Sequencing

  1. This PR merges
  2. blog: Char Is Now Anarlog announcement + chip repoint #5141 (announcement post) un-drafted and merged together with this
  3. Yujong + I tweak desktop_publish.yaml so final nightly resolves to https://char.com/changelog/1.0.25 instead of GitHub compare URL
  4. Cut final nightly tag (1.0.25-nightly.X)
  5. Cut stable tag (1.0.25)
  6. Sunset nightly channel post-ship

Co-author

Drafted by Cortana (Hermes). Review for product-string accuracy, scope discipline, and any deep-link/updater concerns I may have missed.


Note

Medium Risk
Mostly string/config renames and asset cleanup, but changing Tauri productName/mainBinaryName and removing bundled resources could impact packaging/release automation and any tooling that assumes the old binary/resource names.

Overview
Rebrands the desktop app’s user-facing metadata from Char → Anarlog by updating Tauri configs (tauri.conf*.json), the Tauri Rust Cargo.toml description, and a dev script message.

Updates the web UI rename messaging to point to a new announcement post (char-is-now-anarlog) and adds that post plus a 1.0.25 changelog banner entry.

Cleans up now-dead bundle assets by removing pro Android icon XMLs and dropping previously-listed macOS/resources entries (including the unused resources/models/cactus/char-vlm/ directory).

Reviewed by Cursor Bugbot for commit f2a55ee. Bugbot is set up for automated code reviews on this repo. Configure here.

Cortana (Hermes) and others added 2 commits April 30, 2026 12:18
- New post drafted from John's apr 27 community message + Operation Supernova context
- Inherits the Hyprnote→Char ownership thesis, extends it with the privacy/local-first frame
- Addresses lifetime users explicitly (both products honored)
- Repoints the homepage announcement chip and social testimonials line to the new post

Co-authored-by: John Jeong <john@fastrepl.com>
- Update productName/mainBinaryName in tauri.conf.{,stable,staging,nightly}.json
- Update Cargo.toml description
- Update dev:relay script string in package.json
- Remove dead pro channel resources (icons/pro/, resources/pro/)
- Remove unused cactus/char-vlm bundled model directory
- Rename icon source masters: char-* → anarlog-*
- Add changelog entry 1.0.25 with rename banner

Out of scope (intentional):
- com.hyprnote.* bundle identifiers (preserve macOS app continuity)
- hyprnote-* deep-link schemes (preserve magic links)
- desktop2.hyprnote.com updater endpoint (preserve auto-update)
- @hypr/* workspace deps and hypr-* internal crate names
- Cactus STT integration (separate decision)

Stacks on: blog/char-is-now-anarlog (PR #5141)
@ComputelessComputer
Copy link
Copy Markdown
Collaborator Author

Code Review — PR #5144

Verdict: Request Changes (1 critical, 1 warning, scope is otherwise clean)

🔴 Critical

  • .tmp/reference/ and .tmp/soniqo-bridge-spec.md got committed. These are scratch files for a totally separate task (porting Soniqo on-device transcription into a new crates/soniqo-bridge). They're 4500+ lines of unrelated reference code and a spec doc that has nothing to do with the rename.
    • Includes another project's Cargo.toml (unsigned-char crate metadata, not anarlog's), Swift bridge sources, model registry code, and an internal task spec.
    • Action: git rm -r .tmp/ on the branch, then add .tmp/ to .gitignore (currently not ignored — that's how this happened). This will cut the diff from ~4669 to ~170 insertions, which is what the PR description actually claims to ship.

⚠️ Warning

  • Bundle identifier strategy needs a one-line confirmation in the PR body. You note com.hyprnote.* is preserved intentionally so existing macOS users keep their app data — that's correct, but worth explicitly calling out that the user-visible app name flipping while the bundle ID stays the same is a tested macOS pattern (Finder shows the new name, ~/Library/Application Support/com.hyprnote.stable/ keeps the data). Just so reviewers/Yujong don't second-guess on merge.

💡 Suggestions

  • packages/changelog/content/1.0.25.md — the <banner> markup is correct (matches the 1.0.20.md pattern). One nit: the link text is /blog/char-is-now-anarlog but the href is https://char.com/blog/char-is-now-anarlog. Fine for now since the desktop changelog renderer renders this for users still on char.com, but post-domain-migration that link will break. Worth a TODO in Operation Supernova's redirect map (which you've already scoped out — just flagging).
  • Resource removals (icons/pro/, resources/pro/, resources/models/cactus/char-vlm/) — verified no remaining references in apps/desktop/ (json/rs/toml/ts). Clean removal. Good hygiene.
  • Renamed icon source masters (char-*.pnganarlog-*.png in icons/src/) — only filename, content already swapped. Make sure no build script or icon-generation Makefile globs char-*.png. Quick grep:
    grep -rn "char-nightly\|char-pro\|char-prod\|char-staging" apps/desktop/src-tauri/

✅ Looks Good

  • Scope discipline is the right call. Keeping com.hyprnote.* identifiers + hyprnote:// deep links + desktop2.hyprnote.com updater endpoint preserved is exactly right for not bricking existing users. The "out of scope" list in the PR body is well-reasoned.
  • All four tauri.conf.{,stable,staging,nightly}.json files updated consistently — productName + mainBinaryName both flipped, identifier preserved.
  • dprint fmt clean against this PR's diff.

🔗 Sequencing

Both PRs need to merge in order: this one (5144) first, then the announcement (5141) un-drafted. Confirmed in body.


Reviewed by Cortana

Base automatically changed from blog/char-is-now-anarlog to main May 1, 2026 01:08
The .tmp/ directory was accidentally committed in the previous rename
commit — it holds local reference material for an unrelated task and
should never have entered the index.

- git rm --cached -r .tmp/ (10 files, ~4500 lines)
- Added .tmp/ to .gitignore so this can't recur

Files remain on disk locally; only untracked from git.
@netlify
Copy link
Copy Markdown

netlify Bot commented May 1, 2026

Deploy Preview for hyprnote canceled.

Name Link
🔨 Latest commit f2a55ee
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/69f3fd7b4e95af0009c72bee

@ComputelessComputer ComputelessComputer marked this pull request as ready for review May 1, 2026 01:21
@ComputelessComputer ComputelessComputer merged commit 5c9f3e9 into main May 1, 2026
7 of 8 checks passed
@ComputelessComputer ComputelessComputer deleted the chore/anarlog-rename-source branch May 1, 2026 01:22
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f2a55ee. Configure here.

<Link
to="/blog/$slug/"
params={{ slug: "hyprnote-is-now-char" }}
params={{ slug: "char-is-now-anarlog" }}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reused localStorage key hides new announcement from existing users

Medium Severity

ANNOUNCEMENT_STORAGE_KEY is still "char_announcement_dismissed" from the previous "Hyprnote is now Char" banner. The banner text and link were updated to announce the Char → Anarlog rename, but the dismissal key was not changed. Any user who dismissed the old banner already has this key set to "true" in localStorage, so they will never see the new Anarlog rename announcement — exactly the audience that most needs to see it.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit f2a55ee. Configure here.

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