Merge branch 'master' into 'api-notes-entity-fields'
# Conflicts: # doc/api/v3_to_v4.md
This commit is contained in:
		
						commit
						931db7963e
					
				
							
								
								
									
										180
									
								
								CHANGELOG.md
								
								
								
								
							
							
						
						
									
										180
									
								
								CHANGELOG.md
								
								
								
								
							| 
						 | 
				
			
			@ -2,6 +2,186 @@
 | 
			
		|||
documentation](doc/development/changelog.md) for instructions on adding your own
 | 
			
		||||
entry.
 | 
			
		||||
 | 
			
		||||
## 8.17.0 (2017-02-22)
 | 
			
		||||
 | 
			
		||||
- API: Fix file downloading. !0 (8267)
 | 
			
		||||
- Changed composer installer script in the CI PHP example doc. !4342 (Jeffrey Cafferata)
 | 
			
		||||
- Display fullscreen button on small screens. !5302 (winniehell)
 | 
			
		||||
- Add system hook for when a project is updated (other than rename/transfer). !5711 (Tommy Beadle)
 | 
			
		||||
- Fix notifications when set at group level. !6813 (Alexandre Maia)
 | 
			
		||||
- Project labels can now be promoted to group labels. !7242 (Olaf Tomalka)
 | 
			
		||||
- use webpack to bundle frontend assets and use karma for frontend testing. !7288
 | 
			
		||||
- Adds back ability to stop all environments. !7379
 | 
			
		||||
- Added labels empty state. !7443
 | 
			
		||||
- Add ability to define a coverage regex in the .gitlab-ci.yml. !7447 (Leandro Camargo)
 | 
			
		||||
- Disable automatic login after clicking email confirmation links. !7472
 | 
			
		||||
- Search feature: redirects to commit page if query is commit sha and only commit found. !8028 (YarNayar)
 | 
			
		||||
- Create a TODO for user who set auto-merge when a build fails, merge conflict occurs. !8056 (twonegatives)
 | 
			
		||||
- Don't group issues by project on group-level and dashboard issue indexes. !8111 (Bernardo Castro)
 | 
			
		||||
- Mark MR as WIP when pushing WIP commits. !8124 (Jurre Stender @jurre)
 | 
			
		||||
- Flag multiple empty lines in eslint, fix offenses. !8137
 | 
			
		||||
- Add sorting pipeline for a commit. !8319 (Takuya Noguchi)
 | 
			
		||||
- Adds service trigger events to api. !8324
 | 
			
		||||
- Update pipeline and commit links when CI status is updated. !8351
 | 
			
		||||
- Hide version check image if there is no internet connection. !8355 (Ken Ding)
 | 
			
		||||
- Prevent removal of input fields if it is the parent dropdown element. !8397
 | 
			
		||||
- Introduce maximum session time for terminal websocket connection. !8413
 | 
			
		||||
- Allow creating protected branches when user can merge to such branch. !8458
 | 
			
		||||
- Refactor MergeRequests::BuildService. !8462 (Rydkin Maxim)
 | 
			
		||||
- Added GitLab Pages to CE. !8463
 | 
			
		||||
- Support notes when a project is not specified (personal snippet notes). !8468
 | 
			
		||||
- Use warning icon in mini-graph if stage passed conditionally. !8503
 | 
			
		||||
- Don’t count tasks that are not defined as list items correctly. !8526
 | 
			
		||||
- Reformat messages ChatOps. !8528
 | 
			
		||||
- Copy commit SHA to clipboard. !8547
 | 
			
		||||
- Improve button accessibility on pipelines page. !8561
 | 
			
		||||
- Display project ID in project settings. !8572 (winniehell)
 | 
			
		||||
- PlantUML support for Markdown. !8588 (Horacio Sanson)
 | 
			
		||||
- Fix reply by email without sub-addressing for some clients from Microsoft and Apple. !8620
 | 
			
		||||
- Fix nested tasks in ordered list. !8626
 | 
			
		||||
- Fix Sort by Recent Sign-in in Admin Area. !8637 (Poornima M)
 | 
			
		||||
- Avoid repeated dashes in $CI_ENVIRONMENT_SLUG. !8638
 | 
			
		||||
- Only show Merge Request button when user can create a MR. !8639
 | 
			
		||||
- Prevent copying of line numbers in parallel diff view. !8706
 | 
			
		||||
- Improve build policy and access abilities. !8711
 | 
			
		||||
- API: Remove /projects/:id/keys/.. endpoints. !8716 (Robert Schilling)
 | 
			
		||||
- API: Remove deprecated 'expires_at' from project snippets. !8723 (Robert Schilling)
 | 
			
		||||
- Add `copy` backup strategy to combat file changed errors. !8728
 | 
			
		||||
- adds avatar for discussion note. !8734
 | 
			
		||||
- Add link verification to badge partial in order to render a badge without a link. !8740
 | 
			
		||||
- Reduce hits to LDAP on Git HTTP auth by reordering auth mechanisms. !8752
 | 
			
		||||
- prevent diff unfolding link from appearing when there are no more lines to show. !8761
 | 
			
		||||
- Redesign searchbar in admin project list. !8776
 | 
			
		||||
- Rename Builds to Pipelines, CI/CD Pipelines, or Jobs everywhere. !8787
 | 
			
		||||
- dismiss sidebar on repo buttons click. !8798 (Adam Pahlevi)
 | 
			
		||||
- fixed small mini pipeline graph line glitch. !8804
 | 
			
		||||
- Make all system notes lowercase. !8807
 | 
			
		||||
- Support unauthenticated LFS object downloads for public projects. !8824 (Ben Boeckel)
 | 
			
		||||
- Add read-only full_path and full_name attributes to Group API. !8827
 | 
			
		||||
- allow relative url change without recompiling frontend assets. !8831
 | 
			
		||||
- Use vue.js Pipelines table in commit and merge request view. !8844
 | 
			
		||||
- Use reCaptcha when an issue is identified as a spam. !8846
 | 
			
		||||
- resolve deprecation warnings. !8855 (Adam Pahlevi)
 | 
			
		||||
- Cop for gem fetched from a git source. !8856 (Adam Pahlevi)
 | 
			
		||||
- Remove flash warning from login page. !8864 (Gerald J. Padilla)
 | 
			
		||||
- Adds documentation for how to use Vue.js. !8866
 | 
			
		||||
- Add 'View on [env]' link to blobs and individual files in diffs. !8867
 | 
			
		||||
