merefield
(Robert)
17.Август.2026 20:41:49
27
Ну …
… Я перенес > termcourse на Go
master ← go_migration
merged 08:40PM - 17 Aug 26 UTC
## What changed
- replace the Ruby implementation with a Go 1.26.6 application
… - preserve the complete browsing, posting, authentication, realtime MessageBus, localization, theming, search, notification, and image feature set
- move terminal rendering onto the current Charm v2 stack
- add responsive incremental rendering, stronger color handling, and Kitty-first inline/fullscreen images with colored Chafa fallback
- retain the existing locale and screenshot assets
- replace Bundler/Ruby CI with formatting, vet, race-test, and build checks for Go
## Why
The Go migration provides a single compiled executable, lower runtime overhead, stronger concurrency and lifecycle handling, and substantially more terminal behavior delegated to maintained Charm components instead of bespoke rendering code.
## User impact
Existing configuration, credentials, themes, languages, navigation, posting, likes, search, notifications, realtime updates, and image controls remain available. The build and installation workflow changes from Ruby/Bundler to Go 1.26.6.
## Validation
- `go test ./...`
- `go test -race ./...`
- `go vet ./...`
- `go mod tidy -diff`
- `gofmt` clean
- Linux amd64 build
- Windows amd64 cross-build
- macOS arm64 cross-build
Почему
Переход на Go обеспечивает единый скомпилированный исполняемый файл, меньшую накладную нагрузку во время выполнения, более надежную обработку конкурентности и жизненного цикла, а также значительно больше поведения терминала передается на поддерживаемые компоненты Charm вместо собственного кода рендеринга.
Это привело к значительной чистке интерфейса и позволяет использовать управление мышью, даже на полосе прогресса темы!
Инструкции по установке/запуску обновлены здесь: GitHub - merefield/termcourse: A terminal based client to access Discourse instances, supporting API keys, username/password (and with MFA token) · GitHub
4 лайка