Port conflict handling is not user-friendly (should fallback or guide user)
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Área
- backend
Línea de trabajo
No se nombran archivos de implementación, pruebas ni puntos de entrada. Empieza localizando el código de inicio de ActivityWatch que enlaza el puerto 5600 y, después, aclara con los maintainers si se prefiere un fallback automático o una guía práctica para resolver el conflicto. «Done» debe incluir el comportamiento elegido, una resolución clara para el usuario y cobertura para un puerto ocupado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
ActivityWatch Port Conflict Handling
📄 Description
When port 5600 is already in use, ActivityWatch fails to start and shows:
Address already in use
Port 5600 is in use by another program. Either identify and stop that program, or start the server with a different port.
This creates confusion because:
- The user cannot tell what is using the port
- No automatic fallback is attempted
- No guidance is provided
💡 Suggested Improvements
-
Detect if port is already in use
-
Either:
-
Automatically select the next available port (e.g. 5601, 5602)
-
OR clearly show:
- Which process is using the port
- How to resolve it
-
Optional Enhancements
- Allow configurable default port
🎯 Why? very important to the end user and is a part of UX design
⚔️ When Does This Happen?
✅ Case 1: ActivityWatch already running
Most common case.
You tried to start it again → conflict occurs.
⚠️ Case 2: Another application using the port
Rare, but possible.
Any application can bind to any free port.
🔁 Case 3: Previous instance didn’t shut down properly
A leftover (zombie) process is still holding the port.
🙋 Contribution
I’d be interested in working on this if the approach aligns with the project direction.
- Lenguaje dominante
- Python
- Estrellas
- 31
- Forks
- 84
- Merge medio
- 10 h 33 min
- PR fusionados (30 d)
- 5
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ActivityWatch/docs
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ActivityWatch/docs#184 ·
Los mantenedores suelen responder en 1 día
-
System tray works on GnomeAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ActivityWatch/docs#143 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'Authorization required, but no authorization protocol specified\n'Posiblemente ocupada @TimeToBuildBob la tomó hace 3 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
ActivityWatch/docs#179 ·
Los mantenedores suelen responder en 1 día
-
Search bar stuck on "Searching" on docs sitePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
ActivityWatch/docs#170 ·
Los mantenedores suelen responder en 1 día
-
Android app keeps crashingAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
ActivityWatch/docs#136 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de ActivityWatch/docs
Issues similares
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
debpalash/VoiceStudio#2624 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
SQLGlot translates Spark concat_ws on an array into array stringificationPosiblemente ocupada @ansh-rohilla la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Make Catch2 optional when `RDK_BUILD_CPP_TESTS=OFF`Posiblemente ocupada @pechersky la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días