Notas de la versión de Discourse 2.4.0.beta3

Nuevas características en 2.4.0.beta3

Permitir la personalización de robots.txt

Esta característica permite a los administradores personalizar/anular el contenido del archivo robots.txt en /admin/customize/robots. Esa página no está enlazada en ninguna parte de la interfaz de usuario; los administradores deben escribir manualmente la URL para acceder a esa página:

Enviar un máximo de 200 correos electrónicos por minuto para invitaciones masivas

Nota: invite.via_email ha sido obsoleto en favor de invite.emailed_status.

Este commit agrega una nueva columna emailed_status en la tabla invites para rastrear el estado del envío de correos electrónicos.

 0 - no requerido
 1 - pendiente
 2 - pendiente masivo
 3 - enviando
 4 - enviado
  • Para invitaciones por correo electrónico normales, se crea un registro de invitación con emailed_status establecido en ‘pendiente’.
  • Cuando se envían invitaciones masivas, se crea un registro de invitación con emailed_status establecido en ‘pendiente masivo’.
  • Para invitaciones que generan un enlace, se crea un registro de invitación con emailed_status establecido en ‘no requerido’.
  • Cuando el correo electrónico de invitación está en cola, emailed_status se actualiza a ‘enviando’.
  • Una vez que se envía el correo electrónico a través del trabajo InviteEmail, el emailed_status de la invitación se actualiza a ‘enviado’.

Autenticación externa al canjear invitaciones

Esta característica (cuando está habilitada) permitirá que los sitios invite_only requieran autenticación externa antes de poder canjear una invitación.

  • Se creó una configuración de sitio oculta para alternar esto.
  • Habilita el envío de invitaciones con inicios de sesión locales deshabilitados.
  • Se agregó un botón OAuth al formulario de invitación.
  • Requiere que la dirección de correo electrónico de OAuth coincida con la dirección de correo electrónico de la invitación.
  • Evita canjear la invitación si la autenticación de OAuth falla.

Permitir la elección de categoría al hacer pública una MP

Anteriormente, esto se asignaba por defecto a Sin categoría, lo cual no era ideal en algunos foros. Ahora, el miembro del personal puede decidir inmediatamente en qué categoría mover la MP.

Permitir la visualización de correos electrónicos sin procesar para publicaciones en cola revisables

Si una publicación llega por correo electrónico pero debe ser revisada, ahora mostramos un icono que se puede hacer clic para ver el contenido sin procesar del correo electrónico.

Esto es útil si el analizador de correos electrónicos de Discourse está actuando de manera extraña y el usuario que revisa la publicación quiere saber cuáles eran los contenidos originales antes de aprobar o rechazar la publicación.

Mejoras en las palabras observadas

Se han agregado nuevas características en esta versión.

Hay dos nuevos botones. El primero permite a los administradores descargar las palabras observadas por acción en un archivo .txt; el segundo botón borra todas las palabras eliminadas por acción (por ejemplo, bloquear, marcar, etc.). Además, cuando una publicación es rechazada porque contiene una o más palabras bloqueadas, el mensaje de error ahora enumera todas las palabras bloqueadas contenidas en la publicación.

Tenga en cuenta que esta nueva característica también cambia el formato del archivo para importar palabras observadas de .csv a .txt, por lo que se vuelve inconsistente con la extensión del archivo cuando se exportan las palabras observadas.

Personalización de correos electrónicos HTML

Esta característica agrega la capacidad de personalizar la parte HTML de todos los correos electrónicos utilizando una plantilla HTML personalizada y, opcionalmente, algún CSS para darle estilo. El CSS se analizará y convertirá en estilos en línea porque los clientes de correo electrónico tienen un soporte deficiente para CSS. Al escribir el HTML y CSS personalizados, tenga en cuenta qué clientes de correo electrónico lo soportan. Mantenga las personalizaciones muy simples.

Las personalizaciones se pueden agregar y editar en Administración > Personalizar > Estilo de correo electrónico.

Dado que el correo electrónico de resumen ya está muy estilizado, hay una configuración para deshabilitar los estilos personalizados para correos electrónicos de resumen llamada apply custom styles to digest encontrada en Administración > Configuración > Correo electrónico.

Como parte de este trabajo, las configuraciones regionales RTL ahora se renderizan correctamente para todos los correos electrónicos.

Listar moderadores de categorías en la página de información

Una nueva actualización para la característica Category Group Review/Moderation. A partir de ahora, los moderadores de categorías serán visibles en la página de Información del sitio, junto con los miembros del personal.

Agregar soporte para el nivel de visibilidad de los miembros del grupo y enviar notificación cuando un miembro fue aceptado en el grupo.

Otra adición a la gestión de visibilidad de grupos. Ahora hay 5 niveles de visibilidad (similar a la visibilidad del grupo):

  • público (predeterminado)
  • usuarios registrados
  • solo miembros
  • personal
  • propietarios

Los administradores y los propietarios del grupo siempre tienen visibilidad de los miembros del grupo.

