summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilutin Kristofic <milutin@google.com>2022-05-12 21:39:06 +0200
committerPaladox none <thomasmulhall410@yahoo.com>2022-05-13 12:47:15 +0000
commit74d8d465d82f78ea59de913a952addae87617b7c (patch)
tree794d511ce2789ead124fba36bf13494f8119e319
parent309272bffd71f1f09089e95cb2e9d654d39fcec2 (diff)
Prevent 2 same requests for editing commit message
Currently gr-change-view can get to state when it add twice listener to _handleCommitMessageSave. This results to 2 /message requests with the same content, that currently back-end doesn't process well and change can get corrupted by 2 same patchsets. This is quick fix to disable 2 /message request to be sent. The fix for multiple listeners will be done in following change. Google-Bug-Id: b/231981018 Release-Notes: skip Change-Id: Ib14db7ae3257fc716926c0060d1d749348c56141 (cherry picked from commit cfcf0af437c15d12c9ed2bc9961193afa3af5935)
-rw-r--r--polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts2
-rw-r--r--polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts6
2 files changed, 5 insertions, 3 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts
index d3f29fce7b..ca2e4da899 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts
@@ -944,6 +944,8 @@ export class GrChangeView extends base {
assertIsDefined(this._change, '_change');
if (!this._changeNum)
throw new Error('missing required changeNum property');
+ // to prevent 2 requests at the same time
+ if (this.$.commitMessageEditor.disabled) return;
// Trim trailing whitespace from each line.
const message = e.detail.content.replace(TRAILING_WHITESPACE_REGEX, '');
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
index 80cf8a478b..45a65307fe 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
@@ -1529,7 +1529,7 @@ suite('gr-change-view tests', () => {
);
});
- test('_handleCommitMessageSave trims trailing whitespace', () => {
+ test('_handleCommitMessageSave trims trailing whitespace', async () => {
element._change = createChangeViewChange();
// Response code is 500, because we want to avoid window reloading
const putStub = stubRestApi('putChangeCommitMessage').returns(
@@ -1541,10 +1541,10 @@ suite('gr-change-view tests', () => {
element._handleCommitMessageSave(mockEvent('test \n test '));
assert.equal(putStub.lastCall.args[1], 'test\n test');
-
+ element.$.commitMessageEditor.disabled = false;
element._handleCommitMessageSave(mockEvent(' test\ntest'));
assert.equal(putStub.lastCall.args[1], ' test\ntest');
-
+ element.$.commitMessageEditor.disabled = false;
element._handleCommitMessageSave(mockEvent('\n\n\n\n\n\n\n\n'));
assert.equal(putStub.lastCall.args[1], '\n\n\n\n\n\n\n\n');
});