Commit Graph
117 Commits
Author SHA1 Message Date
divensanddivens c4a572a884 Add Windows MSI installer with WiX v6 (#4847)
* Add Windows MSI installer with WiX v6

Build a dual-scope MSI installer that lets users choose per-user
(%LocalAppData%\Zellij) or per-machine (Program Files\Zellij) install,
with automatic PATH configuration and clean uninstall support.

- Custom UI based on stock WixToolset.UI.wixext dialogs to work around
  the long-standing WixUI_Advanced dual-scope bug (wixtoolset/issues#7137)
- Custom folder resolution CAs (SetFolderPerUser/SetFolderPerMachine)
- Embed application icon into zellij.exe via embed-resource
- Icon shown in Add/Remove Programs via ARPPRODUCTICON
- MSI build integrated into release.yml CI workflow

* Add MSI installer to no-web build and fix artifact naming

- Add MSI build steps to build-release-noweb job
- Add SHA256 checksums for MSI artifacts
- Pin WixToolset.UI.wixext to 6.0.2 to avoid v7 RC incompatibility
- Use -installer suffix after target in artifact names

---------

Co-authored-by: divens <divens.dev@gmail.com>
2026-03-16 12:38:38 +01:00
danielwerg 714eaffd95 feat(assets): add svg logo (#4196)
* feat(assets): add svg logo

* feat(assets): add actual svg logo
2026-01-27 09:55:37 +01:00
Aram Drevekenin b40f5ef2ca chore(assets): adjust logo (#2358)
* chore(assets): adjust logo

* chore(assets): adjust logo height
2023-04-12 15:04:01 +02:00
Aram Drevekenin 112782e1ed chore(repo): version 0.35.0 (#2230)
* chore(assets): new readme animation

* chore(assets): increase animation resolution

* chore(assets): improve animation

* chore(assets): improve animation

* docs(readme): some cleanups and clarifications

* docs(readme): fix links and wording

* chore(version): bump development version
2023-03-07 09:26:11 +01:00
har7an 1e141aa7fe HOTFIX: utils: Move plugins into new assets folder (#2003)
that is included in the utils to make builds pass.
2022-12-09 10:49:32 +00:00
Aram Drevekenin 66593ec41a chore(release): v0.34.0 2022-12-09 09:14:03 +01:00
har7an 11b0210de5 plugins: rework plugin loading (#1924)
* zellij: Move "populate_data_dir" to utils

and rewrite it to take a second, optional parameter. This allows
controlling whether only a specific asset should be installed. We do
this as preparation for being able to recover from a plugin version
mismatch error, where we will need to repopulate the data dir for
offending plugins.

* server/wasm_vm: Recover from PluginVersionMismatch

Adds a global plugin cache that stores, per plugin config, the wasmer
module associated with it. Make `start_plugin` take the pre-populated
module and create only the necessary modifications to the wasm env etc.

* utils: Fix formatting

* zellij: Delete non-existent module

* utils/shared: fix missing "set_permissions"

function when not on unix systems.

* server/wasm_vm: Don't populate cachedir

with serialized versions of the WASM plugins.

* utils/input/plugins: load wasm bytes from assets

for builtin plugin specifications. This foregoes any need to:

- Dump the plugin bytes to disk at all and
- subsequently read the plugin bytes from disk

* zellij: Disable default asset installation

which previously installed only the builtin plugins to disk. This is no
longer necessary because now we can load the builtin plugins directly
from the application binary.

* utils/input/plugins: Update docs

* utils/input/plugins: Add 'is_builtin' method

to `PluginConfig` that returns true if the plugin configuration refers
to a builtin plugin.

* wasm_vm: Remove plugin version mismatch handling

because a version mismatch in an internal plugin is now unfixable, with
the plugins being loaded from the running binary, and we have no control
over external plugins in the first place.

* cargo: Reintroduce feature flag

for `disable_automatic_asset_installation`

* utils/consts: Add `ASSET_MAP`

which currently contains the compiled WASM plugins.

* utils/shared: Fix clippy lint

* utils/errors: Add more `ZellijError` variants

* zellij: Make loading internal plugins optional

by reenabling the `disable_automatic_asset_installation` flag and
utilizing it for this purpose. Changes plugin search behavior to throw
better errors in case the builtin plugins cannot be found, depending on
the state of this feature.

* utils/errors: Apply rustfmt

* utils/setup: Allow dumping builtin plugins

to a specified folder on disk. This is meant to be an "escape hatch" for
users that have accidentally deleted the builtin plugins from disk (in
cases where the plugins aren't loaded from inside the zellij binary).

* utils/input/plugins: Update docs

* utils/setup: Add hint to `setup --check` output

when zellij was built without the `disable_automatic_asset_installation`
flag and will thus not read builtin plugins from the "PLUGIN DIR".

* utils/setup: Refine `setup --dump-plugins`

to dump to:

- The default "DATA DIR" when no option is provided with the argument,
  or
- The provided option, if existent

Also print a message to stdout with the destination folder that the
plugins are dumped to.

* server/wasm_vm: Ignore "NotFound" errors

when attempting to delete the non-existent plugin data directories. This
silences an error message that otherwise ends up in the logs when
quitting zellij.

* utils/errors: Extend "BuiltinPluginMissing" msg

to hint the user to the `zellij setup --dump-plugins` command to fix
their issues for them!

* utils/errors: Track caller in calls to `non_fatal`

which will hopefully, once closures can be annotated, allow us to
display the location of the call to `non_fatal` in log messages.

* utils/input/plugins: Fix plugin lookup

to prefer internal assets if available. It was previously broken because
sorting the paths vector before deduping it would bring the paths into a
wrong order, looking up in the plugin folder first.

Also print a log message when a plugin is being loaded from the internal
assets but exists on disk, too.

* Apply rustfmt

* make: build-e2e depends on wasm-opt-plugins

so it updates the assets when building the binary

* server/qwasm_vm: Remove var

* utils/consts: Add plugins from target folder

and include them in the asset map from there, too. Include plugins from
debug or release builds, depending on the build type.

* utils/consts: Take release plugins from assets

instead of the target/release folder. The latter will break
installations from crates.io, because we currently rely on including the
plugins we pre-compiled and distribute along with the binary.

* server/wasm_vm: Reintroduce .cache folder

to speedup subsequent application launches.

* cargo: Reorder workspace members

to improve behavior with `cargo make` with respect to compilation order.

* Makefile: restructure plugin tasks

* Makefile: Fix CI errors

* Makefile: More CI diagnosis

* github: Install wasm-opt in e2e test workflow

* Makefile: Build plugins for e2e-test target

* server/Wasm_vm: Reorder plugin folder creation

so no folders are created in the plugin cache when loading a plugin
fails due to not being present or similar.

* update plugins testcommit

* makefile: Change job order

* changelog: Add PR #1924
2022-11-22 20:06:02 +00:00
Aram Drevekenin c086e33ed3 chore(release): v0.33.0 2022-11-10 09:50:57 +01:00
Aram Drevekenin 56d67ec2c3 chore(release): v0.32.0 2022-10-25 08:47:11 +02:00
Aram Drevekenin a28d905d84 chore(release): v0.31.4 2022-09-09 13:00:24 +02:00
Aram Drevekenin 588167f38e chore(release): v0.31.3 2022-08-18 08:55:21 +02:00
Aram Drevekenin 67011947e8 chore(release): v0.31.2 2022-08-17 11:07:34 +02:00
Aram Drevekenin 8ea0f85e95 chore(release): v0.31.1 2022-08-02 17:56:00 +02:00
Aram Drevekenin 7a72aa4ef9 chore(release): v0.31.0 2022-07-28 16:51:55 +02:00
Aram Drevekenin 3c692248d8 chore(release): v0.30.0 2022-06-07 15:31:52 +02:00
a-kenji 2241128c4f fix(compact-bar): remove duplicate padding (#1451) 2022-06-03 19:58:27 +02:00
a-kenji d62e6fb57e add(plugin): compact-bar & compact layout (#1450)
* add(plugin): `compact-bar` & `compact` layout

* add(nix): `compact-bar` plugin

* add(config): `compact-bar` to the config

* add(workspace): `compact-bar` to workspace members

* add(assets): `compact-bar`

* chore(fmt): rustfmt

* add(nix): add `compact-bar`

* add: compact layout to dump command

* nix(build): fix destination of copy command

* add(makefile): add `compact-bar` to `plugin-build`

* add(layout): `compact-bar` to layout

* add: install `compact-bar` plugin

* fix(test): update input plugin test

* fix(plugin): default colors for compact-bar
2022-06-03 11:14:38 +02:00
Jae-Heon Ji c5807767d2 fix(strider): update out of range index in files (#1425) 2022-05-22 16:56:29 +09:00
Aram Drevekenin a7ddfe1acc chore(release): v0.29.1 2022-05-02 22:31:08 +02:00
Aram Drevekenin 0dc136ec5f fix(compatibility): respond to bg and fg color ansi queries (#1358)
* fix(compatibility): respond to background/foreground queries

* style(fmt): rustfmt

* style(clippy): make clippy happy

* style(fmt): rustfmt

* style(fmt): remove unused code
2022-04-28 17:26:44 +02:00
Aram Drevekenin f5a231848c chore(release): v0.28.1 2022-04-13 18:46:35 +02:00
Aram Drevekenin 3a2fee601a chore(package): patch version 2022-04-13 18:46:00 +02:00
Aram Drevekenin 9ce4ef49a6 chore(release): v0.28.0 2022-04-13 17:15:26 +02:00
Aram Drevekenin a4676741f1 chore(release): v0.27.0 2022-03-31 14:41:42 +02:00
a-kenji 612746898a fix: remove obsolete script (#1247) 2022-03-20 15:01:47 +01:00
a-kenji effccbfaa3 Feat/add rust toolchain (#1235)
* feature: update rust-toolchain

* add(ci): action that updates `rust-toolchain`

We purposefully keep our version a little behind the newest releases,
to give people the time to update. Now this is unambigious and we can
use all the features our current toolchain allows.
2022-03-17 16:46:01 +01:00
Aram Drevekenin 9c7d13984f chore(release): v0.26.1 2022-03-16 14:03:07 +01:00
Aram Drevekenin 93642b08bf chore(release): v0.26.0 2022-03-11 15:45:35 +01:00
Aram Drevekenin 59a9ba08e4 chore(release): v0.25.0 2022-02-22 12:35:25 +01:00
Aram Drevekenin 8162f0c6e7 docs(readme): update demo animation (#1086) 2022-02-22 12:30:49 +01:00
Aram Drevekenin 9fa94970cc fix(ui): floating panes UI (#1074)
* basic ui

* update plugins

* rustfmt
2022-02-21 18:01:35 +01:00
Aram Drevekenin a0a0a7e5c4 feat(ux): tmux mode (#1073)
* work

* basic tmux move and functionality

* tmux mode ui

* rustfmt
2022-02-21 15:52:42 +01:00
Robert Walterandjaeheonji 341a9f4b91 Solve Issue #1010 (#1045)
* solve issue #1010 and made code easily extensible

* Make description bold to fit + added minimal documentation

* chore(assets): update plugins

* Only change hints on reneamPane Mode, old hints were fine in every other case

* fixing some wording to get more green e2e tests

* add the opt version of the plugin

Co-authored-by: jaeheonji <atx6419@gmail.com>
2022-02-08 11:01:54 +09:00
Aram Drevekenin f6ee6ec6e5 chore(release): v0.24.0 2022-01-05 10:37:31 +01:00
Aram Drevekenin fbd54d41ef chore(assets): multiplayer demo gif 2021-12-22 09:04:08 +01:00
Aram Drevekenin 6175d57702 chore(version): bump development version 2021-12-20 17:56:47 +01:00
Aram Drevekenin ca8438b0aa feat(collaboration): implement multiple users (#957)
* work

* feat(collaboration): implement multiple users

* style(cleanup): some leftovers
2021-12-20 17:31:07 +01:00
Aram Drevekenin 2c1d3a9817 chore(release): v0.22.1 2021-12-14 17:32:53 +01:00
Aram Drevekenin 514d9c9b0e style(fmt): make rustfmt happy and update plugins 2021-12-13 15:14:44 +01:00
Aram Drevekenin 7722a21248 chore(build): update plugins 2021-11-29 09:16:12 +01:00
a-kenji 9c6e261e33 add(assets): init zellij.desktop file (#870) 2021-11-15 17:27:32 +01:00
Aram Drevekenin 0fec10b08b chore(release): v0.20.1 2021-11-10 17:54:39 +01:00
Aram Drevekenin ff83733f58 chore(release): v0.20.0 2021-11-08 15:17:26 +01:00
Brooks J Rady 5e857a22e6 chore(plugin): update assets and E2E tests 2021-11-07 17:04:22 +00:00
Aram Drevekenin aa53a03726 chore(release): v0.19.0 2021-10-20 12:28:23 +02:00
Aram Drevekenin 4b94949b5a chore(release): v0.18.1 2021-09-30 11:14:41 +02:00
Aram Drevekenin 50452b53cb chore(release): v0.18.0 2021-09-29 14:48:24 +02:00
Aram Drevekenin 1868816791 chore(release): v0.17.0 2021-09-15 16:13:42 +02:00
Tw 19b3f8366f feat(plugin): add exec_cmd helper for executing command in host
Signed-off-by: Tw <wei.tan@intel.com>
Signed-off-by: Tw <tw19881113@gmail.com>
2021-09-09 11:45:03 +01:00
Aram Drevekenin 5228e449be chore(assets): update demo gif (#681) 2021-08-31 13:15:40 +02:00