diff --git a/changelog.md b/changelog.md index 0c17fa75d0..b1acfa94d5 100644 --- a/changelog.md +++ b/changelog.md @@ -2,8 +2,16 @@ ## Unreleased +## [`v28.11.2`](https://github.com/ignite/cli/releases/tag/v28.11.2) + +### Changes + +- [#4816](https://github.com/ignite/cli/pull/4816) Improve announcements UI. + ## [`v28.11.1`](https://github.com/ignite/cli/releases/tag/v28.11.1) +### Changes + - [#4813](https://github.com/ignite/cli/pull/4813) Fetch fallback buf token. ## [`v28.11.0`](https://github.com/ignite/cli/releases/tag/v28.11.0) diff --git a/ignite/cmd/bubblemodel/chain_serve.go b/ignite/cmd/bubblemodel/chain_serve.go index f8b4d2e5f5..8d542a0d90 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 8d04c2c00e..1bbcf16910 100644 --- a/ignite/cmd/cmd.go +++ b/ignite/cmd/cmd.go @@ -59,9 +59,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 493927251d..e5525c37dc 100644 --- a/ignite/internal/analytics/analytics.go +++ b/ignite/internal/analytics/analytics.go @@ -21,7 +21,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 78e2879630..942697baad 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 407cc5df29..481f818092 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/v28/ignite/internal/announcements" + "github.com/ignite/cli/v28/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 c2ee5eec2d..9b479304b0 100644 --- a/ignite/internal/buf/buf.go +++ b/ignite/internal/buf/buf.go @@ -8,7 +8,7 @@ import ( "github.com/ignite/cli/v28/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) {