Commit Graph

2483 Commits

Author SHA1 Message Date
Aram Drevekenin
bf2e7e19e0 chore(release): v0.38.1 2023-08-31 10:49:14 +02:00
Aram Drevekenin
a4279ca9ba chore(version): adjust version for release 2023-08-31 10:44:01 +02:00
Aram Drevekenin
f42a2dc7f9
docs(changelog): input action new pane fix 2023-08-31 10:32:54 +02:00
Aram Drevekenin
ad3594a582
fix(input): block input thread for newtiledpane and newfloatingpane as well (#2757) 2023-08-31 10:30:47 +02:00
Thomas Linford
6116195a29
docs(changelog): grid memory leak fix 2023-08-30 10:47:49 +02:00
Thomas Linford
15737d7d10
fix(grid): memory leak with unfocused tabs (#2745)
* use hashset instead of vec for changed lines

avoid output buffer growring indefinitely if tab does not get rendered

* tidy up

- improve hashset -> vec conversion
- remove now unnecessary dedup

* use copied instead of cloned on iter
2023-08-30 10:46:06 +02:00
Aram Drevekenin
1988206792
docs(changelog): fix glitches on windows terminal 2023-08-30 10:00:05 +02:00
Aram Drevekenin
2081a2e64f
fix(reconnect): do not clear terminal state when entering alternate screen (#2750)
* debug

* refactor(reconnect): articular reconnection logic
2023-08-30 09:58:48 +02:00
Aram Drevekenin
90875b0c00
Update CHANGELOG.md 2023-08-29 20:56:27 +02:00
Aram Drevekenin
d895f358b2
fix(status-bar): add break tab hints (#2748)
* fix(status-bar): add break tab hints

* fix(tests): update snapshot to new hints
2023-08-29 20:55:45 +02:00
Aram Drevekenin
24ce348bb2 chore(repo): update build instructions 2023-08-28 17:47:49 +02:00
Jae-Heon Ji
a6f66b91f1
docs(changelog): refactor server 2023-08-28 22:58:10 +09:00
Orhun Parmaksız
b65687660d
refactor(server): remove unnecessary mut (#2735) 2023-08-28 22:56:39 +09:00
Aram Drevekenin
ac4085d1a4 chore(version): bump development version 2023-08-28 11:23:53 +02:00
Aram Drevekenin
11fe4b3fb7 chore(release): v0.38.0 2023-08-28 09:38:52 +02:00
har7an
8031d6bf64
xtask/pipeline: Fix publish task (#2711)
* xtask/pipeline: Fix publish task

which was previously stuck in an infinite loop after successfully
publishing a crate. The error originated in the code only checking for
error conditions but not breaking out of the inner infinite loop in case
of success.

* xtask: Improve publish failure UX

by offering the user more actions to choose from when an error occured.

* utils/assets: Add generated prost files to assets

to make sure they're available at build time and are picked up by all
components. It seems we hit some strange bug with the build script
where, when running `cargo publish --dry-run` the build script **is
not** run before regularly compiling zellij-utils. This shouldn't happen
according to the docs, but I cannot explain what's causing it. So we're
using this as a workaround for now to make a smooth release.

* xtask: Prevent accidental git commit deletion

when dry-running a publish.

* utils: Add comments to protobuf-related code

to explain why these changes were performed. The comments all include a
link to an issue comment explaining the situation in greater detail.

* xtask: Build protobuf definitions

when building any part of the project, similar to how we build the
plugins when required. This should ensure that all crates built through
`cargo xtask` (which is the officially supported build method) will
receive up-to-date protobuf definitions.
2023-08-28 06:24:27 +00:00
Aram Drevekenin
f6b08ddfaa
docs(changelog): stacked pane focus glitch 2023-08-27 22:06:06 +02:00
Aram Drevekenin
b587125f06
fix(panes): refocus pane properly on tab change (#2734)
* fix(panes): stacked panes focus bug

* style(fmt): rustfmt
2023-08-27 22:04:38 +02:00
Aram Drevekenin
1ccc973c68
Update CHANGELOG.md 2023-08-26 11:07:05 +02:00
Aram Drevekenin
2dbee21d74
fix(plugins): various ui fixes (#2731) 2023-08-26 11:06:22 +02:00
Aram Drevekenin
a819e9bf54
Update CHANGELOG.md 2023-08-25 19:47:53 +02:00
Aram Drevekenin
90e93d64bd
fix(plugins): remove protobuf duplications (#2729)
* fix(plugins): remove protobuf duplications

* style(fmt): rustfmt
2023-08-25 19:47:23 +02:00
Aram Drevekenin
07433eb6dc
docs(changelog): fix plugin configuration uniqueness 2023-08-25 18:29:14 +02:00
Aram Drevekenin
8c2a4e8429
fix(plugins): make sure configuration is also part of the plugin keys (#2727)
* fix(plugins): make sure configuration is also part of the plugin keys

* no thanks clippy
2023-08-25 18:28:15 +02:00
Aram Drevekenin
759ab9102b
docs(changelog): keybind run floating pane 2023-08-25 16:27:26 +02:00
Aram Drevekenin
a537e09bb7
fix(keybinds): add 'floating' and 'name' to the Run command keybinding (#2726)
* fix(keybinds): add 'floating' and 'name' to the Run command keybinding

* style(fmt): rustfmt
2023-08-25 16:25:09 +02:00
Aram Drevekenin
e34f7e7622
docs(changelog): move plugin to focused tab 2023-08-25 12:25:45 +02:00
Aram Drevekenin
b44ba85895
feat(plugins): optionally move plugin to focused tab (#2725)
* feat(plugins): move_to_focused_tab attribute for LaunchOrFocusPlugin

* style(fmt): rustfmt
2023-08-25 12:24:43 +02:00
Aram Drevekenin
877c467f9f
docs(changelog): update ux fixes 2023-08-24 18:13:07 +02:00
Aram Drevekenin
09d09759b5
fix(ux): various ui/ux fixes (#2722)
* force plugin render on permission request response

* clear warnings

* Revert "feat(ui): new status bar mode (#2619)"

This reverts commit 27763d26ab.

* adjust status bar help

* fix colors in session manager and shortcut in status-bar

* adjust keybindings
2023-08-24 18:11:53 +02:00
Aram Drevekenin
4a1d114753
docs(changelog): session manager 2023-08-24 13:37:14 +02:00
Aram Drevekenin
bc628abc12
feat(sessions): add a session manager to switch between sessions, tabs and panes and create new ones (#2721)
* write/read session metadata to disk for all sessions

* switch session client side

* fix tests

* various adjustments

* fix full screen focus bug in tiled panes

* fix tests

* fix permission sorting issue

* cleanups

* add session manager

* fix tests

* various cleanups

* style(fmt): rustfmt

* clear screen before switching sessions

* I hate you clippy

* truncate controls line to width

* version session cache

* attempt to fix plugin tests

* style(fmt): rustfmt

* another attempt to fix the tests in the ci
2023-08-24 13:36:24 +02:00
Aram Drevekenin
bf3c072d6d
docs(changelog): permission system 2023-08-12 15:38:20 +02:00
Jae-Heon Ji
c8ddb23297
feat: add plugin permission system (#2624)
* WIP: add exaple of permission ui

* feat: add request permission ui

* feat: add caching permission in memory

* feat: add permission check

* feat: add file caching

* fix: changes request

* feat(ui): new status bar mode (#2619)

* supermode prototype

* fix integration tests

* fix tests

* style(fmt): rustfmt

* docs(changelog): status-bar supermode

* fix(rendering): occasional glitches while resizing (#2621)

* docs(changelog): resize glitches fix

* chore(version): bump development version

* Fix colored pane frames in mirrored sessions (#2625)

* server/panes/tiled: Fix colored frames

in mirrored sessions. Colored frames were previously ignored because
they were treated like floating panes when rendering tiled panes.

* CHANGELOG: Add PR #2625

* server/tab/unit: Fix unit tests for server.

* fix(sessions): use custom lists of adjectives and nouns for generating session names (#2122)

* Create custom lists of adjectives and nouns for generating session names

* move word lists to const slices

* add logic to retry name generation

* refactor

 - reuse the name generator
 - iterator instead of for loop

---------

Co-authored-by: Thomas Linford <linford.t@gmail.com>

* docs(changelog): generate session names with custom words list

* feat(plugins): make plugins configurable (#2646)

* work

* make every plugin entry point configurable

* make integration tests pass

* make e2e tests pass

* add test for plugin configuration

* add test snapshot

* add plugin config parsing test

* cleanups

* style(fmt): rustfmt

* style(comment): remove commented code

* docs(changelog): configurable plugins

* style(fmt): rustfmt

* touch up ui

* fix: don't save permission data in memory

* feat: load cached permission

* test: add example test (WIP)

* fix: issue event are always denied

* test: update snapshot

* apply formatting

* refactor: update default cache function

* test: add more new test

* apply formatting

* Revert "apply formatting"

This reverts commit a4e93703fb.

* apply format

* fix: update cache path

* apply format

* fix: cache path

* fix: update log level

* test for github workflow

* Revert "test for github workflow"

This reverts commit 01eff3bc5d.

* refactor: permission cache

* fix(test): permission grant/deny race condition

* style(fmt): rustfmt

* style(fmt): rustfmt

* configure permissions

* permission denied test

* snapshot

* add ui for small plugins

* style(fmt): rustfmt

* some cleanups

---------

Co-authored-by: Aram Drevekenin <aram@poor.dev>
Co-authored-by: har7an <99636919+har7an@users.noreply.github.com>
Co-authored-by: Kyle Sutherland-Cash <kyle.sutherlandcash@gmail.com>
Co-authored-by: Thomas Linford <linford.t@gmail.com>
Co-authored-by: Thomas Linford <tlinford@users.noreply.github.com>
2023-08-12 15:35:42 +02:00
Aram Drevekenin
a1903b6b04
docs(changelog): protobuffers 2023-08-09 22:27:06 +02:00
Aram Drevekenin
1bedfc9002
feat(plugins): use protocol buffers for serializing across the wasm boundary (#2686)
* work

* almost done with command protobuffers

* done translating command data structures

* mid transferring of every command to protobuff command

* transferred plugin_command.rs, now moving on to shim.rs

* plugin command working with protobufs

* protobuffers in update

* protobuf event tests

* various TODOs and comments

* fix zellij-tile

* clean up prost deps

* remove version mismatch error

* fix panic

* some cleanups

* clean up event protobuffers

* clean up command protobuffers

* clean up various protobufs

* refactor protobufs

* update comments

* some transformation fixes

* use protobufs for workers

* style(fmt): rustfmt

* style(fmt): rustfmt

* chore(build): add protoc

* chore(build): authenticate protoc
2023-08-09 22:26:00 +02:00
Aram Drevekenin
c3e140cb4b
docs(changelog): plug memory leak 2023-08-04 10:23:45 +02:00
Aram Drevekenin
0fc1939c6c
fix(performance): plug memory leak (#2675) 2023-08-04 10:22:46 +02:00
Aram Drevekenin
f75033e1c3
docs(changelog): break pane to new tab 2023-08-02 11:42:55 +02:00
Aram Drevekenin
192e6fd31e
feat(ui): break pane to new tab and move panes between tabs (#2664)
* prototype

* some tests

* break out floating pane

* break out plugin panes

* add keybind and fix some minor issues

* remove cli

* move pane to left/right tab

* update ui

* adjust ui

* style(fmt): rustfmt

* style(comment): remove commented code

* update snapshots
2023-08-02 11:41:51 +02:00
Aram Drevekenin
8fb90391c8
docs(changelog): plugin api utility functions 2023-07-28 17:25:57 +02:00
Nacho114
9631204028
feat(plugins): utility functions to find active pane and tab (#2652) 2023-07-28 17:24:31 +02:00
Aram Drevekenin
859d633f5b
docs(changelog): focus glitches 2023-07-27 17:56:49 +02:00
Aram Drevekenin
ade4406a8f
fix(terminal): properly handle resizes in alternate screen (#2654) 2023-07-27 17:55:21 +02:00
Aram Drevekenin
5601766225
docs(changelog): configurable plugins 2023-07-25 10:05:19 +02:00
Aram Drevekenin
c95d0e769f
feat(plugins): make plugins configurable (#2646)
* work

* make every plugin entry point configurable

* make integration tests pass

* make e2e tests pass

* add test for plugin configuration

* add test snapshot

* add plugin config parsing test

* cleanups

* style(fmt): rustfmt

* style(comment): remove commented code
2023-07-25 10:04:12 +02:00
Thomas Linford
6cf795a7df
docs(changelog): generate session names with custom words list 2023-07-18 19:16:29 +02:00
Kyle Sutherland-Cash
e0bd311e84
fix(sessions): use custom lists of adjectives and nouns for generating session names (#2122)
* Create custom lists of adjectives and nouns for generating session names

* move word lists to const slices

* add logic to retry name generation

* refactor

 - reuse the name generator
 - iterator instead of for loop

---------

Co-authored-by: Thomas Linford <linford.t@gmail.com>
2023-07-18 19:12:51 +02:00
har7an
fa8ef2a973
Fix colored pane frames in mirrored sessions (#2625)
* server/panes/tiled: Fix colored frames

in mirrored sessions. Colored frames were previously ignored because
they were treated like floating panes when rendering tiled panes.

* CHANGELOG: Add PR #2625

* server/tab/unit: Fix unit tests for server.
2023-07-16 14:35:34 +00:00
Aram Drevekenin
5bf421ecdc chore(version): bump development version 2023-07-12 20:32:53 +02:00