Skip to content

Releases: GianfrancoD/useTargetHandler

Version 1.2.5 🚀

15 Aug 04:01
Compare
Choose a tag to compare

Versión 1.2.5 - Mejoras en Manejo de Errores y Sentry 🎉

Resumen

Esta versión incluye importantes mejoras en el manejo de errores y la integración con Sentry en el hook useTargetHandler. Se solucionó un problema donde los errores no se capturaban correctamente, lo que permite un mejor seguimiento y manejo de excepciones en la aplicación. Además, se optimizó el rendimiento general del hook, asegurando una experiencia de usuario más fluida y eficiente. 🚀

Cambios

  • Integración Mejorada con Sentry 🛠️: useTargetHandler ahora se integra de forma más fluida con Sentry, permitiendo registrar advertencias, errores, información y eventos específicos durante el proceso de envío de formularios. Esto facilita el seguimiento de problemas y la depuración de errores.
  • Nuevos Parámetros ➕: Se han agregado los siguientes parámetros a useTargetHandler:
    • SentryWarning: Permite registrar advertencias en Sentry. ⚠️
    • SentryError: Permite registrar errores en Sentry. ❌
    • SentryInfo: Registra información relevante en Sentry durante el proceso de envío. ℹ️
    • SentryEvent: Registra eventos específicos en Sentry. 🎊
  • Optimización del Rendimiento ⚡: Se han realizado mejoras en el rendimiento general del hook useTargetHandler, asegurando una experiencia de usuario más fluida y eficiente.
  • Manejo de Errores Mejorado 🔧: Se solucionó un problema donde los errores no se capturaban correctamente, lo que permite un mejor seguimiento y manejo de excepciones en la aplicación.

Beneficios

  • Mejor seguimiento y manejo de errores gracias a la integración con Sentry. 📊
  • Facilidad para depurar problemas y analizar el comportamiento del usuario. 🔍
  • Experiencia de usuario mejorada gracias a las optimizaciones de rendimiento. 🌟

Actualización

Para actualizar a la versión 1.2.5, simplemente instala la última versión del paquete que contiene useTargetHandler. Si estás utilizando npm:

npm install usetargethandler@latest

Después de la actualización, useTargetHandler estará listo para usar con las nuevas funcionalidades de Sentry y las mejoras de rendimiento. 🎈

version 1.2.4 🚀

10 Aug 06:50
Compare
Choose a tag to compare

Release de la Versión 1.2.4 de useTargetHandler

[1.2.4] - 2024-08-10

Mejoras y Nuevas Funcionalidades 🚀

🌟 Limitación de Tasa (Rate Limiting)

  • Descripción: Se ha implementado una funcionalidad de limitación de tasa que previene el envío excesivo de solicitudes en un corto período de tiempo.
  • Funcionalidad: Ahora puedes establecer un intervalo de tiempo mínimo entre envíos de formularios, mejorando la experiencia del usuario y la estabilidad del servidor.
  • Uso: Ajusta el parámetro rateLimit al utilizar el hook para definir el tiempo de espera entre envíos, evitando la sobrecarga del servidor.

🛡️ Sanitización de Entradas

  • Descripción: La función de sanitización de entradas ha sido mejorada para proteger contra ataques de inyección de código.
  • Funcionalidad: La función sanitizeInput elimina etiquetas HTML y scripts potencialmente dañinos de los valores de entrada, asegurando que solo se almacenen datos limpios y seguros.
  • Impacto: Esto es crucial para prevenir ataques de Cross-Site Scripting (XSS), garantizando que los datos procesados en el frontend no contengan contenido malicioso.

🚫 Protección contra Inyecciones SQL

  • Descripción: Se ha implementado una sanitización de entradas que ayuda a prevenir inyecciones SQL.
  • Funcionalidad: Asegura que los datos enviados a las API estén debidamente filtrados, lo que es especialmente importante al trabajar con APIs que pueden realizar operaciones de base de datos.
  • Impacto: Mejora la seguridad general de la aplicación al proteger contra posibles vulnerabilidades, asegurando que las entradas de los usuarios no comprometan la integridad de la base de datos.

📚 Documentación

  • Documentación Actualizada: Se han agregado ejemplos claros en la documentación para facilitar la implementación de las nuevas funcionalidades de seguridad y gestión de formularios.

🐛 Correcciones

  • Se realizaron diversas correcciones menores para mejorar la estabilidad y el rendimiento del hook.

🚀 Recomendaciones

Se recomienda a todos los usuarios actualizar a la versión 1.2.4 para aprovechar las mejoras en la seguridad, la gestión de formularios y la protección contra inyecciones SQL.

