Historia de cambios

Todas las actualizaciones de PinPilot: correcciones, funciones nuevas y mejoras

1.4.20
Cambiado
  • Nuevo logotipo e icono de la aplicación. RuStore rechazó la versión anterior: el diseño copiaba la imagen de otro servicio — el icono mostraba un círculo con una letra, como Pinterest. Ahora el icono muestra un piloto con casco y gafas, sin marcas de terceros. La misma imagen sustituyó el logotipo y el favicon del sitio
  • Nueva ilustración en la página de descarga y en la primera pantalla de la página principal: un piloto de cuerpo entero
Corregido
  • Protección de la licencia. Ya no se puede prolongar la prueba reinstalando la aplicación: el servidor recuerda la huella del dispositivo y cuenta el plazo desde el primer inicio. Se cierra la elusión del límite de peticiones mediante un encabezado falsificado
1.4.19
Corregido
  • Las actualizaciones de la aplicación vuelven a instalarse. El permiso de instalación se quitó en la 1.4.16 porque RuStore rechazó la versión 1.4.11 por su causa. Sin ese permiso Android no deja que la aplicación abra el instalador: en lugar de instalar, se abrían los ajustes, y PinPilot no aparecía en la lista porque el permiso no está declarado. Si tienes la 1.4.16, la 1.4.17 o la 1.4.18, descarga el archivo del sitio una vez, después las actualizaciones funcionan como siempre
Cambiado
  • Dos compilaciones: una para el sitio y otra para RuStore. La del sitio instala las actualizaciones por sí sola, en un toque, como antes. La de RuStore no pide el permiso de instalación: la tienda lo considera de alto riesgo y exige una justificación aparte, y allí las actualizaciones las gestiona la tienda
1.4.18
Corregido
  • Los «me gusta» automáticos por fin funcionan. En la versión anterior la forma de enviar la reacción era correcta, pero la aplicación elegía cualquier objetivo: tomaba cualquier número de la página de búsqueda, incluidos los de usuarios y tableros. Pinterest los rechaza. Ahora los números se toman de los enlaces reales de los pines. Comprobado en una cuenta real: 3 de 3 «me gusta» enviados
1.4.17
Corregido
  • Los «me gusta» vuelven a funcionar. Pinterest cambió la forma de enviar una reacción: la dirección anterior dejó de aceptar peticiones, así que los «me gusta» no se enviaban. La nueva dirección se encontró interceptando una petición real de la versión web y ya está integrada en la aplicación. Comprobado: el contador de reacciones del pin cambia
1.4.16
Cambiado
  • Los campos de entrada ahora se ven iguales en todas partes — con contorno. Antes, en las pantallas de ajustes el campo era un rectángulo gris relleno y en los diálogos, con contorno. Además, el contorno resalta el campo en rojo si el valor no es válido, algo que el estilo relleno no hacía
1.4.15
Añadido
  • Ajustes de me gusta en una pantalla propia: el botón «Ajustes de me gusta» en la sección Audiencia. Elige a quién dar me gusta — por palabras clave o desde los pines de cuentas de la competencia — y configura el ritmo: me gusta al día, pausa entre me gusta, me gusta por tanda y descanso entre tandas
  • Me gusta en las estadísticas: la tarjeta de la pantalla principal ahora tiene su propia celda «Me gusta»
  • Tema oscuro: la aplicación sigue el modo oscuro del teléfono
Cambiado
  • El interruptor «Me gusta automáticos» vuelve a la pantalla principal, junto a publicación, seguidos y dejados de seguir
  • Sistema de diseño unificado: todas las pantallas toman colores, tamaños y fuentes de ajustes comunes
Corregido
  • El botón de guardar no se podía pulsar en las pantallas de me gusta, seguidos y dejados de seguir: su borde inferior quedaba bajo la barra de gestos
  • La cabecera de la pantalla «Ajustes de publicación» se desplazaba con el contenido
  • La flecha de volver no funcionaba en ninguna pantalla
  • Los botones «Confirmar» y «Añadir desde la galería» se partían en dos líneas
