fix: Parse Server option extendSessionOnUse not working for session lengths < 24 hours#9113
fix: Parse Server option extendSessionOnUse not working for session lengths < 24 hours#9113mtrezza merged 6 commits intoparse-community:alphafrom vivekjoshi556:issue_8981
extendSessionOnUse not working for session lengths < 24 hours#9113Conversation
Thanks for opening this pull request! |
|
Hello @mman, |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## alpha #9113 +/- ##
==========================================
+ Coverage 94.13% 94.15% +0.01%
==========================================
Files 186 186
Lines 14687 14726 +39
==========================================
+ Hits 13826 13865 +39
Misses 861 861 ☔ View full report in Codecov by Sentry. |
|
Thanks a lot @vivekjoshi556, I will take a look first thing next week, now OOO. |
|
Hey @mman. Just wanted to check if you got some time to look at the PR. |
|
@vivekjoshi556 The code looks nice and clean, the tests as well. Will try to deploy to my stage env later today. |
Signed-off-by: Manuel <5673677+mtrezza@users.noreply.github.com>
|
This fix just shifts the problem downwards from 24 hours to 1 minute. Because for a session length of <1 minute, the problem in #8981 persists. I wonder whether we need such a complex logic for this. If I understand #8981 (comment) correctly, the purpose of this logic is to find a middle ground between:
Wouldn't it be simpler to extend the session when the remaining session token validity time reached < 50% of the session length? For example:
Pros:
And could you please document this new behavior in the Parse Server option |
extendSessionOnUse not working for session lengths < 24 hours
|
@vivekjoshi556 Just a friendly ping here; if you could simplify the logic and add the functionality description to the option docs (this repo, not the docs repo), then we could go ahead and merge. |
|
So sorry just got a bit swamped with work. Give me some time |
…documentation for shouldUpdateSessionExpiry
|
@mtrezza I have made the mentioned changes. Please let me know if anything else needs to be done. |
Signed-off-by: Manuel <5673677+mtrezza@users.noreply.github.com>
# [7.1.0-alpha.9](7.1.0-alpha.8...7.1.0-alpha.9) (2024-05-27) ### Bug Fixes * Parse Server option `extendSessionOnUse` not working for session lengths < 24 hours ([#9113](#9113)) ([0a054e6](0a054e6))
|
🎉 This change has been released in version 7.1.0-alpha.9 |
|
@vivekjoshi556 Excellent, very clean code, putting into production :) |
# [7.1.0-beta.1](7.0.0...7.1.0-beta.1) (2024-06-30) ### Bug Fixes * `Parse.Cloud.startJob` and `Parse.Push.send` not returning status ID when setting Parse Server option `directAccess: true` ([#8766](#8766)) ([5b0efb2](5b0efb2)) * `Required` option not handled correctly for special fields (File, GeoPoint, Polygon) on GraphQL API mutations ([#8915](#8915)) ([907ad42](907ad42)) * Facebook Limited Login not working due to incorrect domain in JWT validation ([#9122](#9122)) ([9d0bd2b](9d0bd2b)) * Live query throws error when constraint `notEqualTo` is set to `null` ([#8835](#8835)) ([11d3e48](11d3e48)) * Parse Server option `extendSessionOnUse` not working for session lengths < 24 hours ([#9113](#9113)) ([0a054e6](0a054e6)) * Rate limiting can fail when using Parse Server option `rateLimit.redisUrl` with clusters ([#8632](#8632)) ([c277739](c277739)) * SQL injection when using Parse Server with PostgreSQL; fixes security vulnerability [GHSA-c2hr-cqg6-8j6r](GHSA-c2hr-cqg6-8j6r) ([#9167](#9167)) ([2edf1e4](2edf1e4)) ### Features * Add `silent` log level for Cloud Code ([#8803](#8803)) ([5f81efb](5f81efb)) * Add server security check status `security.enableCheck` to Features Router ([#8679](#8679)) ([b07ec15](b07ec15)) * Prevent Parse Server start in case of unknown option in server configuration ([#8987](#8987)) ([8758e6a](8758e6a)) * Upgrade to @parse/push-adapter 6.0.0 ([#9066](#9066)) ([18bdbf8](18bdbf8)) * Upgrade to @parse/push-adapter 6.2.0 ([#9127](#9127)) ([ca20496](ca20496)) * Upgrade to Parse JS SDK 5.2.0 ([#9128](#9128)) ([665b8d5](665b8d5))
|
🎉 This change has been released in version 7.1.0-beta.1 |
# [7.1.0](7.0.0...7.1.0) (2024-06-30) ### Bug Fixes * `Parse.Cloud.startJob` and `Parse.Push.send` not returning status ID when setting Parse Server option `directAccess: true` ([#8766](#8766)) ([5b0efb2](5b0efb2)) * `Required` option not handled correctly for special fields (File, GeoPoint, Polygon) on GraphQL API mutations ([#8915](#8915)) ([907ad42](907ad42)) * Facebook Limited Login not working due to incorrect domain in JWT validation ([#9122](#9122)) ([9d0bd2b](9d0bd2b)) * Live query throws error when constraint `notEqualTo` is set to `null` ([#8835](#8835)) ([11d3e48](11d3e48)) * Parse Server option `extendSessionOnUse` not working for session lengths < 24 hours ([#9113](#9113)) ([0a054e6](0a054e6)) * Rate limiting can fail when using Parse Server option `rateLimit.redisUrl` with clusters ([#8632](#8632)) ([c277739](c277739)) * SQL injection when using Parse Server with PostgreSQL; fixes security vulnerability [GHSA-c2hr-cqg6-8j6r](GHSA-c2hr-cqg6-8j6r) ([#9167](#9167)) ([2edf1e4](2edf1e4)) ### Features * Add `silent` log level for Cloud Code ([#8803](#8803)) ([5f81efb](5f81efb)) * Add server security check status `security.enableCheck` to Features Router ([#8679](#8679)) ([b07ec15](b07ec15)) * Prevent Parse Server start in case of unknown option in server configuration ([#8987](#8987)) ([8758e6a](8758e6a)) * Upgrade to @parse/push-adapter 6.0.0 ([#9066](#9066)) ([18bdbf8](18bdbf8)) * Upgrade to @parse/push-adapter 6.2.0 ([#9127](#9127)) ([ca20496](ca20496)) * Upgrade to Parse JS SDK 5.2.0 ([#9128](#9128)) ([665b8d5](665b8d5))
|
🎉 This change has been released in version 7.1.0 |
Pull Request
This PR helps with dynamically extending session based on session Length.
Issue
Closes: #8981
Approach
I followed a similar approach to what @mman suggested here.
Tasks