Además, a partir de ahora, se enviarán notificaciones a los usuarios que son aceptados en un grupo.

Insertar lista de temas en sitios remotos mediante la API de JavaScript.

Esta característica agrega soporte para una etiqueta <d-topics-list> que puede insertar en su sitio y que se renderizará como una lista de temas de Discourse. Cualquier atributo en la etiqueta se pasará como filtros. Por ejemplo:

<d-topics-list discourse-url="URL" category="1234"> filtrará por la categoría 1234.

Para usar esta característica, habilite la configuración de sitio embed topics list. Luego, en el sitio donde desea insertar, incluya el siguiente JavaScript:

<script src="http://URL/javascripts/embed-topics.js"></script>

Donde URL es la URL de su foro de Discourse.

Luego, incluya la etiqueta <d-topics-list discourse-url="URL"> en su documento HTML y será reemplazada por la lista de temas.

Para obtener más detalles, consulte Embedding a list of Discourse Topics in another site

Agregar un webhook para notificaciones de usuario

Si está habilitado, esto disparará un webhook cada vez que se cree una notificación de un usuario. Esto podría ser potencialmente una gran cantidad de datos dependiendo de su foro y debe usarse con cuidado, ya que incluye todo lo que todos los usuarios verán en sus feeds.

Tratar theme_uploads como configuraciones en JavaScript y permitir que los temas carguen archivos js como activos

Estas son otras mejoras para los temas. La primera permite que los temas y componentes accedan a los activos del tema. Esto significa que dentro del js del tema ahora puede obtener la URL de un activo con:

settings.theme_uploads.name

La segunda mejora ayuda a desbloquear la capacidad de los temas para diferir la carga de cargas útiles js más grandes. El cambio es seguro, ya que a los temas se les permite incluir js en línea de todos modos.

Configuraciones de sitio para vincular con aplicaciones nativas de iOS/Android e incorporar el prompt de instalación de PWA en la interfaz de usuario de Discourse

En esta versión también hay nuevas características para las aplicaciones de Android e iOS.

Ahora hay dos nuevas configuraciones de sitio para agregar soporte para Enlaces Universales de iOS a través de un punto final apple-app-site-association y para Enlaces de Activos Digitales de Google en el punto final .well-known/assetlinks.json.

Además, evitaremos que la barra de “mini-info” de instalación nativa aparezca nunca, capturaremos el evento que aparece con ella y lo retrasaremos hasta que el usuario cumpla con nuestros criterios, que actualmente es el nivel de confianza 1.

Si el evento ocurre y el usuario cumple con nuestros criterios, mostramos un banner de alerta de Discourse proponiendo la instalación al usuario. El descarte del banner se registra para que el usuario no sea molestado más en el mismo dispositivo.

Iniciar sesión con Discord

Hemos agregado la funcionalidad de discourse-plugin-discord-auth al núcleo. El plugin se desactivará automáticamente cuando el núcleo se actualice, ver: discourse/discourse-plugin-discord-auth@fd08678?w=1.

Para instrucciones de configuración, visite Configure Discord Login for Discourse

Mejorar el rendimiento de la caché anónima

Aquí hay 2 nuevas características para mejorar el rendimiento:

  • DISCOURSE_COMPRESS_ANON_CACHE (true|false, predeterminado false): esto le permite comprimir opcionalmente las entradas del cuerpo de la caché anónima en Redis, lo cual puede ser útil para sitios de alta carga con Redis que vive en un servidor separado de los servidores web.

  • DISCOURSE_ANON_CACHE_STORE_THRESHOLD (predeterminado 2), solo insertar entradas en Redis si las observamos más de N veces. Esto evita situaciones donde un rastreador puede recorrer una gran cantidad de temas y almacenarlos todos en Redis para nunca ser utilizados. Nuestro tiempo predeterminado de caché anónima para temas es de solo 60 segundos. La caché anónima está en su lugar para evitar el efecto “slashdot” donde un solo tema es golpeado por cientos de personas en un minuto.

26 Me gusta

¡Aún más!

¡Pero espera, hay más! Hacemos todo lo posible para destacar las nuevas funciones y cambios para ti, pero siempre hay demasiados cambios para detallar. Para obtener una lista completa de nuevas funciones, correcciones de errores, mejoras de UX y más, asegúrate de revisar las Funciones Adicionales y Correcciones listadas a continuación.

Actualizaciones de Seguridad

Esta versión beta incluye 10 correcciones de seguridad para problemas reportados por nuestra comunidad y HackerOne.

  • Restablecer la contraseña al activar una cuenta a través de un proveedor de autenticación
  • No enviar el token CSRF en la cadena de consulta
  • Actualizar nokogiri
  • Agregar limitación de tasa al reporte de errores JS anónimo
  • No revelar detalles de categoría a usuarios que no tienen acceso
  • Restringir el acceso a message-bus en sitios con login_required
  • Requerir POST con token CSRF para la fase de solicitud de OmniAuth
  • Sanitizar el ID de correo electrónico para su uso como clave de mutex
  • Agregar pantalla de confirmación al conectar cuentas asociadas
  • Validar el identificador del fragmento de copia de seguridad

