If the user doesn’t interact with the page then there is no HTTP request.
- No HTTP request - no redirect.
So unless you are using LiveView there isn’t anything you can do. The timer would have to be based on the client-side (i.e. the browser) and make a request when there is no activity.
With LiveView you would simply change what is currently rendered on the page after the timeout expires - but there is no redirect involved.
EDIT: I forgot about channels - i.e. you might be able to use them to have the server send a message (at timeout) to the browser and have some browser-based code take some action.


















