# 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 PR reintroduces the module integration feature and includes the
following changes:
1. Modules activated via integration, rather than global activation from
the module menu, are now visually distinguished with a separate color.

2. When a module is globally activated after being enabled through
integration, it will no longer be applied twice.
3. Added a button in the developer tools to view a list of all currently
active modules.


4. Fixed an issue where the `module_enabled` cbs was operating based on
module names instead of namespaces, contrary to the documentation. It
now also detects modules activated through integration.
5. Fixed issues where module integration did not properly sync with
module additions, modifications, and deletions.
Let me know if any further adjustments are needed!
# PR Checklist
- [x] 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?
- [ ] Have you added type definitions?
# Preview


# Description
This PR introduces following:
- Add buttons to toggle all character/chat lorebooks' always-active
state at once
- Show SunIcon when all lorebooks are active, LinkIcon otherwise
# PR Checklist
- [x] 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?
- [ ] Have you added type definitions?
# Description

The error messages were not properly displayed, showing [object Object]
instead of the actual content.
<br>

This PR improves error handling to display actual error content.
# 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 PR introduces new trigger effect 'RunAxLLM' which allows running
auxiliary model separately from the main model.
Basically, the logic is the same except that a request of type 'otherAx'
is made instead of 'model'.
# PR Checklist
- [x] 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?
- [ ] Have you added type definitions?
# Description
This PR introduces fix: display cached llm translations while sending
message
# PR Checklist
- [x] 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
This PR introduces following:
- Add doNotSummarizeUserMessage option to exclude user messages from
summarization
- Add early return logic to prevent unnecessary similarity checks when
summaries are empty
- Add length check before summarization
- Set to default settings when selecting HypaV3 on OtherBotSettings
- Add localization for HypaV3 settings and modal
- Change HypaV3 modal title
- Add import summary filtering and improve search in HypaV3
# 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
Currently, a specific endpoint that calls /sw/check in the service
worker checks whether '/sw/check' is cached.
Since the service worker does not have any logic to cache /sw/check
itself, the service worker will always respond that there is no cached
data.
This forces all data to be re-registered when getFileSrc is called from
globalApi.svelte.ts, and bots with a lot of assets will re-register all
data, which slows down bot changes.
Since I am not familiar with the internal structure of RisuAI, I have
temporarily modified the code to check /sw/img when the service worker
checks /sw/check.
# PR Checklist
- [X] 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?
- [ ] Have you added type definitions?
# Description
This PR contains modifications to import only the required assets when
talking to Asset Bot.
- refactor parseAdditionalAssets()
- Modified the getClostMatch() to work well with Object<key, value> to
which it is dynamically added.
- Add doNotSummarizeUserChat option to exclude user messages from summarization
- Add early return logic to prevent unnecessary similarity checks when summaries are empty
# 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 PR fixes an issue where a removed module remains active until the
app is restarted if it was enabled at the time of deletion.
# 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 PR allows custom toggles to be added in the module as well. Below
is a screenshot of the updated module editing UI. Please feel free to
let me know if any further adjustments are needed or if you prefer not
to proceed with these changes.

# 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?
None of the above apply, as this update only involves UI translations.
# Description
- Updated the missing translations to the latest version
Since I can't perform local testing, I plan to hold off on updating the
Simplified Chinese translation for a while. This will give me time to
check if everything works correctly in Traditional Chinese before making
adjustments to both.
As always, many thanks to kwaroran for the hard work!
# 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 PR introduces fix: add legacy translation support in Auto Translate
Cached Only option
# 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 reintroduces charJS style button event previously
deprecated and removed, using luaEngine. This implementation diverges
from current style by passing attribute data as parameters rather than
function names.
# 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 PR introduces fix: resolve mobile keyboard enter button not working
in HypaV3 modal