- Replace word user with member. !8872
 | 
			
		||||
- Change the reply shortcut to focus the field even without a selection. !8873 (Brian Hall)
 | 
			
		||||
- Unify MR diff file button style. !8874
 | 
			
		||||
- Unify projects search by removing /projects/:search endpoint. !8877
 | 
			
		||||
- Fix disable storing of sensitive information when importing a new repo. !8885 (Bernard Pietraga)
 | 
			
		||||
- Fix pipeline graph vertical spacing in Firefox and Safari. !8886
 | 
			
		||||
- Fix filtered search user autocomplete for gitlab instances that are hosted on a subdirectory. !8891
 | 
			
		||||
- Fix Ctrl+Click support for Todos and Merge Request page tabs. !8898
 | 
			
		||||
- Fix wrong call to ProjectCacheWorker.perform. !8910
 | 
			
		||||
- Don't perform Devise trackable updates on blocked User records. !8915
 | 
			
		||||
- Add ability to export project inherited group members to Import/Export. !8923
 | 
			
		||||
- replace `find_with_namespace` with `find_by_full_path`. !8949 (Adam Pahlevi)
 | 
			
		||||
- Fixes flickering of avatar border in mention dropdown. !8950
 | 
			
		||||
- Remove unnecessary queries for .atom and .json in Dashboard::ProjectsController#index. !8956
 | 
			
		||||
- Fix deleting projects with pipelines and builds. !8960
 | 
			
		||||
- Fix broken anchor links when special characters are used. !8961 (Andrey Krivko)
 | 
			
		||||
- Ensure autogenerated title does not cause failing spec. !8963 (brian m. carlson)
 | 
			
		||||
- Update doc for enabling or disabling GitLab CI. !8965 (Takuya Noguchi)
 | 
			
		||||
- Remove deprecated MR and Issue endpoints and preserve V3 namespace. !8967
 | 
			
		||||
- Fixed "substract" typo on /help/user/project/slash_commands. !8976 (Jason Aquino)
 | 
			
		||||
- Preserve backward compatibility CI/CD and disallow setting `coverage` regexp in global context. !8981
 | 
			
		||||
- use babel to transpile all non-vendor javascript assets regardless of file extension. !8988
 | 
			
		||||
- Fix MR widget url. !8989
 | 
			
		||||
- Fixes hover cursor on pipeline pagenation. !9003
 | 
			
		||||
- Layer award emoji dropdown over the right sidebar. !9004
 | 
			
		||||
- Do not display deploy keys in user's own ssh keys list. !9024
 | 
			
		||||
- upgrade babel 5.8.x to babel 6.22.x. !9072
 | 
			
		||||
- upgrade to webpack v2.2. !9078
 | 
			
		||||
- Trigger autocomplete after selecting a slash command. !9117
 | 
			
		||||
- Add space between text and loading icon in Megre Request Widget. !9119
 | 
			
		||||
- Fix job to pipeline renaming. !9147
 | 
			
		||||
- Replace static fixture for merge_request_tabs_spec.js. !9172 (winniehell)
 | 
			
		||||
- Replace static fixture for right_sidebar_spec.js. !9211 (winniehell)
 | 
			
		||||
- Show merge errors in merge request widget. !9229
 | 
			
		||||
- Increase process_commit queue weight from 2 to 3. !9326 (blackst0ne)
 | 
			
		||||
- Don't require lib/gitlab/request_profiler/middleware.rb in config/initializers/request_profiler.rb.
 | 
			
		||||
- Force new password after password reset via API. (George Andrinopoulos)
 | 
			
		||||
- Allows to search within project by commit hash. (YarNayar)
 | 
			
		||||
- Show organisation membership and delete comment on smaller viewports, plus change comment author name to username.
 | 
			
		||||
- Remove turbolinks.
 | 
			
		||||
- Convert pipeline action icons to svg to have them propperly positioned.
 | 
			
		||||
- Remove rogue scrollbars for issue comments with inline elements.
 | 
			
		||||
- Align Segoe UI label text.
 | 
			
		||||
- Color + and - signs in diffs to increase code legibility.
 | 
			
		||||
- Fix tab index order on branch commits list page. (Ryan Harris)
 | 
			
		||||
- Add hover style to copy icon on commit page header. (Ryan Harris)
 | 
			
		||||
- Remove hover animation from row elements.
 | 
			
		||||
- Improve pipeline status icon linking in widgets.
 | 
			
		||||
- Fix commit title bar and repository view copy clipboard button order on last commit in repository view.
 | 
			
		||||
- Fix mini-pipeline stage tooltip text wrapping.
 | 
			
		||||
- Updated builds info link on the project settings page. (Ryan Harris)
 | 
			
		||||
- 27240 Make progress bars consistent.
 | 
			
		||||
- Only render hr when user can't archive project.
 | 
			
		||||
- 27352-search-label-filter-header.
 | 
			
		||||
- Include :author, :project, and :target in Event.with_associations.
 | 
			
		||||
- Don't instantiate AR objects in Event.in_projects.
 | 
			
		||||
- Don't capitalize environment name in show page.
 | 
			
		||||
- Update and pin the `jwt` gem to ~> 1.5.6.
 | 
			
		||||
- Edited the column header for the environments list from created to updated and added created to environments detail page colum header titles.
 | 
			
		||||
- Give ci status text on pipeline graph a better font-weight.
 | 
			
		||||
- Add default labels to bulk assign dropdowns.
 | 
			
		||||
- Only return target project's comments for a commit.
 | 
			
		||||
- Fixes Pipelines table is not showing branch name for commit.
 | 
			
		||||
- Fix regression where cmd-click stopped working for todos and merge request tabs.
 | 
			
		||||
- Fix stray pipelines API request when showing MR.
 | 
			
		||||
- Fix Merge request pipelines displays JSON.
 | 
			
		||||
- Fix current build arrow indicator.
 | 
			
		||||
- Fix contribution activity alignment.
 | 
			
		||||
- Show Pipeline(not Job) in MR desktop notification.
 | 
			
		||||
- Fix tooltips in mini pipeline graph.
 | 
			
		||||
- Display loading indicator when filtering ref switcher dropdown.
 | 
			
		||||
- Show pipeline graph in MR widget if there are any stages.
 | 
			
		||||
- Fix icon colors in merge request widget mini graph.
 | 
			
		||||
- Improve blockquote formatting in notification emails.
 | 
			
		||||
