Estoy usando Django para backend y HTML/CSS/JavaScript normal para frontend sin ninguna biblioteca de interfaz de usuario interactiva como React.
Enfoque actual:
Tengo una página que contiene un formulario para editar la instancia X como ejemplo. Si alguien abre esta página para editarla, estoy agregando un valor en mi base de datos de que esta instancia está bloqueada por este editor. Después de que finalice la edición, debe presionar el botón "guardar" o "cerrar" para desbloquearlo para otros.
Problema:
Si el editor no guardó y olvidó "cerrar", la instancia permanecerá bloqueada hasta que regrese y la cierre.
Enfoque requerido:
Pero quiero evitar dinámicamente que los demás lo abran porque alguien está editando X activamente ahora. Por palabra "activamente", quiero decir que este usuario está usando la página ahora, y la pestaña de la página está activa en su navegador. Entonces, si simplemente cierra la pestaña o el navegador, o deja la pestaña inactiva durante unos 5 minutos, quiero desbloquear la instancia para editarla.