1.4.14
Corregido
  • El servidor de licencias vuelve a estar disponible: desde el 1 de septiembre el certificado de pinpilot.ru se emitía con una nueva cadena mientras la app fijaba la anterior, y la comprobación de licencia y del periodo de prueba fallaba. Huellas actualizadas
1.4.9
Cambiado
  • Modelo IA local — generar spintax de título, descripción y hashtags ahora funciona sin conexión, en el dispositivo. El usuario decide si descarga el modelo (~400 MB), botón «Modelo IA local» en la pantalla principal. Las tarjetas «Título», «Descripción» y «Hashtags» ahora tienen campos «Tema» + botones «Generar»
  • Proveedores IA en la nube eliminados — Groq, Gemini, proxy-VPN, registro de claves. El APK es más ligero, el código más simple, sin proxy para spintax
  • Ayuda de la pantalla principal y de ajustes actualizada para el modelo local (RU+EN)
  • Botones IA en colecciones ocultos — filtro por visión y generación de variantes quitados de la interfaz
  • Versión: 1.4.8 → 1.4.9 (código 42)
1.4.8
Corregido
  • Cálculo vs publicación — «Aplicar a hilos» escribía todo el resto de la colección en el límite del hilo en vez de la parte repartida. Ahora escribe las partes del cálculo
  • Reparto del resto diario — el resto se dividía a partes iguales entre todos los hilos activos, incluso con cero posts listos. Ahora se reparte según posts listos, los hilos vacíos se saltan
  • Duplicados en el registro — la carga de la cuenta se disparaba dos veces al inicio y cada entrada salía doble. Llamadas sobrantes eliminadas, el diario filtra repeticiones seguidas
  • Aislamiento de cuentas — el conteo de listos caía a la colección de otra cuenta con el mismo id. Fallback eliminado, una regla: la colección es de la cuenta de su hilo
Cambiado
  • Etiqueta del cálculo: «Límite diario»
  • Versión: 1.4.7 → 1.4.8 (código 41)
1.4.7
Corregido
  • La compra fallaba — el webhook de CryptoBot sacaba payload.payload como UUID, pero es un JSON {"order_id":"..."}: el pedido nunca se encontraba y los pagos quedaban pendientes. Ahora parsea el JSON
  • Las bajas saltaban a todos — sin campos de reciprocidad, todos se trataban como mutuos y con «solo no recíprocos» se daba de baja a 0. Ahora el defecto es false
  • Formulario de compra: guard contra SecurityError en modo privado de Safari, validación de email/apodo, manejo correcto de 429 y red, restauración del botón
Cambiado
  • YooKassa: registro detallado del webhook, validación de email/apodo en el servidor
  • Versión: 1.4.6 → 1.4.7 (código 40)
1.4.6
Cambiado
  • Release técnico: fecha del changelog actualizada
1.4.5
Corregido
  • Duplicados en autopublicación — quitado el auto-reset de usados con listos en cero (devolvía pines ya publicados). Ahora solo se muestra el diagnóstico por hilo
1.4.4
Corregido
  • Prueba: el aviso de «último día» seguía tras vencer y volvía el acceso total — ahora daysLeft <=0 se trata como vencido sin importar el flag, el started_at vacío no se guarda, rechequeo en onResume
1.4.3
Corregido
  • Diagnóstico de «sin posts»: con listos en cero al «Calcular» ahora se muestra el detalle por hilo (fuentes, total/sin usar por colección) con consejos
1.4.2
Corregido
  • Bajas de mutuos: getFollowing no veía el flag mutuo y trataba a todos como no recíprocos — ahora sin campo explícito se consideran mutuos y se saltan
  • Publicación «sin posts» e imágenes perdidas en errores: los fallos revierten la reserva (markAsUnusedBatch), las colecciones trabadas se recuperan solas al calcular
Agregado
  • Idioma inglés (fase A): creado res/values-en/strings.xml (123 textos), cambio automático según idioma del sistema
1.4.1
Agregado
  • Firma release propia (certificado PinPilot): la app ahora se firma con la clave release del proyecto, no con el certificado debug — auto-update correcto y mejor reputación en Play Protect
  • Pantalla de ayuda contra el bloqueo de Play Protect: antes de instalar sale un diálogo con instrucciones («Más detalles» → «Instalar de todos modos», o quitar el análisis en Google Play → Perfil → Play Protect → engranaje)
