feat(message): add human-like typing simulation#106
Open
abdelrahmanmegaly-jpg wants to merge 11 commits into
Open
feat(message): add human-like typing simulation#106abdelrahmanmegaly-jpg wants to merge 11 commits into
abdelrahmanmegaly-jpg wants to merge 11 commits into
Conversation
Add a Simplified Chinese locale to the dashboard, following the i18n pattern introduced in rmyndharis#64. Chinese is now available alongside English and Hebrew via the existing sidebar language switcher. What's included: - New `src/i18n/locales/zh.json` mirroring the structure of `en.json`, covering all pages, components, and toast messages (404 keys + a new `common.chinese` label, identical hierarchy to `en.json`) - `zh` registered in `src/i18n/index.ts` (`supportedLanguages`, `resources`) so the language detector picks up `zh-*` browsers automatically and the cycle-language button rotates through it - Language label in `Layout.tsx` switched from a binary `he`/EN ternary to a `SupportedLanguage` lookup, so adding more languages later only requires extending the map; `zh` shows as `中文` - `common.chinese` key added to `en.json` for parity with the existing `common.english` / `common.hebrew` entries No code, API, schema, or styling changes outside i18n. RTL list is unchanged (Chinese is LTR). Existing users see no behavior change unless their browser is set to `zh-*` or they pick 中文 from the sidebar. Verified: - `npm run build` passes (tsc -b clean, vite build succeeds) - `npm run lint` reports no new errors (3 pre-existing warnings) - Key parity check: `en.json` and `zh.json` have identical key sets apart from the intentional new `common.chinese` - Chinese strings present in the production bundle (verified via grep on `dist/assets/index-*.js`)
- Add HumanizeService with configurable typing speed (slow/normal/fast) - Add simulateTyping/simulateRecording to IWhatsAppEngine interface - Implement typing indicator in WhatsAppWebJsAdapter - Add humanize option to send-text API endpoint - Support bulk message humanize with per-message delays - Add typing speed toggle in MessageTester dashboard - Add i18n support (English + Hebrew) for humanize labels - Fix Docker service TypeScript type error in PortBindings
The Swagger document defined the X-API-Key scheme via addApiKey() but never applied it, so no operation declared a security requirement and Swagger UI never sent the key. Requests reached the global ApiKeyGuard with no key and got 401 Unauthorized. Extract the config into createSwaggerConfig(), apply the scheme globally with addSecurityRequirements, and remove 5 stray @ApiBearerAuth() decorators that referenced an undefined bearer scheme. Fixes rmyndharis#104
…h locale, dashboard updates)
…ish) + add Arabic locale with RTL - Merge upstream PR rmyndharis#86: Chinese locale (zh.json) - Merge upstream PR rmyndharis#114: Spanish locale (es.json) + dashboard updates - Add Arabic translation (ar.json) with full RTL support - Improve language selector UI (button + dropdown matching sidebar buttons) - Add Arabic to rtlLanguages alongside Hebrew - Resolve merge conflicts in Layout.tsx and i18n/index.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add human-like typing simulation to message sending. Messages now show a typing indicator with configurable speed before delivery, making automated messages feel more natural.
Features
slow— 2.5 chars/secnormal— 4.5 chars/secfast— 6.5 chars/secchat.sendStateTyping()with periodic refreshAPI Usage
Type of Change
Checklist