diff --git a/README.md b/README.md
index f5761903a7..362a8a475a 100644
--- a/README.md
+++ b/README.md
@@ -70,7 +70,7 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
Experimental (Nighlty Build) |
-
+
Github action artifactory
|
@@ -81,16 +81,14 @@ Download the latest version of Jan at https://jan.ai/ or visit the **[GitHub Rel
## Demo
-
-
-
+![Demo](/demo.gif)
-
-_Video: Jan v0.4.0 on Mac Air M2, 16GB Ventura_
+_Realtime Video: Jan v0.4.3-nightly on a Mac M1, 16GB Sonoma 14_
## Quicklinks
+
#### Jan
+
- [Jan website](https://jan.ai/)
- [Jan Github](https://github.com/janhq/jan)
- [User Guides](https://jan.ai/docs)
@@ -98,8 +96,10 @@ _Video: Jan v0.4.0 on Mac Air M2, 16GB Ventura_
- [API reference](https://jan.ai/api-reference/)
- [Specs](https://jan.ai/specs/)
-#### Nitro:
-Nitro is a high-efficiency C++ inference engine for edge computing, powering Jan. It is lightweight and embeddable, ideal for product integration.
+#### Nitro
+
+Nitro is a high-efficiency C++ inference engine for edge computing. It is lightweight and embeddable, and can be used on its own within your own projects.
+
- [Nitro Website](https://nitro.jan.ai)
- [Nitro Github](https://github.com/janhq/nitro)
- [Documentation](https://nitro.jan.ai/docs)
@@ -118,21 +118,22 @@ To reset your installation:
```
This will remove all build artifacts and cached files:
+
- Delete Jan from your `/Applications` folder
- Clear Application cache in `/Users/$(whoami)/Library/Caches/jan`
2. Use the following commands to remove any dangling backend processes:
- ```sh
- ps aux | grep nitro
- ```
+ ```sh
+ ps aux | grep nitro
+ ```
+
+ Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:
- Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:
+ ```sh
+ kill -9
+ ```
- ```sh
- kill -9
- ```
-
## Contributing
Contributions are welcome! Please read the [CONTRIBUTING.md](CONTRIBUTING.md) file
@@ -176,19 +177,22 @@ This will build the app MacOS m1/m2 for production (with code signing already do
## Nightly Build
-Nightly build is a process where the software is built automatically every night. This helps in detecting and fixing bugs early in the development cycle. The process for this project is defined in [`.github/workflows/jan-electron-build-nightly.yml`](.github/workflows/jan-electron-build-nightly.yml)
-
-You can join our Discord server [here](https://discord.gg/FTk2MvZwJH) and go to channel [github-jan](https://discordapp.com/channels/1107178041848909847/1148534730359308298) to monitor the build process.
+Our nightly build process for this project is defined in [`.github/workflows/jan-electron-build-nightly.yml`](.github/workflows/jan-electron-build-nightly.yml)
The nightly build is triggered at 2:00 AM UTC every day.
-The nightly build can be downloaded from the url notified in the Discord channel. Please access the url from the browser and download the build artifacts from there.
+Getting on Nightly:
+
+1. Join our Discord server [here](https://discord.gg/FTk2MvZwJH) and go to channel [github-jan](https://discordapp.com/channels/1107178041848909847/1148534730359308298).
+2. Download the build artifacts from the channel.
+3. Subsequently, to get the latest nightly, just quit and restart the app.
+4. Upon app restart, you will be automatically prompted to update to the latest nightly build.
## Manual Build
-Manual build is a process where the software is built manually by the developers. This is usually done when a new feature is implemented or a bug is fixed. The process for this project is defined in [`.github/workflows/jan-electron-build-nightly.yml`](.github/workflows/jan-electron-build-nightly.yml)
+Stable releases are triggered by manual builds. This is usually done for new features or a bug fixes.
-It is similar to the nightly build process, except that it is triggered manually by the developers.
+The process for this project is defined in [`.github/workflows/jan-electron-build-nightly.yml`](.github/workflows/jan-electron-build-nightly.yml)
## Acknowledgements
diff --git a/core/src/extension.ts b/core/src/extension.ts
index 24079d1735..fc1031a53e 100644
--- a/core/src/extension.ts
+++ b/core/src/extension.ts
@@ -21,7 +21,7 @@ export abstract class BaseExtension {
* Called when the extension is loaded.
* Any initialization logic for the extension should be put here.
*/
- abstract onLoad(): Promise;
+ abstract onLoad(): void;
/**
* Called when the extension is unloaded.
* Any cleanup logic for the extension should be put here.
diff --git a/demo.gif b/demo.gif
new file mode 100644
index 0000000000..f5af39e125
Binary files /dev/null and b/demo.gif differ
diff --git a/web/extension/ExtensionManager.ts b/web/extension/ExtensionManager.ts
index b2c9ad0280..43847f3447 100644
--- a/web/extension/ExtensionManager.ts
+++ b/web/extension/ExtensionManager.ts
@@ -31,11 +31,9 @@ export class ExtensionManager {
* Loads all registered extension.
*/
load() {
- this.listExtensions()
- .map((e) => e.onLoad())
- .reduce((p, load) => {
- return p.then(load)
- }, Promise.resolve())
+ this.listExtensions().forEach((ext) => {
+ ext.onLoad()
+ })
}
/**