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() + }) } /**