Corregido
  • El chequeo de updates devolvía 500: un BOM en update_config.json rompía el JSON; lectura en utf-8-sig
1.4.0
Agregado
  • La automatización sigue aunque minimices la app o bloquees la pantalla: en la barra aparece una notificación con botón de detener
  • Videoplataformas: busca videos por palabra clave — crea una colección de videos con un tema, sin enlace
  • Videoplataformas: diálogo de crear colección con campo de palabra clave y consejos
Corregido
  • Corregido un error raro al iniciar la app sin Internet
  • Corregida la duplicación de hilos de autopublicación: ya no se duplican al reentrar en ajustes
  • La estadística ahora va por cuenta: al cambiar de perfil solo se ven los números de la cuenta actual
Cambiado
  • La automatización sigue aunque minimices la app o bloquees la pantalla: en la barra aparece una notificación con botón de detener
1.3.20
Corregido
  • Pines duplicados en autopublicación: en createPin, antes de la petición principal, se lanzaba una cascada v3 de cuatro peticiones. Dos devolvían un HTTP 200 silencioso con HTML: Pinterest creaba el pin, pero la app no reconocía el éxito y creaba un segundo pin. Ahora hay exactamente una petición por pin: PinResource para imágenes, StoryPinResource para videos, fallback WebView solo si fallan todas las API
Cambiado
  • Versión: 1.3.19 → 1.3.20 (código 29)
1.3.19
Corregido
  • El límite de posts por día ahora sí se respeta: antes, al delegar intervalos, el límite total se aplicaba a una pasada del ciclo y no al día — los hilos publicaban de nuevo cada ciclo. Ahora el límite se calcula en ventana móvil de 24 horas: resto = límite menos posts de las últimas 24 horas, dividido entre hilos activos. Si se acaba el saldo, el ciclo se salta
Cambiado
  • Base de datos: versión 21 → 22, nueva tabla post_log con marcas de cada post para la ventana móvil, las viejas se borran solas
  • Versión: 1.3.18 → 1.3.19 (código 28)
1.3.18
Agregado
  • Ajuste global de publicación en «Hilos de autopublicación»: límite total de posts por día (hasta 250) para todos los hilos, sin poner el límite a mano en cada uno
  • Contador «Listos para publicar»: cuántos posts hay de verdad preparados en los hilos activos (archivos de galería + imágenes y videos sin usar)
  • Botón «Calcular»: reparte solo el límite entre hilos y tableros, muestra el intervalo entre posts e invita a iniciar la automatización
  • Interruptor «Delegar intervalos a la app»: la app pone sola límite e intervalos según el límite global; los campos de intervalo y límite del hilo se bloquean
Cambiado
  • El automator tiene en cuenta la delegación: con el ajuste activo, el límite global se divide a partes iguales entre hilos activos y el intervalo se calcula solo según la ventana
  • Versión: 1.3.17 → 1.3.18 (código 27)
Corregido
  • Las colecciones borradas ya no vuelven: quitada la creación automática de la colección de prueba «videotext» en cada inicio
  • Bajas de mutuos: con «solo no recíprocos» activo, la reciprocidad se toma primero de la lista de follows, y el rechequeo contra el perfil es conservador: si el perfil no da el campo, no se da de baja
1.3.17
Agregado
  • Estadística por cuenta (base Room): cada cuenta lleva la suya, sin sumas ajenas
  • Desglose detallado: al tocar la tarjeta «Estadística» se abre el detalle por día (posts/likes/follows/bajas/errores) y por tableros
Cambiado
  • Bajas de no recíprocos: la reciprocidad se revisa en el perfil del candidato — los mutuos ya no se dan de baja
  • Versión: 1.3.16 → 1.3.17 (código 26)
1.3.16
Corregido
  • Pines duplicados en automatización: antes, por cada material la app probaba una cascada de ~8 variantes de crear el pin. Si una creaba el pin «en silencio» (HTTP 200 sin datos reconocidos), la siguiente creaba un doble — riesgo de ban por spam. Ahora solo PinResource para imágenes, solo StoryPinResource para videos, y cualquier respuesta de éxito frena de inmediato. Un post = exactamente un pin
  • Tableros sin ID: si la lista no estaba fresca al guardar, el tablero quedaba con el nombre pelado sin el par id:name → Pinterest respondía «Board not found». Ahora los nombres se cruzan con IDs reales al guardar
Cambiado
  • Versión: 1.3.15 → 1.3.16 (código 25)
1.3.15
Corregido
  • Pausa nocturna sin Internet: chequeo de red antes de cada ciclo — sin conexión (p. ej. modo avión), la app espera 5 minutos con estado claro en vez de colgarse horas en silencio, y sigue al volver Internet
  • Animación de números más lenta: recálculo suave de 1,2–3,2 s (era 0,5–1,6 s)
Cambiado
  • Versión: 1.3.14 → 1.3.15 (código 24)
1.3.14
Corregido
  • La estadística ya no «salta abajo»: quitadas las carreras en incrementos (sincronización), la migración de archivos viejos al máximo y los conflictos de archivos antiguos — los contadores crecen estable
  • Estadística por usuario: una sola clave SharedPreferences en vez de archivos por cuenta — los números no se pierden al cambiar de cuenta
  • Pausa tras imagen rota: si falla un post, el hilo espera 20 segundos y pasa a la siguiente imagen, sin la demora total de 45–60 minutos
Cambiado
  • Versión: 1.3.13 → 1.3.14 (código 23)
1.3.13
Corregido
  • Pausa tras imagen rota: si falla el post (imagen dañada, error de carga o de crear el pin), el hilo ya no espera la demora total de 45–60 minutos — pausa de 20 segundos y a la siguiente imagen. La demora total solo va tras un post con éxito
  • Congelado del trabajo en fondo: el sistema ya no duerme el proceso (Doze) a mitad del ciclo — agregado WakeLock
Agregado
  • Permiso de trabajo en fondo al iniciar la automatización (excepción de optimización de batería) — defensa contra el ahorro agresivo en itel y otros
Cambiado
  • Versión: 1.3.12 → 1.3.13 (código 22)
1.3.12
Corregido
  • Límite de follows: el 401 ahora se lee como rate-limit — el ciclo de follows se corta de inmediato, sin fallback a WebView ni decenas de errores en el registro
  • Defectos conservadores: maxFollowsPerDay = 15 (era 50), pausa entre follows de 60–180 s (era 30–90) — menos riesgo de bloqueo en trabajo largo
  • Fallback de SessionManager: maxFollows = 15 (era 20)
Cambiado
  • Versión: 1.3.11 → 1.3.12 (código 21)
1.3.11
Corregido
  • Cuentas duplicadas: la cuenta ahora se identifica por el id estable de Pinterest (migración BD 17→18) — el login ya no crea una copia, aunque falle el nick y devuelva el nombre visible en vez del real
  • Una sola cuenta activa: al entrar en otra cuenta, la vieja ya no queda activa — en la nueva ya no salen hilos, colecciones ni ajustes de la anterior
  • Autorefresco de sesión: las cookies autorizadas ya no se pisan con la sesión invitada al renovar — fin de los 401 masivos tras 25 minutos
  • Nick fiable: la petición API prueba ru.pinterest.com si no hay csrftoken en www; todos los fallos van al registro
Cambiado
  • Versión: 1.3.10 → 1.3.11 (código 20)
1.3.10
Corregido
  • Límite de follows de Pinterest: con el límite antibot (HTTP 429) el ciclo se detiene con un aviso en vez de decenas de errores — la estadística ya no se ensucia
  • Errores de rate-limit de follows ya no suben el contador de Errores de la ventana principal
Cambiado
  • Versión: 1.3.9 → 1.3.10 (código 19)
1.3.9
Corregido
  • Cuentas duplicadas al reentrar: entrar por «Cambiar cuenta» ya no crea una cuenta vacía si el login difiere — la cuenta se busca por login y cookie de sesión, se guardan sus hilos y colecciones
  • Prioridad de cookies autorizadas: al renovar, la cookie invitada ya no pisa la autorizada — se elige la sesión con marca de login
  • Publicar pines: crear pines vuelve a funcionar vía PinResource/create/ tras reentrar
Cambiado
  • Versión: 1.3.8 → 1.3.9 (código 18)
1.3.8
Corregido
  • La insignia «Usado» ahora sale en verde en modo resaltado — era invisible sobre fondo oscuro
  • Follow por WebView con 401: si la API devuelve 401, se sigue por WebView como fallback
  • Follow por WebView: se usa Handler en vez de view.postDelayed para el WebView headless — postDelayed no funciona sin ventana
Agregado
  • Borrado automático de imágenes usadas con el ajuste deleteUsedImages activo — los archivos se borran tras publicar
Cambiado
  • Versión: 1.3.7 → 1.3.8 (código 17)
1.3.7
Corregido
  • Videoplataformas: el botón «Parsear más» en el detalle de la colección ya funciona — descarga más videos por palabra clave
  • Videoplataformas: el botón «Parsear» en la lista ya no se oculta — se puede reparsear
  • Parseo desde la lista: para colecciones de video se lanza VideoParser en vez de ImageParser
  • Firma de TikTok: quitado «Los videos se descargan al dispositivo» — los videos se guardan como enlaces
Agregado
  • Reparseo de videos: se pueden reparsear videos con la misma palabra clave sin crear una colección nueva
Cambiado
  • Versión: 1.3.6 → 1.3.7 (código 16)
1.3.6
Agregado
  • Autorefresco de sesión: cada 25 minutos la app renueva las cookies en silencio vía WebView — la sesión ya no vence a la hora
  • Recuperación tras fallo de sesión: si la automatización pierde la autorización, primero intenta renovar cookies en vez de pararse
Corregido
  • Token CSRF: ahora se toma el csrftoken real de las cookies, no un texto aleatorio — la API dejó de devolver 403 en algunas peticiones
Cambiado
  • Versión: 1.3.5 → 1.3.6 (código 15)
1.3.5
Corregido
  • Parseo de tableros: resolveBoardNames ya no quita tableros si los nombres no calzan con la API — solo un aviso
  • Orden de tableros: los nuevos salen arriba de la lista al elegir (por ID, no al revés)
  • Hilos sin tableros: si el hilo no tiene tableros, se usa el de los ajustes generales de la cuenta
  • resolveBoardNames: guardado nombre→id desde la respuesta API — antes el array quedaba vacío
  • Ciclo por username en resolveBoardNames: continue cambiado a break si no calzan
Cambiado
  • resolveBoardNames usa el username real de Pinterest, no el nombre de la cuenta en la app
  • Versión: 1.3.4 → 1.3.5 (código 14)
1.3.4
Agregado
  • Parseo de imágenes vía SearchResource API — más fiable y más imágenes que el HTML
  • Iconos de editar y borrar en tarjetas de colecciones — el tap largo ya no es la única vía
  • Nombre del tablero en la tarjeta del hilo — «Tablero: Viajes» se ve sin abrir
Cambiado
  • Elegir tableros: solo se ven los nombres, sin ID numérico
  • Elegir colección en el hilo: solo el nombre, sin la palabra clave entre paréntesis
  • Defectos: min.delay 45 min, máx. 60 min, máx. 50 posts
  • Tableros nuevos arriba de la lista
  • Versión: 1.3.3 → 1.3.4 (código 13)
Corregido
  • Aislamiento de cuentas: las colecciones ya no se mezclan entre cuentas
1.3.3
Corregido
  • El botón «Detener» ya funciona — los flags van directo por el Intent, sin carrera con la base
  • La app ya no se cae al autorecuperar la automatización con los interruptores apagados
Cambiado
  • Versión: 1.3.2 → 1.3.3 (código 12)
1.3.2
Corregido
  • Autorización: el cartel verde de «Autorizado» ya no sale en el login — la app espera un login real, aunque haya cookies viejas
  • Búsqueda de autores para autofollows: reescrita a la API de Pinterest — ahora encuentra 48+ autores por arranque en vez de 0
  • Follow a autores: follow por API confirmado (éxito código 200)