- Adds container to tooltip in order to make it work with overflow:hidden in parent element.
 | 
			
		||||
- Restore pagination to admin abuse reports.
 | 
			
		||||
- Ensure export files are removed after a namespace is deleted.
 | 
			
		||||
- Add `y` keyboard shortcut to move to file permalink.
 | 
			
		||||
- Adds /target_branch slash command functionality for merge requests. (YarNayar)
 | 
			
		||||
- Patch Asciidocs rendering to block XSS.
 | 
			
		||||
- contribution calendar scrolls from right to left.
 | 
			
		||||
- Copying a rendered issue/comment will paste into GFM textareas as actual GFM.
 | 
			
		||||
- Don't delete assigned MRs/issues when user is deleted.
 | 
			
		||||
- Remove new branch button for confidential issues.
 | 
			
		||||
- Don't allow project guests to subscribe to merge requests through the API. (Robert Schilling)
 | 
			
		||||
- Don't connect in Gitlab::Database.adapter_name.
 | 
			
		||||
- Prevent users from creating notes on resources they can't access.
 | 
			
		||||
- Ignore encrypted attributes in Import/Export.
 | 
			
		||||
- Change rspec test to guarantee window is resized before visiting page.
 | 
			
		||||
- Prevent users from deleting system deploy keys via the project deploy key API.
 | 
			
		||||
- Fix XSS vulnerability in SVG attachments.
 | 
			
		||||
- Make MR-review-discussions more reliable.
 | 
			
		||||
- fix incorrect sidekiq concurrency count in admin background page. (wendy0402)
 | 
			
		||||
- Make notification_service spec DRYer by making test reusable. (YarNayar)
 | 
			
		||||
- Redirect http://someproject.git to http://someproject. (blackst0ne)
 | 
			
		||||
- Fixed group label links in issue/merge request sidebar.
 | 
			
		||||
- Improve gl.utils.handleLocationHash tests.
 | 
			
		||||
- Fixed Issuable sidebar not closing on smaller/mobile sized screens.
 | 
			
		||||
- Resets assignee dropdown when sidebar is open.
 | 
			
		||||
- Disallow system notes for closed issuables.
 | 
			
		||||
- Fix timezone on issue boards due date.
 | 
			
		||||
- Remove unused js response from refs controller.
 | 
			
		||||
- Prevent the GitHub importer from assigning labels and comments to merge requests or issues belonging to other projects.
 | 
			
		||||
- Fixed merge requests tab extra margin when fixed to window.
 | 
			
		||||
- Patch XSS vulnerability in RDOC support.
 | 
			
		||||
- Refresh authorizations when transferring projects.
 | 
			
		||||
- Remove issue and MR counts from labels index.
 | 
			
		||||
- Don't use backup Active Record connections for Sidekiq.
 | 
			
		||||
- Add index to ci_trigger_requests for commit_id.
 | 
			
		||||
- Add indices to improve loading of labels page.
 | 
			
		||||
- Reduced query count for snippet search.
 | 
			
		||||
- Update GitLab Pages to v0.3.1.
 | 
			
		||||
- Upgrade omniauth gem to 1.3.2.
 | 
			
		||||
- Remove deprecated GitlabCiService.
 | 
			
		||||
- Requeue pending deletion projects.
 | 
			
		||||
 | 
			
		||||
## 8.16.6 (2017-02-17)
 | 
			
		||||
 | 
			
		||||
