chore(brand): rename the product to ReplyPier

The upstream project name is gone from code, assets, docs and build
output: brand strings, domains (replypier.site and its app/api/docs/help
subdomains), env prefixes, image and network names, the widget's public
JS API (window.ReplyPier, replypierId/BaseUrl/Config/Token), CSS tokens
(--rp-*), file and directory names, and the WordPress plugin package.

- widget loader is now webclient/replypier.min.js; both bundles rebuilt
  from source (backend/assets/widget.{js,css}, frontend/public/webclient)
- NOTICE, llms.txt, CONTRIBUTING, HELP_CENTER_INFRA and config.dev.js
  rewritten rather than string-swapped; the demo config no longer ships
  the previous vendor's Firebase/Razorpay/Google keys
- new migration replypier_ai_model_001 adds REPLYPIER to the managed
  AIModelType and rewrites pre-rename rows
- local compose project, database, role and volume renamed; LOCAL_DEPLOY
  documents carrying the old local data over
This commit is contained in:
WangShen007 committed 2026-10-26 00:51:03 +08:00
1 parent ff0a09f0e5
commit 54b949b392
1156 files changed
+7292 -7147

No files matched your search

+3 -3
View File
@@ -1,5 +1,5 @@
"""
Copyright 2024-2026 ChatterMate
Copyright 2024-2026 ReplyPier
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -152,7 +152,7 @@ def test_faq_seo_fields_round_trip(client):
created = client.post(f"{BASE}/faqs", json={
"question": "What does it cost?", "answer": "From $19.",
"slug": "Pricing & Plans!", "meta_title": "Pricing",
"meta_description": "What ChatterMate costs.",
"meta_description": "What ReplyPier costs.",
})
assert created.status_code == 201
# A hand-typed slug is normalized the same way a generated one is.
@@ -163,7 +163,7 @@ def test_faq_seo_fields_round_trip(client):
updated = client.put(f"{BASE}/faqs/{faq_id}", json={"slug": "our-pricing"})
assert updated.json()["slug"] == "our-pricing"
# Untouched overrides survive a partial update.
assert updated.json()["meta_description"] == "What ChatterMate costs."
assert updated.json()["meta_description"] == "What ReplyPier costs."
def test_faq_slug_is_deduped_but_stable_for_its_own_row(client):