fix: cyrillic fonts, dev certs, page head, and ru-text typography (#67)
🤖 PR generated for branch `fix/cyrillic-fonts-dev-certs-and-page-head`.
### Changes Summary
- **Fonts**: Add Cyrillic glyph subsets for Lato, EB Garamond, and Fira
Code.
- **Dev**: Support remote Root CA and encrypted dev CA key in
`.env.dev`.
- **UI & Kits**: Add size variant to `Breadcrumbs` component and enlarge
`PageHead` breadcrumbs with tuned collapse scroll threshold.
- **ESLint**: Add `no-hanging-particles` i18n & markdown typography rule
with auto-fixer.
- **Content & i18n**: Apply `ru-text` editorial and typography polish
(em dashes, number ranges, «ё» restoration, non-breaking spaces) across
`services/www` and `services/docs`.
This commit is contained in:
1 parent
c6487dc258
commit
b3638f4d63
111 files changed
+2350
-1512
No files matched your search
@@ -3,7 +3,7 @@ title: Troubleshooting
|
||||
weight: 5
|
||||
---
|
||||
|
||||
**Quetza** troubleshooting focuses on diagnosing structural and conceptual issues. Because of its convention-based nature, most errors are silent (missing files) rather than noisy (stack traces).
|
||||
**Quetza** troubleshooting focuses on diagnosing structural and conceptual issues. Because of its convention-based nature, most errors are silent (missing files) rather than noisy (stack traces).
|
||||
|
||||
## Common Issue Categories
|
||||
|
||||
|
||||
@@ -3,39 +3,39 @@ title: Diagnostics Guide
|
||||
weight: 1
|
||||
---
|
||||
|
||||
**Goal:** Identify and fix common pitfalls in Quetza development.
|
||||
**Goal:** Identify and fix common pitfalls in Quetza development.
|
||||
|
||||
## 1. Module Discovery Failures
|
||||
|
||||
**Symptom:** The bot starts, but my module is ignored.
|
||||
**Cause:** Violation of filesystem conventions.
|
||||
**Symptom:** The bot starts, but my module is ignored.
|
||||
**Cause:** Violation of filesystem conventions.
|
||||
|
||||
{{% details title="Checklist: Directory Structure" closed="false" %}}
|
||||
|
||||
- [ ] Does `src/modules/<name>/` exist?
|
||||
- [ ] Does `module.ts` export `name`?
|
||||
- [ ] Are commands in `commands/` (not `cmds/`)?
|
||||
- [ ] Did you run `pnpm build`? (Quetza runs from `dist/`).
|
||||
- [ ] Are commands in `commands/` (not `cmds/`)?
|
||||
- [ ] Did you run `pnpm build`? (Quetza runs from `dist/`).
|
||||
{{% /details %}}
|
||||
|
||||
## 2. Command Registration Issues
|
||||
|
||||
**Symptom:** `/command` does not appear in Discord.
|
||||
**Symptom:** `/command` does not appear in Discord.
|
||||
|
||||
### Global vs. Test Guild Registration
|
||||
|
||||
- **Global:** Commands pushed to the application globally can take up to 1 hour to propagate and are subject to stricter rate limits.
|
||||
- **Test Guild:** Quetza automatically pushes commands to a specific guild in development mode for instant updates.
|
||||
- **Requirement:** Ensure `NODE_ENV=development` and `DEV_GUILD_ID` is correctly set in your `.env`.
|
||||
- **Global:** Commands pushed to the application globally can take up to 1 hour to propagate and are subject to stricter rate limits.
|
||||
- **Test Guild:** Quetza automatically pushes commands to a specific guild in development mode for instant updates.
|
||||
- **Requirement:** Ensure `NODE_ENV=development` and `DEV_GUILD_ID` is correctly set in your `.env`.
|
||||
|
||||
### Rate Limits
|
||||
|
||||
Frequent updates to global commands may trigger Discord's rate limits. Use a test guild for iterative development.
|
||||
Frequent updates to global commands may trigger Discord's rate limits. Use a test guild for iterative development.
|
||||
|
||||
## 3. Interaction Failures
|
||||
|
||||
**Symptom:** "The application did not respond".
|
||||
**Cause:** Command took > 3 seconds without deferral.
|
||||
**Symptom:** "The application did not respond".
|
||||
**Cause:** Command took > 3 seconds without deferral.
|
||||
|
||||
**Solution:**
|
||||
|
||||
@@ -53,21 +53,21 @@ await interaction.editReply('Done');
|
||||
## 4. State Management Leaks
|
||||
|
||||
**Symptom:** Bot memory usage grows; cross-server weirdness.
|
||||
**Cause:** Storing state globally instead of per-guild.
|
||||
**Cause:** Storing state globally instead of per-guild.
|
||||
|
||||
**Diagnostic:**
|
||||
Check your Controller.
|
||||
|
||||
- ❌ `private player: AudioPlayer;` (Shared by everyone!)
|
||||
- ✅ `private players = new Map<string, AudioPlayer>();` (Scoped by ID).
|
||||
- ❌ `private player: AudioPlayer;` (Shared by everyone!)
|
||||
- ✅ `private players = new Map<string, AudioPlayer>();` (Scoped by ID).
|
||||
|
||||
## 5. Event Handling
|
||||
|
||||
**Symptom:** Events fire multiple times or not at all.
|
||||
**Symptom:** Events fire multiple times or not at all.
|
||||
|
||||
- **Multiple:** Events are additive. Did you register the same handler in two modules?
|
||||
- **None:** Did you export `name` and `execute` correctly?
|
||||
- **Multiple:** Events are additive. Did you register the same handler in two modules?
|
||||
- **None:** Did you export `name` and `execute` correctly?
|
||||
|
||||
> [!TIP]
|
||||
> **Debug Mode:**
|
||||
> Enable verbose logging to see exactly which modules and commands are loaded at startup.
|
||||
> Enable verbose logging to see exactly which modules and commands are loaded at startup.
|
||||
Reference in new issue
Block a user