- Quitar funciones create_fj_alias() y remove_fj_alias()
- Eliminar llamadas a esas funciones desde login y logout
- Reemplazar con comentarios explicativos
- Simplificar el script para enfocarse solo en la gestión de tokens y autenticación
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Volver a usar alias en memoria (más simple y directo)
- Eliminar creación de enlaces simbólicos complejos
- Reducir los mensajes y aclaraciones innecesarias
- Mantener la funcionalidad esencial con implementación mínima
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Configurar BERG_BASE_URL antes de intentar el logout
- Verificar si existe una sesión activa antes de intentar cerrarla
- Suprimir errores de logout y continuar incluso si hay fallo
- Manejar graciosamente el caso de sesión no existente
- Eliminar mensajes de error y código de salida para mayor robustez
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiar de script wrapper a enlace simbólico a berg
- Detectar la ubicación real de berg usando 'which' para crear el enlace
- Intentar crear enlace global en el mismo directorio que berg si hay permisos
- Crear enlace alternativo en ~/.local/bin y actualizar PATH cuando sea necesario
- Implementar eliminación adecuada del enlace en ambas ubicaciones
- Solucionar el error "fj: no se encontró la orden" por problemas de PATH
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiar de alias en memoria a script wrapper en ~/.local/bin
- Crear un ejecutable 'fj' que invoca a 'berg' con los mismos argumentos
- Verificar si ~/.local/bin está en PATH y mostrar instrucciones si no lo está
- Implementar limpieza del script al usar --logout
- Solucionar el problema "fj: no se encontró la orden" que ocurría con alias
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reducir texto informativo sobre el alias para mayor concisión
- Minimizar la salida de las funciones create_fj_alias() y remove_fj_alias()
- Eliminar mensajes innecesarios sobre la sesión y persistencia
- Mantener la funcionalidad mientras se mejora la experiencia del usuario
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiar a un enfoque de alias en memoria para 'fj' en lugar de archivos en disco
- Usar comando 'alias' para crear el alias en la sesión actual de shell
- Eliminar alias con 'unalias' al cerrar sesión
- Simplificar el proceso de creación y eliminación del alias
- Mostrar instrucciones para hacer permanente el alias si el usuario lo desea
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crear alias 'fj' que apunta a 'berg' al iniciar sesión
- Eliminar alias cuando se cierra sesión (--logout)
- Implementar funciones create_fj_alias() y remove_fj_alias()
- Usar script de shell y enlaces simbólicos para crear el alias
- Manejar diferentes ubicaciones según permisos (/usr/local/bin o ~/.local/bin)
- Proporcionar instrucciones para añadir ~/.local/bin al PATH si es necesario
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar la función get_forgejo_url() para devolver solo el dominio sin protocolo
- Eliminar la adición del protocolo https:// que era innecesaria
- Ajustar para cumplir con el requisito de usar solo el dominio para BERG_BASE_URL
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Agregar función get_forgejo_url() para extraer URL de configuración git
- Configurar automáticamente BERG_BASE_URL antes de la autenticación
- Buscar en múltiples ubicaciones: configuración global, directorio actual y repos del HOME
- Extraer el dominio base de diferentes formatos de URL (https://, git@, etc.)
- Mejorar mensajes informativos sobre la URL del servidor utilizada
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Crear script para gestionar la autenticación con Forgejo/Codeberg
- Implementar parámetros --login (default) y --logout para iniciar/cerrar sesión
- Desencriptar el token almacenado en forgejo.sops.yaml usando SOPS
- Decodificar el token desde base64 y usarlo para autenticación
- Integrar con berg (CLI de Forgejo) para la autenticación segura
- Verificar requisitos (berg, SOPS) antes de proceder
- Usar DEVELOPER_DIR de base.lib para la ubicación estándar del token
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir cversadm_token.sh a la tabla de herramientas para control de versiones
- Agregar una sección detallada sobre gestión de tokens para control de versiones
- Incluir descripción de características y funcionalidades del nuevo script
- Mantener consistencia con el formato de documentación existente
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir variable global DEVELOPER_DIR=${HOME}/.developer a base.lib
- Eliminar definición redundante en cversadm_token.sh y usar la variable global
- Actualizar todas las referencias a la variable en las funciones del script
- Centralizar definición de la ruta para uso consistente en todo el proyecto
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiar DEVELOPERS_DIR de "$HOME/.developers" a "$HOME/.developer"
- Actualizar comentarios para reflejar el cambio de ruta
- Mantener consistencia con el uso estándar de la carpeta .developer
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reemplazar dialog_input_pass por llamada directa a dialog para mejor compatibilidad
- Usar --stdout para capturar correctamente la entrada del usuario
- Mejorar formato del cuadro de diálogo con dimensiones apropiadas (8x60)
- Mantener validaciones mientras se soluciona el problema de entrada en blanco
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implementar validación completa de tokens (longitud, formato, caracteres especiales)
- Encriptar tokens en base64 antes de guardarlos con SOPS
- Usar nombre de archivo temporal único con $$ para prevenir colisiones
- Añadir comprobaciones de seguridad adicionales para tokens
- Mover todos los mensajes de validación a developers.es
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Mover mensajes de error de SOPS a developers.es (cvmsg_013 y cvmsg_014)
- Modificar check_sops_installed para usar las variables de mensajes
- Mantener todos los mensajes en el archivo de idioma para facilitar localización
- Seguir la política de que todos los mensajes deben estar en developers.es
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar check_sops_installed() para usar dialog en lugar de echo
- Usar dialog_error_box para mostrar mensajes de error en la interfaz gráfica
- Mejorar mensaje de error con instrucciones sobre cómo instalar SOPS
- Mantener consistencia con el estilo de interfaz del resto del script
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implementar política general persistente: verificar que dialog esté instalado
- Añadir función check_dialog_installed() para validar la disponibilidad de dialog
- Mostrar mensaje de error (head_001) si dialog no está instalado
- Agregar esta verificación como primer paso antes de ejecutar funciones de interfaz
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir detección automática del idioma del shell (BIN_LANG=${LANG:0:2})
- Cargar archivos de mensajes según el idioma del sistema
- Seguir política general persistente para todos los scripts bash del proyecto
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Modificar la variable title para usar head_000 y head_002 en lugar de valor estático
- Asegurar consistencia con el diseño de otros scripts del sistema
- Utilizar las variables de mensajes estándar para el título
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Agregar 4 líneas en blanco al menú de selección de plataforma
- Aumentar el valor de la altura del menú de 5 a 9 líneas
- Mejorar la legibilidad y apariencia visual del menú
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Obtener DEVSPATH desde bin/config/devspath.dat para determinar la ubicación correcta
- Usar "devs" como valor predeterminado si el archivo de configuración no existe
- Configurar BIN_HOME usando la ruta obtenida para mayor flexibilidad
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Corregir ruta para cargar mensajes con load_messages
- Usar menu_actions en lugar de dialog_input_menu para mayor compatibilidad
- Añadir variables head_exit y head_key_end necesarias para menus
- Agregar inicialización de variables head_000 y head_002 para el título
- Incluir llamada a display_text_header para mostrar el encabezado
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Añadir variable head_error necesaria para diálogos de error
- Aumentar tamaño de ventana del menú para evitar problemas de visualización
- Mejorar comentarios para mayor claridad
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implementa interfaz mediante dialog para seleccionar plataforma (Github, Gitlab, Forgejo)
- Solicita token mediante entrada segura (oculta)
- Encripta token con SOPS y lo guarda en ~/.developers/[plataforma].sops.yaml
- Añade mensajes en español en developers.es
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Cambiada URL de API de HTTPS a HTTP por defecto
- Implementada detección automática del protocolo correcto (HTTP/HTTPS)
- Añadido soporte para certificados autofirmados con la opción -k
- Mejor diagnóstico de conectividad con pruebas de puerto 80 y 443
- Información detallada sobre problemas de conexión y respuestas de API
- Salida de depuración enriquecida para facilitar la resolución de problemas
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Actualizada URL de API a git.rosero.one
- Añadidos timeouts en las peticiones curl para evitar bloqueos
- Mejorado diagnóstico de conectividad con verificación de DNS y puertos
- Mejor extracción de URL base del servidor
- Detección más precisa de problemas de conexión vs. problemas de autenticación
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>