Cambiado
  • Versión: 1.3.1 → 1.3.2
1.2.1
Corregido
  • Corregido un error raro al iniciar la app sin Internet
1.2
Agregado
  • Publicar por URL: crear una colección con el enlace de una página — el parser saca todas las imágenes (img src, og:image, twitter:image)
  • Vista previa por URL: las imágenes se bajan con Coil directo del sitio fuente, sin ocupar memoria del dispositivo
  • Enlaces directos: en autopublicación se usa la URL de la imagen en vez de carga multipart — ahorro de tráfico y tiempo
  • Detección smart de tipo: las colecciones URL muestran la dirección fuente, botón «Parsear más» para cargar más, botón «Agregar de galería» oculto
1.1.5
Agregado
  • Formulario de comentarios con campo «Asunto»: al enviar se abre el email con datos listos y el log adjunto
  • Registro de errores de automatización en archivo: todo va a pinflow_log.txt para analizar
Cambiado
  • Envío de reseñas por email a support@pinpilot.ru (en vez de mandar al servidor)
  • Los errores de automatización ahora se guardan en archivo — no se pierden al reiniciar
1.1.4
Corregido
  • Borrar imágenes usadas: con el ajuste activo se borran archivo y registro de la base (sin celdas vacías)
  • El diálogo de tableros ya no salta solo al entrar en ajustes
  • Un clip en el campo de tableros abre la selección de los ya cargados
  • Registro de errores de createPin para cazar peticiones trabadas
  • Banner de cookies oculto por defecto, sale solo en la primera visita
  • Menú burger móvil: cruz al abrir, texto blanco del botón
Agregado
  • Botón «Elegir todo» en colecciones: elige todas las imágenes de una vez
  • Vista de una columna: las imágenes llenan todo el ancho con proporciones
  • Botón «Rechazar» en el banner de cookies
  • Botón «Comprar» dentro del menú móvil
  • Página de cambios para seguir updates
Cambiado
  • Borrado demo.mp4 (6 MB) — sin uso
  • Contraseña admin reforzada
  • Claves API a .env (chmod 600)
  • Rate limiting 30 req/min en endpoints de pago
  • bcrypt para claves de socios
  • Logo: png (876KB) → WebP (79KB)
  • OG-imagen 1200×630, canonical en página de socios
  • gzip activo en nginx
1.1.3
Corregido
  • ProGuard R8: quitado `-repackageclasses a`, reglas `-keep` agregadas
  • Pines de video: StoryPinResource/create/ con JSON story_pin completo
  • Tableros: autofix de IDs al iniciar
  • Dashboard de socios: fix del bug que cerraba la base
Cambiado
  • Códigos de socios en minúsculas
  • Pago mínimo: 2,000 ₽
  • APK v1.1.3 (código 5) subido al servidor
1.1.2
Corregido
  • getFollowing: scraping HTML → API UserFollowingResource/get/
  • unfollowUser: corte tras la primera petición con éxito — ciclo 9× más rápido
  • Instancia paralela: guard contra dos instancias
  • canvas Aspect Ratio: bug de locale (coma y punto)
1.1.1
Corregido
  • El límite diario de bajas (maxUnfollowsPerDay) ahora sí funciona
  • Tarjeta de estadística: los contadores no se salen con 4+ dígitos
Agregado
  • Consejos de requisitos de fotos al crear una colección
1.1
Agregado
  • Autofollows y bajas vía API interna de Pinterest
  • Follow a seguidores de la competencia
  • Bajas masivas con intervalo propio
  • Colecciones de video
  • Iconos propios de la app
  • Yandex Metrica + Google Analytics
  • Pago vía YooKassa (tarjetas, SBP, SberPay)
  • sitemap.xml, robots.txt
Cambiado
  • La app se llama PinPilot
  • BD Room: versión 6 → 10
  • Pago: Prodamus → YooKassa
1.0
Agregado
  • Primer release: autopublicación, likes, parseo de contenido
  • Spintax para títulos y descripciones
  • Colecciones de imágenes (parseo + galería)
  • Gestión de tableros
  • Autorización por cookies en WebView
  • Licencias con pago vía CryptoBot