Version 1.2.3 🚀

09 Aug 03:56
Compare
Choose a tag to compare

Release Note: Protección CSRF en useTargetHandler 1.2.3

Descripción

La versión 1.2.3 del hook useTargetHandler introduce una mejora significativa en la seguridad de las aplicaciones React al implementar la protección contra CSRF (Cross-Site Request Forgery) en las solicitudes a la API. Esta nueva funcionalidad ayuda a prevenir ataques CSRF maliciosos, asegurando que las interacciones del usuario sean legítimas y autorizadas.

Características Principales

  • Protección CSRF: Se ha añadido la opción enableCSRF que permite activar o desactivar la protección CSRF en las solicitudes a la API. Cuando se establece en true, el hook incluirá automáticamente el token CSRF en las solicitudes que modifican datos (POST, PUT, DELETE), ayudando a prevenir ataques CSRF.

  • Integración con useHttpRequest: La protección CSRF se implementa a través del hook useHttpRequest, que se encarga de manejar las llamadas HTTP a la API. Cuando enableCSRF está activado, useHttpRequest incluirá el token CSRF en las solicitudes relevantes.

  • Configuración Flexible: El parámetro enableCSRF permite a los desarrolladores controlar si desean activar o desactivar la protección CSRF según las necesidades de su aplicación. Esto brinda flexibilidad y control sobre la seguridad de las interacciones del usuario con la API.

Ejemplo de Uso

import React from "react";
import useTargetHandler from "./useTargetHandler"; // Asegúrate de que la ruta sea correcta

const MyForm = () => {
  const initialValues = {
    nombre: "",
    apellido: "",
    email: "",
    password: "",
    confirmPassword: "",
    age: "",
    terms: false,
    ciudad: "",
    gender: "",
  };

  const validationRules = {
    nombre: {
      required: true,
      requiredMessage: "El nombre es obligatorio !!!",
      pattern: /^[a-zA-Z]+$/,
      patternMessage: "No puede tener o llevar números",
    },
    // ... Otras reglas de validación
  };

  const [
    target,
    handleTarget,
    handleSubmit,
    errors,
  ] = useTargetHandler(initialValues, validationRules, "local", "formData", true); // Activar CSRF

  const onSubmit = () => {
    console.log("Datos enviados:", target);
    // Aquí puedes realizar la llamada a la API o cualquier otra acción
  };

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input
        type="text"
        name="nombre"
        value={target.nombre}
        placeholder="Nombre"
        onChange={handleTarget}
      />
      {errors.nombre && <span>{errors.nombre.message}</span>}

      {/* Resto de los campos del formulario */}

      <button type="submit">Enviar</button>
    </form>
  );
};

export default MyForm;

Conclusión

La versión 1.2.3 de useTargetHandler introduce una mejora crucial en la seguridad de las aplicaciones React al implementar la protección CSRF. Al activar esta funcionalidad, los desarrolladores pueden estar seguros de que las interacciones del usuario con la API son legítimas y están protegidas contra ataques CSRF. Esta actualización refuerza la solidez y confiabilidad del hook useTargetHandler para la gestión de formularios en aplicaciones React.

Version 1.2.2 🚀

07 Aug 04:14
Compare
Choose a tag to compare

🚀 Release 1.2.2

Resumen

La versión 1.2.2 de useTargetHandler se enfoca en mejorar la validación de la edad y el manejo de errores en el envío de formularios. También se han optimizado las validaciones para mejorar la legibilidad y mantenibilidad del código.

Novedades

✨ Mejoras

  • Validación de Edad: Se ha mejorado la validación de la edad en el hook useTargetHandler. Ahora se verifica que el valor de la edad sea un número y esté dentro del rango especificado.

  • Manejo de Errores en el Envío: Se ha agregado un mejor manejo de errores en la parte donde se envían los datos en handleSubmit. Ahora se capturan y manejan adecuadamente los errores que puedan ocurrir durante el proceso de envío.

  • Optimización de Validaciones: Se han dividido las validaciones en funciones más pequeñas para cada tipo de validación, mejorando la legibilidad y mantenibilidad del código.

📚 Documentación

  • Documentación Actualizada: Se han agregado ejemplos claros en la documentación para facilitar la implementación de las mejoras en la validación de edad y el manejo de errores en el envío.

Correcciones

  • Se realizaron diversas correcciones menores para mejorar la estabilidad y el rendimiento del hook.

Instrucciones de Actualización

