From 71a152d3371115913d1f0e4b32ea773e61b79713 Mon Sep 17 00:00:00 2001 From: Alex-GF Date: Thu, 11 Dec 2025 10:19:58 +0100 Subject: [PATCH 1/2] fix: production frontend dockerfile --- frontend/docker/production/Dockerfile | 42 ++++++++++++++++----------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/frontend/docker/production/Dockerfile b/frontend/docker/production/Dockerfile index c7814fd..63d0ea9 100644 --- a/frontend/docker/production/Dockerfile +++ b/frontend/docker/production/Dockerfile @@ -1,33 +1,41 @@ -# Use an official Node.js runtime as the base image -FROM node:21.1-slim +# Node 21 ya no tiene soporte y causa conflictos. +FROM node:22-slim -ENV http_proxy http://proxy.int.local:3128 -ENV https_proxy http://proxy.int.local:3128 +# 2. Definimos las variables de entorno del proxy (Mayúsculas y minúsculas) +# Es buena práctica poner ambas para asegurar compatibilidad con todas las herramientas. +ENV http_proxy=http://proxy.int.local:3128 +ENV https_proxy=http://proxy.int.local:3128 +ENV HTTP_PROXY=http://proxy.int.local:3128 +ENV HTTPS_PROXY=http://proxy.int.local:3128 -# Set the working directory in the container WORKDIR /usr/src/client -# Copy the rest of the application source code to the container +# 3. Instalamos libvips a nivel de sistema operativo +# Esto es CRUCIAL. Al instalar esto, 'sharp' detectará que ya existe +# y NO intentará descargar el binario que está fallando en tu proxy. +RUN apt-get update && apt-get install -y \ + libvips-dev \ + python3 \ + make \ + g++ \ + && rm -rf /var/lib/apt/lists/* + COPY . . +# Configuramos npm proxy también (aunque las ENV deberían bastar, esto refuerza) RUN npm config set proxy http://proxy.int.local:3128 && \ npm config set https-proxy http://proxy.int.local:3128 -# Install Node.js dependencies -RUN npm install - -# RUN npm uninstall bcrypt +# 4. Instalamos dependencias +# --no-audit acelera la instalación detrás de proxys +RUN npm install --no-audit -# RUN npm install bcrypt - -# Build your application +# Build de la aplicación RUN npm run build -# Install serve - +# Instalar serve globalmente RUN npm install -g serve EXPOSE 5173 -# Specify the command to start your React app -CMD [ "serve", "-s", "dist", "-l", "5173" ] +CMD [ "serve", "-s", "dist", "-l", "5173" ] \ No newline at end of file From 595ae4ba2db7778e482e06a08c428d94c8c8d83d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Javier=20Cavero=20L=C3=B3pez?= Date: Thu, 11 Dec 2025 17:20:10 +0100 Subject: [PATCH 2/2] fix: minor improvements --- .../src/modules/harvey/components/ChatTranscript.tsx | 2 +- .../src/modules/harvey/components/ContextManager.tsx | 3 +++ frontend/src/modules/harvey/prompts.ts | 12 ++++++------ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/frontend/src/modules/harvey/components/ChatTranscript.tsx b/frontend/src/modules/harvey/components/ChatTranscript.tsx index 821ec61..6269ae0 100644 --- a/frontend/src/modules/harvey/components/ChatTranscript.tsx +++ b/frontend/src/modules/harvey/components/ChatTranscript.tsx @@ -23,7 +23,7 @@ function ChatTranscript({ messages, isLoading, promptPresets = [], onPresetSelec Welcome to H.A.R.V.E.Y. - Your AI assistant for pricing intelligence and optimal subscription recommendations. + Enabling seamless execution of the Pricing Intelligence Interpretation Process. {promptPresets.length > 0 && onPresetSelect && ( diff --git a/frontend/src/modules/harvey/components/ContextManager.tsx b/frontend/src/modules/harvey/components/ContextManager.tsx index d343c11..9ef9984 100644 --- a/frontend/src/modules/harvey/components/ContextManager.tsx +++ b/frontend/src/modules/harvey/components/ContextManager.tsx @@ -66,6 +66,9 @@ function ContextManager({ items, detectedUrls, onAdd, onRemove, onClear }: Props Add URLs or YAML exports to ground H.A.R.V.E.Y.'s answers. + + All pricings detected or added via URL will be modeled automatically; this process can take up to 30–60 minutes. + diff --git a/frontend/src/modules/harvey/prompts.ts b/frontend/src/modules/harvey/prompts.ts index 9f6a448..8e447ff 100644 --- a/frontend/src/modules/harvey/prompts.ts +++ b/frontend/src/modules/harvey/prompts.ts @@ -5,10 +5,10 @@ import type { PromptPreset } from './types/types'; export const PROMPT_PRESETS: PromptPreset[] = [ { id: 'overleaf-optimal-plan', - label: 'Find best value plan with GitHub integration', - description: 'Find the most affordable Overleaf plan that includes GitHub integration and document history.', + label: 'Find the cheapest Overleaf subscription that includes certain features', + description: 'Find the most affordable Overleaf configuration available to establish a subscription that includes GitHub integration and document history.', question: - 'Using the Overleaf pricing, what is the cheapest plan that bundles GitHub integration and the full document history? Compare it with the more expensive tiers.', + 'Using the Overleaf pricing, what is the cheapest configuration that bundles GitHub integration and the full document history? Compare it with the more expensive tiers.', context: [ { kind: 'yaml', @@ -20,10 +20,10 @@ export const PROMPT_PRESETS: PromptPreset[] = [ }, { id: 'overleaf-seat-limits', - label: 'Compare collaborator limits across plans', - description: 'Summarise the collaborator capacity per Overleaf plan and highlight the maximum.', + label: 'Compare usage limits across Overleaf pricing', + description: 'Compare the collaborator capacity per Overleaf configuration and highlight the maximum.', question: - 'From the Overleaf pricing file, list each plan with its collaborator limit and indicate which plan allows the highest number of collaborators.', + 'From the Overleaf pricing, list each plan with its collaborator limit and indicate which plan allows the highest number of collaborators.', context: [ { kind: 'yaml',