master ← topic_list_title_badges
merged 07:01PM - 12 Mar 26 UTC
## Summary
- add unread and unseen badges to topic list titles
- preserve wide t… opic-list row theming when badges are shown
- keep compact topic-list rows within width on narrow terminals
- add regression tests for badge rendering and width handling
## Verification
- ruby -c lib/termcourse/ui.rb
- bin/test
master ← notifications
merged 08:12PM - 12 Mar 26 UTC
## Summary
- add a notifications screen on `n`, with filters and table-style row… s
- add unread notification count to the status bar and keep it updated via MessageBus
- fix notification unread-state edge cases and add regression tests
## Verification
- ruby -c lib/termcourse/live_updates.rb
- ruby -c lib/termcourse/ui.rb
- bin/test
@Canapin novo = c (compor) agora já que n é para notificações.
Eu talvez enfrente a localização em seguida…
1 Curtiu
localização está incluída
atualmente suportamos es, fr, de e en.
terei prazer em aceitar PRs para mais, mas é bem simples de fazer, então apenas me diga se você está usando e qual idioma você gostaria.
Diga-me também se algum está terrivelmente errado!
master ← localisation
merged 01:36PM - 13 Mar 26 UTC
## Summary
- add built-in UI localization for `en`, `fr`, `de`, and `es`
- add `… --lang` and `TERMCOURSE_LANG`, plus locale env detection and early help/usage localization
- update the README and add regression tests for locale selection and CLI help flows
## Verification
- ruby -c lib/termcourse/localization.rb
- ruby -c lib/termcourse/cli.rb
- ruby -c lib/termcourse/ui.rb
- bin/test
Eu implementei uma atualização de cache que reduz o número de chamadas feitas ao servidor e utiliza atualizações do MessageBus.
Isso deve melhorar significativamente o desempenho e reduzir o risco de atingir os limites de taxa.
master ← cache_strat
merged 05:27PM - 15 Mar 26 UTC
## Summary
- cache topic lists and topics in-session to reduce repeated fetche… s
- apply incoming topic updates incrementally via MessageBus topic ids
- load missing topic post chunks on demand and reduce polling/refetch churn
## Verification
- ruby -c lib/termcourse/client.rb
- ruby -c lib/termcourse/live_updates.rb
- ruby -c lib/termcourse/ui.rb
- bin/test
me avisem se encontrarem algum problema.
Refatorei o código do MessageBus e o sistema de assinatura - os emblemas de notificação agora devem ser atualizados em tempo real com mais confiabilidade.
Os tópicos agora devem receber novas postagens em “tempo real” sem a necessidade de atualizar a visualização.
Observação: você precisa fazer login usando nome de usuário/senha para que isso funcione, pois requer um cookie de sessão.
master ← fix/messagebus-reconnect-reliability
merged 01:44PM - 19 Mar 26 UTC
- Reworked live status updates to be MessageBus-first, with notification and PM … badges seeded from Discourse’s notification_channel_position instead of relying on steady-state HTTP polling.
- Replaced constant healthy-state badge polling with reconnect-triggered one-shot HTTP resync, while keeping HTTP fallback when live counts are still unseeded or MessageBus is unavailable.
- Added per-channel MessageBus cursor tracking for /latest, /new, /unread, /unread/:user_id, /notification/:user_id, and active /topic/:id subscriptions.
- Added a MessageBus watchdog that runs every 30s, detects stale clients after 240s without successful polls, and rebuilds the client cleanly.
- Added reconnect recovery that restores subscriptions from saved channel positions and requests list/topic refreshes when resume state is not trustworthy.
- Introduced a timeout-configured MessageBusHTTPClient wrapper with explicit open, read, and write timeouts.
- Fixed reconnect edge cases so badge seeding keeps retrying until live values are populated, and default -1 cursors are treated as non-resumable rather than trusted.
- Added live topic subscriptions for /topic/:id, so termcourse can react while you are inside a topic instead of only at the list level.
- Added live in-topic handling for new posts, including tail-follow behavior when you are already on the last loaded post.
- Added live in-topic handling for post edits, likes/unlikes, delete/recover-style updates via targeted single-post refreshes.
- Added topic refresh fallback for reload-style and stats-style topic events when incremental updates are not sufficient.
- Fixed topic reconnect behavior so revisiting a topic updates the stored topic cursor and failed topic refreshes stay pending until they succeed.
- Improved topic-view responsiveness by removing constant idle rerenders, rendering only the needed visible post blocks, caching rendered post blocks, and reducing debug I/O churn.
- Tightened temporary debug instrumentation so it is only active when TERMCOURSE_DEBUG=1.
- Clarified auth behavior in the README: realtime MessageBus features require login auth with a session cookie; API-key auth is HTTP-only and does not support live PM/topic updates.
- Added focused regression coverage for reconnect reliability, resumable cursors, topic refresh behavior, healthy-state no-poll behavior, and the custom MessageBus HTTP client wrapper.
Você ainda pode usar o acesso com chave de API, mas perderá as atualizações de tópicos em “tempo real”
1 Curtiu
Canapin
(Coin-coin le Canapin)
19 Março , 2026 14:24
25
Legal, quando vocês começarão a trabalhar em uma interface web para melhorar a usabilidade? Ah, espere um minuto.
1 Curtiu
O Termcourse agora suporta imagens de alta resolução em expansões onde um terminal oferece suporte a chafa, sixel e magick.
master ← add_full_window_high_quality_image
merged 03:03PM - 22 Apr 26 UTC
Em resumo, se você tem o Windows Terminal e instalou o chafa e o ImageMagick, ele já está pronto para uso:
infelizmente , como em tudo relacionado à Apple, o suporte a projetos de código aberto é um pouco lento, então você não pode usar esse recurso com o terminal nativo do macOS (terminal.app) no momento.
Veja: https://www.arewesixelyet.com/
Você pode encontrar um terminal melhor para macOS…
1 Curtiu
Bem …
… Migrei o > termcourse para 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
Por quê
A migração para Go fornece um único executável compilado, menor sobrecarga de tempo de execução, concorrência e gerenciamento de ciclo de vida mais robustos, e uma delegação substancialmente maior do comportamento do terminal para componentes Charm mantidos, em vez de código de renderização personalizado.
Isso traz uma grande limpeza na interface e permite o controle por mouse, mesmo na barra de progresso do tópico!
Instruções de instalação/execução atualizadas aqui: GitHub - merefield/termcourse: A terminal based client to access Discourse instances, supporting API keys, username/password (and with MFA token) · GitHub
5 Curtiram