Registros de Rails después de realizar algunos cambios:
[DEV]: Se editaron archivos que no se cargan automáticamente. Reiniciando el servidor...
- app/controllers/admin/admin_controller.rb
REINICIANDO UNICORN
I, [2025-09-19T16:35:33.289558 #1735] INFO -- : se eliminó #<Process::Status: pid 2207 exit 0> worker=0
I, [2025-09-19T16:35:33.289638 #1735] INFO -- : se eliminó #<Process::Status: pid 2214 exit 0> worker=1
I, [2025-09-19T16:35:33.289701 #1735] INFO -- : se eliminó #<Process::Status: pid 2226 exit 0> worker=2
I, [2025-09-19T16:35:33.289718 #1735] INFO -- : maestro completado
TRANSACTION (0.1ms) BEGIN
En otra terminal, si envío una solicitud, curl simplemente se cuelga:
$ curl 127.0.0.1:3000
# no sucede nada
En la terminal donde ejecuté bin/rails s, necesito presionar ctrl + c:
Se enviaron 2 métricas
^CGot señal INT
Apagando
Terminando hilos silenciosos para la cápsula predeterminada
Saliendo del programador...
Disparando evento silencioso
Disparando evento de apagado
Pausando para permitir que los trabajos terminen...
¡Adiós!
I, [2025-09-19T16:39:36.317846 #4843] INFO -- : Actualizando lista de Gem
Iniciando observador de cambios de CSS
TranslationOverride Pluck (0.4ms) SELECT "translation_overrides"."translation_key", "translation_overrides"."value" FROM "translation_overrides" WHERE "translation_overrides"."locale" = 'en'
Ahora, en la segunda terminal, curl funciona como se esperaba:
$ curl 127.0.0.1:3000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Discourse</title>
<meta name="description" content="">
Cosas que intenté
El devcontainer.json tiene:
"image": "docker.io/discourse/discourse_dev:20250307-0016",
Cambié mi devcontainer.json local a:
"image": "docker.io/discourse/discourse_dev:release",
Eso no resolvió el problema.
En config/environments/development.rb
config.file_watcher = ActiveSupport::FileUpdateChecker
Eso tampoco resolvió el problema.
Pasos que uso para iniciar el servidor de rails:
cd discourse
code . # seleccionar "abrir carpeta en contenedor"
No uso tareas de vscode, así que en otra terminal ejecuto:
docker exec -ti -u discourse $ID bash
cd workspace/discourse/
bin/rail s
Además, esperaba que la carpeta app estuviera dentro de config.autoload_paths, pero no lo está:
bin/rails console
Cargando el entorno de desarrollo (Rails 8.0.2.1)
[1] pry(main)> Rails.application.config.autoload_paths
=> ["/workspace/discourse/lib", "/workspace/discourse/lib/guardian", "/workspace/discourse/lib/i18n", "/workspace/discourse/lib/validators"]