application.app was never set anywhere - application.py is just a
constants module. Every call to view_chat(), on_new_chat(),
view_conversation(), on_reposts(), and on_likes() crashed with
AttributeError, silently swallowed by get_event's except clause.
Fix: store controller reference on each buffer during create_buffer()
in mainController, then use self.controller instead of the broken
application.app.controller pattern throughout all Bluesky buffer and
dialog code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ChatBuffer now has get_message(), get_formatted_message(), and view_item()
so repeat_item, copy_to_clipboard, and view work correctly with chat
messages. open_conversation (Ctrl+Win+Alt+C) detects chat buffers and
delegates to view_chat(). Opening a chat buffer now announces its name
and item count for screen reader feedback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replicate the Mastodon pattern where conversation buffers are inserted
as children of the direct_messages node, making Chats expandable in the
tree. Also adds duplicate detection and auto-navigation to existing
chat buffers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix Bluesky quoted post rendering across list output, screen-reader speech, and View Post by centralizing quote extraction.
- Add robust quote URL extraction (facets/embed/text), include quoted URLs in URL shortcuts, and append full quoted URLs when hidden/truncated.
- Improve reply context handling:
- add and use `$reply_to` template variable,
- hydrate missing reply target handles in home/feed items,
- keep backward compatibility for templates that do not include `$reply_to`.
- Align Bluesky default/fallback post templates to include reply context (`$reply_to`).
- Add/extend focused Bluesky tests for quote text, quote URLs, reply context, and template fallback behavior.
- Refactor scripts:
- add bootstrap-dev.ps1 for environment setup (submodules, venv, deps),
- keep run-tests.ps1 focused on running tests only,
- add PowerShell comment-based help in English.
- Update README with the new bootstrap/test workflow and examples.