From 5333cb6c7c960aac58af40c898c87d050d829383 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 18 Nov 2019 09:06:43 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../notes/components/notes_app.vue | 13 +++- app/assets/javascripts/project_find_file.js | 48 +++++++------ app/views/layouts/_flash.html.haml | 2 +- .../20081-add-mb-2-class-to-global-alerts.yml | 5 ++ ...tes-in-collapsed-discussions-dont-work.yml | 5 ++ .../geo/replication/troubleshooting.md | 13 ++-- .../graphql/reference/gitlab_schema.graphql | 9 ++- doc/api/graphql/reference/gitlab_schema.json | 22 +++++- doc/ci/img/junit_test_report_ui.png | Bin 84300 -> 0 bytes .../pipelines_junit_test_report_ui_v12_5.png | Bin 0 -> 15957 bytes doc/ci/junit_test_reports.md | 2 +- doc/development/api_graphql_styleguide.md | 26 +++++++ locale/gitlab.pot | 9 +++ .../notes/components/note_app_spec.js | 24 ++++++- spec/javascripts/search_autocomplete_spec.js | 68 +++++++----------- 15 files changed, 163 insertions(+), 83 deletions(-) create mode 100644 changelogs/unreleased/20081-add-mb-2-class-to-global-alerts.yml create mode 100644 changelogs/unreleased/28985-links-to-notes-in-collapsed-discussions-dont-work.yml delete mode 100644 doc/ci/img/junit_test_report_ui.png create mode 100644 doc/ci/img/pipelines_junit_test_report_ui_v12_5.png diff --git a/app/assets/javascripts/notes/components/notes_app.vue b/app/assets/javascripts/notes/components/notes_app.vue index c6c97489e5e..9d1de4ef8a0 100644 --- a/app/assets/javascripts/notes/components/notes_app.vue +++ b/app/assets/javascripts/notes/components/notes_app.vue @@ -122,6 +122,8 @@ export default { this.toggleAward({ awardName, noteId }); }); } + + window.addEventListener('hashchange', this.handleHashChanged); }, updated() { this.$nextTick(() => { @@ -131,6 +133,7 @@ export default { }, beforeDestroy() { this.stopPolling(); + window.removeEventListener('hashchange', this.handleHashChanged); }, methods: { ...mapActions([ @@ -138,7 +141,6 @@ export default { 'fetchDiscussions', 'poll', 'toggleAward', - 'scrollToNoteIfNeeded', 'setNotesData', 'setNoteableData', 'setUserData', @@ -151,6 +153,13 @@ export default { 'convertToDiscussion', 'stopPolling', ]), + handleHashChanged() { + const noteId = this.checkLocationHash(); + + if (noteId) { + this.setTargetNoteHash(getLocationHash()); + } + }, fetchNotes() { if (this.isFetching) return null; @@ -194,6 +203,8 @@ export default { this.expandDiscussion({ discussionId: discussion.id }); } } + + return noteId; }, startReplying(discussionId) { return this.convertToDiscussion(discussionId) diff --git a/app/assets/javascripts/project_find_file.js b/app/assets/javascripts/project_find_file.js index 58f088444d0..031c54d2336 100644 --- a/app/assets/javascripts/project_find_file.js +++ b/app/assets/javascripts/project_find_file.js @@ -1,4 +1,4 @@ -/* eslint-disable func-names, no-var, consistent-return, one-var, no-cond-assign, no-return-assign */ +/* eslint-disable func-names, consistent-return, no-return-assign */ import $ from 'jquery'; import fuzzaldrinPlus from 'fuzzaldrin-plus'; @@ -9,9 +9,12 @@ import sanitize from 'sanitize-html'; // highlight text(awefwbwgtc -> awefwbwgtc ) const highlighter = function(element, text, matches) { - var j, lastIndex, len, matchIndex, matchedChars, unmatched; - lastIndex = 0; - matchedChars = []; + let j = 0; + let len = 0; + let lastIndex = 0; + let matchedChars = []; + let matchIndex = matches[j]; + let unmatched = text.substring(lastIndex, matchIndex); for (j = 0, len = matches.length; j < len; j += 1) { matchIndex = matches[j]; unmatched = text.substring(lastIndex, matchIndex); @@ -55,10 +58,10 @@ export default class ProjectFindFile { 'keyup', (function(_this) { return function(event) { - var oldValue, ref, target, value; - target = $(event.target); - value = target.val(); - oldValue = (ref = target.data('oldValue')) != null ? ref : ''; + const target = $(event.target); + const value = target.val(); + const ref = target.data('oldValue'); + const oldValue = ref != null ? ref : ''; if (value !== oldValue) { target.data('oldValue', value); _this.findFile(); @@ -74,9 +77,8 @@ export default class ProjectFindFile { } findFile() { - var result, searchText; - searchText = sanitize(this.inputElement.val()); - result = + const searchText = sanitize(this.inputElement.val()); + const result = searchText.length > 0 ? fuzzaldrinPlus.filter(this.filePaths, searchText) : this.filePaths; return this.renderList(result, searchText); // find file @@ -101,20 +103,21 @@ export default class ProjectFindFile { // render result renderList(filePaths, searchText) { - var blobItemUrl, filePath, html, i, len, matches, results; + let i = 0; + let len = 0; + let matches = []; + const results = []; this.element.find('.tree-table > tbody').empty(); - results = []; - for (i = 0, len = filePaths.length; i < len; i += 1) { - filePath = filePaths[i]; + const filePath = filePaths[i]; if (i === 20) { break; } if (searchText) { matches = fuzzaldrinPlus.match(filePath, searchText); } - blobItemUrl = `${this.options.blobUrlTemplate}/${encodeURIComponent(filePath)}`; - html = ProjectFindFile.makeHtml(filePath, matches, blobItemUrl); + const blobItemUrl = `${this.options.blobUrlTemplate}/${encodeURIComponent(filePath)}`; + const html = ProjectFindFile.makeHtml(filePath, matches, blobItemUrl); results.push(this.element.find('.tree-table > tbody').append(html)); } @@ -125,8 +128,7 @@ export default class ProjectFindFile { // make tbody row html static makeHtml(filePath, matches, blobItemUrl) { - var $tr; - $tr = $( + const $tr = $( "", ); if (matches) { @@ -141,9 +143,9 @@ export default class ProjectFindFile { } selectRow(type) { - var next, rows, selectedRow; - rows = this.element.find('.files-slider tr.tree-item'); - selectedRow = this.element.find('.files-slider tr.tree-item.selected'); + const rows = this.element.find('.files-slider tr.tree-item'); + let selectedRow = this.element.find('.files-slider tr.tree-item.selected'); + let next = selectedRow.prev(); if (rows && rows.length > 0) { if (selectedRow && selectedRow.length > 0) { if (type === 'UP') { @@ -175,7 +177,7 @@ export default class ProjectFindFile { } goToBlob() { - var $link = this.element.find('.tree-item.selected .tree-item-file-name a'); + const $link = this.element.find('.tree-item.selected .tree-item-file-name a'); if ($link.length) { $link.get(0).click(); diff --git a/app/views/layouts/_flash.html.haml b/app/views/layouts/_flash.html.haml index a0815f3a565..a0b030fa3b2 100644 --- a/app/views/layouts/_flash.html.haml +++ b/app/views/layouts/_flash.html.haml @@ -3,7 +3,7 @@ - flash.each do |key, value| -# Don't show a flash message if the message is nil - if value - %div{ class: "flash-#{key}" } + %div{ class: "flash-#{key} mb-2" } %span= value %div{ class: "close-icon-wrapper js-close-icon" } = sprite_icon('close', size: 16, css_class: 'close-icon') diff --git a/changelogs/unreleased/20081-add-mb-2-class-to-global-alerts.yml b/changelogs/unreleased/20081-add-mb-2-class-to-global-alerts.yml new file mode 100644 index 00000000000..2aea916402e --- /dev/null +++ b/changelogs/unreleased/20081-add-mb-2-class-to-global-alerts.yml @@ -0,0 +1,5 @@ +--- +title: Add mb-2 class to global alerts +merge_request: 20081 +author: 2knal +type: other diff --git a/changelogs/unreleased/28985-links-to-notes-in-collapsed-discussions-dont-work.yml b/changelogs/unreleased/28985-links-to-notes-in-collapsed-discussions-dont-work.yml new file mode 100644 index 00000000000..46d1e94829b --- /dev/null +++ b/changelogs/unreleased/28985-links-to-notes-in-collapsed-discussions-dont-work.yml @@ -0,0 +1,5 @@ +--- +title: Fix expanding collapsed threads when reference link clicked +merge_request: 20148 +author: +type: fixed diff --git a/doc/administration/geo/replication/troubleshooting.md b/doc/administration/geo/replication/troubleshooting.md index 5c40a4441b6..d2fe02abbab 100644 --- a/doc/administration/geo/replication/troubleshooting.md +++ b/doc/administration/geo/replication/troubleshooting.md @@ -366,7 +366,7 @@ to start again from scratch, there are a few steps that can help you: gitlab-ctl tail sidekiq ``` -1. Rename repository storage folders and create new ones +1. Rename repository storage folders and create new ones. If you are not concerned about possible orphaned directories and files, then you can simply skip this step. ```sh mv /var/opt/gitlab/git-data/repositories /var/opt/gitlab/git-data/repositories.old @@ -413,7 +413,9 @@ to start again from scratch, there are a few steps that can help you: 1. Reset the Tracking Database ```sh - gitlab-rake geo:db:reset + gitlab-rake geo:db:drop + gitlab-ctl reconfigure + gitlab-rake geo:db:setup ``` 1. Restart previously stopped services @@ -653,13 +655,6 @@ Geo cannot reuse an existing tracking database. It is safest to use a fresh secondary, or reset the whole secondary by following [Resetting Geo secondary node replication](#resetting-geo-secondary-node-replication). -If you are not concerned about possible orphaned directories and files, then you -can simply reset the existing tracking database with: - -```sh -sudo gitlab-rake geo:db:reset -``` - ### Geo node has a database that is writable which is an indication it is not configured for replication with the primary node This error refers to a problem with the database replica on a **secondary** node, diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql index ecb7f04318a..f79122538a8 100644 --- a/doc/api/graphql/reference/gitlab_schema.graphql +++ b/doc/api/graphql/reference/gitlab_schema.graphql @@ -539,7 +539,7 @@ type DesignCollection { """ Filters designs to only those that existed at the version. If argument is - omitted or nil then all designs will reflect the latest version. + omitted or nil then all designs will reflect the latest version """ atVersion: ID @@ -548,13 +548,18 @@ type DesignCollection { """ before: String + """ + Filters designs by their filename + """ + filenames: [String!] + """ Returns the first _n_ elements from the list. """ first: Int """ - The list of IDs of designs. + Filters designs by their ID """ ids: [ID!] diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json index b8d788fb6ec..eee98255367 100644 --- a/doc/api/graphql/reference/gitlab_schema.json +++ b/doc/api/graphql/reference/gitlab_schema.json @@ -7979,7 +7979,7 @@ "args": [ { "name": "ids", - "description": "The list of IDs of designs.", + "description": "Filters designs by their ID", "type": { "kind": "LIST", "name": null, @@ -7995,9 +7995,27 @@ }, "defaultValue": null }, + { + "name": "filenames", + "description": "Filters designs by their filename", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, { "name": "atVersion", - "description": "Filters designs to only those that existed at the version. If argument is omitted or nil then all designs will reflect the latest version.", + "description": "Filters designs to only those that existed at the version. If argument is omitted or nil then all designs will reflect the latest version", "type": { "kind": "SCALAR", "name": "ID", diff --git a/doc/ci/img/junit_test_report_ui.png b/doc/ci/img/junit_test_report_ui.png deleted file mode 100644 index 380c6bbb89c7e11a028e1debd9350785ede2a34a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84300 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%0DTy-=!b8>CqBBEb?kuSKI#5OfZ5 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 l2x>-n3xAY28Rf`MF;Ie{sJI8b436E diff --git a/doc/ci/img/pipelines_junit_test_report_ui_v12_5.png b/doc/ci/img/pipelines_junit_test_report_ui_v12_5.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1e3254f8ba387ede586eed0ab82cf18625deef GIT binary patch literal 15957 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 { components: { NotesApp, }, - template: '
', + template: `
+ +
`, }, { attachToDocument: true, @@ -313,4 +316,23 @@ describe('note_app', () => { }); }); }); + + describe('mounted', () => { + beforeEach(() => { + axiosMock.onAny().reply(mockData.getIndividualNoteResponse); + wrapper = mountComponent(); + return waitForDiscussionsRequest(); + }); + + it('should listen hashchange event', () => { + const notesApp = wrapper.find(NotesApp); + const hash = 'some dummy hash'; + jest.spyOn(urlUtility, 'getLocationHash').mockReturnValueOnce(hash); + const setTargetNoteHash = jest.spyOn(notesApp.vm, 'setTargetNoteHash'); + + window.dispatchEvent(new Event('hashchange'), hash); + + expect(setTargetNoteHash).toHaveBeenCalled(); + }); + }); }); diff --git a/spec/javascripts/search_autocomplete_spec.js b/spec/javascripts/search_autocomplete_spec.js index 9702cb56d99..1798f9962e2 100644 --- a/spec/javascripts/search_autocomplete_spec.js +++ b/spec/javascripts/search_autocomplete_spec.js @@ -1,4 +1,4 @@ -/* eslint-disable no-var, one-var, no-unused-expressions, consistent-return, no-param-reassign, default-case, no-return-assign, vars-on-top */ +/* eslint-disable no-unused-expressions, consistent-return, no-param-reassign, default-case, no-return-assign */ import $ from 'jquery'; import '~/gl_dropdown'; @@ -6,41 +6,27 @@ import initSearchAutocomplete from '~/search_autocomplete'; import '~/lib/utils/common_utils'; describe('Search autocomplete dropdown', () => { - var assertLinks, - dashboardIssuesPath, - dashboardMRsPath, - groupIssuesPath, - groupMRsPath, - groupName, - mockDashboardOptions, - mockGroupOptions, - mockProjectOptions, - projectIssuesPath, - projectMRsPath, - projectName, - userId, - widget; - var userName = 'root'; + let widget = null; - widget = null; + const userName = 'root'; - userId = 1; + const userId = 1; - dashboardIssuesPath = '/dashboard/issues'; + const dashboardIssuesPath = '/dashboard/issues'; - dashboardMRsPath = '/dashboard/merge_requests'; + const dashboardMRsPath = '/dashboard/merge_requests'; - projectIssuesPath = '/gitlab-org/gitlab-foss/issues'; + const projectIssuesPath = '/gitlab-org/gitlab-foss/issues'; - projectMRsPath = '/gitlab-org/gitlab-foss/merge_requests'; + const projectMRsPath = '/gitlab-org/gitlab-foss/merge_requests'; - groupIssuesPath = '/groups/gitlab-org/issues'; + const groupIssuesPath = '/groups/gitlab-org/issues'; - groupMRsPath = '/groups/gitlab-org/merge_requests'; + const groupMRsPath = '/groups/gitlab-org/merge_requests'; - projectName = 'GitLab Community Edition'; + const projectName = 'GitLab Community Edition'; - groupName = 'Gitlab Org'; + const groupName = 'Gitlab Org'; const removeBodyAttributes = function() { const $body = $('body'); @@ -76,7 +62,7 @@ describe('Search autocomplete dropdown', () => { }; // Mock `gl` object in window for dashboard specific page. App code will need it. - mockDashboardOptions = function() { + const mockDashboardOptions = function() { window.gl || (window.gl = {}); return (window.gl.dashboardOptions = { issuesPath: dashboardIssuesPath, @@ -85,7 +71,7 @@ describe('Search autocomplete dropdown', () => { }; // Mock `gl` object in window for project specific page. App code will need it. - mockProjectOptions = function() { + const mockProjectOptions = function() { window.gl || (window.gl = {}); return (window.gl.projectOptions = { 'gitlab-ce': { @@ -96,7 +82,7 @@ describe('Search autocomplete dropdown', () => { }); }; - mockGroupOptions = function() { + const mockGroupOptions = function() { window.gl || (window.gl = {}); return (window.gl.groupOptions = { 'gitlab-org': { @@ -107,7 +93,7 @@ describe('Search autocomplete dropdown', () => { }); }; - assertLinks = function(list, issuesPath, mrsPath) { + const assertLinks = function(list, issuesPath, mrsPath) { if (issuesPath) { const issuesAssignedToMeLink = `a[href="${issuesPath}/?assignee_username=${userName}"]`; const issuesIHaveCreatedLink = `a[href="${issuesPath}/?author_username=${userName}"]`; @@ -144,29 +130,26 @@ describe('Search autocomplete dropdown', () => { }); it('should show Dashboard specific dropdown menu', function() { - var list; addBodyAttributes(); mockDashboardOptions(); widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); + const list = widget.wrap.find('.dropdown-menu').find('ul'); return assertLinks(list, dashboardIssuesPath, dashboardMRsPath); }); it('should show Group specific dropdown menu', function() { - var list; addBodyAttributes('group'); mockGroupOptions(); widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); + const list = widget.wrap.find('.dropdown-menu').find('ul'); return assertLinks(list, groupIssuesPath, groupMRsPath); }); it('should show Project specific dropdown menu', function() { - var list; addBodyAttributes('project'); mockProjectOptions(); widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); + const list = widget.wrap.find('.dropdown-menu').find('ul'); return assertLinks(list, projectIssuesPath, projectMRsPath); }); @@ -180,26 +163,25 @@ describe('Search autocomplete dropdown', () => { }); it('should not show category related menu if there is text in the input', function() { - var link, list; addBodyAttributes('project'); mockProjectOptions(); widget.searchInput.val('help'); widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); - link = `a[href='${projectIssuesPath}/?assignee_username=${userName}']`; + const list = widget.wrap.find('.dropdown-menu').find('ul'); + const link = `a[href='${projectIssuesPath}/?assignee_username=${userName}']`; expect(list.find(link).length).toBe(0); }); it('should not submit the search form when selecting an autocomplete row with the keyboard', function() { - var ENTER = 13; - var DOWN = 40; + const ENTER = 13; + const DOWN = 40; addBodyAttributes(); mockDashboardOptions(true); - var submitSpy = spyOnEvent('form', 'submit'); + const submitSpy = spyOnEvent('form', 'submit'); widget.searchInput.triggerHandler('focus'); widget.wrap.trigger($.Event('keydown', { which: DOWN })); - var enterKeyEvent = $.Event('keydown', { which: ENTER }); + const enterKeyEvent = $.Event('keydown', { which: ENTER }); widget.searchInput.trigger(enterKeyEvent); // This does not currently catch failing behavior. For security reasons, // browsers will not trigger default behavior (form submit, in this