Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • rspeicher/gitlab
  • reprazent/gitlab
  • mwasilewski-gitlab/gitlab
  • mlapierre/gitlab
  • gl-gitaly/gitlab
  • gitlab-org/gitlab
  • 1and1_ebusiness/gitlab-ee
  • marin/gitlab-ee
  • max-group/gitlab-ee
  • cirosantilli/gitlab-ee
  • cernvcs/gitlab-ee
  • chrisrohr/gitlab-ee
  • stanhu/gitlab-ee
  • ealcantara/gitlab
  • sijis/gitlab-ee
  • kalibyrn/gitlab-ee
  • bbodenmiller/gitlab-ee
  • cvd/gitlab-ee
  • alexwarren/gitlab-ee
  • j.seto/gitlab
  • cmiskell/gitlab
  • Ashley/gitlab-ee
  • kkm/gitlab-ee
  • haynes/gitlab-ee
  • dblessing/gitlab-ee
  • allison.browne/gitlab
  • singingwolfboy/gitlab-ee
  • coderhugo/gitlab-ee
  • axil/gitlab-ee
  • truongsinh/gitlab-ee
  • tensky/gitlab-ee
  • rymai/gitlab-ee
  • jt-gitlab/gitlab-ee
  • patricio/gitlab-ee
  • b.lashen/gitlab-ee
  • acroitor/gitlab
  • rosiv/gitlab-ee
  • sune-keller/gitlab-ee
  • wiget/gitlab-ee
  • bandel/gitlab-ee
  • e4r7hbug/gitlab-ee
  • chaosaffe/gitlab-ee
  • yannick-croissant/gitlab-ee
  • jameslopez/gitlab-ee
  • xellor/gitlab-ee
  • ymotiongroup/gitlab-ee
  • cwilcox/gitlab-ee
  • daniel.hoffmann/gitlab-ee
  • johnnyeric/gitlab-ee
  • pidge/gitlab-ee
  • Posp/gitlab-ee
  • jonafato/gitlab-ee
  • Quintasan/gitlab
  • shobra/gitlab-ee
  • sleepyknife/gitlab-ee
  • yorickpeterse/gitlab
  • abualy/gitlab-ee
  • ci-test-user-mk/gitlab
  • jogo/gitlab-ee
  • foxnewsnetwork/gitlab-ee
  • riemers/gitlab-ee
  • pacoguzman/gitlab-ee
  • usr01/gitlab-ee
  • samuel.bernard/gitlab-ee
  • codelust/gitlab-ee
  • takitak/gitlab-ee
  • ftasdelen/gitlab-ee
  • qhcthanh/gitlab-ee
  • clairton/gitlab-ee
  • cuongtm/gitlab-ee
  • m5/gitlab-ee
  • Sivapuram/gitlab-ee
  • sbeleidy/gitlab-ee
  • baparici/gitlab-ee
  • Hubbitus/gitlab-ee
  • lbennett/gitlab-ee
  • klml/gitlab-ee
  • jaydeland/gitlab-ee
  • lupine/gitlab-ee
  • leftathome/gitlab-ee
  • ianb/gitlab-ee
  • mumayank/gitlab-ee
  • nagoyamavps/gitlab-ee
  • pattyhama/gitlab-ee
  • momirza/gitlab-ee
  • BhavaniM/gitlab-ee
  • morefice/gitlab
  • splattael-staging/gitlab
  • toanalien/gitlab-ee
  • clever_usr_name/gitlab-ee
  • oscar-lopez/gitlab-ee
  • svansteenis/gitlab-ee
  • prashtest/gitlab-ee
  • bonsai/gitlab-ee
  • graingert/gitlab-ee
  • niijv/gitlab-ee
  • abdiasshaw/gitlab-ee
  • peter9208/gitlab-ee
  • gforcada/gitlab-ee
  • broftkd/gitlab-ee
  • mkobel/gitlab-ee
  • mikaelz/gitlab-ee
  • OdNairy/gitlab-ee
  • christinebeaubrun/gitlab-ee
  • haakoo/gitlab-ee
  • Rencs/gitlab-ee
  • marcia/gitlab-ee
  • dehvmartins/gitlab-ee
  • rouzbeh84/gitlab-ee
  • gjunker/gitlab-ee
  • nick.thomas/gitlab-ee
  • heijmans/gitlab-ee
  • s.ghafarpour/gitlab-ee
  • markglenfletcher1/gitlab-ee
  • Benno/gitlab-ee
  • s2gluser/gitlab-ee
  • hazelyang/gitlab-ee
  • dewetblomerus/gitlab-ee
  • chrisbelyea/gitlab-ee
  • nick.volynkin/gitlab-ee
  • sevenseacat/gitlab-ee
  • yuanchenxi95/gitlab-ee
  • andyli/gitlab-ee
  • nacredata/gitlab-ee
  • srkaycg_admin/gitlab-ee
  • tagyangyang/gitlab-ee
  • miroslav.meca/gitlab-ee
  • cafed00d/gitlab-ee
  • iOrange/gitlab-ee
  • shackledtodesk/gitlab-ee
  • kalleva/gitlab-ee
  • paulsen.jan/gitlab-ee
  • hu19891110/gitlab-ee
  • gmeans/gitlab-ee
  • nithin2/gitlab-ee
  • dbelova/gitlab-ee
  • GeorgConradi/gitlab-ee
  • iunet/gitlab-ee
  • ephemeric/gitlab-ee
  • wendy0402/gitlab-ee
  • phil7/gitlab-ee
  • Eichi4Eichler/gitlab-ee
  • Munken/gitlab-ee
  • clim/gitlab-ee
  • averyduffin/gitlab-ee
  • DKovel/gitlab-ee
  • katrinleinweber/gitlab-ee
  • tmaier/gitlab-ee
  • Shahriar_Rabbi/gitlab-ee
  • Stretch96/gitlab-ee
  • brennanroberts/gitlab-ee
  • sanyatuning/gitlab-ee
  • hkrutzer/gitlab-ee
  • visualrobots/gitlab-ee
  • jieme/gitlab-ee
  • vansch/gitlab-ee
  • smuthusamy.fivedtech/gitlab-ee
  • almtoolbox/gitlab-ee
  • niketgupta6590/gitlab-ee
  • d.demichelis/gitlab-ee
  • LeclercA/gitlab-ee
  • bpietraga/gitlab-ee
  • ivikash/gitlab-ee
  • TobbenTM/gitlab-ee
  • YarNayar/gitlab-ee
  • dcondrey/gitlab-ee
  • atronah/gitlab-ee
  • mindupper/gitlab-ee
  • zyfran/gitlab-ee
  • savitojs/gitlab-ee
  • vino.v/gitlab-ee
  • athar/gitlab-ee
  • me63/gitlab-ee
  • l00mi/gitlab-ee
  • trentontri/gitlab-ee
  • peterlebrun/gitlab-ee
  • gwawr/gitlab-ee
  • isolation85/gitlab-ee
  • timothyandrew/gitlab-ee
  • shawonsoyket439/gitlab-ee
  • afolson/gitlab-ee
  • ismail-s/gitlab-ee
  • peterramsing/gitlab-ee
  • kason/gitlab-ee
  • al1_andre/gitlab-ee
  • pchojnacki/gitlab-ee
  • juliusv/gitlab-ee
  • scallopedllama/gitlab-ee
  • frech/gitlab-ee
  • z9g9l9/gitlab-ee
  • jamiekaw/gitlab-ee
  • mrburrito/gitlab-ee
  • headcrabmeat/gitlab-ee
  • cristiantmbr/gitlab-ee
  • revuel/gitlab-ee
  • Nnidyu/gitlab-ee
  • MrCirwos/gitlab-ee
  • Gutenevv/gitlab-ee
  • jmeyo/gitlab-ee
  • ollie314/gitlab-ee
  • sang9402/gitlab-ee
  • mickael9/gitlab-ee
  • vsizov/gitlab-ee
  • dosuken123/gitlab-ee
  • geoandri/gitlab-ee
  • afrastgeek/gitlab-ee
  • steveschooncts/gitlab-ee
  • dinsaw/gitlab-ee
  • xqua/gitlab-ee
  • smith-kyle/gitlab-ee
  • Mattlk13/gitlab-ee
  • andy_b_84/gitlab-ee
  • raansari/gitlab-ee
  • abitduck/gitlab-ee
  • mgresko/gitlab-ee
  • sidewinder12s/gitlab-ee
  • andresca/gitlab-ee
  • ccrebolder/gitlab-ee
  • rodrigo.pereira1/gitlab-ee
  • mohideen.rahuman/gitlab-ee
  • hebbet/gitlab-ee
  • smcgivern/gitlab-ee
  • heapifyman/gitlab-ee
  • TeNNoX/gitlab-ee
  • herryLi/gitlab-ee
  • AlexKalinin/gitlab-ee
  • vincedmg/gitlab-ee
  • martflu/gitlab-ee
  • derik/gitlab-ee
  • Ruby-and-Friends/gitlab-ee
  • wojciechlisik/gitlab-ee
  • winniehell-gitlab/gitlab-ee
  • Vaidehee5/gitlab-ee
  • vignesh.ravichandran02/gitlab-ee
  • tanyan2004/gitlab-ee
  • gitlabproject_s/gitlab-ee
  • virth/gitlab-ee
  • tmlee/gitlab-ee
  • hwdegroot/gitlab-ee
  • kybae/gitlab-ee
  • xiaogang_gitlab/gitlab-ee
  • jabber/gitlab-ee
  • eswar.madhira/gitlab-ee
  • alshamiri2/gitlab-ee
  • ba2014sheer/gitlab-ee
  • paulcodiny/gitlab-ee
  • glabio/gitlab-ee
  • lenghan1991/gitlab-ee
  • peterl/gitlab-ee
  • lucianomx/gitlab-ee
  • jbrandhorst/gitlab-ee
  • abushoeb/gitlab-ee
  • shellthor/gitlab-ee
  • jameshclrk/gitlab-ee
  • jontdelorme/gitlab-ee
  • tzc_007/gitlab-ee
  • indobits/gitlab-ee
  • dturner_ts/gitlab-ee
  • gauravkk22/gitlab-ee
  • andy9775/gitlab-ee
  • vladel/gitlab-ee
  • hakulatata99/gitlab-ee
  • lee0824/gitlab-ee
  • pk-codebox-evo/gitlab-ee
  • feshu/gitlab-ee
  • techguru/gitlab-ee
  • ei-grad/gitlab-ee
  • mccomput3rfr3ak/gitlab-ee
  • winnetou/gitlab-ee
  • julian-poidevin/gitlab-ee
  • arihantar/gitlab-ee
  • Trilom/gitlab-ee
  • Waysb1/gitlab-ee
  • jjung/gitlab-ee
  • xiaole/gitlab-ee
  • kikipq/gitlab-ee
  • rpadovani/gitlab-ee
  • zsturgess/gitlab-ee
  • mishunov/gitlab
  • nodeable/gitlab-ee
  • m1guelpiedrafita/gitlab-ee
  • jonas1/gitlab-ee
  • imranh/gitlab-ee
  • vitor.tyburski/gitlab-ee
  • pavel-voronin/gitlab-ee
  • alizadeh/gitlab-ee
  • aaaaaaq/gitlab-ee
  • JaKXz/gitlab-ee
  • umirra/gitlab-ee
  • jjcarstens/gitlab-ee
  • jenibella/gitlab-ee
  • hnk/gitlab-ee
  • roccolangeweg/gitlab-ee
  • batok/gitlab-ee
  • rajgomase24/gitlab-ee
  • qmnguyen0711/gitlab
  • 413063135/gitlab-ee
  • josephmarty/gitlab-ee
  • rdumont/gitlab-ee
  • gucong3000/gitlab-ee
  • ckatanda/gitlab-ee
  • overflowsith/gitlab-ee
  • TheJaredWilcurt/gitlab-ee
  • Riktos/gitlab-ee
  • losingle/gitlab-ee
  • mlushpenko/gitlab-ee
  • ericy_ts/gitlab-ee
  • fadb/gitlab-ee
  • dbvid/gitlab-ee
  • thejacer87/gitlab-ee
  • eli.boyarski/gitlab-ee
  • baldwinSPC/gitlab-ee
  • baldwinmathew/gitlab-ee
  • gsmethells/gitlab-ee
  • funkypenguin/gitlab-ee
  • rrentfro/gitlab-ee
  • M1TKO/gitlab-ee
  • SuriyaaKudoIsc/gitlab-ee
  • lmsurprenant/gitlab-ee
  • kay54088/gitlab-ee
  • pablo.catalina/gitlab-ee
  • xji/gitlab-ee
  • iscorer/gitlab-ee
  • kenny-evitt/gitlab-ee
  • Francis_Jude/gitlab-ee
  • xukaierwen/gitlab-ee
  • mustafayildirim/gitlab-ee
  • hh1/gitlab-ee
  • clamp27/gitlab-ee
  • UIPCO/gitlab-ee
  • chaase/gitlab-ee
  • matt.faure/gitlab-ee
  • wstomv/gitlab-ee
  • childNode/gitlab-ee
  • LockiStrike/gitlab-ee
  • Habiballah786/gitlab-ee
  • natebird/gitlab-ee
  • tamcv/gitlab-ee
  • adligithub/gitlab-ee
  • SuperDragon317/gitlab-ee
  • pkoretic/gitlab-ee
  • schoh/gitlab-ee
  • kpankonen/gitlab-ee
  • madnut_ua/gitlab-ee
  • smoothsailing/gitlab-ee
  • TimoSolo/gitlab-ee
  • collen/gitlab-ee
  • 0_0_0/gitlab-ee
  • innerwhisper/gitlab-ee
  • issue-reproduce-forks/gitlab-ee
  • szpak/gitlab-ee
  • zullusa/gitlab-ee
  • jamatute/gitlab-ee
  • mauriciomeirelles/gitlab-ee
  • anarcat/gitlab-ee
  • Shura/gitlab-ee
  • polarise/gitlab-ee
  • ecbrodie/gitlab-ee
  • odromark/gitlab-ee
  • senk/gitlab-ee
  • hiroponz/gitlab-ee
  • rawkode/gitlab-ee
  • HaPPyWaLLaCe/gitlab-ee
  • FeditskiyRoman/gitlab-ee
  • slrz/gitlab-ee
  • realsobek/gitlab-ee
  • Eternal21/gitlab-ee
  • leungpeng/gitlab-ee
  • nprabhu02/gitlab-ee
  • CodingGroup/gitlab-ee
  • smhoekstra/gitlab-ee
  • zeih/gitlab-ee
  • biancaghiurutan/gitlab-ee
  • bstrong/gitlab-ee
  • nap/gitlab-ee
  • mollybeth/gitlab-ee
  • Jeismeier/gitlab-ee
  • bouland/gitlab-ee
  • poneytruand/gitlab-ee
  • robotmay/gitlab
380 results
Show changes
Commits on Source (605)
Showing
with 392 additions and 127 deletions
Loading
@@ -27,6 +27,7 @@
Loading
@@ -27,6 +27,7 @@
}, },
"rules": { "rules": {
"filenames/match-regex": [2, "^[a-z0-9_]+$"], "filenames/match-regex": [2, "^[a-z0-9_]+$"],
"import/no-commonjs": "error",
"no-multiple-empty-lines": ["error", { "max": 1 }], "no-multiple-empty-lines": ["error", { "max": 1 }],
"promise/catch-or-return": "error" "promise/catch-or-return": "error"
} }
Loading
Loading
Loading
@@ -18,6 +18,7 @@ eslint-report.html
Loading
@@ -18,6 +18,7 @@ eslint-report.html
.sass-cache/ .sass-cache/
/.secret /.secret
/.vagrant /.vagrant
/.yarn-cache
/.byebug_history /.byebug_history
/Vagrantfile /Vagrantfile
/backups/* /backups/*
Loading
@@ -49,6 +50,7 @@ eslint-report.html
Loading
@@ -49,6 +50,7 @@ eslint-report.html
/public/uploads/ /public/uploads/
/shared/artifacts/ /shared/artifacts/
/spec/javascripts/fixtures/blob/pdf/ /spec/javascripts/fixtures/blob/pdf/
/spec/javascripts/fixtures/blob/balsamiq/
/rails_best_practices_output.html /rails_best_practices_output.html
/tags /tags
/tmp/* /tmp/*
Loading
Loading
image: "dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6" image: "dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6"
   
cache: cache:
key: "ruby-233" key: "ruby-233-with-yarn"
paths: paths:
- vendor/ruby - vendor/ruby
- .yarn-cache/
   
variables: variables:
MYSQL_ALLOW_EMPTY_PASSWORD: "1" MYSQL_ALLOW_EMPTY_PASSWORD: "1"
Loading
@@ -194,7 +195,7 @@ setup-test-env:
Loading
@@ -194,7 +195,7 @@ setup-test-env:
stage: prepare stage: prepare
script: script:
- node --version - node --version
- yarn install --pure-lockfile - yarn install --pure-lockfile --cache-folder .yarn-cache
- bundle exec rake gitlab:assets:compile - bundle exec rake gitlab:assets:compile
- bundle exec ruby -Ispec -e 'require "spec_helper" ; TestEnv.init' - bundle exec ruby -Ispec -e 'require "spec_helper" ; TestEnv.init'
artifacts: artifacts:
Loading
@@ -413,7 +414,8 @@ gitlab:assets:compile:
Loading
@@ -413,7 +414,8 @@ gitlab:assets:compile:
SKIP_STORAGE_VALIDATION: "true" SKIP_STORAGE_VALIDATION: "true"
WEBPACK_REPORT: "true" WEBPACK_REPORT: "true"
script: script:
- bundle exec rake yarn:install gitlab:assets:compile - yarn install --pure-lockfile --production --cache-folder .yarn-cache
- bundle exec rake gitlab:assets:compile
artifacts: artifacts:
name: webpack-report name: webpack-report
expire_in: 31d expire_in: 31d
Loading
@@ -421,9 +423,6 @@ gitlab:assets:compile:
Loading
@@ -421,9 +423,6 @@ gitlab:assets:compile:
- webpack-report/ - webpack-report/
   
karma: karma:
cache:
paths:
- vendor/ruby
stage: test stage: test
<<: *use-pg <<: *use-pg
<<: *dedicated-runner <<: *dedicated-runner
Loading
Loading
Loading
@@ -40,6 +40,7 @@ logs, and code as it's very hard to read otherwise.)
Loading
@@ -40,6 +40,7 @@ logs, and code as it's very hard to read otherwise.)
#### Results of GitLab environment info #### Results of GitLab environment info
   
<details> <details>
<summary>Expand for output related to GitLab environment info</summary>
<pre> <pre>
   
(For installations with omnibus-gitlab package run and paste the output of: (For installations with omnibus-gitlab package run and paste the output of:
Loading
@@ -54,6 +55,7 @@ logs, and code as it's very hard to read otherwise.)
Loading
@@ -54,6 +55,7 @@ logs, and code as it's very hard to read otherwise.)
#### Results of GitLab application Check #### Results of GitLab application Check
   
<details> <details>
<summary>Expand for output related to the GitLab application check</summary>
<pre> <pre>
   
(For installations with omnibus-gitlab package run and paste the output of: (For installations with omnibus-gitlab package run and paste the output of:
Loading
Loading
Please view this file on the master branch, on stable branches it's out of date. Please view this file on the master branch, on stable branches it's out of date.
   
## 9.2.1 (2017-05-23)
- No changes.
## 9.2.0 (2017-05-22)
- Stop using sidekiq cron for push mirrors. !1616
- Inline RSS button with Export Issues button for mobile. !1637
- Highlight Contribution Analytics tab under groups when active, remove sub-nav items. !1677
- Uses etag polling for deployboards. !1713
- Support more elasticsearch versions. !1716
- Support advanced search queries using elasticsearch. !1770
- Remove superfluous wording on push rules. !1811
- Geo - Fix signing out from secondary node when "Remember me" option is checked. !1903
- Add global wiki search using Elasticsearch.
- Remove warning about protecting Service Desk email from form.
- Geo: Resync repositories that have been updated recently.
- Respect project features when searching alternative branches with elasticsearch enabled.
- Backfill projects where the last attempt to backfill failed.
- Fix MR approvals sentence when all approvers need to approve the MR.
- Fix for XSS in project mirror errors caused by Hamlit filter usage.
- Feature availability check using feature list AND license addons.
- Disable mirror workers for Geo secondaries.
## 9.1.4 (2017-05-12) ## 9.1.4 (2017-05-12)
   
- Remove warning about protecting Service Desk email from form. - Remove warning about protecting Service Desk email from form.
Loading
Loading
Loading
@@ -2,6 +2,213 @@
Loading
@@ -2,6 +2,213 @@
documentation](doc/development/changelog.md) for instructions on adding your own documentation](doc/development/changelog.md) for instructions on adding your own
entry. entry.
   
## 9.2.1 (2017-05-23)
- Fix placement of note emoji on hover.
- Fix migration for older PostgreSQL versions.
## 9.2.0 (2017-05-22)
- API: Filter merge requests by milestone and labels. (10924)
- Reset New branch button when issue state changes. !5962 (winniehell)
- Frontend prevent authored votes. !6260 (Barthc)
- Change issues list in MR to natural sorting. !7110 (Jeff Stubler)
- Add animations to all the dropdowns. !8419
- Add update time to project lists. !8514 (Jeff Stubler)
- Remove view fragment caching for project READMEs. !8838
- API: Add parameters to allow filtering project pipelines. !9367 (dosuken123)
- Database SSL support for backup script. !9715 (Guillaume Simon)
- Fix UI inconsistency different files view (find file button missing). !9847 (TM Lee)
- Display slash commands outcome when previewing Markdown. !10054 (Rares Sfirlogea)
- Resolve "Add more tests for spec/controllers/projects/builds_controller_spec.rb". !10244 (dosuken123)
- Add keyboard edit shotcut for wiki. !10245 (George Andrinopoulos)
- Update issue board cards design. !10353
- Redirect old links after renaming a user/group/project. !10370
- Add system note on description change of issue/merge request. !10392 (blackst0ne)
- Improve validation of namespace & project paths. !10413
- Add board_move slash command. !10433 (Alex Sanford)
- Update all instances of the old loading icon. !10490 (Andrew Torres)
- Implement protected manual actions. !10494
- Implement search by extern_uid in Users API. !10509 (Robin Bobbitt)
- add support for .vue templates. !10517
- Only add newlines between multiple uploads. !10545
- Added balsamiq file viewer. !10564
- Remove unnecessary test helpers includes. !10567 (Jacopo Beschi @jacopo-beschi)
- Add tooltip to header of Done board. !10574 (Andy Brown)
- Fix redundant cache expiration in Repository. !10575 (blackst0ne)
- Add hashie-forbidden_attributes gem. !10579 (Andy Brown)
- Add spec for schema.rb. !10580 (blackst0ne)
- Keep webpack-dev-server process functional across branch changes. !10581
- Turns true value and false value database methods from instance to class methods. !10583
- Improve text on todo list when the todo action comes from yourself. !10594 (Jacopo Beschi @jacopo-beschi)
- Replace rake cache:clear:db with an automatic mechanism. !10597
- Remove heading and trailing spaces from label's color and title. !10603 (blackst0ne)
- Add webpack_bundle_tag helper to improve non-localhost GDK configurations. !10604
- Added quick-update (fade-in) animation to newly rendered notes. !10623
- Fix rendering emoji inside a string. !10647 (blackst0ne)
- Dockerfiles templates are imported from gitlab.com/gitlab-org/Dockerfile. !10663
- Add support for i18n on Cycle Analytics page. !10669
- Allow OAuth clients to push code. !10677
- Add configurable timeout for git fetch and clone operations. !10697
- Move labels of search results from bottom to title. !10705 (dr)
- Added build failures summary page for pipelines. !10719
- Expand/collapse button -> Change to make it look like a toggle. !10720 (Jacopo Beschi @jacopo-beschi)
- Decrease ABC threshold to 57.08. !10724 (Rydkin Maxim)
- Removed target blank from the metrics action inside the environments list. !10726
- Remove Repository#version method and tests. !10734
- Refactor Admin::GroupsController#members_update method and add some specs. !10735
- Refactor code that creates project/group members. !10735
- Add Slack slash command api to services documentation and rearrange order and cases. !10757 (TM Lee)
- Disable test settings on chat notification services when repository is empty. !10759
- Add support for instantly updating comments. !10760
- Show checkmark on current assignee in assignee dropdown. !10767
- Remove pipeline controls for last deployment from Environment monitoring page. !10769
- Pipeline view updates in near real time. !10777
- Fetch pipeline status in batch from redis. !10785
- Add username to activity atom feed. !10802 (winniehell)
- Support Markdown previews for personal snippets. !10810
- Implement ability to edit hooks. !10816 (Alexander Randa)
- Allow admins to sudo to blocked users via the API. !10842
- Don't display the is_admin flag in most API responses. !10846
- Refactor add_users method for project and group. !10850
- Pipeline schedules got a new and improved UI. !10853
- Fix updating merge_when_build_succeeds via merge API endpoint. !10873
- Add index on ci_builds.user_id. !10874 (blackst0ne)
- Improves test settings for chat notification services for empty projects. !10886
- Change Git commit command in Existing folder to git commit -m. !10900 (TM Lee)
- Show group name on flash container when group is created from Admin area. !10905
- Make markdown tables thinner. !10909 (blackst0ne)
- Ensure namespace owner is Master of project upon creation. !10910
- Updated CI status favicons to include the tanuki. !10923
- Decrease Cyclomatic Complexity threshold to 16. !10928 (Rydkin Maxim)
- Replace header merge request icon. !10932 (blackst0ne)
- Fix error on CI/CD Settings page related to invalid pipeline trigger. !10948 (dosuken123)
- rickettm Add repo parameter to gitaly:install and workhorse:install rake tasks. !10979 (M. Ricketts)
- Generate and handle a gl_repository param to pass around components. !10992
- Prevent 500 errors caused by testing the Prometheus service. !10994
- Disable navigation to Project-level pages configuration when Pages disabled. !11008
- Fix caching large snippet HTML content on MySQL databases. !11024
- Hide external environment URL button on terminal page if URL is not defined. !11029
- Always show the latest pipeline information in the commit box. !11038
- Fix misaligned buttons in wiki pages. !11043
- Colorize labels in search field. !11047
- Sort the network graph both by commit date and topographically. !11057
- Remove carriage returns from commit messages. !11077
- Add tooltips to user contribution graph key. !11138
- Add German translation for Cycle Analytics. !11161
- Fix skipped manual actions problem when processing the pipeline. !11164
- Fix cross referencing for private and internal projects. !11243
- Add state to MR widget that prevent merges when branch changes after page load. !11316
- Fixes the 500 when accessing customized appearance logos. !11479 (Alexis Reigel)
- Implement Users::BuildService. !30349 (George Andrinopoulos)
- Display comments for personal snippets.
- Support comments for personal snippets.
- Support uploaders for personal snippets comments.
- Handle incoming emails from aliases correctly.
- Re-rewrites pipeline graph in vue to support realtime data updates.
- Add issues/:iid/closed_by api endpoint. (mhasbini)
- Disallow merge requests from fork when source project have disabled merge requests. (mhasbini)
- Improved UX on project members settings view.
- Clear emoji search in awards menu after picking emoji.
- Cleanup markdown spacing.
- Separate CE params on Grape API.
- Allow to create new branch and empty WIP merge request from issue page.
- Prevent people from creating branches if they don't have persmission to push.
- Redesign auth 422 page.
- 29595 Update callout design.
- Detect already enabled DeployKeys in EnableDeployKeyService.
- Add transparent top-border to the hover state of done todos.
- Refactor all CI vue badges to use the same vue component.
- Update note edits in real-time.
- Add button to delete filters from filtered search bar.
- Added profile name to user dropdown.
- Display GitLab Pages status in Admin Dashboard.
- Fix label creation from issuable for subgroup projects.
- Vertically align mini pipeline stage container.
- prevent nav tabs from wrapping to new line.
- Fix environments vue architecture to match documentation.
- Enforce project features when searching blobs and wikis.
- fix inline diff copy in firefox.
- Note Ghost user and refer to user deletion documentation.
- Expose project statistics on single requests via the API.
- Job dropdown of pipeline mini graph updates in realtime when its opened.
- Add default margin-top to user request table on project members page.
- Add tooltips to note action buttons.
- Remove `#` being added on commit sha in MR widget.
- Remove spinner from loading comment.
- Fixes an issue preventing screen readers from reading some icons.
- Add metrics events for incoming emails.
- Load milestone tabs asynchronously to increase initial load performance.
- [BB Importer] Save the error trace and the whole raw document to debug problems easier.
- Fixed branches dropdown rendering branch names as HTML.
- Make Asciidoc & other markup go through pipeline to prevent XSS.
- Validate URLs in markdown using URI to detect the host correctly.
- Side-by-side view in commits correcly expands full window width.
- Deploy keys load are loaded async.
- Fixed spacing of discussion submit buttons.
- Add hostname to usage ping.
- Allow usage ping to be disabled completely in gitlab.yml.
- Add artifact file page that uses the blob viewer.
- Add breadcrumb, build header and pipelines submenu to artifacts browser.
- Show Raw button as Download for binary files.
- Add Source/Rendered switch to blobs for SVG, Markdown, Asciidoc and other text files that can be rendered.
- Catch all URI errors in ExternalLinkFilter.
- Allow commenting on older versions of the diff and comparisons between diff versions.
- Paste a copied MR source branch name as code when pasted into a GFM form.
- Fix commenting on an existing discussion on an unchanged line that is no longer in the diff.
- Link to outdated diff in older MR version from outdated diff discussion.
- Bump Sidekiq to 5.0.0.
- Use blob viewers for snippets.
- Add download button to project snippets.
- Display video blobs in-line like images.
- Gracefully handle failures for incoming emails which do not match on the To header, and have no References header.
- Added title to award emoji buttons.
- Fixed alignment of empty task list items.
- Removed the target=_blank from the monitoring component to prevent opening a new tab.
- Fix new admin integrations not taking effect on existing projects.
- Prevent further repository corruption when resolving conflicts from a fork where both the fork and upstream projects require housekeeping.
- Add missing project attributes to Import/Export.
- Remove N+1 queries in processing MR references.
- Fixed wrong method call on notify_post_receive. (Luigi Leoni)
- Fixed search terms not correctly highlighting.
- Refactored the anchor tag to remove the trailing space in the target branch.
- Prevent user profile tabs to display raw json when going back and forward in browser history.
- Add index to webhooks type column.
- Change line-height on build-header so elements don't overlap. (Dino Maric)
- Fix dead link to GDK on the README page. (Dino Maric)
- Fixued preview shortcut focusing wrong preview tab.
- Issue assignees are now removed without loading unnecessary data into memory.
- Refactor backup/restore docs.
- Fixed group issues assignee dropdown loading all users.
- Fix for XSS in project import view caused by Hamlit filter usage.
- Fixed avatar not display on issue boards when Gravatar is disabled.
- Fixed create new label form in issue boards sidebar.
- Add realtime descriptions to issue show pages.
- Issue API change: assignee_id parameter and assignee object in a response have been deprecated.
- Fixed bug where merge request JSON would be displayed.
- Fixed Prometheus monitoring graphs not showing empty states in certain scenarios.
- Removed the milestone references from the milestone views.
- Show sizes correctly in merge requests when diffs overflow.
- Fix notify_only_default_branch check for Slack service.
- Make the `gitlab:gitlab_shell:check` task check that the repositories storage path are owned by the `root` group.
- Optimise pipelines.json endpoint.
- Pass docsUrl to pipeline schedules callout component.
- Fixed alignment of CI icon in issues related branches.
- Set the issuable sidebar to remain closed for mobile devices.
- Sanitize submodule URLs before linking to them in the file tree view.
- Upgrade Sidekiq to 4.2.10.
- Cache Routable#full_path in RequestStore to reduce duplicate route loads.
- Refactor snippets finder & dont return internal snippets for external users.
- Fix snippets visibility for show action - external users can not see internal snippets.
- Store retried in database for CI Builds.
- repository browser: handle submodule urls that don't end with .git. (David Turner)
- Fixed tags sort from defaulting to empty.
- Do not show private groups on subgroups page if user doesn't have access to.
- Make MR link in build sidebar bold.
- Unassign all Issues and Merge Requests when member leaves a team.
- Fix preemptive scroll bar on user activity calendar.
- Pipeline chat notifications convert seconds to minutes and hours.
## 9.1.4 (2017-05-12) ## 9.1.4 (2017-05-12)
   
- Fix error on CI/CD Settings page related to invalid pipeline trigger. !10948 (dosuken123) - Fix error on CI/CD Settings page related to invalid pipeline trigger. !10948 (dosuken123)
Loading
@@ -53,6 +260,7 @@ entry.
Loading
@@ -53,6 +260,7 @@ entry.
   
## 9.1.0 (2017-04-22) ## 9.1.0 (2017-04-22)
   
- Add Jupyter notebook rendering !10017
- Added merge requests empty state. !7342 - Added merge requests empty state. !7342
- Add option to start a new resolvable discussion in an MR. !7527 - Add option to start a new resolvable discussion in an MR. !7527
- Hide form inputs for group member without editing rights. !7816 - Hide form inputs for group member without editing rights. !7816
Loading
Loading
Loading
@@ -154,12 +154,12 @@ gem 'acts-as-taggable-on', '~> 4.0'
Loading
@@ -154,12 +154,12 @@ gem 'acts-as-taggable-on', '~> 4.0'
   
# Background jobs # Background jobs
gem 'sidekiq', '~> 5.0' gem 'sidekiq', '~> 5.0'
gem 'sidekiq-cron', '~> 0.4.4' gem 'sidekiq-cron', '~> 0.6.0'
gem 'redis-namespace', '~> 1.5.2' gem 'redis-namespace', '~> 1.5.2'
gem 'sidekiq-limit_fetch', '~> 3.4' gem 'sidekiq-limit_fetch', '~> 3.4'
   
# Cron Parser # Cron Parser
gem 'rufus-scheduler', '~> 3.1.10' gem 'rufus-scheduler', '~> 3.4'
   
# HTTP requests # HTTP requests
gem 'httparty', '~> 0.13.3' gem 'httparty', '~> 0.13.3'
Loading
@@ -377,6 +377,6 @@ gem 'vmstat', '~> 2.3.0'
Loading
@@ -377,6 +377,6 @@ gem 'vmstat', '~> 2.3.0'
gem 'sys-filesystem', '~> 1.1.6' gem 'sys-filesystem', '~> 1.1.6'
   
# Gitaly GRPC client # Gitaly GRPC client
gem 'gitaly', '~> 0.6.0' gem 'gitaly', '~> 0.7.0'
   
gem 'toml-rb', '~> 0.3.15', require: false gem 'toml-rb', '~> 0.3.15', require: false
Loading
@@ -202,6 +202,8 @@ GEM
Loading
@@ -202,6 +202,8 @@ GEM
equalizer (0.0.11) equalizer (0.0.11)
erubis (2.7.0) erubis (2.7.0)
escape_utils (1.1.1) escape_utils (1.1.1)
et-orbi (1.0.3)
tzinfo
eventmachine (1.0.8) eventmachine (1.0.8)
excon (0.55.0) excon (0.55.0)
execjs (2.6.0) execjs (2.6.0)
Loading
@@ -287,7 +289,7 @@ GEM
Loading
@@ -287,7 +289,7 @@ GEM
po_to_json (>= 1.0.0) po_to_json (>= 1.0.0)
rails (>= 3.2.0) rails (>= 3.2.0)
gherkin-ruby (0.3.2) gherkin-ruby (0.3.2)
gitaly (0.6.0) gitaly (0.7.0)
google-protobuf (~> 3.1) google-protobuf (~> 3.1)
grpc (~> 1.0) grpc (~> 1.0)
github-linguist (4.7.6) github-linguist (4.7.6)
Loading
@@ -725,7 +727,8 @@ GEM
Loading
@@ -725,7 +727,8 @@ GEM
rubyntlm (0.5.2) rubyntlm (0.5.2)
rubypants (0.2.0) rubypants (0.2.0)
rubyzip (1.2.1) rubyzip (1.2.1)
rufus-scheduler (3.1.10) rufus-scheduler (3.4.0)
et-orbi (~> 1.0)
rugged (0.25.1.1) rugged (0.25.1.1)
safe_yaml (1.0.4) safe_yaml (1.0.4)
sanitize (2.1.0) sanitize (2.1.0)
Loading
@@ -762,9 +765,8 @@ GEM
Loading
@@ -762,9 +765,8 @@ GEM
connection_pool (~> 2.2, >= 2.2.0) connection_pool (~> 2.2, >= 2.2.0)
rack-protection (>= 1.5.0) rack-protection (>= 1.5.0)
redis (~> 3.3, >= 3.3.3) redis (~> 3.3, >= 3.3.3)
sidekiq-cron (0.4.4) sidekiq-cron (0.6.0)
redis-namespace (>= 1.5.2) rufus-scheduler (>= 3.3.0)
rufus-scheduler (>= 2.0.24)
sidekiq (>= 4.2.1) sidekiq (>= 4.2.1)
sidekiq-limit_fetch (3.4.0) sidekiq-limit_fetch (3.4.0)
sidekiq (>= 4) sidekiq (>= 4)
Loading
@@ -955,7 +957,7 @@ DEPENDENCIES
Loading
@@ -955,7 +957,7 @@ DEPENDENCIES
gettext (~> 3.2.2) gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.2.0) gettext_i18n_rails_js (~> 1.2.0)
gitaly (~> 0.6.0) gitaly (~> 0.7.0)
github-linguist (~> 4.7.0) github-linguist (~> 4.7.0)
gitlab-flowdock-git-hook (~> 1.0.1) gitlab-flowdock-git-hook (~> 1.0.1)
gitlab-license (~> 1.0) gitlab-license (~> 1.0)
Loading
@@ -1049,7 +1051,7 @@ DEPENDENCIES
Loading
@@ -1049,7 +1051,7 @@ DEPENDENCIES
ruby-fogbugz (~> 0.2.1) ruby-fogbugz (~> 0.2.1)
ruby-prof (~> 0.16.2) ruby-prof (~> 0.16.2)
ruby_parser (~> 3.8.4) ruby_parser (~> 3.8.4)
rufus-scheduler (~> 3.1.10) rufus-scheduler (~> 3.4)
rugged (~> 0.25.1.1) rugged (~> 0.25.1.1)
sanitize (~> 2.0) sanitize (~> 2.0)
sass-rails (~> 5.0.6) sass-rails (~> 5.0.6)
Loading
@@ -1061,7 +1063,7 @@ DEPENDENCIES
Loading
@@ -1061,7 +1063,7 @@ DEPENDENCIES
sham_rack (~> 1.3.6) sham_rack (~> 1.3.6)
shoulda-matchers (~> 2.8.0) shoulda-matchers (~> 2.8.0)
sidekiq (~> 5.0) sidekiq (~> 5.0)
sidekiq-cron (~> 0.4.4) sidekiq-cron (~> 0.6.0)
sidekiq-limit_fetch (~> 3.4) sidekiq-limit_fetch (~> 3.4)
simplecov (~> 0.14.0) simplecov (~> 0.14.0)
slack-notifier (~> 1.5.1) slack-notifier (~> 1.5.1)
Loading
Loading
app/assets/images/mailers/approval/icon-merge-request-gray.gif

650 B | W: 26px | H: 26px

app/assets/images/mailers/approval/icon-merge-request-gray.gif

704 B | W: 26px | H: 26px

app/assets/images/mailers/approval/icon-merge-request-gray.gif
app/assets/images/mailers/approval/icon-merge-request-gray.gif
app/assets/images/mailers/approval/icon-merge-request-gray.gif
app/assets/images/mailers/approval/icon-merge-request-gray.gif
  • 2-up
  • Swipe
  • Onion skin
/* global Flash */
import sqljs from 'sql.js'; import sqljs from 'sql.js';
import { template as _template } from 'underscore'; import { template as _template } from 'underscore';
   
Loading
@@ -15,19 +13,27 @@ const PREVIEW_TEMPLATE = _template(`
Loading
@@ -15,19 +13,27 @@ const PREVIEW_TEMPLATE = _template(`
class BalsamiqViewer { class BalsamiqViewer {
constructor(viewer) { constructor(viewer) {
this.viewer = viewer; this.viewer = viewer;
this.endpoint = this.viewer.dataset.endpoint;
} }
   
loadFile() { loadFile(endpoint) {
const xhr = new XMLHttpRequest(); return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open('GET', endpoint, true);
xhr.responseType = 'arraybuffer';
xhr.onload = loadEvent => this.fileLoaded(loadEvent, resolve, reject);
xhr.onerror = reject;
xhr.send();
});
}
   
xhr.open('GET', this.endpoint, true); fileLoaded(loadEvent, resolve, reject) {
xhr.responseType = 'arraybuffer'; if (loadEvent.target.status !== 200) return reject();
   
xhr.onload = this.renderFile.bind(this); this.renderFile(loadEvent);
xhr.onerror = BalsamiqViewer.onError;
   
xhr.send(); return resolve();
} }
   
renderFile(loadEvent) { renderFile(loadEvent) {
Loading
@@ -103,12 +109,6 @@ class BalsamiqViewer {
Loading
@@ -103,12 +109,6 @@ class BalsamiqViewer {
static parseTitle(resource) { static parseTitle(resource) {
return JSON.parse(resource.values[0][2]).name; return JSON.parse(resource.values[0][2]).name;
} }
static onError() {
const flash = new Flash('Balsamiq file could not be loaded.');
return flash;
}
} }
   
export default BalsamiqViewer; export default BalsamiqViewer;
/* global Flash */
import BalsamiqViewer from './balsamiq/balsamiq_viewer'; import BalsamiqViewer from './balsamiq/balsamiq_viewer';
   
document.addEventListener('DOMContentLoaded', () => { function onError() {
const balsamiqViewer = new BalsamiqViewer(document.getElementById('js-balsamiq-viewer')); const flash = new window.Flash('Balsamiq file could not be loaded.');
balsamiqViewer.loadFile();
}); return flash;
}
function loadBalsamiqFile() {
const viewer = document.getElementById('js-balsamiq-viewer');
if (!(viewer instanceof Element)) return;
const endpoint = viewer.dataset.endpoint;
const balsamiqViewer = new BalsamiqViewer(viewer);
balsamiqViewer.loadFile(endpoint).catch(onError);
}
$(loadBalsamiqFile);
/* global Flash */ /* global Flash */
export default class BlobViewer { export default class BlobViewer {
constructor() { constructor() {
BlobViewer.initAuxiliaryViewer();
this.initMainViewers();
}
static initAuxiliaryViewer() {
const auxiliaryViewer = document.querySelector('.blob-viewer[data-type="auxiliary"]');
if (!auxiliaryViewer) return;
BlobViewer.loadViewer(auxiliaryViewer);
}
initMainViewers() {
this.$fileHolder = $('.file-holder');
if (!this.$fileHolder.length) return;
this.switcher = document.querySelector('.js-blob-viewer-switcher'); this.switcher = document.querySelector('.js-blob-viewer-switcher');
this.switcherBtns = document.querySelectorAll('.js-blob-viewer-switch-btn'); this.switcherBtns = document.querySelectorAll('.js-blob-viewer-switch-btn');
this.copySourceBtn = document.querySelector('.js-copy-blob-source-btn'); this.copySourceBtn = document.querySelector('.js-copy-blob-source-btn');
this.simpleViewer = document.querySelector('.blob-viewer[data-type="simple"]');
this.richViewer = document.querySelector('.blob-viewer[data-type="rich"]');
this.$fileHolder = $('.file-holder');
   
let initialViewerName = document.querySelector('.blob-viewer:not(.hidden)').getAttribute('data-type'); this.simpleViewer = this.$fileHolder[0].querySelector('.blob-viewer[data-type="simple"]');
this.richViewer = this.$fileHolder[0].querySelector('.blob-viewer[data-type="rich"]');
   
this.initBindings(); this.initBindings();
   
this.switchToInitialViewer();
}
switchToInitialViewer() {
const initialViewer = this.$fileHolder[0].querySelector('.blob-viewer:not(.hidden)');
let initialViewerName = initialViewer.getAttribute('data-type');
if (this.switcher && location.hash.indexOf('#L') === 0) { if (this.switcher && location.hash.indexOf('#L') === 0) {
initialViewerName = 'simple'; initialViewerName = 'simple';
} }
Loading
@@ -61,40 +82,13 @@ export default class BlobViewer {
Loading
@@ -61,40 +82,13 @@ export default class BlobViewer {
$(this.copySourceBtn).tooltip('fixTitle'); $(this.copySourceBtn).tooltip('fixTitle');
} }
   
loadViewer(viewerParam) {
const viewer = viewerParam;
const url = viewer.getAttribute('data-url');
if (!url || viewer.getAttribute('data-loaded') || viewer.getAttribute('data-loading')) {
return;
}
viewer.setAttribute('data-loading', 'true');
$.ajax({
url,
dataType: 'JSON',
})
.fail(() => new Flash('Error loading source view'))
.done((data) => {
viewer.innerHTML = data.html;
$(viewer).syntaxHighlight();
viewer.setAttribute('data-loaded', 'true');
this.$fileHolder.trigger('highlight:line');
this.toggleCopyButtonState();
});
}
switchToViewer(name) { switchToViewer(name) {
const newViewer = document.querySelector(`.blob-viewer[data-type='${name}']`); const newViewer = this.$fileHolder[0].querySelector(`.blob-viewer[data-type='${name}']`);
if (this.activeViewer === newViewer) return; if (this.activeViewer === newViewer) return;
   
const oldButton = document.querySelector('.js-blob-viewer-switch-btn.active'); const oldButton = document.querySelector('.js-blob-viewer-switch-btn.active');
const newButton = document.querySelector(`.js-blob-viewer-switch-btn[data-viewer='${name}']`); const newButton = document.querySelector(`.js-blob-viewer-switch-btn[data-viewer='${name}']`);
const oldViewer = document.querySelector(`.blob-viewer:not([data-type='${name}'])`); const oldViewer = this.$fileHolder[0].querySelector(`.blob-viewer:not([data-type='${name}'])`);
   
if (oldButton) { if (oldButton) {
oldButton.classList.remove('active'); oldButton.classList.remove('active');
Loading
@@ -115,6 +109,41 @@ export default class BlobViewer {
Loading
@@ -115,6 +109,41 @@ export default class BlobViewer {
   
this.toggleCopyButtonState(); this.toggleCopyButtonState();
   
this.loadViewer(newViewer); BlobViewer.loadViewer(newViewer)
.then((viewer) => {
$(viewer).syntaxHighlight();
this.$fileHolder.trigger('highlight:line');
gl.utils.handleLocationHash();
this.toggleCopyButtonState();
})
.catch(() => new Flash('Error loading viewer'));
}
static loadViewer(viewerParam) {
const viewer = viewerParam;
const url = viewer.getAttribute('data-url');
return new Promise((resolve, reject) => {
if (!url || viewer.getAttribute('data-loaded') || viewer.getAttribute('data-loading')) {
resolve(viewer);
return;
}
viewer.setAttribute('data-loading', 'true');
$.ajax({
url,
dataType: 'JSON',
})
.fail(reject)
.done((data) => {
viewer.innerHTML = data.html;
viewer.setAttribute('data-loaded', 'true');
resolve(viewer);
});
});
} }
} }
Loading
@@ -6,27 +6,27 @@ import Vue from 'vue';
Loading
@@ -6,27 +6,27 @@ import Vue from 'vue';
import VueResource from 'vue-resource'; import VueResource from 'vue-resource';
import FilteredSearchBoards from './filtered_search_boards'; import FilteredSearchBoards from './filtered_search_boards';
import eventHub from './eventhub'; import eventHub from './eventhub';
import './models/issue';
import './models/label';
import './models/list';
import './models/milestone';
import './models/assignee';
import './stores/boards_store';
import './stores/modal_store';
import './services/board_service';
import './mixins/modal_mixins';
import './mixins/sortable_default_options';
import './filters/due_date_filters';
import './components/board';
import './components/board_sidebar';
import './components/new_list_dropdown';
import './components/modal/index';
import '../vue_shared/vue_resource_interceptor';
import './components/boards_selector';
import collapseIcon from './icons/fullscreen_collapse.svg'; import collapseIcon from './icons/fullscreen_collapse.svg';
import expandIcon from './icons/fullscreen_expand.svg'; import expandIcon from './icons/fullscreen_expand.svg';
   
require('./models/issue');
require('./models/label');
require('./models/list');
require('./models/milestone');
require('./models/assignee');
require('./stores/boards_store');
require('./stores/modal_store');
require('./services/board_service');
require('./mixins/modal_mixins');
require('./mixins/sortable_default_options');
require('./filters/due_date_filters');
require('./components/board');
require('./components/boards_selector');
require('./components/board_sidebar');
require('./components/new_list_dropdown');
require('./components/modal/index');
require('../vue_shared/vue_resource_interceptor');
Vue.use(VueResource); Vue.use(VueResource);
   
$(() => { $(() => {
Loading
Loading
Loading
@@ -3,9 +3,7 @@
Loading
@@ -3,9 +3,7 @@
import Vue from 'vue'; import Vue from 'vue';
import boardList from './board_list'; import boardList from './board_list';
import boardBlankState from './board_blank_state'; import boardBlankState from './board_blank_state';
import './board_delete';
require('./board_delete');
require('./board_list');
   
const Store = gl.issueBoards.BoardsStore; const Store = gl.issueBoards.BoardsStore;
   
Loading
Loading
require('./issue_card_inner'); import './issue_card_inner';
   
const Store = gl.issueBoards.BoardsStore; const Store = gl.issueBoards.BoardsStore;
   
Loading
Loading
Loading
@@ -2,6 +2,7 @@
Loading
@@ -2,6 +2,7 @@
import boardNewIssue from './board_new_issue'; import boardNewIssue from './board_new_issue';
import boardCard from './board_card'; import boardCard from './board_card';
import eventHub from '../eventhub'; import eventHub from '../eventhub';
import loadingIcon from '../../vue_shared/components/loading_icon.vue';
   
const Store = gl.issueBoards.BoardsStore; const Store = gl.issueBoards.BoardsStore;
   
Loading
@@ -44,6 +45,7 @@ export default {
Loading
@@ -44,6 +45,7 @@ export default {
components: { components: {
boardCard, boardCard,
boardNewIssue, boardNewIssue,
loadingIcon,
}, },
methods: { methods: {
listHeight() { listHeight() {
Loading
@@ -156,10 +158,7 @@ export default {
Loading
@@ -156,10 +158,7 @@ export default {
class="board-list-loading text-center" class="board-list-loading text-center"
aria-label="Loading issues" aria-label="Loading issues"
v-if="loading"> v-if="loading">
<i <loading-icon />
class="fa fa-spinner fa-spin"
aria-hidden="true">
</i>
</div> </div>
<board-new-issue <board-new-issue
:list="list" :list="list"
Loading
@@ -184,12 +183,12 @@ export default {
Loading
@@ -184,12 +183,12 @@ export default {
class="board-list-count text-center" class="board-list-count text-center"
v-if="showCount" v-if="showCount"
data-id="-1"> data-id="-1">
<i
class="fa fa-spinner fa-spin" <loading-icon
aria-label="Loading more issues" v-show="list.loadingMore"
aria-hidden="true" label="Loading more issues"
v-show="list.loadingMore"> />
</i>
<span v-if="list.issues.length === list.issuesSize"> <span v-if="list.issues.length === list.issuesSize">
Showing all issues Showing all issues
</span> </span>
Loading
Loading
/* global BoardService */ /* global BoardService */
   
import Vue from 'vue'; import Vue from 'vue';
import boardMilestoneSelect from './milestone_select';
const boardMilestoneSelect = require('./milestone_select'); import extraMilestones from '../mixins/extra_milestones';
const extraMilestones = require('../mixins/extra_milestones');
   
(() => { (() => {
window.gl = window.gl || {}; window.gl = window.gl || {};
Loading
@@ -73,8 +72,6 @@ const extraMilestones = require('../mixins/extra_milestones');
Loading
@@ -73,8 +72,6 @@ const extraMilestones = require('../mixins/extra_milestones');
const milestoneDropdown = this.$refs.milestoneDropdown; const milestoneDropdown = this.$refs.milestoneDropdown;
const rect = e.target.getBoundingClientRect(); const rect = e.target.getBoundingClientRect();
   
milestoneDropdown.style.left = `${rect.left}px`;
milestoneDropdown.style.top = `${rect.bottom}px`;
milestoneDropdown.style.width = `${rect.width}px`; milestoneDropdown.style.width = `${rect.width}px`;
}); });
} }
Loading
Loading
Loading
@@ -7,11 +7,9 @@
Loading
@@ -7,11 +7,9 @@
   
import Vue from 'vue'; import Vue from 'vue';
import eventHub from '../../sidebar/event_hub'; import eventHub from '../../sidebar/event_hub';
import AssigneeTitle from '../../sidebar/components/assignees/assignee_title'; import AssigneeTitle from '../../sidebar/components/assignees/assignee_title';
import Assignees from '../../sidebar/components/assignees/assignees'; import Assignees from '../../sidebar/components/assignees/assignees';
import './sidebar/remove_issue';
require('./sidebar/remove_issue');
   
const Store = gl.issueBoards.BoardsStore; const Store = gl.issueBoards.BoardsStore;
   
Loading
@@ -36,6 +34,9 @@ gl.issueBoards.BoardSidebar = Vue.extend({
Loading
@@ -36,6 +34,9 @@ gl.issueBoards.BoardSidebar = Vue.extend({
}, },
assigneeId() { assigneeId() {
return this.issue.assignee ? this.issue.assignee.id : 0; return this.issue.assignee ? this.issue.assignee.id : 0;
},
milestoneTitle() {
return this.issue.milestone ? this.issue.milestone.title : 'No Milestone';
} }
}, },
watch: { watch: {
Loading
@@ -62,18 +63,6 @@ gl.issueBoards.BoardSidebar = Vue.extend({
Loading
@@ -62,18 +63,6 @@ gl.issueBoards.BoardSidebar = Vue.extend({
}, },
deep: true deep: true
}, },
issue () {
if (this.showSidebar) {
this.$nextTick(() => {
$('.right-sidebar').getNiceScroll(0).doScrollTop(0, 0);
$('.right-sidebar').getNiceScroll().resize();
});
}
this.issue = this.detail.issue;
this.list = this.detail.list;
},
deep: true
}, },
methods: { methods: {
closeSidebar () { closeSidebar () {
Loading
Loading
import Vue from 'vue'; import Vue from 'vue';
import './board_new_form';
require('./board_new_form');
   
(() => { (() => {
window.gl = window.gl || {}; window.gl = window.gl || {};
Loading
Loading
/* global BoardService */ /* global BoardService */
   
const extraMilestones = require('../mixins/extra_milestones'); import extraMilestones from '../mixins/extra_milestones';
   
module.exports = { export default {
props: { props: {
board: { board: {
type: Object, type: Object,
Loading
Loading