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 теперь новая функция — c (составление) , так как n зарезервирована для уведомлений.
Возможно, следующим шагом займусь локализацией…
1 лайк
Локализация уже включена
В настоящее время поддерживаются языки es, fr, de и en.
С радостью приму pull-запросы для добавления других языков, но это довольно просто сделать — просто напишите, если вы используете это и какой язык вам нужен.
Также сообщите, если что-то переведено ужасно неправильно!
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
Я выкатил обновление кэширования, которое уменьшает количество запросов к серверу и использует обновления от MessageBus.
Это должно не только значительно улучшить производительность, но и снизить риск достижения лимитов запросов.
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
Дайте знать, если возникнут какие-либо проблемы.
Я переписал код MessageBus и систему подписок — теперь значки уведомлений должны обновляться в реальном времени более надёжно.
Темы теперь будут получать новые сообщения в режиме «реального времени» без необходимости обновлять страницу.
Обратите внимание: для работы этой функции необходимо войти в систему, используя имя пользователя и пароль, так как требуется cookie сессии.
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.
Вы по-прежнему можете использовать доступ через API-ключ, но в этом случае вы не получите обновлений тем в режиме «реального времени».
1 лайк
Canapin
(Coin-coin le Canapin)
19.Март.2026 14:24:43
25
Круто, когда вы начнете работать над веб-интерфейсом, чтобы улучшить удобство использования? О, погодите-ка.
1 лайк
merefield
(Robert)
22.Апрель.2026 15:09:59
26
Termcourse теперь поддерживает изображения высокого разрешения на расширениях, где терминал поддерживает chafa, sixel и magick.
master ← add_full_window_high_quality_image
merged 03:03PM - 22 Apr 26 UTC
Коротко: если у вас Windows Terminal и установлены chafa и ImageMagick, всё работает:
К сожалению , как и во всём, что касается Apple, их поддержка проектов с открытым исходным кодом идёт немного медленно, поэтому пока что вы не можете использовать эту функцию в нативном терминале macOS Terminal.app.
Смотрите: https://www.arewesixelyet.com/
Возможно, вы найдёте более подходящий терминал для macOS…
1 лайк