Attached is the patch to fix the RM #3674 "Old session files are not cleared in .pgAdmin session and keep piling up". Patch contains following changes:
With current implementation we have override get_expiration_time() method of flask and return the expiry time as "datetime.datetime.now() + 1 day (hard coded)". Also the time used as now() instead of utcnow() which is there in base class method of flask.
Solution: We should use session.permanent flag and set the permanent_session_lifetime variable of app. I have remove the overridden function and set the session.permanent flag to True, and set the permanent_session_lifetime with the specified value in config.py. Added new configuration parameter "SESSION_EXPIRATION_TIME_IN_DAYS".
Added CHECK_SESSION_FILES_INTERVAL configuration parameter in Hour with default value is 24. This is an interval to check the session files for the cleanup.