- API: Fix file downloading. !0 (8267)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg width="12" height="15" viewBox="0 0 12 15" xmlns="http://www.w3.org/2000/svg"><path d="M10.267 11.028V5.167c-.028-.728-.318-1.372-.878-1.923-.56-.55-1.194-.85-1.922-.877h-.934V.5l-2.8 2.8 2.8 2.8V4.233h.934a.976.976 0 0 1 .644.29.88.88 0 0 1 .289.644v5.861a1.86 1.86 0 0 0 .933 3.472 1.86 1.86 0 0 0 .934-3.472zM3.733 3.3a1.86 1.86 0 0 0-1.866-1.867 1.86 1.86 0 0 0-.934 3.472v6.123a1.86 1.86 0 0 0 .933 3.472 1.86 1.86 0 0 0 .934-3.472V4.905c.55-.317.933-.914.933-1.605z" fill-rule="nonzero"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 506 B  | 
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.6 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.0 KiB  | 
| 
						 | 
				
			
			@ -15,12 +15,12 @@ module.exports = Vue.component('actions-component', {
 | 
			
		|||
  },
 | 
			
		||||
 | 
			
		||||
  template: `
 | 
			
		||||
    <div class="inline">
 | 
			
		||||
      <div class="dropdown">
 | 
			
		||||
        <a class="dropdown-new btn btn-default" data-toggle="dropdown">
 | 
			
		||||
    <div class="btn-group" role="group">
 | 
			
		||||
      <button class="dropdown btn btn-default dropdown-new" data-toggle="dropdown">
 | 
			
		||||
        <span>
 | 
			
		||||
          <span class="js-dropdown-play-icon-container" v-html="playIconSvg"></span>
 | 
			
		||||
          <i class="fa fa-caret-down"></i>
 | 
			
		||||
        </a>
 | 
			
		||||
        </span>
 | 
			
		||||
 | 
			
		||||
      <ul class="dropdown-menu dropdown-menu-align-right">
 | 
			
		||||
        <li v-for="action in actions">
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +37,7 @@ module.exports = Vue.component('actions-component', {
 | 
			
		|||
          </a>
 | 
			
		||||
        </li>
 | 
			
		||||
      </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
    </button>
 | 
			
		||||
  </div>
 | 
			
		||||
  `,
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -505,39 +505,26 @@ module.exports = Vue.component('environment-item', {
 | 
			
		|||
 | 
			
		||||
      <td class="hidden-xs">
 | 
			
		||||
        <div v-if="!model.isFolder">
 | 
			
		||||
          <div v-if="hasManualActions && canCreateDeployment"
 | 
			
		||||
            class="inline js-manual-actions-container">
 | 
			
		||||
            <actions-component
 | 
			
		||||
          <div class="btn-group" role="group">
 | 
			
		||||
            <actions-component v-if="hasManualActions && canCreateDeployment"
 | 
			
		||||
              :play-icon-svg="playIconSvg"
 | 
			
		||||
              :actions="manualActions">
 | 
			
		||||
            </actions-component>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div v-if="externalURL && canReadEnvironment"
 | 
			
		||||
            class="inline js-external-url-container">
 | 
			
		||||
            <external-url-component
 | 
			
		||||
            <external-url-component v-if="externalURL && canReadEnvironment"
 | 
			
		||||
              :external-url="externalURL">
 | 
			
		||||
            </external-url-component>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div v-if="hasStopAction && canCreateDeployment"
 | 
			
		||||
            class="inline js-stop-component-container">
 | 
			
		||||
            <stop-component
 | 
			
		||||
            <stop-component v-if="hasStopAction && canCreateDeployment"
 | 
			
		||||
              :stop-url="model.stop_path">
 | 
			
		||||
            </stop-component>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div v-if="model && model.terminal_path"
 | 
			
		||||
            class="inline js-terminal-button-container">
 | 
			
		||||
            <terminal-button-component
 | 
			
		||||
            <terminal-button-component v-if="model && model.terminal_path"
 | 
			
		||||
              :terminal-icon-svg="terminalIconSvg"
 | 
			
		||||
              :terminal-path="model.terminal_path">
 | 
			
		||||
            </terminal-button-component>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div v-if="canRetry && canCreateDeployment"
 | 
			
		||||
            class="inline js-rollback-component-container">
 | 
			
		||||
            <rollback-component
 | 
			
		||||
            <rollback-component v-if="canRetry && canCreateDeployment"
 | 
			
		||||
              :is-last-deployment="isLastDeployment"
 | 
			
		||||
              :retry-url="retryUrl">
 | 
			
		||||
              </rollback-component>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,7 +35,6 @@
 | 
			
		|||
    display: table-cell;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .environments-name,
 | 
			
		||||
  .environments-commit,
 | 
			
		||||
  .environments-actions {
 | 
			
		||||
    width: 20%;
 | 
			
		||||
| 
						 | 
				
			
			@ -45,6 +44,7 @@
 | 
			
		|||
    width: 10%;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .environments-name,
 | 
			
		||||
  .environments-deploy,
 | 
			
		||||
  .environments-build {
 | 
			
		||||
    width: 15%;
 | 
			
		||||
| 
						 | 
				
			
			@ -62,6 +62,22 @@
 | 
			
		|||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .btn-group {
 | 
			
		||||
 | 
			
		||||
    > a {
 | 
			
		||||
      color: $gl-text-color-secondary;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    svg path {
 | 
			
		||||
      fill: $gl-text-color-secondary;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .dropdown {
 | 
			
		||||
      outline: none;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  .commit-title {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,6 +10,11 @@
 | 
			
		|||
    .issue-labels {
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .icon-merge-request-unmerged {
 | 
			
		||||
      height: 13px;
 | 
			
		||||
      margin-bottom: 3px;
 | 
			
		||||
     }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ module IssuableCollections
 | 
			
		|||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def issuable_meta_data(issuable_collection)
 | 
			
		||||
  def issuable_meta_data(issuable_collection, collection_type)
 | 
			
		||||
    # map has to be used here since using pluck or select will
 | 
			
		||||
    # throw an error when ordering issuables by priority which inserts
 | 
			
		||||
    # a new order into the collection.
 | 
			
		||||
| 
						 | 
				
			
			@ -17,16 +17,24 @@ module IssuableCollections
 | 
			
		|||
    issuable_ids = issuable_collection.map(&:id)
 | 
			
		||||
    issuable_note_count = Note.count_for_collection(issuable_ids, @collection_type)
 | 
			
		||||
    issuable_votes_count = AwardEmoji.votes_for_collection(issuable_ids, @collection_type)
 | 
			
		||||
    issuable_merge_requests_count =
 | 
			
		||||
      if collection_type == 'Issue'
 | 
			
		||||
        MergeRequestsClosingIssues.count_for_collection(issuable_ids)
 | 
			
		||||
      else
 | 
			
		||||
        []
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
    issuable_ids.each_with_object({}) do |id, issuable_meta|
 | 
			
		||||
      downvotes = issuable_votes_count.find { |votes| votes.awardable_id == id && votes.downvote? }
 | 
			
		||||
      upvotes = issuable_votes_count.find { |votes| votes.awardable_id == id && votes.upvote? }
 | 
			
		||||
      notes = issuable_note_count.find { |notes| notes.noteable_id == id }
 | 
			
		||||
      merge_requests = issuable_merge_requests_count.find { |mr| mr.first == id }
 | 
			
		||||
 | 
			
		||||
      issuable_meta[id] = Issuable::IssuableMeta.new(
 | 
			
		||||
        upvotes.try(:count).to_i,
 | 
			
		||||
        downvotes.try(:count).to_i,
 | 
			
		||||
        notes.try(:count).to_i
 | 
			
		||||
        notes.try(:count).to_i,
 | 
			
		||||
        merge_requests.try(:last).to_i
 | 
			
		||||
      )
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,7 @@ module IssuesAction
 | 
			
		|||
              .page(params[:page])
 | 
			
		||||
 | 
			
		||||
    @collection_type    = "Issue"
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@issues)
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@issues, @collection_type)
 | 
			
		||||
 | 
			
		||||
    respond_to do |format|
 | 
			
		||||
      format.html
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ module MergeRequestsAction
 | 
			
		|||
                      .page(params[:page])
 | 
			
		||||
 | 
			
		||||
    @collection_type    = "MergeRequest"
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@merge_requests)
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@merge_requests, @collection_type)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ class Projects::IssuesController < Projects::ApplicationController
 | 
			
		|||
    @collection_type    = "Issue"
 | 
			
		||||
    @issues             = issues_collection
 | 
			
		||||
    @issues             = @issues.page(params[:page])
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@issues)
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@issues, @collection_type)
 | 
			
		||||
 | 
			
		||||
    if @issues.out_of_range? && @issues.total_pages != 0
 | 
			
		||||
      return redirect_to url_for(params.merge(page: @issues.total_pages))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
 | 
			
		|||
    @collection_type    = "MergeRequest"
 | 
			
		||||
    @merge_requests     = merge_requests_collection
 | 
			
		||||
    @merge_requests     = @merge_requests.page(params[:page])
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@merge_requests)
 | 
			
		||||
    @issuable_meta_data = issuable_meta_data(@merge_requests, @collection_type)
 | 
			
		||||
 | 
			
		||||
    if @merge_requests.out_of_range? && @merge_requests.total_pages != 0
 | 
			
		||||
      return redirect_to url_for(params.merge(page: @merge_requests.total_pages))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
module EmailsHelper
 | 
			
		||||
  include AppearancesHelper
 | 
			
		||||
 | 
			
		||||
  # Google Actions
 | 
			
		||||
  # https://developers.google.com/gmail/markup/reference/go-to-action
 | 
			
		||||
  def email_action(url)
 | 
			
		||||
| 
						 | 
				
			
			@ -49,4 +51,19 @@ module EmailsHelper
 | 
			
		|||
    msg = "This link is valid for #{password_reset_token_valid_time}.  "
 | 
			
		||||
    msg << "After it expires, you can #{link_tag}."
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def header_logo
 | 
			
		||||
    if brand_item && brand_item.header_logo?
 | 
			
		||||
      image_tag(
 | 
			
		||||
        brand_item.header_logo,
 | 
			
		||||
        style: 'height: 50px'
 | 
			
		||||
      )
 | 
			
		||||
    else
 | 
			
		||||
      image_tag(
 | 
			
		||||
        image_url('mailers/gitlab_header_logo.gif'),
 | 
			
		||||
        size: "55x50",
 | 
			
		||||
        alt: "GitLab"
 | 
			
		||||
      )
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,8 +22,8 @@ module Emails
 | 
			
		|||
      mail(bcc: recipients,
 | 
			
		||||
           subject: pipeline_subject(status),
 | 
			
		||||
           skip_premailer: true) do |format|
 | 
			
		||||
        format.html { render layout: false }
 | 
			
		||||
        format.text
 | 
			
		||||
        format.html { render layout: 'mailer' }
 | 
			
		||||
        format.text { render layout: 'mailer' }
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,9 +16,9 @@ module Issuable
 | 
			
		|||
  include TimeTrackable
 | 
			
		||||
 | 
			
		||||
  # This object is used to gather issuable meta data for displaying
 | 
			
		||||
  # upvotes, downvotes and notes count for issues and merge requests
 | 
			
		||||
  # upvotes, downvotes, notes and closing merge requests count for issues and merge requests
 | 
			
		||||
  # lists avoiding n+1 queries and improving performance.
 | 
			
		||||
  IssuableMeta = Struct.new(:upvotes, :downvotes, :notes_count)
 | 
			
		||||
  IssuableMeta = Struct.new(:upvotes, :downvotes, :notes_count, :merge_requests_count)
 | 
			
		||||
 | 
			
		||||
  included do
 | 
			
		||||
    cache_markdown_field :title, pipeline: :single_line
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,4 +4,12 @@ class MergeRequestsClosingIssues < ActiveRecord::Base
 | 
			
		|||
 | 
			
		||||
  validates :merge_request_id, uniqueness: { scope: :issue_id }, presence: true
 | 
			
		||||
  validates :issue_id, presence: true
 | 
			
		||||
 | 
			
		||||
  class << self
 | 
			
		||||
    def count_for_collection(ids)
 | 
			
		||||
      group(:issue_id).
 | 
			
		||||
        where(issue_id: ids).
 | 
			
		||||
        pluck('issue_id', 'COUNT(*) as count')
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,72 @@
 | 
			
		|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
%html{ lang: "en" }
 | 
			
		||||
  %head
 | 
			
		||||
    %meta{ content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
 | 
			
		||||
    %meta{ content: "width=device-width, initial-scale=1", name: "viewport" }/
 | 
			
		||||
    %meta{ content: "IE=edge", "http-equiv" => "X-UA-Compatible" }/
 | 
			
		||||
    %title= message.subject
 | 
			
		||||
    :css
 | 
			
		||||
      /* CLIENT-SPECIFIC STYLES */
 | 
			
		||||
      body, table, td, a { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
 | 
			
		||||
      table, td { mso-table-lspace: 0pt; mso-table-rspace: 0pt; }
 | 
			
		||||
      img { -ms-interpolation-mode: bicubic; }
 | 
			
		||||
 | 
			
		||||
      /* iOS BLUE LINKS */
 | 
			
		||||
      a[x-apple-data-detectors] {
 | 
			
		||||
          color: inherit !important;
 | 
			
		||||
          text-decoration: none !important;
 | 
			
		||||
          font-size: inherit !important;
 | 
			
		||||
          font-family: inherit !important;
 | 
			
		||||
          font-weight: inherit !important;
 | 
			
		||||
          line-height: inherit !important;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      /* ANDROID MARGIN HACK */
 | 
			
		||||
      body { margin:0 !important; }
 | 
			
		||||
      div[style*="margin: 16px 0"] { margin:0 !important; }
 | 
			
		||||
 | 
			
		||||
      @media only screen and (max-width: 639px) {
 | 
			
		||||
          body, #body {
 | 
			
		||||
              min-width: 320px !important;
 | 
			
		||||
          }
 | 
			
		||||
          table.wrapper {
 | 
			
		||||
              width: 100% !important;
 | 
			
		||||
              min-width: 320px !important;
 | 
			
		||||
          }
 | 
			
		||||
          table.wrapper > tbody > tr > td {
 | 
			
		||||
              border-left: 0 !important;
 | 
			
		||||
              border-right: 0 !important;
 | 
			
		||||
              border-radius: 0 !important;
 | 
			
		||||
              padding-left: 10px !important;
 | 
			
		||||
              padding-right: 10px !important;
 | 
			
		||||
          }
 | 
			
		||||
      }
 | 
			
		||||
  %body{ style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
 | 
			
		||||
    %table#body{ border: "0", cellpadding: "0", cellspacing: "0", style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;" }
 | 
			
		||||
      %tbody
 | 
			
		||||
        %tr.line
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;" }  
 | 
			
		||||
        %tr.header
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
 | 
			
		||||
            = header_logo
 | 
			
		||||
        %tr
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
 | 
			
		||||
            %table.wrapper{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;" }
 | 
			
		||||
              %tbody
 | 
			
		||||
                %tr
 | 
			
		||||
                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;" }
 | 
			
		||||
                    %table.content{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:separate;border-spacing:0;" }
 | 
			
		||||
                      %tbody
 | 
			
		||||
                        = yield
 | 
			
		||||
 | 
			
		||||
        %tr.footer
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
 | 
			
		||||
            %img{ alt: "GitLab", height: "33", src: image_url('mailers/gitlab_footer_logo.gif'), style: "display:block;margin:0 auto 1em;", width: "90" }/
 | 
			
		||||
            %div
 | 
			
		||||
              %a{ href: profile_notifications_url, style: "color:#3777b0;text-decoration:none;" } Manage all notifications
 | 
			
		||||
              ·
 | 
			
		||||
              %a{ href: help_url, style: "color:#3777b0;text-decoration:none;" } Help
 | 
			
		||||
            %div
 | 
			
		||||
              You're receiving this email because of your account on
 | 
			
		||||
              = succeed "." do
 | 
			
		||||
                %a{ href: root_url, style: "color:#3777b0;text-decoration:none;" }= Gitlab.config.gitlab.host
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
= yield
 | 
			
		||||
 | 
			
		||||
You're receiving this email because of your account on #{Gitlab.config.gitlab.host}.
 | 
			
		||||
Manage all notifications: #{profile_notifications_url}
 | 
			
		||||
Help: #{help_url}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,62 +1,3 @@
 | 
			
		|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
%html{ lang: "en" }
 | 
			
		||||
  %head
 | 
			
		||||
    %meta{ content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
 | 
			
		||||
    %meta{ content: "width=device-width, initial-scale=1", name: "viewport" }/
 | 
			
		||||
    %meta{ content: "IE=edge", "http-equiv" => "X-UA-Compatible" }/
 | 
			
		||||
    %title= message.subject
 | 
			
		||||
    :css
 | 
			
		||||
      /* CLIENT-SPECIFIC STYLES */
 | 
			
		||||
      body, table, td, a { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
 | 
			
		||||
      table, td { mso-table-lspace: 0pt; mso-table-rspace: 0pt; }
 | 
			
		||||
      img { -ms-interpolation-mode: bicubic; }
 | 
			
		||||
 | 
			
		||||
      /* iOS BLUE LINKS */
 | 
			
		||||
      a[x-apple-data-detectors] {
 | 
			
		||||
          color: inherit !important;
 | 
			
		||||
          text-decoration: none !important;
 | 
			
		||||
          font-size: inherit !important;
 | 
			
		||||
          font-family: inherit !important;
 | 
			
		||||
          font-weight: inherit !important;
 | 
			
		||||
          line-height: inherit !important;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      /* ANDROID MARGIN HACK */
 | 
			
		||||
      body { margin:0 !important; }
 | 
			
		||||
      div[style*="margin: 16px 0"] { margin:0 !important; }
 | 
			
		||||
 | 
			
		||||
      @media only screen and (max-width: 639px) {
 | 
			
		||||
          body, #body {
 | 
			
		||||
              min-width: 320px !important;
 | 
			
		||||
          }
 | 
			
		||||
          table.wrapper {
 | 
			
		||||
              width: 100% !important;
 | 
			
		||||
              min-width: 320px !important;
 | 
			
		||||
          }
 | 
			
		||||
          table.wrapper > tbody > tr > td {
 | 
			
		||||
              border-left: 0 !important;
 | 
			
		||||
              border-right: 0 !important;
 | 
			
		||||
              border-radius: 0 !important;
 | 
			
		||||
              padding-left: 10px !important;
 | 
			
		||||
              padding-right: 10px !important;
 | 
			
		||||
          }
 | 
			
		||||
      }
 | 
			
		||||
  %body{ style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
 | 
			
		||||
    %table#body{ border: "0", cellpadding: "0", cellspacing: "0", style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;" }
 | 
			
		||||
      %tbody
 | 
			
		||||
        %tr.line
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;" }  
 | 
			
		||||
        %tr.header
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
 | 
			
		||||
            %img{ alt: "GitLab", height: "50", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo.gif'), width: "55" }/
 | 
			
		||||
        %tr
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
 | 
			
		||||
            %table.wrapper{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;" }
 | 
			
		||||
              %tbody
 | 
			
		||||
                %tr
 | 
			
		||||
                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;" }
 | 
			
		||||
                    %table.content{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:separate;border-spacing:0;" }
 | 
			
		||||
                      %tbody
 | 
			
		||||
%tr.alert
 | 
			
		||||
  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;background-color:#d22f57;color:#ffffff;" }
 | 
			
		||||
    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;margin:0 auto;" }
 | 
			
		||||
| 
						 | 
				
			
			@ -166,14 +107,3 @@
 | 
			
		|||
                  = build.trace_html(last_lines: 10).html_safe
 | 
			
		||||
            - else
 | 
			
		||||
              %td{ colspan: "2" }
 | 
			
		||||
        %tr.footer
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
 | 
			
		||||
            %img{ alt: "GitLab", height: "33", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'), style: "display:block;margin:0 auto 1em;", width: "90" }/
 | 
			
		||||
            %div
 | 
			
		||||
              %a{ href: profile_notifications_url, style: "color:#3777b0;text-decoration:none;" } Manage all notifications
 | 
			
		||||
              ·
 | 
			
		||||
              %a{ href: help_url, style: "color:#3777b0;text-decoration:none;" } Help
 | 
			
		||||
            %div
 | 
			
		||||
              You're receiving this email because of your account on
 | 
			
		||||
              = succeed "." do
 | 
			
		||||
                %a{ href: root_url, style: "color:#3777b0;text-decoration:none;" }= Gitlab.config.gitlab.host
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,3 @@ Trace: <%= build.trace_with_state(last_lines: 10)[:text] %>
 | 
			
		|||
<% end -%>
 | 
			
		||||
 | 
			
		||||
<% end -%>
 | 
			
		||||
 | 
			
		||||
You're receiving this email because of your account on <%= Gitlab.config.gitlab.host %>.
 | 
			
		||||
Manage all notifications: <%= profile_notifications_url %>
 | 
			
		||||
Help: <%= help_url %>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,62 +1,3 @@
 | 
			
		|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
%html{ lang: "en" }
 | 
			
		||||
  %head
 | 
			
		||||
    %meta{ content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
 | 
			
		||||
    %meta{ content: "width=device-width, initial-scale=1", name: "viewport" }/
 | 
			
		||||
    %meta{ content: "IE=edge", "http-equiv" => "X-UA-Compatible" }/
 | 
			
		||||
    %title= message.subject
 | 
			
		||||
    :css
 | 
			
		||||
      /* CLIENT-SPECIFIC STYLES */
 | 
			
		||||
      body, table, td, a { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
 | 
			
		||||
      table, td { mso-table-lspace: 0pt; mso-table-rspace: 0pt; }
 | 
			
		||||
      img { -ms-interpolation-mode: bicubic; }
 | 
			
		||||
 | 
			
		||||
      /* iOS BLUE LINKS */
 | 
			
		||||
      a[x-apple-data-detectors] {
 | 
			
		||||
          color: inherit !important;
 | 
			
		||||
          text-decoration: none !important;
 | 
			
		||||
          font-size: inherit !important;
 | 
			
		||||
          font-family: inherit !important;
 | 
			
		||||
          font-weight: inherit !important;
 | 
			
		||||
          line-height: inherit !important;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      /* ANDROID MARGIN HACK */
 | 
			
		||||
      body { margin:0 !important; }
 | 
			
		||||
      div[style*="margin: 16px 0"] { margin:0 !important; }
 | 
			
		||||
 | 
			
		||||
      @media only screen and (max-width: 639px) {
 | 
			
		||||
          body, #body {
 | 
			
		||||
              min-width: 320px !important;
 | 
			
		||||
          }
 | 
			
		||||
          table.wrapper {
 | 
			
		||||
              width: 100% !important;
 | 
			
		||||
              min-width: 320px !important;
 | 
			
		||||
          }
 | 
			
		||||
          table.wrapper > tbody > tr > td {
 | 
			
		||||
              border-left: 0 !important;
 | 
			
		||||
              border-right: 0 !important;
 | 
			
		||||
              border-radius: 0 !important;
 | 
			
		||||
              padding-left: 10px !important;
 | 
			
		||||
              padding-right: 10px !important;
 | 
			
		||||
          }
 | 
			
		||||
      }
 | 
			
		||||
  %body{ style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
 | 
			
		||||
    %table#body{ border: "0", cellpadding: "0", cellspacing: "0", style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;" }
 | 
			
		||||
      %tbody
 | 
			
		||||
        %tr.line
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;" }  
 | 
			
		||||
        %tr.header
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
 | 
			
		||||
            %img{ alt: "GitLab", height: "50", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo.gif'), width: "55" }/
 | 
			
		||||
        %tr
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
 | 
			
		||||
            %table.wrapper{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;" }
 | 
			
		||||
              %tbody
 | 
			
		||||
                %tr
 | 
			
		||||
                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;" }
 | 
			
		||||
                    %table.content{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:separate;border-spacing:0;" }
 | 
			
		||||
                      %tbody
 | 
			
		||||
%tr.success
 | 
			
		||||
  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;color:#ffffff;background-color:#31af64;" }
 | 
			
		||||
    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;margin:0 auto;" }
 | 
			
		||||
| 
						 | 
				
			
			@ -141,14 +82,3 @@
 | 
			
		|||
    #{build_count} #{'build'.pluralize(build_count)}
 | 
			
		||||
    in
 | 
			
		||||
    #{stage_count} #{'stage'.pluralize(stage_count)}.
 | 
			
		||||
        %tr.footer
 | 
			
		||||
          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
 | 
			
		||||
            %img{ alt: "GitLab", height: "33", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'), style: "display:block;margin:0 auto 1em;", width: "90" }/
 | 
			
		||||
            %div
 | 
			
		||||
              %a{ href: profile_notifications_url, style: "color:#3777b0;text-decoration:none;" } Manage all notifications
 | 
			
		||||
              ·
 | 
			
		||||
              %a{ href: help_url, style: "color:#3777b0;text-decoration:none;" } Help
 | 
			
		||||
            %div
 | 
			
		||||
              You're receiving this email because of your account on
 | 
			
		||||
              = succeed "." do
 | 
			
		||||
                %a{ href: root_url, style: "color:#3777b0;text-decoration:none;" }= Gitlab.config.gitlab.host
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,3 @@ Commit Author: <%= commit.author_name %>
 | 
			
		|||
<% build_count = @pipeline.statuses.latest.size -%>
 | 
			
		||||
<% stage_count = @pipeline.stages_count -%>
 | 
			
		||||
Pipeline #<%= @pipeline.id %> ( <%= pipeline_url(@pipeline) %> ) successfully completed <%= build_count %> <%= 'build'.pluralize(build_count) %> in <%= stage_count %> <%= 'stage'.pluralize(stage_count) %>.
 | 
			
		||||
 | 
			
		||||
You're receiving this email because of your account on <%= Gitlab.config.gitlab.host %>.
 | 
			
		||||
Manage all notifications: <%= profile_notifications_url %>
 | 
			
		||||
Help: <%= help_url %>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,3 +25,10 @@
 | 
			
		|||
              HTML
 | 
			
		||||
            .col-md-10.code.js-syntax-highlight
 | 
			
		||||
              = highlight('.html', badge.to_html)
 | 
			
		||||
          .row
 | 
			
		||||
            %hr
 | 
			
		||||
          .row
 | 
			
		||||
            .col-md-2.text-center
 | 
			
		||||
              AsciiDoc
 | 
			
		||||
            .col-md-10.code.js-syntax-highlight
 | 
			
		||||
              = highlight('.adoc', badge.to_asciidoc)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,5 +6,5 @@
 | 
			
		|||
    = f.text_field :key, class: "form-control", placeholder: "PROJECT_VARIABLE", required: true
 | 
			
		||||
  .form-group
 | 
			
		||||
    = f.label :value, "Value", class: "label-light"
 | 
			
		||||
    = f.text_area :value, class: "form-control", placeholder: "PROJECT_VARIABLE", required: true
 | 
			
		||||
    = f.text_area :value, class: "form-control", placeholder: "PROJECT_VARIABLE"
 | 
			
		||||
  = f.submit btn_text, class: "btn btn-save"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,12 @@
 | 
			
		|||
- issue_votes        = @issuable_meta_data[issuable.id]
 | 
			
		||||
- upvotes, downvotes = issue_votes.upvotes, issue_votes.downvotes
 | 
			
		||||
- issuable_url       = @collection_type == "Issue" ? issue_path(issuable, anchor: 'notes') : merge_request_path(issuable, anchor: 'notes')
 | 
			
		||||
- issuable_mr        = @issuable_meta_data[issuable.id].merge_requests_count
 | 
			
		||||
 | 
			
		||||
- if issuable_mr > 0
 | 
			
		||||
  %li
 | 
			
		||||
    = image_tag('icon-merge-request-unmerged', class: 'icon-merge-request-unmerged')
 | 
			
		||||
    = issuable_mr
 | 
			
		||||
 | 
			
		||||
- if upvotes > 0
 | 
			
		||||
  %li
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Rename Builds to Pipelines, CI/CD Pipelines, or Jobs everywhere
 | 
			
		||||
merge_request: 8787
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Don't require lib/gitlab/request_profiler/middleware.rb in config/initializers/request_profiler.rb
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Added labels empty state
 | 
			
		||||
merge_request: 7443
 | 
			
		||||
author: 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Use reCaptcha when an issue is identified as a spam
 | 
			
		||||
merge_request: 8846
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Unify projects search by removing /projects/:search endpoint
 | 
			
		||||
merge_request: 8877
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Allow creating protected branches when user can merge to such branch
 | 
			
		||||
merge_request: 8458
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Adds service trigger events to api
 | 
			
		||||
merge_request: 8324
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Create a TODO for user who set auto-merge when a build fails, merge conflict occurs
 | 
			
		||||
merge_request: 8056
 | 
			
		||||
author: twonegatives
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Don't group issues by project on group-level and dashboard issue indexes.
 | 
			
		||||
merge_request: 8111
 | 
			
		||||
author: Bernardo Castro
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix disable storing of sensitive information when importing a new repo
 | 
			
		||||
merge_request: 8885
 | 
			
		||||
author: Bernard Pietraga
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Adds back ability to stop all environments
 | 
			
		||||
merge_request: 7379
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Force new password after password reset via API
 | 
			
		||||
merge_request:
 | 
			
		||||
author: George Andrinopoulos
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix Ctrl+Click support for Todos and Merge Request page tabs
 | 
			
		||||
merge_request: 8898
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Refactor MergeRequests::BuildService
 | 
			
		||||
merge_request: 8462
 | 
			
		||||
author: Rydkin Maxim
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: 'Allows to search within project by commit hash'
 | 
			
		||||
merge_request: 
 | 
			
		||||
author: YarNayar
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix nested tasks in ordered list
 | 
			
		||||
merge_request: 8626
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Show organisation membership and delete comment on smaller viewports, plus change comment author name to username
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Prevent removal of input fields if it is the parent dropdown element
 | 
			
		||||
merge_request: 8397
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Remove flash warning from login page
 | 
			
		||||
merge_request: 8864
 | 
			
		||||
author: Gerald J. Padilla
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Replace word user with member
 | 
			
		||||
merge_request: 8872
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Remove turbolinks.
 | 
			
		||||
merge_request: !8570
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Update pipeline and commit links when CI status is updated
 | 
			
		||||
merge_request: 8351
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Convert pipeline action icons to svg to have them propperly positioned
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Remove rogue scrollbars for issue comments with inline elements
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Align Segoe UI label text
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Don’t count tasks that are not defined as list items correctly
 | 
			
		||||
merge_request: 8526
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: Added AsciiDoc Snippet to CI/CD Badges
 | 
			
		||||
merge_request: 9164
 | 
			
		||||
author: Jan Christophersen
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Add sorting pipeline for a commit
 | 
			
		||||
merge_request: 8319
 | 
			
		||||
author: Takuya Noguchi
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Color + and - signs in diffs to increase code legibility
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Improve button accessibility on pipelines page
 | 
			
		||||
merge_request: 8561
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix tab index order on branch commits list page
 | 
			
		||||
merge_request:
 | 
			
		||||
author: Ryan Harris
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix Sort by Recent Sign-in in Admin Area
 | 
			
		||||
merge_request: 8637
 | 
			
		||||
author: Poornima M
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Add hover style to copy icon on commit page header
 | 
			
		||||
merge_request:
 | 
			
		||||
author: Ryan Harris
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: prevent diff unfolding link from appearing when there are no more lines to
 | 
			
		||||
  show
 | 
			
		||||
merge_request: 8761
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Avoid repeated dashes in $CI_ENVIRONMENT_SLUG
 | 
			
		||||
merge_request: 8638
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Remove hover animation from row elements
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Add `copy` backup strategy to combat file changed errors
 | 
			
		||||
merge_request: 8728
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fixes hover cursor on pipeline pagenation
 | 
			
		||||
merge_request: 9003
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Add link verification to badge partial in order to render a badge without a link
 | 
			
		||||
merge_request: 8740
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Improve pipeline status icon linking in widgets
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix commit title bar and repository view copy clipboard button order on last commit in repository view
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix mini-pipeline stage tooltip text wrapping
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Prevent copying of line numbers in parallel diff view
 | 
			
		||||
merge_request: 8706
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: Add housekeeping endpoint for Projects API
 | 
			
		||||
merge_request: 9421
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Updated builds info link on the project settings page
 | 
			
		||||
merge_request:
 | 
			
		||||
author: Ryan Harris
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: 27240 Make progress bars consistent
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: fixed small mini pipeline graph line glitch
 | 
			
		||||
merge_request: 8804
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Unify MR diff file button style
 | 
			
		||||
merge_request: 8874
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Only render hr when user can't archive project.
 | 
			
		||||
merge_request: !8917
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix pipeline graph vertical spacing in Firefox and Safari
 | 
			
		||||
merge_request: 8886
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: 27352-search-label-filter-header
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Include :author, :project, and :target in Event.with_associations
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Don't instantiate AR objects in Event.in_projects
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Don't capitalize environment name in show page
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Update and pin the `jwt` gem to ~> 1.5.6
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Edited the column header for the environments list from created to updated and added created to environments detail page colum header titles
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fixes flickering of avatar border in mention dropdown
 | 
			
		||||
merge_request: 8950
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix MR widget url
 | 
			
		||||
merge_request: 8989
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Layer award emoji dropdown over the right sidebar
 | 
			
		||||
merge_request: 9004
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Update doc for enabling or disabling GitLab CI
 | 
			
		||||
merge_request: 8965
 | 
			
		||||
author: Takuya Noguchi
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Give ci status text on pipeline graph a better font-weight
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Add default labels to bulk assign dropdowns
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Only return target project's comments for a commit
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fixes Pipelines table is not showing branch name for commit
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Trigger autocomplete after selecting a slash command
 | 
			
		||||
merge_request: 9117
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix regression where cmd-click stopped working for todos and merge request
 | 
			
		||||
  tabs
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix stray pipelines API request when showing MR
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix Merge request pipelines displays JSON
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix current build arrow indicator
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix contribution activity alignment
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Add space between text and loading icon in Megre Request Widget
 | 
			
		||||
merge_request: 9119
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Show Pipeline(not Job) in MR desktop notification
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: Fix tooltips in mini pipeline graph
 | 
			
		||||
merge_request:
 | 
			
		||||
author:
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue