From 56d256a4670bc8cc22b3fae516aa10c9fb48e410 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Sat, 20 Nov 2021 03:12:07 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- app/assets/javascripts/diffs/components/app.vue | 4 - app/assets/javascripts/diffs/utils/discussions.js | 76 ------------ app/assets/javascripts/experimentation/utils.js | 2 +- .../notes/components/discussion_notes.vue | 90 +++++--------- .../javascripts/notes/components/notes_app.vue | 4 - .../stylesheets/framework/contextual_sidebar.scss | 5 +- app/assets/stylesheets/startup/startup-dark.scss | 5 + .../stylesheets/startup/startup-general.scss | 5 + .../experiment_guide/gitlab_experiment.md | 2 +- doc/development/experiment_guide/index.md | 2 +- doc/development/ruby_upgrade.md | 2 +- .../diffs/components/diff_discussions_spec.js | 4 - spec/frontend/diffs/utils/discussions_spec.js | 133 --------------------- .../notes/components/discussion_notes_spec.js | 4 - .../notes/components/noteable_discussion_spec.js | 10 -- spec/frontend/notes/components/notes_app_spec.js | 4 - 16 files changed, 47 insertions(+), 305 deletions(-) delete mode 100644 app/assets/javascripts/diffs/utils/discussions.js delete mode 100644 spec/frontend/diffs/utils/discussions_spec.js diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue index f405b82b05b..66d06a3a1b6 100644 --- a/app/assets/javascripts/diffs/components/app.vue +++ b/app/assets/javascripts/diffs/components/app.vue @@ -44,7 +44,6 @@ import { TRACKING_MULTIPLE_FILES_MODE, } from '../constants'; -import { discussionIntersectionObserverHandlerFactory } from '../utils/discussions'; import diffsEventHub from '../event_hub'; import { reviewStatuses } from '../utils/file_reviews'; import { diffsApp } from '../utils/performance'; @@ -87,9 +86,6 @@ export default { ALERT_MERGE_CONFLICT, ALERT_COLLAPSED_FILES, }, - provide: { - discussionObserverHandler: discussionIntersectionObserverHandlerFactory(), - }, props: { endpoint: { type: String, diff --git a/app/assets/javascripts/diffs/utils/discussions.js b/app/assets/javascripts/diffs/utils/discussions.js deleted file mode 100644 index c404705d209..00000000000 --- a/app/assets/javascripts/diffs/utils/discussions.js +++ /dev/null @@ -1,76 +0,0 @@ -function normalize(processable) { - const { entry } = processable; - const offset = entry.rootBounds.bottom - entry.boundingClientRect.top; - const direction = - offset < 0 ? 'Up' : 'Down'; /* eslint-disable-line @gitlab/require-i18n-strings */ - - return { - ...processable, - entry: { - time: entry.time, - type: entry.isIntersecting ? 'intersection' : `scroll${direction}`, - }, - }; -} - -function sort({ entry: alpha }, { entry: beta }) { - const diff = alpha.time - beta.time; - let order = 0; - - if (diff < 0) { - order = -1; - } else if (diff > 0) { - order = 1; - } else if (alpha.type === 'intersection' && beta.type === 'scrollUp') { - order = 2; - } else if (alpha.type === 'scrollUp' && beta.type === 'intersection') { - order = -2; - } - - return order; -} - -function filter(entry) { - return entry.type !== 'scrollDown'; -} - -export function discussionIntersectionObserverHandlerFactory() { - let unprocessed = []; - let timer = null; - - return (processable) => { - unprocessed.push(processable); - - if (timer) { - clearTimeout(timer); - } - - timer = setTimeout(() => { - unprocessed - .map(normalize) - .filter(filter) - .sort(sort) - .forEach((discussionObservationContainer) => { - const { - entry: { type }, - currentDiscussion, - isFirstUnresolved, - isDiffsPage, - functions: { setCurrentDiscussionId, getPreviousUnresolvedDiscussionId }, - } = discussionObservationContainer; - - if (type === 'intersection') { - setCurrentDiscussionId(currentDiscussion.id); - } else if (type === 'scrollUp') { - setCurrentDiscussionId( - isFirstUnresolved - ? null - : getPreviousUnresolvedDiscussionId(currentDiscussion.id, isDiffsPage), - ); - } - }); - - unprocessed = []; - }, 0); - }; -} diff --git a/app/assets/javascripts/experimentation/utils.js b/app/assets/javascripts/experimentation/utils.js index 7f2a7ff8e40..69fa7adc653 100644 --- a/app/assets/javascripts/experimentation/utils.js +++ b/app/assets/javascripts/experimentation/utils.js @@ -1,4 +1,4 @@ -// This file only applies to use of experiments through https://gitlab.com/gitlab-org/gitlab-experiment +// This file only applies to use of experiments through https://gitlab.com/gitlab-org/ruby/gems/gitlab-experiment import { get, mapValues, pick } from 'lodash'; import { DEFAULT_VARIANT, CANDIDATE_VARIANT, TRACKING_CONTEXT_SCHEMA } from './constants'; diff --git a/app/assets/javascripts/notes/components/discussion_notes.vue b/app/assets/javascripts/notes/components/discussion_notes.vue index d1df4eb848b..6fcfa66ea49 100644 --- a/app/assets/javascripts/notes/components/discussion_notes.vue +++ b/app/assets/javascripts/notes/components/discussion_notes.vue @@ -1,6 +1,5 @@ @@ -152,35 +122,33 @@ export default { @mouseleave="handleMouseLeave(discussion)" >