fix(sessions): dont expire sessions that have recent pageviews #79
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #54
Currently a session is stored in an HttpOnly cookie, and it automatically expires in 1 hour. Since the purchase cart is tied to the session, if the user takes more than 1 hour navigating around the page modifying the purchase cart, everything will break and chaos will reign.
This PR modifies the sessions' logic to, instead of automatically expiring the session in 1 hour, constantly keep renewing its expiration time on every new page that the user visits. If the user stays frozen for more than 1 hour then at that point the session will expire. Still, having the user lose their cart because she/he forgot to get back to the page and interact with it seems sketchy. I'll keep thinking of a better approach for this, but for now this is a band-aid that helps
Also, the pageview tracking strategy was changed from tracking the pageview on the server on every page load, and now the frontend will keep an eye on the react-router navigation, and, whenever it changes the frontend will call the remix server to store the pageview (and persist the session as stated above)