Mejoras de plugins

Discourse Cakeday

  • Actualizar traducciones

Discourse Checklist

  • Actualizar traducciones

Discourse Math

  • Actualizar traducciones

Discourse Saved Searches

  • Actualizar traducciones

Discourse Policy

  • Actualizar icono obsoleto

Discourse Invite Token

  • CORRECCIÓN: invite.via_email está obsoleto en favor de invite.emailed_status

Discourse User Notes

  • Actualizar traducciones
  • Actualizar nombres de iconos obsoletos
  • Eliminar package.json
  • Actualizar nombres de configuración y readme para reflejar el cambio de nombre a notas de usuario
  • Actualizar README.md
  • CORRECCIÓN: Cambiar el nombre de la configuración del sitio en la base de datos también.
  • CORRECCIÓN: usa la ruta correcta
  • DESARROLLO: Cambiar el nombre de archivos, funciones y entradas de la BD, más dos pequeñas correcciones

Discourse Translator

  • Usar zh-Hans y zh-Hant como códigos de idioma para la API de Microsoft
  • CORRECCIÓN: Usar la opción HTML en el traductor de Microsoft
  • Corregir especificaciones

Discourse Steam Login

  • Dejar satisfecho a Rubocop

Discourse Amazon Login

  • CORRECCIÓN: Amazon verifica las direcciones de correo electrónico.
  • Dejar satisfecho a Rubocop

Discourse Canned Replies

  • Actualizar traducciones
  • Actualizar nombres de iconos obsoletos
  • REFACTORIZACIÓN: refactorización/formato menor
  • DESARROLLO: elimina la obsolescencia de sendAction
  • CORRECCIÓN: limitar la altura del modal de respuesta editada en móviles

Discourse Oauth2 Basic

  • Actualizar traducciones
  • FUNCIÓN: Migrar a ManagedAuthenticator
  • CORRECCIÓN: Ignorar user_ids duplicados al migrar datos antiguos
  • Dejar satisfecho a Rubocop
  • CORRECCIÓN: Ignorar valores no numéricos al migrar desde el formato de datos antiguo

Discourse Chat Integration

  • Actualizar traducciones
  • Actualizar nombres de iconos obsoletos
  • CORRECCIÓN: Acceder correctamente a los parámetros de la transcripción
  • CORRECCIÓN: variable local o método no definido `site_setting_saved’
  • CORRECCIÓN: Se produciría un error si existieran menos de “skip_messages”

Discourse Graphviz

  • Agregar id a la llamada a la API decorateCooked
  • CORRECCIÓN: registrar el plugin solo si está habilitado
  • CORRECCIÓN: no realizar ningún trabajo si no está habilitado
  • CORRECCIÓN: permite renderizar múltiples gráficos en la vista previa
  • CORRECCIÓN: eliminar automáticamente comentarios de la definición del gráfico
  • CORRECCIÓN: permite que la definición del gráfico tenga líneas en blanco
  • FUNCIÓN: usar svg=true para forzar a graphviz a evitar la conversión de imagen
  • FUNCIÓN: renderizar svg a svg real y reemplazar en línea

Discourse Tooltips

  • REFACTORIZACIÓN: elimina el patrón this.$()
  • RENDIMIENTO: habilitar caché anónima de 3 minutos para tooltips
  • FUNCIÓN: agrega soporte para límite de tasa cuando las solicitudes están en cola

Discourse Signatures

  • DESARROLLO: No requerir reinicio para habilitar firmas
  • CORRECCIÓN: Solo serializar campos personalizados de usuario específicos de este plugin

Discourse Patreon

  • Actualizar traducciones
  • Actualizar icono obsoleto
  • CORRECCIÓN: No generar error cuando el grupo de patrocinadores o la insignia ya existen.
  • Archivo lint

Discourse Code Review

  • Actualizar icono obsoleto
  • Cambios después de la retroalimentación de Sam
  • DESARROLLO: Cambiar el nombre de las claves i18n porque no son claves de pluralización i18n
  • DESARROLLO: Mover la sincronización de usuarios a su propio módulo
  • DESARROLLO: Mover la creación de categorías a su propio módulo
  • CORRECCIÓN: Condición de carrera
  • CORRECCIÓN: La extracción de un commit individual se rompió por 079055c
  • FUNCIÓN: Sincronizar commits no fusionados
  • FUNCIÓN: Sincronizar eliminaciones de publicaciones de vuelta a Github
  • REFACTORIZACIÓN: patrones antiguos y obsolescencias
  • Dejar satisfecho a Rubocop
  • DESARROLLO: Agregar helpers para sanitizar la entrada
  • FUNCIÓN: Sincronización de solicitudes de extracción
  • DESARROLLO: Dejar satisfecho a Rubocop
  • CORRECCIÓN: Hacer que las constantes de cadena estén en mayúsculas con guión bajo
  • CORRECCIÓN: Solo sincronizar publicaciones regulares
  • CORRECCIÓN: Saltar validación al actualizar publicaciones cerradas
  • CORRECCIÓN: Actualizar node_id después de reflejar un comentario
  • FUNCIÓN: Página de configuración de webhook de Github
  • DESARROLLO: Agregar pruebas para reflejar publicaciones de PR en github como comentarios
  • CORRECCIÓN: Condición de carrera en la creación de publicaciones y temas

Discourse Styleguide

  • REFACTORIZACIÓN: elimina el patrón this.$()
  • Actualizar nombres de iconos FA 4.7 obsoletos y enlace
  • Actualización de enlace, detalles adicionales para la sección de iconos
  • UX: Pequeñas correcciones de estilo
  • Listar todos los iconos disponibles en los sprites SVG

Discourse Characters Required

  • Actualizar traducciones

Discourse Solved

  • Actualizar traducciones
  • UX: Integrar texto con botón para mejorar el espaciado
  • Revertir “UX: Integrar texto con botón para mejorar el espaciado”
  • UX: Si no puedo deseleccionar una respuesta, mostrar texto en lugar de un botón
  • Eliminar variable no utilizada
  • Corrección de margen del texto del botón Resuelto
  • CORRECCIÓN: Incluir temas previamente resueltos en el auto-bump
  • CORRECCIÓN: Corregir el conjunto de pruebas después de que los valores predeterminados de categorías fabricadas cambiaron
  • Reemplazar icono obsoleto

Discourse Calendar

  • Varias correcciones de errores y mejoras de rendimiento
  • Corregir Prettier
  • Dejar satisfecho a Rubocop
  • CORRECCIÓN: asegurar que solo los usuarios activos puedan estar de vacaciones
  • DESARROLLO: no introduzcamos heisentests basados en tiempo
  • CORRECCIÓN: no intentar validar una publicación de un tema sin calendario
  • CORRECCIÓN: asegura que verifiquemos en el OP y no en cualquier publicación
  • Corrección menor de estilo de código
  • CORRECCIÓN: no markdownizar el calendario si el plugin no está habilitado
  • Corregir prettier

Discourse Plugin Discord Auth

(A partir de esta versión, el soporte de Discord está incluido en el núcleo de Discourse, este plugin ya no es necesario)

  • DESARROLLO: Aprobar usuarios usando la API de reviewable
  • CORRECCIÓN: send_email debe ser falso
  • FUNCIÓN: Migrar Discord a ManagedAuthenticator
  • DESARROLLO: Eliminar parámetros de estrategia no utilizados
  • CORRECCIÓN: Corregir la firma del método after_authenticate para permitir la reconexión
  • DESARROLLO: Eliminar dependencia de omniauth-discord
  • FUNCIÓN: Cambiar el método para restringir el acceso a trusted_guilds
  • UX: Definir la clave secreta de discord como una configuración de sitio secreta
  • Deshabilitar automáticamente el plugin cuando el núcleo se actualiza con soporte de Discord
  • UX: Actualizar el texto de la configuración del sitio client_id

Discourse Prometheus

  • Dejar satisfecho a Rubocop
  • DESARROLLO: archivo lint, intentar aislar la raíz de la excepción de BD
  • DESARROLLO: intentar limpiar agresivamente las conexiones
  • FUNCIÓN: rastrear el número de llamadas SQL por punto final HTTP
  • FUNCIÓN: rastrear el rendimiento de la caché anónima
  • DESARROLLO: el registro de BD es excesivo

Discourse Data Explorer

  • Actualizar traducciones
  • REFACTORIZACIÓN: patrones antiguos, obsolescencias y código muerto
  • Agrega prettier
  • Corrige prettier
  • CORRECCIÓN: previene la mutación de objetos de solo lectura

Discourse Akismet

  • Actualizar traducciones
  • Actualizar nombres de iconos obsoletos
  • CORRECCIÓN: no enviar IP/UA de usuario cuando no esté disponible
  • CORRECCIÓN: siempre verificar si hay una biografía antes de enviar a Akismet
  • Verificar comment_content antes de eliminar
  • CORRECCIÓN: Saltar usuario si client_ip no está presente
  • Actualizar descripción de prueba duplicada
  • Corregir rubocop
  • Revertir “Verificar comment_content antes de eliminar”
  • FUNCIÓN: Enlace al perfil de usuario si es posible al revisar AkismetFlaggedUsers
  • CORRECCIÓN: hacer compatible con la función de ‘activos CSS de plugin desvinculados’.

Discourse Assign

  • Actualizar traducciones
  • DESARROLLO: usar IDs de grupo para permitir asignar en grupos
  • REFACTORIZACIÓN: patrones antiguos de ember, obsolescencias, código muerto
  • DESARROLLO: usa la nueva API de topic-button
  • CORRECCIÓN: usa la API de taskActions y elimina botones antiguos
  • DESARROLLO: Los grupos permitidos para asignar se envían junto con las sugerencias. Después de que ocurra la migración, aún necesitaremos tener acceso a los nombres de los grupos permitidos para poder buscar usuarios.
  • CORRECCIÓN: eliminar importación no utilizada
  • Inicializar allowedGroups dentro del constructor
  • Dejar satisfecho a Rubocop
  • UX: Agregar “Asignado” al título de la página para la lista de temas asignados
  • CORRECCIÓN: Usar can_assign en lugar de staff para mostrar correctamente el modal de asignación

Discourse Voting

  • Actualizar traducciones
  • DESARROLLO: Definir category_custom_field como booleano
  • CORRECCIÓN: Recuperar votos cuando la votación está deshabilitada en una categoría
  • Dejar satisfecho a Rubocop
  • RENDIMIENTO: evitar N+1 en la carga de categorías
  • DESARROLLO: usa la nueva API addNavigationBarItem
  • DESARROLLO: mueve parte del inicializador al pre-inicializador
  • CORRECCIÓN: envuelve las anulaciones en reloadable_patch
  • CORRECCIÓN: Agregar atributo can_vote a todos los serializadores de categorías.
  • linting
  • CORRECCIÓN: asegura que el contenedor no haya sido destruido
  • CORRECCIÓN: previene cualquier trabajo si no está habilitado
  • CORRECCIÓN: mantener el plugin compatible con versiones anteriores de Discourse
  • REFACTORIZACIÓN: limpieza de CSS del plugin
  • UX: envolver avatares en la ventana emergente de votantes

Discourse AD

  • Actualizar traducciones
  • CORRECCIÓN: anuncios DFP de tamaño incorrecto al usar múltiples tamaños
  • DESARROLLO: migrar no_ads_for_groups para usar IDs en lugar de nombres de grupo
  • CORRECCIÓN: los anuncios de Amazon nunca se muestran
  • DESARROLLO: migrar no_ads_for_groups para usar IDs en lugar de nombres de grupo
  • CORRECCIÓN: los anuncios siempre se muestran en todos los lugares para CodeFund y Carbon Ads
  • CORRECCIÓN: anuncios de CodeFund entre publicaciones en anchos estrechos
  • FUNCIÓN: agregar opción para deshabilitar anuncios en categorías restringidas

Funciones Adicionales y Correcciones

Haz clic para expandir

Nuevas Funciones

  • Soporte para outlet de data-explorer en la navegación de grupos
  • Rastrear la fecha en que se usó por última vez la clave API
  • Insertar tema con metadatos detallados
  • La caché anónima reporta datos a los registradores
  • Crear una tarea rake para destruir categorías
  • Nuevo encabezado HTTP ‘Discourse-Render’
  • Notificar a los autores al restaurar publicaciones marcadas
  • No reemplazar ↔ con un emoji
  • Publicar estado de lectura en mensajes de grupo. (Originalmente introducido en #7989)
  • Agregar gancho después de todos los inicializadores
  • Agrega atributo de cuenta regresiva a [date]
  • Protegerse contra ataques de repetición al usar TLS 1.3 0-RTT
  • Permitir que los plugins manipulen la configuración del sitio durante la restauración de copias de seguridad
  • Publicar estado de lectura en mensajes de grupo.
  • Los emojis favoritos también se mostrarán en la autocompletación del compositor
  • Resultados de encuestas solo para personal
  • Agregar una vista previa al constructor de encuestas
  • Permitir que los temas anulen las variables de transformación de color
  • Autenticación externa al canjear invitaciones
  • Agregar configuración para mostrar el contenido de correos electrónicos reenviados en temas
  • Agregar opción para siempre enviar extractos en correos electrónicos
  • Mención en categoría segura para priorizar grupos
  • Permitir que el mutex de procesamiento de publicaciones se mantenga más tiempo
  • Agregar una instalación de prueba a la interfaz de administración de palabras observadas
  • Mejorar las estadísticas proporcionadas por rake db:stats
  • Generar nuevas claves VAPID cuando cambia base_url
  • Sincronizar estado no leído en vivo a listas de temas
  • Agregar adjuntos a correos electrónicos salientes
  • Agregar operador de búsqueda para ver todos los mensajes directos de un usuario
  • Permitir que los usuarios que no han tenido sanciones en los últimos 6 meses sean TL3.
  • Crear una tarea rake para destruir categorías
  • Nuevos componentes de fecha/hora
  • Gz a zip para exportaciones
  • Las exportaciones de admin/usuario se comprimen usando el formato zip
  • Crear una tarea rake para destruir categorías
  • Hacer que Discourse funcione sin conexión con WorkboxJS

Correcciones de Errores

  • Mejoras en el compositor de Mobile Safari
  • Hacer que la función de ‘solicitudes de membresía de grupo’ sea compatible con la opción de nivel de visibilidad ‘logged_on_users’.
  • Ajustar el tamaño del compositor para iPhone Xs Max y Xʀ
  • Informar controlador y acción en caché a los registradores
  • Asegura que google classic tenga el emoji correcto man_facepalming
  • Incluir ‘short_url’ como src si la URL de carga no existe
  • Cerrar tarjeta de usuario después de hacer clic en el botón Mensaje
  • Manejo de ventana emergente de autenticación para rarezas de cookies del mismo sitio de Safari
  • Notificaciones de usuario de publicaciones marcadas
  • El usuario debe recibir una notificación cuando se elimina una publicación
  • Programador roto al cambiar per_host <-> global
  • Permitir acceso a objetos anidados dentro de la configuración del tema
  • En caso de registros de usuario huérfanos, omitir la insignia
  • El latido debe ser por host
  • Las notificaciones no se actualizan correctamente desde la pestaña en segundo plano
  • Registro de tema remoto no guardado al verificar actualizaciones
  • Evitar publicar cambios si el tema fue eliminado
  • Incluir indicador de lectura cuando se habilita publish_group_state
  • Un texto anulado de una clave plural inexistente resultó en un error
  • Asegurar que la carga de temas CSS funcione la primera vez
  • Hacer que turbo_rspec muestre errores en grupos compartidos correctamente
  • Condición de carrera durante las implementaciones al crear hojas de estilo
  • No buscar etiquetas al editar el título del tema
  • No explotar si el tema ya no existe
  • Al activar a través de omniauth, crear tokens después del restablecimiento de contraseña
  • Al activar un usuario, asegurar que el cambio se refleje inmediatamente
  • Permitir que el panel de control se cargue incluso cuando no se puede encontrar la versión de git
  • Mostrar lectores reales en la primera publicación
  • Asegurar que los tamaños de avatar sean enteros
  • Usar solo el argumento de la aplicación para el banner oficial de la aplicación iOS
  • Mostrar quién leyó solo si el atributo está habilitado
  • Actualizar grupos de temas correctamente
  • La anulación de textos _MF no funcionó para en_US
  • Al usar una URL de autenticador personalizada, enviar solicitud usando GET
  • Add_to_serializer no contabiliza correctamente las cadenas de herencia
  • No mostrar el banner PWA al usar la aplicación nativa
  • Eliminar el signo %- duplicado de los mensajes de error
  • Verificación de latido por proceso sidekiq
  • Permite que mini-tag-chooser obtenga etiquetas en segundo plano
  • Filtrar publicaciones ocultas para wordpress
  • No establecer la cookie destination_url después de eliminar tu propia cuenta.
  • Bucle infinito al mencionar en IE11
  • Cargar correctamente los activos CSS del plugin solo para escritorio y móviles.
  • Permitir ediciones de tema al usar una etiqueta oculta
  • Condición de carrera en los manejadores de respaldo
  • No intentar eliminar administradores y moderadores en espera y no utilizados
  • Restablecer regularmente la extensión desconocida de las cargas
  • Limitar el banner de instalación de PWA a Android por ahora
  • El indicador de lectura solo aparece cuando la configuración del grupo está habilitada
  • Asegurar que las locales adicionales solo estén disponibles para el personal
  • Asegurar que el desplazamiento sea siempre positivo
  • Evita que la navegación móvil genere un error al desregistrar eventos de clic
  • Usa un patrón más simple para href personalizado en elementos de navegación adicionales
  • Rack-mini-profiler no muestra marcos de plugin
  • La navegación J/K reinicia la selección actual al desplazarse rápidamente.
  • Establecer correctamente los niveles de notificación en la invitación de grupo
  • Al invitar grupos a un mensaje, respetar el estado de seguimiento
  • Requerir explícitamente topic_query_params
  • Borrar la caché de temas de banner después de la remapeo
  • Asegura que los informes no puedan modificar registros
  • Corregir condición de carrera al cargar biblioteca
  • Mantener bloqueos distribuidos relacionados con s3 por más tiempo
  • Almacenar atributos personalizados necesarios por plugins en la carga útil de queuedpost
  • Intenta usar parámetros de addDiscoveryQueryParam
  • Convertir nombres de autenticadores omniauth a símbolos antes de comparar
  • No generar excepción si falta el correo electrónico del autenticador
  • Convertir a minúsculas el correo electrónico que regresa del proveedor de autenticación
  • Reemplazar el uso del modelo con una consulta SQL
  • Orden correcto para el informe de post_edits y eliminar límite de consulta
  • Consulta correcta para el informe del panel de post_edits
  • Eliminar los archivos de inventario tmp después de la verificación de cargas s3.
  • RIP menús de deslizamiento hacia adentro en Android
  • No actualizar las notificaciones watching_first_post al mover la primera publicación
  • Los usuarios de confianza podrían hacer que el contenido se oculte con una bandera
  • Prevenir fallas en remapeos durante restauraciones
  • Truncar topic_links.url a 500 caracteres durante el remapeo
  • No crear una notificación de doble me gusta.
  • El segundo factor en blanco obtiene un nombre predeterminado
  • Polyfills String.prototype.repeat para IE
  • No permitir que el usuario se elimine a sí mismo cuando ha publicado en PMs
  • Usar #dup en lugar de #+@ ya que el contenido podría ser una instancia de Nokogiri::XML::Element.
  • Eliminar función de solo lectura al eliminar tabla
  • Crear funciones de solo lectura durante la copia de seguridad
  • Detectar agente de usuario de DiscourseHub.
  • Otorgar la insignia ‘Primer Onebox’ solo por URLs Oneboxed.
  • Orden correcto de rutas OmniAuth
  • Notificar sobre actualización de Reviewable.
  • Tutorial de discobot incorrecto iniciado para ciertas locales.
  • Eliminar dependencia de present? en la librería distributed_mutex
  • Codificar correctamente nombres de archivos no ASCII en el encabezado HTTP
  • No seguir redirección en el mismo host con ruta /login o /session
  • Permite reemplazar dígitos y emojis de símbolos
  • La inserción de temas fallaría con algún HTML
  • No ocultar/cerrar temas si no cumplen con la visibilidad mínima
  • Usar título sin escapar como id de combo-box
  • Las cargas S3 carecían de un encabezado cache-control
  • Asegura que el informe flag-ratio muestre usuarios con desacuerdo >` acuerdo
  • Mostrar enlace de solicitudes de membresía solo para propietarios de grupos.
  • El controlador generado debe estar en una carpeta subrayada
  • Asegura que el selector pikaday se muestre en UTC
  • Permite copiar y pegar archivos en el compositor con Chrome
  • Error de sintaxis en b1f5949
  • Hacer que la ruta de workbox sea compatible con multisitio
  • Vista previa del compositor en IE11
  • Cambiar el nombre del icono obsoleto “refresh” a “sync”
  • Mejor detección de navegadores de Apple
  • Varias mejoras en palabras observadas
  • No incluir la ruta de carga multisitio a la URL de origen si ya existe.
  • Hacer que la recuperación de cargas sea compatible con multisitio.
  • Actualizar correctamente las respuestas cuando se mueve la primera publicación
  • El modal onClose se estaba llamando repetidamente
  • Revertir cuando las pruebas multisitio generan excepciones
  • No reutilizar conexiones redis en diferentes hilos en pruebas
  • Las cargas de Gravatar dependen de authorized_extensions.
  • DistributedMutex
  • Mejor mensaje de error en la actualización de nombre de usuario desde la página de usuario de Admin.
  • Agregar de nuevo la opción verbose a DbHelper.remap
  • Agregar frozen_string_literal: true en la migración
  • Evitar que user-notifications-dropdown cause cambios no deseados
  • Post#each_upload_url cede una ruta incorrecta al bloque cuando CDN está habilitado.
  • Hacer que el inicializador funcione en la primera db:migrate
  • Identificar correctamente Edge basado en Chromium
  • Soportar hojas de estilo de varios archivos en componentes de tema
  • Mejor error cuando falla SSO debido a un secreto en blanco
  • Incluir etiqueta predeterminada al exportar informes
  • Proporcionar un mensaje de error si no se seleccionaron etiquetas válidas
  • Error de cadena congelada en TopicEmbed.import
  • Ocultar publicaciones cargadas en vivo de usuarios ignorados
  • Revertir #18e2816
  • Usar el mismo id para inventarios originales y optimizados en configuración multisitio.
  • Aplicar restricciones predeterminadas al formato de rutas (vez 2)
  • Mantener parámetros de consulta presentes en auth_redirect
  • Asegurar que los trabajos no se ejecuten inmediatamente después de migrate_to_s3
  • Mejora la verificación de etiquetas al actualizar la categoría del tema
  • Eliminar contexto sin categoría si no está permitido en el compositor
  • Enviar featuredLink como featured_link al backend para actualizar correctamente…
  • Enviar featuredLink como featured_link al backend para actualizar correctamente el valor
  • Usar uniq en lugar de uniq! al verificar la ruta raíz sin comprimir. Usar convención de nombres de Rails para ZipUtils
  • Las migraciones intentaron cambiar una cadena congelada
  • Actualizar recuento de respuestas al mover publicaciones
  • Eliminar notificaciones que los usuarios no pueden ver después de mover publicaciones
  • Las notificaciones antiguas no vinculaban a la publicación correcta después de mover la publicación
  • Permite especificar atributos en mayúsculas y minúsculas en el componente wrap
  • Establecer un tiempo de lectura mínimo por publicación.
  • Siempre hacer copia de seguridad de cargas locales además de archivos almacenados en S3
  • No solicitar actualización en solicitud de ‘cerrar sesión todos’
  • Mostrar el mismo nombre de usuario o nombre para avisos de publicación.
  • Nombres de copia de seguridad vacíos con títulos de sitio unicode
  • Codificar URL nombres de usuario en enlaces de perfil de usuario en feeds RSS
  • Eliminar creación de registro de carga de publicación dentro del método ‘find_missing_uploads’.
  • Errores que impiden cerrar el modal de eliminar cuenta con botón
  • Cadena que no se puede traducir en la interfaz de usuario de palabras observadas
  • Nombres de copia de seguridad vacíos con títulos de sitio unicode
  • Respetar la configuración logout_redirect en ‘Cerrar sesión todos’
  • Cuando ‘raw’ comenzaba con una URL de carga que no era imagen, no se convertía a short-url.
  • Convertir URLs de imágenes no imagen enlazadas a URL corta.
  • Eliminar todos los service workers de dispositivos Apple de nuevo
  • Cambiar el nombre de iconos obsoletos, permitir iconos personalizados en insignias
  • Recompilar activos de tema extra_js cuando cambia COMPILER_VERSION
  • Fallback a compresión gzip si brotli no es compatible
  • Saltar conversión markdown para URLs de imágenes no imagen enlazadas
  • Las copias de seguridad tomadas por pg_dump >= 11 son no portátiles
  • Aplicar restricciones predeterminadas al formato de rutas
  • Asegurar que las categorías suprimidas no produzcan ningún tema destacado.

Cambios de UX

  • Usar Flexbox para la inserción de lista de temas
  • Usar vertical-align: middle en lugar de unidades em
  • Usar variable de código de color
  • Convertir la estructura HTML de lista de temas insertada de tabla a div
  • Mejoras en el indicador de lectura.
  • Eliminar cadenas no utilizadas sobre notificaciones de escritorio
  • Pequeño seguimiento a #8047
  • Mejor alineación para etiquetas en el encabezado
  • Solución para el error de autocompletado de Chrome en la búsqueda
  • Corrección de diseño para cajas de categoría con nombres de subcategoría largos
  • Evita que las imágenes no lightboxed en citas se estiren/aprieten
  • Ocultar opción “Crear etiqueta” si el usuario no puede crear etiqueta.
  • Ubicación consistente del outlet de plugin category-title-before
  • Agregar enlace al editor de robots.txt en la descripción de la configuración del sitio
  • Fallback al nombre del proveedor de autenticación no localizado si es necesario
  • Prevenir iframes de onebox de Twitter que sean más altos que la ventana móvil
  • Mejorar el manejo de errores para excepciones comunes de OmniAuth
  • Modificar la plantilla de correo electrónico de admin para tener más espacio para el formulario
  • Borrar nombre de usuario al abrir el modal de duración de ignorar
  • Ocultar botones de encabezado de inicio de sesión/registro durante flujos de autenticación
  • Agregar icono de botón de inicio de sesión a la página no_ember
  • Mejorar diseño del modal del constructor de encuestas
  • Mejora las fechas en la interfaz de usuario de exportación de informes
  • Usar etiquetas de día de la semana más cortas en el plugin local-dates
  • Usar etiquetas de día de la semana más cortas en el selector de fecha
  • Cambiar el nombre de “Mantener publicación” a “Mantener publicación oculta” cuando está oculta
  • Correcciones de estilo para la página de vista previa de correo electrónico de resumen de admin
  • Eliminar borde confuso en la lista de usuarios ignorados
  • Hacer que las vistas de perfil sean consistentes con otros elementos
  • Evita que las fechas cocidas se envuelvan
  • Mostrar una advertencia cuando el admin hace clic en guardar sin agregar grupo al cambiar permisos de categoría
  • Aumentar el contraste del texto de motivo de fijación/seguimiento, mejorar diseño
  • Mejorar la asociación de cuentas cuando falta la descripción de la cuenta
  • Agregar clase expandida/colapsada a post-controls
  • Corregir alineación vertical del favicon de onebox
  • Mejorar diseño de encabezados de etiquetas largas en móviles
  • Refactorizar modal de carga de avatar para mejor espaciado móvil
  • Actualizar mensaje de invitación ‘no encontrado’
  • Corregir espaciado del control de carga de imagen de perfil en móviles
  • Agrega etiqueta <a> con href a los títulos de las cajas de categoría
  • Eliminar copia duplicada en preferencias de dos factores
  • Usar variables de color SCSS
  • Deshabilitar notificaciones de edición del sistema por defecto
  • Intercambiar secciones de ignorar y silenciar para mover el botón ‘Guardar cambios’ al final
  • Usar altura relativa a la ventana para el área de texto de robots.txt
  • Reorganizar controles en modales de edición

Rendimiento

  • Usar URL de CDN para proxy de favicon
  • Ejecutar múltiples hilos para programaciones de trabajos regulares
  • Reducir ventana de consistencia en acciones de usuario
  • Evitar filtrar borradores compartidos cuando no se usan
  • Seleccionar solo el único campo que usamos
  • Pre-calcular la última publicación leída por un miembro del grupo
  • Cálculo de longitud más rápido del cuerpo del compositor
  • Evitar N+1 en la vista del tema
  • Rake posts:rebake_uncooked_posts se ejecuta en línea
  • Message_bus se diferirá por el servidor cuando esté inundado
  • Agregar más restricción en el uso de Cache Storage
  • Mejorar velocidad de consulta al buscar PMs directos
25 Me gusta