Para actualizar a la versión 1.2.2, sigue estos pasos:

  1. Actualiza la dependencia de useTargetHandler en tu proyecto a la versión 1.2.2.

  2. Revisa la documentación actualizada para ver ejemplos de cómo implementar las mejoras en la validación de edad y el manejo de errores en el envío.

  3. Asegúrate de que tu código utilice las nuevas funcionalidades y correcciones para aprovechar al máximo las mejoras de esta versión.

Problemas Conocidos

No se han reportado problemas conocidos en esta versión.

Próximos Pasos

El equipo de desarrollo de useTargetHandler está trabajando en nuevas características y mejoras para futuras versiones. Mantente atento a los próximos lanzamientos.

¡Disfruta de la nueva versión 1.2.2!

Version 1.2.1 🚀

06 Aug 23:25
Compare
Choose a tag to compare

Novedades de la Versión 1.2.1

  • Declaración de Variables de Entorno en la Nube: Se ha añadido la capacidad de declarar variables de entorno directamente en la nube, permitiendo una configuración más flexible y segura de la aplicación.

  • Función de Validación Mejorada: La función ha sido optimizada para manejar múltiples tipos de validaciones, incluyendo:

    • Validaciones de longitud mínima y máxima.
    • Validaciones de patrones de expresión regular.
    • Coincidencias entre campos.
    • Mensajes de error personalizados para cada regla.
  • Obtención de Variables de Entorno: Se implementó la función para facilitar la obtención de variables de entorno, permitiendo la configuración de la URL base de la API.

  • Integración con useHttpRequest: useTargetHandler ahora se integra de manera más efectiva con el hook useHttpRequest, permitiendo realizar llamadas a la API directamente desde el formulario y gestionar las respuestas adecuadamente.

Ejemplo de Uso

Aquí tienes un ejemplo de cómo usar useTargetHandler con useHttpRequest:

import React from "react";
import useTargetHandler from "./path/to/useTargetHandler"; // Asegúrate de que la ruta sea correcta

const UserForm = () => {
  const {
    target,
    handleTarget,
    handleSubmit,
    errors,
    { apiCall, apiResponse, userFound, error },
  } = useTargetHandler(
    { nombre: "", apellido: "" }, // Valores iniciales del formulario
    {
      nombre: { required: true, requiredMessage: "El nombre es obligatorio" },
      apellido: {
        required: true,
        pattern: /^[a-zA-Z]+$/,
        patternMessage: "El apellido solo debe contener letras",
      },
    },
    "local", // Tipo de almacenamiento
    "formData" // Clave para el almacenamiento
  );

  const onSubmit = async (data) => {
    try {
      // Realiza la llamada a la API
      await apiCall("/users", undefined, data, "post", "application/json");
      if (userFound) {
        console.log("Usuario creado:", apiResponse);
      } else {
        console.error("Error al crear usuario:", error);
      }
    } catch (err) {
      console.error("Error en la llamada a la API:", err);
    }
  };

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <div>
        <label htmlFor="nombre">Nombre:</label>
        <input
          type="text"
          name="nombre"
          value={target.nombre}
          onChange={handleTarget}
          placeholder="Nombre"
        />
        {errors.nombre && <span>{errors.nombre.message}</span>}
      </div>

      <div>
        <label htmlFor="apellido">Apellido:</label>
        <input
          type="text"
          name="apellido"
          value={target.apellido}
          onChange={handleTarget}
          placeholder="Apellido"
        />
        {errors.apellido && <span>{errors.apellido.message}</span>}
      </div>

      <button type="submit">Enviar</button>
    </form>
  );
};

export default UserForm;

version 1.2.0 🚀

03 Aug 23:25
Compare
Choose a tag to compare

🚀 Release 1.2.0 - Nuevas Validaciones y Mejoras en el Formulario

Estamos emocionados de anunciar el lanzamiento de la versión 1.2.0 de nuestro hook useTargetHandler. Esta actualización trae consigo una serie de mejoras y nuevas funcionalidades que optimizan la experiencia de los desarrolladores al trabajar con formularios en React.

✨ Características Destacadas

  • Nuevas Propiedades de Validación:
    • minLength: Verifica que la longitud del valor ingresado sea al menos la mínima especificada.
    • maxLength: Verifica que la longitud del valor ingresado no exceda la máxima especificada.
    • matches: Permite validar que el valor de un campo coincida con el valor de otro campo (por ejemplo, para confirmar contraseñas).
    • matchMessage: Proporciona un mensaje de error personalizado si los valores no coinciden.
    • min y max: Verifican que el valor ingresado esté dentro de un rango específico, asegurando la validez de datos como la edad.
    • checked y checkedMessage: Aseguran que los checkboxes estén marcados y proporcionan mensajes claros si no lo están.
  • Validación para Botones de Radio:
    • Se ha implementado la propiedad selected, que verifica que al menos un botón de radio en un grupo esté seleccionado, junto con un mensaje de error personalizado.

