Files
twblue/context.md
2026-02-01 20:51:39 +01:00

2.8 KiB

Contexto de trabajo

Objetivo final

Igualar la experiencia de Bluesky con Mastodon en la interfaz (menus, dialogos, buffers y accesos), manteniendo las diferencias solo cuando el protocolo lo exige. Mastodon es la referencia.

Estado actual

Se completaron los puntos de la lista pendiente (falta.md eliminado). Ahora se esta trabajando en igualar accesibilidad y flujo de compose usando como referencia srcantiguo/.

Cambios recientes (sesion actual)

  • Compose Bluesky vuelve a ser local por buffer (sin capa intermedia) y el envio es en thread.
  • Nuevo helper controller/blueski/messages.py::post para centralizar dialogo y payload.
  • DM de chats Bluesky en thread con refresco de buffer.
  • Autologin para todas las sesiones (excepto ignoradas) para iniciar buffers al abrir.
  • Correccion de "Actualizar buffer" cuando la sesion no tiene KIND.
  • Menu de nueva cuenta muestra solo "Bluesky" (sin duplicados).

Cambios anteriores

  • Accesibilidad mejorada en Bluesky: onFocus, auto_read, menu contextual, open_in_browser, add_new_item, update_item, get_buffer_name, copy.
  • Nuevos archivos: src/sessions/blueski/utils.py, src/wxUI/dialogs/blueski/menus.py.
  • Correcciones de sonido: self.sound en todos los buffers.
  • Perfil de usuario mejorado y acciones de usuario completas.
  • Autocompletado en dialogos de timeline y acciones de usuario.
  • Persistencia de busquedas y paginacion completa en buffers.
  • Reposts/Likes abren buffers con paginacion bajo "Timelines".
  • Restauracion de followers/following propios sin duplicar.
  • Estructura del arbol: "Searches" agregado.
  • Menus de Bluesky ocultan opciones no aplicables via sentinel "HIDE".

Puntos pendientes

  • Verificar funcionamiento completo de onFocus con la aplicacion en ejecucion.
  • Implementar soporte de templates para usuarios y notificaciones (como Mastodon).
  • Confirmar que actualizacion de buffers en Mastodon se mantiene correcta.
  • Considerar OCR para imagenes si es necesario.

Notas tecnicas

  • onFocus se conecta via self.buffer.set_focus_function(self.onFocus) en bind_events().
  • auto_read se llama desde process_items() automaticamente si hay nuevos items.
  • Menu contextual con clic derecho o tecla de menu (WXK_WINDOWS_MENU).
  • utils.is_audio_or_video() y utils.is_image() detectan multimedia en posts de Bluesky.
  • Sonidos indicadores (indicate_audio, indicate_img) en blueski.defaults.
  • update_menus en src/controller/mainController.py interpreta "HIDE" para ocultar entradas.
  • Buffers de Reposts/Likes usan PostUserListBuffer con cursor para paginacion.
  • Busquedas se guardan en session.settings["other_buffers"]["searches"].
  • Perfil de usuario descarga imagenes en thread separado para no bloquear UI.
  • Paginacion usa patron: next_cursor guardado en start_stream(), usado en get_more_items().
  • Menu "load_previous_items" activa get_more_items() en el buffer actual.