chore: improve models and threads caching #3744
Merged
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.
Describe Your Changes
This PR introduces caching mechanisms for Models and Threads to enhance application performance and reduce potential risks when communicating with extensions. This would improve the app load experience a bit since it doesn't wait for the extensions function to complete its operation.
This is a very small step of Jan path to Cortex epic. Aim to apply minimal changes and add missing tests to app's state management and hook queries.
This PR also provides additional comments and clarification on using Atom for clearer state management stores.
Notes
Most of the code changes involve adding missing tests.
Next action item is to asynchronously import models from cortex.cpp.
Related Issues
Screenshots
Changes Made
Refactoring and reorganizing model-related atoms:
Added new test files for various hooks:
Updated existing hooks and components:
Added new types:
Minor fixes and improvements:
Overall, this diff focuses on reorganizing model-related state management, adding extensive test coverage for hooks, and making minor improvements to existing components and types.