# 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?
# Preview

# Description
This PR introduces following:
- New accessibility option for translation loading even when not
re-translating
- Prevent redundant translation attempts when auto translating
# 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 addresses the issue where asset names were only recognized when
entered in lowercase, even if they were originally uppercase. It ensures
that asset names are now case-insensitive, aligning with the intended
behavior.
# 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.