jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/340236 )
Change subject: mediawiki.user: Move JS session token from cookie to sessionStorage ...................................................................... mediawiki.user: Move JS session token from cookie to sessionStorage The old cookies will become unused and expiry automatically. Also add basic unit tests. Bug: T110353 Change-Id: I6fa98ae797481dfaef95ab1ea996ebf057f8d55d --- M resources/src/mediawiki/mediawiki.user.js M tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js 2 files changed, 13 insertions(+), 6 deletions(-) Approvals: Fomafix: Looks good to me, but someone else must approve jenkins-bot: Verified Nuria: Looks good to me, but someone else must approve Jforrester: Looks good to me, approved diff --git a/resources/src/mediawiki/mediawiki.user.js b/resources/src/mediawiki/mediawiki.user.js index c4c91f9..d1fa84a 100644 --- a/resources/src/mediawiki/mediawiki.user.js +++ b/resources/src/mediawiki/mediawiki.user.js @@ -118,18 +118,18 @@ }, /** - * Get an automatically generated random ID (stored in a session cookie) + * Get an automatically generated random ID (persisted in sessionStorage) * - * This ID is ephemeral for everyone, staying in their browser only until they close - * their browser. + * This ID is ephemeral for everyone, staying in their browser only until they + * close their browsing session. * * @return {string} Random session ID */ sessionId: function () { - var sessionId = mw.cookie.get( 'mwuser-sessionId' ); - if ( sessionId === null ) { + var sessionId = mw.storage.session.get( 'mwuser-sessionId' ); + if ( !sessionId ) { sessionId = mw.user.generateRandomSessionId(); - mw.cookie.set( 'mwuser-sessionId', sessionId, { expires: null } ); + mw.storage.session.set( 'mwuser-sessionId', sessionId ); } return sessionId; }, diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js index 7f6efa0..bc12642 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js @@ -95,6 +95,13 @@ result2 = mw.user.generateRandomSessionId(); assert.notEqual( result, result2, 'different when called multiple times' ); + } ); + QUnit.test( 'sessionId', function ( assert ) { + var result = mw.user.sessionId(), + result2 = mw.user.sessionId(); + assert.equal( typeof result, 'string', 'type' ); + assert.equal( $.trim( result ), result, 'no leading or trailing whitespace' ); + assert.equal( result2, result, 'retained' ); } ); }( mediaWiki, jQuery ) ); -- To view, visit https://gerrit.wikimedia.org/r/340236 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6fa98ae797481dfaef95ab1ea996ebf057f8d55d Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Krinkle <krinklem...@gmail.com> Gerrit-Reviewer: Awight <awi...@wikimedia.org> Gerrit-Reviewer: Fomafix <foma...@googlemail.com> Gerrit-Reviewer: Gilles <gdu...@wikimedia.org> Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net> Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org> Gerrit-Reviewer: Krinkle <krinklem...@gmail.com> Gerrit-Reviewer: MaxSem <maxsem.w...@gmail.com> Gerrit-Reviewer: Nuria <nu...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits