« first day (3303 days earlier)      last day (23 days later) » 

06:22
A las güenas :-)
Asco de jueves :-(
 
2 hours later…
08:24
@Trauma :/
El mío si que está siendo un asco. Al menos dentro de esta insanidad mental llamada "proyecto para el que trabajo" puedo tomarme un respiro para saludar por aquí antes de perder completamente la cordura.
@MauricioContreras Jo chaval. Estás negativo a tope, por lo que veo O_o
Bienvenido al club
jejeje
0
Q: intente solucionar pero no me corre el contenido del código

user414030Bro me puedes ayudar con el algo, o decirme que hacer ya busque la solución con la IA, estaba practicando con un código, y en la terminal, solo aparece el nombre del archivo creado que es con Python.. Y no me aparece el contenido del código

Creo que la gente se confunde, piensa que es un foro, y "pregunta" así para iniciar la conversación y luego ir entregando detalles.
09:11
@Trauma es que cuando vez que se pasan los estándares por el forro de los cojones no queda otra que pasar por las 5 etapas del duelo. No?
@CandidMoe para mi es una pregunta spam, cuidado si ha sido generada con IA
09:57
@MauricioContreras Yo salto directamente a la etapa de maldecir y escupir, pero bueno :-)
@MauricioContreras Si volviera a nacer (en esta época) me buscaría otra profesión.
Programar es hermoso, pero trabajar en proyectos es casi como estar condenado a las galeras.
@CandidMoe si volviera a nacer (en esta época) sería hitman y tendría una lista de nombres larga y bien definida. XD
@MauricioContreras ¿Trabajaría independiente o entrarías a la policías?
10:15
Si volviera a nacer (en esta época), querría una lesbiana de gran atractivo y con heterocromía; famosa por dirigir películas de gran éxito de taquilla caracterizadas por girar por completo todos los roles de genero. Ah, y no padecería onicofagia.
@PaperBirdMaster excepto por lo último, eso ya lo puedes tener no? Es decir, ahora también "querrías". O es que debemos asumir que es un typo y querías poner "sería".
Estoy viendo Megalopolis. Me recuerda intensamente el Satiricon de Fellini
(en lo visual)
@CandidMoe independiente. Pienso que las asociaciones, colegiaturas o agrupaciones en general suelen limitarte el accionar dentro de parámetros o reglas con los que no podría estar totalmente de acuerdo.
10:50
@MauricioContreras Ah, que la serie de "Si volviera a nacer…" es una predicción, no un deseo. Ok, entonces quería decir "sería".
11:26
Async Await Is The Worst Thing To Happen To Programming
@CandidMoe Jajajaja. Totalmente cierto, pero si se usa cuando se tiene que usar te evita anidaciones absurdas de promesas las unas dependientes de las otras.
11:52
@CandidMoe Pues a mi no me desagradan del todo :-)
Usas el típico ( async function( ) { ... } )( ); como main y listo, a tirar p'alante
 
2 hours later…
14:17
@Mady avisa cuando puedas mady ! aca seguimos en la lucha
@gbianchi lo va a usar solo una persona y el link lo va a tener solo el, para un uso personal. no estoy preocupado por eso, solo quiero que funcione y aun no funciona lamentablemente
15:05
@IgnacioHardoy ya puedo
@IgnacioHardoy eso no importa.. pero bueno... es mucho mas facil agregar los headers validos que tratar de soportar todo lo otro..
Holaaa ! graciasss por estar
les cuento mi problema actual , cuando intengo logear desde el front la consola tira este error :

Access to XMLHttpRequest at 'https://api.fotolonchodb.com/api/auth/login' from origin 'https://www.fotolonchodb.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'CLIENT_URL=https://api.fotolonchodb.com, https://www.fotolonchodb.com', but only one is allowed.Understand this errorAI
authService.js:6


POST https://api.fotolonchodb.com/api/auth/login net::ERR_FAILED 200 (OK)
ahh, en client_url solo tenes que poner fotolonchodb.com
tenes duplicado los hearders devueltos en el nginx?
esto tengo de ocnfiguracion en nginx
# Configuración para el servidor HTTP (puerto 80)
server {
listen 80;
listen [::]:80;

server_name api.fotolonchodb.com;

# Redirección de HTTP a HTTPS
if ($host = api.fotolonchodb.com) {
return 301 https://$host$request_uri;
}

return 404; # Respuesta por defecto en caso de no coincidir
}

