Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
6d60f910
Commit
6d60f910
authored
Oct 02, 2019
by
GitLab Bot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add latest changes from gitlab-org/gitlab@master
parent
de2ae315
Changes
39
Hide whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
89 additions
and
124 deletions
+89
-124
app/assets/javascripts/boards/components/issue_time_estimate.vue
...ets/javascripts/boards/components/issue_time_estimate.vue
+1
-1
app/assets/javascripts/cycle_analytics/components/stage_card_list_item.vue
...ripts/cycle_analytics/components/stage_card_list_item.vue
+1
-1
app/assets/javascripts/error_tracking/components/error_tracking_list.vue
...scripts/error_tracking/components/error_tracking_list.vue
+1
-1
app/assets/javascripts/groups/components/item_actions.vue
app/assets/javascripts/groups/components/item_actions.vue
+2
-2
app/assets/javascripts/ide/components/commit_sidebar/list_collapsed.vue
...ascripts/ide/components/commit_sidebar/list_collapsed.vue
+2
-2
app/assets/javascripts/ide/components/commit_sidebar/list_item.vue
...s/javascripts/ide/components/commit_sidebar/list_item.vue
+1
-1
app/assets/javascripts/ide/components/external_link.vue
app/assets/javascripts/ide/components/external_link.vue
+1
-1
app/assets/javascripts/ide/components/file_row_extra.vue
app/assets/javascripts/ide/components/file_row_extra.vue
+1
-1
app/assets/javascripts/ide/components/jobs/stage.vue
app/assets/javascripts/ide/components/jobs/stage.vue
+1
-1
app/assets/javascripts/ide/components/mr_file_icon.vue
app/assets/javascripts/ide/components/mr_file_icon.vue
+1
-1
app/assets/javascripts/ide/components/new_dropdown/button.vue
...assets/javascripts/ide/components/new_dropdown/button.vue
+1
-1
app/assets/javascripts/ide/components/repo_file_status_icon.vue
...sets/javascripts/ide/components/repo_file_status_icon.vue
+1
-1
app/assets/javascripts/notes/components/note_actions.vue
app/assets/javascripts/notes/components/note_actions.vue
+5
-5
app/assets/javascripts/notes/components/note_actions/reply_button.vue
...avascripts/notes/components/note_actions/reply_button.vue
+1
-1
app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
...javascripts/set_status_modal/set_status_modal_wrapper.vue
+3
-3
app/assets/javascripts/sidebar/components/todo_toggle/todo.vue
...ssets/javascripts/sidebar/components/todo_toggle/todo.vue
+1
-5
app/assets/javascripts/vue_merge_request_widget/components/review_app_link.vue
...s/vue_merge_request_widget/components/review_app_link.vue
+1
-1
app/assets/javascripts/vue_shared/components/changed_file_icon.vue
...s/javascripts/vue_shared/components/changed_file_icon.vue
+1
-1
app/assets/javascripts/vue_shared/components/ci_icon.vue
app/assets/javascripts/vue_shared/components/ci_icon.vue
+1
-1
app/assets/javascripts/vue_shared/components/content_viewer/viewers/download_viewer.vue
...red/components/content_viewer/viewers/download_viewer.vue
+1
-1
app/assets/javascripts/vue_shared/components/file_icon.vue
app/assets/javascripts/vue_shared/components/file_icon.vue
+1
-1
app/assets/javascripts/vue_shared/components/icon.vue
app/assets/javascripts/vue_shared/components/icon.vue
+3
-49
app/assets/javascripts/vue_shared/components/issue/related_issuable_item.vue
...pts/vue_shared/components/issue/related_issuable_item.vue
+2
-2
app/assets/javascripts/vue_shared/components/toggle_button.vue
...ssets/javascripts/vue_shared/components/toggle_button.vue
+1
-1
app/assets/javascripts/vue_shared/components/user_popover/user_popover.vue
...ripts/vue_shared/components/user_popover/user_popover.vue
+3
-7
config/initializers/0_inflections.rb
config/initializers/0_inflections.rb
+1
-0
config/initializers/7_prometheus_metrics.rb
config/initializers/7_prometheus_metrics.rb
+2
-0
doc/development/fe_guide/icons.md
doc/development/fe_guide/icons.md
+2
-2
lib/gitlab/metrics/requests_rack_middleware.rb
lib/gitlab/metrics/requests_rack_middleware.rb
+20
-0
qa/qa/specs/features/api/1_manage/rate_limits_spec.rb
qa/qa/specs/features/api/1_manage/rate_limits_spec.rb
+2
-5
qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb
...s/api/3_create/repository/project_archive_compare_spec.rb
+1
-1
spec/frontend/notes/components/__snapshots__/discussion_jump_to_next_button_spec.js.snap
...__snapshots__/discussion_jump_to_next_button_spec.js.snap
+0
-1
spec/frontend/sidebar/__snapshots__/confidential_issue_sidebar_spec.js.snap
...bar/__snapshots__/confidential_issue_sidebar_spec.js.snap
+0
-8
spec/frontend/sidebar/__snapshots__/todo_spec.js.snap
spec/frontend/sidebar/__snapshots__/todo_spec.js.snap
+1
-1
spec/frontend/sidebar/todo_spec.js
spec/frontend/sidebar/todo_spec.js
+6
-1
spec/frontend/vue_shared/components/changed_file_icon_spec.js
.../frontend/vue_shared/components/changed_file_icon_spec.js
+1
-4
spec/frontend/vue_shared/components/file_icon_spec.js
spec/frontend/vue_shared/components/file_icon_spec.js
+1
-1
spec/javascripts/vue_shared/components/icon_spec.js
spec/javascripts/vue_shared/components/icon_spec.js
+0
-8
spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb
spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb
+14
-0
No files found.
app/assets/javascripts/boards/components/issue_time_estimate.vue
View file @
6d60f910
...
@@ -34,7 +34,7 @@ export default {
...
@@ -34,7 +34,7 @@ export default {
<
template
>
<
template
>
<span>
<span>
<span
ref=
"issueTimeEstimate"
class=
"board-card-info card-number"
>
<span
ref=
"issueTimeEstimate"
class=
"board-card-info card-number"
>
<icon
name=
"hourglass"
c
ss-classe
s=
"board-card-info-icon align-top"
/><time
<icon
name=
"hourglass"
c
las
s=
"board-card-info-icon align-top"
/><time
class=
"board-card-info-text"
class=
"board-card-info-text"
>
{{
timeEstimate
}}
</time
>
{{
timeEstimate
}}
</time
>
>
...
...
app/assets/javascripts/cycle_analytics/components/stage_card_list_item.vue
View file @
6d60f910
...
@@ -34,7 +34,7 @@ export default {
...
@@ -34,7 +34,7 @@ export default {
class=
"more-actions-toggle btn btn-transparent p-0"
class=
"more-actions-toggle btn btn-transparent p-0"
data-toggle=
"dropdown"
data-toggle=
"dropdown"
>
>
<icon
c
ss-classe
s=
"icon"
name=
"ellipsis_v"
/>
<icon
c
las
s=
"icon"
name=
"ellipsis_v"
/>
</gl-button>
</gl-button>
<ul
class=
"more-actions-dropdown dropdown-menu dropdown-open-left"
>
<ul
class=
"more-actions-dropdown dropdown-menu dropdown-open-left"
>
<slot
name=
"dropdown-options"
></slot>
<slot
name=
"dropdown-options"
></slot>
...
...
app/assets/javascripts/error_tracking/components/error_tracking_list.vue
View file @
6d60f910
...
@@ -100,7 +100,7 @@ export default {
...
@@ -100,7 +100,7 @@ export default {
<
template
slot=
"lastSeen"
slot-scope=
"errors"
>
<
template
slot=
"lastSeen"
slot-scope=
"errors"
>
<div
class=
"d-flex align-items-center"
>
<div
class=
"d-flex align-items-center"
>
<icon
name=
"calendar"
c
ss-classe
s=
"text-secondary mr-1"
/>
<icon
name=
"calendar"
c
las
s=
"text-secondary mr-1"
/>
<time-ago
:time=
"errors.item.lastSeen"
class=
"text-secondary"
/>
<time-ago
:time=
"errors.item.lastSeen"
class=
"text-secondary"
/>
</div>
</div>
</
template
>
</
template
>
...
...
app/assets/javascripts/groups/components/item_actions.vue
View file @
6d60f910
...
@@ -56,7 +56,7 @@ export default {
...
@@ -56,7 +56,7 @@ export default {
class=
"leave-group btn btn-xs no-expand"
class=
"leave-group btn btn-xs no-expand"
@
click.prevent=
"onLeaveGroup"
@
click.prevent=
"onLeaveGroup"
>
>
<icon
name=
"leave"
c
ss-classe
s=
"position-top-0"
/>
<icon
name=
"leave"
c
las
s=
"position-top-0"
/>
</a>
</a>
<a
<a
v-if=
"group.canEdit"
v-if=
"group.canEdit"
...
@@ -68,7 +68,7 @@ export default {
...
@@ -68,7 +68,7 @@ export default {
data-placement=
"bottom"
data-placement=
"bottom"
class=
"edit-group btn btn-xs no-expand"
class=
"edit-group btn btn-xs no-expand"
>
>
<icon
name=
"settings"
c
ss-classe
s=
"position-top-0"
/>
<icon
name=
"settings"
c
las
s=
"position-top-0"
/>
</a>
</a>
</div>
</div>
</
template
>
</
template
>
app/assets/javascripts/ide/components/commit_sidebar/list_collapsed.vue
View file @
6d60f910
...
@@ -86,7 +86,7 @@ export default {
...
@@ -86,7 +86,7 @@ export default {
data-placement=
"left"
data-placement=
"left"
class=
"append-bottom-10"
class=
"append-bottom-10"
>
>
<icon
:name=
"additionIconName"
:size=
"18"
:c
ss-classe
s=
"addedFilesIconClass"
/>
<icon
:name=
"additionIconName"
:size=
"18"
:c
las
s=
"addedFilesIconClass"
/>
</div>
</div>
{{
addedFilesLength
}}
{{
addedFilesLength
}}
<div
<div
...
@@ -96,7 +96,7 @@ export default {
...
@@ -96,7 +96,7 @@ export default {
data-placement=
"left"
data-placement=
"left"
class=
"prepend-top-10 append-bottom-10"
class=
"prepend-top-10 append-bottom-10"
>
>
<icon
:name=
"modifiedIconName"
:size=
"18"
:c
ss-classe
s=
"modifiedFilesClass"
/>
<icon
:name=
"modifiedIconName"
:size=
"18"
:c
las
s=
"modifiedFilesClass"
/>
</div>
</div>
{{
modifiedFilesLength
}}
{{
modifiedFilesLength
}}
</div>
</div>
...
...
app/assets/javascripts/ide/components/commit_sidebar/list_item.vue
View file @
6d60f910
...
@@ -114,7 +114,7 @@ export default {
...
@@ -114,7 +114,7 @@ export default {
</span>
</span>
<div
class=
"ml-auto d-flex align-items-center"
>
<div
class=
"ml-auto d-flex align-items-center"
>
<div
class=
"d-flex align-items-center ide-commit-list-changed-icon"
>
<div
class=
"d-flex align-items-center ide-commit-list-changed-icon"
>
<icon
:name=
"iconName"
:size=
"16"
:c
ss-classe
s=
"iconClass"
/>
<icon
:name=
"iconName"
:size=
"16"
:c
las
s=
"iconClass"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
app/assets/javascripts/ide/components/external_link.vue
View file @
6d60f910
...
@@ -28,7 +28,7 @@ export default {
...
@@ -28,7 +28,7 @@ export default {
rel=
"noopener noreferrer"
rel=
"noopener noreferrer"
>
>
<span
class=
"vertical-align-middle"
>
{{
__
(
'
Open in file view
'
)
}}
</span>
<span
class=
"vertical-align-middle"
>
{{
__
(
'
Open in file view
'
)
}}
</span>
<icon
:size=
"16"
name=
"external-link"
c
ss-classe
s=
"vertical-align-middle space-right"
/>
<icon
:size=
"16"
name=
"external-link"
c
las
s=
"vertical-align-middle space-right"
/>
</a>
</a>
</div>
</div>
</
template
>
</
template
>
app/assets/javascripts/ide/components/file_row_extra.vue
View file @
6d60f910
...
@@ -79,7 +79,7 @@ export default {
...
@@ -79,7 +79,7 @@ export default {
data-container=
"body"
data-container=
"body"
data-placement=
"right"
data-placement=
"right"
name=
"file-modified"
name=
"file-modified"
c
ss-classe
s=
"prepend-left-5 ide-file-modified"
c
las
s=
"prepend-left-5 ide-file-modified"
/>
/>
</span>
</span>
<changed-file-icon
<changed-file-icon
...
...
app/assets/javascripts/ide/components/jobs/stage.vue
View file @
6d60f910
...
@@ -77,7 +77,7 @@ export default {
...
@@ -77,7 +77,7 @@ export default {
<div
v-if=
"!stage.isLoading || stage.jobs.length"
class=
"append-right-8 prepend-left-4"
>
<div
v-if=
"!stage.isLoading || stage.jobs.length"
class=
"append-right-8 prepend-left-4"
>
<span
class=
"badge badge-pill"
>
{{
jobsCount
}}
</span>
<span
class=
"badge badge-pill"
>
{{
jobsCount
}}
</span>
</div>
</div>
<icon
:name=
"collapseIcon"
c
ss-classe
s=
"ide-stage-collapse-icon"
/>
<icon
:name=
"collapseIcon"
c
las
s=
"ide-stage-collapse-icon"
/>
</div>
</div>
<div
v-show=
"!stage.isCollapsed"
class=
"card-body"
>
<div
v-show=
"!stage.isCollapsed"
class=
"card-body"
>
<gl-loading-icon
v-if=
"showLoadingIcon"
/>
<gl-loading-icon
v-if=
"showLoadingIcon"
/>
...
...
app/assets/javascripts/ide/components/mr_file_icon.vue
View file @
6d60f910
...
@@ -18,6 +18,6 @@ export default {
...
@@ -18,6 +18,6 @@ export default {
:title=
"__('Part of merge request changes')"
:title=
"__('Part of merge request changes')"
:size=
"12"
:size=
"12"
name=
"git-merge"
name=
"git-merge"
c
ss-classe
s=
"append-right-8"
c
las
s=
"append-right-8"
/>
/>
</
template
>
</
template
>
app/assets/javascripts/ide/components/new_dropdown/button.vue
View file @
6d60f910
...
@@ -52,7 +52,7 @@ export default {
...
@@ -52,7 +52,7 @@ export default {
class=
"btn-blank"
class=
"btn-blank"
@
click.stop.prevent=
"clicked"
@
click.stop.prevent=
"clicked"
>
>
<icon
:name=
"icon"
:c
ss-classe
s=
"iconClasses"
/>
<icon
:name=
"icon"
:c
las
s=
"iconClasses"
/>
<template
v-if=
"showLabel"
>
<template
v-if=
"showLabel"
>
{{
label
}}
{{
label
}}
</
template
>
</
template
>
...
...
app/assets/javascripts/ide/components/repo_file_status_icon.vue
View file @
6d60f910
...
@@ -29,6 +29,6 @@ export default {
...
@@ -29,6 +29,6 @@ export default {
<
template
>
<
template
>
<span
v-if=
"file.file_lock"
v-tooltip
:title=
"lockTooltip"
data-container=
"body"
>
<span
v-if=
"file.file_lock"
v-tooltip
:title=
"lockTooltip"
data-container=
"body"
>
<icon
name=
"lock"
c
ss-classe
s=
"file-status-icon"
/>
<icon
name=
"lock"
c
las
s=
"file-status-icon"
/>
</span>
</span>
</
template
>
</
template
>
app/assets/javascripts/notes/components/note_actions.vue
View file @
6d60f910
...
@@ -149,9 +149,9 @@ export default {
...
@@ -149,9 +149,9 @@ export default {
title=
"Add reaction"
title=
"Add reaction"
data-position=
"right"
data-position=
"right"
>
>
<icon
c
ss-classe
s=
"link-highlight award-control-icon-neutral"
name=
"slight-smile"
/>
<icon
c
las
s=
"link-highlight award-control-icon-neutral"
name=
"slight-smile"
/>
<icon
c
ss-classe
s=
"link-highlight award-control-icon-positive"
name=
"smiley"
/>
<icon
c
las
s=
"link-highlight award-control-icon-positive"
name=
"smiley"
/>
<icon
c
ss-classe
s=
"link-highlight award-control-icon-super-positive"
name=
"smiley"
/>
<icon
c
las
s=
"link-highlight award-control-icon-super-positive"
name=
"smiley"
/>
</a>
</a>
</div>
</div>
<reply-button
<reply-button
...
@@ -168,7 +168,7 @@ export default {
...
@@ -168,7 +168,7 @@ export default {
class=
"note-action-button js-note-edit btn btn-transparent qa-note-edit-button"
class=
"note-action-button js-note-edit btn btn-transparent qa-note-edit-button"
@
click=
"onEdit"
@
click=
"onEdit"
>
>
<icon
name=
"pencil"
c
ss-classe
s=
"link-highlight"
/>
<icon
name=
"pencil"
c
las
s=
"link-highlight"
/>
</button>
</button>
</div>
</div>
<div
v-if=
"showDeleteAction"
class=
"note-actions-item"
>
<div
v-if=
"showDeleteAction"
class=
"note-actions-item"
>
...
@@ -191,7 +191,7 @@ export default {
...
@@ -191,7 +191,7 @@ export default {
data-toggle=
"dropdown"
data-toggle=
"dropdown"
@
click=
"closeTooltip"
@
click=
"closeTooltip"
>
>
<icon
c
ss-classe
s=
"icon"
name=
"ellipsis_v"
/>
<icon
c
las
s=
"icon"
name=
"ellipsis_v"
/>
</button>
</button>
<ul
class=
"dropdown-menu more-actions-dropdown dropdown-open-left"
>
<ul
class=
"dropdown-menu more-actions-dropdown dropdown-open-left"
>
<li
v-if=
"canReportAsAbuse"
>
<li
v-if=
"canReportAsAbuse"
>
...
...
app/assets/javascripts/notes/components/note_actions/reply_button.vue
View file @
6d60f910
...
@@ -26,7 +26,7 @@ export default {
...
@@ -26,7 +26,7 @@ export default {
:title=
"__('Reply to comment')"
:title=
"__('Reply to comment')"
@
click=
"$emit('startReplying')"
@
click=
"$emit('startReplying')"
>
>
<icon
name=
"comment"
c
ss-classe
s=
"link-highlight"
/>
<icon
name=
"comment"
c
las
s=
"link-highlight"
/>
</gl-button>
</gl-button>
</div>
</div>
</
template
>
</
template
>
app/assets/javascripts/set_status_modal/set_status_modal_wrapper.vue
View file @
6d60f910
...
@@ -194,9 +194,9 @@ export default {
...
@@ -194,9 +194,9 @@ export default {
v-show=
"noEmoji"
v-show=
"noEmoji"
class=
"js-no-emoji-placeholder no-emoji-placeholder position-relative"
class=
"js-no-emoji-placeholder no-emoji-placeholder position-relative"
>
>
<icon
name=
"slight-smile"
c
ss-classe
s=
"award-control-icon-neutral"
/>
<icon
name=
"slight-smile"
c
las
s=
"award-control-icon-neutral"
/>
<icon
name=
"smiley"
c
ss-classe
s=
"award-control-icon-positive"
/>
<icon
name=
"smiley"
c
las
s=
"award-control-icon-positive"
/>
<icon
name=
"smile"
c
ss-classe
s=
"award-control-icon-super-positive"
/>
<icon
name=
"smile"
c
las
s=
"award-control-icon-super-positive"
/>
</span>
</span>
</button>
</button>
</span>
</span>
...
...
app/assets/javascripts/sidebar/components/todo_toggle/todo.vue
View file @
6d60f910
...
@@ -82,11 +82,7 @@ export default {
...
@@ -82,11 +82,7 @@ export default {
data-boundary=
"viewport"
data-boundary=
"viewport"
@
click=
"handleButtonClick"
@
click=
"handleButtonClick"
>
>
<icon
<icon
v-show=
"collapsed"
:class=
"collapsedButtonIconClasses"
:name=
"collapsedButtonIcon"
/>
v-show=
"collapsed"
:css-classes=
"collapsedButtonIconClasses"
:name=
"collapsedButtonIcon"
/>
<span
v-show=
"!collapsed"
class=
"issuable-todo-inner"
>
{{
buttonLabel
}}
</span>
<span
v-show=
"!collapsed"
class=
"issuable-todo-inner"
>
{{
buttonLabel
}}
</span>
<gl-loading-icon
v-show=
"isActionActive"
:inline=
"true"
/>
<gl-loading-icon
v-show=
"isActionActive"
:inline=
"true"
/>
</button>
</button>
...
...
app/assets/javascripts/vue_merge_request_widget/components/review_app_link.vue
View file @
6d60f910
...
@@ -19,6 +19,6 @@ export default {
...
@@ -19,6 +19,6 @@ export default {
</
script
>
</
script
>
<
template
>
<
template
>
<a
:href=
"link"
target=
"_blank"
rel=
"noopener noreferrer nofollow"
:class=
"cssClass"
>
<a
:href=
"link"
target=
"_blank"
rel=
"noopener noreferrer nofollow"
:class=
"cssClass"
>
{{
__
(
'
View app
'
)
}}
<icon
c
ss-classe
s=
"fgray"
name=
"external-link"
/>
{{
__
(
'
View app
'
)
}}
<icon
c
las
s=
"fgray"
name=
"external-link"
/>
</a>
</a>
</
template
>
</
template
>
app/assets/javascripts/vue_shared/components/changed_file_icon.vue
View file @
6d60f910
...
@@ -83,7 +83,7 @@ export default {
...
@@ -83,7 +83,7 @@ export default {
:class=
"
{ 'ml-auto': isCentered }"
:class=
"
{ 'ml-auto': isCentered }"
class="file-changed-icon d-inline-block"
class="file-changed-icon d-inline-block"
>
>
<icon
v-if=
"showIcon"
:name=
"changedIcon"
:size=
"size"
:c
ss-classe
s=
"changedIconClass"
/>
<icon
v-if=
"showIcon"
:name=
"changedIcon"
:size=
"size"
:c
las
s=
"changedIconClass"
/>
</span>
</span>
</
template
>
</
template
>
...
...
app/assets/javascripts/vue_shared/components/ci_icon.vue
View file @
6d60f910
...
@@ -66,5 +66,5 @@ export default {
...
@@ -66,5 +66,5 @@ export default {
};
};
</
script
>
</
script
>
<
template
>
<
template
>
<span
:class=
"cssClass"
>
<icon
:name=
"icon"
:size=
"size"
:c
ss-classe
s=
"cssClasses"
/>
</span>
<span
:class=
"cssClass"
>
<icon
:name=
"icon"
:size=
"size"
:c
las
s=
"cssClasses"
/>
</span>
</
template
>
</
template
>
app/assets/javascripts/vue_shared/components/content_viewer/viewers/download_viewer.vue
View file @
6d60f910
...
@@ -40,7 +40,7 @@ export default {
...
@@ -40,7 +40,7 @@ export default {
</
template
>
</
template
>
</p>
</p>
<gl-link
:href=
"path"
class=
"btn btn-default"
rel=
"nofollow"
download
target=
"_blank"
>
<gl-link
:href=
"path"
class=
"btn btn-default"
rel=
"nofollow"
download
target=
"_blank"
>
<icon
:size=
"16"
name=
"download"
c
ss-classe
s=
"float-left append-right-8"
/>
<icon
:size=
"16"
name=
"download"
c
las
s=
"float-left append-right-8"
/>
{{ __('Download') }}
{{ __('Download') }}
</gl-link>
</gl-link>
</div>
</div>
...
...
app/assets/javascripts/vue_shared/components/file_icon.vue
View file @
6d60f910
...
@@ -75,7 +75,7 @@ export default {
...
@@ -75,7 +75,7 @@ export default {
<svg
v-if=
"!loading && !folder"
:class=
"[iconSizeClass, cssClasses]"
>
<svg
v-if=
"!loading && !folder"
:class=
"[iconSizeClass, cssClasses]"
>
<use
v-bind=
"
{ 'xlink:href': spriteHref }" />
<use
v-bind=
"
{ 'xlink:href': spriteHref }" />
</svg>
</svg>
<icon
v-if=
"!loading && folder"
:name=
"folderIconName"
:size=
"size"
c
ss-classe
s=
"folder-icon"
/>
<icon
v-if=
"!loading && folder"
:name=
"folderIconName"
:size=
"size"
c
las
s=
"folder-icon"
/>
<gl-loading-icon
v-if=
"loading"
:inline=
"true"
/>
<gl-loading-icon
v-if=
"loading"
:inline=
"true"
/>
</span>
</span>
</
template
>
</
template
>
app/assets/javascripts/vue_shared/components/icon.vue
View file @
6d60f910
...
@@ -27,7 +27,7 @@ if (process.env.NODE_ENV !== 'production') {
...
@@ -27,7 +27,7 @@ if (process.env.NODE_ENV !== 'production') {
* <icon
* <icon
* name="retry"
* name="retry"
* :size="32"
* :size="32"
* c
ss-classe
s="top"
* c
las
s="top"
* />
* />
*/
*/
export
default
{
export
default
{
...
@@ -42,45 +42,7 @@ export default {
...
@@ -42,45 +42,7 @@ export default {
type
:
Number
,
type
:
Number
,
required
:
false
,
required
:
false
,
default
:
16
,
default
:
16
,
validator
(
value
)
{
validator
:
value
=>
validSizes
.
includes
(
value
),
return
validSizes
.
includes
(
value
);
},
},
cssClasses
:
{
type
:
String
,
required
:
false
,
default
:
''
,
},
width
:
{
type
:
Number
,
required
:
false
,
default
:
null
,
},
height
:
{
type
:
Number
,
required
:
false
,
default
:
null
,
},
y
:
{
type
:
Number
,
required
:
false
,
default
:
null
,
},
x
:
{
type
:
Number
,
required
:
false
,
default
:
null
,
},
tabIndex
:
{
type
:
String
,
required
:
false
,
default
:
null
,
},
},
},
},
...
@@ -99,15 +61,7 @@ export default {
...
@@ -99,15 +61,7 @@ export default {
</
script
>
</
script
>
<
template
>
<
template
>
<svg
<svg
:class=
"[iconSizeClass, iconTestClass]"
aria-hidden=
"true"
>
:class=
"[iconSizeClass, iconTestClass, cssClasses]"
:width=
"width"
:height=
"height"
:x=
"x"
:y=
"y"
:tabindex=
"tabIndex"
aria-hidden=
"true"
>
<use
v-bind=
"
{ 'xlink:href': spriteHref }" />
<use
v-bind=
"
{ 'xlink:href': spriteHref }" />
</svg>
</svg>
</
template
>
</
template
>
app/assets/javascripts/vue_shared/components/issue/related_issuable_item.vue
View file @
6d60f910
...
@@ -63,7 +63,7 @@ export default {
...
@@ -63,7 +63,7 @@ export default {
<icon
<icon
v-if=
"hasState"
v-if=
"hasState"
ref=
"iconElementXL"
ref=
"iconElementXL"
:c
ss-classe
s=
"iconClass"
:c
las
s=
"iconClass"
:name=
"iconName"
:name=
"iconName"
:size=
"16"
:size=
"16"
:title=
"stateTitle"
:title=
"stateTitle"
...
@@ -100,7 +100,7 @@ export default {
...
@@ -100,7 +100,7 @@ export default {
<span
ref=
"iconElement"
>
<span
ref=
"iconElement"
>
<icon
<icon
v-if=
"hasState"
v-if=
"hasState"
:c
ss-classe
s=
"iconClass"
:c
las
s=
"iconClass"
:name=
"iconName"
:name=
"iconName"
:title=
"stateTitle"
:title=
"stateTitle"
:aria-label=
"state"
:aria-label=
"state"
...
...
app/assets/javascripts/vue_shared/components/toggle_button.vue
View file @
6d60f910
...
@@ -74,7 +74,7 @@ export default {
...
@@ -74,7 +74,7 @@ export default {
@click="toggleFeature"
@click="toggleFeature"
>
>
<gl-loading-icon
class=
"loading-icon"
/>
<gl-loading-icon
class=
"loading-icon"
/>
<span
class=
"toggle-icon"
>
<icon
:name=
"toggleIcon"
c
ss-classe
s=
"toggle-icon-svg"
/>
</span>
<span
class=
"toggle-icon"
>
<icon
:name=
"toggleIcon"
c
las
s=
"toggle-icon-svg"
/>
</span>
</button>
</button>
</label>
</label>
</
template
>
</
template
>
app/assets/javascripts/vue_shared/components/user_popover/user_popover.vue
View file @
6d60f910
...
@@ -71,15 +71,11 @@ export default {
...
@@ -71,15 +71,11 @@ export default {
</div>
</div>
<div
class=
"text-secondary"
>
<div
class=
"text-secondary"
>
<div
v-if=
"user.bio"
class=
"js-bio d-flex mb-1"
>
<div
v-if=
"user.bio"
class=
"js-bio d-flex mb-1"
>
<icon
name=
"profile"
c
ss-classe
s=
"category-icon flex-shrink-0"
/>
<icon
name=
"profile"
c
las
s=
"category-icon flex-shrink-0"
/>
<span
class=
"ml-1"
>
{{
user
.
bio
}}
</span>
<span
class=
"ml-1"
>
{{
user
.
bio
}}
</span>
</div>
</div>
<div
v-if=
"user.organization"
class=
"js-organization d-flex mb-1"
>
<div
v-if=
"user.organization"
class=
"js-organization d-flex mb-1"
>
<icon
<icon
v-show=
"!jobInfoIsLoading"
name=
"work"
class=
"category-icon flex-shrink-0"
/>
v-show=
"!jobInfoIsLoading"
name=
"work"
css-classes=
"category-icon flex-shrink-0"
/>
<span
class=
"ml-1"
>
{{
user
.
organization
}}
</span>
<span
class=
"ml-1"
>
{{
user
.
organization
}}
</span>
</div>
</div>
<gl-skeleton-loading
<gl-skeleton-loading
...
@@ -92,7 +88,7 @@ export default {
...
@@ -92,7 +88,7 @@ export default {
<icon
<icon
v-show=
"!locationIsLoading && user.location"
v-show=
"!locationIsLoading && user.location"
name=
"location"
name=
"location"
c
ss-classe
s=
"category-icon flex-shrink-0"
c
las
s=
"category-icon flex-shrink-0"
/>
/>
<span
class=
"ml-1"
>
{{
user
.
location
}}
</span>
<span
class=
"ml-1"
>
{{
user
.
location
}}
</span>
<gl-skeleton-loading
<gl-skeleton-loading
...
...
config/initializers/0_inflections.rb
View file @
6d60f910
...
@@ -20,6 +20,7 @@ ActiveSupport::Inflector.inflections do |inflect|
...
@@ -20,6 +20,7 @@ ActiveSupport::Inflector.inflections do |inflect|
file_registry
file_registry
job_artifact_registry
job_artifact_registry
container_repository_registry
container_repository_registry
design_registry
vulnerability_feedback
vulnerability_feedback
vulnerabilities_feedback
vulnerabilities_feedback
group_view
group_view
...
...
config/initializers/7_prometheus_metrics.rb
View file @
6d60f910
...
@@ -54,5 +54,7 @@ if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled?
...
@@ -54,5 +54,7 @@ if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled?
elsif
defined?
(
::
Puma
)
elsif
defined?
(
::
Puma
)
Gitlab
::
Metrics
::
Samplers
::
PumaSampler
.
instance
(
Settings
.
monitoring
.
puma_sampler_interval
).
start
Gitlab
::
Metrics
::
Samplers
::
PumaSampler
.
instance
(
Settings
.
monitoring
.
puma_sampler_interval
).
start
end
end
Gitlab
::
Metrics
::
RequestsRackMiddleware
.
initialize_http_request_duration_seconds
end
end
end
end
doc/development/fe_guide/icons.md
View file @
6d60f910
...
@@ -59,8 +59,8 @@ export default {
...
@@ -59,8 +59,8 @@ export default {
<
template
>
<
template
>
<
icon
<
icon
name
=
"
issues
"
name
=
"
issues
"
:
size
=
"
72
"
:
size
=
"
24
"
c
ss
-
classe
s
=
"
icon-danger
"
c
las
s
=
"
icon-danger
"
/>
/>
<
/template>
<
/template>
```
```
...
...
lib/gitlab/metrics/requests_rack_middleware.rb
View file @
6d60f910
...
@@ -3,6 +3,18 @@
...
@@ -3,6 +3,18 @@
module
Gitlab
module
Gitlab
module
Metrics
module
Metrics
class
RequestsRackMiddleware
class
RequestsRackMiddleware
HTTP_METHODS
=
{
"delete"
=>
%w(200 202 204 303 400 401 403 404 410 422 500 503)
,
"get"
=>
%w(200 204 301 302 303 304 307 400 401 403 404 410 412 422 429 500 503)
,
"head"
=>
%w(200 204 301 302 303 304 400 401 403 404 410 429 500 503)
,
"options"
=>
%w(200 404)
,
"patch"
=>
%w(200 202 204 400 403 404 409 416 422 500)
,
"post"
=>
%w(200 201 202 204 301 302 303 304 400 401 403 404 406 409 410 412 413 415 422 429 500 503)
,
"propfind"
=>
%w(404)
,
"put"
=>
%w(200 202 204 400 401 403 404 405 406 409 410 415 422 500)
,
"report"
=>
%w(404)
}.
freeze
def
initialize
(
app
)
def
initialize
(
app
)
@app
=
app
@app
=
app
end
end
...
@@ -20,6 +32,14 @@ module Gitlab
...
@@ -20,6 +32,14 @@ module Gitlab
{},
[
0.05
,
0.1
,
0.25
,
0.5
,
0.7
,
1
,
2.5
,
5
,
10
,
25
])
{},
[
0.05
,
0.1
,
0.25
,
0.5
,
0.7
,
1
,
2.5
,
5
,
10
,
25
])
end
end
def
self
.
initialize_http_request_duration_seconds
HTTP_METHODS
.
each
do
|
method
,
statuses
|
statuses
.
each
do
|
status
|
http_request_duration_seconds
.
get
({
method:
method
,
status:
status
})
end
end
end
def
call
(
env
)
def
call
(
env
)
method
=
env
[
'REQUEST_METHOD'
].
downcase
method
=
env
[
'REQUEST_METHOD'
].
downcase
started
=
Time
.
now
.
to_f
started
=
Time
.
now
.
to_f
...
...
qa/qa/specs/features/api/1_manage/rate_limits_spec.rb
View file @
6d60f910
...
@@ -3,11 +3,8 @@
...
@@ -3,11 +3,8 @@
module
QA
module
QA
context
'Manage with IP rate limits'
,
:requires_admin
do
context
'Manage with IP rate limits'
,
:requires_admin
do
describe
'Users API'
do
describe
'Users API'
do
before
(
:context
)
do
let
(
:api_client
)
{
Runtime
::
API
::
Client
.
new
(
:gitlab
,
ip_limits:
true
)
}
@api_client
=
Runtime
::
API
::
Client
.
new
(
:gitlab
,
ip_limits:
true
)
let
(
:request
)
{
Runtime
::
API
::
Request
.
new
(
api_client
,
'/users'
)
}
end
let
(
:request
)
{
Runtime
::
API
::
Request
.
new
(
@api_client
,
'/users'
)
}
it
'GET /users'
do
it
'GET /users'
do
5
.
times
do
5
.
times
do
...
...
qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb
View file @
6d60f910
...
@@ -8,7 +8,7 @@ module QA
...
@@ -8,7 +8,7 @@ module QA
describe
'Compare archives of different user projects with the same name and check they\'re different'
do
describe
'Compare archives of different user projects with the same name and check they\'re different'
do
include
Support
::
Api
include
Support
::
Api
before
(
:all
)
do
before
do
@project_name
=
"project-archive-download-
#{
SecureRandom
.
hex
(
8
)
}
"
@project_name
=
"project-archive-download-
#{
SecureRandom
.
hex
(
8
)
}
"
@archive_types
=
%w(tar.gz tar.bz2 tar zip)
@archive_types
=
%w(tar.gz tar.bz2 tar zip)
@users
=
{
@users
=
{
...
...
spec/frontend/notes/components/__snapshots__/discussion_jump_to_next_button_spec.js.snap
View file @
6d60f910
...
@@ -11,7 +11,6 @@ exports[`JumpToNextDiscussionButton matches the snapshot 1`] = `
...
@@ -11,7 +11,6 @@ exports[`JumpToNextDiscussionButton matches the snapshot 1`] = `
title=""
title=""
>
>
<icon-stub
<icon-stub
cssclasses=""
name="comment-next"
name="comment-next"
size="16"
size="16"
/>
/>
...
...
spec/frontend/sidebar/__snapshots__/confidential_issue_sidebar_spec.js.snap
View file @
6d60f910
...
@@ -14,7 +14,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
...
@@ -14,7 +14,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
>
>
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
cssclasses=""
name="eye"
name="eye"
size="16"
size="16"
/>
/>
...
@@ -40,7 +39,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
...
@@ -40,7 +39,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
class="sidebar-item-icon inline"
class="sidebar-item-icon inline"
cssclasses=""
name="eye"
name="eye"
size="16"
size="16"
/>
/>
...
@@ -68,7 +66,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
...
@@ -68,7 +66,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
>
>
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
cssclasses=""
name="eye"
name="eye"
size="16"
size="16"
/>
/>
...
@@ -104,7 +101,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
...
@@ -104,7 +101,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
class="sidebar-item-icon inline"
class="sidebar-item-icon inline"
cssclasses=""
name="eye"
name="eye"
size="16"
size="16"
/>
/>
...
@@ -132,7 +128,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
...
@@ -132,7 +128,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
>
>
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
cssclasses=""
name="eye-slash"
name="eye-slash"
size="16"
size="16"
/>
/>
...
@@ -158,7 +153,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
...
@@ -158,7 +153,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
class="sidebar-item-icon inline is-active"
class="sidebar-item-icon inline is-active"
cssclasses=""
name="eye-slash"
name="eye-slash"
size="16"
size="16"
/>
/>
...
@@ -186,7 +180,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
...
@@ -186,7 +180,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
>
>
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
cssclasses=""
name="eye-slash"
name="eye-slash"
size="16"
size="16"
/>
/>
...
@@ -222,7 +215,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
...
@@ -222,7 +215,6 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
<icon-stub
<icon-stub
aria-hidden="true"
aria-hidden="true"
class="sidebar-item-icon inline is-active"
class="sidebar-item-icon inline is-active"
cssclasses=""
name="eye-slash"
name="eye-slash"
size="16"
size="16"
/>
/>
...
...
spec/frontend/sidebar/__snapshots__/todo_spec.js.snap
View file @
6d60f910
...
@@ -14,7 +14,7 @@ exports[`SidebarTodo template renders component container element with proper da
...
@@ -14,7 +14,7 @@ exports[`SidebarTodo template renders component container element with proper da
type="button"
type="button"
>
>
<icon-stub
<icon-stub
c
ssclasse
s="todo-undone"
c
las
s="todo-undone"
name="todo-done"
name="todo-done"
size="16"
size="16"
style="display: none;"
style="display: none;"
...
...
spec/frontend/sidebar/todo_spec.js
View file @
6d60f910
...
@@ -44,7 +44,12 @@ describe('SidebarTodo', () => {
...
@@ -44,7 +44,12 @@ describe('SidebarTodo', () => {
({
isTodo
,
iconClass
,
label
,
icon
})
=>
{
({
isTodo
,
iconClass
,
label
,
icon
})
=>
{
createComponent
({
isTodo
});
createComponent
({
isTodo
});
expect
(
wrapper
.
find
(
Icon
).
props
(
'
cssClasses
'
)).
toStrictEqual
(
iconClass
);
expect
(
wrapper
.
find
(
Icon
)
.
classes
()
.
join
(
'
'
),
).
toStrictEqual
(
iconClass
);
expect
(
wrapper
.
find
(
Icon
).
props
(
'
name
'
)).
toStrictEqual
(
icon
);
expect
(
wrapper
.
find
(
Icon
).
props
(
'
name
'
)).
toStrictEqual
(
icon
);
expect
(
wrapper
.
find
(
'
button
'
).
text
()).
toBe
(
label
);
expect
(
wrapper
.
find
(
'
button
'
).
text
()).
toBe
(
label
);
},
},
...
...
spec/frontend/vue_shared/components/changed_file_icon_spec.js
View file @
6d60f910
...
@@ -28,10 +28,7 @@ describe('Changed file icon', () => {
...
@@ -28,10 +28,7 @@ describe('Changed file icon', () => {
const
findIcon
=
()
=>
wrapper
.
find
(
Icon
);
const
findIcon
=
()
=>
wrapper
.
find
(
Icon
);
const
findIconName
=
()
=>
findIcon
().
props
(
'
name
'
);
const
findIconName
=
()
=>
findIcon
().
props
(
'
name
'
);
const
findIconClasses
=
()
=>
const
findIconClasses
=
()
=>
findIcon
().
classes
();
findIcon
()
.
props
(
'
cssClasses
'
)
.
split
(
'
'
);
const
findTooltipText
=
()
=>
wrapper
.
attributes
(
'
data-original-title
'
);
const
findTooltipText
=
()
=>
wrapper
.
attributes
(
'
data-original-title
'
);
it
(
'
with isCentered true, adds center class
'
,
()
=>
{
it
(
'
with isCentered true, adds center class
'
,
()
=>
{
...
...
spec/frontend/vue_shared/components/file_icon_spec.js
View file @
6d60f910
...
@@ -49,7 +49,7 @@ describe('File Icon component', () => {
...
@@ -49,7 +49,7 @@ describe('File Icon component', () => {
});
});
expect
(
findIcon
().
exists
()).
toBe
(
false
);
expect
(
findIcon
().
exists
()).
toBe
(
false
);
expect
(
wrapper
.
find
(
Icon
).
props
(
'
cssClasses
'
)).
toContain
(
'
folder-icon
'
);
expect
(
wrapper
.
find
(
Icon
).
classes
(
)).
toContain
(
'
folder-icon
'
);
});
});
it
(
'
should render a loading icon
'
,
()
=>
{
it
(
'
should render a loading icon
'
,
()
=>
{
...
...
spec/javascripts/vue_shared/components/icon_spec.js
View file @
6d60f910
...
@@ -12,8 +12,6 @@ describe('Sprite Icon Component', function() {
...
@@ -12,8 +12,6 @@ describe('Sprite Icon Component', function() {
icon
=
mountComponent
(
IconComponent
,
{
icon
=
mountComponent
(
IconComponent
,
{
name
:
'
commit
'
,
name
:
'
commit
'
,
size
:
32
,
size
:
32
,
cssClasses
:
'
extraclasses
'
,
tabIndex
:
'
0
'
,
});
});
});
});
...
@@ -47,10 +45,8 @@ describe('Sprite Icon Component', function() {
...
@@ -47,10 +45,8 @@ describe('Sprite Icon Component', function() {
it
(
'
should properly render img css
'
,
function
()
{
it
(
'
should properly render img css
'
,
function
()
{
const
{
classList
}
=
icon
.
$el
;
const
{
classList
}
=
icon
.
$el
;
const
containsSizeClass
=
classList
.
contains
(
'
s32
'
);
const
containsSizeClass
=
classList
.
contains
(
'
s32
'
);
const
containsCustomClass
=
classList
.
contains
(
'
extraclasses
'
);
expect
(
containsSizeClass
).
toBe
(
true
);
expect
(
containsSizeClass
).
toBe
(
true
);
expect
(
containsCustomClass
).
toBe
(
true
);
});
});
it
(
'
`name` validator should return false for non existing icons
'
,
()
=>
{
it
(
'
`name` validator should return false for non existing icons
'
,
()
=>
{
...
@@ -60,9 +56,5 @@ describe('Sprite Icon Component', function() {
...
@@ -60,9 +56,5 @@ describe('Sprite Icon Component', function() {
it
(
'
`name` validator should return false for existing icons
'
,
()
=>
{
it
(
'
`name` validator should return false for existing icons
'
,
()
=>
{
expect
(
Icon
.
props
.
name
.
validator
(
'
commit
'
)).
toBe
(
true
);
expect
(
Icon
.
props
.
name
.
validator
(
'
commit
'
)).
toBe
(
true
);
});
});
it
(
'
should contain `tabindex` attribute on svg element when `tabIndex` prop is defined
'
,
()
=>
{
expect
(
icon
.
$el
.
getAttribute
(
'
tabindex
'
)).
toBe
(
'
0
'
);
});
});
});
});
});
spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb
View file @
6d60f910
...
@@ -63,5 +63,19 @@ describe Gitlab::Metrics::RequestsRackMiddleware do
...
@@ -63,5 +63,19 @@ describe Gitlab::Metrics::RequestsRackMiddleware do
expect
{
subject
.
call
(
env
)
}.
to
raise_error
(
StandardError
)
expect
{
subject
.
call
(
env
)
}.
to
raise_error
(
StandardError
)
end
end
end
end
describe
'.initialize_http_request_duration_seconds'
do
it
"sets labels"
do
expected_labels
=
[]
described_class
::
HTTP_METHODS
.
each
do
|
method
,
statuses
|
statuses
.
each
do
|
status
|
expected_labels
<<
{
method:
method
,
status:
status
}
end
end
described_class
.
initialize_http_request_duration_seconds
expect
(
described_class
.
http_request_duration_seconds
.
values
.
keys
).
to
include
(
*
expected_labels
)
end
end
end
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment