Descripción general del desarrollo del tercer trimestre
Por DeHub Team — 2026-08-22
Una cuarta parte del envío
Desde principios de julio, hemos combinado más de 900 cambios en tres repositorios: dehubweb (642 commits), dehub-stream-backend (52) y dehub-mobile (221). El repositorio web se hizo público el 17 de julio bajo una licencia del MIT (3d84d06714), por lo que todas las líneas se envían al aire libre. Este resumen cubre cada pieza de trabajo distinta, no solo los aspectos más destacados, y lleva su compromiso más relevante para que pueda leerlo.
Las etapas se convirtieron en el producto
Stages comenzó el trimestre como una sala de audio en vivo. Termina como una pila de difusión:
- Los anfitriones programan etapas y las anuncian (ff1343f1dc, mobile ca97c9366c), sobre una base que agrega recordatorios, escucha de invitados, enlaces de invitación cortos y tarjetas para compartir por etapa (b60fef88ec).
- Todos los que configuran un recordatorio reciben una alerta en el momento en que se publica una etapa (fc8b163ccf), y de nuevo cuando comienza pronto (6dc9f62b07).
- La tarjeta de anuncio muestra quién está esperando (6aaae602af) y las caras de recordatorio se sientan directamente en la página de enlaces profundos (04b36e5984).
- Las páginas de Stage tienen un ancho completo con un espacio publicitario y las últimas publicaciones debajo (916a60f6a8, c92423d069), te llevan a una pestaña que tiene algo (f410e2f5c2), y dicen en qué zona horaria se encuentra una hora programada (a24d758d85).
- Las portadas recibieron un tratamiento en todas partes, 16:9 y nunca se recortaron (92a267b044), se muestran enteras en lugar de como un recorte (0ae5c506ca) y tienen el tamaño para compartir tarjetas en las salas en directo también (d900b9c8c7).
- Las tarjetas de escenario llevan el avatar del anfitrión y la manejan de vuelta a su perfil, detrás de un botón de recordatorio de cristal (03020ff72f).
- En directo ya no necesita OBS: los anfitriones transmiten directamente desde la cámara del navegador (1e140f5295) y comparten su pantalla en la mitad de la sala (53268ed328), dimensionada para cualquier dispositivo en el que aterrice.
- El público habla en el chat del escenario (#359), lee los subtítulos en directo (#364)) traducido a los idiomas que la habitación está leyendo (#369), y puede escuchar todo el escenario doblado en vivo con la propia voz del anfitrión, pagado en DHB por minuto (#372), ejecutado en una pestaña para que sobreviva al salir de la habitación (#375), facturado a la billetera en lugar de a un saldo de crédito (#378), y mantenido fuera del paquete de entrada para que se una a estancias ligeras (#389).
- Los anfitriones ponen una estación de radio en el aire (#379) o reproducen sus propios clips de música. entre conversaciones (#382).
- Las personas que llegan temprano se sientan en la multitud en vivo antes de que se abra la sala (6ae8b746e0), y el estado de la sala terminada se reconstruyó alrededor de una pestaña de Anfitrión (#346).
- Cada etapa registra. La carga se muestra como un brindis de esquina con el precargador (#331); las grabaciones se reproducen desde el mismo reproductor de esquina en todas partes (#360), incluida la tarjeta en la que aparecen (#368); buscan correctamente en Android (#422) y coincide con la reproducción web en el móvil (móvil #162), codificado como AAC real en lugar de un MP4 falso (móvil #165). Una página aparcada ya no puede perder la grabación (#329), solo el anfitrión puede eliminar una (#325) y la carga se etiqueta después de su formato verdadero (#420), con un control de velocidad en la reproducción (#428). Las grabaciones móviles se vuelven a multiplexar para que también se busquen (#471), y cualquier grabación se vuelve a publicar directamente desde la hoja para compartir (#429).
- Los enlaces del escenario siguen funcionando después de que finaliza el escenario (#363): se despliegan para los rastreadores, persiste el estado de silencio, las comparaciones de billetera no distinguen mayúsculas y minúsculas, y el formulario de invitación corta también se comparte desde dentro de una sala para correr (5b2768e5e6), y la hoja para compartir se convirtió en una acción de repost (#429).
- La moderación se trasladó a la sala para correr. panel de administración (backend #109), proxy a través del servicio que realmente tiene la clave (backend #114, #404), con la pista de auditoría restaurada detrás de cada acción (backend #110). Los superadministradores pueden establecer el recuento de escuchas de un escenario directamente (#416, backend #115).
- Las escrituras de escenario se autentican detrás de una puerta de token de editor (#324), se endurecen antes de que lleguen a implementarse (#330), y la sala sobrevivió a la antigua el retiro del servicio de token mediante el recuento sin el RPC (#328, reflejado en el móvil en móvil #147).
AI se movió a cada rincón
El asistente
- @assistant existe: una herramienta de asistente API y chatbot aterrizó en el backend (backend #72), respondiendo menciones en publicaciones y comentarios (backend #73) solo después de volver a revisar la publicación en una lectura fresca (backend #74), apuntando a la cuenta real de @assistant (backend #75).
- En la web obtuvo herramientas reales en lugar de adivinar palabras clave (b691e62062), recibe tu token real en lugar de una dirección auto‑declarada (60bd056028), mantuvo un respaldo local hasta que el lado API estuvo activo (596c887506), y reconoce la cuenta real de @assistant en todas partes (8d066e1207, mobile ea7bb89d08).
- Responde visiblemente en hilos de comentarios (80eb82febd, mobile 23faa4726f), se unió al chat en vivo móvil con datos en tiempo real (14ffa299bb, token de autenticación adjunto (8193b130a5)), sigue funcionando cuando se adjunta una imagen (ec8b41b72a), muestra errores reales de generación de imágenes (#333), conoce sobre Last Chad Standing (71d6c3f44f), y dejó de responder menciones de una semana de antigüedad a través del respaldo heredado (#370). El backend expone un endpoint de modelo y lo indica cuando no tiene ninguno (backend #111).
- Los tickets de soporte enviados a través del asistente se envían por correo a dev@dehub.io (backend #106, f22485e94d), llevan hechos reales sobre tu sesión (backend #108), tienen a dónde ir una vez enviados (backend #107), y no pueden inundar la bandeja de entrada durante una interrupción (backend #108).
- Se restauró una función de borde del servidor MCP (76a589e1f9), sus cargas útiles de herramienta están totalmente tipadas (539417372a) para que los manejadores llamen a los endpoints que realmente tiene la API (141e36cf80), con LiveStream inyectado en el conjunto de herramientas en el backend (backend #86). La tabla ai_agents subyacente recibió una migración que es segura de reproducir (a08b2c5e15), una columna de propiedad cuyas políticas pueden coincidir realmente (d33e0dbbbd), y una política de rol de servicio limitada a service_role (393a4e0f87).
Creator Studio v2
- Llegó un estudio de generación nativo con un editor estilo Canva y una cola de renderizado compartida entre superficies (cdbd24dabb), con el compositor del estudio como la única barra de indicación en /creator (49e4bd1d51) y un comportamiento pegajoso que realmente se mantiene (1ef900835a).
- El modo de audio se incorporó a voces de ElevenLabs (9b23618195), y la generación de modelos 3D se lanzó con un catálogo de modelos ampliado (92782d2b4b) detrás de un visor endurecido contra fallos de WebGL y deriva de visualización (77e1a9c405, recuperando contextos GL restaurados (461034db7e)).
- Se abrió una biblioteca de recursos gratuitos dentro del editor (bdefb38d0e), limitada por billetera con renders reclamables a través de pestañas (0b8cf4c96f).
- Los precios se reagrupó alrededor de niveles de modelo centrados en video con el nivel Creator listado (6e41941d31), el marquee del creador reconstruido a partir de los catálogos de modelos reales (b50d67bbd7), y la generación se canalizó a través de kie.ai con un margen del 20% (5f84971a7e).
Créditos y traducción
- Los créditos de IA se convirtieron en reales y se denominan en DHB (0eb7496bf0): una subvención inicial más la acumulación diaria reclamada al iniciar sesión hace que se pueda acceder al crédito gratuito (49333e63bd), el pago por uso se ejecuta junto con la ventana de repetición cerrada (87777465f8), el crédito tiene un lugar para comprar (bcf428963c) y la verificación de autenticación de la función de borde detrás de todo se hizo real al finalizar la migración de crédito (0ef77c093e).
- El feed se traduce automáticamente a tu idioma sin tener que abrir un monedero, con un límite de gastos (85154309fd). Bajo el capó: las traducciones persisten del lado del servidor y se llama a Gemini directamente (333cf42591), fal actúa como un respaldo pagado entre Gemini y la puerta de enlace (a833f4af70), los modelos retirados bajan por una lista en lugar de fallar (6e74ca7022), cada configuración regional se nombra en el mensaje con el almacenamiento en caché de fallas detenido (d90a456598), nadie paga paratraducir el texto a su propio idioma (44dd1f59f6), renderizar emoji en el escritorio mientras que las imágenes se traducen al idioma elegido (198fb5c83b) y la traducción nunca bloquea la carga de la página (f2cbd3d1fc). El móvil coincide con la web para contenido público (mobile 719d8f2aa9).
Los carteles son gratuitos
- Los gráficos de marca son dibujados por un renderizador determinista SM Template 2.0 basado en activos de brand-kit y resvg en lugar de cobrar por renderizados de difusión (1323a3a2ee). Obtuvo un diseño basado en columnas para que los titulares encajen y envuelvan al héroe (6acc7152fd), los campos de especificaciones de LLM coaccionados a la defensiva (7c04276493), los reintentos que dejan de esconderse cuando se dan por vencidos (#326), las insignias de HUD fijadas a un recuadro en los cuatro lados (#418), los héroes parados dentro del de nuevo (#384, #383) y se corrigieron las filtraciones de titulares (a28deb77fd).
- Los presupuestos de píxeles seguros para CPU se ajustaron por tamaño: lienzos de 960px con desenfoques más claros para cuadrado/retrato (723115f846), elipses de degradado que reemplazan las sombras gaussianas con grano de solo paisaje (11211a8f94), retrato estandarizado en 864x1080 (0ad1e45b63).
- Poster Studio ahora elige plantillas en la marca en lugar de escenas de difusión (6df26d792a), Los banners de DeHub se volvieron gratuitos en todas partes (#327, mobile #146 también dejaron de cargarse en los teléfonos), y la habilidad del póster de dehub se trasladó a SM Template 2.0 (#367).
- Cada banner del blog se volvió a renderizar en el estilo v2 (#366), junto con cada tarjeta OG por ruta (#365), y el propio renderizador del banner en la aplicación surgió para diseñar el lenguaje v2 (#343).
Diez temas, cada uno con un aspecto completo
La plataforma ahora incluye diez temas de apariencia: Light, Minimal, Cosmic, Hazy Nights, Swarms, Lava Lamp, Winter, War, Osaka y Jungle. Tres de ellos aterrizaron este trimestre:
- War envuelve la interfaz en un HUD táctico (5bd68b529a), unido a cada superficie que faltaba (6fda089b63).
- Osaka es neón sobre vidrio (89e2762c9b): una placa trasera que vuelve a intentarlo antes de caer (ed6fbcf0e9, daa21f5cc9), salpicaduras dispersas y vetas de toallitas secas (0fd4062371), CTA de riel holográfico reemplazadas con vidrio líquido (b5da25ba85, b29f6746a2), cobertura terminada a través de hover-at-rest- estados (56d49303f1), además de correcciones específicas para el buzón de medios (7762efbcac), paneles de publicaciones (b15777f4eb), anillos de enfoque (35074942c1), fondos de página (e1ac44a278) y geometría de lluvia/bento (ad0d82f8a2).
- Jungle reconstruye el cromo como madera tallada bajo un sendero de toldo WebGL transitable (de391bdffe), reconstruido con sombreado plano de poca altura con viento local (1515a21a9b), profundidad real recuperado de un material que lo ocultó (fc02ccb029), una cámara que arrancó dentro del terreno (87c5fe92f3) y una espesura más densa desde la altura de la pala (5b83b3c37a), con elementos fijos ya no reparados y tablas que ya no se apilan (0e882bee63).
El resto se profundizó este trimestre:
- Se enviaron conjuntos de iconos 3D específicos del tema (c2e4386be9), se completaron los iconos de títulos de página temáticos (2b23087d10) y los estados vacíos y no encontrados llevan iconos temáticos (4bc6333b0b).
- El selector de reacción recibió un estilo de vidrio adecuado (0fecf6b7a1), las perillas de los interruptores se leen correctamente en cada tema (f38c941c40), cerrar sesión restaura el tema predeterminado de tu sistema (ee17ae074f), las cajas de la barra lateral negra de luz/mínimo ya no parpadean al arrancar (e71a8ddda9), los temas de lienzo dejaron de pintar una columna negra sobre la capa de publicación (81e0a12808) y los fondos animados tienen un límite de 60 fps con movimiento reducido para la lavalamp y la animación ambiental en general (383474547d, 5ba9ae3fdb).
La sala de juegos se abrió
Una sección dedicada a Arcade aterrizó en dehub.io/arcade (e45393f6f0), promovió la navegación junto con Prompt (231631147e), con un icono monocromático de System Arcade (be2996a22b) y sus propias tarjetas para compartir para la sección y cada juego (bb335f2aae).
- King's Gambit creó un lobby en línea con tableros en vivo (bd9a85e00b), mesas de partidos arbitradas de extremo a extremo (4707f0c16c), retadores que se muestran como personas sin direcciones (71d0de2dc8), un revendedor de horquilla ascendente (62b3f050c6) y una tabla de clasificación compartida con Street Slayer (#362). El botón de apuesta desapareció (#338).
- Claude of Duty llegó como una versión vendida servida desde /war-game (a16f976dbb) con su propio lanzador (8d74c1954e), ilustraciones de HUD-glyph que reemplazan los renders 3D brillantes (beee270bf8), calidad elegida de la GPU en lugar del recuento de núcleos (44535cb344), una lectura de arranque autorretirable confiable (190773b862, d4e4313590), CORS para que se cargue en caja de arena (539ec85fa1), un comentario compositor reconstruido como una consola de HUD (c6cbc49df1), y un pase de reparación de auditoría funcional (1071aba896).
- Street Slayer se unió (e561157151) después de que su carga útil se redujo y se le dio una pantalla de arranque propia (68cff98f7f).
- Trenchstar se lanzó como nuestro juego arcade de mercado terminal (#339): los monitores de escritorio son controles reales (#374), cualquier gráfico se lee en cualquier momento (#358), una mala lectura del mercado no puede apagarse la habitación (#354), arranca en el cargador DeHub con una lectura verde (#342), Fat Chad viaja como un 2 MiB GLB (#371, de vuelta en la lista del cubo (#352)), y todo arranca en VR a través de WebXR en una plataforma de cámara sin el compositor (#347).
- Jungle Trail sirve con CORS para que se cargue en su marco de caja de arena (629515e674), y los juegos de guerra y selva se juegan en pantallas táctiles ahora (6f0f65dff8). Los teléfonos también tienen el arcade, como una pantalla nativa que lleva Claude of Duty y Jungle Trail (mobile 348672dc78, mobile 802e275a8f).
- Fontanería de arcade compartida: barras de progreso de arranque para guerra y selva (055937d3d2), botones de cierre dentro del menú de configuración propio de cada juego (b3658ca690), bloqueos de extensión de billetera ya no se transmiten como fallas de arranque (875201e033), GPU-struggle ya no bloquea las habitaciones (#351)), el enlace de salida del anfitrión eliminado de los jugadores (7c69f939ab), los enlaces copiados se cuentan como acciones en todas partes, incluidos los juegos (#349, mobile #151), el arte de las tarjetas igualado con sugerencias de control, eslóganes, referencias cruzadas de temas y filas de crédito eliminadas (80266b4810, 208c3be6b4, 337df5f51c, 88bfb3bd78), y la lista de juegos de documentos reescrita en torno a los cinco juegos que realmente existen (#388).
Monederos e inicio de sesión reconstruidos
- Web3Auth desapareció por completo. La web y el móvil ahora ejecutan una billetera inteligente de autocustodia (d74f99b73c) construida en un núcleo criptográfico compatible con bytes para móviles (mobile #200), lanzado solo después de la verificación del propietario del dispositivo (mobile #201), con el formato de semilla móvil anclado por prueba (364721189f).
- Se envió el inicio de sesión del teléfono, entregando OTP a través de CloudTalk (#97) a través de funciones de borde OTP personalizadas que eluden el gancho de SMS nativo (21f4037106), enrutado a través de la web también (84fc7d1c6f, mobile da90c78fc6), enviado como un solo fragmento de GSM-7 para que la entrega sea confiable (8d9e7664b9), firmando cuentas telefónicas por correo electrónico sintético (355f83096c) con el prefijo más manejado correctamente (648854f1fe), contraseñas de inicio de sesión único endurecidas (9443ef0591), sesiones de cuenta inteligente permitidas sin contraseña (6e85ee0aa9), y el móvil ganó todo el flujo (97c70f7621) con escapes de entrada y bloqueo fijos (c78e1e41f3).
- Inicia sesión con Apple enviado en web (#96) y móvil (96f56da8a4), con inicio de sesión social migrado desde Web3Auth a la identidad de Supabase más la billetera local en el móvil (eaf106354c), los emparejamientos de WalletConnect obsoletos dejaron de secuestrarlo (f2adace4ff), y Stale Wagmi ya no vuelve a conectar las indicaciones de gas de fuerza (2c91c8b82e). Los enlaces mágicos ahora completan el mismo dispositivo (3fe63cc0c8), y la página MFA alojada se mantiene fuera del inicio de sesión social en el móvil (33cbdb392d).
- La billetera se desbloquea con datos biométricos en lugar de una contraseña (77e6bd0c2d): una vez por inicio de sesión en lugar de cada carga de página (4247a0cd7c), se pregunta sobre una vez por inicio de sesión (1ba583e5ef), se audita y corrige dos veces (9f8795d450), se inscribe por dispositivo en lugar de por cuenta (3e99acde54)), accesible en lugar de un callejón sin salida (4d9bed5698), con una escotilla de escape de cierre de sesión en el cajón (d7db45ae38), teléfonos sin bloqueo de pantalla nunca bloqueados (mobile 54693bd6ba) y fallos de configuración sin gas en lugar de publicar silenciosamente sin gas (mobile a03a899487). El medidor de contraseñas ahora predice el veredicto antes de que lo envíes (8a463c259c).
- La migración de cuentas heredadas fue imposible de pasar por alto: los usuarios que regresan se detectan automáticamente al configurar el monedero (4bb2098a3e), varias cuentas antiguas se previsualizan antes de migrar (462b387e54, b9713b7c2e), las cuentas antiguas se confirman por avatar y nombre de usuario en lugar de direcciones sin procesar (9c1157502c) con confirmación de dirección requerida (e13e5ebbb2), la opción de correo electrónico debidamente etiquetados (7e7e17104d) y SMS uniéndose a él (#419). El móvil refleja esto con un flujo de recuperación (7a383716b7), un modo de advertencia con detección (57cc2e7ac9), una escotilla de escape para callejones sin salida irrecuperables (e5f222615d) y el manejo de cuentas web no coincidentes eliminado (92c0a76fe3).
- Las sesiones activas y la gestión de dispositivos aterrizaron en la configuración (80c1e2f726), los usuarios que regresan omiten por completo la hoja de contraseñas del monedero (#391), y una sesión de Supabase se intercambia por un token de DeHub sin ninguna firma de billetera (backend #66).
- El correo electrónico se convirtió en una forma de entrar y volver: las funciones de borde envían el código y resuelven la identidad detrás de él (#445), la configuración aumentó un flujo de adjuntos para que una cuenta existente pueda agregar una dirección y las cuentas vinculadas reanudan el intercambio primero (#447) con la hoja de inicio de sesión sostenida para todo el currículum y la contraseña de la billetera degradada a una última resort (#444). La ruta de migración de SMS ahora envía el número junto con el inicio de sesión (#468).
- Un navegador, varias identidades: el cambio de múltiples perfiles aterrizó en Configuración → Perfil (#446), agregando un perfil que dejó de ser destructivo y la lista solo explícita (#453), un interruptor que no puede restaurar la reversión (#448), una respuesta de actualización ya no puede cruzar identidades y un interruptor colgado se desactiva (#467), y cómo muchos perfiles que puedes tener tienen un precio por distintivo de participación (#469).
- Un registro de monedero rechazado dice por qué, en lugar de decirle a la gente que vuelva a intentarlo (#476), las tres rutas de autenticación de monedero dicen lo mismo (#486), y el cliente web envía una identificación de dispositivo estable para que las sesiones sean atribuibles (#473).
- La estabilidad de la sesión se redujo todo el trimestre: se detuvieron los informes de desmontaje espurio y recuperación falsa (89294d7bf3), borrado de identidad obsoleta centralizado (b0c4f5f667), cierres de sesión espurios y cierre de sesión en el puesto fijos con la fuerza pasada de cada ruta de rechazo (d27b80d09d, 3198444d40), un mensaje de firma que nunca apareció ya no bloquea el inicio de sesión hasta que se actualiza (ecf076e39a), las firmas fallidas dejaron de culpar al usuario (fe4bd611ab), una etiqueta de fuente de conexión perdida ya no bloquea a las personas para publicar (9e668def25), una etiqueta de conexión obsoleta ya no se traga el firma del monedero (#415), una firma cancelada finaliza el intento y toca el monedero que tocó (#423), la hoja de inicio de sesión se abre al hacer clic no después de que se cargue su contenido (#417) y deja de mostrar las opciones de inicio de sesión antes de desbloquear el monedero (#381). La copia de registro indica lo que protege el paso del monedero (182ccf1d70) y el inicio de sesión ya no solicita el monedero en camino (96cc9d074e).
La publicación se ha vuelto más ligera
- La acuñación se convirtió en opcional, con un interruptor de publicación de Mint en ambas plataformas (016380ebac, mobile 04eada0530), habilitado del lado del servidor por el PR de publicación sin acuñación (backend #95). Las publicaciones fuera de la cadena se muestran en todas partes con información de NFT de marcador de posición que explica por qué todavía no hay nada que acuñar (c8ae4feb1d, mobile 22a0606d52), llevan sus propias babosas de publicaciones/nuevas a través de la web, el backend y el móvil (a8d42756eb, backend #100, mobile 9e12a8dcae), rellenan el arranque para todo lo que ya estápublicado (backend #102), publica en todas las rutas de lectura (backend #98), incluidas las publicaciones deliberadas fuera de la cadena a través de status=minted (backend #97) y cuenta en las estadísticas del panel con las reacciones que aparecen en los puntos finales del administrador (backend #103, backend #101).
- Las reacciones se convirtieron en nueve profundas al sostener el pulgar hacia arriba (dd4499bec4, mobile d787ddc661), servido por una solicitud dedicada y puntos finales de reacción por publicación (backend #69): totales por reacción en la bandeja (5dc78b32c9), tu selección marcada con un brillo en el color que elegiste (0ff800f6f5, 0510efc703), tocar arroja exactamente la reacción que muestra el pulgar (4000d5d0fb, mobile 0863ec0dd8) y la llamada nominal vive solo en la bandeja del autor (8a8cfa1775, backend #71)con comentarios me gusta solo para autores y autogustos rechazados (backend #96).
- Los comentarios ganaron propina en cada comentario y respuesta (#104, mobile 2ab363b6bb), un cajón de "me gusta" detrás de tus propios botones de comentarios (a242b03f89, mobile 0bd3da514c), anidando sin límite, incluidos los hilos más allá de las primeras 20 raíces (be31e9fee3, e07a509ed2) y controles de comentarios por publicación (e467fbab96, backend #68).
- La publicación pasó de ser gratuita para todos sin límite a una asignación diaria en cuatro pasos: un límite diario al apostar el nivel de insignia (#421, backend #116), luego una publicación por autor en el feed de inicio con publicación ilimitada de nuevo (#457), luego las primeras N publicaciones del día de cada autor realizadas por el nivel (#461) y, finalmente, la asignación en sí: diez publicaciones de texto y un gigabyte gratis todos los días, escalando con tu insignia, con DHB cobrado solo a prorrataen lo que atropella (#484). Está documentado en la página de dApp (#490), incluyendo lo que significa la paridad del dólar y una insignia de préstamo (#492).
- El contenido para adultos tiene un hogar que no es el feed del hogar: los creadores marcan una publicación como madura mientras la componen, y los espectadores eligen si la ven (#477, backend #130, mobile #180). Las publicaciones marcadas permanecen fuera del descubrimiento público mientras permanecen visibles para los seguidores y en el propio perfil del creador.
- La mitad negativa de las reacciones se terminó: un botón de no me gusta en los comentarios conectados a los recuentos confirmados por el servidor (#452), recuentos de no me gusta en el texto, la imagen y las tarjetas cortas (#459), reacciones negativas omitidas en el cajón de quién reaccionó (#458), recuentos de bandejas que siempre se suman al recuento de me gusta de la publicación (#466) y una conciliación que ya no se bloquea en una fracción o se asigna en cada llamada (#482).Una reacción ahora mueve el recuento por el peso de la insignia del reactor en lugar de por uno (#493).
- Un autor que se responde a sí mismo se convierte en un hilo numerado de estilo X en /posts/:id/b (#464), los comentarios llevan BadgedName para que una insignia nunca abarrote el nombre (#460) y el encabezado de los comentarios tiene un botón de cierre (#449).
- El silenciamiento de un autor funciona desde cualquier publicación, con una X en el encabezado de la tarjeta y el cableado del bloque detrás (#451), movido al extremo derecho de los iconos del encabezado (#454).
- Los borradores se sincronizan con la cuenta en lugar del dispositivo, a prueba de choques contra el cierre forzado para que no se pierda nada (mobile 69d9b17516, 013b9fee52).
- Los archivos adjuntos se movieron de las publicaciones a los DM a los que pertenecen (f8480e096f, backend #89 con su tipo de publicación de archivo de feed (7fb2cd3e4f), mobile 25beb2602e), los enlaces en los mensajes directos se hicieron clic (42f3342f6a, se puede tocar en el móvil (f0e0ef6347)), las respuestas del DM se borraron directamente del compositor (55ea0f34f2, mobile 73f540f7e4) y la bandeja de respuestas se enfoca en lugar de en un botón (8d10478348, montado correctamente en el móvil (c22925acec)).
- Los mensajes directos obtuvieron un riel de respuesta: una tira de descanso debajo del compositor en el móvil (#426) que se muestra en cualquier ventana gráfica estrecha, incluido el estado vacío (#430), respuestas inteligentes redactadas en ambas direcciones con la tira sobreviviendo a un fallo (#434), respuestas mantenidas dentro de la ventana gráfica del chat (#443), la banda muerta debajo del compositor asesinado y el orbe sentado en una muesca bordeada (#465), luego todo el riel reconstruido como unocomponente a través del teléfono, la tableta y el escritorio (#478) con las dos sugerencias apiladas y el orbe centrado en el riel (#441, #483, #488, #491).
- Las publicaciones programadas omiten la menta en lugar de la acuñación anticipada (mobile c0df104dee), la programación ganó matemáticas de tarifas reales, PPV pagadero y un tipo de audio canónico (df6d8a4a25), y la publicación es idempotente, por lo que una carga reintentada nunca puede duplicar la publicación en ningún lugar (9eae08148d, backend #105, mobile #137).
- El activo contabiliza las direcciones de contrato y los tickers, con un selector de activos en el propio compositor (#118, mobile 5c0dae352e).
- El conteo de vistas se convirtió en un número honesto: los visitantes desconectados se cuentan (13d42376dd, backend #78), se reenvían deducidos a la API de DeHub (4206563c81) con el encabezado falsificable reemplazado por cf-connecting-ip (c655ea14a7), y una sola definición de un conteo de vistas ahora respalda la web, la API y el móvil (backend #87, mobile c131374714).
- El feed te indica cuándo ha avanzado el cronograma (a10c9928aa, mobile 8b77cc18f4); sigue las sugerencias enviadas junto con un carrusel de nuevos miembros (#402); los nuevos miembros se convirtieron en una lista interminable, cronológica y completa (#405); y se identifican nuevos miembros en todas las plataformas, reabriendo la encuesta de comentarios (#395, mobile #159, encuesta de la tercera ronda para obtener testimonios (#403)).
- Regresó Edit Post, con menús de tres puntos en cada tarjeta más la página de información (11fa06ff10), las ediciones de imágenes se incorporan en la carga para que dejen de desaparecer (81ce3a20c2), los nombres de ruta ya no se pueden reclamar como nombres de usuario (bcec2258a9, mobile 0b0cbb9d2e).
- El intercambio se unificó: todo lo que se puede compartir utiliza la misma hoja para compartir (82ecb47872), cada enlace de DeHub se convierte en una tarjeta en todas las superficies, incluidos los dispositivos móviles (cbc1920d45, mobile 90e1cfde15), las tiendas, los artículos de la tienda y los eventos se despliegan para los rastreadores (87507ef1aa), y los pantalones cortos borran su propio cromo en ambas plataformas (7ad232db07).El compositor móvil coincide con la web: un botón de adjuntar para fotos y videos (da4e9e71ac), el cuerpo como la descripción de 500 caracteres con el título como alternancia (bde34b72ad), la menta plegada en la lista de opciones (5ecd4738b3) y la publicación sin un paso de confirmación (f917f7d537).
- Las notificaciones se volvieron manejables en ambas plataformas: un interruptor real de notificación del navegador en Configuración (1448b3024f), una tostada por software que pregunta una vez que has iniciado sesión (2b93a9f743) montado dentro del proveedor de autenticación (eff3ed5a3d), Horas de silencio que realmente silencia todo (a1f296574e), Alertas de cuenta (0875d48db5) y Mensajes directos (mobile 8dfa5ba60b) alternados, preferencias leídas y escritas en la forma exacta que usa la API (dd0a161af4) con un botón.escriba los botones de filtro del lado del servidor (backend #80) y borrar y marcar la fila en el móvil (mobile 782a5ea461).
La economía funciona de principio a fin
- DHB vende a la paridad fija de $ 0.001 en lugar de una cotización de mercado (backend #77), la página de compra muestra el descuento de la marca de apuestas y vuelve a vender en BNB (#424, backend #117), y los pagos llegan desde cualquier cadena a través de NEAR Intents (backend #82).
- El PPV de Solana se pagó en la web (037fc999fa) con la gasolina y el alquiler patrocinados desde la billetera backend y el abuso limitado (backend #104); el móvil prefiere un RPC de Alquimia autenticado con mejores diagnósticos de transmisión (mobile ded39270c1), y su billetera de Solana es recuperable y visible con la derivación de semillas dividida para las pruebas (mobile 631000afb3, d7bc8220f6).
- Robinhood Chain se unió a la lista de redes en todas partes (d245a73a81, backend #92 con la pila de flujo v3, mobile 4d9758c264).
- Las insignias de staking son importantes día a día: desbloquean los tokens en el momento en que llegan en lugar de esperar un webhook (#398, los saldos obsoletos se reparan sin esperar (backend #112)), se muestran junto a cada nombre para mostrar (78087844b5), tu nivel limita la cantidad que puedes publicar en el feed principal por día (#421, backend #116) y descuenta lo que pagas (backend #117).
- La escala de insignias dejó de ser un conteo simbólico y se convirtió en un costo en dólares: trece niveles con un precio en dólares al precio real de DHB, con el requisito limitado para que una reducción nunca suba el listón, y un nivel ganado bloqueado al requisito más barato que se haya alcanzado para que los titulares conserven lo que ganaron (#481, backend #136, mobile #185).
- Las insignias se pueden prestar. Cada escalón subido otorga una ranura de delegación, y una ranura entrega a otra cuenta el propio nivel del otorgante (backend #135, #137) — las tripulaciones se forman por delegación en lugar de por una tabla de membresía, y las otras dejan de ser sin insignias. El panel y la línea de mecenas se enviaron en web (#487), y una insignia delegada nombra a su mecenas al pasar el cursor (#489).Los derechos aún leen la apuesta que tienes, por lo que un nivel prestado es un estado y no un descuento.
- Los puntos finales de pago abiertos tienen paradas de gasto (#450).
- Los creadores ven cómo se comparan las ganancias de DeHub con otras plataformas en el Centro de comando (#103, mobile e1d19acd21), las ganancias pendientes de la tienda de ventas de tarjetas en la billetera móvil (mobile 0a6e4fc1d0), el pago de la plataforma se cotiza y se verifica del lado del servidor antes de cobrar (c4d96b86e7), la página de afiliados enumera quiénes son realmente tus afiliados con un contador endurecido (2ed525e17c) y la tabla de clasificación clasifica a los referidos (a00f0d5509).
- El sorteo de la Copa del Mundo se realizó de principio a fin: los ganadores se seleccionaron en una ventana emergente con DHB acreditado directamente en la billetera (f711cd95ef).
- Los déficits de PPV se convirtieron en un paso de recarga que se reanuda cuando los fondos llegan en lugar de un callejón sin salida (#380, #385, mobile #154, #155).
- El compromiso en vivo se hizo realidad: consejos de trabajo, me gusta, registro de actividades y un estado de flujo final honesto (c7ff6a1f3c), productos comprables en transmisiones en vivo pagadas a través de Stripe en la web y en dispositivos móviles (b2d916f8b7, mobile 9d7c4a2135).
- El emparejamiento aleatorio llegó como una puerta de enlace con emparejamiento y señalización WebRTC (backend #94), un cliente con una página de prueba de conexión (c671f46122), servidores de ICE entregados desde eventos de partidos (f35fe89d47), colas limpiadas de licencia (2deda4f7cb).
- Se envió una página de destino DePin (ef5c0e1b04), el backend hizo crecer los puntos finales de administración protegidos para los cambios de roles y las eliminaciones con filtros de lista fijos (backend #91), un punto final protegido que resuelve la dirección propia de un token (backend #81), el origen godmode permitido (backend #90), las invitaciones de administración enviadas por correo a través de una función de envío-admin-invite en la cola de correo electrónico compartida (d942854ae7, backend #93) y los análisis obtuvieron un crecimiento de nuevos usuarios en users_count más suscriptoresestadísticas en my-analytics (backend #67).
Comunidades, televisión y el constructor
- Las comunidades tienen un sistema de administración real con derechos concedibles que realmente hacen algo (#102, #350), una migración que se puede volver a ejecutar (543fd18439) con detección de deriva para que una migración no aplicada deje de ser silenciosa (e5e91a4e3b), los límites de carga restaurados (a049d2651b) y la política de INSERCIÓN de clientes se mantiene hasta que los puertos móviles salgan de ella (411caf9aac).
- El chat de la comunidad notifica @ menciones y ganó @ aquí (6f86e89c67) más un @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @@ @ @ @ @ @ @ @ botón saltar a la última (7f236adb02); todos los canales de televisión transmiten chat en vivo mientras se reproducen (#100); y las solicitudes de funciones y los informes de errores llevan varios archivos adjuntos (38b715fa6d).
- La moderación creó una superficie de control: los administradores tienen poderes de moderación de chat y el panel de administración obtuvo una página de chat (#462), junto con una página de moderación que enumera cada informe con su resultado y revisor (#455).
- El constructor convirtió las indicaciones en trabajo. mini-apps como su propia superficie de página completa (b28901e78e, b2c6d9519d): muestra una vista previa del host de Storage para que realmente representen (caeaebfb94, corrijan los tipos de contenido de las cargas escritas (b36ef80662)), representen dentro de un marco aislado con rutas públicas para compartir (d449666dc1), tasa limitada por IP en la ruta de compilación costosa (eddbafcc63). Se trasladó a dehub.io/builder con el nombre reservado (#355, mobile #153), los visitantes desconectados obtienen su título, no el de la página de inicio (#356), y el móvil refleja la reserva (mobile a85fb00818).
Móvil puesto al día y enviado
Corte móvil v1.15.0 (móvil #166) al final del trimestre:
- El impulso de la paridad llevó las recompensas, las tiendas, las solicitudes de funciones y los afiliados a las pantallas nativas (mobile ad8e756798), luego a las pantallas nativas de anuncios, televisión y mensajes (mobile 8e9047fbde), los 100 principales activos (mobile f4fcc68547), el Centro de comando (mobile d913abc9b6), una pestaña de audio que sirve el feed de música de la web (mobile #163), una página de solicitudes de funciones reconstruida para que coincida con el tablero web (mobile #164), las comunidades en paridad con la web (mobile 93288a02aa), el chat en vivo de televisión (mobile 712f937b64) y una comunidad nativasuite de gestión (mobile 27dd11b916).
- Configuración reconstruida alrededor del sistema de pestañas de la web (mobile ba9b6a1669); Data Saver realmente funciona (mobile 789386abcc); toda la interfaz de usuario se trasladó a la experiencia web monocromática (mobile c6c9d7c751) con unificación de paleta a través de anillos de historia, feeds de imágenes y estados vacíos (mobile afcf1c6e80, 6c90574305, contraste levantado (0dceafc107), primeros planos oscuros en los botones de acento (0c53313d04), giradores visibles para actualizar (a302dc9cc0)).
- El inicio de sesión en los teléfonos se basó en un conjunto de controles, liderados por la marca DeHub (mobile 769a19e75e, mobile ee307ff618), con el selector de billetera ya no enterrado debajo de la hoja (mobile 670040a327) y la puerta de inicio de sesión de la web coincidente con el tipo de letra Exo realmente aplicado (mobile 301e0e25e3).
- La localización se completó para nuevos flujos (mobile f5277a064f, etiquetas de navegación (4c2cf95809, 6dd79d3200)), cubiertos por pruebas de traducción de navegación (b2d6135974), y la traducción utiliza el idioma elegido con el avatar del comentarista mostrado (2b1a7d0ed2). Los controles de cada toque de sesión se convirtieron en lectores de pantalla utilizables (21e6734d0a).
- Las etapas funcionan correctamente en los teléfonos: la programación y el anuncio (ca97c9366c), los recordatorios con alertas de inicio (mobile #145), la visualización de pantalla compartida (mobile #148), la caja de resonancia (620a4658d8), la identificación de llamadas en cada token de escritura y altavoz (mobile #144), el rol de anfitrión retenido al volver a unirse con silencio y la apertura de enlaces de invitación (e2c3e10bc3), el banner con las manos levantadas y los avatares de altavoces fijos (mobile #152) y la actualización de tokens escamosos nomás tiempo saca a las personas de las etapas (mobile #161).
- Disponibilidad de la tienda: los lanzamientos de Android dejaron de firmar con la clave de depuración pública (mobile #158) y apuntan a la clave real de DeHub (mobile #160); assetlinks.json publica con la huella digital de firma de la aplicación Play (#401, archivos de asociación servidos como archivos reales, incluidos los de Apple (#393, #399, cuerpos validados (#396)); los enlaces que entregamos son reclamados y los anfitriones no verificables cayeron (mobile #157); EAS creó un perfil de prueba de apkproduciendo artefactos instalables (mobile #149); la página de descarga de APK fecha sus compilaciones (4821652aa8, d359811a27); empuje movido al proyecto Firebase dehub-ca4d8 (6cb41b6c70) y EAS a la cuenta dehubapp (e8e79b8bb8).
- Salió el peso muerto: 73 activos agrupados no referenciados (52639d9d24), cuatro animaciones de Rive sin carga (95d374ae47), iconos redimensionados a 4 veces el tamaño del renderizado (e8aadba4e0), banners predeterminados codificados como JPEG (7e429b0616) y el subárbol de reproductor de vídeo muerto eliminado (836f77010e).
- El audio se movió de la exposición a través de useSyncedAudio/SoundPickerSheet (836c52989b), StageTranscriptSheet/VoiceNotePlayer (0e3cd884a5) y SoundtrackBadge/StagesBrowseModal (1c04305cfe).
- Las notificaciones piden detrás de un preprompt de marca (mobile #150), las insignias de Android se mantienen sincronizadas (b9db8777e3), al tocar un push de anuncio se abre su enlace (mobile #136) y todos los tipos de notificación predeterminados son (d130dbebd5).
Diseño del sistema y navegación
- El DeHubLoader de la marca se desplegó en las superficies de la aplicación (9e40ca6dde), se fusionó (cfe42e2af5), el esquema de colores se declara al inicio con la marca que se muestra para cada espera de página (1f8331d1d6), y las pestañas abiertas se indican cuando una nueva versión se envía a través de una tostada en el propio cromo de la aplicación, abajo a la derecha en el escritorio, traducida y reflejada para RTL (595ba5b281, b5248da59e, 0a3c67ce70, a908b77db9).
- PWA install offers work again con los tamaños de ícono que los navegadores necesitan (#332), los activos de la marca sirven como archivos estáticos reales en lugar de punteros (07d2a6faad) y /creator conduce con el banner de marca denominativa ORIGINAL de DEHUB (773e2b1b12).
- La búsqueda en el menú aterrizó en el panel izquierdo (b42df422e8) encontrando páginas por lo que la gente las llama (a34d9edab8), reflejada como una búsqueda en el menú inferior con el carril reordenado (#377) y oculta una vez que se muestra el espejo (#386); cajón también lo ganó en el móvil (8a19834642). Se ha cambiado el orden de navegación: Inicio primero con la configuración por encima de la tabla de clasificación en todas partes (bd78e89440, mobile f9cae50dea), tabla de clasificación y etapas intercambiadas (4b1cd3dfbd), pantalones cortos al lado de Inicio (746a8499b1).
- Todos los consejos de herramientas comparten un estilo de etiqueta flotante (#408), las pestañas del panel lateral se etiquetan al pasar el cursor (#407), la píldora de encabezado del tablero de características se oculta en el desplazamiento, incluido el escritorio (#409), la auditoría de funciones reparó el tablero de solicitudes y envió dos funciones solicitadas (cf21dd2d9d) con ventanas emergentes enviadas que ya no vuelven a mostrar cada inicio de sesión (6ab9d892e0), Work pasó a llamarse Bounties (9267087e05) y los carteles de recompensas pueden editar sus propios anuncios (#105)).
- El panel de bienvenida cerrado se reconstruyó como un panel de historia SM Template 2.0 de marca (ebc834e59c, emparejado con tableros de referencia (649c50336e)): dimensionado a su propia columna con el héroe mostrado en los teléfonos (#394), héroe guardado dentro del panel (#400), marco decorativo despejado del globo (#406), cromo de HUD redondeado sin desenfoque de movimiento (3da71a9460) — por lo que "/" puede contener el término de la marca (b5280ab3a5).
- Las superficies de los mensajes dibujan como marcos en lugar de losas (c9fb5523ec) de borde a borde (e639e39bd1); PRUEBA y se quitaron NUEVAS INSIGNIAS nav, UI y botones (bd27dee0c3); la marca de la plataforma se cuadró, los anuncios se enlazan en alguna parte y llevan la marca (1494fd96ee, 20074c2e00) centrados en los encabezados móviles (cc16574b59, mobile 936681ad3d).
- Tarjetas de Skill unificadas en ambas ventanas emergentes con el uso movido a una barra inferior de ancho completo (cd6759a59b, 482a469d97), un control de filtro segmentado de ancho completo con conteos en vivo (607514739a) y Build algo se movió a la fila de acción rápida del asistente (9027097cce).
- Las estadísticas ganaron rangos 3d/7d/de todos los tiempos además de 24h/30d (cf3aa6b8f5), publican números de visitantes en vivo con su procedencia (e938d7f17f) y cadenas en inglés adecuadas (baf6b2df46, b3d73b29d2); /top-100 tiene su propio icono (8b6251df92); los botones bento y post/login del riel de escritorio comparten un ancho que termina el menú al cerrar sesión (cf2086925e, 30e7ba8546).
- El encabezado de Features se colapsa en una barra de búsqueda al desplazarse hacia abajo, reconstruido como un desplazamiento natural a través de las filas de la cuadrícula CSS para eliminar la fluctuación (225430613e, b9767207dd, 0fab9c0282, 7eb8200726).
- Feed chrome: las publicaciones de video se envuelven en un bento con estilo de feed en tarjetas y páginas dedicadas (c05c3ccf02, 4f4677c458), tocando un video revela controles en lugar de abrir la publicación (b4d0407eff) y abrir una publicación de un video de feed lleva el reproductor (03c87750ac), el compositor se traga la página mientras se desplaza por debajo mientras permanece estacionado con rieles sobre ella (20eb68149f, 4cfd5c7c65), y la cuadrícula de imágenes se intercambia instantáneamente, se desplaza por el elemento derecho con una ranura publicitaria, sale a través de la píldora de navegación y muestra collages en un cajón con carruseles reparados y +N marcadores en el móvil (b5971ad168, ce9e82c2df, a7df93db60, 3517b6167c, 034bd0ac21, f320b98d31). La píldora de navegación móvil contiene todos los destinos con tarjetas de escenario reconstruidas (38cc7966ac), su visor de pantalones cortos coincide con el marco del reproductor web para el marco con un conjunto de controles (f7a80b72b5, 5bce43fb32, 2be39981d6), el flujo de sintonización de aviso a alimentación se modificó (8cf793b5ce), y el asistente se alineó con web (1e3dea40f9).
SEO, docs y el blog
- Un despliegue de puesta en escena vive en staging.dehub.io (#98). Las rutas de marketing dejaron de funcionar 404 para los rastreadores con paridad de URL bot/humana y un pase de metaverdad (#101); las vistas previas de la ruta se muestran estáticamente en el borde con imágenes compartidas de trabajo (fcf5c56560), cada ruta de SEO lleva su propia tarjeta compartida (9301a1a233) y las tarjetas que describen la página incorrecta se arreglaron (2727a4bc99).
- El movimiento de dominio dehub.net se completó en el trabajador: domain-move 301s servido desde el trabajador (fae6baf994), www 301s con almacenamiento en caché de activos inmutables restaurados (6d4f651a03), artefactos de borde heredados retirados (404fb654fa), rutas heredadas /web/app/* y /learn asignadas a páginas reales (07889b650d), /radio y /mcp 301ing de la misma manera que la aplicación ya lo hace (4493146590), URL de hitos huérfanos redirigidas (6c7167cb23), URL legales 301ed a su hogar real /docs (8eb6ca03c5), subdominios detenidos soft-404ing (#373) y el espacio URL de dehub.net muerto se mapea en páginas reales (#376).
- El shell de la aplicación ya no supera /documenta como un duplicado de la página de inicio (1e6f25ac60), los buscadores que no soportan obtienen contenido real con http actualizado a https (2aa15fc3bd), títulos por ruta, fallbacks de estado vacío, desplazamiento de la barra lateral y etiquetas a11y aterrizadas juntas (a55cd69868), y se escribió una auditoría SEO de agosto con objetivos de palabras clave (7cb5a69c23).
- Los documentos se rediseñaron en vidrio líquido monocromo con la guía de dApp consolidada (82211f6b03), la cobertura se extendió sobre las funciones enviadas con ancla sub-nav (a79327dfa8), capturas de pantalla de aplicaciones reales (a44faa1e67, capturas de pantalla obsoletas reemplazadas (4fd42f0ce8)), caza de recompensas corregida contra la aplicación en vivo (068de333bf), secciones plegadas que se leen como secciones (9a80ffcddd), en esta página scroll-spy (3bdc2bfec6), a Currency Overview page as the Token landing (aa03f3de26) with Token renamed Currency in nav and the Discord icon fixed (80848d42ce), and the architecture section refresched for current infra (8481d088e0).
- Blog search unified into the docs header search (a982c017c1); every milestone post got its own full article (d5529f6126), the thinnest expanded (060e1fb57c) y arte de la sección en el cuerpo agregado a 17 publicaciones (5fa1f571e2); banner recorta el anclaje inferior para que la banda de la píldora del logotipo corte limpiamente (836cfba769); ## los encabezados se renderizan en lugar de descartarse (b86d8f95bf). Una página de prensa destacada con su propia publicación (91b7a41fe5) y una guía de precios de creador contra Higgsfield con imágenes de blog (4fe0c5a122).
Bajo el antifaz
- Aterrizaron ocho rondas de velocidad en toda la aplicación (820052d674, 4e53ae0fb1, f254de7f00, 72cec7c525, 22f6b9c734, d117d46e92, reparaciones de memoria y oyente (9a09e1284a), paralelismo de arranque con tapas de caché (168d40d8a6)): HLS nativo preferido en iOS/Safari para detener el sobrecalentamiento de la televisión (ce7124afdf), la radio suspende su AudioContext cuando está inactivo (25e5aac5c3), corte de latencia de montaje de alimentación de música (47d14c7623, desplegar las encuestas se reducen a tres minutos (91c34dc0b4), el siguiente corto precargado para que la reproducción se inicie instantáneamente (a53a2a5b45), las publicaciones se abren instantáneamente en su parte superior sin que el feed acumule oyentes (1bd435bcaa), los interruptores de filtro muestran un precargador en ambas plataformas (8aa6b051eb, mobile 612e8e4694).
- La ruta de arranque tiene un presupuesto JS informado en cada compilación (491315e295) ratcheted para que no pueda volver a subir (#412); la fila de historias y la hoja de etapas se salieron de la ruta de arranque (#411, #410); RainbowKit se ajustó al flujo de inicio de sesión en lugar de a todo el árbol de la aplicación (c170938b01) con prefetch detenido (#413) y el fragmento modal emparejado por nombre de archivo (#414); tres.js, el arte sobredimensionado y la fuente emoji dejaron la ruta de carga (8baa88572a); las imágenes CDN sirven a través de transformaciones Cloudflare dimensionadas para la caja en la que se representan (6911d543ce, c78c2a9448) incluidos carteles de vídeo y miniaturas en directo (23ca9b37fe). Mobile ejecutó sus propios pases: pantallas perezosas con feeds de perfil/comunidad en caché (22e740f454), cambio de pestaña de buscapersonas real (8ba4426431), filas con ventanas que ya no adjuntan un reproductor (0cbc1cf928), la rotación de medios se detuvo a mitad de desplazamiento (a884a9ad57, 82288c9530), decodificación de imágenes y corte de tiempo de prueba (0bbedb3efb), imágenes recuperadas en tamaño de renderizado (2f878ec127, galerías del tamaño de CDN (1d4a4a8ca8)), primer inicio de sesión acelerado con el paso de perfil restaurado (72a7c928e5), una radio caída ya no destruye la aplicación (fddc03cf47).
- Seguridad: las funciones de borde pagadas tienen límites de tarifa por IP y una protección SSRF (206d9827c4), la confirmación de auth abierta redirección cerrada (7b498ebcaf), actualizaciones de seguridad de Dependabot agrupadas configuradas (a7b861b2e2); móvil golpeado socket.io-parser for CVE-2026-69185, undici, brace-expansion and fast-uri plus postcss (168cdc16e6, cc3ccd8315, 996efd375d, 68544fee28, 9cae3295f8).
- Plumbing: a Cloudflare Worker reached parity with the previous SSR function behind wrangler (acbc6f9b79, a1ff2f7e4a, 02b34f7bee, 65975e256c, name matched (f1722f9432)); typeecheck CI added on pull requests (894ea57a2e) con los tipos de Supabase generados restaurados, por lo que las comprobaciones tipográficas principales (1e78739c5c); abandono del archivo de bloqueo domesticado — bun.lock obsoleto que falla en todas las compilaciones descartadas (0ec6b5f671), hash-wasm sincronizado (5f52398b2b), pnpm izado para que el host resuelva las fallas fantasma (c3ddcd9afc), se instala sin congelar hasta que los bloqueos se regeneren (21cf98118b); las fallas publicables codificadas de forma rígida de hotfix de pantalla blanca (9fef5ad076)); stale se detiene el despliegue se bloqueó la navegación (43b45e24fe); se buscaron superficies pintadas: se ocultó el cromo de la hoja para cada tipo de hoja (07a95bc287), se repararon los «me gusta» obsoletos después de la actualización de la sesión silenciosa (883245d0fc), se borraron las redes de losas que repintan la superposición de la publicación (54b9c9270f, los respaldos que heredan el fondo del principal (204c4cf878), las columnas centrales se borraron (e02afce298))) y los fondos del panel nunca vuelven a pintar en los fondos del panel (067d367834) con borde de desplazamiento se desvanece enmascarado en lugar de pintado en todas partes (dcf056285f, 73418382b4, móvil 97d19e41bf, radio de deglución releído en el cambio de tema (4c6a53d721)).
- Operaciones de backend: las pruebas se ejecutan en solicitudes de extracción con despliegues que se disparan solo en la fusión (backend #76), la gotita se instala con pnpm como CI (backend #85), despliega tiradas autenticadas con el token propio de la ejecución (backend #84) dirigido la dirección de origen no es el nombre de host proxied (backend #83), los puntos finales RPC inalcanzables dejaron de llenar el disco (backend #113), y el móvil obtuvo una línea de base CI verde de jest-junit y typecheck (mobile c03cf2e406) con cobertura de prueba reconstruida en validadores, cargas, menciones y borradores (443f9c2f60, baa2d54cd1, 8af4b03556, 195ff6c10c, 5d3d71f597).
¿Qué sigue?
El trimestre no ha terminado, y tampoco la lista. El cuarto trimestre continúa exactamente donde esto lo deja: más escenarios, más arcade, economía más profunda, enviados al aire libre, como siempre.
Abrir DeHub