🚀 Mejoras y Correcciones

  • Se han realizado diversas correcciones menores para mejorar la estabilidad y el rendimiento del hook.
  • La documentación ha sido actualizada con ejemplos claros sobre cómo utilizar las nuevas características de validación.

🎉 Cómo Actualizar

Para actualizar a la versión 1.2.0, simplemente ejecuta el siguiente comando en tu terminal:

npm install usetargethandler

📚 Documentación

Puedes encontrar la documentación actualizada en nuestro repositorio de GitHub: https://github.com/GianfrancoD/useTargetHandler

🤝 Contribuciones

Si encuentras algún problema o tienes sugerencias para mejorar el hook useTargetHandler, no dudes en abrir un issue o enviar un pull request en nuestro repositorio de GitHub. ¡Apreciamos mucho tu apoyo y contribuciones!

¡Disfruta de las nuevas funcionalidades y mejoras introducidas en la versión 1.2.0! Si tienes alguna pregunta o necesitas más ayuda, no dudes en contactarnos.

Release version 1.1.0 🚀

03 Aug 05:11
Compare
Choose a tag to compare

🚀 Lanzamiento de la Versión 1.1.0 de useTargetHandler

¡Estamos emocionados de anunciar el lanzamiento de la versión 1.1.0 de useTargetHandler! Esta actualización trae mejoras significativas en la validación de formularios, permitiendo a los desarrolladores personalizar los mensajes de error y mejorar la experiencia del usuario al manejar formularios en aplicaciones React.

✨ Nuevas Características

Validaciones Personalizadas:

Se han implementado propiedades para permitir a los desarrolladores definir reglas de validación personalizadas para cada campo del formulario:

required: Indica si el campo es obligatorio.
requiredMessage: Mensaje de error personalizado para campos obligatorios.
pattern: Expresión regular para validar el formato del campo.
patternMessage: Mensaje de error personalizado para validación de patrón.

Esto mejora significativamente la experiencia del usuario al proporcionar instrucciones claras sobre los requisitos de entrada en cada campo.

1.0.27

30 Jul 05:26
Compare
Choose a tag to compare

Release 1.0.27 - 2024-07-30

Novedades

  • Mejorado
    • Persistencia del Estado: Se implementó la capacidad de guardar el estado del formulario en localStorage o sessionStorage, permitiendo a los usuarios retomar formularios incompletos.
    • Lógica de Almacenamiento Condicional: Se mejoró la lógica para asegurarse de que los datos solo se guarden en localStorage o sessionStorage si se especifica un tipo de almacenamiento válido.
  • Agregado
    • Manejo de Errores de Validación: Se implementó un sistema para validar cada campo del formulario y mostrar mensajes de error claros y concisos si los campos están vacíos o no válidos.
    • Soporte para Formularios Dinámicos: Se agregó la funcionalidad para agregar o eliminar campos de formulario en tiempo real, proporcionando flexibilidad en la creación de formularios.
  • Mejoras en la Documentación
    Se actualizaron los ejemplos en la documentación para reflejar las nuevas características, incluyendo la persistencia del estado y el manejo de errores de validación.

Para ver el registro completo de cambios, consulta el CHANGELOG
Ver las nuevas funcionalidades de la versión 1.0.27 FUNCTIONALITY

1.0.26

26 Jul 05:50
Compare
Choose a tag to compare

Release v1.0.26 - 2024-07-26

Novedades

✨ Mejorado

  • Manejo de Errores: Se mejoró el manejo de errores en el hook useTargetHandler, permitiendo que los mensajes de error se establezcan de manera más clara y concisa, y asegurando que los inputs controlados no cambien a un estado no controlado.

➕ Agregado

  • Pruebas Exhaustivas: Se realizaron pruebas exhaustivas de la nueva funcionalidad y se ajustaron detalles menores en el código para mejorar la estabilidad.

➕ Mejoras en la Documentación

  • Se actualizaron los ejemplos en la documentación para reflejar las nuevas características y mejoras en el manejo de errores.

Para ver el registro completo de cambios, consulta el CHANGELOG.
Ver las nuevas funcionalidades de la version 1.0.26 FUNCTIONALITY.

1.0.8

20 Jul 21:57
Compare
Choose a tag to compare

Bug fixes:
the structure is modified,
the address is changed,
The code was modified for greater speed