# Configuración para el servidor HTTPS (puerto 443)
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;

server_name api.fotolonchodb.com;

# Certificados SSL gestionados por Certbot
ssl_certificate /etc/letsencrypt/live/api.fotolonchodb.com/fullchain.pem;
y asi esta armado server.js

const express = require('express')
const cors = require('cors')
const dotenv = require('dotenv')
const path = require('path')
const articlesRoutes = require('./routes/articles')
const authRoutes = require('./routes/auth')
const templateRoutes = require('./routes/templates')

dotenv.config()

const app = express()
const PORT = process.env.PORT || 5000

const corsOptions = {
origin: process.env.CLIENT_URL,
methods: 'GET,POST,PATCH,DELETE',
credentials: true,
}

app.use(cors(corsOptions))
15:11
o lo maneja uno, o lo maneja otro.. si no, te va a volver loco...
yo le sacaria el always de alla arriba...
Pero Mady parece tenerla mas claro...
me parece mejor como vos decis
total express parece que ya los pone
solo nos faltaba lo del proxy_pass
encontre que en .env donde paso la varaible esta mal configurado dice
CLIENT_URL=CLIENT_URL=https://api.fotolonchodb.com
ahh por eso daba ese error
voy a cambiarlo y reiniciar el servidor y les cuento
sigeu tirando el mismo error, raro
el .env quedo bien
Access to XMLHttpRequest at 'https://api.fotolonchodb.com/api/auth/login' from origin 'https://www.fotolonchodb.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'https://api.fotolonchodb.com, https://www.fotolonchodb.com', but only one is allowed.Understand this errorAI
authService.js:6


POST https://api.fotolonchodb.com/api/auth/login net::ERR_FAILED 200 (OK)
que raro
15:18
General :
Request URL:
https://api.fotolonchodb.com/api/auth/login
Request Method:
POST
Status Code:
200 OK
Referrer Policy:

Request Headers:
ccept:
application/json, text/plain, */*
accept-encoding:
gzip, deflate, br, zstd
accept-language:
es-US,es-419;q=0.9,es;q=0.8
connection:
keep-alive
content-length:
19
content-type:
application/json
host:
api.fotolonchodb.com
origin:
https://www.fotolonchodb.com
referer:
https://www.fotolonchodb.com/
sec-ch-ua:
"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"
¿Teníamos a un fanboy de IA en el chat?
¿O lo recuerdo mal?
(ojo, no uso fanboy como despectivo, yo me considero un fanboy de C++)
si pruebo esto en insomnia : https://api.fotolonchodb.com/api/auth/login

poniendo la pass bien, el servicio funciona
quitale la parte del cors en el nginx
lo esta enviando dos veces
estas lineas decis :

# Configuración de CORS - Permitir solo el origen de tu frontend
add_header 'Access-Control-Allow-Origin' 'https://www.fotolonchodb.com' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, DELETE, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT, User-Agent, X-Requested-With, If-Modifie>
add_header 'Access-Control-Expose-Headers' 'Content-Length, Content-Range' always;
@PaperBirdMaster IALover?
15:21
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;

server_name api.fotolonchodb.com;

# Certificados SSL gestionados por Certbot
ssl_certificate /etc/letsencrypt/live/api.fotolonchodb.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.fotolonchodb.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

# Proxy a tu backend en el puerto 5000
location /api/ {
proxy_pass localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
claro, quedaria asi
@CandidMoe Si le hago mención (usando arroba) el chat no me lo detecta, eso significa que o no ha entrado nunca aquí o hace mucho que no entra.
O el usuario no existe xD
O no entiendo como funciona el chat xDD
@PaperBirdMaster Termina en IALover; tenia un nombre por delante.
mira que tengo mas cosas ahora creo, sin eso quedaria asi :

# Configuración para el servidor HTTP (puerto 80)
server {
listen 80;
listen [::]:80;

server_name api.fotolonchodb.com;

# Redirección de HTTP a HTTPS
if ($host = api.fotolonchodb.com) {
return 301 https://$host$request_uri;
}

return 404; # Respuesta por defecto en caso de no coincidir
}

# Configuración para el servidor HTTPS (puerto 443)
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;

server_name api.fotolonchodb.com;

# Certificados SSL gestionados por Certbot
@CandidMoe Ah, vale.
@Ig
tambien quita lo del options
15:24
De todas formas, iba a compartir algo hecho con IA y quería consejos sobre cómo mejorar el prompt.
asi te parece bien :

# Configuración para el servidor HTTPS (puerto 443)
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;

server_name api.fotolonchodb.com;

# Certificados SSL gestionados por Certbot
ssl_certificate /etc/letsencrypt/live/api.fotolonchodb.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.fotolonchodb.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

# Configuración para manejar las solicitudes OPTIONS (pre-flight request)
# Configuración para manejar las solicitudes OPTIONS (pre-flight request)
location / {
eso no va
# Configuración para el servidor HTTPS (puerto 443)
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;

server_name api.fotolonchodb.com;

# Certificados SSL gestionados por Certbot
ssl_certificate /etc/letsencrypt/live/api.fotolonchodb.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.fotolonchodb.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;


# Proxy a tu backend en el puerto 5000
location /api/ {
proxy_pass http://localhost:5000;
ok asi entonces?
despues de cambiar la configuracion habia que reinicair nginx no?
ahora si
claro, con sudo systemctl restart nginx.service
ubuntu@ip-172-31-25-45:~/backend$ sudo systemctl restart nginx.service
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
15:26
sudo systemctl status nginx.service
a ver que dice
sudo systemctl status nginx.service
× nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Thu 2024-11-14 15:26:23 UTC; 43s ago
Duration: 19min 33.093s
Docs: man:nginx(8)
Process: 9120 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=>
CPU: 3ms

Nov 14 15:26:23 ip-172-31-25-45 systemd[1]: Starting nginx.service - A high performance web >
que raro
proba con sudo nginx -t
ubuntu@ip-172-31-25-45:~/backend$ sudo nginx -t
2024/11/14 15:29:15 [emerg] 9131#9131: unexpected "}" in /etc/nginx/sites-enabled/fotolonchodb.com:42
nginx: configuration file /etc/nginx/nginx.conf test failed
fue algo del cambio de recien por que antes funcionaba
tenes un } demas
sacale uno del final
lo borre depsues hice sudo systemctl restart nginx.service
y no dijo nada
15:30
ahh esta bien entonces
sudo nginx -t
dio successful
pruebo el front
login:1 Access to XMLHttpRequest at 'https://api.fotolonchodb.com/api/auth/login' from origin 'https://www.fotolonchodb.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://api.fotolonchodb.com' that is not equal to the supplied origin.Understand this errorAI
authService.js:6


POST https://api.fotolonchodb.com/api/auth/login net::ERR_FAILED 200 (OK)
en la variable de entorno CLIENT_URL le pusiste fotolonchodb.com sin la parte del "api." no?
esta asi el .env en el back
ah, va sin la api
digo sin el "api."
CLIENT_URL=fotolonchodb.com
asi lo dejo?
15:32
ahi deberia andar
si
This prism of pork.
Is more than deli meat.
It is a physical declaration.
Of mankind's contempt for the natural order.
@PaperBirdMaster ... ¿ es tuyo ?
reinicio el back
oka
Access to XMLHttpRequest at 'https://api.fotolonchodb.com/api/auth/login' from origin 'https://www.fotolonchodb.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://fotolonchodb.com' that is not equal to the supplied origin.Understand this errorAI
authService.js:6


POST https://api.fotolonchodb.com/api/auth/login net::ERR_FAILED 200 (OK)
queres ver la data de network?
15:34
ahi lo vi
@PaperBirdMaster Impresionante. ¿Cómo lo hiciste? ¿Quién escribio la letra?
en el .env quedo asi
CLIENT_URL=https://fotolonchodb.com
como te redirecciona al www.fotolonchodb.com
@CandidMoe La letra son memes
en realidad deberiamos poner www.fotolonchodb.com en el client_url
15:35
Sacados de KnowYourMeme
No conozco ninguno de esos memes.
CLIENT_URL=fotolonchodb.com
dejo eso esta bien?
nono
cambialo a
CLIENT_URL=www.fotolonchodb.com
Lo ironico es que suenan harto mejor (o más interesante) que lo que se escucha actualmente
CLIENT_URL=fotolonchodb.com
no se por que cuando lo pego me borra la parte de adelante
ahh
es el chat
pero, si ponelo con www en el archivo
digo, donde lo estes modificando
osea seria asi a ver si no me lo borraCLIENT_URL=fotolonchodb.com
bueno no se ok
entiendo
ahi lo cambio y reinicio el server de nuevo
Ahora entiendo porque los músicos temen a la IA
oka
Access to XMLHttpRequest at 'https://api.fotolonchodb.com/api/auth/login' from origin 'https://www.fotolonchodb.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://fotolonchodb.com' that is not equal to the supplied origin.
15:39
que raro
esta enviandolo de vuelta sin el www
le saco el www.
entre al .env y no esta
para
es arrisimo
voy a probar de nuevo
oka
como es el comando para ver un archivo solamente. nano es para modificarlo
cat /etc/archivo
con sudo
o less /etc/archivo mejor
CLIENT_URL=fotolonchodb.com
bueno esta con www
aunque aca lo borre cuando lo pego
15:41
mmm
tal vez si lo pones con https?
algo asi: CLIENT_URL=fotolonchodb.com
ENTROOOOOOOOOOOOOOOO
ENTROOOOOOOOOOOO
ahh lo saca
xd
ME MUEROOO
bien
sos un genio
voy a probar los servicios ahora
login funciona
15:43
fijate si muestra las imagenes
ok ya un servicio de templates no funciona
@CandidMoe xD
bajon, no estan funcionando los demas servicios
También estoy haciendo un álbum de artículos de wikipedia
como cual?
15:44
mira tengo un servicio para recuperar los templates que es este :
// GET ALL TEMPLATES
router.get('/', async (req, res) => {
try {
const templates = await Template.findAll()
res.status(200).json(templates)
} catch (error) {
res.status(500).json({ error: 'Error al obtener los templates' })
}
})

router.patch('/:id', async (req, res) => {
const { id } = req.params
const templateData = req.body

console.log('Datos recibidos en el backend para actualizar:', templateData)

try {
const template = await Template.findByPk(id)
Error al obtener los templates:
xt {message: 'Request failed with status code 500', name: 'AxiosError', code: 'ERR_BAD_RESPONSE', config: {…}, request: XMLHttpRequest, …}
code
:
"ERR_BAD_RESPONSE"
config
:
{transitional: {…}, adapter: Array(3), transformRequest: Array(1), transformResponse: Array(1), timeout: 0, …}
message
:
"Request failed with status code 500"
name
:
"AxiosError"
request
:
XMLHttpRequest {onreadystatechange: null, readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …}
response
:
hay que modificar el nginx
GET api.fotolonchodb.com/api/templates 500 (Internal Server Error)
que paso?
para que pase todas las peticiones al backend
ahh, ahi no se
si es internal server error deberias fijarte en los logs del backend
osea los tempaltes estan en la bsae de datos que esta en el backend
no se como se hace en express
15:46
osea vos queres ver que devuelve el server
cuando hago estas peticiones?
la base de datos la instalaste?
normalmente tiene un log el backend
que te dice que salió mal con una peticion
si ahi voy a intentar acceder a esos logs
creo que hay una manera
estoy mas cerca ya pero todavia no peudo cantar victoria
15:51
@PaperBirdMaster ¿Pueden cantar en castellano?
aca entre a los logs
lo que pasa que es un choclo
@CandidMoe Si, de hecho voy a hacer una prueba con este artículo: es.wikipedia.org/wiki/%C3%85_(Noruega)
Normalmente hasta que sale algo que me gusta hago 10 o 12 intentos.
Por eso quería saber cómo mejorar el prompt.
server.js:9330 - original: Error: Table 'fotoloncho_db.Templates' doesn't exist
data: server.js:9330 - at Packet.asError (/home/ubuntu/backend/node_modules/mysql2/lib/packets/packet.js:738:17)
data: server.js:9330 - at Query.execute (/home/ubuntu/backend/node_modules/mysql2/lib/commands/command.js:29:26)
data: server.js:9330 - at Connection.handlePacket (/home/ubuntu/backend/node_modules/mysql2/lib/connection.js:481:34)
data: server.js:9330 - at PacketParser.onPacket (/home/ubuntu/backend/node_modules/mysql2/lib/connection.js:97:12)
creo que esta accdiendo mal a la tabla no ?
Si, el error dice que no encuentra la tabla Templates
creaste las tablas de la base de datos?
no se como se haga con express
si te lo facilita, o algo
ok te pego aca los servicios para que veas como son :
const express = require('express')
const router = express.Router()
const Template = require('../models/Template')

// GET ALL TEMPLATES
router.get('/', async (req, res) => {
try {
const templates = await Template.findAll()
res.status(200).json(templates)
} catch (error) {
res.status(500).json({ error: 'Error al obtener los templates' })
}
})

router.patch('/:id', async (req, res) => {
const { id } = req.params
const templateData = req.body

console.log('Datos recibidos en el backend para actualizar:', templateData)
la tabla esta creada, en mysql y esta en el back
deberia entrar a revisarlas
voy a hacer eso a ver
mysql> SHOW TABLES;
+-------------------------+
| Tables_in_fotoloncho_db |
+-------------------------+
| articles |
| login_info |
| templates |
+-------------------------+
3 rows in set (0.00 sec)
15:57
@CandidMoe Los primeros resultados son horribles, a partir de lo que hace voy depurando. suno.com/song/62ae35ae-4d8f-46e8-a8ef-f5d87e012dab
esta la base de datos y estan las tablas, pero que es la mayuscula?
parece que no es sensitivo a mayusculas
que raro
esta apuntando mal, ese es el problema a ver que puedo cambiar
segun chatgpt es la mayuscula a ver
era eso, tengo que agregarle al model de mis tablas tableName y los nombres en minuscula
ahh bien
16:13
funciona todo menos una cosa que tengo que arreglar
tal vez vos sabes
que cosa?
cuando creas un articulo en mi aplicacion, guarda la imagen del articulo en una carpeta images en el backend
y en la base datos guardo la url para acceder a esa imagen en images
ahh, no funcionan las imagenes?
pero la foto no se esta viendo, como que la url esta mal parecieria
creo que ya se que es
en el nginx le pusimos que redirija todo lo de "/api"
pero las imagenes estan en /imagenes
app.use('/api/auth', authRoutes)

app.use('/images', express.static(path.join(__dirname, 'images')))

app.use('/api/articles', articlesRoutes)

app.use('/api/templates', templateRoutes)
images, digo
habria que cambiarlo para que redirija todo (incluyendo las imagenes)
location /api/ {
proxy_pass localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
16:16
entre a images y confirme que el arhcivo se creo
osea que la imagen esta
osea que vos decis que esto se cambia en nginx?
de esa parte hay que cambiarle el "location /api" a "location /"
ok ahi entro a ver
claro, ahora mismo no lo esta redirigiendo
location / {
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
que quede asi?
sisi
16:17
como era para reinicair nginx dps del cambio?
sudo systemctl restart nginx.service
SE VE !
SOS UN GENIO
bien
anda todo bien?
estoy probando pero parece funcionar todo bien
la verdad que no tengo palabras para agradecerte todo lo que hiciste
sin conocerme nada, la verdad muchisima gracias
sin vos estaria en un pozo
de nada
me tengo que ir a comer
te faltaria poner un firewall
si no me equivoco la base de datos esta directo a internet
16:23
esto que me aportaria ?
lo que hace es que solo tu backend pueda acceder a tu base de datos
porque no estan hechas para que sean accedidas desde afuera (no estan "aseguradas" lo suficiente)
ok lo voy a revisar
y voy a seguir probando, mil gracias
bueno, me voy
@PaperBirdMaster Pense que simplemente le pasabas la letra y el ponia la música
gracias mady !
todavia no puedo creer toda la ayuda que me diste
sos lo mas grande que hay !
 
1 hour later…
17:38
@CandidMoe Así es, pero si lo haces tal cual queda regular tirando a mal. Hay que añadir estrofas y algunos adornos.
 
2 hours later…
19:12
@PaperBirdMaster ¿Conoces Sabaton? Es una banda especializada en temas históricos (guerras).

« first day (3303 days earlier)      last day (23 days later) »