Commit Graph

3529 Commits

Author SHA1 Message Date
shirosaki-hana
c1d4b4daa3 Fix: Resolve Realm CORS Violation for Node.js Hosted Version
Problem:

The Node.js hosted version of RisuAI encountered an issue where it failed to fetch data from the Risu Realm server when accessed remotely.

RisuAI's frontend directly fetches data from the Realm server (e.g., sv.risuai.xyz). While the official web version did not exhibit CORS errors (potentially due to same-origin deployment or specific server-side CORS configurations), running the Node.js version on a self-hosted server and accessing it remotely resulted in browser CORS policy violations.

Solution:

The fix involves detecting when the frontend runs in the Node.js host environment.

When this environment is detected, instead of requesting Realm data directly from the external server (sv.risuai.xyz), the frontend now directs the request to a new proxy endpoint (`/hub-proxy/*`) on its own backend server.

The backend proxy then fetches the required data (including JSON and images) from the actual Realm server, correctly handles content types and compression, and relays the response back to the frontend.

This ensures that, from the browser's perspective, the frontend is communicating with its same-origin backend, effectively bypassing browser CORS restrictions and resolving the data fetching issue.
2025-04-10 17:16:21 +09:00
kwaroran
d91dd1b825 Add HTTPS support for RisuAI Node.js hosting version (#795)
# PR Checklist
- [] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
   - N/A
- [] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
   - node hosted version only
- [] Have you added type definitions?
   - N/A

# Description
The Node.js hosting version of RisuAI previously used simple app.listen
for server execution, which didn't support native HTTPS. This caused
several functionality issues due to browser security restrictions when
accessing RisuAI externally, such as realm loading failures and
inability to insert prompt presets.

The updated code now checks for certificate files named server.key and
server.crt in the /server/node/ssl/certificate directory. If found, the
server will start using HTTPS.

The /ssl directory includes a script to generate a self-signed SSL
certificate using OpenSSL. To use it, add the server's public IP to the
[ alt_names ] section in server.conf before generating the certificate.
The CA certificate should be installed on the operating system or
browser of devices remotely accessing RisuAI.
2025-04-08 19:22:06 +09:00
kwaroran
f5abdad334 Add fixed chat textarea option to AccessibilitySettings (#809)
# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [ ] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?

# Description
This pull request introduces the following changes:
- Adds a new "fixedChatTextarea" option to control the positioning of
the chat window text area.
- Modifies Shift+Enter functionality to align with updated input
handling requirements.

To be honest, I'm not entirely sure if this approach is correct. Since
I've developed with React and Next.js, I'm still a beginner when it
comes to Vite. But as a PC user, I think this method will be convenient
to use.
2025-04-08 19:20:37 +09:00
kwaroran
b11b400aaa feat: Lua trigger getGlobal(Chat)Var (#810)
# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [x] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [x] Have you added type definitions?

# Description
Allow usage of {{getglobalvar::}} equivalent in Lua trigger script

Further on, setting the global variable is the next scope to be
implemented.
2025-04-08 19:20:26 +09:00
Inha Hwang
c21dd9e755 fix: wrong type 2025-04-08 06:02:07 +09:00
Inha Hwang
31a480643b feat: luascript getGlobal(Chat)Var support
setGlobal(Chat)Var needs to be studied too.
2025-04-08 06:01:12 +09:00
YH_KIM
4c47480b7e Add fixed chat textarea option to AccessibilitySettings
Additionally, change 'send to center' to 'send to shift center'
2025-04-06 16:37:29 +09:00
kwaroran
ea570787c2 fix: 'previous_chat_log' cbs (#801)
# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [ ] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?

# Description
It appears that the `previous_chat_log` cbs currently behaves
differently than described in the documentation.

Thank you for your time.
2025-04-02 21:24:41 +09:00
bangonicdd
72e47afb49 fix: add null check on module integration for legacy preset 2025-04-02 02:45:51 +09:00
bangonicdd
88fd4ffaeb fix: 'previous_chat_log' cbs 2025-04-01 13:10:04 +09:00
kwaroran
9e00c9b17a Add gettokens API 2025-03-27 19:21:31 +09:00
kwaroran
58f1cb4fcc Add tokenize trigger 2025-03-27 19:19:59 +09:00
kwaroran
02401d4d09 Add igp prompt 2025-03-27 19:13:10 +09:00
kwaroran
294b0e2a52 Add 2.5 pro 0325 2025-03-26 20:53:16 +09:00
kwaroran
6020a92725 Bump version to 158.2.0 in configuration and related files 2025-03-26 20:49:13 +09:00
kwaroran
1b3b0e14d6 Add gemini 2.5 exp 2025-03-26 20:46:34 +09:00
kwaroran
605489143d Add abortsignal to request 2025-03-26 20:43:34 +09:00
kwaroran
0d1260e7aa Fix deepseek chat 2025-03-25 13:39:21 +09:00
kwaroran
1b8adc11b9 Imptove sneaky 2025-03-24 17:25:17 +09:00
kwaroran
50842d5829 Add abort signal handling to request functions 2025-03-24 17:02:42 +09:00
kwaroran
669d677efd Add targ.key 2025-03-24 16:58:24 +09:00
kwaroran
cd9d81e405 Add da fallback 2025-03-24 16:53:39 +09:00
kwaroran
fe88f0ddb7 Add nullish operator to cohere 2025-03-24 16:47:48 +09:00
kwaroran
fe60cdcbda Merge branch 'main' of https://github.com/kwaroran/RisuAI 2025-03-24 14:43:43 +09:00
kwaroran
ff2790ee7f Fix hotkey 2025-03-24 14:43:39 +09:00
Kwaroran
0aff87252b Bump application version to 158.1.0 2025-03-23 16:48:16 +09:00
Kwaroran
6bd0794a4d Add new vertex providers 2025-03-23 16:47:52 +09:00
Kwaroran
1640157801 Fix customurl 2025-03-23 16:42:41 +09:00
Kwaroran
1d40c9aeac Enhance reverse_proxy handling to support custom model parameters 2025-03-23 16:36:46 +09:00
Kwaroran
66813cc63c Bump application version to 158.0.0 2025-03-23 16:23:39 +09:00
Kwaroran
e22f8b140d Add state 2025-03-23 16:21:36 +09:00
Kwaroran
30936c76e3 Add sneaky 2025-03-23 16:21:24 +09:00
Kwaroran
3535c29c10 Add custommodel 2025-03-23 15:21:31 +09:00
Kwaroran
bcb8a28034 Bump application version to 157.0.1 2025-03-23 14:03:42 +09:00
Kwaroran
a717510d07 Fix fallbackmodel 2025-03-23 14:02:34 +09:00
Kwaroran
19c7097720 Bump application version to 157.0.0 2025-03-22 21:26:08 +09:00
Kwaroran
9ed6d20994 Add array fallback 2025-03-22 21:18:59 +09:00
Kwaroran
e895900376 Merge branch 'main' of https://github.com/kwaroran/RisuAI 2025-03-22 19:09:47 +09:00
Kwaroran
38472af4b8 Add await in translateLLM 2025-03-22 19:09:42 +09:00
kwaroran
c1aa28f669 Bump application version to 156.0.0 2025-03-21 13:51:42 +09:00
kwaroran
9fd188f235 Add new hotkey functionalitys 2025-03-21 10:28:10 +09:00
shirosaki-hana
1a2e44f9ae Update Generate Certificate.sh 2025-03-20 16:38:53 +09:00
shirosaki-hana
8d872f3d3b Merge branch 'kwaroran:main' into https 2025-03-20 16:11:35 +09:00
shirosaki-hana
f4d3f40ce5 Add HTTPS support for RisuAI Node.js hosting version
The Node.js hosting version of RisuAI previously used simple app.listen for server execution, which didn't support native HTTPS. This caused several functionality issues due to browser security restrictions when accessing RisuAI externally, such as realm loading failures and inability to insert prompt presets.

The updated code now checks for certificate files named server.key and server.crt in the /server/node/ssl/certificate directory. If found, the server will start using HTTPS.

The /ssl directory includes a script to generate a self-signed SSL certificate using OpenSSL. To use it, add the server's public IP to the [ alt_names ] section in server.conf before generating the certificate. The CA certificate should be installed on the operating system or browser of devices remotely accessing RisuAI.

For production use with a domain, it's recommended to use a certificate from an official Certificate Authority.
2025-03-20 15:40:11 +09:00
kwaroran
46b50c6d56 Replace ActivityIcon with KeyboardIcon in Settings.svelte 2025-03-20 14:46:28 +09:00
kwaroran
2ce3e63f1d Update HotkeySettings visibility based on window width 2025-03-20 14:43:52 +09:00
kwaroran
f5f05bdf99 Add hotkeys 2025-03-20 14:37:12 +09:00
kwaroran
4c67ce4410 Seperate share menu 2025-03-20 12:24:52 +09:00
kwaroran
ad4f52239b Add OAI response API 2025-03-20 12:08:34 +09:00
kwaroran
fff4ec74af Add preview mode error handling and update build target configuration 2025-03-17 22:32:45 +09:00