mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2026-03-06 09:27:33 +01:00
3.7 KiB
3.7 KiB
Contexto de trabajo
Objetivo final
Igualar la experiencia de Bluesky con Mastodon en la interfaz (menús, diálogos, buffers y accesos), manteniendo las diferencias sólo cuando el protocolo lo exige. Mastodon es la referencia.
Estado actual
Se completaron todos los puntos de falta.md. Ahora se está trabajando en igualar características de accesibilidad comparando con el código original de Mastodon en srcantiguo/.
Cambios recientes (sesión actual)
-
Accesibilidad mejorada en Bluesky:
- Implementado método
onFocus()para: actualizar tiempos relativos, leer posts largos en GUI, reproducir sonidos indicadores de audio/imagen. - Implementado método
auto_read()para lectura automática de nuevos items. - Implementado menú contextual (
show_menu(),show_menu_by_key()). - Añadido método
open_in_browser()para abrir posts en navegador. - Añadido método
add_new_item()para streaming. - Añadido método
update_item()para actualizar items existentes. - Añadido método
get_buffer_name()para nombres de buffer legibles. - Añadido método
copy()para copiar al portapapeles.
- Implementado método
-
Nuevos archivos creados:
src/sessions/blueski/utils.py- Funciones utilitarias (is_audio_or_video, is_image, get_media_urls, find_urls).src/wxUI/dialogs/blueski/menus.py- Menús contextuales (baseMenu, notificationMenu, userMenu, chatMenu).
-
Correcciones de sonido:
- Arreglado bug en base.py donde
self.sound = soundusaba variable indefinida. - Añadido
self.sounda todos los buffers (Conversation, chat, user, etc.).
- Arreglado bug en base.py donde
Cambios anteriores
- Perfil de usuario mejorado: imágenes de avatar/banner, botones de timeline (posts, followers, following).
- Acciones de usuario en perfil: follow, unfollow, mute, unmute, block, unblock.
- Autocompletado añadido al diálogo de acciones de usuario.
- Atajos de teclado (&) añadidos a botones del perfil.
- Persistencia de búsquedas implementada (se guardan y restauran al reiniciar).
- Paginación completa en todos los buffers: HomeTimeline, FollowingTimeline, NotificationBuffer, LikesBuffer, MentionsBuffer, SentBuffer, UserTimeline, SearchBuffer.
- Activado autocompletado en el diálogo "Ver timeline..." y validación de usuario.
- Reposts/Likes ahora abren buffers con paginación bajo "Timelines".
- Restauración de followers/following propios sin duplicar.
- Estructura del árbol: se añadió "Searches" en Bluesky.
- Menús: para Bluesky, las opciones no aplicables se ocultan usando el sentinel "HIDE".
Puntos pendientes
- Verificar funcionamiento completo de onFocus con la aplicación en ejecución.
- Implementar soporte de templates para usuarios y notificaciones (como Mastodon).
- Considerar OCR para imágenes si es necesario.
Notas técnicas
onFocus()se conecta viaself.buffer.set_focus_function(self.onFocus)en bind_events().auto_read()se llama desdeprocess_items()automáticamente si hay nuevos items.- Menú contextual aparece con clic derecho o tecla de menú (WXK_WINDOWS_MENU).
utils.is_audio_or_video()yutils.is_image()detectan multimedia en posts de Bluesky.- Los sonidos indicadores (
indicate_audio,indicate_img) ya están en blueski.defaults. update_menusensrc/controller/mainController.pyinterpreta"HIDE"para ocultar entradas.- Buffers de Reposts/Likes usan
PostUserListBuffercon cursor para paginación. - Las búsquedas ahora se guardan en
session.settings["other_buffers"]["searches"]. - Perfil de usuario descarga imágenes en thread separado para no bloquear UI.
- Paginación usa patrón:
self.next_cursorguardado enstart_stream(), usado enget_more_items(). - El menú "load_previous_items" activa
get_more_items()en el buffer actual.