-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor for better encapsulation #2519
Conversation
c91d348
to
d873295
Compare
Uffizzi Preview |
I spent some time today looking into the potential effort of rebasing this onto newer PRs versus rebasing newer PRs onto this. I can only speak for my own branches, and every single one of them conflicts with this in some way; however, those conflicts are mostly trivial and easy to deal with. On the other hand, this PR has already run out of sync with master quite heavily, and rebasing it onto master now is going to be quite some work, and will be more and more work as PRs such as #2370 and #2547 get merged. I came to the conclusion that it would be good if this could be finished and merged sooner rather than later. |
@stefanhaller for sure: I've gotten sidetracked in the last couple weeks but I'm gonna spend some time this weekend revisiting this PR |
b6e9eff
to
23c0257
Compare
@stefanhaller I've rebased this onto master now. I'll clean up some commits and then my plan is as follows:
Reason for cutting a release before merging is so that if this PR introduces any intermittent issues that aren't caught by tests, we can fix them without blocking the existing features on master from being released. |
Makes sense. |
8ad22fd
to
764be9d
Compare
Hm, the only thing that slightly bothers me about the plan is that we are cutting a release that has half-baked, unfinished support for stacked branches. We are now showing Wondering if there's a chance to get another PR in before the release that fixes these cases: #2552. I tried rebasing that PR onto this refactoring; there are a bunch of conflicts, but they are very straight-forward to resolve. |
yep I'm happy to include that other PR in the release |
3be224c
to
2df806b
Compare
This begins a big refactor of moving more code out of the Gui struct into contexts, controllers, and helpers. We also move some code into structs in the gui package purely for the sake of better encapsulation
… panel When we use the one panel for the entire commit message, its tricky to have a keybinding both for adding a newline and submitting. By having two panels: one for the summary line and one for the description, we allow for 'enter' to submit the message when done from the summary panel, and 'enter' to add a newline when done from the description panel. Alt-enter, for those who can use that key combo, also works for submitting the message from the description panel. For those who can't use that key combo, and don't want to remap the keybinding, they can hit tab to go back to the summary panel and then 'enter' to submit the message. We have some awkwardness in that both contexts (i.e. panels) need to appear and disappear in tandem and we don't have a great way of handling that concept, so we just push both contexts one after the other, and likewise remove both contexts when we escape.
When cycling history, we want to make it so that upon returning to the original prompt, you get your text back. Importantly, we don't want to use the existing preservedMessage field for that because that's only for preserving a NEW commit message, and we don't want the history stuff of the commit reword flow to overwrite that.
We now refresh the staging panel when doing an unscoped refresh, so that if we commit from the staging panel we escape back to the files panel if need be. But that causes flickering when doing an unscoped refresh from other contexts, because the refreshStagingPanel function assumes that the staging panel has focus. So we're adding a guard at the top of that function to early exit if we don't have focus.
2df806b
to
8d68ab4
Compare
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [GoogleContainerTools/skaffold](https://github.com/GoogleContainerTools/skaffold) | patch | `v2.6.1` -> `v2.6.2` | | [aquaproj/aqua](https://github.com/aquaproj/aqua) | minor | `v2.9.0` -> `v2.10.1` | | [aquaproj/aqua-installer](https://github.com/aquaproj/aqua-installer) | patch | `v2.1.1` -> `v2.1.2` | | [aquaproj/aqua-registry](https://github.com/aquaproj/aqua-registry) | minor | `v4.26.0` -> `v4.32.0` | | [bitnami-labs/sealed-secrets](https://github.com/bitnami-labs/sealed-secrets) | minor | `v0.22.0` -> `v0.23.0` | | [charmbracelet/gum](https://github.com/charmbracelet/gum) | minor | `v0.10.0` -> `v0.11.0` | | [cli/cli](https://github.com/cli/cli) | patch | `v2.32.0` -> `v2.32.1` | | [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) | minor | `v0.38.2` -> `v0.39.4` | | [kubernetes-sigs/kustomize](https://github.com/kubernetes-sigs/kustomize) | patch | `v5.1.0` -> `v5.1.1` | | [kubernetes/kubectl](https://github.com/kubernetes/kubectl) | patch | `1.27.3` -> `1.27.4` | | [kubernetes/minikube](https://github.com/kubernetes/minikube) | minor | `v1.30.1` -> `v1.31.1` | | [marcosnils/bin](https://github.com/marcosnils/bin) | minor | `v0.16.2` -> `v0.17.0` | | [starship/starship](https://github.com/starship/starship) | minor | `v1.15.0` -> `v1.16.0` | | [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | minor | `v2.34.3` -> `v2.36.1` | | [weaveworks/eksctl](https://github.com/weaveworks/eksctl) | minor | `v0.149.0` -> `v0.150.0` | --- ### Release Notes <details> <summary>GoogleContainerTools/skaffold (GoogleContainerTools/skaffold)</summary> ### [`v2.6.2`](https://github.com/GoogleContainerTools/skaffold/releases/tag/v2.6.2): Release [Compare Source](https://github.com/GoogleContainerTools/skaffold/compare/v2.6.1...v2.6.2) ### v2.6.2 Release - 2023-07-19 **Linux amd64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **Linux arm64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-linux-arm64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **macOS amd64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **macOS arm64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-darwin-arm64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **Windows** https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-windows-amd64.exe **Docker image** `gcr.io/k8s-skaffold/skaffold:v2.6.2` **Full Changelog**: https://github.com/GoogleContainerTools/skaffold/compare/v2.6.1...v2.6.2 </details> <details> <summary>aquaproj/aqua (aquaproj/aqua)</summary> ### [`v2.10.1`](https://github.com/aquaproj/aqua/releases/tag/v2.10.1) [Compare Source](https://github.com/aquaproj/aqua/compare/v2.10.0...v2.10.1) [Pull Requests](https://github.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.1) | [Issues](https://github.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.1) | https://github.com/aquaproj/aqua/compare/v2.10.0...v2.10.1 ##### Bug Fixes [#​2119](https://github.com/aquaproj/aqua/issues/2119) Stop outputting checksum file paths except for `aqua update-checksum` This is a bug of aqua [v2.10.0](https://github.com/aquaproj/aqua/releases/tag/v2.10.0) [#​2108](https://github.com/aquaproj/aqua/issues/2108) ### [`v2.10.0`](https://github.com/aquaproj/aqua/releases/tag/v2.10.0) [Compare Source](https://github.com/aquaproj/aqua/compare/v2.9.1...v2.10.0) [Pull Requests](https://github.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.0) | [Issues](https://github.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.0) | https://github.com/aquaproj/aqua/compare/v2.9.1...v2.10.0 ##### Features [#​2111](https://github.com/aquaproj/aqua/issues/2111) Add a subcommand `info` [#​2108](https://github.com/aquaproj/aqua/issues/2108) update-checksum: Output created or updated file names ##### Others [#​2110](https://github.com/aquaproj/aqua/issues/2110) Update aqua-proxy v1.2.0 to v1.2.1 https://github.com/aquaproj/aqua-proxy/releases/tag/v1.2.1 ##### Features - Add a subcommand `info` [#​2111](https://github.com/aquaproj/aqua/issues/2111) e.g. ```console $ aqua info { "version": "2.10.0", "commit_hash": "b80f805489c317d83d7fe0b182f3ef5c82a06725", "os": "darwin", "arch": "arm64", "pwd": "/Users/(USER)/Documents/aqua/info", "root_dir": "/Users/(USER)/.local/share/aquaproj-aqua", "env": { "AQUA_GITHUB_TOKEN": "(masked)", "AQUA_GLOBAL_CONFIG": "/Users/(USER)/repos/src/github.com/aquaproj/aqua-registry/aqua-all.yaml" }, "config_files": [ { "path": "/Users/(USER)/Documents/aqua/info/aqua/aqua.yaml" } ] } ``` GitHub Access Token and user name are masked. This is useful for troubleshooting. Please paste the result of this command to your support issues. ##### Features - update-checksum: Output created or updated file names [#​2108](https://github.com/aquaproj/aqua/issues/2108) ```console $ aqua update-checksum ``` This is useful to commit and push created or updated files in CI. ### [`v2.9.1`](https://github.com/aquaproj/aqua/releases/tag/v2.9.1) [Compare Source](https://github.com/aquaproj/aqua/compare/v2.9.0...v2.9.1) [Pull Requests](https://github.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.9.1) | [Issues](https://github.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.9.1) | https://github.com/aquaproj/aqua/compare/v2.9.0...v2.9.1 ##### Bug Fixes [#​2098](https://github.com/aquaproj/aqua/issues/2098) Fix the Windows support. Fix a bug that aqua skips renaming files mistakenly on Windows. This bug affects only Windows. Windows can't execute files without file extension, but some packages release executable files without file extension. So aqua renames files to add file extension such as `.exe` on Windows when aqua installs them. This release fixes a bug that this feature doesn't work well. ##### Others [#​2091](https://github.com/aquaproj/aqua/issues/2091) Update Go 1.20.5 to 1.20.6 </details> <details> <summary>aquaproj/aqua-installer (aquaproj/aqua-installer)</summary> ### [`v2.1.2`](https://github.com/aquaproj/aqua-installer/releases/tag/v2.1.2) [Compare Source](https://github.com/aquaproj/aqua-installer/compare/v2.1.1...v2.1.2) [Issues](https://github.com/aquaproj/aqua-installer/issues?q=is%3Aissue+milestone%3Av2.1.2) | [Pull Requests](https://github.com/aquaproj/aqua-installer/pulls?q=is%3Apr+milestone%3Av2.1.2) | https://github.com/aquaproj/aqua-installer/compare/v2.1.1...v2.1.2 ##### Fixes [#​432](https://github.com/aquaproj/aqua-installer/issues/432) Fix typo [#​461](https://github.com/aquaproj/aqua-installer/issues/461) [#​463](https://github.com/aquaproj/aqua-installer/issues/463) Fix a bug that action doesn't work in a container ##### Fix a bug that action doesn't work in a container [#​461](https://github.com/aquaproj/aqua-installer/issues/461) [#​463](https://github.com/aquaproj/aqua-installer/issues/463) GitHub Actions supports running a job in a container. https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container But in a container the variable `${{ github.action_path }}` is wrong, so action can't access the script `aqua-installer`. This is a known issue of GitHub Actions. - [https://github.com/actions/runner/issues/2185](https://github.com/actions/runner/issues/2185) To solve the issue, we copy the content of the script `aqua-installer` into action itself, then action don't have to access the script `aqua-installer`. </details> <details> <summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary> ### [`v4.32.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.32.0) [Compare Source](https://github.com/aquaproj/aqua-registry/compare/v4.31.0...v4.32.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.32.0) | [Pull Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.32.0) | https://github.com/aquaproj/aqua-registry/compare/v4.31.0...v4.32.0 #### 🎉 New Packages [#​13691](https://github.com/aquaproj/aqua-registry/issues/13691) [#​14174](https://github.com/aquaproj/aqua-registry/issues/14174) [Scalingo/cli](https://github.com/Scalingo/cli): Command Line client for Scalingo PaaS [#​14209](https://github.com/aquaproj/aqua-registry/issues/14209) [connectrpc/connect-go/protoc-gen-connect-go](https://github.com/connectrpc/connect-go): Simple, reliable, interoperable. A better gRPC [@​ichizero](https://github.com/ichizero) :bulb: https://github.com/bufbuild/connect-go was relocated to https://github.com/connectrpc/connect-go [#​14173](https://github.com/aquaproj/aqua-registry/issues/14173) [segmentio/topicctl](https://github.com/segmentio/topicctl): Tool for declarative management of Kafka topics #### 🎉 New Contributors Thank you for your contribution! [@​ichizero](https://github.com/ichizero) [#​14209](https://github.com/aquaproj/aqua-registry/issues/14209) ### [`v4.31.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.31.0) [Compare Source](https://github.com/aquaproj/aqua-registry/compare/v4.30.0...v4.31.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.31.0) | [Pull Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.31.0) | https://github.com/aquaproj/aqua-registry/compare/v4.30.0...v4.31.0 #### 🎉 New Packages [#​14076](https://github.com/aquaproj/aqua-registry/issues/14076) [b4b4r07/vtest](https://github.com/b4b4r07/vtest): Unix `test` command for Version comparison [#​14097](https://github.com/aquaproj/aqua-registry/issues/14097) [bflad/tfproviderdocs](https://github.com/bflad/tfproviderdocs): Terraform Provider Documentation Tool [@​ponkio-o](https://github.com/ponkio-o) [#​14099](https://github.com/aquaproj/aqua-registry/issues/14099) [golangci/misspell](https://github.com/golangci/misspell): Correct commonly misspelled English words in source files [@​ponkio-o](https://github.com/ponkio-o) [#​14102](https://github.com/aquaproj/aqua-registry/issues/14102) [hashicorp/copywrite](https://github.com/hashicorp/copywrite): Automate copyright headers and license files at scale [@​ponkio-o](https://github.com/ponkio-o) [#​14101](https://github.com/aquaproj/aqua-registry/issues/14101) [pavius/impi](https://github.com/pavius/impi): Verify proper golang import directives, beyond the capability of gofmt and goimports [@​ponkio-o](https://github.com/ponkio-o) #### Fixes [#​14078](https://github.com/aquaproj/aqua-registry/issues/14078) stoplightio/spectral: Follow up changes of spectral v6.7.0 [#​14077](https://github.com/aquaproj/aqua-registry/issues/14077) hhatto/gocloc: Follow up changes of gocloc v0.5.1 ### [`v4.30.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.30.0) [Compare Source](https://github.com/aquaproj/aqua-registry/compare/v4.29.1...v4.30.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.30.0) | [Pull Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.30.0) | https://github.com/aquaproj/aqua-registry/compare/v4.29.1...v4.30.0 #### 🎉 New Packages [#​13987](https://github.com/aquaproj/aqua-registry/issues/13987) [snaplet/cli](https://www.snaplet.dev/): Seed your PostgreSQL database with production-like data so you can code, debug, and test with ease [@​Gowiem](https://github.com/Gowiem) #### Improvements [#​14005](https://github.com/aquaproj/aqua-registry/issues/14005) [#​14026](https://github.com/aquaproj/aqua-registry/issues/14026) aws/aws-cli: Support macOS #### Fixes [#​14021](https://github.com/aquaproj/aqua-registry/issues/14021) apache/camel-k: Follow up changes of camel-k [#​14004](https://github.com/aquaproj/aqua-registry/issues/14004) mattn/efm-langserver: Ignore v0.0.45 [@​4513ECHO](https://github.com/4513ECHO) [#​14022](https://github.com/aquaproj/aqua-registry/issues/14022) watchexec/watchexec: Follow up changes of watchexec v1.20.6 ### [`v4.29.1`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.29.1) [Compare Source](https://github.com/aquaproj/aqua-registry/compare/v4.29.0...v4.29.1) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.29.1) | [Pull Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.29.1) | https://github.com/aquaproj/aqua-registry/compare/v4.29.0...v4.29.1 #### Fixes [#​13979](https://github.com/aquaproj/aqua-registry/issues/13979) arttor/helmify: Follow up changes of helmify v0.4.5 [#​13974](https://github.com/aquaproj/aqua-registry/issues/13974) birdayz/kaf: Follow up changes of kaf v0.2.6 [#​13971](https://github.com/aquaproj/aqua-registry/issues/13971) caarlos0/fork-cleaner: Follow up change of fork-cleaner [#​13969](https://github.com/aquaproj/aqua-registry/issues/13969) charmbracelet/vhs: Follow up changes of vhs [#​13980](https://github.com/aquaproj/aqua-registry/issues/13980) google/mtail: Follow up changes of mtail [#​13978](https://github.com/aquaproj/aqua-registry/issues/13978) kyverno/kyverno: Follow up changes of kyverno [#​13975](https://github.com/aquaproj/aqua-registry/issues/13975) tmknom/actdocs: Follow up changes of actdocs v0.5.0 ### [`v4.29.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.29.0) [Compare Source](https://github.com/aquaproj/aqua-registry/compare/v4.28.0...v4.29.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.29.0) | [Pull Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.29.0) | https://github.com/aquaproj/aqua-registry/compare/v4.28.0...v4.29.0 #### 🎉 New Packages [#​13931](https://github.com/aquaproj/aqua-registry/issues/13931) [k0kubun/xremap/gnome](https://github.com/k0kubun/xremap): Key remapper for X11 and Wayland (for GNOME Wayland) [@​4513ECHO](https://github.com/4513ECHO) [#​13931](https://github.com/aquaproj/aqua-registry/issues/13931) [k0kubun/xremap/hypr](https://github.com/k0kubun/xremap): Key remapper for X11 and Wayland (for Hyprland) [@​4513ECHO](https://github.com/4513ECHO) [#​13931](https://github.com/aquaproj/aqua-registry/issues/13931) [k0kubun/xremap/kde](https://github.com/k0kubun/xremap): Key remapper for X11 and Wayland (for KDE-Plasma Wayland) [@​4513ECHO](https://github.com/4513ECHO) [#​13931](https://github.com/aquaproj/aqua-registry/issues/13931) [k0kubun/xremap/sway](https://github.com/k0kubun/xremap): Key remapper for X11 and Wayland (for Sway) [@​4513ECHO](https://github.com/4513ECHO) [#​13931](https://github.com/aquaproj/aqua-registry/issues/13931) [k0kubun/xremap/x11](https://github.com/k0kubun/xremap): Key remapper for X11 and Wayland (for X11) [@​4513ECHO](https://github.com/4513ECHO) #### Fixes [#​13930](https://github.com/aquaproj/aqua-registry/issues/13930) sheepla/fzwiki: Follow up changes of fzwiki v0.1.0-alpha [@​4513ECHO](https://github.com/4513ECHO) ### [`v4.28.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.28.0) [Compare Source](https://github.com/aquaproj/aqua-registry/compare/v4.27.0...v4.28.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.28.0) | [Pull Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.28.0) | https://github.com/aquaproj/aqua-registry/compare/v4.27.0...v4.28.0 #### 🎉 New Packages [#​13862](https://github.com/aquaproj/aqua-registry/issues/13862) [JohnnyMorganz/StyLua](https://github.com/JohnnyMorganz/StyLua): An opinionated Lua code formatter [@​4513ECHO](https://github.com/4513ECHO) [#​13863](https://github.com/aquaproj/aqua-registry/issues/13863) [itchyny/maze](https://github.com/itchyny/maze): A maze command written in Go [@​4513ECHO](https://github.com/4513ECHO) ### [`v4.27.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.27.0) [Compare Source](https://github.com/aquaproj/aqua-registry/compare/v4.26.0...v4.27.0) [Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.27.0) | [Pull Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.27.0) | https://github.com/aquaproj/aqua-registry/compare/v4.26.0...v4.27.0 #### 🎉 New Packages [#​13784](https://github.com/aquaproj/aqua-registry/issues/13784) [crates.io/shellharden](https://crates.io/crates/shellharden): The corrective bash syntax highlighter [@​hituzi-no-sippo](https://github.com/hituzi-no-sippo) </details> <details> <summary>bitnami-labs/sealed-secrets (bitnami-labs/sealed-secrets)</summary> ### [`v0.23.0`](https://github.com/bitnami-labs/sealed-secrets/blob/HEAD/RELEASE-NOTES.md#v0230) [Compare Source](https://github.com/bitnami-labs/sealed-secrets/compare/v0.22.0...v0.23.0) ##### Changelog - Add option for custom annotations and labels on sealing keypairs ([#​1250](https://github.com/bitnami-labs/sealed-secrets/pull/1250)) - Add option to patch secrets instead of clobbering them ([#​1259](https://github.com/bitnami-labs/sealed-secrets/pull/1259)) - Improve CLI UX error message while service is not found ([#​1256](https://github.com/bitnami-labs/sealed-secrets/pull/1256)) - Add namespaced roles support to Helm chart ([#​1240](https://github.com/bitnami-labs/sealed-secrets/pull/1240)) - add --log-info-stdout to chart ([#​1238](https://github.com/bitnami-labs/sealed-secrets/pull/1238)) - Fix networkpolicy port + add egress ([#​1243](https://github.com/bitnami-labs/sealed-secrets/pull/1243)) - Create index for Sealed Secrets public documentation ([#​1264](https://github.com/bitnami-labs/sealed-secrets/pull/1264)) - Getting started page ([#​1253](https://github.com/bitnami-labs/sealed-secrets/pull/1253)) - Create a FAQ document for Sealed Secrets public documentation ([#​1269](https://github.com/bitnami-labs/sealed-secrets/pull/1269)) - Create a cryptography document for Sealed Secrets public documentation ([#​1267](https://github.com/bitnami-labs/sealed-secrets/pull/1267)) - Validate existing Sealed Secrets document ([#​1266](https://github.com/bitnami-labs/sealed-secrets/pull/1266)) - added support policy to readme ([#​1265](https://github.com/bitnami-labs/sealed-secrets/pull/1265)) - Add missing document seperator ([#​1260](https://github.com/bitnami-labs/sealed-secrets/pull/1260)) - Enable full linter support for golangci-lint ([#​1262](https://github.com/bitnami-labs/sealed-secrets/pull/1262)) - Update minikube K8S versions ([#​1251](https://github.com/bitnami-labs/sealed-secrets/pull/1251)) - Bump github.com/onsi/ginkgo/v2 from 2.10.0 to 2.11.0 ([#​1254](https://github.com/bitnami-labs/sealed-secrets/pull/1254)) - Bump k8s.io/code-generator from 0.27.2 to 0.27.3 ([#​1255](https://github.com/bitnami-labs/sealed-secrets/pull/1255)) - Bump golang.org/x/crypto from 0.10.0 to 0.11.0 ([#​1268](https://github.com/bitnami-labs/sealed-secrets/pull/1268)) - Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 ([#​1247](https://github.com/bitnami-labs/sealed-secrets/pull/1247)) - Bump golang.org/x/crypto from 0.9.0 to 0.10.0 ([#​1248](https://github.com/bitnami-labs/sealed-secrets/pull/1248)) - Bump k8s.io/client-go from 0.27.2 to 0.27.3 ([#​1244](https://github.com/bitnami-labs/sealed-secrets/pull/1244)) </details> <details> <summary>charmbracelet/gum (charmbracelet/gum)</summary> ### [`v0.11.0`](https://github.com/charmbracelet/gum/releases/tag/v0.11.0) [Compare Source](https://github.com/charmbracelet/gum/compare/v0.10.0...v0.11.0) ### Pager Search, Timeouts, and Bug fixes This release of Gum includes several features and bug fixes to make your Gum usage more smooooth! 🧈 <img width="600" src="https://github.com/charmbracelet/gum/assets/42545625/b1dcd04b-fc79-4976-9035-899ead036f3c" /> #### What’s Changed ##### New - Pager search functionality (by [@​MikaelFangel](https://github.com/MikaelFangel)) in [https://github.com/charmbracelet/gum/pull/321](https://github.com/charmbracelet/gum/pull/321) - Strip ANSI for `gum filter` and `gum choose` when output is not a TTY - Non-positive widths will cause `gum write` will use the entire terminal width - `GUM_FORMAT_THEME` / `GUM_FORMAT_LANGUAGE` environment variables - `--no-sort` flag for `gum filter` - Customizable cursor modes - Customizable cursor line text - Add `--timeout` flag to all subcommands (by [@​deicon](https://github.com/deicon)) ##### Fixed - Respect file path argument in filepicker ##### Other stuff - Switch to `termenv.EnvColorProfile()` by [@​kennyp](https://github.com/kennyp) in [https://github.com/charmbracelet/gum/pull/387](https://github.com/charmbracelet/gum/pull/387) #### New Contributors - [@​hopefulTex](https://github.com/hopefulTex) made their first contribution in [https://github.com/charmbracelet/gum/pull/303](https://github.com/charmbracelet/gum/pull/303) - [@​vahnrr](https://github.com/vahnrr) made their first contribution in [https://github.com/charmbracelet/gum/pull/374](https://github.com/charmbracelet/gum/pull/374) - [@​kennyp](https://github.com/kennyp) made their first contribution in [https://github.com/charmbracelet/gum/pull/387](https://github.com/charmbracelet/gum/pull/387) **Full Changelog**: https://github.com/charmbracelet/gum/compare/v0.10.0...v0.11.0 *** <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a> Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli), [The Fediverse](https://mastodon.technology/@​charm), or on [Discord](https://charm.sh/chat). </details> <details> <summary>cli/cli (cli/cli)</summary> ### [`v2.32.1`](https://github.com/cli/cli/releases/tag/v2.32.1): GitHub CLI 2.32.1 [Compare Source](https://github.com/cli/cli/compare/v2.32.0...v2.32.1) #### What's Changed - `pr checks`: Fix regression making it unusable in GHES versions older than 3.9 by [@​samcoe](https://github.com/samcoe) in [https://github.com/cli/cli/pull/7725](https://github.com/cli/cli/pull/7725) - `pr edit`: Do not make reviewer update request if there are no reviewer changes by [@​samcoe](https://github.com/samcoe) in [https://github.com/cli/cli/pull/7730](https://github.com/cli/cli/pull/7730) - `repo view`: Sanitize file contents before displaying them by [@​samcoe](https://github.com/samcoe) in [https://github.com/cli/cli/pull/7694](https://github.com/cli/cli/pull/7694) - `release download`: Use filepath.Clean to sanitize path for archive downloads by [@​samcoe](https://github.com/samcoe) in [https://github.com/cli/cli/pull/7720](https://github.com/cli/cli/pull/7720) - `auth`: Do not add auth token to redirect requests which do not have the same host as the initial request by [@​samcoe](https://github.com/samcoe) in [https://github.com/cli/cli/pull/7692](https://github.com/cli/cli/pull/7692) - Use asciisanitization package from go-gh by [@​samcoe](https://github.com/samcoe) in [https://github.com/cli/cli/pull/7745](https://github.com/cli/cli/pull/7745) **Full Changelog**: https://github.com/cli/cli/compare/v2.32.0...v2.32.1 </details> <details> <summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary> ### [`v0.39.4`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.4) [Compare Source](https://github.com/jesseduffield/lazygit/compare/v0.39.3...v0.39.4) <!-- Release notes generated using configuration in .github/release.yml at v0.39.4 --> #### What's Changed ##### Enhancements 🔥 - Prompt for commit message when moving a custom patch to a new commit by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2800](https://github.com/jesseduffield/lazygit/pull/2800) ##### Fixes 🔧 - Support typing special characters like '\[' on non-english keyboards by [@​Calvin1602](https://github.com/Calvin1602) in [https://github.com/jesseduffield/lazygit/pull/2818](https://github.com/jesseduffield/lazygit/pull/2818) - Fix infinite wait on push/pull on windows by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2821](https://github.com/jesseduffield/lazygit/pull/2821) ##### Docs 📖 - Add Gentoo installation documentation to README by [@​cova-fe](https://github.com/cova-fe) in [https://github.com/jesseduffield/lazygit/pull/2811](https://github.com/jesseduffield/lazygit/pull/2811) #### New Contributors - [@​cova-fe](https://github.com/cova-fe) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2811](https://github.com/jesseduffield/lazygit/pull/2811) - [@​Calvin1602](https://github.com/Calvin1602) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2818](https://github.com/jesseduffield/lazygit/pull/2818) **Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.39.3...v0.39.4 ### [`v0.39.3`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.3) [Compare Source](https://github.com/jesseduffield/lazygit/compare/v0.39.2...v0.39.3) <!-- Release notes generated using configuration in .github/release.yml at v0.39.3 --> #### What's Changed ##### Enhancements 🔥 - Include more commit authors in author suggestions by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2807](https://github.com/jesseduffield/lazygit/pull/2807) - Use fuzzy search when filtering a view by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2808](https://github.com/jesseduffield/lazygit/pull/2808) - Better tag creation UX by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2809](https://github.com/jesseduffield/lazygit/pull/2809) - Better word wrap by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2812](https://github.com/jesseduffield/lazygit/pull/2812) ##### Fixes 🔧 - Fix crash caused by simultaneous read/write of scanner buffer by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2813](https://github.com/jesseduffield/lazygit/pull/2813) **Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.39.2...v0.39.3 ### [`v0.39.2`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.2) [Compare Source](https://github.com/jesseduffield/lazygit/compare/v0.39.1...v0.39.2) This release fixes an issue on windows where the main view would stop rendering new content. This issue mostly affected users running git through a shim. Thanks to [@​AndrewSav](https://github.com/AndrewSav) for the investigation and fix [https://github.com/jesseduffield/lazygit/pull/2806](https://github.com/jesseduffield/lazygit/pull/2806) ### [`v0.39.1`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.1) [Compare Source](https://github.com/jesseduffield/lazygit/compare/v0.38.2...v0.39.1) <!-- Release notes generated using configuration in .github/release.yml at v0.39.1 --> **Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.39.0...v0.39.1 <!-- Release notes generated using configuration in .github/release.yml at v0.39.1 --> #### What's Changed There's lots of stuff in this release! Some favourites of mine include: - Filter functionality for branches (and some other list views) activated by '/' - Showing commit hashes against branches (opt-in with `gui.showBranchCommitHash: true`) - Various improvements to rebasing functionality - Nerd font 3 support As you can see [@​stefanhaller](https://github.com/stefanhaller) is behind many of the improvements in this release so kudos to you Stefan! And thanks to all the contributors who made this release possible. In the next release we're adding worktree support. It's a big feature so we want to get it right! If you use worktrees as part of your daily flow please respond to the poll (and even test out the draft PR) in the [Worktree UX discussion](https://github.com/jesseduffield/lazygit/discussions/2803) ##### Enhancements 🔥 - Support filtering on some views with '/' by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2680](https://github.com/jesseduffield/lazygit/pull/2680) - Allow scrolling side views without changing selected item by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2608](https://github.com/jesseduffield/lazygit/pull/2608) - Speed up Lazygit on windows by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2661](https://github.com/jesseduffield/lazygit/pull/2661) - Show commit hashes against branches (opt-in) by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2274](https://github.com/jesseduffield/lazygit/pull/2274) - Add config for nerd fonts version by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2731](https://github.com/jesseduffield/lazygit/pull/2731) - Show rebase todo entry for conflicted commit by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2682](https://github.com/jesseduffield/lazygit/pull/2682) - Don't keep commits that become empty during a rebase by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2644](https://github.com/jesseduffield/lazygit/pull/2644) - Show menu instead of prompt when there are conflicts in a rebase or merge by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2694](https://github.com/jesseduffield/lazygit/pull/2694) - Make "merged" take precedence over "unpushed" by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2628](https://github.com/jesseduffield/lazygit/pull/2628) - Add config for main branches by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2619](https://github.com/jesseduffield/lazygit/pull/2619) - Visualize the "ignore whitespace" config by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2641](https://github.com/jesseduffield/lazygit/pull/2641) - Support dynamically generated suggestions in custom commands prompt by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2686](https://github.com/jesseduffield/lazygit/pull/2686) - Add suggestions presets to prompts in custom commands by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2685](https://github.com/jesseduffield/lazygit/pull/2685) - Allow checking for merge conflicts after running a custom command by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2773](https://github.com/jesseduffield/lazygit/pull/2773) - Use sentence case everywhere by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2672](https://github.com/jesseduffield/lazygit/pull/2672) - Our casing as all over the place so now we're using 'Sentence case' for everything. - More compact and flexible date format by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2676](https://github.com/jesseduffield/lazygit/pull/2676) - Add nvim and kakoune editor presets by [@​screendriver](https://github.com/screendriver) in [https://github.com/jesseduffield/lazygit/pull/2591](https://github.com/jesseduffield/lazygit/pull/2591) - Add helix editor preset by [@​dvic](https://github.com/dvic) in [https://github.com/jesseduffield/lazygit/pull/2668](https://github.com/jesseduffield/lazygit/pull/2668) - Fetch from all remotes by default by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2692](https://github.com/jesseduffield/lazygit/pull/2692) - Better prompt for discarding old file changes by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2707](https://github.com/jesseduffield/lazygit/pull/2707) - Use remote upstreams of main branches to determine merged status of commits by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2725](https://github.com/jesseduffield/lazygit/pull/2725) - Always show branch heads in diff pane by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2748](https://github.com/jesseduffield/lazygit/pull/2748) - Rely on .gitconfig for verbose commit messages by [@​scallaway](https://github.com/scallaway) in [https://github.com/jesseduffield/lazygit/pull/2664](https://github.com/jesseduffield/lazygit/pull/2664) - Show all tags in commits panel by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2776](https://github.com/jesseduffield/lazygit/pull/2776) - Update gitlab merge request URL to match new routing by [@​mazharz](https://github.com/mazharz) in [https://github.com/jesseduffield/lazygit/pull/2656](https://github.com/jesseduffield/lazygit/pull/2656) - Right-align key labels in menu by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2652](https://github.com/jesseduffield/lazygit/pull/2652) - Indicate reserved menu keybindings to reduce confusion by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2651](https://github.com/jesseduffield/lazygit/pull/2651) ##### Fixes 🔧 - Fix to show commitPrefixes in commit message with a new blank commit by [@​longlhh90](https://github.com/longlhh90) in [https://github.com/jesseduffield/lazygit/pull/2612](https://github.com/jesseduffield/lazygit/pull/2612) - Fix intermittent rebase continue prompt failure by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2629](https://github.com/jesseduffield/lazygit/pull/2629) - Fix bug where discarding merge conflict file failed by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2662](https://github.com/jesseduffield/lazygit/pull/2662) - Better default text colour on light theme terminals by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2696](https://github.com/jesseduffield/lazygit/pull/2696) - Fix rendering issues in commits view by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2700](https://github.com/jesseduffield/lazygit/pull/2700) - Fix interactive rebase with git 2.25.1 and earlier by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2747](https://github.com/jesseduffield/lazygit/pull/2747) - Fix crash when a background fetch prompts for credentials by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2789](https://github.com/jesseduffield/lazygit/pull/2789) - fix kakoune binary name by [@​enricozb](https://github.com/enricozb) in [https://github.com/jesseduffield/lazygit/pull/2708](https://github.com/jesseduffield/lazygit/pull/2708) - Fix focus issue when opening recent-repos menu at launch by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2715](https://github.com/jesseduffield/lazygit/pull/2715) - Allow discarding changes only from local commits by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2712](https://github.com/jesseduffield/lazygit/pull/2712) - Honour configured comment char on interactive rebase by [@​gustavopcassol](https://github.com/gustavopcassol) in [https://github.com/jesseduffield/lazygit/pull/2639](https://github.com/jesseduffield/lazygit/pull/2639) - Fix the title and text of the Discard Changes prompt by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2706](https://github.com/jesseduffield/lazygit/pull/2706) - Fix broken `git init` prompt by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2771](https://github.com/jesseduffield/lazygit/pull/2771) - Fix potentially wrong help text in commit message panel by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2777](https://github.com/jesseduffield/lazygit/pull/2777) - Fix incorrect focus in accordion mode by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2792](https://github.com/jesseduffield/lazygit/pull/2792) - Fix crash on empty menu by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2799](https://github.com/jesseduffield/lazygit/pull/2799) - Only apply right-alignment on first column of keybindings menu by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2801](https://github.com/jesseduffield/lazygit/pull/2801) - Stop hiding underscores for VSCode by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2699](https://github.com/jesseduffield/lazygit/pull/2699) ##### Maintenance ⚙️ - Run integration tests with all supported git versions by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2754](https://github.com/jesseduffield/lazygit/pull/2754) - Add ability to update yaml path while preserving comments by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2620](https://github.com/jesseduffield/lazygit/pull/2620) - Refactor for better encapsulation by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2519](https://github.com/jesseduffield/lazygit/pull/2519) - Add convenience builder for git commands by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2645](https://github.com/jesseduffield/lazygit/pull/2645) - Construct arg vector manually rather than parse string by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2655](https://github.com/jesseduffield/lazygit/pull/2655) - Allow global logging when developing by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2671](https://github.com/jesseduffield/lazygit/pull/2671) - remove `github.com/jesseduffield/yaml` package by [@​Ryooooooga](https://github.com/Ryooooooga) in [https://github.com/jesseduffield/lazygit/pull/2508](https://github.com/jesseduffield/lazygit/pull/2508) - Update seconds ago function and add tests by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2695](https://github.com/jesseduffield/lazygit/pull/2695) - Support matchers on integers in integration tests by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2704](https://github.com/jesseduffield/lazygit/pull/2704) - Improve yaml_utils by [@​stefanhaller](https://github.com/stefanhaller) in [https://github.com/jesseduffield/lazygit/pull/2718](https://github.com/jesseduffield/lazygit/pull/2718) - Fix typo 'EnteRefName' by [@​letavocado](https://github.com/letavocado) in [https://github.com/jesseduffield/lazygit/pull/2750](https://github.com/jesseduffield/lazygit/pull/2750) - Track busy/idle state for integration tests by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2765](https://github.com/jesseduffield/lazygit/pull/2765) - Add test for cmd obj cloning by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2780](https://github.com/jesseduffield/lazygit/pull/2780) - Update release notes config and add CI check by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2797](https://github.com/jesseduffield/lazygit/pull/2797) - Add release config for generating release notes by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2793](https://github.com/jesseduffield/lazygit/pull/2793) - Remove Uffizzi by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2690](https://github.com/jesseduffield/lazygit/pull/2690) - Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jesseduffield/lazygit/pull/2490](https://github.com/jesseduffield/lazygit/pull/2490) ##### Docs 📖 - Add package statuses to readme by [@​jesseduffield](https://github.com/jesseduffield) in [https://github.com/jesseduffield/lazygit/pull/2717](https://github.com/jesseduffield/lazygit/pull/2717) ##### I18n 🌎 - Add Traditional Chinese support by [@​tzengyuxio](https://github.com/tzengyuxio) in [https://github.com/jesseduffield/lazygit/pull/2688](https://github.com/jesseduffield/lazygit/pull/2688) - Add russian translation by [@​letavocado](https://github.com/letavocado) in [https://github.com/jesseduffield/lazygit/pull/2729](https://github.com/jesseduffield/lazygit/pull/2729) #### New Contributors - [@​screendriver](https://github.com/screendriver) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2591](https://github.com/jesseduffield/lazygit/pull/2591) - [@​longlhh90](https://github.com/longlhh90) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2612](https://github.com/jesseduffield/lazygit/pull/2612) - [@​mazharz](https://github.com/mazharz) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2656](https://github.com/jesseduffield/lazygit/pull/2656) - [@​dvic](https://github.com/dvic) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2668](https://github.com/jesseduffield/lazygit/pull/2668) - [@​dependabot](https://github.com/dependabot) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2490](https://github.com/jesseduffield/lazygit/pull/2490) - [@​tzengyuxio](https://github.com/tzengyuxio) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2688](https://github.com/jesseduffield/lazygit/pull/2688) - [@​enricozb](https://github.com/enricozb) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2708](https://github.com/jesseduffield/lazygit/pull/2708) - [@​letavocado](https://github.com/letavocado) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2729](https://github.com/jesseduffield/lazygit/pull/2729) - [@​gustavopcassol](https://github.com/gustavopcassol) made their first contribution in [https://github.com/jesseduffield/lazygit/pull/2639](https://github.com/jesseduffield/lazygit/pull/2639) If you contributed to this release but don't see your name here, let me know! **Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.38.2...v0.39.1 </details> <details> <summary>kubernetes-sigs/kustomize (kubernetes-sigs/kustomize)</summary> ### [`v5.1.1`](https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize/v5.1.1) [Compare Source](https://github.com/kubernetes-sigs/kustomize/compare/kustomize/v5.1.0...kustomize/v5.1.1) Built with go 1.20.6 to address CVEs in previous go versions. [#​5245](https://github.com/kubernetes-sigs/kustomize/issues/5245): Fix typo in help for the create subcommand </details> <details> <summary>kubernetes/kubectl (kubernetes/kubectl)</summary> ### [`v1.27.4`](https://github.com/kubernetes/kubectl/compare/kubernetes-1.27.3...kubernetes-1.27.4) [Compare Source](https://github.com/kubernetes/kubectl/compare/kubernetes-1.27.3...kubernetes-1.27.4) </details> <details> <summary>kubernetes/minikube (kubernetes/minikube)</summary> ### [`v1.31.1`](https://github.com/kubernetes/minikube/releases/tag/v1.31.1) [Compare Source](https://github.com/kubernetes/minikube/compare/v1.31.0...v1.31.1) 📣😀 **Please fill out our [fast 5-question survey](https://forms.gle/Gg3hG5ZySw8c1C24A)** so that we can learn how & why you use minikube, and what improvements we should make. Thank you! 💃🎉 #### Release Notes #### Version 1.31.1 - 2023-07-20 - cni: Fix regression in auto selection [#​16912](https://github.com/kubernetes/minikube/pull/16912) For a more detailed changelog, see [CHANGELOG.md](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md). Thank you to our contributors for this release! - Jeff MAURY - Medya Ghazizadeh - Steven Powell Thank you to our triage members for this release! - afbjorklund (5 comments) - torenware (5 comments) - mprimeaux (3 comments) - prezha (3 comments) - spowelljr (1 comments) Check out our [contributions leaderboard](https://minikube.sigs.k8s.io/docs/contrib/leaderboard/v1.31.1/) for this release! #### Installation See [Getting Started](https://minikube.sigs.k8s.io/docs/start/) #### Binary Checksums darwin-amd64: `a465e5b537b63ac8e6624396f490dd79516fd625c1110cbf1f49e7b55c1dfcf6` darwin-arm64: `b58bfb3eaa9f5ab04ced7f6e23184c04fdaadb4ac06cf982e2c50c37466e465a` linux-amd64: `ebcdfb0a520e9e746360a9dd954a9006ca75770e53fcdae493b6ac9a20026733` linux-arm: `372414001ac449f6b33d7189b7fad68980169136221b94dca5cf5e1a9d90259f` linux-arm64: `1bc6dd8bb2f7f0eaae49a3f5685cda0472abdc6e870f5105681e877017826281` linux-ppc64le: `ce979d3698c573eb39ec6fe4d013a714aafcb15331d6c0fed2e38b5f91000162` linux-s390x: `5d9a2cedfa79fbcbfd85a3034eed747da1baf8d1d4004fc4cd18bcafdfe3f6f5` windows-amd64.exe: `a08699d25fede796e6fdc56d8630380bd5864fb291592fc2be24fe881656d064` #### ISO Checksums amd64: `4cc52896d9ab0444300737ddae6d49dd2dbcf67c14579bf3b975d55213ce96ae`\ arm64: `355556716c1de155eeb04e37ed289808f12f2a650e6aa2967f61ab4539241eb6` ### [`v1.31.0`](https://github.com/kubernetes/minikube/releases/tag/v1.31.0) [Compare Source](https://github.com/kubernetes/minikube/compare/v1.30.1...v1.31.0) 📣😀 **Please fill out our [fast 5-question survey](https://forms.gle/Gg3hG5ZySw8c1C24A)** so that we can learn how & why you use minikube, and what improvements we should make. Thank you! 💃🎉 #### Release Notes #### Version 1.31.0 - 2023-07-18 Features: - Add back VMware driver support [#​16796](https://github.com/kubernetes/minikube/pull/16796) - `docker-env` supports the containerd runtime (experimental) [#​15452](https://github.com/kubernetes/minikube/pull/15452) [#​16761](https://github.com/kubernetes/minikube/pull/16761) - Automatically renew expired kubeadm certs [#​16249](https://github.com/kubernetes/minikube/pull/16249) - New addon inspektor-gadget [#​15869](https://github.com/kubernetes/minikube/pull/15869) Major Improvements: - VM drivers: Fix all images getting removed on stop/start (40% start speedup) [#​16655](https://github.com/kubernetes/minikube/pull/16655) - Addon registry: Add support for all architectures [#​16577](https://github.com/kubernetes/minikube/pull/16577) - QEMU: Fix failing to interact with cluster after upgrading QEMU version [#​16853](https://github.com/kubernetes/minikube/pull/16853) - macOS/QEMU: Auto unblock bootpd from firewall if blocking socket_vmnet network [#​16714](https://github.com/kubernetes/minikube/pull/16714) [#​16789](https://github.com/kubernetes/minikube/pull/16789) - `minikube cp` supports providing directory as a target [#​15519](https://github.com/kubernetes/minikube/pull/15519) Minor Improvements: - Always use cni unless running with dockershim [#​14780](https://github.com/kubernetes/minikube/pull/14780) - none driver: Check for CNI plugins before starting cluster [#​16419](https://github.com/kubernetes/minikube/pull/16419) - QEMU: Add ability to create extra disks [#​15887](https://github.com/kubernetes/minikube/pull/15887) - \--kubernetes-version: Assume latest patch version if not specified [#​16569](https://github.com/kubernetes/minikube/pull/16569) - audit: Set default max file size [#​16543](https://github.com/kubernetes/minikube/pull/16543) - service: Fail if no pods available [#​15079](https://github.com/kubernetes/minikube/pull/15079) - docker/podman driver: Use buildx for `image build` command [#​16252](https://github.com/kubernetes/minikube/pull/16252) - Addon gvisor: Simplify runtime configuration and use latest version [#​14996](https://github.com/kubernetes/minikube/pull/14996) - Add PowerShell code completion [#​16232](https://github.com/kubernetes/minikube/pull/16232) - build: Support DOS-style path for Dockerfile path [#​15074](https://github.com/kubernetes/minikube/pull/15074) Bugs: - none driver: Fix `minikube start` not working without `sudo` [#​16408](https://github.com/kubernetes/minikube/pull/16408) - none driver: Fix `minikube image build` [#​16386](https://github.com/kubernetes/minikube/pull/16386) - Fix only allowing one global tunnel [#​16839](https://github.com/kubernetes/minikube/pull/16839) - Fix enabling addons when --no-kubernetes [#​15003](https://github.com/kubernetes/minikube/pull/15003) - Fix enabling addons on a paused cluster [#​15868](https://github.com/kubernetes/minikube/pull/15868) - Fix waiting for kicbase downloads on VM drivers [#​16695](https://github.com/kubernetes/minikube/pull/16695) - image list: Fix only outputting single tag of image with multiple tags [#​16578](https://github.com/kubernetes/minikube/pull/16578) - Addons: Fix cloud-spanner and headlamp incorrect file permissions [#​16413](https://github.com/kubernetes/minikube/pull/16413) - Fix csi-hostpath not allowing custom registry [#​16395](https://github.com/kubernetes/minikube/pull/16395) - Fix mount cleaning mechanism [#​15782](https://github.com/kubernetes/minikube/pull/15782) - Fix kubectl tab-completion and improve error messages \[[#​14868](https://github.com/kubernetes/minikube/issues/14868)]\[https://github.com/kubernetes/minikube/pull/14868](https://github.com/kubernetes/minikube/pull/14868)8 - Fix help text not being translated [#​16850](https://github.com/kubernetes/minikube/pull/16850) [#​16852](https://github.com/kubernetes/minikube/pull/16852) New ISO Modules: - Add BINFMT_MISC [#​16712](https://github.com/kubernetes/minikube/pull/16712) - Add BPF_SYSCALL to arm64 [#​15164](https://github.com/kubernetes/minikube/pull/15164) - Add GENEVE [#​15665](https://github.com/kubernetes/minikube/pull/15665) - add BLK_DEV_RBD & CEPH_LIB to arm64 [#​16019](https://github.com/kubernetes/minikube/pull/16019) Version Upgrades: - Bump Kubernetes version default: v1.27.3 and latest: v1.27.3 [#​16718](https://github.com/kubernetes/minikube/pull/16718) - Addon cloud-spanner: Update cloud-spanner-emulator/emulator image from 1.5.2 to 1.5.7 [#​16248](https://github.com/kubernetes/minikube/pull/16248) [#​16352](https://github.com/kubernetes/minikube/pull/16352) [#​16587](https://github.com/kubernetes/minikube/pull/16587) [#​16652](https://github.com/kubernetes/minikube/pull/16652) [#​16845](https://github.com/kubernetes/minikube/pull/16845) - Addon gcp-auth: Update ingress-nginx/kube-webhook-certgen image from v20230312-helm-chart-4.5.2-28-g66a760794 to v20230407 [#​16601](https://github.com/kubernetes/minikube/pull/16601) - Addon gcp-auth: Update k8s-minikube/gcp-auth-webhook image from v0.0.14 to v0.1.0 [#​16573](https://github.com/kubernetes/minikube/pull/16573) - Addon headlamp: Update headlamp-k8s/headlamp image version from v0.16.0 to v0.18.0 [#​16399](https://github.com/kubernetes/minikube/pull/16399) [#​16540](https://github.com/kubernetes/minikube/pull/16540) [#​16721](https://github.com/kubernetes/minikube/pull/16721) - Addon ingress: Update ingress-nginx/controller image from v1.7.0 to v1.8.1 [#​16601](https://github.com/kubernetes/minikube/pull/16601) [#​16832](https://github.com/kubernetes/minikube/pull/16832) - Addon ingress: Update ingress-nginx/kube-webhook-certgen image from v20230312-helm-chart-4.5.2-28-g66a760794 to v20230407 [#​16601](https://github.com/kubernetes/minikube/pull/16601) - Addon kong: Update kong image from 2.7 to 3.2 [#​16424](https://github.com/kubernetes/minikube/pull/16424) - Addon kong: Update kong/kubernetes-ingress-controller image from 2.1.1 to 2.9.3 [#​16424](https://github.com/kubernetes/minikube/pull/16424) - CNI calico: Update from v3.24.5 to v3.26.1 [#​16144](https://github.com/kubernetes/minikube/pull/16144) [#​16596](https://github.com/kubernetes/minikube/pull/16596) [#​16732](https://github.com/kubernetes/minikube/pull/16732) - CNI flannel: Update from v0.20.2 to v0.22.0 [#​16074](https://github.com/kubernetes/minikube/pull/16074) [#​16435](https://github.com/kubernetes/minikube/pull/16435) [#​16597](https://github.com/kubernetes/minikube/pull/16597) - CNI kindnet: Update from v20230330-48f316cd to v20230511-dc714da8 [#​16488](https://github.com/kubernetes/minikube/pull/16488) - Kicbase: Update base image from ubuntu:focal-20230308 to ubuntu:jammy-20230624 [#​16069](https://github.com/kubernetes/minikube/pull/16069) [#​16632](https://github.com/kubernetes/minikube/pull/16632) [#​16731](https://github.com/kubernetes/minikube/pull/16731) [#​16834](https://github.com/kubernetes/minikube/pull/16834) - Kicbase/ISO: Update buildkit from v0.11.4 to v0.11.6 [#​16426](https://github.com/kubernetes/minikube/pull/16426) - Kicbase/ISO: Update cni-plugins from v0.8.5 to v1.3.0 [#​16582](https://github.com/kubernetes/minikube/pull/16582) - Kicbase/ISO: Update containerd from v1.7.0 to v1.7.1 [#​16501](https://github.com/kubernetes/minikube/pull/16501) - Kicbase/ISO: Update containerd from v1.7.1 to v1.7.2 [#​16634](https://github.com/kubernetes/minikube/pull/16634) - Kicbase/ISO: Update cri-dockerd from v0.3.1 to v0.3.3 [#​16506](https://github.com/kubernetes/minikube/pull/16506) [#​16703](https://github.com/kubernetes/minikube/pull/16703) - Kicbase/ISO: Update docker from 20.10.23 to 24.0.4 [#​16572](https://github.com/kubernetes/minikube/pull/16572) [#​16612](https://github.com/kubernetes/minikube/pull/16612) [#​16875](https://github.com/kubernetes/minikube/pull/16875) - Kicbase/ISO: Update runc from v1.1.5 to v1.1.7 [#​16417](https://github.com/kubernetes/minikube/pull/16417) For a more detailed changelog, see [CHANGELOG.md](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md). Thank you to our contributors for this release! - AiYijing - Aleksandr Chebotov - Anders F Björklund - Armel Soro - Asbjørn Apeland - Begula - Blaine Gardner - Bogdan Luca - Fabricio Voznika - Jeff MAURY - Joe Bowbeer - Juan Martín Loyola - Judah Nouriyelian - Kemal Akkoyun - Max Cascone - Medya Ghazizadeh - Michele Sorcinelli - Oldřich Jedlička - Ricky Sadowski - Sharran - Steven Powell - Terry Moschou - Tongyao Si - Vedant - Viktor Gamov - W. Duncan Fraser - Yuiko Mouri - aiyijing - cui fliter - guoguangwu - himalayanZephyr - joaquimrocha - lixin18 - piljoong - salasberryfin - shixiuguo - sunyuxuan - syxunion - tianlj - tzzcfrank - vgnshiyer - winkelino - x7upLime - yolossn - zhengtianbao - Товарищ программист Thank you to our PR reviewers for this release! - spowelljr (180 comments) - medyagh (64 comments) - eiffel-fl (16 comments) - afbjorklund (11 comments) - aiyijing (9 comments) - atoato88 (6 comments) - BenTheElder (2 comments) - travisn (2 comments) - ComradeProgrammer (1 comments) - Kimi450 (1 comments) - alban (1 comments) - mprimeaux (1 comments) - sha </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 4pm on thursday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/scottames/dots). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR refactors lots of gui code into helpers/controllers/contexts. It's goal is to whittle away at the Gui god struct that we have.
First off: don't freak out if you've got a PR in flight: I'm happy to hold off merging this for a while so that other people can get their stuff in.
Admittedly, I'm not really comfortable with the pattern of helpers/controllers/contexts either. But I'd rather go all-in on that pattern and then think about how to improve it than to have two patterns co-existing.
With this PR we still have two patterns co-existing because there's just lots of files to migrate, but given how many changes already exist in this PR, I'd rather merge it than add even more stuff to it.
Here's the new situation:
I'm gonna describe this situation how it is, knowing full-well that much of this is convoluted and should be changed in future.
We still have our gui package (with its gui god struct) doing much of the heavy lifting. It has visibility over basically everything.
Our contexts (in the context package) represent a view (in fact they each have a reference to the corresponding view) and encapsulate view-model stuff that's outside the view itself. There was a time when one context could be re-used with different views but that's no longer the case so in future I'd like to properly merge contexts and views together (contexts live in lazygit, views live in gocui). Contexts refer to the presentation package and use it to render the content in the view.
Controllers define keybindings and their corresponding actions, as well as some other things like what to render to the main view when the controller's context is focused, and what to do if the controller's focus gains/loses focus. One context can have multiple controllers, and controllers can be defined such that they take a context as an argument.
Controllers's methods can not be directly invoked from other code (which is potentially a bad decision). If one of a controller's actions needs to be invoked as part of some other action in another controller, the action can be moved into a helper.
Helpers contain general code for doing pretty much anything you want related to the gui.
Controllers and helpers do not maintain their own state but they can update the state of contexts via methods exposed by those contexts, and they can update the application state as well.
Each of controllers, helpers, and contexts, all have a 'common' struct passed in which provides commonly needed functionality. I'm aware that many see this as an anti-pattern, but if you only pass in exactly what you need to one of these structs' constructors, it adds a lot of friction. I'm happy to revise this pattern after we've migrated everything across.
To avoid circular dependencies, helpers that depend on other helpers must have those helpers passed in explicitly in their constructor. Controllers on the other hand can call a Helpers() method to access all helpers. Contexts have no access to helpers (again, to avoid cyclic dependencies).
There are some files in this PR which still live in the gui package but which are now wrapped in a struct for the sake of encapsulating the methods specific to that file. Some of these maintain their own state and that's subject to change.
Apologies for the convoluted architecture but Lazygit was my first Go program, and I had no experience with gui patterns (I'm still lacking). The code has grown in complexity with not many opportunities for DRYing things up (recall that generics were only recently introduced). In order to get a better handle on the code now, the first step is to break up the god struct for the sake of better method namespacing, and then decide what a cleaner architecture looks like.
I should mention some issues I specifically have with the current setup:
TODO:
go run scripts/cheatsheet/main.go generate
)docs/Config.md
) have been updated if necessary