diff --git a/changelog.md b/changelog.md index b2960bb818..ff05f07364 100644 --- a/changelog.md +++ b/changelog.md @@ -2,9 +2,12 @@ ## Unreleased -### Informational +## [`v29.4.2`](https://github.com/ignite/cli/releases/tag/v29.4.2) -From this version on, Snapcraft support has been removed. Please migrate to [Homebrew](https://brew.sh/) for a better experience. Homebrew works for both macOS and GNU/Linux. +### Changes + +- [#4811](https://github.com/ignite/cli/pull/4811) From this version on, Snapcraft support has been removed. Please migrate to [Homebrew](https://brew.sh/) for a better experience. Homebrew works for both macOS and GNU/Linux. +- [#4816](https://github.com/ignite/cli/pull/4816) Improve announcements UI. ## [`v29.4.1`](https://github.com/ignite/cli/releases/tag/v29.4.1) diff --git a/ignite/cmd/bubblemodel/chain_serve.go b/ignite/cmd/bubblemodel/chain_serve.go index 088c81c091..584ee23237 100644 --- a/ignite/cmd/bubblemodel/chain_serve.go +++ b/ignite/cmd/bubblemodel/chain_serve.go @@ -260,7 +260,7 @@ func (m ChainServe) renderQuitView() string { view.WriteRune('\n') } - fmt.Fprintf(&view, "%s %s\n", icons.Info, colors.Info("Stopped")) + fmt.Fprintf(&view, "%s %s\n\n", icons.Info, colors.Info("Stopped")) view.WriteString(announcements.Fetch()) return view.String() diff --git a/ignite/cmd/cmd.go b/ignite/cmd/cmd.go index 19979a3cfd..eb82fa9809 100644 --- a/ignite/cmd/cmd.go +++ b/ignite/cmd/cmd.go @@ -70,9 +70,7 @@ To get started, create a blockchain: $ ignite scaffold chain example -Announcements: -%s -`, announcements.Fetch()), +%s`, announcements.Fetch()), SilenceUsage: true, SilenceErrors: true, Args: cobra.MinimumNArgs(0), // note(@julienrbrt): without this, ignite __complete(noDesc) hidden commands are not working. diff --git a/ignite/internal/analytics/analytics.go b/ignite/internal/analytics/analytics.go index c29b4cc4e2..66a7a22cb3 100644 --- a/ignite/internal/analytics/analytics.go +++ b/ignite/internal/analytics/analytics.go @@ -20,7 +20,7 @@ import ( ) const ( - telemetryEndpoint = "https://matomo-cli.ignite.com" + telemetryEndpoint = "https://api.ignite.com/v1/telemetry" envDoNotTrack = "DO_NOT_TRACK" envCI = "CI" envGitHubActions = "GITHUB_ACTIONS" diff --git a/ignite/internal/announcements/announcement.go b/ignite/internal/announcements/announcement.go index 0c3c5058ad..bd96c5d0ee 100644 --- a/ignite/internal/announcements/announcement.go +++ b/ignite/internal/announcements/announcement.go @@ -43,7 +43,7 @@ func Fetch() string { } var out strings.Builder - fmt.Fprintf(&out, "\n%s %s\n", icons.Announcement, "Announcements") + fmt.Fprintf(&out, "%s\n\n", "Announcements:") for _, msg := range data.Announcements { fmt.Fprintf(&out, "%s %s\n", icons.Bullet, msg.Text) diff --git a/ignite/internal/announcements/announcement_test.go b/ignite/internal/announcements/announcement_test.go index 23a8e5b3c9..1f4eb420ca 100644 --- a/ignite/internal/announcements/announcement_test.go +++ b/ignite/internal/announcements/announcement_test.go @@ -7,6 +7,7 @@ import ( "testing" "github.com/ignite/cli/v29/ignite/internal/announcements" + "github.com/ignite/cli/v29/ignite/pkg/cliui/icons" ) func TestFetchAnnouncements(t *testing.T) { @@ -22,7 +23,7 @@ func TestFetchAnnouncements(t *testing.T) { name: "successful retrieval", mockResponse: `{"version":1,"announcements":[{"id":"1744230503810","text":"New Ignite announcement: v1.0.0 released!","timestamp":"2025-04-09T20:28:23.810Z","user":"announcement-bot"}]}`, statusCode: http.StatusOK, - expected: "\n🗣️ Announcements\n⋆ New Ignite announcement: v1.0.0 released!\n", + expected: fmt.Sprintf("Announcements:\n\n%s New Ignite announcement: v1.0.0 released!\n", icons.Bullet), }, { name: "empty announcements", diff --git a/ignite/internal/buf/buf.go b/ignite/internal/buf/buf.go index 268ee2af27..aa2bfff6d1 100644 --- a/ignite/internal/buf/buf.go +++ b/ignite/internal/buf/buf.go @@ -8,7 +8,7 @@ import ( "github.com/ignite/cli/v29/ignite/pkg/errors" ) -var BufTokenURL = "https://buf.ignite.com" //nolint:gosec // URL is hardcoded and not user-provided +var BufTokenURL = "https://api.ignite.com/v1/buf" //nolint:gosec // URL is hardcoded and not user-provided // FetchToken fetches the buf token from the Ignite API. func FetchToken() (string, error) {