78a14eb10c431686833e90d86df6b1eb861813da
# PR Checklist - [ ] Did you check if it works normally in all models? *ignore this when it dosen't uses models* - [x] Did you check if it works normally in all of web, local and node hosted versions? if it dosen't, did you blocked it in those versions? - [ ] Did you added a type def? # Description ## Summary This PR updates the `renderChilds` function to properly handle `TextNode` rendering. Previously, `renderChilds` only iterated over `children`, which excluded `TextNode`s and rendered only `HTMLElement`s. Now, the function iterates over `childNodes`, ensuring that: 1. **TextNodes**: Are rendered by displaying their `textContent`. 2. **ElementNodes**: Are rendered as before, using `renderGuiHtmlPart`. ## Context Initially, I wondered whether the absence of `TextNode` rendering might have been due to security considerations. However, since elements like headings (`h1`), lists (`ul`, `li`), and strong text (`strong`) were already being rendered, it seems likely that the exclusion of `TextNode` rendering was an oversight rather than an intentional decision. I believe that these elements are meaningful only when they include text. For example, elements like `h1`, `h2`, `h3`, `p`, `li`, `strong`, `em`, and `code` rely on text content to fulfill their intended purpose. ## Notes If there was a specific reason for excluding `TextNode`s in the original implementation (e.g., for security, intentional design choices, or other constraints), please feel free to reject this PR. I completely understand if this change conflicts with any design decisions or requirements of the project. Thank you for your time and consideration!
RisuAI
RisuAI, or Risu for short, is a cross platform AI chatting software / web application with powerful features such as multiple API support, assets in the chat, regex functions and much more.
Screenshots
| Screenshot 1 | Screenshot 2 |
|---|---|
Features
- Multiple API Supports: Supports OAI, Claude, Ooba, OpenRouter... and More!
- Emotion Images: Display the image of the current character, according to his/her expressions!
- Group Chats: Multiple characters in one chat.
- Plugins: Add your features and providers, and simply share.
- Regex Script: Modify model's output by regex, to make a custom GUI and others
- Powerful Translators: Automatically translate the input/output, so you can roleplay without knowing model's language.
- Lorebook: Also known as world infos or memory book, which can make character memorize more.
- Themes: Choose it from 3 themes, Classic, WaifuLike, WaifuCut.
- Powerful Prompting: Change the prompting order easily, Impersonate inside prompts, Use conditions, variables... and more!
- Customizable, Friendly UI: Great Accessibility and mobile friendly
- TTS: Use TTS to make the output text into voice.
- Additonal Assets: Embed your images, audios and videos to bot, and make it display at chat or background!
- And More!
You can get detailed information on https://github.com/kwaroran/RisuAI/wiki (Work in Progress)
Discord
Installation
- RisuAI Website (Recommended)
- Github Releases
Docker Installation
You can also run RisuAI using Docker. This method is particularly useful for web hosting.
-
Clone the repository:
git clone https://github.com/kwaroran/RisuAI.git cd RisuAI -
Build and run the Docker container:
docker-compose up -d -
Access RisuAI at
http://localhost:6001in your web browser.
Description
Languages
TypeScript
58.9%
Svelte
35.1%
JavaScript
4.4%
Rust
0.5%
Lua
0.3%
Other
0.7%