Skip to content
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

Make URLs in confirmation panels clickable, and underline them #3446

Merged
merged 5 commits into from
Mar 29, 2024

Conversation

stefanhaller
Copy link
Collaborator

  • PR Description

This is especially helpful for the breaking changes popup, which has a link to the release notes, but it could also be useful for other panels that display some warning or error with a link to more information.

  • Please check if the PR fulfills these requirements
  • Cheatsheets are up-to-date (run go generate ./...)
  • Code has been formatted (see here)
  • Tests have been added/updated (see here for the integration test guide)
  • Text is internationalised (see here)
  • Docs (specifically docs/Config.md) have been updated if necessary
  • You've read through your own file changes for silly mistakes etc

@stefanhaller stefanhaller added the enhancement New feature or request label Mar 27, 2024
Copy link

codacy-production bot commented Mar 27, 2024

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
-0.04% (target: -2.00%) 54.90%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (1cedfa4) 50365 42372 84.13%
Head commit (5d509ef) 50405 (+40) 42388 (+16) 84.09% (-0.04%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#3446) 51 28 54.90%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

You may notice some variations in coverage metrics with the latest Coverage engine update. For more details, visit the documentation

Comment on lines +247 to +250
if strings.HasSuffix(underlinedLink, "\x1b[0m") {
// Replace the "all styles off" code with "underline off" code
underlinedLink = underlinedLink[:len(underlinedLink)-2] + "24m"
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is pretty hacky, but we need it so that we don't cancel the bold text. I don't see a better way of doing this except by making changes to gookit/color.

@jesseduffield
Copy link
Owner

Thoughts on using tcell's terminal hyperlinks ability? gdamore/tcell#300

@stefanhaller
Copy link
Collaborator Author

I had no idea this existed. I'll play with this to see if it's useful for our case.

@stefanhaller
Copy link
Collaborator Author

So I'm not very thrilled by tcell's hyperlinks. I couldn't get it to work in Terminal.app, only in iTerm2 (but I may well have done something wrong). In general it's a bit unclear to me how widely supported the feature is yet.

Also, you have to hold down Command while clicking them (ctrl on Windows), which I find inconvenient, and hard to discover. I would prefer them to behave more like links on a web page; just click them.

Finally, it would take some effort to make this available in gocui, it's actually not quite clear to me how to design the APIs. There's plenty of code that just passes around fg and bg Attributes to functions (and those are enums); but we need to pass attached data for this one. It would take a while to add this to the current design of how attributes work in gocui.

To sum it up, I'd prefer to stick with the more pedestrian approach I'm taking here.

Copy link
Owner

@jesseduffield jesseduffield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, LGTM

Changing globals in the init() function of a test file is a bad idea, as it
affects all other tests that run after it. Do it explicitly in each test
function that needs it, and take care of restoring the previous value
afterwards.
Make it recognize URLs wrapped in angle brackets, and followed by punktuation.
We don't need this for the status panel, but we will need it for confirmation
panels.
This is not opt-in, we do it always. I can't imagine a situation where we
wouldn't want it.
@stefanhaller stefanhaller force-pushed the clickable-links-in-confirmation-panels branch from 5795f23 to 5d509ef Compare March 29, 2024 09:56
@stefanhaller stefanhaller merged commit 2385c1d into master Mar 29, 2024
14 checks passed
@stefanhaller stefanhaller deleted the clickable-links-in-confirmation-panels branch March 29, 2024 09:58
renovate bot referenced this pull request in scottames/dots May 24, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry)
| minor | `v4.181.0` -> `v4.185.1` |
|
[bitnami-labs/sealed-secrets](https://togithub.com/bitnami-labs/sealed-secrets)
| patch | `v0.26.2` -> `v0.26.3` |
| [golangci/golangci-lint](https://togithub.com/golangci/golangci-lint)
| patch | `v1.58.1` -> `v1.58.2` |
|
[gruntwork-io/terragrunt](https://togithub.com/gruntwork-io/terragrunt)
| patch | `v0.58.6` -> `v0.58.9` |
| [helm/helm](https://togithub.com/helm/helm) | patch | `v3.15.0` ->
`v3.15.1` |
| [jesseduffield/lazygit](https://togithub.com/jesseduffield/lazygit) |
minor | `v0.41.0` -> `v0.42.0` |
|
[kubernetes-sigs/kustomize](https://togithub.com/kubernetes-sigs/kustomize)
| patch | `v5.4.1` -> `v5.4.2` |
| [simulot/immich-go](https://togithub.com/simulot/immich-go) | minor |
`0.13.2` -> `0.14.1` |
| [stern/stern](https://togithub.com/stern/stern) | minor | `v1.29.0` ->
`v1.30.0` |
| [weaveworks/eksctl](https://togithub.com/weaveworks/eksctl) | minor |
`v0.177.0` -> `v0.179.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary>

###
[`v4.185.1`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.185.1)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.185.0...v4.185.1)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.185.1)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.185.1)
| aquaproj/aqua-registry@v4.185.0...v4.185.1

#### Fix


[#&#8203;23225](https://togithub.com/aquaproj/aqua-registry/issues/23225)
Rename the package `fujiwara/aws-sdk-client-go` to `fujiwara/awslim`
[@&#8203;ponkio-o](https://togithub.com/ponkio-o)

-
[https://github.com/fujiwara/awslim/pull/16](https://togithub.com/fujiwara/awslim/pull/16)
-   https://x.com/fujiwara/status/1793839566283264315

###
[`v4.185.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.185.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.184.0...v4.185.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.185.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.185.0)
| aquaproj/aqua-registry@v4.184.0...v4.185.0

#### 🎉 New Packages


[#&#8203;23170](https://togithub.com/aquaproj/aqua-registry/issues/23170)
[leg100/pug](https://togithub.com/leg100/pug): Drive terraform at
terminal velocity

#### Other

This is a update for aqua-registry's contributors.


https://aquaproj.github.io/docs/products/aqua-registry/changelog#2024-05-24


[#&#8203;23171](https://togithub.com/aquaproj/aqua-registry/issues/23171)
[#&#8203;23188](https://togithub.com/aquaproj/aqua-registry/issues/23188)
[#&#8203;23191](https://togithub.com/aquaproj/aqua-registry/issues/23191)
[#&#8203;23192](https://togithub.com/aquaproj/aqua-registry/issues/23192)

The behaviour of `cmdx s`, `cmdx t`, and `cmdx new` were changed.

`cmdx s`

-   `cmdx s` fails if `commit.gpgSign` isn't enabled
- All commits must be signed. Please see [the
document](https://togithub.com/suzuki-shunsuke/oss-contribution-guide/blob/main/docs/commit-signing.md)
- `cmdx s` fails if files in `pkgs` are changed before scaffolding files
    -   This validation prevents unrelated changes from being committed
- `cmdx s` creates a feature branch `feat/<package name>` from the
remote branch https://github.com/aquaproj/aqua-registry/tree/main before
scaffolding code
- This prevents old scripts from being executed as much as possible
-   **`cmdx s` commits scaffolded codes**
- This enables us to distinguish scaffolded code and manual changes
-   **`cmdx s` doesn't connect to a container when test fails**
    -   This is a change of `cmdx t`. `cmdx s` runs `cmdx t` internally

`cmdx t`

-   **`cmdx t` doesn't connect to a container when test fails**
- If you want to connect to the container, you can do it by `cmdx con
<os> <arch>` command
- In most cases you don't have to connect to a container, so we changed
the behaviour

`cmdx new`

-   `cmdx new` doesn't create a branch and a commit anymore
- **If you change code manually, you have to commit it before running
`cmdx new`**
-   `cmdx new` fails if files in `pkgs` or `registry.yaml` has changes
-   `cmdx new` fails if the current branch isn't `feat/<package name>`
-   **You can omit the argument `pkg`**
    -   `cmdx new` gets the package name from the current branch name

###
[`v4.184.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.184.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.183.0...v4.184.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.184.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.184.0)
| aquaproj/aqua-registry@v4.183.0...v4.184.0

#### 🎉 New Packages


[#&#8203;23068](https://togithub.com/aquaproj/aqua-registry/issues/23068)
[fujiwara/aws-sdk-client-go](https://togithub.com/fujiwara/aws-sdk-client-go):
A simplified alternative to the AWS CLI for limited use cases
[@&#8203;ponkio-o](https://togithub.com/ponkio-o)

#### Fix


[#&#8203;23111](https://togithub.com/aquaproj/aqua-registry/issues/23111)
handlename/ssmwrap: Follow up changes of ssmwrap v2.1.0

[#&#8203;23112](https://togithub.com/aquaproj/aqua-registry/issues/23112)
xremap/xremap/hypr: xremap client for hypr was dropped

[#&#8203;23113](https://togithub.com/aquaproj/aqua-registry/issues/23113)
xremap/xremap/sway: xremap client for sway was dropped


[https://github.com/xremap/xremap/pull/479](https://togithub.com/xremap/xremap/pull/479)

###
[`v4.183.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.183.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.182.0...v4.183.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.183.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.183.0)
| aquaproj/aqua-registry@v4.182.0...v4.183.0

#### 🎉 New Packages


[#&#8203;23041](https://togithub.com/aquaproj/aqua-registry/issues/23041)
[rustsec/rustsec/cargo-audit](https://togithub.com/rustsec/rustsec):
Audit your dependencies for crates
[@&#8203;sapphi-red](https://togithub.com/sapphi-red)

#### Fix


[#&#8203;23049](https://togithub.com/aquaproj/aqua-registry/issues/23049)
sl1pm4t/k2tf: Follow up changes of k2tf v0.8.0

###
[`v4.182.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.182.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.181.0...v4.182.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.182.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.182.0)
| aquaproj/aqua-registry@v4.181.0...v4.182.0

#### 🎉 New Packages


[#&#8203;23033](https://togithub.com/aquaproj/aqua-registry/issues/23033)
[Ph0enixKM/Amber](https://togithub.com/Ph0enixKM/Amber): Amber the
programming language compiled to bash

[#&#8203;23032](https://togithub.com/aquaproj/aqua-registry/issues/23032)
[firebase/firebase-tools](https://togithub.com/firebase/firebase-tools):
The Firebase Command Line Tools
[@&#8203;ka2n](https://togithub.com/ka2n)

</details>

<details>
<summary>bitnami-labs/sealed-secrets
(bitnami-labs/sealed-secrets)</summary>

###
[`v0.26.3`](https://togithub.com/bitnami-labs/sealed-secrets/blob/HEAD/RELEASE-NOTES.md#v0263)

[Compare
Source](https://togithub.com/bitnami-labs/sealed-secrets/compare/v0.26.2...v0.26.3)

##### Changelog

- fix: code generation
([#&#8203;1536](https://togithub.com/bitnami-labs/sealed-secrets/pull/1536))
- fix: show field name in error message when base64 decoding fails
([#&#8203;1519](https://togithub.com/bitnami-labs/sealed-secrets/pull/1519))
- helm: Set `GOMAXPROCS` and `GOMEMLIMIT` environment variables
([#&#8203;1528](https://togithub.com/bitnami-labs/sealed-secrets/pull/1528))
- docs: mention limitation of backup with key renewal
([#&#8203;1533](https://togithub.com/bitnami-labs/sealed-secrets/pull/1533))
- chore: update dependencies
([#&#8203;1535](https://togithub.com/bitnami-labs/sealed-secrets/pull/1535))
- chore: Bump k8s.io/code-generator from 0.30.0 to 0.30.1
([#&#8203;1529](https://togithub.com/bitnami-labs/sealed-secrets/pull/1529))
- chore: Bump k8s.io/client-go from 0.30.0 to 0.30.1
([#&#8203;1532](https://togithub.com/bitnami-labs/sealed-secrets/pull/1532))
- chore: Bump github.com/onsi/ginkgo/v2 from 2.17.2 to 2.17.3
([#&#8203;1527](https://togithub.com/bitnami-labs/sealed-secrets/pull/1527))
- chore: Bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1
([#&#8203;1526](https://togithub.com/bitnami-labs/sealed-secrets/pull/1526))
- chore: Bump k8s.io/code-generator from 0.29.3 to 0.30.0
([#&#8203;1513](https://togithub.com/bitnami-labs/sealed-secrets/pull/1513))
- chore: Update dependencies
([#&#8203;1524](https://togithub.com/bitnami-labs/sealed-secrets/pull/1524))
- chore: Bump github.com/onsi/gomega from 1.33.0 to 1.33.1
([#&#8203;1522](https://togithub.com/bitnami-labs/sealed-secrets/pull/1522))
- chore: Bump github.com/onsi/ginkgo/v2 from 2.17.1 to 2.17.2
([#&#8203;1520](https://togithub.com/bitnami-labs/sealed-secrets/pull/1520))
- chore: Bump github.com/onsi/gomega from 1.32.0 to 1.33.0
([#&#8203;1512](https://togithub.com/bitnami-labs/sealed-secrets/pull/1512))
- chore: increase vib timeout
([#&#8203;1509](https://togithub.com/bitnami-labs/sealed-secrets/pull/1509))
- chore: fix publish-release workflow
([#&#8203;1508](https://togithub.com/bitnami-labs/sealed-secrets/pull/1508))
- chore: Bump golang.org/x/crypto from 0.21.0 to 0.22.0
([#&#8203;1505](https://togithub.com/bitnami-labs/sealed-secrets/pull/1505))

</details>

<details>
<summary>golangci/golangci-lint (golangci/golangci-lint)</summary>

###
[`v1.58.2`](https://togithub.com/golangci/golangci-lint/compare/v1.58.1...v1.58.2)

[Compare
Source](https://togithub.com/golangci/golangci-lint/compare/v1.58.1...v1.58.2)

</details>

<details>
<summary>gruntwork-io/terragrunt (gruntwork-io/terragrunt)</summary>

###
[`v0.58.9`](https://togithub.com/gruntwork-io/terragrunt/releases/tag/v0.58.9)

[Compare
Source](https://togithub.com/gruntwork-io/terragrunt/compare/v0.58.8...v0.58.9)

#### Updated CLI args, config attributes and blocks

-   `output-module-groups`
-   `remote_state`

#### Description

-   Fixed `output-module-groups` command
-   Improved logging of S3 encryption warning

#### Related links

-
[https://github.com/gruntwork-io/terragrunt/pull/3144](https://togithub.com/gruntwork-io/terragrunt/pull/3144)
-
[https://github.com/gruntwork-io/terragrunt/pull/3147](https://togithub.com/gruntwork-io/terragrunt/pull/3147)

###
[`v0.58.8`](https://togithub.com/gruntwork-io/terragrunt/releases/tag/v0.58.8)

[Compare
Source](https://togithub.com/gruntwork-io/terragrunt/compare/v0.58.7...v0.58.8)

#### Description

-   Fixed S3 bucket URL modifying

#### Related links

-
[https://github.com/gruntwork-io/terragrunt/pull/3146](https://togithub.com/gruntwork-io/terragrunt/pull/3146)

###
[`v0.58.7`](https://togithub.com/gruntwork-io/terragrunt/releases/tag/v0.58.7)

[Compare
Source](https://togithub.com/gruntwork-io/terragrunt/compare/v0.58.6...v0.58.7)

#### Description

- Support all `provider_installation` methods in the CLI config with the
provider cache.

#### Related links

-
[https://github.com/gruntwork-io/terragrunt/pull/3133](https://togithub.com/gruntwork-io/terragrunt/pull/3133)

</details>

<details>
<summary>helm/helm (helm/helm)</summary>

###
[`v3.15.1`](https://togithub.com/helm/helm/compare/v3.15.0...v3.15.1)

[Compare
Source](https://togithub.com/helm/helm/compare/v3.15.0...v3.15.1)

</details>

<details>
<summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary>

###
[`v0.42.0`](https://togithub.com/jesseduffield/lazygit/releases/tag/v0.42.0)

[Compare
Source](https://togithub.com/jesseduffield/lazygit/compare/v0.41.0...v0.42.0)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

It's time once again for a Lazygit release! This one is not as colossal
as the prior release (and we intend to have smaller, more frequent
releases in future) but there are plenty of good improvements here.

Thanks to all contributors who helped make this release happen! There's
a lot of first-time contributors on this release as well so kudos to you
all.

Thanks as usual to the wonderful
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) for
creating/reviewing many of these changes, and thanks to
[@&#8203;karimkhaleel](https://togithub.com/karimkhaleel) who has also
stepped up to help out with reviews.

#### What's Changed

##### Enhancements 🔥

- Make spinner animation configurable by
[@&#8203;belyakov-am](https://togithub.com/belyakov-am) in
[https://github.com/jesseduffield/lazygit/pull/3463](https://togithub.com/jesseduffield/lazygit/pull/3463)
- Keep the same commit selected when exiting filtering mode by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3416](https://togithub.com/jesseduffield/lazygit/pull/3416)
- Make URLs in confirmation panels clickable, and underline them by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3446](https://togithub.com/jesseduffield/lazygit/pull/3446)
- Allow viewing all branches git log in status view by default
[@&#8203;oakio](https://togithub.com/oakio) in
[https://github.com/jesseduffield/lazygit/pull/3309](https://togithub.com/jesseduffield/lazygit/pull/3309)
- Drop update-ref todos pointing to head by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3456](https://togithub.com/jesseduffield/lazygit/pull/3456)
- Add config options for length of commit hash displayed in commits view
by [@&#8203;oliviaBahr](https://togithub.com/oliviaBahr) in
[https://github.com/jesseduffield/lazygit/pull/3505](https://togithub.com/jesseduffield/lazygit/pull/3505)
- Show commit graph in divergence view by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3537](https://togithub.com/jesseduffield/lazygit/pull/3537)
- Add commitPrefix config for defining a default commit message prefix
across all projects by
[@&#8203;duckbrain](https://togithub.com/duckbrain) in
[https://github.com/jesseduffield/lazygit/pull/3291](https://togithub.com/jesseduffield/lazygit/pull/3291)
- Improve `nvim-remote` (neovim) editor mode by
[@&#8203;cmoog](https://togithub.com/cmoog) in
[https://github.com/jesseduffield/lazygit/pull/3508](https://togithub.com/jesseduffield/lazygit/pull/3508)
- Delete and edit custom commands history items by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3534](https://togithub.com/jesseduffield/lazygit/pull/3534)
- Support externalDiffCommand in diffing mode by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3519](https://togithub.com/jesseduffield/lazygit/pull/3519)

##### Fixes 🔧

- Correctly request force-pushing in a triangular workflow by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3528](https://togithub.com/jesseduffield/lazygit/pull/3528)
- Fix and speed-up stashing partial files for git version >= 2.35.0 by
[@&#8203;dsolerh](https://togithub.com/dsolerh) in
[https://github.com/jesseduffield/lazygit/pull/3569](https://togithub.com/jesseduffield/lazygit/pull/3569)
- Improve delta pager performance by setting the `TERM` env variable by
[@&#8203;bash](https://togithub.com/bash) in
[https://github.com/jesseduffield/lazygit/pull/3420](https://togithub.com/jesseduffield/lazygit/pull/3420)
- Fix deleting update ref todos by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3439](https://togithub.com/jesseduffield/lazygit/pull/3439)
- Fix crash when filtering the keybindings menu by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3450](https://togithub.com/jesseduffield/lazygit/pull/3450)
- Fix excluding files in submodules or worktrees by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3432](https://togithub.com/jesseduffield/lazygit/pull/3432)
- Fix rewording signed commits when the log.showsignature git config is
true by [@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3431](https://togithub.com/jesseduffield/lazygit/pull/3431)
- Better support for terminal based pinentry programs by
[@&#8203;eldios](https://togithub.com/eldios) in
[https://github.com/jesseduffield/lazygit/pull/3478](https://togithub.com/jesseduffield/lazygit/pull/3478)
- Fix amend-to operation not working with non-HEAD merge commit by
[@&#8203;brandondong](https://togithub.com/brandondong) in
[https://github.com/jesseduffield/lazygit/pull/3510](https://togithub.com/jesseduffield/lazygit/pull/3510)
- Fix clicking in status side panel by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3547](https://togithub.com/jesseduffield/lazygit/pull/3547)
- Fix loading commits with very long subjects by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3533](https://togithub.com/jesseduffield/lazygit/pull/3533)

##### Maintenance ⚙️

- Migrate null keybindings to `<disabled>`, and remove our yaml fork by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3459](https://togithub.com/jesseduffield/lazygit/pull/3459)
- Replace min/max helpers with built-in min/max by
[@&#8203;Juneezee](https://togithub.com/Juneezee) in
[https://github.com/jesseduffield/lazygit/pull/3482](https://togithub.com/jesseduffield/lazygit/pull/3482)
- standardize commit hash commit sha by
[@&#8203;pikomonde](https://togithub.com/pikomonde) in
[https://github.com/jesseduffield/lazygit/pull/3398](https://togithub.com/jesseduffield/lazygit/pull/3398)
- Bump go version to 1.22 by
[@&#8203;jesseduffield](https://togithub.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/3574](https://togithub.com/jesseduffield/lazygit/pull/3574)
- Simplify error handling by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3502](https://togithub.com/jesseduffield/lazygit/pull/3502)
- Use errors.New instead of fmt.Errorf with no parameters by
[@&#8203;ChengenH](https://togithub.com/ChengenH) in
[https://github.com/jesseduffield/lazygit/pull/3523](https://togithub.com/jesseduffield/lazygit/pull/3523)
- chore: fix some comments and typos by
[@&#8203;knowmost](https://togithub.com/knowmost) in
[https://github.com/jesseduffield/lazygit/pull/3535](https://togithub.com/jesseduffield/lazygit/pull/3535)
- Fix deadlock reporting by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3550](https://togithub.com/jesseduffield/lazygit/pull/3550)
- Only run code coverage report on non-fork branches by
[@&#8203;jesseduffield](https://togithub.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/3571](https://togithub.com/jesseduffield/lazygit/pull/3571)
- pkg: fix some comment by
[@&#8203;HongKuang](https://togithub.com/HongKuang) in
[https://github.com/jesseduffield/lazygit/pull/3481](https://togithub.com/jesseduffield/lazygit/pull/3481)
- sponsors.yml: Create PR instead of trying to push to a protected
branch by [@&#8203;SachinVin](https://togithub.com/SachinVin) in
[https://github.com/jesseduffield/lazygit/pull/3493](https://togithub.com/jesseduffield/lazygit/pull/3493)
- pkg: fix some typos by
[@&#8203;thirdkeyword](https://togithub.com/thirdkeyword) in
[https://github.com/jesseduffield/lazygit/pull/3364](https://togithub.com/jesseduffield/lazygit/pull/3364)

##### Docs 📖

- Update interactive rebase demo by
[@&#8203;jesseduffield](https://togithub.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/3392](https://togithub.com/jesseduffield/lazygit/pull/3392)
- Update Busy.md by [@&#8203;eltociear](https://togithub.com/eltociear)
in
[https://github.com/jesseduffield/lazygit/pull/3433](https://togithub.com/jesseduffield/lazygit/pull/3433)
- Fix schema link in Config.md by
[@&#8203;stefanhaller](https://togithub.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/3451](https://togithub.com/jesseduffield/lazygit/pull/3451)

#### New Contributors

- [@&#8203;bash](https://togithub.com/bash) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3420](https://togithub.com/jesseduffield/lazygit/pull/3420)
- [@&#8203;eltociear](https://togithub.com/eltociear) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3433](https://togithub.com/jesseduffield/lazygit/pull/3433)
- [@&#8203;belyakov-am](https://togithub.com/belyakov-am) made their
first contribution in
[https://github.com/jesseduffield/lazygit/pull/3463](https://togithub.com/jesseduffield/lazygit/pull/3463)
- [@&#8203;HongKuang](https://togithub.com/HongKuang) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3481](https://togithub.com/jesseduffield/lazygit/pull/3481)
- [@&#8203;eldios](https://togithub.com/eldios) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3478](https://togithub.com/jesseduffield/lazygit/pull/3478)
- [@&#8203;oakio](https://togithub.com/oakio) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3309](https://togithub.com/jesseduffield/lazygit/pull/3309)
- [@&#8203;pikomonde](https://togithub.com/pikomonde) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3398](https://togithub.com/jesseduffield/lazygit/pull/3398)
- [@&#8203;SachinVin](https://togithub.com/SachinVin) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3493](https://togithub.com/jesseduffield/lazygit/pull/3493)
- [@&#8203;github-actions](https://togithub.com/github-actions) made
their first contribution in
[https://github.com/jesseduffield/lazygit/pull/3498](https://togithub.com/jesseduffield/lazygit/pull/3498)
- [@&#8203;thirdkeyword](https://togithub.com/thirdkeyword) made their
first contribution in
[https://github.com/jesseduffield/lazygit/pull/3364](https://togithub.com/jesseduffield/lazygit/pull/3364)
- [@&#8203;brandondong](https://togithub.com/brandondong) made their
first contribution in
[https://github.com/jesseduffield/lazygit/pull/3510](https://togithub.com/jesseduffield/lazygit/pull/3510)
- [@&#8203;ChengenH](https://togithub.com/ChengenH) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3523](https://togithub.com/jesseduffield/lazygit/pull/3523)
- [@&#8203;oliviaBahr](https://togithub.com/oliviaBahr) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3505](https://togithub.com/jesseduffield/lazygit/pull/3505)
- [@&#8203;knowmost](https://togithub.com/knowmost) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3535](https://togithub.com/jesseduffield/lazygit/pull/3535)
- [@&#8203;duckbrain](https://togithub.com/duckbrain) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3291](https://togithub.com/jesseduffield/lazygit/pull/3291)
- [@&#8203;dsolerh](https://togithub.com/dsolerh) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3569](https://togithub.com/jesseduffield/lazygit/pull/3569)
- [@&#8203;cmoog](https://togithub.com/cmoog) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/3508](https://togithub.com/jesseduffield/lazygit/pull/3508)

**Full Changelog**:
jesseduffield/lazygit@v0.41.0...v0.42.0

</details>

<details>
<summary>kubernetes-sigs/kustomize (kubernetes-sigs/kustomize)</summary>

###
[`v5.4.2`](https://togithub.com/kubernetes-sigs/kustomize/releases/tag/kustomize/v5.4.2)

[Compare
Source](https://togithub.com/kubernetes-sigs/kustomize/compare/kustomize/v5.4.1...kustomize/v5.4.2)

#### Feature


[#&#8203;5294](https://togithub.com/kubernetes-sigs/kustomize/issues/5294):
feat: localize absolute paths

[#&#8203;5556](https://togithub.com/kubernetes-sigs/kustomize/issues/5556):
feat: support labels key in transformer configuration

#### chore


[#&#8203;5671](https://togithub.com/kubernetes-sigs/kustomize/issues/5671):
refactor: string in slice is now part of stdlib

[#&#8203;5681](https://togithub.com/kubernetes-sigs/kustomize/issues/5681):
chore: remove unused function

[#&#8203;5688](https://togithub.com/kubernetes-sigs/kustomize/issues/5688):
refactor: function in stdlib now

#### Dependencies


[#&#8203;5672](https://togithub.com/kubernetes-sigs/kustomize/issues/5672):
chore(deps): bump dependencies of kustomize + sync go workspace

[#&#8203;5680](https://togithub.com/kubernetes-sigs/kustomize/issues/5680):
chore: restore version for github.com/asaskevich/govalidator

[#&#8203;5702](https://togithub.com/kubernetes-sigs/kustomize/issues/5702):
Update kyaml to v0.17.1

[#&#8203;5703](https://togithub.com/kubernetes-sigs/kustomize/issues/5703):
Update cmd/config to v0.14.1

[#&#8203;5704](https://togithub.com/kubernetes-sigs/kustomize/issues/5704):
Update api to v0.17.2

</details>

<details>
<summary>simulot/immich-go (simulot/immich-go)</summary>

###
[`v0.14.1`](https://togithub.com/simulot/immich-go/releases/tag/0.14.1)

[Compare
Source](https://togithub.com/simulot/immich-go/compare/0.14.0...0.14.1)

#### Release 0.14.1 "A better UI"

This release is focussed the improvement of the user experience.

##### A shiny user interface

    . _ _  _ _ . _|_  __  _  _ 
    || | || | ||(_| |    (_|(_)
          version dev     _)

Working with big database and big takeout files take some time. Users
are now informed about the progression of different tasks:

![image](/docs/render1716187129166.gif)

The screen presents number of processed photos, how they have been
processes, the messages log, and at the bottom, the progression of the 3
mains tasks.

##### A minimalist user interface

This shiny interface can be be disabled for quieter user interface
(`-no-ui`).
The progression is visible. All details on operations are listed in the
log file.

    . _ _  _ _ . _|_  __  _  _ 
    || | || | ||(_| |    (_|(_)
          version dev     _)   

    Server status: OK
    Connected, user: [email protected]
    Immich read 100%, Google Photos Analysis: 100%, Uploaded 100%  

    Input analysis:
    ----------------------
    scanned image file                      :   25420
    scanned video file                      :    1447
    scanned sidecar file                    :   26934
    discarded file                          :     197
    unsupported file                        :       0
    file duplicated in the input            :    1706
    associated metadata file                :   26867
    missing associated metadata file        :       0

    Uploading:
    ----------
    uploaded                                :   25160
    server error                            :       0
    file not selected                       :       1
    server's asset upgraded with the input  :       0
    server has same photo                   :       0
    server has a better asset               :       0

##### Immich-go runs simultaneously the collect of immich-server's
assets and the analysis of the Google takeout

The code has been refactored to run several task simultaneously to
animate the progression screen. The program runs now the reading of
immich asset and the the takeout analysis in parallel.

##### Immich-go now always produces a log file

The default name for the log file is `immich-go YYYY-MM-DD
HH-MI-SS.log`, located in the current directory.

It's possible to give a path and a name to the log file with the option
`-log-file=path/to/file.log`.
If the file file exists already, the new messages will be added to its
end.

The log level `OK` is removed.

##### Immich-go is published under the AGPL-3.0 license

I chose the same license as the immich project license to release
immich-go.

##### Next steps

-   Issues closing
-   A shiny user interface for the command `duplicate`

#### Changelog

- [`e953522`](https://togithub.com/simulot/immich-go/commit/e953522)
Automatically determine commit info with buildinfo
([#&#8203;243](https://togithub.com/simulot/immich-go/issues/243))
- [`e4c6ba9`](https://togithub.com/simulot/immich-go/commit/e4c6ba9)
Google Takeout 403 Forbidden on non admin user
([#&#8203;247](https://togithub.com/simulot/immich-go/issues/247))
- [`f8e7b42`](https://togithub.com/simulot/immich-go/commit/f8e7b42) fix
e2e test
- [`1acd3c8`](https://togithub.com/simulot/immich-go/commit/1acd3c8)
impove the banner
- [`1f02717`](https://togithub.com/simulot/immich-go/commit/1f02717) A
better user interface
([#&#8203;245](https://togithub.com/simulot/immich-go/issues/245))
- [`e13cee4`](https://togithub.com/simulot/immich-go/commit/e13cee4)
Create LICENSE
([#&#8203;220](https://togithub.com/simulot/immich-go/issues/220))
- [`6634a2a`](https://togithub.com/simulot/immich-go/commit/6634a2a)
Simulot/issue205
([#&#8203;206](https://togithub.com/simulot/immich-go/issues/206))
- [`674b165`](https://togithub.com/simulot/immich-go/commit/674b165)
Update ci.yml
([#&#8203;229](https://togithub.com/simulot/immich-go/issues/229))
- [`f79261d`](https://togithub.com/simulot/immich-go/commit/f79261d)
Update readme.md
([#&#8203;237](https://togithub.com/simulot/immich-go/issues/237))
- [`9c62473`](https://togithub.com/simulot/immich-go/commit/9c62473)
Version 0.13.0 not working as expected
([#&#8203;200](https://togithub.com/simulot/immich-go/issues/200))

###
[`v0.14.0`](https://togithub.com/simulot/immich-go/releases/tag/0.14.0)

[Compare
Source](https://togithub.com/simulot/immich-go/compare/0.13.2...0.14.0)

#### Release 0.14.0 "A better UI"

This release is focussed the improvement of the user experience.

##### A shiny user interface

    . _ _  _ _ . _|_  __  _  _ 
    || | || | ||(_| |    (_|(_)
          version dev     _)

Working with big database and big takeout files take some time. Users
are now informed about the progression of different tasks:

![image](/docs/render1716187129166.gif)

The screen presents number of processed photos, how they have been
processes, the messages log, and at the bottom, the progression of the 3
mains tasks.

##### A minimalist user interface

This shiny interface can be be disabled for quieter user interface
(`-no-ui`).
The progression is visible. All details on operations are listed in the
log file.

    . _ _  _ _ . _|_  __  _  _ 
    || | || | ||(_| |    (_|(_)
          version dev     _)   

    Server status: OK
    Connected, user: [email protected]
    Immich read 100%, Google Photos Analysis: 100%, Uploaded 100%  

    Input analysis:
    ----------------------
    scanned image file                      :   25420
    scanned video file                      :    1447
    scanned sidecar file                    :   26934
    discarded file                          :     197
    unsupported file                        :       0
    file duplicated in the input            :    1706
    associated metadata file                :   26867
    missing associated metadata file        :       0

    Uploading:
    ----------
    uploaded                                :   25160
    server error                            :       0
    file not selected                       :       1
    server's asset upgraded with the input  :       0
    server has same photo                   :       0
    server has a better asset               :       0

##### Immich-go runs simultaneously the collect of immich-server's
assets and the analysis of the Google takeout

The code has been refactored to run several task simultaneously to
animate the progression screen. The program runs now the reading of
immich asset and the the takeout analysis in parallel.

##### Immich-go now always produces a log file

The default name for the log file is `immich-go YYYY-MM-DD
HH-MI-SS.log`, located in the current directory.

It's possible to give a path and a name to the log file with the option
`-log-file=path/to/file.log`.
If the file file exists already, the new messages will be added to its
end.

The log level `OK` is removed.

##### Immich-go is published under the AGPL-3.0 license

I chose the same license as the immich project license to release
immich-go.

##### Next steps

-   Issues closing
-   A shiny user interface for the command `duplicate`

#### Changelog

- [`1f02717`](https://togithub.com/simulot/immich-go/commit/1f02717) A
better user interface
([#&#8203;245](https://togithub.com/simulot/immich-go/issues/245))
- [`e13cee4`](https://togithub.com/simulot/immich-go/commit/e13cee4)
Create LICENSE
([#&#8203;220](https://togithub.com/simulot/immich-go/issues/220))
- [`6634a2a`](https://togithub.com/simulot/immich-go/commit/6634a2a)
Simulot/issue205
([#&#8203;206](https://togithub.com/simulot/immich-go/issues/206))
- [`674b165`](https://togithub.com/simulot/immich-go/commit/674b165)
Update ci.yml
([#&#8203;229](https://togithub.com/simulot/immich-go/issues/229))
- [`f79261d`](https://togithub.com/simulot/immich-go/commit/f79261d)
Update readme.md
([#&#8203;237](https://togithub.com/simulot/immich-go/issues/237))
- [`9c62473`](https://togithub.com/simulot/immich-go/commit/9c62473)
Version 0.13.0 not working as expected
([#&#8203;200](https://togithub.com/simulot/immich-go/issues/200))
- [`2a7f962`](https://togithub.com/simulot/immich-go/commit/2a7f962)
chore(deps): bump golangci/golangci-lint-action from 4 to 5
([#&#8203;227](https://togithub.com/simulot/immich-go/issues/227))
- [`d04b35f`](https://togithub.com/simulot/immich-go/commit/d04b35f)
chore(deps): bump golangci/golangci-lint-action from 5 to 6
([#&#8203;239](https://togithub.com/simulot/immich-go/issues/239))
- [`eeeb86b`](https://togithub.com/simulot/immich-go/commit/eeeb86b)
immich-go appears to retain/cache an API key
([#&#8203;214](https://togithub.com/simulot/immich-go/issues/214))

</details>

<details>
<summary>stern/stern (stern/stern)</summary>

###
[`v1.30.0`](https://togithub.com/stern/stern/blob/HEAD/CHANGELOG.md#v1300)

[Compare
Source](https://togithub.com/stern/stern/compare/v1.29.0...v1.30.0)

#### ⚡ Notable Changes

##### Add support for configuring colors for pods and containers

You can now configure highlight colors for pods and containers in [the
config
file](https://togithub.com/stern/stern/blob/master/README.md#config-file)
using a comma-separated list of [SGR (Select Graphic Rendition)
sequences](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_\(Select_Graphic_Rendition\)\_parameters).
See the ["Customize highlight colors"
section](https://togithub.com/stern/stern/blob/master/README.md#customize-highlight-colors)
for details.

Example configuration:

```yaml
```

</details>

<details>
<summary>weaveworks/eksctl (weaveworks/eksctl)</summary>

###
[`v0.179.0`](https://togithub.com/eksctl-io/eksctl/releases/tag/v0.179.0):
eksctl 0.179.0

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.178.0-rc.0...0.179.0-rc.0)

### Release v0.179.0

#### 🚀 Features

- Support EKS 1.30
([#&#8203;7781](https://togithub.com/weaveworks/eksctl/issues/7781))

###
[`v0.178.0`](https://togithub.com/eksctl-io/eksctl/releases/tag/v0.178.0):
eksctl 0.178.0

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.177.0...0.178.0-rc.0)

### Release v0.178.0

#### 🐛 Bug Fixes

- Fix kubeletExtraConfig support for AL2023
([#&#8203;7758](https://togithub.com/weaveworks/eksctl/issues/7758))
- Update aws-node from 1.12.6 to 1.18.1
([#&#8203;7756](https://togithub.com/weaveworks/eksctl/issues/7756))

#### Acknowledgments

The eksctl maintainers would like to sincerely thank
[@&#8203;consideRatio](https://togithub.com/consideRatio)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 4pm on thursday" in timezone
America/Los_Angeles, 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://togithub.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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: scottames-github-bot[bot] <162828115+scottames-github-bot[bot]@users.noreply.github.com>
@dandavison
Copy link

So I'm not very thrilled by tcell's hyperlinks.

Hi @stefanhaller, FWIW, I opened #3817 to make a case for adding OSC hyperlink support! Personally I find being able to click on a line number in a diff to open my editor at that line to be really valuable. Hyperlinks are supported by many terminal emulators, and tmux.

Also, you have to hold down Command while clicking them (ctrl on Windows), which I find inconvenient, and hard to discover.

But, I think that is how people click links in a lot of terminal emulators (i.e. raw URLs, without the OSC8 sequences).

@stefanhaller
Copy link
Collaborator Author

Hi @stefanhaller, FWIW, I opened #3817 to make a case for adding OSC hyperlink support!

OK, but that's two different things now:

  1. support for simply forwarding OSC hyperlinks emitted from a pager to the tcell layer (right now they are filtered out by gocui)
  2. support for emitting OSC hyperlinks ourselves through application APIs, e.g. for implementing the links in lazygit's status page or in confirmation panels.

I'm all for doing 1.; being able to get the hyperlinks from delta --hyperlinks working would be really cool. I'll see if can make this work next week, it doesn't sound very hard to me.

I'm still skeptical about 2. though, and would continue to use the manual approach that we have in lazygit right now; mainly because it works in all terminals, and is more discoverable.

BTW, I'm a huge fan of delta, thanks for this awesome tool!

@dandavison
Copy link

I'm all for doing 1.; being able to get the hyperlinks from delta --hyperlinks working would be really cool. I'll see if can make this work next week, it doesn't sound very hard to me.

Wow, that would be amazing! Thanks for looking into this.

I'm still skeptical about 2. though, and would continue to use the manual approach that we have in lazygit right now; mainly because it works in all terminals, and is more discoverable.

Absolutely, I certainly don't have a strong opinion about that. Maybe it will even make UX sense for there to be a distinction between "native" links (direct click) and links deriving from 3rd-party pagers (command/ctrl click).

BTW, I'm a huge fan of delta, thanks for this awesome tool!

Thanks! lazygit is fantastic and I'd love to make the experience of using delta with lazygit as good as possible. Don't hesitate to send bugs/feature requests our way (also my email address is in my GitHub profile page).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants