Enterprise-CMCS / eAPD

CMS (Centers for Medicare and Medicaid Services) eAPD - Modernizing the APD experience
https://eapd.cms.gov
Other
58 stars 25 forks source link

[Feature] Determine a way to handle a user losing connection to the internet with a locked APD #4660

Open thetif opened 1 year ago

thetif commented 1 year ago

Description and related issues

Our session timeout is currently managed on the client side, but now that we are locking APDs, if they lose network connection, we don't really have a way to timeout that APD locking session. We need to either move the user session timeout to the backend or create a separate timeout for APDs that are locked but not being actively edited.

Behind the scene changes

Manage sessions for APDs through the database or a cron job or something. Maybe checking APDs with lockedAt values and emptying them out if the updatedAt value is an hour old.

Acceptance criteria

Testing criteria

Given When Then Covered
A locked APD, User X in the builder, use Y on the APD dashboard user X disconnects their internet user Y confirms APD unlocks

I think we would need two people to test this? And have person x disconnect their internet and have person y confirm the APD is unlocked

mirano-darren commented 1 year ago

This is going to be an interesting one to test. I'd assume you would have to test this on a preview build? since you can't do it locally? Could potentially even take two people to test

mirano-darren commented 1 year ago

Jerome brought up a good point about a potential unlocking feature for state admins. In the rare case of an APD stays locked even though no one is editing it