From e4814ddc44cc2f37ecd86eb0390c388451243585 Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Mon, 8 May 2017 10:24:10 +0000 Subject: [PATCH 001/249] Merge branch 'update-deps-licenses-for-9-2' into 'master' Update the vendor licenses file for 9.2 See merge request !11159 --- vendor/licenses.csv | 297 +++++++++++++++++++++++--------------------- 1 file changed, 158 insertions(+), 139 deletions(-) diff --git a/vendor/licenses.csv b/vendor/licenses.csv index 6441df25fe1..a8e7f5e3ea9 100644 --- a/vendor/licenses.csv +++ b/vendor/licenses.csv @@ -3,7 +3,7 @@ abbrev,1.0.9,ISC accepts,1.3.3,MIT ace-rails-ap,4.1.2,MIT acorn,4.0.11,MIT -acorn-dynamic-import,2.0.2,MIT +acorn-dynamic-import,2.0.1,MIT acorn-jsx,3.0.1,MIT actionmailer,4.2.8,MIT actionpack,4.2.8,MIT @@ -16,7 +16,7 @@ acts-as-taggable-on,4.0.0,MIT addressable,2.3.8,Apache 2.0 after,0.8.2,MIT after_commit_queue,1.3.0,MIT -ajv,4.11.5,MIT +ajv,4.11.2,MIT ajv-keywords,1.5.1,MIT akismet,2.0.0,MIT align-text,0.1.4,MIT @@ -29,7 +29,7 @@ ansi-regex,2.1.1,MIT ansi-styles,2.2.1,MIT anymatch,1.3.0,ISC append-transform,0.4.0,MIT -aproba,1.1.1,ISC +aproba,1.1.0,ISC are-we-there-yet,1.1.2,ISC arel,6.0.4,MIT argparse,1.0.9,MIT @@ -43,7 +43,7 @@ array-uniq,1.0.3,MIT array-unique,0.2.1,MIT arraybuffer.slice,0.0.6,MIT arrify,1.0.1,MIT -asana,0.4.0,MIT +asana,0.6.0,MIT asciidoctor,1.5.3,MIT asciidoctor-plantuml,0.0.7,MIT asn1,0.2.3,MIT @@ -62,8 +62,8 @@ aws-sign2,0.6.0,Apache 2.0 aws4,1.6.0,MIT axiom-types,0.1.1,MIT babel-code-frame,6.22.0,MIT -babel-core,6.24.0,MIT -babel-generator,6.24.0,MIT +babel-core,6.23.1,MIT +babel-generator,6.23.0,MIT babel-helper-bindify-decorators,6.22.0,MIT babel-helper-builder-binary-assignment-operator-visitor,6.22.0,MIT babel-helper-call-delegate,6.22.0,MIT @@ -78,10 +78,10 @@ babel-helper-regex,6.22.0,MIT babel-helper-remap-async-to-generator,6.22.0,MIT babel-helper-replace-supers,6.23.0,MIT babel-helpers,6.23.0,MIT -babel-loader,6.4.1,MIT +babel-loader,6.2.10,MIT babel-messages,6.23.0,MIT babel-plugin-check-es2015-constants,6.22.0,MIT -babel-plugin-istanbul,4.1.1,New BSD +babel-plugin-istanbul,4.0.0,New BSD babel-plugin-syntax-async-functions,6.13.0,MIT babel-plugin-syntax-async-generators,6.13.0,MIT babel-plugin-syntax-class-properties,6.13.0,MIT @@ -127,13 +127,13 @@ babel-preset-es2017,6.22.0,MIT babel-preset-latest,6.24.0,MIT babel-preset-stage-2,6.22.0,MIT babel-preset-stage-3,6.22.0,MIT -babel-register,6.24.0,MIT -babel-runtime,6.23.0,MIT +babel-register,6.23.0,MIT +babel-runtime,6.22.0,MIT babel-template,6.23.0,MIT babel-traverse,6.23.1,MIT babel-types,6.23.0,MIT babosa,1.0.2,MIT -babylon,6.16.1,MIT +babylon,6.15.0,MIT backo2,1.0.2,MIT balanced-match,0.4.2,MIT base32,0.3.2,MIT @@ -149,20 +149,20 @@ binary-extensions,1.8.0,MIT bindata,2.3.5,ruby blob,0.0.4,unknown block-stream,0.0.9,ISC -bluebird,3.5.0,MIT +bluebird,3.4.7,MIT bn.js,4.11.6,MIT -body-parser,1.17.1,MIT +body-parser,1.16.0,MIT boom,2.10.1,New BSD bootstrap-sass,3.3.6,MIT brace-expansion,1.1.6,MIT braces,1.8.5,MIT -brorand,1.1.0,MIT +brorand,1.0.7,MIT browser,2.2.0,MIT browserify-aes,1.0.6,MIT browserify-cipher,1.0.0,MIT browserify-des,1.0.0,MIT browserify-rsa,4.0.1,MIT -browserify-sign,4.0.4,ISC +browserify-sign,4.0.0,ISC browserify-zlib,0.1.4,MIT browserslist,1.7.7,MIT buffer,4.9.1,MIT @@ -178,8 +178,8 @@ callsites,0.2.0,MIT camelcase,1.2.1,MIT caniuse-api,1.6.1,MIT caniuse-db,1.0.30000649,CC-BY-4.0 -carrierwave,0.11.2,MIT -caseless,0.12.0,Apache 2.0 +carrierwave,1.0.0,MIT +caseless,0.11.0,Apache 2.0 cause,0.1,MIT center-align,0.1.3,MIT chalk,1.1.3,MIT @@ -194,6 +194,7 @@ citrus,3.0.2,MIT clap,1.1.3,MIT cli-cursor,1.0.2,MIT cli-width,2.1.0,ISC +clipboard,1.6.1,MIT cliui,2.1.0,ISC clone,1.0.2,MIT co,4.6.0,MIT @@ -216,14 +217,14 @@ commondir,1.0.1,MIT component-bind,1.0.0,unknown component-emitter,1.2.1,MIT component-inherit,0.0.3,unknown -compressible,2.0.10,MIT +compressible,2.0.9,MIT compression,1.6.2,MIT compression-webpack-plugin,0.3.2,MIT concat-map,0.0.1,MIT concat-stream,1.6.0,MIT config-chain,1.1.11,MIT configstore,1.4.0,Simplified BSD -connect,3.6.0,MIT +connect,3.5.0,MIT connect-history-api-fallback,1.3.0,MIT connection_pool,2.2.1,MIT console-browserify,1.1.0,MIT @@ -233,7 +234,7 @@ constants-browserify,1.0.0,MIT contains-path,0.1.0,MIT content-disposition,0.5.2,MIT content-type,1.0.2,MIT -convert-source-map,1.5.0,MIT +convert-source-map,1.3.0,MIT cookie,0.3.1,MIT cookie-signature,1.0.6,MIT core-js,2.4.1,MIT @@ -254,13 +255,13 @@ cssesc,0.1.0,MIT cssnano,3.10.0,MIT csso,2.3.2,MIT custom-event,1.0.1,MIT -d,1.0.0,MIT -d3,3.5.17,New BSD +d,0.1.1,MIT +d3,3.5.11,New BSD d3_rails,3.5.11,MIT dashdash,1.14.1,MIT date-now,0.1.4,MIT de-indent,1.0.2,MIT -debug,2.6.3,MIT +debug,2.6.0,MIT decamelize,1.2.0,MIT deckar01-task_list,1.0.6,MIT deep-extend,0.4.1,MIT @@ -271,6 +272,7 @@ defaults,1.0.3,MIT defined,1.0.0,MIT del,2.2.2,MIT delayed-stream,1.0.0,MIT +delegate,3.1.2,MIT delegates,1.0.0,MIT depd,1.1.0,MIT des.js,1.0.0,MIT @@ -283,8 +285,8 @@ di,0.0.1,MIT diff-lcs,1.2.5,"MIT,Perl Artistic v2,GNU GPL v2" diffie-hellman,5.0.2,MIT diffy,3.1.0,MIT -doctrine,2.0.0,Apache 2.0 -document-register-element,1.4.1,MIT +doctrine,1.5.0,BSD +document-register-element,1.3.0,MIT dom-serialize,2.2.1,MIT dom-serializer,0.1.0,MIT domain-browser,1.1.7,MIT @@ -294,7 +296,7 @@ domhandler,2.3.0,unknown domutils,1.5.1,unknown doorkeeper,4.2.0,MIT doorkeeper-openid_connect,1.1.2,MIT -dropzone,4.3.0,MIT +dropzone,4.2.0,MIT dropzonejs-rails,0.7.2,MIT duplexer,0.1.1,MIT duplexify,3.5.0,MIT @@ -303,36 +305,36 @@ editorconfig,0.13.2,MIT ee-first,1.1.1,MIT ejs,2.5.6,Apache 2.0 electron-to-chromium,1.3.3,ISC -elliptic,6.4.0,MIT +elliptic,6.3.3,MIT email_reply_trimmer,0.1.6,MIT emoji-unicode-version,0.2.1,MIT emojis-list,2.1.0,MIT encodeurl,1.0.1,MIT encryptor,3.0.0,MIT end-of-stream,1.0.0,MIT -engine.io,1.8.3,MIT -engine.io-client,1.8.3,MIT +engine.io,1.8.2,MIT +engine.io-client,1.8.2,MIT engine.io-parser,1.3.2,MIT enhanced-resolve,3.1.0,MIT ent,2.2.0,MIT entities,1.1.1,BSD-like equalizer,0.0.11,MIT errno,0.1.4,MIT -error-ex,1.3.1,MIT +error-ex,1.3.0,MIT erubis,2.7.0,MIT -es5-ext,0.10.15,MIT -es6-iterator,2.0.1,MIT -es6-map,0.1.5,MIT +es5-ext,0.10.12,MIT +es6-iterator,2.0.0,MIT +es6-map,0.1.4,MIT es6-promise,3.0.2,MIT -es6-set,0.1.5,MIT -es6-symbol,3.1.1,MIT -es6-weak-map,2.0.2,MIT +es6-set,0.1.4,MIT +es6-symbol,3.1.0,MIT +es6-weak-map,2.0.1,MIT escape-html,1.0.3,MIT escape-string-regexp,1.0.5,MIT escape_utils,1.1.1,MIT escodegen,1.8.1,Simplified BSD escope,3.6.0,Simplified BSD -eslint,3.19.0,MIT +eslint,3.15.0,MIT eslint-config-airbnb-base,10.0.1,MIT eslint-import-resolver-node,0.2.3,MIT eslint-import-resolver-webpack,0.8.1,MIT @@ -341,37 +343,39 @@ eslint-plugin-filenames,1.1.0,MIT eslint-plugin-html,2.0.1,ISC eslint-plugin-import,2.2.0,MIT eslint-plugin-jasmine,2.2.0,MIT -espree,3.4.1,Simplified BSD -esprima,2.7.3,Simplified BSD -esquery,1.0.0,BSD +eslint-plugin-promise,3.5.0,ISC +espree,3.4.0,Simplified BSD +esprima,3.1.3,Simplified BSD esrecurse,4.1.0,Simplified BSD estraverse,4.1.1,Simplified BSD esutils,2.0.2,BSD -etag,1.8.0,MIT +etag,1.7.0,MIT eve-raphael,0.5.0,Apache 2.0 -event-emitter,0.3.5,MIT +event-emitter,0.3.4,MIT event-stream,3.3.4,MIT eventemitter3,1.2.0,MIT events,1.1.1,MIT eventsource,0.1.6,MIT evp_bytestokey,1.0.0,MIT -excon,0.52.0,MIT +excon,0.55.0,MIT execjs,2.6.0,MIT exit-hook,1.1.1,MIT expand-braces,0.1.2,MIT expand-brackets,0.1.5,MIT expand-range,1.8.2,MIT -express,4.15.2,MIT +exports-loader,0.6.4,MIT +express,4.14.1,MIT expression_parser,0.9.0,MIT extend,3.0.0,MIT extglob,0.3.2,MIT extlib,0.9.16,MIT extract-zip,1.5.0,Simplified BSD extsprintf,1.0.2,MIT -faraday,0.9.2,MIT -faraday_middleware,0.10.0,MIT +faraday,0.11.0,MIT +faraday_middleware,0.11.0.1,MIT faraday_middleware-multi_json,0.0.6,MIT fast-levenshtein,2.0.6,MIT +fast_gettext,1.4.0,"MIT,ruby" fastparse,1.1.1,MIT faye-websocket,0.7.3,MIT fd-slicer,1.0.1,MIT @@ -383,37 +387,37 @@ filename-regex,2.0.0,MIT fileset,2.0.3,MIT filesize,3.3.0,New BSD fill-range,2.2.3,MIT -finalhandler,1.0.1,MIT +finalhandler,0.5.1,MIT find-cache-dir,0.1.1,MIT find-root,0.1.2,MIT find-up,2.1.0,MIT flat-cache,1.2.2,MIT flatten,1.0.2,MIT flowdock,0.7.1,MIT -fog-aws,0.11.0,MIT -fog-core,1.42.0,MIT +fog-aws,0.13.0,MIT +fog-core,1.44.1,MIT fog-google,0.5.0,MIT fog-json,1.0.2,MIT fog-local,0.3.0,MIT fog-openstack,0.1.6,MIT fog-rackspace,0.1.1,MIT -fog-xml,0.1.2,MIT +fog-xml,0.1.3,MIT font-awesome-rails,4.7.0.1,"MIT,SIL Open Font License" -for-in,1.0.2,MIT -for-own,0.1.5,MIT +for-in,0.1.6,MIT +for-own,0.1.4,MIT forever-agent,0.6.1,Apache 2.0 form-data,2.1.2,MIT formatador,0.2.5,MIT forwarded,0.1.0,MIT -fresh,0.5.0,MIT +fresh,0.3.0,MIT from,0.1.7,MIT fs-extra,1.0.0,MIT fs.realpath,1.0.0,ISC fsevents,,unknown -fstream,1.0.11,ISC +fstream,1.0.10,ISC fstream-ignore,1.0.5,ISC function-bind,1.1.0,MIT -gauge,2.7.3,ISC +gauge,2.7.2,ISC gemnasium-gitlab-service,0.2.6,MIT gemojione,3.0.1,MIT generate-function,2.0.0,MIT @@ -421,7 +425,9 @@ generate-object-property,1.2.0,MIT get-caller-file,1.0.2,ISC get_process_mem,0.2.0,MIT getpass,0.1.6,MIT -gitaly,0.5.0,MIT +gettext_i18n_rails,1.8.0,MIT +gettext_i18n_rails_js,1.2.0,MIT +gitaly,0.6.0,MIT github-linguist,4.7.6,MIT github-markup,1.4.0,MIT gitlab-flowdock-git-hook,1.0.1,MIT @@ -432,12 +438,13 @@ glob,7.1.1,ISC glob-base,0.3.0,MIT glob-parent,2.0.0,ISC globalid,0.3.7,MIT -globals,9.17.0,MIT +globals,9.14.0,MIT globby,5.0.0,MIT gollum-grit_adapter,1.0.1,MIT gollum-lib,4.2.1,MIT gollum-rugged_adapter,0.4.4,MIT gon,6.1.0,MIT +good-listener,1.2.2,MIT google-api-client,0.8.7,Apache 2.0 google-protobuf,3.2.0.2,New BSD googleauth,0.5.1,Apache 2.0 @@ -446,13 +453,12 @@ graceful-fs,4.1.11,ISC graceful-readlink,1.0.1,MIT grape,0.19.1,MIT grape-entity,0.6.0,MIT -grpc,1.1.2,New BSD +grpc,1.2.5,New BSD gzip-size,3.0.0,MIT hamlit,2.6.1,MIT handle-thing,1.2.5,MIT handlebars,4.0.6,MIT -har-schema,1.0.5,ISC -har-validator,4.2.1,ISC +har-validator,2.0.6,ISC has,1.0.1,MIT has-ansi,2.0.0,MIT has-binary,0.1.7,MIT @@ -463,14 +469,14 @@ hash-sum,1.0.2,MIT hash.js,1.0.3,MIT hasha,2.2.0,MIT hashie,3.5.5,MIT +hashie-forbidden_attributes,0.1.1,MIT hawk,3.1.3,New BSD he,1.1.1,MIT health_check,2.6.0,MIT hipchat,1.5.2,MIT -hmac-drbg,1.0.0,MIT hoek,2.16.3,New BSD home-or-tmp,2.0.0,MIT -hosted-git-info,2.4.1,ISC +hosted-git-info,2.2.0,ISC hpack.js,2.1.6,MIT html-comment-regex,1.1.1,MIT html-entities,1.2.0,MIT @@ -481,7 +487,7 @@ htmlparser2,3.9.2,MIT http,0.9.8,MIT http-cookie,1.0.3,MIT http-deceiver,1.2.7,MIT -http-errors,1.6.1,MIT +http-errors,1.5.1,MIT http-form_data,1.0.1,MIT http-proxy,1.16.2,MIT http-proxy-middleware,0.17.4,MIT @@ -495,7 +501,7 @@ ice_nine,0.11.2,MIT iconv-lite,0.4.15,MIT icss-replace-symbols,1.0.2,ISC ieee754,1.1.8,New BSD -ignore,3.2.6,MIT +ignore,3.2.2,MIT ignore-by-default,1.0.1,ISC immediate,3.0.6,MIT imurmurhash,0.1.4,MIT @@ -507,16 +513,16 @@ influxdb,0.2.3,MIT inherits,2.0.3,ISC ini,1.3.4,ISC inquirer,0.12.0,MIT -interpret,1.0.2,MIT +interpret,1.0.1,MIT invariant,2.2.2,New BSD invert-kv,1.0.0,MIT -ipaddr.js,1.3.0,MIT +ipaddr.js,1.2.0,MIT ipaddress,0.8.3,MIT is-absolute,0.2.6,MIT is-absolute-url,2.1.0,MIT is-arrayish,0.2.1,MIT is-binary-path,1.0.1,MIT -is-buffer,1.1.5,MIT +is-buffer,1.1.4,MIT is-builtin-module,1.0.0,MIT is-dotfile,1.0.2,MIT is-equal-shallow,0.1.3,MIT @@ -525,7 +531,7 @@ is-extglob,1.0.0,MIT is-finite,1.0.2,MIT is-fullwidth-code-point,1.0.0,MIT is-glob,2.0.1,MIT -is-my-json-valid,2.16.0,MIT +is-my-json-valid,2.15.0,MIT is-npm,1.0.0,MIT is-number,2.1.0,MIT is-path-cwd,1.0.0,MIT @@ -546,31 +552,32 @@ is-utf8,0.2.1,MIT is-windows,0.2.0,MIT isarray,1.0.0,MIT isbinaryfile,3.0.2,MIT -isexe,2.0.0,ISC +isexe,1.1.2,ISC isobject,2.1.0,MIT isstream,0.1.2,MIT istanbul,0.4.5,New BSD -istanbul-api,1.1.7,New BSD -istanbul-lib-coverage,1.0.2,New BSD -istanbul-lib-hook,1.0.5,New BSD -istanbul-lib-instrument,1.7.0,New BSD -istanbul-lib-report,1.0.0,New BSD -istanbul-lib-source-maps,1.1.1,New BSD -istanbul-reports,1.0.2,New BSD +istanbul-api,1.1.1,New BSD +istanbul-lib-coverage,1.0.1,New BSD +istanbul-lib-hook,1.0.0,New BSD +istanbul-lib-instrument,1.4.2,New BSD +istanbul-lib-report,1.0.0-alpha.3,New BSD +istanbul-lib-source-maps,1.1.0,New BSD +istanbul-reports,1.0.1,New BSD jasmine-core,2.5.2,MIT jasmine-jquery,2.1.1,MIT +jed,1.1.1,MIT jira-ruby,1.1.2,MIT jodid25519,1.0.2,MIT -jquery,2.2.4,MIT +jquery,2.2.1,MIT jquery-atwho-rails,1.3.2,MIT jquery-rails,4.1.1,MIT -jquery-ujs,1.2.2,MIT +jquery-ujs,1.2.1,MIT js-base64,2.1.9,BSD js-beautify,1.6.12,MIT -js-cookie,2.1.4,MIT +js-cookie,2.1.3,MIT js-tokens,3.0.1,MIT js-yaml,3.7.0,MIT -jsbn,0.1.1,MIT +jsbn,0.1.0,BSD jsesc,1.3.0,MIT json,1.8.6,ruby json-jwt,1.7.1,MIT @@ -583,18 +590,18 @@ json5,0.5.1,MIT jsonfile,2.4.0,MIT jsonify,0.0.0,Public Domain jsonpointer,4.0.1,MIT -jsprim,1.4.0,MIT +jsprim,1.3.1,MIT jszip,3.1.3,(MIT OR GPL-3.0) jszip-utils,0.0.2,MIT or GPLv3 jwt,1.5.6,MIT kaminari,0.17.0,MIT -karma,1.6.0,MIT -karma-coverage-istanbul-reporter,0.2.3,MIT +karma,1.4.1,MIT +karma-coverage-istanbul-reporter,0.2.0,MIT karma-jasmine,1.1.0,MIT -karma-mocha-reporter,2.2.3,MIT -karma-phantomjs-launcher,1.0.4,MIT +karma-mocha-reporter,2.2.2,MIT +karma-phantomjs-launcher,1.0.2,MIT karma-sourcemap-loader,0.3.7,MIT -karma-webpack,2.0.3,MIT +karma-webpack,2.0.2,MIT kew,0.7.0,Apache 2.0 kgio,2.10.0,LGPL-2.1+ kind-of,3.1.0,MIT @@ -610,7 +617,8 @@ lie,3.1.1,MIT little-plugger,1.1.4,MIT load-json-file,1.1.0,MIT loader-runner,2.3.0,MIT -loader-utils,0.2.17,MIT +loader-utils,0.2.16,MIT +locale,2.1.2,"ruby,LGPLv3+" locate-path,2.0.0,MIT lodash,4.17.4,MIT lodash._baseassign,3.2.0,MIT @@ -638,16 +646,17 @@ lodash.snakecase,4.0.1,MIT lodash.uniq,4.5.0,MIT lodash.words,4.2.0,MIT log4js,0.6.38,Apache 2.0 -logging,2.1.0,MIT +logging,2.2.2,MIT longest,1.0.1,MIT loofah,2.0.3,MIT loose-envify,1.3.1,MIT lowercase-keys,1.0.0,MIT lru-cache,3.2.0,ISC macaddress,0.2.8,MIT -mail,2.6.4,MIT +mail,2.6.5,MIT mail_room,0.9.1,MIT map-stream,0.1.0,unknown +marked,0.3.6,MIT math-expression-evaluator,1.2.16,MIT media-typer,0.3.0,MIT memoist,0.15.0,MIT @@ -658,17 +667,16 @@ methods,1.1.2,MIT micromatch,2.3.11,MIT miller-rabin,4.0.0,MIT mime,1.3.4,MIT -mime-db,1.27.0,MIT +mime-db,1.26.0,MIT mime-types,2.99.3,"MIT,Artistic-2.0,GPL-2.0" mimemagic,0.3.0,MIT mini_portile2,2.1.0,MIT minimalistic-assert,1.0.0,ISC -minimalistic-crypto-utils,1.0.1,MIT minimatch,3.0.3,ISC minimist,0.0.8,MIT mkdirp,0.5.1,MIT -moment,2.18.1,MIT -mousetrap,1.6.1,Apache 2.0 +moment,2.17.1,MIT +mousetrap,1.4.6,Apache 2.0 mousetrap-rails,1.4.6,"MIT,Apache" ms,0.7.2,MIT multi_json,1.12.1,MIT @@ -684,14 +692,15 @@ nested-error-stacks,1.0.2,MIT net-ldap,0.12.1,MIT net-ssh,3.0.1,MIT netrc,0.11.0,MIT +node-ensure,0.0.0,MIT node-libs-browser,2.0.0,MIT -node-pre-gyp,0.6.34,New BSD +node-pre-gyp,0.6.33,New BSD node-zopfli,2.0.2,MIT nodemon,1.11.0,MIT nokogiri,1.6.8.1,MIT -nopt,4.0.1,ISC -normalize-package-data,2.3.6,Simplified BSD -normalize-path,2.1.1,MIT +nopt,3.0.6,ISC +normalize-package-data,2.3.5,Simplified BSD +normalize-path,2.0.1,MIT normalize-range,0.1.2,MIT normalize-url,1.9.1,MIT npmlog,4.0.2,ISC @@ -700,13 +709,13 @@ number-is-nan,1.0.1,MIT numerizer,0.1.1,MIT oauth,0.5.1,MIT oauth-sign,0.8.2,Apache 2.0 -oauth2,1.2.0,MIT +oauth2,1.3.1,MIT object-assign,4.1.1,MIT object-component,0.0.3,unknown object.omit,2.0.1,MIT obuf,1.1.1,MIT octokit,4.6.2,MIT -oj,2.17.4,MIT +oj,2.17.5,MIT omniauth,1.4.2,MIT omniauth-auth0,1.4.1,MIT omniauth-authentiq,0.3.0,MIT @@ -727,7 +736,7 @@ omniauth-twitter,1.2.1,MIT omniauth_crowd,2.2.3,MIT on-finished,2.3.0,MIT on-headers,1.0.1,MIT -once,1.4.0,ISC +once,1.3.3,ISC onetime,1.1.0,MIT opener,1.4.3,(WTFPL OR MIT) opn,4.0.2,MIT @@ -748,7 +757,7 @@ p-locate,2.0.0,MIT package-json,1.2.0,MIT pako,1.0.5,(MIT AND Zlib) paranoia,2.2.0,MIT -parse-asn1,5.1.0,ISC +parse-asn1,5.0.0,ISC parse-glob,3.0.4,MIT parse-json,2.2.0,MIT parsejson,0.0.3,MIT @@ -762,10 +771,10 @@ path-is-inside,1.0.2,(WTFPL OR MIT) path-parse,1.0.5,MIT path-to-regexp,0.1.7,MIT path-type,1.1.0,MIT -pause-stream,0.0.11,"Apache2,MIT" +pause-stream,0.0.11,"MIT,Apache2" pbkdf2,3.0.9,MIT +pdfjs-dist,1.8.252,Apache 2.0 pend,1.2.0,MIT -performance-now,0.2.0,MIT pg,0.18.4,"BSD,ruby,GPL" phantomjs-prebuilt,2.1.14,Apache 2.0 pify,2.3.0,MIT @@ -775,6 +784,7 @@ pinkie-promise,2.0.1,MIT pkg-dir,1.0.0,MIT pkg-up,1.0.0,MIT pluralize,1.2.1,MIT +po_to_json,1.0.1,MIT portfinder,1.0.13,MIT posix-spawn,0.3.11,"MIT,LGPL" postcss,5.2.16,MIT @@ -818,12 +828,13 @@ premailer,1.8.6,New BSD premailer-rails,1.9.2,MIT prepend-http,1.0.4,MIT preserve,0.2.0,MIT +prismjs,1.6.0,MIT private,0.1.7,MIT process,0.11.9,MIT process-nextick-args,1.0.7,MIT progress,1.1.8,MIT proto-list,1.2.4,ISC -proxy-addr,1.1.4,MIT +proxy-addr,1.1.3,MIT prr,0.0.0,MIT ps-tree,1.1.0,MIT pseudomap,1.0.2,ISC @@ -832,7 +843,7 @@ punycode,1.4.1,MIT pyu-ruby-sasl,0.0.3.3,MIT q,1.5.0,MIT qjobs,1.1.5,MIT -qs,6.4.0,New BSD +qs,6.2.0,New BSD query-string,4.3.2,MIT querystring,0.2.0,MIT querystring-es3,0.2.1,MIT @@ -857,15 +868,16 @@ randomatic,1.1.6,MIT randombytes,2.0.3,MIT range-parser,1.2.0,MIT raphael,2.2.7,MIT +raven-js,3.15.0,Simplified BSD raw-body,2.2.0,MIT raw-loader,0.5.1,MIT -rc,1.2.1,(BSD-2-Clause OR MIT OR Apache-2.0) +rc,1.1.6,(BSD-2-Clause OR MIT OR Apache-2.0) rdoc,4.2.2,ruby react-dev-utils,0.5.2,New BSD read-all-stream,3.1.0,MIT read-pkg,1.1.0,MIT read-pkg-up,1.0.1,MIT -readable-stream,2.0.6,MIT +readable-stream,2.2.2,MIT readdirp,2.1.0,MIT readline2,1.0.1,MIT recaptcha,3.0.0,MIT @@ -873,7 +885,7 @@ rechoir,0.6.2,MIT recursive-open-struct,1.0.0,MIT recursive-readdir,2.1.1,MIT redcarpet,3.4.0,MIT -redis,3.2.2,MIT +redis,3.3.3,MIT redis-actionpack,5.0.1,MIT redis-activesupport,5.0.1,MIT redis-namespace,1.5.2,MIT @@ -883,18 +895,17 @@ redis-store,1.2.0,MIT reduce-css-calc,1.3.0,MIT reduce-function-call,1.0.2,MIT regenerate,1.3.2,MIT -regenerator-runtime,0.10.3,MIT +regenerator-runtime,0.10.1,MIT regenerator-transform,0.9.8,BSD regex-cache,0.4.3,MIT regexpu-core,2.0.0,MIT registry-url,3.1.0,MIT regjsgen,0.2.0,MIT regjsparser,0.1.5,BSD -remove-trailing-separator,1.0.1,ISC repeat-element,1.1.2,MIT repeat-string,1.6.1,MIT repeating,2.0.1,MIT -request,2.81.0,Apache 2.0 +request,2.79.0,Apache 2.0 request-progress,2.0.1,MIT request_store,1.3.1,MIT require-directory,2.1.1,MIT @@ -902,14 +913,14 @@ require-from-string,1.2.1,MIT require-main-filename,1.0.1,ISC require-uncached,1.0.3,MIT requires-port,1.0.0,MIT -resolve,1.3.2,MIT +resolve,1.2.0,MIT resolve-from,1.0.1,MIT responders,2.3.0,MIT rest-client,2.0.0,MIT restore-cursor,1.0.1,MIT retriable,1.4.1,MIT right-align,0.1.3,MIT -rimraf,2.6.1,ISC +rimraf,2.5.4,ISC rinku,2.0.0,ISC ripemd160,1.0.1,New BSD rotp,2.1.2,MIT @@ -919,6 +930,7 @@ rqrcode-rails3,0.1.7,MIT ruby-fogbugz,0.2.1,MIT ruby-prof,0.16.2,Simplified BSD ruby-saml,1.4.1,MIT +ruby_parser,3.8.4,MIT rubyntlm,0.5.2,MIT rubypants,0.2.0,BSD rufus-scheduler,3.1.10,MIT @@ -934,23 +946,25 @@ sawyer,0.8.1,MIT sax,1.2.2,ISC securecompare,1.0.0,MIT seed-fu,2.3.6,MIT +select,1.1.2,MIT select-hose,2.0.0,MIT select2,3.5.2-browserify,unknown select2-rails,3.5.9.3,MIT semver,5.3.0,ISC semver-diff,2.1.0,MIT -send,0.15.1,MIT +send,0.14.2,MIT sentry-raven,2.4.0,Apache 2.0 serve-index,1.8.0,MIT -serve-static,1.12.1,MIT +serve-static,1.11.2,MIT set-blocking,2.0.0,ISC set-immediate-shim,1.0.1,MIT setimmediate,1.0.5,MIT -setprototypeof,1.0.3,ISC +setprototypeof,1.0.2,ISC settingslogic,2.0.9,MIT +sexp_processor,4.8.0,MIT sha.js,2.4.8,MIT -shelljs,0.7.7,New BSD -sidekiq,4.2.7,LGPL +shelljs,0.7.6,New BSD +sidekiq,5.0.0,LGPL sidekiq-cron,0.4.4,MIT sidekiq-limit_fetch,3.4.0,MIT sigmund,1.0.1,ISC @@ -961,16 +975,16 @@ slash,1.0.0,MIT slice-ansi,0.0.4,MIT slide,1.1.6,ISC sntp,1.0.9,BSD -socket.io,1.7.3,MIT +socket.io,1.7.2,MIT socket.io-adapter,0.5.0,MIT -socket.io-client,1.7.3,MIT +socket.io-client,1.7.2,MIT socket.io-parser,2.3.1,MIT sockjs,0.3.18,MIT sockjs-client,1.0.1,MIT sort-keys,1.1.2,MIT source-list-map,0.1.8,MIT source-map,0.5.6,New BSD -source-map-support,0.4.14,MIT +source-map-support,0.4.11,MIT spdx-correct,1.0.2,Apache 2.0 spdx-expression-parse,1.0.4,(MIT AND CC-BY-3.0) spdx-license-ids,1.2.2,Unlicense @@ -980,7 +994,8 @@ split,0.3.3,MIT sprintf-js,1.0.3,New BSD sprockets,3.7.1,MIT sprockets-rails,3.2.0,MIT -sshpk,1.11.0,MIT +sql.js,0.4.0,MIT +sshpk,1.10.2,MIT state_machines,0.4.0,MIT state_machines-activemodel,0.4.0,MIT state_machines-activerecord,0.4.0,MIT @@ -988,7 +1003,7 @@ stats-webpack-plugin,0.4.3,MIT statuses,1.3.1,MIT stream-browserify,2.0.1,MIT stream-combiner,0.0.4,MIT -stream-http,2.7.0,MIT +stream-http,2.6.3,MIT stream-shift,1.0.0,MIT strict-uri-encode,1.1.0,MIT string-length,1.0.1,MIT @@ -998,16 +1013,17 @@ stringex,2.5.2,MIT stringstream,0.0.5,MIT strip-ansi,3.0.1,MIT strip-bom,2.0.0,MIT -strip-json-comments,2.0.1,MIT -supports-color,3.2.3,MIT +strip-json-comments,1.0.4,MIT +supports-color,0.2.0,MIT svgo,0.7.2,MIT sys-filesystem,1.1.6,Artistic 2.0 table,3.8.3,New BSD tapable,0.2.6,MIT tar,2.2.1,ISC -tar-pack,3.4.0,Simplified BSD +tar-pack,3.3.0,Simplified BSD temple,0.7.7,MIT -test-exclude,4.0.3,ISC +test-exclude,4.0.0,ISC +text,1.3.1,MIT text-table,0.2.0,MIT thor,0.19.4,MIT thread_safe,0.3.6,Apache 2.0 @@ -1021,7 +1037,8 @@ timeago.js,2.0.5,MIT timed-out,2.0.0,MIT timers-browserify,2.0.2,MIT timfel-krb5-auth,0.8.3,LGPL -tmp,0.0.31,MIT +tiny-emitter,1.1.0,MIT +tmp,0.0.28,MIT to-array,0.1.4,MIT to-arraybuffer,1.0.1,MIT to-fast-properties,1.0.2,MIT @@ -1034,10 +1051,10 @@ trim-right,1.0.1,MIT truncato,0.7.8,MIT tryit,1.0.3,MIT tty-browserify,0.0.0,MIT -tunnel-agent,0.6.0,Apache 2.0 +tunnel-agent,0.4.3,Apache 2.0 tweetnacl,0.14.5,Unlicense type-check,0.3.2,MIT -type-is,1.6.15,MIT +type-is,1.6.14,MIT typedarray,0.0.6,MIT tzinfo,1.2.2,MIT u2f,0.2.1,MIT @@ -1060,17 +1077,18 @@ uniqs,2.0.0,MIT unpipe,1.0.0,MIT update-notifier,0.5.0,Simplified BSD url,0.11.0,MIT +url-loader,0.5.8,MIT url-parse,1.0.5,MIT url_safe_base64,0.2.2,MIT user-home,2.0.0,MIT -useragent,2.1.13,MIT +useragent,2.1.12,MIT util,0.10.3,MIT util-deprecate,1.0.2,MIT utils-merge,1.0.0,MIT uuid,3.0.1,MIT validate-npm-package-license,3.0.1,Apache 2.0 validates_hostname,1.0.6,MIT -vary,1.1.1,MIT +vary,1.1.0,MIT vendors,1.0.1,MIT verror,1.3.6,MIT version_sorter,2.1.0,MIT @@ -1085,30 +1103,31 @@ vue-loader,11.3.4,MIT vue-resource,0.9.3,MIT vue-style-loader,2.0.5,MIT vue-template-compiler,2.2.6,MIT -vue-template-es2015-compiler,1.5.2,MIT +vue-template-es2015-compiler,1.5.1,MIT warden,1.2.6,MIT watchpack,1.3.1,MIT wbuf,1.7.2,MIT webpack,2.3.3,MIT -webpack-bundle-analyzer,2.3.1,MIT -webpack-dev-middleware,1.10.1,MIT +webpack-bundle-analyzer,2.3.0,MIT +webpack-dev-middleware,1.10.0,MIT webpack-dev-server,2.4.2,MIT webpack-rails,0.9.10,MIT -webpack-sources,0.1.5,MIT +webpack-sources,0.1.4,MIT websocket-driver,0.6.5,MIT websocket-extensions,0.1.1,MIT whet.extend,0.9.9,MIT -which,1.2.14,ISC +which,1.2.12,ISC which-module,1.0.0,ISC wide-align,1.1.0,ISC wikicloth,0.8.1,MIT window-size,0.1.0,MIT -wordwrap,1.0.0,MIT +wordwrap,0.0.2,MIT/X11 +worker-loader,0.8.0,MIT wrap-ansi,2.1.0,MIT wrappy,1.0.2,ISC write,0.2.1,MIT write-file-atomic,1.3.1,ISC -ws,1.1.2,MIT +ws,1.1.1,MIT wtf-8,1.0.0,MIT xdg-basedir,2.0.0,MIT xmlhttprequest-ssl,1.5.3,MIT -- GitLab From 07adf34ce022a5d84770ac9f605df9fafee85b8d Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Mon, 8 May 2017 10:46:24 +0000 Subject: [PATCH 002/249] Merge branch 'update-templates-for-9-2' into 'master' Update gitignore, dockerfile, and license templates for 9.2 See merge request !11158 --- vendor/Dockerfile/OpenJDK-alpine.Dockerfile | 8 ++++++ vendor/Dockerfile/OpenJDK.Dockerfile | 8 ++++++ vendor/Dockerfile/Python-alpine.Dockerfile | 19 +++++++++++++ vendor/Dockerfile/Python.Dockerfile | 22 +++++++++++++++ vendor/gitignore/Global/Archives.gitignore | 1 + vendor/gitignore/Global/JetBrains.gitignore | 3 +++ .../Global/MicrosoftOffice.gitignore | 2 +- vendor/gitignore/Magento.gitignore | 27 +++++++++++++++++++ vendor/gitignore/Python.gitignore | 4 +++ vendor/gitignore/Qt.gitignore | 1 + vendor/gitignore/UnrealEngine.gitignore | 5 ++++ 11 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 vendor/Dockerfile/OpenJDK-alpine.Dockerfile create mode 100644 vendor/Dockerfile/OpenJDK.Dockerfile create mode 100644 vendor/Dockerfile/Python-alpine.Dockerfile create mode 100644 vendor/Dockerfile/Python.Dockerfile diff --git a/vendor/Dockerfile/OpenJDK-alpine.Dockerfile b/vendor/Dockerfile/OpenJDK-alpine.Dockerfile new file mode 100644 index 00000000000..ee853d9cfd2 --- /dev/null +++ b/vendor/Dockerfile/OpenJDK-alpine.Dockerfile @@ -0,0 +1,8 @@ +FROM openjdk:8-alpine + +COPY . /usr/src/myapp +WORKDIR /usr/src/myapp + +RUN javac Main.java + +CMD ["java", "Main"] diff --git a/vendor/Dockerfile/OpenJDK.Dockerfile b/vendor/Dockerfile/OpenJDK.Dockerfile new file mode 100644 index 00000000000..8a2ae62d93b --- /dev/null +++ b/vendor/Dockerfile/OpenJDK.Dockerfile @@ -0,0 +1,8 @@ +FROM openjdk:9 + +COPY . /usr/src/myapp +WORKDIR /usr/src/myapp + +RUN javac Main.java + +CMD ["java", "Main"] diff --git a/vendor/Dockerfile/Python-alpine.Dockerfile b/vendor/Dockerfile/Python-alpine.Dockerfile new file mode 100644 index 00000000000..59ac9f504de --- /dev/null +++ b/vendor/Dockerfile/Python-alpine.Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.6-alpine + +# Edit with mysql-client, postgresql-client, sqlite3, etc. for your needs. +# Or delete entirely if not needed. +RUN apk --no-cache add postgresql-client + +WORKDIR /usr/src/app + +COPY requirements.txt /usr/src/app/ +RUN pip install --no-cache-dir -r requirements.txt + +COPY . /usr/src/app + +# For Django +EXPOSE 8000 +CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] + +# For some other command +# CMD ["python", "app.py"] diff --git a/vendor/Dockerfile/Python.Dockerfile b/vendor/Dockerfile/Python.Dockerfile new file mode 100644 index 00000000000..7c43ad99060 --- /dev/null +++ b/vendor/Dockerfile/Python.Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.6 + +# Edit with mysql-client, postgresql-client, sqlite3, etc. for your needs. +# Or delete entirely if not needed. +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + postgresql-client \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /usr/src/app + +COPY requirements.txt /usr/src/app/ +RUN pip install --no-cache-dir -r requirements.txt + +COPY . /usr/src/app + +# For Django +EXPOSE 8000 +CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] + +# For some other command +# CMD ["python", "app.py"] diff --git a/vendor/gitignore/Global/Archives.gitignore b/vendor/gitignore/Global/Archives.gitignore index e9eda68baf2..f440b808d98 100644 --- a/vendor/gitignore/Global/Archives.gitignore +++ b/vendor/gitignore/Global/Archives.gitignore @@ -5,6 +5,7 @@ *.rar *.zip *.gz +*.tgz *.bzip *.bz2 *.xz diff --git a/vendor/gitignore/Global/JetBrains.gitignore b/vendor/gitignore/Global/JetBrains.gitignore index a5d4cc86d33..ff23445e2b0 100644 --- a/vendor/gitignore/Global/JetBrains.gitignore +++ b/vendor/gitignore/Global/JetBrains.gitignore @@ -19,6 +19,9 @@ .idea/**/gradle.xml .idea/**/libraries +# CMake +cmake-build-debug/ + # Mongo Explorer plugin: .idea/**/mongoSettings.xml diff --git a/vendor/gitignore/Global/MicrosoftOffice.gitignore b/vendor/gitignore/Global/MicrosoftOffice.gitignore index cb891745660..0c203662d39 100644 --- a/vendor/gitignore/Global/MicrosoftOffice.gitignore +++ b/vendor/gitignore/Global/MicrosoftOffice.gitignore @@ -13,4 +13,4 @@ ~$*.ppt* # Visio autosave temporary files -*.~vsdx +*.~vsd* diff --git a/vendor/gitignore/Magento.gitignore b/vendor/gitignore/Magento.gitignore index b282f5cf547..6f1fa223992 100644 --- a/vendor/gitignore/Magento.gitignore +++ b/vendor/gitignore/Magento.gitignore @@ -3,14 +3,41 @@ #--------------------------# /app/etc/local.xml + /media/* !/media/.htaccess + +!/media/customer +/media/customer/* !/media/customer/.htaccess + +!/media/dhl +/media/dhl/* !/media/dhl/logo.jpg + +!/media/downloadable +/media/downloadable/* !/media/downloadable/.htaccess + +!/media/xmlconnect +/media/xmlconnect/* + +!/media/xmlconnect/custom +/media/xmlconnect/custom/* !/media/xmlconnect/custom/ok.gif + +!/media/xmlconnect/original +/media/xmlconnect/original/* !/media/xmlconnect/original/ok.gif + +!/media/xmlconnect/system +/media/xmlconnect/system/* !/media/xmlconnect/system/ok.gif + /var/* !/var/.htaccess + +!/var/package +/var/package/* !/var/package/*.xml + diff --git a/vendor/gitignore/Python.gitignore b/vendor/gitignore/Python.gitignore index ff65a437185..768d5f400bb 100644 --- a/vendor/gitignore/Python.gitignore +++ b/vendor/gitignore/Python.gitignore @@ -89,9 +89,13 @@ ENV/ # Spyder project settings .spyderproject +.spyproject # Rope project settings .ropeproject # mkdocs documentation /site + +# mypy +.mypy_cache/ diff --git a/vendor/gitignore/Qt.gitignore b/vendor/gitignore/Qt.gitignore index c7659c24f38..6732e72091c 100644 --- a/vendor/gitignore/Qt.gitignore +++ b/vendor/gitignore/Qt.gitignore @@ -20,6 +20,7 @@ *.qbs.user.* *.moc moc_*.cpp +moc_*.h qrc_*.cpp ui_*.h Makefile* diff --git a/vendor/gitignore/UnrealEngine.gitignore b/vendor/gitignore/UnrealEngine.gitignore index 2f096001fec..6c6e1c327fd 100644 --- a/vendor/gitignore/UnrealEngine.gitignore +++ b/vendor/gitignore/UnrealEngine.gitignore @@ -54,6 +54,11 @@ Binaries/* # Builds Build/* +# Whitelist PakBlacklist-<BuildConfiguration>.txt files +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt + # Don't ignore icon files in Build !Build/**/*.ico -- GitLab From 5c03b64b9d22f0d521b77389349caf0268f6e85c Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Mon, 8 May 2017 17:03:48 +0000 Subject: [PATCH 003/249] Merge branch 'update-guides-for-9-2' into 'master' Update guides for 9.2 See merge request !11157 --- doc/install/installation.md | 4 +- doc/update/9.1-to-9.2.md | 288 ++++++++++++++++++++++++++++++++++++ 2 files changed, 290 insertions(+), 2 deletions(-) create mode 100644 doc/update/9.1-to-9.2.md diff --git a/doc/install/installation.md b/doc/install/installation.md index dc807d93bbb..5615b2a534b 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -289,9 +289,9 @@ sudo usermod -aG redis git ### Clone the Source # Clone GitLab repository - sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 9-1-stable gitlab + sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 9-2-stable gitlab -**Note:** You can change `9-1-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server! +**Note:** You can change `9-2-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server! ### Configure It diff --git a/doc/update/9.1-to-9.2.md b/doc/update/9.1-to-9.2.md new file mode 100644 index 00000000000..19db6e5763e --- /dev/null +++ b/doc/update/9.1-to-9.2.md @@ -0,0 +1,288 @@ +# From 9.1 to 9.2 + +Make sure you view this update guide from the tag (version) of GitLab you would +like to install. In most cases this should be the highest numbered production +tag (without rc in it). You can select the tag in the version dropdown at the +top left corner of GitLab (below the menu bar). + +If the highest number stable branch is unclear please check the +[GitLab Blog](https://about.gitlab.com/blog/archives.html) for installation +guide links by version. + +### 1. Stop server + +```bash +sudo service gitlab stop +``` + +### 2. Backup + +```bash +cd /home/git/gitlab + +sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production +``` + +### 3. Update Ruby + +NOTE: GitLab 9.0 and higher only support Ruby 2.3.x and dropped support for Ruby 2.1.x. Be +sure to upgrade your interpreter if necessary. + +You can check which version you are running with `ruby -v`. + +Download and compile Ruby: + +```bash +mkdir /tmp/ruby && cd /tmp/ruby +curl --remote-name --progress https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz +echo '1014ee699071aa2ddd501907d18cbe15399c997d ruby-2.3.3.tar.gz' | shasum -c - && tar xzf ruby-2.3.3.tar.gz +cd ruby-2.3.3 +./configure --disable-install-rdoc +make +sudo make install +``` + +Install Bundler: + +```bash +sudo gem install bundler --no-ri --no-rdoc +``` + +### 4. Update Node + +GitLab now runs [webpack](http://webpack.js.org) to compile frontend assets and +it has a minimum requirement of node v4.3.0. + +You can check which version you are running with `node -v`. If you are running +a version older than `v4.3.0` you will need to update to a newer version. You +can find instructions to install from community maintained packages or compile +from source at the nodejs.org website. + +<https://nodejs.org/en/download/> + + +Since 8.17, GitLab requires the use of yarn `>= v0.17.0` to manage +JavaScript dependencies. + +```bash +curl --location https://yarnpkg.com/install.sh | bash - +``` + +More information can be found on the [yarn website](https://yarnpkg.com/en/docs/install). + +### 5. Get latest code + +```bash +cd /home/git/gitlab + +sudo -u git -H git fetch --all +sudo -u git -H git checkout -- db/schema.rb # local changes will be restored automatically +``` + +For GitLab Community Edition: + +```bash +cd /home/git/gitlab + +sudo -u git -H git checkout 9-2-stable +``` + +OR + +For GitLab Enterprise Edition: + +```bash +cd /home/git/gitlab + +sudo -u git -H git checkout 9-2-stable-ee +``` + +### 6. Update gitlab-shell + +```bash +cd /home/git/gitlab-shell + +sudo -u git -H git fetch --all --tags +sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_SHELL_VERSION) +sudo -u git -H bin/compile +``` + +### 7. Update gitlab-workhorse + +Install and compile gitlab-workhorse. This requires +[Go 1.5](https://golang.org/dl) which should already be on your system from +GitLab 8.1. GitLab-Workhorse uses [GNU Make](https://www.gnu.org/software/make/). +If you are not using Linux you may have to run `gmake` instead of +`make` below. + +```bash +cd /home/git/gitlab-workhorse + +sudo -u git -H git fetch --all --tags +sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_WORKHORSE_VERSION) +sudo -u git -H make +``` + +### 8. Update configuration files + +#### New configuration options for `gitlab.yml` + +There might be configuration options available for [`gitlab.yml`][yaml]. View them with the command below and apply them manually to your current `gitlab.yml`: + +```sh +cd /home/git/gitlab + +git diff origin/9-1-stable:config/gitlab.yml.example origin/9-2-stable:config/gitlab.yml.example +``` + +#### Nginx configuration + +Ensure you're still up-to-date with the latest NGINX configuration changes: + +```sh +cd /home/git/gitlab + +# For HTTPS configurations +git diff origin/9-1-stable:lib/support/nginx/gitlab-ssl origin/9-2-stable:lib/support/nginx/gitlab-ssl + +# For HTTP configurations +git diff origin/9-1-stable:lib/support/nginx/gitlab origin/9-2-stable:lib/support/nginx/gitlab +``` + +If you are using Strict-Transport-Security in your installation to continue using it you must enable it in your Nginx +configuration as GitLab application no longer handles setting it. + +If you are using Apache instead of NGINX please see the updated [Apache templates]. +Also note that because Apache does not support upstreams behind Unix sockets you +will need to let gitlab-workhorse listen on a TCP port. You can do this +via [/etc/default/gitlab]. + +[Apache templates]: https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache +[/etc/default/gitlab]: https://gitlab.com/gitlab-org/gitlab-ce/blob/9-2-stable/lib/support/init.d/gitlab.default.example#L38 + +#### SMTP configuration + +If you're installing from source and use SMTP to deliver mail, you will need to add the following line +to config/initializers/smtp_settings.rb: + +```ruby +ActionMailer::Base.delivery_method = :smtp +``` + +See [smtp_settings.rb.sample] as an example. + +[smtp_settings.rb.sample]: https://gitlab.com/gitlab-org/gitlab-ce/blob/9-1-stable/config/initializers/smtp_settings.rb.sample#L13 + +#### Init script + +There might be new configuration options available for [`gitlab.default.example`][gl-example]. View them with the command below and apply them manually to your current `/etc/default/gitlab`: + +```sh +cd /home/git/gitlab + +git diff origin/9-1-stable:lib/support/init.d/gitlab.default.example origin/9-2-stable:lib/support/init.d/gitlab.default.example +``` + +Ensure you're still up-to-date with the latest init script changes: + +```bash +cd /home/git/gitlab + +sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab +``` + +For Ubuntu 16.04.1 LTS: + +```bash +sudo systemctl daemon-reload +``` + +### 9. Install libs, migrations, etc. + +```bash +cd /home/git/gitlab + +# MySQL installations (note: the line below states '--without postgres') +sudo -u git -H bundle install --without postgres development test --deployment + +# PostgreSQL installations (note: the line below states '--without mysql') +sudo -u git -H bundle install --without mysql development test --deployment + +# Optional: clean up old gems +sudo -u git -H bundle clean + +# Run database migrations +sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production + +# Update node dependencies and recompile assets +sudo -u git -H bundle exec rake yarn:install gitlab:assets:clean gitlab:assets:compile RAILS_ENV=production NODE_ENV=production + +# Clean up cache +sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production +``` + +**MySQL installations**: Run through the `MySQL strings limits` and `Tables and data conversion to utf8mb4` [tasks](../install/database_mysql.md). + +### 10. Optional: install Gitaly + +Gitaly is still an optional component of GitLab. If you want to save time +during your 9.2 upgrade **you can skip this step**. + +If you have not yet set up Gitaly then follow [Gitaly section of the installation +guide](../install/installation.md#install-gitaly). + +#### Compile Gitaly + +```shell +cd /home/git/gitaly +sudo -u git -H git fetch --all --tags +sudo -u git -H git checkout v$(</home/git/gitlab/GITALY_SERVER_VERSION) +sudo -u git -H make +``` + +### 11. Start application + +```bash +sudo service gitlab start +sudo service nginx restart +``` + +### 12. Check application status + +Check if GitLab and its environment are configured correctly: + +```bash +cd /home/git/gitlab + +sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production +``` + +To make sure you didn't miss anything run a more thorough check: + +```bash +cd /home/git/gitlab + +sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production +``` + +If all items are green, then congratulations, the upgrade is complete! + +## Things went south? Revert to previous version (9.1) + +### 1. Revert the code to the previous version + +Follow the [upgrade guide from 9.0 to 9.1](9.0-to-9.1.md), except for the +database migration (the backup is already migrated to the previous version). + +### 2. Restore from the backup + +```bash +cd /home/git/gitlab + +sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production +``` + +If you have more than one backup `*.tar` file(s) please add `BACKUP=timestamp_of_backup` to the command above. + +[yaml]: https://gitlab.com/gitlab-org/gitlab-ce/blob/9-2-stable/config/gitlab.yml.example +[gl-example]: https://gitlab.com/gitlab-org/gitlab-ce/blob/9-2-stable/lib/support/init.d/gitlab.default.example -- GitLab From 848466ee6c42186b4e8a3c49027438254c476ae4 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Mon, 8 May 2017 11:06:54 +0000 Subject: [PATCH 004/249] Merge branch 'sh-fix-almost-there-spec-mysql' into 'master' Fix sub-second timing comparison error for Devise confirmation period Closes gitlab-ee#2362 See merge request !11156 --- app/models/user.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/models/user.rb b/app/models/user.rb index accaa91b805..4e5f94683b8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1000,6 +1000,15 @@ class User < ActiveRecord::Base devise_mailer.send(notification, self, *args).deliver_later end + # This works around a bug in Devise 4.2.0 that erroneously causes a user to + # be considered active in MySQL specs due to a sub-second comparison + # issue. For more details, see: https://gitlab.com/gitlab-org/gitlab-ee/issues/2362#note_29004709 + def confirmation_period_valid? + return false if self.class.allow_unconfirmed_access_for == 0.days + + super + end + def ensure_external_user_rights return unless external? -- GitLab From 3d6086d0ee5d16e77be5f83c0b19d6fe4d4b6c43 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Mon, 8 May 2017 12:16:15 +0000 Subject: [PATCH 005/249] Merge branch 'fix-notes_on_personal_snippets_spec-timeago-assertion-ce' into 'master' Fix notes_on_personal_snippets_spec Closes #31938 See merge request !11160 --- spec/features/snippets/notes_on_personal_snippets_spec.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spec/features/snippets/notes_on_personal_snippets_spec.rb b/spec/features/snippets/notes_on_personal_snippets_spec.rb index 957baac02eb..698eb46573f 100644 --- a/spec/features/snippets/notes_on_personal_snippets_spec.rb +++ b/spec/features/snippets/notes_on_personal_snippets_spec.rb @@ -78,9 +78,11 @@ describe 'Comments on personal snippets', :js, feature: true do end page.within("#notes-list li#note_#{snippet_notes[0].id}") do + edited_text = find('.edited-text') + expect(page).to have_css('.note_edited_ago') expect(page).to have_content('new content') - expect(find('.note_edited_ago').text).to match(/less than a minute ago/) + expect(edited_text).to have_selector('.note_edited_ago') end end end -- GitLab From 9632e01d986390282353017bdf31534c9c5eb924 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Mon, 8 May 2017 11:51:26 +0000 Subject: [PATCH 006/249] Merge branch 'Add-index_redirect_routes_path_for_link-migration-to-setup_postgresql' into 'master' Add index_redirect_routes_path_for_link migration to setup_postgresql See merge request !11165 --- lib/tasks/migrate/setup_postgresql.rake | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/tasks/migrate/setup_postgresql.rake b/lib/tasks/migrate/setup_postgresql.rake index 1e00b47303d..4108cee08b4 100644 --- a/lib/tasks/migrate/setup_postgresql.rake +++ b/lib/tasks/migrate/setup_postgresql.rake @@ -4,6 +4,7 @@ require Rails.root.join('db/migrate/20151007120511_namespaces_projects_path_lowe require Rails.root.join('db/migrate/20151008110232_add_users_lower_username_email_indexes') require Rails.root.join('db/migrate/20161212142807_add_lower_path_index_to_routes') require Rails.root.join('db/migrate/20170317203554_index_routes_path_for_like') +require Rails.root.join('db/migrate/20170503185032_index_redirect_routes_path_for_like') desc 'GitLab | Sets up PostgreSQL' task setup_postgresql: :environment do -- GitLab From 379c90834c4f64245985268cdec3d35c84a00117 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Tue, 9 May 2017 13:42:12 +0000 Subject: [PATCH 007/249] Merge branch 'fix/gb/make-environment-policy-specs-to-pass-on-ee' into 'master' Robustify environment policy specs to pass on EE See merge request !11203 --- spec/policies/environment_policy_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/policies/environment_policy_spec.rb b/spec/policies/environment_policy_spec.rb index 0e15beaa5e8..650432520bb 100644 --- a/spec/policies/environment_policy_spec.rb +++ b/spec/policies/environment_policy_spec.rb @@ -33,7 +33,7 @@ describe EnvironmentPolicy do let(:project) { create(:project, :public) } before do - project.add_master(user) + project.add_developer(user) end context 'when team member has ability to stop environment' do -- GitLab From 1ba06c8c4b7b8dc4db509adddbaddf34cd80eacc Mon Sep 17 00:00:00 2001 From: Jacob Schatz <jschatz@gitlab.com> Date: Tue, 9 May 2017 04:15:36 +0000 Subject: [PATCH 008/249] Merge branch 'mr-widget-redesign-review' into 'master' Merge request widget redesign Closes #25424 and #27950 See merge request !10319 --- .../diff_notes/components/resolve_btn.js | 1 + .../diff_notes/services/resolve.js | 1 + app/assets/javascripts/dispatcher.js | 6 - .../javascripts/lib/utils/simple_poll.js | 15 + app/assets/javascripts/main.js | 2 - app/assets/javascripts/merge_request.js | 15 + .../merge_request_widget/ci_bundle.js | 53 --- app/assets/javascripts/merged_buttons.js | 47 --- app/assets/javascripts/notes.js | 12 +- .../javascripts/pipelines/components/stage.js | 104 +++++ .../components/mr_widget_author.js | 23 ++ .../components/mr_widget_author_time.js | 27 ++ .../components/mr_widget_deployment.js | 118 ++++++ .../components/mr_widget_header.js | 98 +++++ .../components/mr_widget_memory_usage.js | 109 +++++ .../components/mr_widget_merge_help.js | 23 ++ .../components/mr_widget_pipeline.js | 76 ++++ .../components/mr_widget_related_links.js | 42 ++ .../components/states/mr_widget_archived.js | 16 + .../states/mr_widget_auto_merge_failed.js | 22 + .../components/states/mr_widget_checking.js | 19 + .../components/states/mr_widget_closed.js | 30 ++ .../components/states/mr_widget_conflicts.js | 39 ++ .../states/mr_widget_failed_to_merge.js | 76 ++++ .../components/states/mr_widget_locked.js | 24 ++ .../mr_widget_merge_when_pipeline_succeeds.js | 116 ++++++ .../components/states/mr_widget_merged.js | 130 ++++++ .../states/mr_widget_missing_branch.js | 34 ++ .../states/mr_widget_not_allowed.js | 17 + .../states/mr_widget_nothing_to_merge.js | 17 + .../states/mr_widget_pipeline_blocked.js | 16 + .../states/mr_widget_pipeline_failed.js | 16 + .../states/mr_widget_ready_to_merge.js | 309 ++++++++++++++ .../states/mr_widget_squash_before_merge.js | 15 + .../mr_widget_unresolved_discussions.js | 27 ++ .../components/states/mr_widget_wip.js | 59 +++ .../vue_merge_request_widget/dependencies.js | 42 ++ .../vue_merge_request_widget/event_hub.js | 3 + .../vue_merge_request_widget/index.js | 12 + .../mr_widget_options.js | 234 +++++++++++ .../services/mr_widget_service.js | 57 +++ .../stores/get_state_key.js | 28 ++ .../stores/mr_widget_store.js | 134 ++++++ .../stores/state_maps.js | 36 ++ .../vue_shared/components/memory_graph.js | 36 ++ .../components/pipeline_status_icon.js | 23 ++ .../vue_shared/pipeline_svg_icons.js | 43 ++ app/assets/stylesheets/framework.scss | 1 + app/assets/stylesheets/framework/common.scss | 3 +- app/assets/stylesheets/framework/icons.scss | 3 +- .../stylesheets/framework/memory_graph.scss | 16 + .../stylesheets/framework/variables.scss | 1 + .../stylesheets/pages/merge_requests.scss | 257 +++++++++--- app/controllers/application_controller.rb | 5 +- .../projects/branches_controller.rb | 8 +- app/controllers/projects/builds_controller.rb | 2 +- app/controllers/projects/commit_controller.rb | 2 +- .../projects/deployments_controller.rb | 14 + .../projects/environments_controller.rb | 18 +- .../projects/merge_requests_controller.rb | 167 ++++---- .../projects/pipelines_controller.rb | 6 +- app/helpers/issuables_helper.rb | 5 +- app/helpers/merge_requests_helper.rb | 54 --- app/models/deployment.rb | 15 + app/models/merge_request.rb | 4 +- .../project_services/monitoring_service.rb | 2 +- .../project_services/prometheus_service.rb | 25 +- app/presenters/merge_request_presenter.rb | 168 ++++++++ app/serializers/base_serializer.rb | 6 +- app/serializers/build_action_entity.rb | 2 +- app/serializers/build_entity.rb | 4 +- app/serializers/environment_entity.rb | 2 +- app/serializers/event_entity.rb | 4 + app/serializers/job_group_entity.rb | 2 +- app/serializers/merge_request_basic_entity.rb | 10 + .../merge_request_basic_serializer.rb | 3 + app/serializers/merge_request_entity.rb | 172 ++++++++ app/serializers/merge_request_serializer.rb | 8 +- app/serializers/pipeline_entity.rb | 8 +- app/serializers/pipeline_serializer.rb | 7 + app/serializers/stage_entity.rb | 2 +- app/views/layouts/nav/_project.html.haml | 2 +- .../projects/merge_requests/_show.html.haml | 45 +- ...ancel_merge_when_pipeline_succeeds.js.haml | 2 - .../projects/merge_requests/merge.js.haml | 14 - .../merge_requests/widget/_closed.html.haml | 12 - .../widget/_commit_change_content.html.haml | 4 + .../merge_requests/widget/_heading.html.haml | 50 --- .../merge_requests/widget/_locked.html.haml | 9 - .../merge_requests/widget/_merged.html.haml | 52 --- .../widget/_merged_buttons.haml | 14 - .../merge_requests/widget/_open.html.haml | 49 --- .../merge_requests/widget/_show.html.haml | 40 -- .../widget/open/_accept.html.haml | 50 --- .../widget/open/_archived.html.haml | 4 - .../widget/open/_build_failed.html.haml | 6 - .../widget/open/_check.html.haml | 6 - .../widget/open/_conflicts.html.haml | 27 -- .../widget/open/_manual.html.haml | 4 - .../_merge_when_pipeline_succeeds.html.haml | 33 -- .../widget/open/_missing_branch.html.haml | 16 - .../widget/open/_not_allowed.html.haml | 6 - .../widget/open/_nothing.html.haml | 8 - .../widget/open/_reload.html.haml | 6 - .../widget/open/_sha_mismatch.html.haml | 6 - .../open/_unresolved_discussions.html.haml | 10 - .../merge_requests/widget/open/_wip.html.haml | 11 - .../issuable/form/_merge_params.html.haml | 9 - config/routes/project.rb | 9 +- config/webpack.config.js | 2 +- doc/user/project/integrations/prometheus.md | 9 + features/project/commits/revert.feature | 3 + features/project/merge_requests.feature | 7 + .../project/merge_requests/accept.feature | 3 +- features/steps/project/commits/revert.rb | 1 + .../steps/project/forked_merge_requests.rb | 3 + features/steps/project/merge_requests.rb | 25 +- .../project/merge_requests/acceptance.rb | 18 +- .../steps/project/merge_requests/revert.rb | 4 +- features/steps/shared/paths.rb | 6 + features/support/env.rb | 2 +- lib/gitlab/prometheus.rb | 8 +- .../projects/branches_controller_spec.rb | 97 ++++- .../projects/deployments_controller_spec.rb | 55 ++- .../projects/environments_controller_spec.rb | 42 ++ .../merge_requests_controller_spec.rb | 234 +++++------ spec/features/boards/issue_ordering_spec.rb | 2 + ...e_for_discussions_in_merge_request_spec.rb | 8 +- .../merge_requests/assign_issues_spec.rb | 2 +- ...geable_with_unresolved_discussions_spec.rb | 10 +- .../merge_requests/cherry_pick_spec.rb | 2 +- .../merge_requests/closes_issues_spec.rb | 15 +- .../merge_requests/created_from_fork_spec.rb | 2 +- .../deleted_source_branch_spec.rb | 4 +- spec/features/merge_requests/edit_mr_spec.rb | 12 - .../merge_commit_message_toggle_spec.rb | 19 +- .../merge_immediately_with_pipeline_spec.rb | 2 +- .../merge_when_pipeline_succeeds_spec.rb | 17 +- ...only_allow_merge_if_build_succeeds_spec.rb | 42 +- .../merge_requests/target_branch_spec.rb | 11 +- .../merge_requests/widget_deployments_spec.rb | 8 +- spec/features/merge_requests/widget_spec.rb | 33 +- .../api/schemas/entities/merge_request.json | 98 +++++ .../schemas/entities/merge_request_basic.json | 14 + spec/helpers/merge_requests_helper_spec.rb | 192 --------- .../javascripts/commit/pipelines/mock_data.js | 1 + spec/javascripts/merge_request_widget_spec.js | 199 --------- spec/javascripts/merged_buttons_spec.js | 44 -- spec/javascripts/test_bundle.js | 1 - .../components/mr_widget_author_spec.js | 39 ++ .../components/mr_widget_author_time_spec.js | 61 +++ .../components/mr_widget_deployment_spec.js | 184 +++++++++ .../components/mr_widget_header_spec.js | 95 +++++ .../components/mr_widget_merge_help_spec.js | 51 +++ .../components/mr_widget_pipeline_spec.js | 131 ++++++ .../mr_widget_related_links_spec.js | 138 +++++++ .../states/mr_widget_archived_spec.js | 18 + .../mr_widget_auto_merge_failed_spec.js | 32 ++ .../states/mr_widget_checking_spec.js | 19 + .../states/mr_widget_closed_spec.js | 51 +++ .../states/mr_widget_conflicts_spec.js | 69 ++++ .../states/mr_widget_failed_to_merge_spec.js | 122 ++++++ .../states/mr_widget_locked_spec.js | 33 ++ ...idget_merge_when_pipeline_succeeds_spec.js | 213 ++++++++++ .../states/mr_widget_merged_spec.js | 174 ++++++++ .../states/mr_widget_missing_branch_spec.js | 55 +++ .../states/mr_widget_not_allowed_spec.js | 17 + .../states/mr_widget_nothing_to_merge_spec.js | 17 + .../states/mr_widget_pipeline_blocked_spec.js | 16 + .../states/mr_widget_pipeline_failed_spec.js | 16 + .../states/mr_widget_ready_to_merge_spec.js | 389 ++++++++++++++++++ .../mr_widget_unresolved_discussions_spec.js | 47 +++ .../components/states/mr_widget_wip_spec.js | 96 +++++ spec/javascripts/vue_mr_widget/mock_data.js | 214 ++++++++++ .../vue_mr_widget/mr_widget_options_spec.js | 326 +++++++++++++++ .../services/mr_widget_service_spec.js | 46 +++ .../stores/get_state_key_spec.js | 62 +++ spec/lib/gitlab/prometheus_spec.rb | 20 +- spec/models/deployment_spec.rb | 27 ++ .../prometheus_service_spec.rb | 23 +- .../merge_request_presenter_spec.rb | 356 ++++++++++++++++ spec/serializers/build_entity_spec.rb | 2 +- spec/serializers/build_serializer_spec.rb | 2 +- spec/serializers/deployment_entity_spec.rb | 2 +- .../environment_serializer_spec.rb | 2 +- spec/serializers/event_entity_spec.rb | 13 + .../merge_request_basic_serializer_spec.rb | 12 + spec/serializers/merge_request_entity_spec.rb | 128 ++++++ .../merge_request_serializer_spec.rb | 37 ++ spec/serializers/pipeline_entity_spec.rb | 4 +- spec/serializers/pipeline_serializer_spec.rb | 6 +- spec/serializers/stage_entity_spec.rb | 2 +- spec/support/prometheus_helpers.rb | 34 +- spec/support/wait_for_requests.rb | 8 +- spec/support/wait_for_vue_resource.rb | 14 +- 195 files changed, 7032 insertions(+), 1560 deletions(-) create mode 100644 app/assets/javascripts/lib/utils/simple_poll.js delete mode 100644 app/assets/javascripts/merge_request_widget/ci_bundle.js delete mode 100644 app/assets/javascripts/merged_buttons.js create mode 100644 app/assets/javascripts/pipelines/components/stage.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_merge_help.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_archived.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_checking.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_failed_to_merge.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merged.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_missing_branch.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_not_allowed.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_blocked.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_failed.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_squash_before_merge.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_unresolved_discussions.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_wip.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/dependencies.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/event_hub.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/index.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js create mode 100644 app/assets/javascripts/vue_shared/components/memory_graph.js create mode 100644 app/assets/javascripts/vue_shared/components/pipeline_status_icon.js create mode 100644 app/assets/javascripts/vue_shared/pipeline_svg_icons.js create mode 100644 app/assets/stylesheets/framework/memory_graph.scss create mode 100644 app/presenters/merge_request_presenter.rb create mode 100644 app/serializers/event_entity.rb create mode 100644 app/serializers/merge_request_basic_entity.rb create mode 100644 app/serializers/merge_request_basic_serializer.rb delete mode 100644 app/views/projects/merge_requests/cancel_merge_when_pipeline_succeeds.js.haml delete mode 100644 app/views/projects/merge_requests/merge.js.haml delete mode 100644 app/views/projects/merge_requests/widget/_closed.html.haml create mode 100644 app/views/projects/merge_requests/widget/_commit_change_content.html.haml delete mode 100644 app/views/projects/merge_requests/widget/_heading.html.haml delete mode 100644 app/views/projects/merge_requests/widget/_locked.html.haml delete mode 100644 app/views/projects/merge_requests/widget/_merged.html.haml delete mode 100644 app/views/projects/merge_requests/widget/_merged_buttons.haml delete mode 100644 app/views/projects/merge_requests/widget/_open.html.haml delete mode 100644 app/views/projects/merge_requests/widget/_show.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_accept.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_archived.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_build_failed.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_check.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_conflicts.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_manual.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_merge_when_pipeline_succeeds.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_missing_branch.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_not_allowed.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_nothing.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_reload.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_sha_mismatch.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_unresolved_discussions.html.haml delete mode 100644 app/views/projects/merge_requests/widget/open/_wip.html.haml create mode 100644 spec/fixtures/api/schemas/entities/merge_request.json create mode 100644 spec/fixtures/api/schemas/entities/merge_request_basic.json delete mode 100644 spec/javascripts/merge_request_widget_spec.js delete mode 100644 spec/javascripts/merged_buttons_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_author_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_author_time_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_merge_help_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_related_links_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_archived_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_auto_merge_failed_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_checking_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_conflicts_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_failed_to_merge_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_locked_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_merge_when_pipeline_succeeds_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_missing_branch_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_not_allowed_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_nothing_to_merge_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_blocked_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_failed_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_wip_spec.js create mode 100644 spec/javascripts/vue_mr_widget/mock_data.js create mode 100644 spec/javascripts/vue_mr_widget/mr_widget_options_spec.js create mode 100644 spec/javascripts/vue_mr_widget/services/mr_widget_service_spec.js create mode 100644 spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js create mode 100644 spec/presenters/merge_request_presenter_spec.rb create mode 100644 spec/serializers/event_entity_spec.rb create mode 100644 spec/serializers/merge_request_basic_serializer_spec.rb create mode 100644 spec/serializers/merge_request_entity_spec.rb create mode 100644 spec/serializers/merge_request_serializer_spec.rb diff --git a/app/assets/javascripts/diff_notes/components/resolve_btn.js b/app/assets/javascripts/diff_notes/components/resolve_btn.js index 92f6fd654b3..9d51fb53eb2 100644 --- a/app/assets/javascripts/diff_notes/components/resolve_btn.js +++ b/app/assets/javascripts/diff_notes/components/resolve_btn.js @@ -88,6 +88,7 @@ const ResolveBtn = Vue.extend({ CommentsStore.update(this.discussionId, this.noteId, !this.isResolved, resolved_by); this.discussion.updateHeadline(data); + gl.mrWidget.checkStatus(); } else { new Flash(errorFlashMsg); } diff --git a/app/assets/javascripts/diff_notes/services/resolve.js b/app/assets/javascripts/diff_notes/services/resolve.js index 4ea6ba8a73d..ba4f6d36fcb 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js +++ b/app/assets/javascripts/diff_notes/services/resolve.js @@ -49,6 +49,7 @@ class ResolveServiceClass { discussion.resolveAllNotes(resolved_by); } + gl.mrWidget.checkStatus(); discussion.updateHeadline(data); } else { throw new Error('An error occurred when trying to resolve discussion.'); diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index d27d89cf91d..c316ff64219 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -10,7 +10,6 @@ /* global IssuableForm */ /* global LabelsSelect */ /* global MilestoneSelect */ -/* global MergedButtons */ /* global Commit */ /* global NotificationsForm */ /* global TreeView */ @@ -214,15 +213,10 @@ const ShortcutsBlob = require('./shortcuts_blob'); new gl.Diff(); shortcut_handler = new ShortcutsIssuable(true); new ZenMode(); - new MergedButtons(); - break; - case 'projects:merge_requests:commits': - new MergedButtons(); break; case "projects:merge_requests:diffs": new gl.Diff(); new ZenMode(); - new MergedButtons(); break; case 'dashboard:activity': new gl.Activities(); diff --git a/app/assets/javascripts/lib/utils/simple_poll.js b/app/assets/javascripts/lib/utils/simple_poll.js new file mode 100644 index 00000000000..25ca98afbe7 --- /dev/null +++ b/app/assets/javascripts/lib/utils/simple_poll.js @@ -0,0 +1,15 @@ +export default (fn, interval = 2000, timeout = 60000) => { + const startTime = Date.now(); + + return new Promise((resolve, reject) => { + const stop = arg => ((arg instanceof Error) ? reject(arg) : resolve(arg)); + const next = () => { + if (Date.now() - startTime < timeout) { + setTimeout(fn.bind(null, next, stop), interval); + } else { + reject(new Error('SIMPLE_POLL_TIMEOUT')); + } + }; + fn(next, stop); + }); +}; diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js index 1b0d5fc92e3..a07aa047293 100644 --- a/app/assets/javascripts/main.js +++ b/app/assets/javascripts/main.js @@ -123,8 +123,6 @@ import './member_expiration_date'; import './members'; import './merge_request'; import './merge_request_tabs'; -import './merge_request_widget'; -import './merged_buttons'; import './milestone'; import './milestone_select'; import './mini_pipeline_graph_dropdown'; diff --git a/app/assets/javascripts/merge_request.js b/app/assets/javascripts/merge_request.js index 5e01aacf2ba..ed342b9990f 100644 --- a/app/assets/javascripts/merge_request.js +++ b/app/assets/javascripts/merge_request.js @@ -106,6 +106,21 @@ require('./merge_request_tabs'); }); }; + MergeRequest.prototype.updateStatusText = function(classToRemove, classToAdd, newStatusText) { + $('.detail-page-header .status-box') + .removeClass(classToRemove) + .addClass(classToAdd) + .find('span') + .text(newStatusText); + }; + + MergeRequest.prototype.decreaseCounter = function(by = 1) { + const $el = $('.nav-links .js-merge-counter'); + const count = Math.max((parseInt($el.text().replace(/[^\d]/, ''), 10) - by), 0); + + $el.text(gl.text.addDelimiter(count)); + }; + return MergeRequest; })(); }).call(window); diff --git a/app/assets/javascripts/merge_request_widget/ci_bundle.js b/app/assets/javascripts/merge_request_widget/ci_bundle.js deleted file mode 100644 index 21d7c3e168e..00000000000 --- a/app/assets/javascripts/merge_request_widget/ci_bundle.js +++ /dev/null @@ -1,53 +0,0 @@ -/* global merge_request_widget */ - -(() => { - $(() => { - /* TODO: This needs a better home, or should be refactored. It was previously contained - * in a script tag in app/views/projects/merge_requests/widget/open/_accept.html.haml, - * but Vue chokes on script tags and prevents their execution. So it was moved here - * temporarily. - * */ - - $(document) - .off('ajax:send', '.accept-mr-form') - .on('ajax:send', '.accept-mr-form', () => { - $('.accept-mr-form :input').disable(); - }); - - $(document) - .off('click', '.accept-merge-request') - .on('click', '.accept-merge-request', () => { - $('.js-merge-button, .js-merge-when-pipeline-succeeds-button').html('<i class="fa fa-spinner fa-spin"></i> Merge in progress'); - }); - - $(document) - .off('click', '.merge-when-pipeline-succeeds') - .on('click', '.merge-when-pipeline-succeeds', () => { - $('#merge_when_pipeline_succeeds').val('1'); - }); - - $(document) - .off('click', '.js-merge-dropdown a') - .on('click', '.js-merge-dropdown a', (e) => { - e.preventDefault(); - $(e.target).closest('form').submit(); - }); - if ($('.rebase-in-progress').length) { - merge_request_widget.rebaseInProgress(); - } else if ($('.rebase-mr-form').length) { - $(document) - .off('ajax:send', '.rebase-mr-form') - .on('ajax:send', '.rebase-mr-form', () => { - $('.rebase-mr-form :input').disable(); - }); - - $(document) - .off('click', '.js-rebase-button') - .on('click', '.js-rebase-button', () => { - $('.js-rebase-button').html("<i class='fa fa-spinner fa-spin'></i> Rebase in progress"); - }); - } else { - setTimeout(() => merge_request_widget.getMergeStatus(), 200); - } - }); -})(); diff --git a/app/assets/javascripts/merged_buttons.js b/app/assets/javascripts/merged_buttons.js deleted file mode 100644 index 7b0997c6520..00000000000 --- a/app/assets/javascripts/merged_buttons.js +++ /dev/null @@ -1,47 +0,0 @@ -/* eslint-disable func-names, space-before-function-paren, no-var, prefer-rest-params, wrap-iife, max-len */ - -import '~/lib/utils/url_utility'; - -(function() { - this.MergedButtons = (function() { - function MergedButtons() { - this.removeSourceBranch = this.removeSourceBranch.bind(this); - this.removeBranchSuccess = this.removeBranchSuccess.bind(this); - this.removeBranchError = this.removeBranchError.bind(this); - this.$removeBranchWidget = $('.remove_source_branch_widget'); - this.$removeBranchProgress = $('.remove_source_branch_in_progress'); - this.$removeBranchFailed = $('.remove_source_branch_widget.failed'); - this.cleanEventListeners(); - this.initEventListeners(); - } - - MergedButtons.prototype.cleanEventListeners = function() { - $(document).off('click', '.remove_source_branch'); - $(document).off('ajax:success', '.remove_source_branch'); - return $(document).off('ajax:error', '.remove_source_branch'); - }; - - MergedButtons.prototype.initEventListeners = function() { - $(document).on('click', '.remove_source_branch', this.removeSourceBranch); - $(document).on('ajax:success', '.remove_source_branch', this.removeBranchSuccess); - $(document).on('ajax:error', '.remove_source_branch', this.removeBranchError); - }; - - MergedButtons.prototype.removeSourceBranch = function() { - this.$removeBranchWidget.hide(); - return this.$removeBranchProgress.show(); - }; - - MergedButtons.prototype.removeBranchSuccess = function() { - gl.utils.refreshCurrentPage(); - }; - - MergedButtons.prototype.removeBranchError = function() { - this.$removeBranchWidget.hide(); - this.$removeBranchProgress.hide(); - return this.$removeBranchFailed.show(); - }; - - return MergedButtons; - })(); -}).call(window); diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 55391ebc089..d2e602a0763 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -276,7 +276,7 @@ const normalizeNewlines = function(str) { var votesBlock; if (noteEntity.commands_changes) { if ('merge' in noteEntity.commands_changes) { - $.get(mrRefreshWidgetUrl); + Notes.checkMergeRequestStatus(); } if ('emoji_award' in noteEntity.commands_changes) { @@ -424,6 +424,7 @@ const normalizeNewlines = function(str) { } gl.utils.localTimeAgo($('.js-timeago'), false); + Notes.checkMergeRequestStatus(); return this.updateNotesCount(1); }; @@ -769,7 +770,8 @@ const normalizeNewlines = function(str) { } }; })(this)); - // Decrement the "Discussions" counter only once + + Notes.checkMergeRequestStatus(); return this.updateNotesCount(-1); }; @@ -1115,6 +1117,12 @@ const normalizeNewlines = function(str) { return $form; }; + Notes.checkMergeRequestStatus = function() { + if (gl.utils.getPagePath(1) === 'merge_requests') { + gl.mrWidget.checkStatus(); + } + }; + Notes.animateAppendNote = function(noteHtml, $notesList) { const $note = $(noteHtml); diff --git a/app/assets/javascripts/pipelines/components/stage.js b/app/assets/javascripts/pipelines/components/stage.js new file mode 100644 index 00000000000..034e8d3280e --- /dev/null +++ b/app/assets/javascripts/pipelines/components/stage.js @@ -0,0 +1,104 @@ +/* global Flash */ +import { borderlessStatusIconEntityMap } from '../../vue_shared/ci_status_icons'; + +export default { + data() { + return { + builds: '', + spinner: '<span class="fa fa-spinner fa-spin"></span>', + }; + }, + + props: { + stage: { + type: Object, + required: true, + }, + }, + + updated() { + if (this.builds) { + this.stopDropdownClickPropagation(); + } + }, + + methods: { + fetchBuilds(e) { + const ariaExpanded = e.currentTarget.attributes['aria-expanded']; + + if (ariaExpanded && (ariaExpanded.textContent === 'true')) return null; + + return this.$http.get(this.stage.dropdown_path) + .then((response) => { + this.builds = JSON.parse(response.body).html; + }, () => { + const flash = new Flash('Something went wrong on our end.'); + return flash; + }); + }, + + /** + * When the user right clicks or cmd/ctrl + click in the job name + * the dropdown should not be closed and the link should open in another tab, + * so we stop propagation of the click event inside the dropdown. + * + * Since this component is rendered multiple times per page we need to guarantee we only + * target the click event of this component. + */ + stopDropdownClickPropagation() { + $(this.$el.querySelectorAll('.js-builds-dropdown-list a.mini-pipeline-graph-dropdown-item')).on('click', (e) => { + e.stopPropagation(); + }); + }, + }, + computed: { + buildsOrSpinner() { + return this.builds ? this.builds : this.spinner; + }, + dropdownClass() { + if (this.builds) return 'js-builds-dropdown-container'; + return 'js-builds-dropdown-loading builds-dropdown-loading'; + }, + buildStatus() { + return `Build: ${this.stage.status.label}`; + }, + tooltip() { + return `has-tooltip ci-status-icon ci-status-icon-${this.stage.status.group}`; + }, + triggerButtonClass() { + return `mini-pipeline-graph-dropdown-toggle has-tooltip js-builds-dropdown-button ci-status-icon-${this.stage.status.group}`; + }, + svgHTML() { + return borderlessStatusIconEntityMap[this.stage.status.icon]; + }, + }, + watch: { + 'stage.title': function stageTitle() { + $(this.$refs.button).tooltip('destroy').tooltip(); + }, + }, + template: ` + <div> + <button + @click="fetchBuilds($event)" + :class="triggerButtonClass" + :title="stage.title" + data-placement="top" + data-toggle="dropdown" + type="button" + ref="button" + :aria-label="stage.title"> + <span v-html="svgHTML" aria-hidden="true"></span> + <i class="fa fa-caret-down" aria-hidden="true"></i> + </button> + <ul class="dropdown-menu mini-pipeline-graph-dropdown-menu js-builds-dropdown-container"> + <div class="arrow-up" aria-hidden="true"></div> + <div + :class="dropdownClass" + class="js-builds-dropdown-list scrollable-menu" + v-html="buildsOrSpinner"> + </div> + </ul> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author.js new file mode 100644 index 00000000000..a01cb8cc202 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author.js @@ -0,0 +1,23 @@ +export default { + name: 'MRWidgetAuthor', + props: { + author: { type: Object, required: true }, + showAuthorName: { type: Boolean, required: false, default: true }, + showAuthorTooltip: { type: Boolean, required: false, default: false }, + }, + template: ` + <a + :href="author.webUrl || author.web_url" + class="author-link" + :class="{ 'has-tooltip': showAuthorTooltip }" + :title="author.name"> + <img + :src="author.avatarUrl || author.avatar_url" + class="avatar avatar-inline s16" /> + <span + v-if="showAuthorName" + class="author">{{author.name}} + </span> + </a> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.js new file mode 100644 index 00000000000..6d2ed5fda64 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_author_time.js @@ -0,0 +1,27 @@ +import MRWidgetAuthor from './mr_widget_author'; + +export default { + name: 'MRWidgetAuthorTime', + props: { + actionText: { type: String, required: true }, + author: { type: Object, required: true }, + dateTitle: { type: String, required: true }, + dateReadable: { type: String, required: true }, + }, + components: { + 'mr-widget-author': MRWidgetAuthor, + }, + template: ` + <h4 class="js-mr-widget-author"> + {{actionText}} + <mr-widget-author :author="author" /> + <time + :title="dateTitle" + data-toggle="tooltip" + data-placement="top" + data-container="body"> + {{dateReadable}} + </time> + </h4> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js new file mode 100644 index 00000000000..630e80a7408 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js @@ -0,0 +1,118 @@ +/* global Flash */ + +import '~/lib/utils/datetime_utility'; +import { statusClassToSvgMap } from '../../vue_shared/pipeline_svg_icons'; +import MemoryUsage from './mr_widget_memory_usage'; +import MRWidgetService from '../services/mr_widget_service'; + +export default { + name: 'MRWidgetDeployment', + props: { + mr: { type: Object, required: true }, + service: { type: Object, required: true }, + }, + components: { + 'mr-widget-memory-usage': MemoryUsage, + }, + computed: { + svg() { + return statusClassToSvgMap.icon_status_success; + }, + }, + methods: { + formatDate(date) { + return gl.utils.getTimeago().format(date); + }, + hasExternalUrls(deployment = {}) { + return deployment.external_url && deployment.external_url_formatted; + }, + hasDeploymentTime(deployment = {}) { + return deployment.deployed_at && deployment.deployed_at_formatted; + }, + hasDeploymentMeta(deployment = {}) { + return deployment.url && deployment.name; + }, + stopEnvironment(deployment) { + const msg = 'Are you sure you want to stop this environment?'; + const isConfirmed = confirm(msg); // eslint-disable-line + + if (isConfirmed) { + MRWidgetService.stopEnvironment(deployment.stop_url) + .then(res => res.json()) + .then((res) => { + if (res.redirect_url) { + gl.utils.visitUrl(res.redirect_url); + } + }) + .catch(() => { + new Flash('Something went wrong while stopping this environment. Please try again.'); // eslint-disable-line + }); + } + }, + }, + template: ` + <div class="mr-widget-heading"> + <div v-for="deployment in mr.deployments"> + <div class="ci-widget"> + <div class="ci-status-icon ci-status-icon-success"> + <span class="js-icon-link icon-link"> + <span + v-html="svg" + aria-hidden="true"></span> + </span> + </div> + <span> + <span + v-if="hasDeploymentMeta(deployment)"> + Deployed to + </span> + <a + v-if="hasDeploymentMeta(deployment)" + :href="deployment.url" + target="_blank" + rel="noopener noreferrer nofollow" + class="js-deploy-meta"> + {{deployment.name}} + </a> + <span + v-if="hasExternalUrls(deployment)"> + on + </span> + <a + v-if="hasExternalUrls(deployment)" + :href="deployment.external_url" + target="_blank" + rel="noopener noreferrer nofollow" + class="js-deploy-url"> + <i + class="fa fa-external-link" + aria-hidden="true" /> + {{deployment.external_url_formatted}} + </a> + <span + v-if="hasDeploymentTime(deployment)" + :data-title="deployment.deployed_at_formatted" + class="js-deploy-time" + data-toggle="tooltip" + data-placement="top"> + {{formatDate(deployment.deployed_at)}} + </span> + <button + type="button" + v-if="deployment.stop_url" + @click="stopEnvironment(deployment)" + class="btn btn-default btn-xs"> + Stop environment + </button> + </span> + </div> + <mr-widget-memory-usage + v-if="deployment.metrics_url" + :mr="mr" + :service="service" + :metricsUrl="deployment.metrics_url" + /> + </div> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js new file mode 100644 index 00000000000..4a1fd881169 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js @@ -0,0 +1,98 @@ +require('../../lib/utils/text_utility'); + +export default { + name: 'MRWidgetHeader', + props: { + mr: { type: Object, required: true }, + }, + computed: { + shouldShowCommitsBehindText() { + return this.mr.divergedCommitsCount > 0; + }, + commitsText() { + return gl.text.pluralize('commit', this.mr.divergedCommitsCount); + }, + }, + methods: { + isBranchTitleLong(branchTitle) { + return branchTitle.length > 32; + }, + }, + template: ` + <div class="mr-source-target"> + <div + v-if="mr.isOpen" + class="pull-right"> + <a + href="#modal_merge_info" + data-toggle="modal" + class="btn inline btn-grouped btn-sm"> + Check out branch + </a> + <span class="dropdown inline prepend-left-5"> + <a + class="btn btn-sm dropdown-toggle" + data-toggle="dropdown" + aria-label="Download as" + role="button"> + <i + class="fa fa-download" + aria-hidden="true" /> + <i + class="fa fa-caret-down" + aria-hidden="true" /> + </a> + <ul class="dropdown-menu dropdown-menu-align-right"> + <li> + <a + :href="mr.emailPatchesPath" + download> + Email patches + </a> + </li> + <li> + <a + :href="mr.plainDiffPath" + download> + Plain diff + </a> + </li> + </ul> + </span> + </div> + <div class="normal"> + <b>Request to merge</b> + <span + class="label-branch" + :class="{'label-truncated has-tooltip': isBranchTitleLong(mr.sourceBranch)}" + :title="isBranchTitleLong(mr.sourceBranch) ? mr.sourceBranch : ''" + data-placement="bottom" + v-html="mr.sourceBranchLink"></span> + <button + class="btn btn-transparent btn-clipboard has-tooltip" + data-title="Copy branch name to clipboard" + :data-clipboard-text="mr.sourceBranch"> + <i + aria-hidden="true" + class="fa fa-clipboard"></i> + </button> + <b>into</b> + <span + class="label-branch" + :class="{'label-truncated has-tooltip': isBranchTitleLong(mr.targetBranch)}" + :title="isBranchTitleLong(mr.targetBranch) ? mr.targetBranch : ''" + data-placement="bottom"> + <a + :href="mr.targetBranchCommitsPath"> + {{mr.targetBranch}} + </a> + </span> + <span + v-if="shouldShowCommitsBehindText" + class="diverged-commits-count"> + ({{mr.divergedCommitsCount}} {{commitsText}} behind) + </span> + </div> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js new file mode 100644 index 00000000000..395cc9e91fc --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js @@ -0,0 +1,109 @@ +import statusCodes from '~/lib/utils/http_status'; +import MemoryGraph from '../../vue_shared/components/memory_graph'; +import MRWidgetService from '../services/mr_widget_service'; + +export default { + name: 'MemoryUsage', + props: { + mr: { type: Object, required: true }, + service: { type: Object, required: true }, + metricsUrl: { type: String, required: true }, + }, + data() { + return { + // memoryFrom: 0, + // memoryTo: 0, + memoryMetrics: [], + hasMetrics: false, + loadFailed: false, + loadingMetrics: true, + backOffRequestCounter: 0, + }; + }, + components: { + 'mr-memory-graph': MemoryGraph, + }, + methods: { + computeGraphData(metrics) { + this.loadingMetrics = false; + const { memory_values } = metrics; + // if (memory_previous.length > 0) { + // this.memoryFrom = Number(memory_previous[0].value[1]).toFixed(2); + // } + // + // if (memory_current.length > 0) { + // this.memoryTo = Number(memory_current[0].value[1]).toFixed(2); + // } + + if (memory_values.length > 0) { + this.hasMetrics = true; + this.memoryMetrics = memory_values[0].values; + } + }, + }, + mounted() { + this.$props.loadingMetrics = true; + gl.utils.backOff((next, stop) => { + MRWidgetService.fetchMetrics(this.$props.metricsUrl) + .then((res) => { + if (res.status === statusCodes.NO_CONTENT) { + this.backOffRequestCounter = this.backOffRequestCounter += 1; + if (this.backOffRequestCounter < 3) { + next(); + } else { + stop(res); + } + } else { + stop(res); + } + }) + .catch(stop); + }) + .then((res) => { + if (res.status === statusCodes.NO_CONTENT) { + return res; + } + + return res.json(); + }) + .then((res) => { + this.computeGraphData(res.metrics); + return res; + }) + .catch(() => { + this.$props.loadFailed = true; + }); + }, + template: ` + <div class="mr-info-list mr-memory-usage"> + <div class="legend"></div> + <p + v-if="loadingMetrics" + class="usage-info usage-info-loading"> + <i + class="fa fa-spinner fa-spin usage-info-load-spinner" + aria-hidden="true" />Loading deployment statistics. + </p> + <p + v-if="!hasMetrics && !loadingMetrics" + class="usage-info usage-info-loading"> + Deployment statistics are not available currently. + </p> + <p + v-if="hasMetrics" + class="usage-info"> + Deployment memory usage: + </p> + <p + v-if="loadFailed" + class="usage-info"> + Failed to load deployment statistics. + </p> + <mr-memory-graph + v-if="hasMetrics" + :metrics="memoryMetrics" + height="25" + width="100" /> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_merge_help.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_merge_help.js new file mode 100644 index 00000000000..2fecebce7a0 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_merge_help.js @@ -0,0 +1,23 @@ +export default { + name: 'MRWidgetMergeHelp', + props: { + missingBranch: { type: String, required: false, default: '' }, + }, + template: ` + <section class="mr-widget-help"> + <template + v-if="missingBranch"> + If the {{missingBranch}} branch exists in your local repository, you + </template> + <template v-else> + You + </template> + can merge this merge request manually using the + <a + data-toggle="modal" + href="#modal_merge_info"> + command line. + </a> + </section> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js new file mode 100644 index 00000000000..801b9fb1ba1 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js @@ -0,0 +1,76 @@ +import PipelineStage from '../../pipelines/components/stage'; +import pipelineStatusIcon from '../../vue_shared/components/pipeline_status_icon'; +import { statusClassToSvgMap } from '../../vue_shared/pipeline_svg_icons'; + +export default { + name: 'MRWidgetPipeline', + props: { + mr: { type: Object, required: true }, + }, + components: { + 'pipeline-stage': PipelineStage, + 'pipeline-status-icon': pipelineStatusIcon, + }, + computed: { + hasCIError() { + const { hasCI, ciStatus } = this.mr; + + return hasCI && !ciStatus; + }, + svg() { + return statusClassToSvgMap.icon_status_failed; + }, + stageText() { + return this.mr.pipeline.details.stages.length > 1 ? 'stages' : 'stage'; + }, + }, + template: ` + <div class="mr-widget-heading"> + <div class="ci-widget"> + <template v-if="hasCIError"> + <div class="ci-status-icon ci-status-icon-failed js-ci-error"> + <span class="js-icon-link icon-link"> + <span + v-html="svg" + aria-hidden="true"></span> + </span> + </div> + <span>Could not connect to the CI server. Please check your settings and try again.</span> + </template> + <template v-else> + <pipeline-status-icon :pipelineStatus="mr.pipelineDetailedStatus" /> + <span> + Pipeline + <a + :href="mr.pipeline.path" + class="pipeline-id">#{{mr.pipeline.id}}</a> + {{mr.pipeline.details.status.label}} + with {{stageText}} + </span> + <div class="mr-widget-pipeline-graph"> + <div class="stage-cell"> + <div + v-if="mr.pipeline.details.stages.length > 0" + v-for="stage in mr.pipeline.details.stages" + class="stage-container dropdown js-mini-pipeline-graph"> + <pipeline-stage :stage="stage" /> + </div> + </div> + </div> + <span> + for + <a + :href="mr.pipeline.commit.commit_path" + class="monospace js-commit-link"> + {{mr.pipeline.commit.short_id}}</a>. + </span> + <span + v-if="mr.pipeline.coverage" + class="js-mr-coverage"> + Coverage {{mr.pipeline.coverage}}%. + </span> + </template> + </div> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.js new file mode 100644 index 00000000000..205804670fa --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_related_links.js @@ -0,0 +1,42 @@ +export default { + name: 'MRWidgetRelatedLinks', + props: { + relatedLinks: { type: Object, required: true }, + }, + computed: { + hasLinks() { + const { closing, mentioned, assignToMe } = this.relatedLinks; + return closing || mentioned || assignToMe; + }, + }, + methods: { + hasMultipleIssues(text) { + return !text ? false : text.match(/<\/a> and <a/); + }, + issueLabel(field) { + return this.hasMultipleIssues(this.relatedLinks[field]) ? 'issues' : 'issue'; + }, + verbLabel(field) { + return this.hasMultipleIssues(this.relatedLinks[field]) ? 'are' : 'is'; + }, + }, + template: ` + <section + v-if="hasLinks" + class="mr-info-list mr-links"> + <div class="legend"></div> + <p v-if="relatedLinks.closing"> + Closes {{issueLabel('closing')}} + <span v-html="relatedLinks.closing"></span>. + </p> + <p v-if="relatedLinks.mentioned"> + <span class="capitalize">{{issueLabel('mentioned')}}</span> + <span v-html="relatedLinks.mentioned"></span> + {{verbLabel('mentioned')}} mentioned but will not be closed. + </p> + <p v-if="relatedLinks.assignToMe"> + <span v-html="relatedLinks.assignToMe"></span> + </p> + </section> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_archived.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_archived.js new file mode 100644 index 00000000000..c7f25a1697c --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_archived.js @@ -0,0 +1,16 @@ +export default { + name: 'MRWidgetArchived', + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + This project is archived, write access has been disabled. + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js new file mode 100644 index 00000000000..fcccb17f58d --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js @@ -0,0 +1,22 @@ +export default { + name: 'MRWidgetAutoMergeFailed', + props: { + mr: { type: Object, required: true }, + }, + template: ` + <div class="mr-widget-body"> + <button + class="btn btn-success btn-small" + disabled="true" + type="button"> + Merge + </button> + <span class="bold danger"> + This merge request failed to be merged automatically. + </span> + <div class="merge-error-text"> + {{mr.mergeError}} + </div> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_checking.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_checking.js new file mode 100644 index 00000000000..8515b54e62d --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_checking.js @@ -0,0 +1,19 @@ +export default { + name: 'MRWidgetChecking', + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + Checking ability to merge automatically. + <i + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js new file mode 100644 index 00000000000..7e66441e5ff --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js @@ -0,0 +1,30 @@ +import mrWidgetAuthorTime from '../../components/mr_widget_author_time'; + +export default { + name: 'MRWidgetClosed', + props: { + mr: { type: Object, required: true }, + }, + components: { + 'mr-widget-author-and-time': mrWidgetAuthorTime, + }, + template: ` + <div class="mr-widget-body"> + <mr-widget-author-and-time + actionText="Closed by" + :author="mr.closedBy" + :dateTitle="mr.updatedAt" + :dateReadable="mr.closedAt" + /> + <section> + <p> + The changes were not merged into + <a + :href="mr.targetBranchCommitsPath" + class="label-branch"> + {{mr.targetBranch}}</a>. + </p> + </section> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.js new file mode 100644 index 00000000000..36596c6f37e --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_conflicts.js @@ -0,0 +1,39 @@ +export default { + name: 'MRWidgetConflicts', + props: { + mr: { type: Object, required: true }, + }, + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + There are merge conflicts. + <span v-if="!mr.canMerge"> + Resolve these conflicts or ask someone with write access to this repository to merge it locally. + </span> + </span> + <div + v-if="mr.canMerge" + class="btn-group"> + <a + v-if="mr.conflictResolutionPath" + :href="mr.conflictResolutionPath" + class="btn btn-default btn-xs js-resolve-conflicts-button"> + Resolve conflicts + </a> + <a + v-if="mr.canMerge" + class="btn btn-default btn-xs js-merge-locally-button" + data-toggle="modal" + href="#modal_merge_info"> + Merge locally + </a> + </div> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_failed_to_merge.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_failed_to_merge.js new file mode 100644 index 00000000000..600b4d42e3d --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_failed_to_merge.js @@ -0,0 +1,76 @@ +import eventHub from '../../event_hub'; + +export default { + name: 'MRWidgetFailedToMerge', + props: { + mr: { type: Object, required: true }, + }, + data() { + return { + timer: 10, + isRefreshing: false, + }; + }, + mounted() { + setInterval(() => { + this.updateTimer(); + }, 1000); + }, + created() { + eventHub.$emit('DisablePolling'); + }, + computed: { + timerText() { + return this.timer > 1 ? `${this.timer} seconds` : 'a second'; + }, + }, + methods: { + refresh() { + this.isRefreshing = true; + eventHub.$emit('MRWidgetUpdateRequested'); + eventHub.$emit('EnablePolling'); + }, + updateTimer() { + this.timer = this.timer - 1; + + if (this.timer === 0) { + this.refresh(); + } + }, + }, + template: ` + <div class="mr-widget-body"> + <button + class="btn btn-success btn-small" + disabled="true" + type="button"> + Merge + </button> + <span + v-if="!isRefreshing" + class="bold danger"> + <span + class="has-error-message" + v-if="mr.mergeError"> + {{mr.mergeError}} + </span> + <span v-else>Merge failed.</span> + <span + :class="{ 'has-custom-error': mr.mergeError }"> + Refreshing in {{timerText}} to show the updated status... + </span> + <button + @click="refresh" + class="btn btn-default btn-xs js-refresh-button" + type="button"> + Refresh now + </button> + </span> + <span + v-if="isRefreshing" + class="bold js-refresh-label"> + Refreshing now... + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js new file mode 100644 index 00000000000..e3c27dfb76d --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js @@ -0,0 +1,24 @@ +export default { + name: 'MRWidgetLocked', + props: { + mr: { type: Object, required: true }, + }, + template: ` + <div class="mr-widget-body mr-state-locked"> + <span class="state-label">Locked</span> + This merge request is in the process of being merged, during which time it is locked and cannot be closed. + <i + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + <section class="mr-info-list mr-links"> + <div class="legend"></div> + <p> + The changes will be merged into + <span class="label-branch"> + <a :href="mr.targetBranchPath">{{mr.targetBranch}}</a> + </span> + </p> + </section> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js new file mode 100644 index 00000000000..bcdbedcd46b --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js @@ -0,0 +1,116 @@ +/* global Flash */ + +import MRWidgetAuthor from '../../components/mr_widget_author'; +import eventHub from '../../event_hub'; + +export default { + name: 'MRWidgetMergeWhenPipelineSucceeds', + props: { + mr: { type: Object, required: true }, + service: { type: Object, required: true }, + }, + components: { + 'mr-widget-author': MRWidgetAuthor, + }, + data() { + return { + isCancellingAutoMerge: false, + isRemovingSourceBranch: false, + }; + }, + computed: { + canRemoveSourceBranch() { + const { shouldRemoveSourceBranch, canRemoveSourceBranch, + mergeUserId, currentUserId } = this.mr; + + return !shouldRemoveSourceBranch && canRemoveSourceBranch && mergeUserId === currentUserId; + }, + }, + methods: { + cancelAutomaticMerge() { + this.isCancellingAutoMerge = true; + this.service.cancelAutomaticMerge() + .then(res => res.json()) + .then((res) => { + eventHub.$emit('UpdateWidgetData', res); + }) + .catch(() => { + this.isCancellingAutoMerge = false; + new Flash('Something went wrong. Please try again.'); // eslint-disable-line + }); + }, + removeSourceBranch() { + const options = { + sha: this.mr.sha, + merge_when_pipeline_succeeds: true, + should_remove_source_branch: true, + }; + + this.isRemovingSourceBranch = true; + this.service.mergeResource.save(options) + .then(res => res.json()) + .then((res) => { + if (res.status === 'merge_when_pipeline_succeeds') { + eventHub.$emit('MRWidgetUpdateRequested'); + } + }) + .catch(() => { + this.isRemovingSourceBranch = false; + new Flash('Something went wrong. Please try again.'); // eslint-disable-line + }); + }, + }, + template: ` + <div class="mr-widget-body"> + <h4> + Set by + <mr-widget-author :author="mr.setToMWPSBy" /> + to be merged automatically when the pipeline succeeds. + <a + v-if="mr.canCancelAutomaticMerge" + @click.prevent="cancelAutomaticMerge" + :disabled="isCancellingAutoMerge" + role="button" + href="#" + class="btn btn-xs btn-default js-cancel-auto-merge"> + <i + v-if="isCancellingAutoMerge" + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + Cancel automatic merge + </a> + </h4> + <section class="mr-info-list"> + <div class="legend"></div> + <p>The changes will be merged into + <a + :href="mr.targetBranchPath" + class="label-branch"> + {{mr.targetBranch}} + </a> + </p> + <p v-if="mr.shouldRemoveSourceBranch"> + The source branch will be removed. + </p> + <p + v-else + class="with-button"> + The source branch will not be removed. + <a + v-if="canRemoveSourceBranch" + :disabled="isRemovingSourceBranch" + @click.prevent="removeSourceBranch" + role="button" + class="btn btn-xs btn-default js-remove-source-branch" + href="#"> + <i + v-if="isRemovingSourceBranch" + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + Remove source branch + </a> + </p> + </section> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merged.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merged.js new file mode 100644 index 00000000000..c7d32d18141 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merged.js @@ -0,0 +1,130 @@ +/* global Flash */ + +import mrWidgetAuthorTime from '../../components/mr_widget_author_time'; +import eventHub from '../../event_hub'; + +export default { + name: 'MRWidgetMerged', + props: { + mr: { type: Object, required: true }, + service: { type: Object, required: true }, + }, + components: { + 'mr-widget-author-and-time': mrWidgetAuthorTime, + }, + data() { + return { + isMakingRequest: false, + }; + }, + computed: { + shouldShowRemoveSourceBranch() { + const { sourceBranchRemoved, isRemovingSourceBranch, canRemoveSourceBranch } = this.mr; + + return !sourceBranchRemoved && canRemoveSourceBranch && + !this.isMakingRequest && !isRemovingSourceBranch; + }, + shouldShowSourceBranchRemoving() { + const { sourceBranchRemoved, isRemovingSourceBranch } = this.mr; + return !sourceBranchRemoved && (isRemovingSourceBranch || this.isMakingRequest); + }, + shouldShowMergedButtons() { + const { canRevertInCurrentMR, canCherryPickInCurrentMR, revertInForkPath, + cherryPickInForkPath } = this.mr; + + return canRevertInCurrentMR || canCherryPickInCurrentMR || + revertInForkPath || cherryPickInForkPath; + }, + }, + methods: { + removeSourceBranch() { + this.isMakingRequest = true; + this.service.removeSourceBranch() + .then(res => res.json()) + .then((res) => { + if (res.message === 'Branch was removed') { + eventHub.$emit('MRWidgetUpdateRequested', () => { + this.isMakingRequest = false; + }); + } + }) + .catch(() => { + this.isMakingRequest = false; + new Flash('Something went wrong. Please try again.'); // eslint-disable-line + }); + }, + }, + template: ` + <div class="mr-widget-body"> + <mr-widget-author-and-time + actionText="Merged by" + :author="mr.mergedBy" + :dateTitle="mr.updatedAt" + :dateReadable="mr.mergedAt" /> + <section class="mr-info-list"> + <div class="legend"></div> + <p> + The changes were merged into + <span class="label-branch"> + <a :href="mr.targetBranchPath">{{mr.targetBranch}}</a> + </span> + </p> + <p v-if="mr.sourceBranchRemoved">The source branch has been removed.</p> + <p v-if="shouldShowRemoveSourceBranch"> + You can remove source branch now. + <button + @click="removeSourceBranch" + :class="{ disabled: isMakingRequest }" + type="button" + class="btn btn-xs btn-default js-remove-branch-button"> + Remove Source Branch + </button> + </p> + <p v-if="shouldShowSourceBranchRemoving"> + <i + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + The source branch is being removed. + </p> + </section> + <div + v-if="shouldShowMergedButtons" + class="merged-buttons clearfix"> + <a + v-if="mr.canRevertInCurrentMR" + class="btn btn-close btn-sm has-tooltip" + href="#modal-revert-commit" + data-toggle="modal" + data-container="body" + title="Revert this merge request in a new merge request"> + Revert + </a> + <a + v-else-if="mr.revertInForkPath" + class="btn btn-close btn-sm has-tooltip" + data-method="post" + :href="mr.revertInForkPath" + title="Revert this merge request in a new merge request"> + Revert + </a> + <a + v-if="mr.canCherryPickInCurrentMR" + class="btn btn-default btn-sm has-tooltip" + href="#modal-cherry-pick-commit" + data-toggle="modal" + data-container="body" + title="Cherry-pick this merge request in a new merge request"> + Cherry-pick + </a> + <a + v-else-if="mr.cherryPickInForkPath" + class="btn btn-default btn-sm has-tooltip" + data-method="post" + :href="mr.cherryPickInForkPath" + title="Cherry-pick this merge request in a new merge request"> + Cherry-pick + </a> + </div> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_missing_branch.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_missing_branch.js new file mode 100644 index 00000000000..328382485f6 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_missing_branch.js @@ -0,0 +1,34 @@ +import mrWidgetMergeHelp from '../../components/mr_widget_merge_help'; + +export default { + name: 'MRWidgetMissingBranch', + props: { + mr: { type: Object, required: true }, + }, + components: { + 'mr-widget-merge-help': mrWidgetMergeHelp, + }, + computed: { + missingBranchName() { + return this.mr.sourceBranchRemoved ? 'source' : 'target'; + }, + }, + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold js-branch-text"> + <span class="capitalize"> + {{missingBranchName}} + </span> branch does not exist. + Please restore the {{missingBranchName}} branch or use a different {{missingBranchName}} branch. + </span> + <mr-widget-merge-help + :missing-branch="missingBranchName" /> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_not_allowed.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_not_allowed.js new file mode 100644 index 00000000000..07169b349be --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_not_allowed.js @@ -0,0 +1,17 @@ +export default { + name: 'MRWidgetNotAllowed', + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + Ready to be merged automatically. + Ask someone with write access to this repository to merge this request. + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge.js new file mode 100644 index 00000000000..8c4535f1337 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge.js @@ -0,0 +1,17 @@ +export default { + name: 'MRWidgetNothingToMerge', + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + There is nothing to merge from source branch into target branch. + Please push new commits or use a different branch. + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_blocked.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_blocked.js new file mode 100644 index 00000000000..31c53b679ed --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_blocked.js @@ -0,0 +1,16 @@ +export default { + name: 'MRWidgetPipelineBlocked', + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + Pipeline blocked. The pipeline for this merge request requires a manual action to proceed. + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_failed.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_failed.js new file mode 100644 index 00000000000..002820123ca --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_pipeline_failed.js @@ -0,0 +1,16 @@ +export default { + name: 'MRWidgetPipelineBlocked', + template: ` + <div class="mr-widget-body"> + <button + class="btn btn-success btn-small" + disabled="true" + type="button"> + Merge + </button> + <span class="bold"> + The pipeline for this merge request failed. Please retry the job or push a new commit to fix the failure. + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js new file mode 100644 index 00000000000..ebcc03e531b --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js @@ -0,0 +1,309 @@ +/* global Flash */ + +import successSvg from 'icons/_icon_status_success.svg'; +import warningSvg from 'icons/_icon_status_warning.svg'; +import simplePoll from '~/lib/utils/simple_poll'; +import eventHub from '../../event_hub'; + +export default { + name: 'MRWidgetReadyToMerge', + props: { + mr: { type: Object, required: true }, + service: { type: Object, required: true }, + }, + data() { + return { + removeSourceBranch: true, + mergeWhenBuildSucceeds: false, + useCommitMessageWithDescription: false, + setToMergeWhenPipelineSucceeds: false, + showCommitMessageEditor: false, + isMakingRequest: false, + isMergingImmediately: false, + commitMessage: this.mr.commitMessage, + successSvg, + warningSvg, + }; + }, + computed: { + commitMessageLinkTitle() { + const withDesc = 'Include description in commit message'; + const withoutDesc = "Don't include description in commit message"; + + return this.useCommitMessageWithDescription ? withoutDesc : withDesc; + }, + mergeButtonClass() { + const defaultClass = 'btn btn-success accept-merge-request'; + const failedClass = `${defaultClass} btn-danger`; + const inActionClass = `${defaultClass} btn-info`; + const { pipeline, isPipelineActive, isPipelineFailed, hasCI, ciStatus } = this.mr; + + if (hasCI && !ciStatus) { + return failedClass; + } else if (!pipeline) { + return defaultClass; + } else if (isPipelineActive) { + return inActionClass; + } else if (isPipelineFailed) { + return failedClass; + } + + return defaultClass; + }, + mergeButtonText() { + if (this.isMergingImmediately) { + return 'Merge in progress'; + } else if (this.mr.isPipelineActive) { + return 'Merge when pipeline succeeds'; + } + + return 'Merge'; + }, + shouldShowMergeOptionsDropdown() { + return this.mr.isPipelineActive && !this.mr.onlyAllowMergeIfPipelineSucceeds; + }, + isMergeButtonDisabled() { + const { commitMessage } = this; + return Boolean(!commitMessage.length + || !this.isMergeAllowed() + || this.isMakingRequest + || this.mr.preventMerge); + }, + shouldShowSquashBeforeMerge() { + const { commitsCount, enableSquashBeforeMerge } = this.mr; + return enableSquashBeforeMerge && commitsCount > 1; + }, + }, + methods: { + isMergeAllowed() { + return !(this.mr.onlyAllowMergeIfPipelineSucceeds && this.mr.isPipelineFailed); + }, + updateCommitMessage() { + const cmwd = this.mr.commitMessageWithDescription; + this.useCommitMessageWithDescription = !this.useCommitMessageWithDescription; + this.commitMessage = this.useCommitMessageWithDescription ? cmwd : this.mr.commitMessage; + }, + toggleCommitMessageEditor() { + this.showCommitMessageEditor = !this.showCommitMessageEditor; + }, + handleMergeButtonClick(mergeWhenBuildSucceeds, mergeImmediately) { + // TODO: Remove no-param-reassign + if (mergeWhenBuildSucceeds === undefined) { + mergeWhenBuildSucceeds = this.mr.isPipelineActive; // eslint-disable-line no-param-reassign + } else if (mergeImmediately) { + this.isMergingImmediately = true; + } + + this.setToMergeWhenPipelineSucceeds = mergeWhenBuildSucceeds === true; + + const options = { + sha: this.mr.sha, + commit_message: this.commitMessage, + merge_when_pipeline_succeeds: this.setToMergeWhenPipelineSucceeds, + should_remove_source_branch: this.removeSourceBranch === true, + }; + + // Only truthy in EE extension of this component + if (this.setAdditionalParams) { + this.setAdditionalParams(options); + } + + this.isMakingRequest = true; + this.service.merge(options) + .then(res => res.json()) + .then((res) => { + const hasError = res.status === 'failed' || res.status === 'hook_validation_error'; + + if (res.status === 'merge_when_pipeline_succeeds') { + eventHub.$emit('MRWidgetUpdateRequested'); + } else if (res.status === 'success') { + this.initiateMergePolling(); + } else if (hasError) { + eventHub.$emit('FailedToMerge', res.merge_error); + } + }) + .catch(() => { + this.isMakingRequest = false; + new Flash('Something went wrong. Please try again.'); // eslint-disable-line + }); + }, + initiateMergePolling() { + simplePoll((continuePolling, stopPolling) => { + this.handleMergePolling(continuePolling, stopPolling); + }); + }, + handleMergePolling(continuePolling, stopPolling) { + this.service.poll() + .then(res => res.json()) + .then((res) => { + if (res.state === 'merged') { + // If state is merged we should update the widget and stop the polling + eventHub.$emit('MRWidgetUpdateRequested'); + eventHub.$emit('FetchActionsContent'); + if (window.mergeRequest) { + window.mergeRequest.updateStatusText('status-box-open', 'status-box-merged', 'Merged'); + window.mergeRequest.decreaseCounter(); + } + stopPolling(); + + // If user checked remove source branch and we didn't remove the branch yet + // we should start another polling for source branch remove process + if (this.removeSourceBranch && res.source_branch_exists) { + this.initiateRemoveSourceBranchPolling(); + } + } else if (res.merge_error) { + eventHub.$emit('FailedToMerge', res.merge_error); + stopPolling(); + } else { + // MR is not merged yet, continue polling until the state becomes 'merged' + continuePolling(); + } + }) + .catch(() => { + new Flash('Something went wrong while merging this merge request. Please try again.'); // eslint-disable-line + }); + }, + initiateRemoveSourceBranchPolling() { + // We need to show source branch is being removed spinner in another component + eventHub.$emit('SetBranchRemoveFlag', [true]); + + simplePoll((continuePolling, stopPolling) => { + this.handleRemoveBranchPolling(continuePolling, stopPolling); + }); + }, + handleRemoveBranchPolling(continuePolling, stopPolling) { + this.service.poll() + .then(res => res.json()) + .then((res) => { + // If source branch exists then we should continue polling + // because removing a source branch is a background task and takes time + if (res.source_branch_exists) { + continuePolling(); + } else { + // Branch is removed. Update widget, stop polling and hide the spinner + eventHub.$emit('MRWidgetUpdateRequested', () => { + eventHub.$emit('SetBranchRemoveFlag', [false]); + }); + stopPolling(); + } + }) + .catch(() => { + new Flash('Something went wrong while removing the source branch. Please try again.'); // eslint-disable-line + }); + }, + }, + template: ` + <div class="mr-widget-body"> + <span class="btn-group"> + <button + @click="handleMergeButtonClick()" + :disabled="isMergeButtonDisabled" + :class="mergeButtonClass" + type="button"> + <i + v-if="isMakingRequest" + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + {{mergeButtonText}} + </button> + <button + v-if="shouldShowMergeOptionsDropdown" + :disabled="isMergeButtonDisabled" + type="button" + class="btn btn-info dropdown-toggle" + data-toggle="dropdown"> + <i + class="fa fa-caret-down" + aria-hidden="true" /> + <span class="sr-only"> + Select merge moment + </span> + </button> + <ul + v-if="shouldShowMergeOptionsDropdown" + class="dropdown-menu dropdown-menu-right" + role="menu"> + <li> + <a + @click.prevent="handleMergeButtonClick(true)" + class="merge_when_pipeline_succeeds" + href="#"> + <span + v-html="successSvg" + class="merge-opt-icon" + aria-hidden="true"></span> + <span class="merge-opt-title">Merge when pipeline succeeds</span> + </a> + </li> + <li> + <a + @click.prevent="handleMergeButtonClick(false, true)" + class="accept-merge-request" + href="#"> + <span + v-html="warningSvg" + class="merge-opt-icon" + aria-hidden="true"></span> + <span class="merge-opt-title">Merge immediately</span> + </a> + </li> + </ul> + </span> + <template v-if="isMergeAllowed()"> + <label class="spacing"> + <input + v-model="removeSourceBranch" + :disabled="isMergeButtonDisabled" + type="checkbox"/> Remove source branch + </label> + + <!-- Placeholder for EE extension of this component --> + <squash-before-merge + v-if="shouldShowSquashBeforeMerge" + :mr="mr" + :is-merge-button-disabled="isMergeButtonDisabled" /> + + <button + @click="toggleCommitMessageEditor" + :disabled="isMergeButtonDisabled" + class="btn btn-default btn-xs" + type="button"> + Modify commit message + </button> + <div + v-if="showCommitMessageEditor" + class="prepend-top-default commit-message-editor"> + <div class="form-group clearfix"> + <label + class="control-label" + for="commit-message"> + Commit message + </label> + <div class="col-sm-10"> + <div class="commit-message-container"> + <div class="max-width-marker"></div> + <textarea + v-model="commitMessage" + class="form-control js-commit-message" + required="required" + rows="14" + name="Commit message"></textarea> + </div> + <p class="hint">Try to keep the first line under 52 characters and the others under 72.</p> + <div class="hint"> + <a + @click.prevent="updateCommitMessage" + href="#">{{commitMessageLinkTitle}}</a> + </div> + </div> + </div> + </div> + </template> + <template v-else> + <span class="bold"> + The pipeline for this merge request failed. Please retry the job or push a new commit to fix the failure. + </span> + </template> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_squash_before_merge.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_squash_before_merge.js new file mode 100644 index 00000000000..bf8628d18a6 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_squash_before_merge.js @@ -0,0 +1,15 @@ +/* +The squash-before-merge button is EE only, but it's located right in the middle +of the readyToMerge state component template. + +If we didn't declare this component in CE, we'd need to maintain a separate copy +of the readyToMergeState template in EE, which is pretty big and likely to change. + +Instead, in CE, we declare the component, but it's hidden and is configured to do nothing. +In EE, the configuration extends this object to add a functioning squash-before-merge +button. +*/ + +export default { + template: '', +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_unresolved_discussions.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_unresolved_discussions.js new file mode 100644 index 00000000000..f4ab2d9fa58 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_unresolved_discussions.js @@ -0,0 +1,27 @@ +export default { + name: 'MRWidgetUnresolvedDiscussions', + props: { + mr: { type: Object, required: true }, + }, + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + There are unresolved discussions. Please resolve these discussions + <span v-if="mr.canCreateIssue">or</span> + <span v-else>.</span> + </span> + <a + v-if="mr.createIssueToResolveDiscussionsPath" + :href="mr.createIssueToResolveDiscussionsPath" + class="btn btn-default btn-xs js-create-issue"> + Create an issue to resolve them later + </a> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_wip.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_wip.js new file mode 100644 index 00000000000..cb02ffe93bd --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_wip.js @@ -0,0 +1,59 @@ +/* global Flash */ +import eventHub from '../../event_hub'; + +export default { + name: 'MRWidgetWIP', + props: { + mr: { type: Object, required: true }, + service: { type: Object, required: true }, + }, + data() { + return { + isMakingRequest: false, + }; + }, + methods: { + removeWIP() { + this.isMakingRequest = true; + this.service.removeWIP() + .then(res => res.json()) + .then((res) => { + eventHub.$emit('UpdateWidgetData', res); + new Flash('The merge request can now be merged.', 'notice'); // eslint-disable-line + $('.merge-request .detail-page-description .title').text(this.mr.title); + }) + .catch(() => { + this.isMakingRequest = false; + new Flash('Something went wrong. Please try again.'); // eslint-disable-line + }); + }, + }, + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge</button> + <span class="bold"> + This merge request is currently Work In Progress and therefore unable to merge + </span> + <template v-if="mr.removeWIPPath"> + <i + class="fa fa-question-circle has-tooltip" + title="When this merge request is ready, remove the WIP: prefix from the title to allow it to be merged." /> + <button + @click="removeWIP" + :disabled="isMakingRequest" + type="button" + class="btn btn-default btn-xs js-remove-wip"> + <i + v-if="isMakingRequest" + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + Resolve WIP status + </button> + </template> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/dependencies.js b/app/assets/javascripts/vue_merge_request_widget/dependencies.js new file mode 100644 index 00000000000..b2eb32ead5f --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/dependencies.js @@ -0,0 +1,42 @@ +/** + * This file is the centerpiece of an attempt to reduce potential conflicts + * between the CE and EE versions of the MR widget. EE additions to the MR widget should + * be contained in the ./vue_merge_request_widget/ee directory, and should **extend** + * rather than mutate CE MR Widget code. + * + * This file should be the only source of conflicts between EE and CE. EE-only components should + * imported directly where they are needed, and import paths for EE extensions of CE components + * should overwrite import paths **without** changing the order of dependencies listed here. + */ + +export { default as Vue } from 'vue'; +export { default as SmartInterval } from '~/smart_interval'; +export { default as WidgetHeader } from './components/mr_widget_header'; +export { default as WidgetMergeHelp } from './components/mr_widget_merge_help'; +export { default as WidgetPipeline } from './components/mr_widget_pipeline'; +export { default as WidgetDeployment } from './components/mr_widget_deployment'; +export { default as WidgetRelatedLinks } from './components/mr_widget_related_links'; +export { default as MergedState } from './components/states/mr_widget_merged'; +export { default as FailedToMerge } from './components/states/mr_widget_failed_to_merge'; +export { default as ClosedState } from './components/states/mr_widget_closed'; +export { default as LockedState } from './components/states/mr_widget_locked'; +export { default as WipState } from './components/states/mr_widget_wip'; +export { default as ArchivedState } from './components/states/mr_widget_archived'; +export { default as ConflictsState } from './components/states/mr_widget_conflicts'; +export { default as NothingToMergeState } from './components/states/mr_widget_nothing_to_merge'; +export { default as MissingBranchState } from './components/states/mr_widget_missing_branch'; +export { default as NotAllowedState } from './components/states/mr_widget_not_allowed'; +export { default as ReadyToMergeState } from './components/states/mr_widget_ready_to_merge'; +export { default as UnresolvedDiscussionsState } from './components/states/mr_widget_unresolved_discussions'; +export { default as PipelineBlockedState } from './components/states/mr_widget_pipeline_blocked'; +export { default as PipelineFailedState } from './components/states/mr_widget_pipeline_failed'; +export { default as MergeWhenPipelineSucceedsState } from './components/states/mr_widget_merge_when_pipeline_succeeds'; +export { default as AutoMergeFailed } from './components/states/mr_widget_auto_merge_failed'; +export { default as CheckingState } from './components/states/mr_widget_checking'; +export { default as MRWidgetStore } from './stores/mr_widget_store'; +export { default as MRWidgetService } from './services/mr_widget_service'; +export { default as eventHub } from './event_hub'; +export { default as getStateKey } from './stores/get_state_key'; +export { default as mrWidgetOptions } from './mr_widget_options'; +export { default as stateMaps } from './stores/state_maps'; +export { default as SquashBeforeMerge } from './components/states/mr_widget_squash_before_merge'; diff --git a/app/assets/javascripts/vue_merge_request_widget/event_hub.js b/app/assets/javascripts/vue_merge_request_widget/event_hub.js new file mode 100644 index 00000000000..0948c2e5352 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/event_hub.js @@ -0,0 +1,3 @@ +import Vue from 'vue'; + +export default new Vue(); diff --git a/app/assets/javascripts/vue_merge_request_widget/index.js b/app/assets/javascripts/vue_merge_request_widget/index.js new file mode 100644 index 00000000000..cd65ac069c5 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/index.js @@ -0,0 +1,12 @@ +import { + Vue, + mrWidgetOptions, +} from './dependencies'; + +document.addEventListener('DOMContentLoaded', () => { + const vm = new Vue(mrWidgetOptions); + + window.gl.mrWidget = { + checkStatus: vm.checkStatus, + }; +}); diff --git a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js new file mode 100644 index 00000000000..7c6c2d21714 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js @@ -0,0 +1,234 @@ +/* global Flash */ + +import { + WidgetHeader, + WidgetMergeHelp, + WidgetPipeline, + WidgetDeployment, + WidgetRelatedLinks, + MergedState, + ClosedState, + LockedState, + WipState, + ArchivedState, + ConflictsState, + NothingToMergeState, + MissingBranchState, + NotAllowedState, + ReadyToMergeState, + UnresolvedDiscussionsState, + PipelineBlockedState, + PipelineFailedState, + FailedToMerge, + MergeWhenPipelineSucceedsState, + AutoMergeFailed, + CheckingState, + MRWidgetStore, + MRWidgetService, + eventHub, + stateMaps, + SquashBeforeMerge, +} from './dependencies'; + +export default { + el: '#js-vue-mr-widget', + name: 'MRWidget', + data() { + const store = new MRWidgetStore(gl.mrWidgetData); + const service = this.createService(store); + return { + mr: store, + service, + }; + }, + computed: { + componentName() { + return stateMaps.stateToComponentMap[this.mr.state]; + }, + shouldRenderMergeHelp() { + return stateMaps.statesToShowHelpWidget.indexOf(this.mr.state) > -1; + }, + shouldRenderPipelines() { + return Object.keys(this.mr.pipeline).length || this.mr.hasCI; + }, + shouldRenderRelatedLinks() { + return this.mr.relatedLinks; + }, + shouldRenderDeployments() { + return this.mr.deployments.length; + }, + }, + methods: { + createService(store) { + const endpoints = { + mergePath: store.mergePath, + mergeCheckPath: store.mergeCheckPath, + cancelAutoMergePath: store.cancelAutoMergePath, + removeWIPPath: store.removeWIPPath, + sourceBranchPath: store.sourceBranchPath, + ciEnvironmentsStatusPath: store.ciEnvironmentsStatusPath, + statusPath: store.statusPath, + mergeActionsContentPath: store.mergeActionsContentPath, + }; + return new MRWidgetService(endpoints); + }, + checkStatus(cb) { + this.service.checkStatus() + .then(res => res.json()) + .then((res) => { + this.mr.setData(res); + this.setFavicon(); + if (cb) { + cb.call(null, res); + } + }) + .catch(() => { + new Flash('Something went wrong. Please try again.'); // eslint-disable-line + }); + }, + initPolling() { + this.pollingInterval = new gl.SmartInterval({ + callback: this.checkStatus, + startingInterval: 10000, + maxInterval: 30000, + hiddenInterval: 120000, + incrementByFactorOf: 5000, + }); + }, + initDeploymentsPolling() { + this.deploymentsInterval = new gl.SmartInterval({ + callback: this.fetchDeployments, + startingInterval: 30000, + maxInterval: 120000, + hiddenInterval: 240000, + incrementByFactorOf: 15000, + immediateExecution: true, + }); + }, + setFavicon() { + if (this.mr.ciStatusFaviconPath) { + gl.utils.setFavicon(this.mr.ciStatusFaviconPath); + } + }, + fetchDeployments() { + this.service.fetchDeployments() + .then(res => res.json()) + .then((res) => { + if (res.length) { + this.mr.deployments = res; + } + }) + .catch(() => { + new Flash('Something went wrong while fetching the environments for this merge request. Please try again.'); // eslint-disable-line + }); + }, + fetchActionsContent() { + this.service.fetchMergeActionsContent() + .then((res) => { + if (res.body) { + const el = document.createElement('div'); + el.innerHTML = res.body; + document.body.appendChild(el); + } + }) + .catch(() => { + new Flash('Something went wrong. Please try again.'); // eslint-disable-line + }); + }, + resumePolling() { + this.pollingInterval.resume(); + }, + stopPolling() { + this.pollingInterval.stopTimer(); + }, + bindEventHubListeners() { + eventHub.$on('MRWidgetUpdateRequested', (cb) => { + this.checkStatus(cb); + }); + + // `params` should be an Array contains a Boolean, like `[true]` + // Passing parameter as Boolean didn't work. + eventHub.$on('SetBranchRemoveFlag', (params) => { + this.mr.isRemovingSourceBranch = params[0]; + }); + + eventHub.$on('FailedToMerge', (mergeError) => { + this.mr.state = 'failedToMerge'; + this.mr.mergeError = mergeError; + }); + + eventHub.$on('UpdateWidgetData', (data) => { + this.mr.setData(data); + }); + + eventHub.$on('FetchActionsContent', () => { + this.fetchActionsContent(); + }); + + eventHub.$on('EnablePolling', () => { + this.resumePolling(); + }); + + eventHub.$on('DisablePolling', () => { + this.stopPolling(); + }); + }, + handleMounted() { + this.checkStatus(); + this.setFavicon(); + this.initDeploymentsPolling(); + }, + }, + created() { + this.initPolling(); + this.bindEventHubListeners(); + }, + mounted() { + this.handleMounted(); + }, + components: { + 'mr-widget-header': WidgetHeader, + 'mr-widget-merge-help': WidgetMergeHelp, + 'mr-widget-pipeline': WidgetPipeline, + 'mr-widget-deployment': WidgetDeployment, + 'mr-widget-related-links': WidgetRelatedLinks, + 'mr-widget-merged': MergedState, + 'mr-widget-closed': ClosedState, + 'mr-widget-locked': LockedState, + 'mr-widget-failed-to-merge': FailedToMerge, + 'mr-widget-wip': WipState, + 'mr-widget-archived': ArchivedState, + 'mr-widget-conflicts': ConflictsState, + 'mr-widget-nothing-to-merge': NothingToMergeState, + 'mr-widget-not-allowed': NotAllowedState, + 'mr-widget-missing-branch': MissingBranchState, + 'mr-widget-ready-to-merge': ReadyToMergeState, + 'mr-widget-squash-before-merge': SquashBeforeMerge, + 'mr-widget-checking': CheckingState, + 'mr-widget-unresolved-discussions': UnresolvedDiscussionsState, + 'mr-widget-pipeline-blocked': PipelineBlockedState, + 'mr-widget-pipeline-failed': PipelineFailedState, + 'mr-widget-merge-when-pipeline-succeeds': MergeWhenPipelineSucceedsState, + 'mr-widget-auto-merge-failed': AutoMergeFailed, + }, + template: ` + <div class="mr-state-widget prepend-top-default"> + <mr-widget-header :mr="mr" /> + <mr-widget-pipeline + v-if="shouldRenderPipelines" + :mr="mr" /> + <mr-widget-deployment + v-if="shouldRenderDeployments" + :mr="mr" + :service="service" /> + <component + :is="componentName" + :mr="mr" + :service="service" /> + <mr-widget-related-links + v-if="shouldRenderRelatedLinks" + :related-links="mr.relatedLinks" /> + <mr-widget-merge-help v-if="shouldRenderMergeHelp" /> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js b/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js new file mode 100644 index 00000000000..42493be3372 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js @@ -0,0 +1,57 @@ +import Vue from 'vue'; +import VueResource from 'vue-resource'; + +Vue.use(VueResource); + +export default class MRWidgetService { + constructor(endpoints) { + this.mergeResource = Vue.resource(endpoints.mergePath); + this.mergeCheckResource = Vue.resource(endpoints.mergeCheckPath); + this.cancelAutoMergeResource = Vue.resource(endpoints.cancelAutoMergePath); + this.removeWIPResource = Vue.resource(endpoints.removeWIPPath); + this.removeSourceBranchResource = Vue.resource(endpoints.sourceBranchPath); + this.deploymentsResource = Vue.resource(endpoints.ciEnvironmentsStatusPath); + this.pollResource = Vue.resource(`${endpoints.statusPath}?basic=true`); + this.mergeActionsContentResource = Vue.resource(endpoints.mergeActionsContentPath); + } + + merge(data) { + return this.mergeResource.save(data); + } + + cancelAutomaticMerge() { + return this.cancelAutoMergeResource.save(); + } + + removeWIP() { + return this.removeWIPResource.save(); + } + + removeSourceBranch() { + return this.removeSourceBranchResource.delete(); + } + + fetchDeployments() { + return this.deploymentsResource.get(); + } + + poll() { + return this.pollResource.get(); + } + + checkStatus() { + return this.mergeCheckResource.get(); + } + + fetchMergeActionsContent() { + return this.mergeActionsContentResource.get(); + } + + static stopEnvironment(url) { + return Vue.http.post(url); + } + + static fetchMetrics(metricsUrl) { + return Vue.http.get(`${metricsUrl}.json`); + } +} diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js new file mode 100644 index 00000000000..fee4113f3c8 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js @@ -0,0 +1,28 @@ +export default function deviseState(data) { + if (data.project_archived) { + return 'archived'; + } else if (data.branch_missing) { + return 'missingBranch'; + } else if (!data.commits_count) { + return 'nothingToMerge'; + } else if (this.mergeStatus === 'unchecked') { + return 'checking'; + } else if (data.has_conflicts) { + return 'conflicts'; + } else if (data.work_in_progress) { + return 'workInProgress'; + } else if (this.mergeWhenPipelineSucceeds) { + return this.mergeError ? 'autoMergeFailed' : 'mergeWhenPipelineSucceeds'; + } else if (!this.canMerge) { + return 'notAllowedToMerge'; + } else if (this.onlyAllowMergeIfPipelineSucceeds && this.isPipelineFailed) { + return 'pipelineFailed'; + } else if (this.hasMergeableDiscussionsState) { + return 'unresolvedDiscussions'; + } else if (this.isPipelineBlocked) { + return 'pipelineBlocked'; + } else if (this.canBeMerged) { + return 'readyToMerge'; + } + return null; +} diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js new file mode 100644 index 00000000000..faafeae5c5b --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js @@ -0,0 +1,134 @@ +import Timeago from 'timeago.js'; +import { getStateKey } from '../dependencies'; + +export default class MergeRequestStore { + + constructor(data) { + this.setData(data); + } + + setData(data) { + const currentUser = data.current_user; + const pipelineStatus = data.pipeline ? data.pipeline.details.status : null; + + this.title = data.title; + this.targetBranch = data.target_branch; + this.sourceBranch = data.source_branch; + this.mergeStatus = data.merge_status; + this.sha = data.diff_head_sha; + this.commitMessage = data.merge_commit_message; + this.commitMessageWithDescription = data.merge_commit_message_with_description; + this.commitsCount = data.commits_count; + this.divergedCommitsCount = data.diverged_commits_count; + this.pipeline = data.pipeline || {}; + this.deployments = this.deployments || data.deployments || []; + + if (data.issues_links) { + const links = data.issues_links; + const { closing } = links; + const mentioned = links.mentioned_but_not_closing; + const assignToMe = links.assign_to_closing; + + if (closing || mentioned || assignToMe) { + this.relatedLinks = { closing, mentioned, assignToMe }; + } + } + + this.updatedAt = data.updated_at; + this.mergedAt = MergeRequestStore.getEventDate(data.merge_event); + this.closedAt = MergeRequestStore.getEventDate(data.closed_event); + this.mergedBy = MergeRequestStore.getAuthorObject(data.merge_event); + this.closedBy = MergeRequestStore.getAuthorObject(data.closed_event); + this.setToMWPSBy = MergeRequestStore.getAuthorObject({ author: data.merge_user || {} }); + this.mergeUserId = data.merge_user_id; + this.currentUserId = gon.current_user_id; + this.sourceBranchPath = data.source_branch_path; + this.sourceBranchLink = data.source_branch_with_namespace_link; + this.mergeError = data.merge_error; + this.targetBranchPath = data.target_branch_commits_path; + this.conflictResolutionPath = data.conflict_resolution_path; + this.cancelAutoMergePath = data.cancel_merge_when_pipeline_succeeds_path; + this.removeWIPPath = data.remove_wip_path; + this.sourceBranchRemoved = !data.source_branch_exists; + this.shouldRemoveSourceBranch = (data.merge_params || {}).should_remove_source_branch || false; + this.onlyAllowMergeIfPipelineSucceeds = data.only_allow_merge_if_pipeline_succeeds || false; + this.mergeWhenPipelineSucceeds = data.merge_when_pipeline_succeeds || false; + this.mergePath = data.merge_path; + this.statusPath = data.status_path; + this.emailPatchesPath = data.email_patches_path; + this.plainDiffPath = data.plain_diff_path; + this.createIssueToResolveDiscussionsPath = data.create_issue_to_resolve_discussions_path; + this.mergeCheckPath = data.merge_check_path; + this.mergeActionsContentPath = data.commit_change_content_path; + this.isRemovingSourceBranch = this.isRemovingSourceBranch || false; + this.isOpen = data.state === 'opened' || data.state === 'reopened' || false; + this.hasMergeableDiscussionsState = data.mergeable_discussions_state === false; + this.canRemoveSourceBranch = currentUser.can_remove_source_branch || false; + this.canMerge = !!data.merge_path; + this.canCreateIssue = currentUser.can_create_issue || false; + this.canCancelAutomaticMerge = !!data.cancel_merge_when_pipeline_succeeds_path; + this.canBeMerged = data.can_be_merged || false; + + // Cherry-pick and Revert actions related + this.canCherryPickInCurrentMR = currentUser.can_cherry_pick_on_current_merge_request || false; + this.canRevertInCurrentMR = currentUser.can_revert_on_current_merge_request || false; + this.cherryPickInForkPath = currentUser.cherry_pick_in_fork_path; + this.revertInForkPath = currentUser.revert_in_fork_path; + + // CI related + this.ciEnvironmentsStatusPath = data.ci_environments_status_path; + this.hasCI = data.has_ci; + this.ciStatus = data.ci_status; + this.isPipelineFailed = this.ciStatus ? (this.ciStatus === 'failed' || this.ciStatus === 'canceled') : false; + this.pipelineDetailedStatus = pipelineStatus; + this.isPipelineActive = data.pipeline ? data.pipeline.active : false; + this.isPipelineBlocked = pipelineStatus ? pipelineStatus.group === 'manual' : false; + this.ciStatusFaviconPath = pipelineStatus ? pipelineStatus.favicon : null; + + this.setState(data); + } + + setState(data) { + if (this.isOpen) { + this.state = getStateKey.call(this, data); + } else { + switch (data.state) { + case 'merged': + this.state = 'merged'; + break; + case 'closed': + this.state = 'closed'; + break; + case 'locked': + this.state = 'locked'; + break; + default: + this.state = null; + } + } + } + + static getAuthorObject(event) { + if (!event) { + return {}; + } + + return { + name: event.author.name || '', + username: event.author.username || '', + webUrl: event.author.web_url || '', + avatarUrl: event.author.avatar_url || '', + }; + } + + static getEventDate(event) { + const timeagoInstance = new Timeago(); + + if (!event) { + return ''; + } + + return timeagoInstance.format(event.updated_at); + } + +} diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js b/app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js new file mode 100644 index 00000000000..625d7a01c65 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js @@ -0,0 +1,36 @@ +const stateToComponentMap = { + merged: 'mr-widget-merged', + closed: 'mr-widget-closed', + locked: 'mr-widget-locked', + conflicts: 'mr-widget-conflicts', + missingBranch: 'mr-widget-missing-branch', + workInProgress: 'mr-widget-wip', + readyToMerge: 'mr-widget-ready-to-merge', + nothingToMerge: 'mr-widget-nothing-to-merge', + notAllowedToMerge: 'mr-widget-not-allowed', + archived: 'mr-widget-archived', + checking: 'mr-widget-checking', + unresolvedDiscussions: 'mr-widget-unresolved-discussions', + pipelineBlocked: 'mr-widget-pipeline-blocked', + pipelineFailed: 'mr-widget-pipeline-failed', + mergeWhenPipelineSucceeds: 'mr-widget-merge-when-pipeline-succeeds', + failedToMerge: 'mr-widget-failed-to-merge', + autoMergeFailed: 'mr-widget-auto-merge-failed', +}; + +const statesToShowHelpWidget = [ + 'locked', + 'conflicts', + 'workInProgress', + 'readyToMerge', + 'checking', + 'unresolvedDiscussions', + 'pipelineFailed', + 'pipelineBlocked', + 'autoMergeFailed', +]; + +export default { + stateToComponentMap, + statesToShowHelpWidget, +}; diff --git a/app/assets/javascripts/vue_shared/components/memory_graph.js b/app/assets/javascripts/vue_shared/components/memory_graph.js new file mode 100644 index 00000000000..2a605b24339 --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/memory_graph.js @@ -0,0 +1,36 @@ +export default { + name: 'MemoryGraph', + props: { + metrics: { type: Array, required: true }, + width: { type: String, required: true }, + height: { type: String, required: true }, + }, + data() { + return { + pathD: '', + pathViewBox: '', + // dotX: '', + // dotY: '', + }; + }, + mounted() { + const renderData = this.$props.metrics.map(v => v[1]); + const maxMemory = Math.max.apply(null, renderData); + const minMemory = Math.min.apply(null, renderData); + const diff = maxMemory - minMemory; + // const cx = 0; + // const cy = 0; + const lineWidth = renderData.length; + const linePath = renderData.map((y, x) => `${x} ${maxMemory - y}`); + this.pathD = `M ${linePath}`; + this.pathViewBox = `0 0 ${lineWidth} ${diff}`; + }, + template: ` + <div class="memory-graph-container"> + <svg :width="width" :height="height" xmlns="http://www.w3.org/2000/svg"> + <path :d="pathD" :viewBox="pathViewBox" /> + <!--<circle r="0.8" :cx="dotX" :cy="dotY" tranform="translate(0 -1)" /> --> + </svg> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_shared/components/pipeline_status_icon.js b/app/assets/javascripts/vue_shared/components/pipeline_status_icon.js new file mode 100644 index 00000000000..ae246ada01b --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/pipeline_status_icon.js @@ -0,0 +1,23 @@ +import { statusClassToSvgMap } from '../pipeline_svg_icons'; + +export default { + name: 'PipelineStatusIcon', + props: { + pipelineStatus: { type: Object, required: true, default: () => ({}) }, + }, + computed: { + svg() { + return statusClassToSvgMap[this.pipelineStatus.icon]; + }, + statusClass() { + return `ci-status-icon ci-status-icon-${this.pipelineStatus.group}`; + }, + }, + template: ` + <div :class="statusClass"> + <a class="icon-link" :href="pipelineStatus.details_path"> + <span v-html="svg" aria-hidden="true"></span> + </a> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_shared/pipeline_svg_icons.js b/app/assets/javascripts/vue_shared/pipeline_svg_icons.js new file mode 100644 index 00000000000..5af30ae74f0 --- /dev/null +++ b/app/assets/javascripts/vue_shared/pipeline_svg_icons.js @@ -0,0 +1,43 @@ +import canceledSvg from 'icons/_icon_status_canceled.svg'; +import createdSvg from 'icons/_icon_status_created.svg'; +import failedSvg from 'icons/_icon_status_failed.svg'; +import manualSvg from 'icons/_icon_status_manual.svg'; +import pendingSvg from 'icons/_icon_status_pending.svg'; +import runningSvg from 'icons/_icon_status_running.svg'; +import skippedSvg from 'icons/_icon_status_skipped.svg'; +import successSvg from 'icons/_icon_status_success.svg'; +import warningSvg from 'icons/_icon_status_warning.svg'; + +import canceledBorderlessSvg from 'icons/_icon_status_canceled_borderless.svg'; +import createdBorderlessSvg from 'icons/_icon_status_created_borderless.svg'; +import failedBorderlessSvg from 'icons/_icon_status_failed_borderless.svg'; +import manualBorderlessSvg from 'icons/_icon_status_manual_borderless.svg'; +import pendingBorderlessSvg from 'icons/_icon_status_pending_borderless.svg'; +import runningBorderlessSvg from 'icons/_icon_status_running_borderless.svg'; +import skippedBorderlessSvg from 'icons/_icon_status_skipped_borderless.svg'; +import successBorderlessSvg from 'icons/_icon_status_success_borderless.svg'; +import warningBorderlessSvg from 'icons/_icon_status_warning_borderless.svg'; + +export const statusClassToSvgMap = { + icon_status_canceled: canceledSvg, + icon_status_created: createdSvg, + icon_status_failed: failedSvg, + icon_status_manual: manualSvg, + icon_status_pending: pendingSvg, + icon_status_running: runningSvg, + icon_status_skipped: skippedSvg, + icon_status_success: successSvg, + icon_status_warning: warningSvg, +}; + +export const statusClassToBorderlessSvgMap = { + icon_status_canceled: canceledBorderlessSvg, + icon_status_created: createdBorderlessSvg, + icon_status_failed: failedBorderlessSvg, + icon_status_manual: manualBorderlessSvg, + icon_status_pending: pendingBorderlessSvg, + icon_status_running: runningBorderlessSvg, + icon_status_skipped: skippedBorderlessSvg, + icon_status_success: successBorderlessSvg, + icon_status_warning: warningBorderlessSvg, +}; diff --git a/app/assets/stylesheets/framework.scss b/app/assets/stylesheets/framework.scss index 5bb7e8caec1..d2ec1791d2b 100644 --- a/app/assets/stylesheets/framework.scss +++ b/app/assets/stylesheets/framework.scss @@ -47,3 +47,4 @@ @import "framework/emoji-sprites.scss"; @import "framework/icons.scss"; @import "framework/snippets.scss"; +@import "framework/memory_graph.scss"; diff --git a/app/assets/stylesheets/framework/common.scss b/app/assets/stylesheets/framework/common.scss index 1a6f36d032d..57387b913dc 100644 --- a/app/assets/stylesheets/framework/common.scss +++ b/app/assets/stylesheets/framework/common.scss @@ -92,7 +92,8 @@ hr { .item-title { font-weight: 600; } /** FLASH message **/ -.author_link { +.author_link, +.author-link { color: $gl-link-color; } diff --git a/app/assets/stylesheets/framework/icons.scss b/app/assets/stylesheets/framework/icons.scss index 87667f39ab8..1b7d4e42258 100644 --- a/app/assets/stylesheets/framework/icons.scss +++ b/app/assets/stylesheets/framework/icons.scss @@ -1,4 +1,5 @@ -.ci-status-icon-success { +.ci-status-icon-success, +.ci-status-icon-passed { color: $green-500; svg { diff --git a/app/assets/stylesheets/framework/memory_graph.scss b/app/assets/stylesheets/framework/memory_graph.scss new file mode 100644 index 00000000000..8473f2ef094 --- /dev/null +++ b/app/assets/stylesheets/framework/memory_graph.scss @@ -0,0 +1,16 @@ +.memory-graph-container { + svg { + background: $white-light; + } + + path { + fill: none; + stroke: $blue-500; + stroke-width: 1px; + } + + circle { + stroke: $blue-700; + fill: $blue-700; + } +} diff --git a/app/assets/stylesheets/framework/variables.scss b/app/assets/stylesheets/framework/variables.scss index 08bcb582613..4cfa5d718e9 100644 --- a/app/assets/stylesheets/framework/variables.scss +++ b/app/assets/stylesheets/framework/variables.scss @@ -111,6 +111,7 @@ $gl-link-hover-color: $blue-800; $gl-grayish-blue: #7f8fa4; $gl-gray: $gl-text-color; $gl-gray-dark: #313236; +$gl-gray-light: #5c5c5c; $gl-header-color: #4c4e54; $gl-header-nav-hover-color: #434343; $placeholder-text-color: rgba(0, 0, 0, .42); diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 72660113e3c..f4488ccd8fe 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -37,12 +37,6 @@ @include btn-red; } } - - .dropdown-toggle { - .fa { - color: inherit; - } - } } .accept-control { @@ -88,13 +82,13 @@ } } - .ci_widget { - border-bottom: 1px solid $well-inner-border; + .ci-widget { color: $gl-text-color; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; + padding: $gl-padding-top $gl-padding 0; i, svg { @@ -115,16 +109,15 @@ flex-wrap: wrap; } - .ci-status-icon > .icon-link > svg { + .ci-status-icon > .icon-link svg { width: 22px; height: 22px; } } .mr-widget-body, - .ci_widget, .mr-widget-footer { - padding: 16px; + margin: 16px; } .mr-widget-pipeline-graph { @@ -166,12 +159,41 @@ .normal { color: $gl-text-color; + font-size: 15px; + } + + .capitalize { + text-transform: capitalize; } .js-deployment-link { display: inline-block; } + .mr-widget-help { + margin: $gl-padding; + color: $ci-skipped-color; + } + + .mr-info-list { + + &.mr-links { + margin-left: 28px; + } + + &.mr-memory-usage { + margin-top: 10px; + margin-bottom: 10px; + } + } + + .mr-widget-heading, + .mr-widget-body { + .btn-default.btn-xs { + margin-left: 5px; + } + } + .mr-widget-body { h4 { font-weight: 600; @@ -182,6 +204,10 @@ &.has-conflicts .fa-exclamation-triangle { color: $gl-warning; } + + time { + font-weight: normal; + } } .btn-grouped { @@ -189,6 +215,80 @@ margin-right: 7px; } + label { + font-weight: normal; + } + + .spacing { + margin: 0 $gl-padding; + } + + .bold { + margin-left: 5px; + font-weight: bold; + color: $gl-gray-light; + } + + .state-label { + font-size: 16px; + font-weight: bold; + padding-right: 10px; + } + + .danger { + color: $gl-danger; + } + + .mr-widget-help { + margin: $gl-padding 0; + } + + .with-button { + position: relative; + top: 6px; + margin-bottom: 24px; + } + + .dropdown-menu { + li a { + padding: 5px; + } + + .merge-opt-icon, + .merge-opt-title { + display: inline-block; + float: left; + } + + .merge-opt-icon svg { + height: 15px; + width: 15px; + } + + .merge-opt-title { + margin-left: 8px; + } + } + + .dropdown-toggle { + .fa { + color: inherit; + } + } + + .has-error-message + .has-custom-error { + margin-left: 0; + } + + .has-custom-error { + display: inline-block; + margin-left: 70px; + } + + .merge-error-text { + margin-left: 70px; + } + @media (max-width: $screen-xs-max) { h4 { font-size: 14px; @@ -220,6 +320,17 @@ margin: 0; } } + + .commit-message-editor { + label { + padding: 0; + } + } + + &.mr-state-locked .mr-info-list { + margin-top: 10px; + margin-left: 12px; + } } .mr-widget-footer { @@ -263,6 +374,24 @@ font-size: 90%; margin: 0 3px; word-break: break-all; + + &.label-truncated { + position: relative; + display: inline-block; + width: 250px; + margin-bottom: -3px; + white-space: nowrap; + text-overflow: clip; + line-height: 14px; + + &::after { + position: absolute; + content: '...'; + right: 0; + font-family: $regular_font; + background-color: $gray-light; + } + } } .commits-empty { @@ -343,61 +472,74 @@ } } -.remove-message-pipes { - ul { - margin: 10px 0 0 12px; - padding: 0; - list-style: none; - border-left: 2px solid $border-color; - display: inline-block; - } +.mr-info-list { + position: relative; + margin: 10px 0 $gl-padding 12px; - li { + p { + margin: 6px 0; position: relative; - margin: 0; - padding: 0; - display: block; + padding-left: 15px; + + &::before { + content: ''; + position: absolute; + border-top: 2px solid $border-color; + height: 1px; + top: 8px; + width: 8px; + left: 0; + } + + &:last-child { + margin-bottom: 0; - span { - margin-left: 15px; - max-height: 20px; + &::before { + top: 14px; + } } } - li::before { - content: ''; + .legend { + height: 100%; + width: 2px; + background: $border-color; position: absolute; - border-top: 2px solid $border-color; - height: 1px; - top: 8px; - width: 8px; + top: -5px; + } +} + +.mr-info-list.mr-memory-usage { + .legend { + height: 75%; } - li:last-child { + p { + float: left; + padding-left: 20px; + &::before { - top: 18px; + top: 13px; } + } - span { - display: block; - position: relative; - top: 5px; - margin-top: 5px; - } + .memory-graph-container { + float: left; + margin-left: 5px; } } .mr-source-target { background-color: $gray-light; - line-height: 31px; - border-style: solid; - border-width: 1px; - border-color: $border-color; - border-top-right-radius: 3px; - border-top-left-radius: 3px; - border-bottom: none; - padding: 16px; - margin-bottom: -1px; + border-radius: 3px 3px 0 0; + border-bottom: 1px solid $border-color; + padding: 0 $gl-padding; + margin-bottom: 6px; + line-height: 44px; + + .dropdown-toggle .fa { + color: $gl-text-color; + } } .panel-new-merge-request { @@ -587,3 +729,20 @@ } } } + +.mr-memory-usage { + p.usage-info-loading { + margin-bottom: 6px; + + .usage-info-load-spinner { + margin-right: 10px; + font-size: 16px; + } + } + + @media (max-width: $screen-md-min) { + .mr-info-list.mr-memory-usage .legend { + height: 80%; + } + } +} diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 65a1f640a76..8ce9150e4a9 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -100,7 +100,10 @@ class ApplicationController < ActionController::Base end def access_denied! - render "errors/access_denied", layout: "errors", status: 404 + respond_to do |format| + format.json { head :not_found } + format.any { render "errors/access_denied", layout: "errors", status: 404 } + end end def git_not_found! diff --git a/app/controllers/projects/branches_controller.rb b/app/controllers/projects/branches_controller.rb index f0f031303d8..b6500e8560b 100644 --- a/app/controllers/projects/branches_controller.rb +++ b/app/controllers/projects/branches_controller.rb @@ -73,14 +73,16 @@ class Projects::BranchesController < Projects::ApplicationController def destroy @branch_name = Addressable::URI.unescape(params[:id]) - status = DeleteBranchService.new(project, current_user).execute(@branch_name) + result = DeleteBranchService.new(project, current_user).execute(@branch_name) respond_to do |format| format.html do redirect_to namespace_project_branches_path(@project.namespace, @project), status: 303 end - format.js { render nothing: true, status: status[:return_code] } - end + + format.js { render nothing: true, status: result[:return_code] } + format.json { render json: { message: result[:message] }, status: result[:return_code] } + end end def destroy_all_merged diff --git a/app/controllers/projects/builds_controller.rb b/app/controllers/projects/builds_controller.rb index 0fd35bcb790..dfaaea71b9c 100644 --- a/app/controllers/projects/builds_controller.rb +++ b/app/controllers/projects/builds_controller.rb @@ -91,7 +91,7 @@ class Projects::BuildsController < Projects::ApplicationController def status render json: BuildSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .represent_status(@build) end diff --git a/app/controllers/projects/commit_controller.rb b/app/controllers/projects/commit_controller.rb index 2b5f0383ac1..7c3cce1c241 100644 --- a/app/controllers/projects/commit_controller.rb +++ b/app/controllers/projects/commit_controller.rb @@ -39,7 +39,7 @@ class Projects::CommitController < Projects::ApplicationController Gitlab::PollingInterval.set_header(response, interval: 10_000) render json: PipelineSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .represent(@pipelines) end end diff --git a/app/controllers/projects/deployments_controller.rb b/app/controllers/projects/deployments_controller.rb index c319671456d..b33c0b00ad9 100644 --- a/app/controllers/projects/deployments_controller.rb +++ b/app/controllers/projects/deployments_controller.rb @@ -10,8 +10,22 @@ class Projects::DeploymentsController < Projects::ApplicationController .represent_concise(deployments) } end + def metrics + @metrics = deployment.metrics(1.hour) + + if @metrics&.any? + render json: @metrics, status: :ok + else + head :no_content + end + end + private + def deployment + @deployment ||= environment.deployments.find_by(iid: params[:id]) + end + def environment @environment ||= project.environments.find(params[:environment_id]) end diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb index fa37963dfd4..fd57afbd05f 100644 --- a/app/controllers/projects/environments_controller.rb +++ b/app/controllers/projects/environments_controller.rb @@ -17,7 +17,7 @@ class Projects::EnvironmentsController < Projects::ApplicationController format.json do render json: { environments: EnvironmentSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .with_pagination(request, response) .within_folders .represent(@environments), @@ -37,7 +37,7 @@ class Projects::EnvironmentsController < Projects::ApplicationController format.json do render json: { environments: EnvironmentSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .with_pagination(request, response) .represent(@environments), available_count: folder_environments.available.count, @@ -81,10 +81,16 @@ class Projects::EnvironmentsController < Projects::ApplicationController stop_action = @environment.stop_with_action!(current_user) - if stop_action - redirect_to polymorphic_path([project.namespace.becomes(Namespace), project, stop_action]) - else - redirect_to namespace_project_environment_path(project.namespace, project, @environment) + action_or_env_url = + if stop_action + polymorphic_url([project.namespace.becomes(Namespace), project, stop_action]) + else + namespace_project_environment_url(project.namespace, project, @environment) + end + + respond_to do |format| + format.html { redirect_to action_or_env_url } + format.json { render json: { redirect_url: action_or_env_url } } end end diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index a63b7ff0bed..44c7eb86855 100755 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -10,11 +10,10 @@ class Projects::MergeRequestsController < Projects::ApplicationController before_action :module_enabled before_action :merge_request, only: [ :edit, :update, :show, :diffs, :commits, :conflicts, :conflict_for_path, :pipelines, :merge, :merge_check, - :ci_status, :pipeline_status, :ci_environments_status, :toggle_subscription, :cancel_merge_when_pipeline_succeeds, :remove_wip, :resolve_conflicts, :assign_related_issues + :pipeline_status, :ci_environments_status, :toggle_subscription, :cancel_merge_when_pipeline_succeeds, :remove_wip, :resolve_conflicts, :assign_related_issues, :commit_change_content ] before_action :validates_merge_request, only: [:show, :diffs, :commits, :pipelines] before_action :define_show_vars, only: [:show, :diffs, :commits, :conflicts, :conflict_for_path, :builds, :pipelines] - before_action :define_widget_vars, only: [:merge, :cancel_merge_when_pipeline_succeeds, :merge_check] before_action :define_commit_vars, only: [:diffs] before_action :ensure_ref_fetched, only: [:show, :diffs, :commits, :builds, :conflicts, :conflict_for_path, :pipelines] before_action :close_merge_request_without_source_project, only: [:show, :diffs, :commits, :builds, :pipelines] @@ -74,10 +73,12 @@ class Projects::MergeRequestsController < Projects::ApplicationController def show respond_to do |format| - format.html { define_discussion_vars } + format.html do + define_discussion_vars + end format.json do - render json: MergeRequestSerializer.new.represent(@merge_request) + render json: serializer.represent(@merge_request, basic: params[:basic]) end format.patch do @@ -214,7 +215,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController Gitlab::PollingInterval.set_header(response, interval: 10_000) render json: PipelineSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .represent(@pipelines) end end @@ -230,7 +231,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController render json: { pipelines: PipelineSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .represent(@pipelines) } end @@ -299,17 +300,21 @@ class Projects::MergeRequestsController < Projects::ApplicationController end def remove_wip - MergeRequests::UpdateService.new(project, current_user, wip_event: 'unwip').execute(@merge_request) + @merge_request = MergeRequests::UpdateService + .new(project, current_user, wip_event: 'unwip') + .execute(@merge_request) - redirect_to namespace_project_merge_request_path(@project.namespace, @project, @merge_request), - notice: "The merge request can now be merged." + render json: serializer.represent(@merge_request) end def merge_check @merge_request.check_if_can_be_merged - @pipelines = @merge_request.all_pipelines - render partial: "projects/merge_requests/widget/show.html.haml", layout: false + render json: serializer.represent(@merge_request) + end + + def commit_change_content + render partial: 'projects/merge_requests/widget/commit_change_content', layout: false end def cancel_merge_when_pipeline_succeeds @@ -320,65 +325,22 @@ class Projects::MergeRequestsController < Projects::ApplicationController MergeRequests::MergeWhenPipelineSucceedsService .new(@project, current_user) .cancel(@merge_request) + + render json: serializer.represent(@merge_request) end def merge return access_denied! unless @merge_request.can_be_merged_by?(current_user) - # Disable the CI check if merge_when_pipeline_succeeds is enabled since we have - # to wait until CI completes to know - unless @merge_request.mergeable?(skip_ci_check: merge_when_pipeline_succeeds_active?) - @status = :failed - return - end - - if params[:sha] != @merge_request.diff_head_sha - @status = :sha_mismatch - return - end - - @merge_request.update(merge_error: nil) + status = merge! - if params[:merge_when_pipeline_succeeds].present? - unless @merge_request.head_pipeline - @status = :failed - return - end - - if @merge_request.head_pipeline.active? - MergeRequests::MergeWhenPipelineSucceedsService - .new(@project, current_user, merge_params) - .execute(@merge_request) - - @status = :merge_when_pipeline_succeeds - elsif @merge_request.head_pipeline.success? - # This can be triggered when a user clicks the auto merge button while - # the tests finish at about the same time - MergeWorker.perform_async(@merge_request.id, current_user.id, params) - @status = :success - else - @status = :failed - end + if @merge_request.merge_error + render json: { status: status, merge_error: @merge_request.merge_error } else - MergeWorker.perform_async(@merge_request.id, current_user.id, params) - @status = :success + render json: { status: status } end end - def merge_widget_refresh - @status = - if merge_request.merge_when_pipeline_succeeds - :merge_when_pipeline_succeeds - else - # Only MRs that can be merged end in this action - # MR can be already picked up for merge / merged already or can be waiting for worker to be picked up - # in last case it does not have any special status. Possible error is handled inside widget js function - :success - end - - render 'merge' - end - def branch_from # This is always source @source_project = @merge_request.nil? ? @project : @merge_request.source_project @@ -428,37 +390,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController end end - def ci_status - pipeline = @merge_request.head_pipeline - @pipelines = @merge_request.all_pipelines - - if pipeline - status = pipeline.status - coverage = pipeline.coverage - - status = "success_with_warnings" if pipeline.success? && pipeline.has_warnings? - - status ||= "preparing" - else - ci_service = @merge_request.source_project.try(:ci_service) - status = ci_service.commit_status(merge_request.diff_head_sha, merge_request.source_branch) if ci_service - end - - response = { - title: merge_request.title, - sha: (merge_request.diff_head_commit.short_id if merge_request.diff_head_sha), - status: status, - coverage: coverage, - pipeline: pipeline.try(:id), - has_ci: @merge_request.has_ci? - } - - render json: response - end - def pipeline_status render json: PipelineSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .represent_status(@merge_request.head_pipeline) end @@ -474,10 +408,19 @@ class Projects::MergeRequestsController < Projects::ApplicationController stop_namespace_project_environment_path(project.namespace, project, environment) end + metrics_url = + if can?(current_user, :read_environment, environment) && environment.has_metrics? + metrics_namespace_project_environment_path(environment.project.namespace, + environment.project, + environment, + deployment) + end + { id: environment.id, name: environment.name, url: namespace_project_environment_path(project.namespace, project, environment), + metrics_url: metrics_url, stop_url: stop_url, external_url: environment.external_url, external_url_formatted: environment.formatted_external_url, @@ -555,10 +498,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController @notes = prepare_notes_for_rendering(@discussions.flat_map(&:notes)) end - def define_widget_vars - @pipeline = @merge_request.head_pipeline - end - def define_commit_vars @commit = @merge_request.diff_head_commit @base_commit = @merge_request.diff_base_commit || @merge_request.likely_diff_base_commit @@ -694,4 +633,46 @@ class Projects::MergeRequestsController < Projects::ApplicationController @merge_request.close end end + + private + + def merge! + # Disable the CI check if merge_when_pipeline_succeeds is enabled since we have + # to wait until CI completes to know + unless @merge_request.mergeable?(skip_ci_check: merge_when_pipeline_succeeds_active?) + return :failed + end + + return :sha_mismatch if params[:sha] != @merge_request.diff_head_sha + + @merge_request.update(merge_error: nil) + + if params[:merge_when_pipeline_succeeds].present? + return :failed unless @merge_request.head_pipeline + + if @merge_request.head_pipeline.active? + MergeRequests::MergeWhenPipelineSucceedsService + .new(@project, current_user, merge_params) + .execute(@merge_request) + + :merge_when_pipeline_succeeds + elsif @merge_request.head_pipeline.success? + # This can be triggered when a user clicks the auto merge button while + # the tests finish at about the same time + MergeWorker.perform_async(@merge_request.id, current_user.id, params) + + :success + else + :failed + end + else + MergeWorker.perform_async(@merge_request.id, current_user.id, params) + + :success + end + end + + def serializer + MergeRequestSerializer.new(current_user: current_user, project: merge_request.project) + end end diff --git a/app/controllers/projects/pipelines_controller.rb b/app/controllers/projects/pipelines_controller.rb index 5cb2e428201..7fe3c3c116c 100644 --- a/app/controllers/projects/pipelines_controller.rb +++ b/app/controllers/projects/pipelines_controller.rb @@ -37,7 +37,7 @@ class Projects::PipelinesController < Projects::ApplicationController render json: { pipelines: PipelineSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .with_pagination(request, response) .represent(@pipelines), count: { @@ -74,7 +74,7 @@ class Projects::PipelinesController < Projects::ApplicationController Gitlab::PollingInterval.set_header(response, interval: POLLING_INTERVAL) render json: PipelineSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .represent(@pipeline, grouped: true) end end @@ -94,7 +94,7 @@ class Projects::PipelinesController < Projects::ApplicationController def status render json: PipelineSerializer - .new(project: @project, user: @current_user) + .new(project: @project, current_user: @current_user) .represent_status(@pipeline) end diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index 7656929efe7..fbbce6876c2 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -37,7 +37,10 @@ module IssuablesHelper when Issue IssueSerializer.new.represent(issuable).to_json when MergeRequest - MergeRequestSerializer.new.represent(issuable).to_json + MergeRequestSerializer + .new(current_user: current_user, project: issuable.project) + .represent(issuable) + .to_json end end diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb index 2614cdfe90e..23e55539f0a 100644 --- a/app/helpers/merge_requests_helper.rb +++ b/app/helpers/merge_requests_helper.rb @@ -19,14 +19,6 @@ module MergeRequestsHelper } end - def mr_widget_refresh_url(mr) - if mr && mr.target_project - merge_widget_refresh_namespace_project_merge_request_url(mr.target_project.namespace, mr.target_project, mr) - else - '' - end - end - def mr_css_classes(mr) classes = "merge-request" classes << " closed" if mr.closed? @@ -55,23 +47,6 @@ module MergeRequestsHelper end end - def issues_sentence(issues) - # Issuable sorter will sort local issues, then issues from the same - # namespace, then all other issues. - issues = Gitlab::IssuableSorter.sort(@project, issues).map do |issue| - issue.to_reference(@project) - end - issues.to_sentence - end - - def mr_closes_issues - @mr_closes_issues ||= @merge_request.closes_issues(current_user) - end - - def mr_issues_mentioned_but_not_closing - @mr_issues_mentioned_but_not_closing ||= @merge_request.issues_mentioned_but_not_closing(current_user) - end - def mr_change_branches_path(merge_request) new_namespace_project_merge_request_path( @project.namespace, @project, @@ -85,35 +60,6 @@ module MergeRequestsHelper ) end - def mr_assign_issues_link - issues = MergeRequests::AssignIssuesService.new(@project, - current_user, - merge_request: @merge_request, - closes_issues: mr_closes_issues - ).assignable_issues - path = assign_related_issues_namespace_project_merge_request_path(@project.namespace, @project, @merge_request) - if issues.present? - pluralize_this_issue = issues.count > 1 ? "these issues" : "this issue" - link_to "Assign yourself to #{pluralize_this_issue}", path, method: :post - end - end - - def source_branch_with_namespace(merge_request) - namespace = merge_request.source_project_namespace - branch = merge_request.source_branch - - if merge_request.source_branch_exists? - namespace = link_to(namespace, project_path(merge_request.source_project)) - branch = link_to(branch, namespace_project_commits_path(merge_request.source_project.namespace, merge_request.source_project, merge_request.source_branch)) - end - - if merge_request.for_fork? - namespace + ":" + branch - else - branch - end - end - def format_mr_branch_names(merge_request) source_path = merge_request.source_project_path target_path = merge_request.target_project_path diff --git a/app/models/deployment.rb b/app/models/deployment.rb index 37adfb4de73..f83d9e8edee 100644 --- a/app/models/deployment.rb +++ b/app/models/deployment.rb @@ -99,6 +99,21 @@ class Deployment < ActiveRecord::Base created_at.to_time.in_time_zone.to_s(:medium) end + def has_metrics? + project.monitoring_service.present? + end + + def metrics(timeframe) + return {} unless has_metrics? + + half_timeframe = timeframe / 2 + timeframe_start = created_at - half_timeframe + timeframe_end = created_at + half_timeframe + + metrics = project.monitoring_service.metrics(environment, timeframe_start: timeframe_start, timeframe_end: timeframe_end) + metrics&.merge(deployment_time: created_at.to_i) || {} + end + private def ref_path diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 35231bab12e..1b6904aa077 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -864,7 +864,7 @@ class MergeRequest < ActiveRecord::Base end def can_be_cherry_picked? - merge_commit + merge_commit.present? end def has_complete_diff_refs? @@ -908,6 +908,8 @@ class MergeRequest < ActiveRecord::Base end def conflicts_can_be_resolved_by?(user) + return false unless source_project + access = ::Gitlab::UserAccess.new(user, project: source_project) access.can_push_to_branch?(source_branch) end diff --git a/app/models/project_services/monitoring_service.rb b/app/models/project_services/monitoring_service.rb index ea585721e8f..59776552540 100644 --- a/app/models/project_services/monitoring_service.rb +++ b/app/models/project_services/monitoring_service.rb @@ -10,7 +10,7 @@ class MonitoringService < Service end # Environments have a number of metrics - def metrics(environment) + def metrics(environment, timeframe_start: nil, timeframe_end: nil) raise NotImplementedError end end diff --git a/app/models/project_services/prometheus_service.rb b/app/models/project_services/prometheus_service.rb index 6854d2243d7..6a4479c4dbc 100644 --- a/app/models/project_services/prometheus_service.rb +++ b/app/models/project_services/prometheus_service.rb @@ -1,7 +1,6 @@ class PrometheusService < MonitoringService - include ReactiveCaching + include ReactiveService - self.reactive_cache_key = ->(service) { [service.class.model_name.singular, service.project_id] } self.reactive_cache_lease_timeout = 30.seconds self.reactive_cache_refresh_interval = 30.seconds self.reactive_cache_lifetime = 1.minute @@ -64,16 +63,22 @@ class PrometheusService < MonitoringService { success: false, result: err } end - def metrics(environment) - with_reactive_cache(environment.slug) do |data| + def metrics(environment, timeframe_start: nil, timeframe_end: nil) + with_reactive_cache(environment.slug, timeframe_start, timeframe_end) do |data| data end end # Cache metrics for specific environment - def calculate_reactive_cache(environment_slug) + def calculate_reactive_cache(environment_slug, timeframe_start, timeframe_end) return unless active? && project && !project.pending_delete? + timeframe_start = Time.parse(timeframe_start) if timeframe_start + timeframe_end = Time.parse(timeframe_end) if timeframe_end + + timeframe_start ||= 8.hours.ago + timeframe_end ||= Time.now + memory_query = %{(sum(container_memory_usage_bytes{container_name!="POD",environment="#{environment_slug}"}) / count(container_memory_usage_bytes{container_name!="POD",environment="#{environment_slug}"})) /1024/1024} cpu_query = %{sum(rate(container_cpu_usage_seconds_total{container_name!="POD",environment="#{environment_slug}"}[2m])) / count(container_cpu_usage_seconds_total{container_name!="POD",environment="#{environment_slug}"}) * 100} @@ -81,11 +86,13 @@ class PrometheusService < MonitoringService success: true, metrics: { # Average Memory used in MB - memory_values: client.query_range(memory_query, start: 8.hours.ago), - memory_current: client.query(memory_query), + memory_values: client.query_range(memory_query, start: timeframe_start, stop: timeframe_end), + memory_current: client.query(memory_query, time: timeframe_end), + memory_previous: client.query(memory_query, time: timeframe_start), # Average CPU Utilization - cpu_values: client.query_range(cpu_query, start: 8.hours.ago), - cpu_current: client.query(cpu_query) + cpu_values: client.query_range(cpu_query, start: timeframe_start, stop: timeframe_end), + cpu_current: client.query(cpu_query, time: timeframe_end), + cpu_previous: client.query(cpu_query, time: timeframe_start) }, last_update: Time.now.utc } diff --git a/app/presenters/merge_request_presenter.rb b/app/presenters/merge_request_presenter.rb new file mode 100644 index 00000000000..255f63db5c2 --- /dev/null +++ b/app/presenters/merge_request_presenter.rb @@ -0,0 +1,168 @@ +class MergeRequestPresenter < Gitlab::View::Presenter::Delegated + include ActionView::Helpers::UrlHelper + include GitlabRoutingHelper + include MarkupHelper + include TreeHelper + + presents :merge_request + + def ci_status + if pipeline + status = pipeline.status + status = "success_with_warnings" if pipeline.success? && pipeline.has_warnings? + + status || "preparing" + else + ci_service = source_project.try(:ci_service) + ci_service&.commit_status(diff_head_sha, source_branch) + end + end + + def cancel_merge_when_pipeline_succeeds_path + if can_cancel_merge_when_pipeline_succeeds?(current_user) + cancel_merge_when_pipeline_succeeds_namespace_project_merge_request_path( + project.namespace, + project, + merge_request) + end + end + + def create_issue_to_resolve_discussions_path + if can?(current_user, :create_issue, project) && project.issues_enabled? + new_namespace_project_issue_path(project.namespace, + project, + merge_request_to_resolve_discussions_of: iid) + end + end + + def remove_wip_path + if can?(current_user, :update_merge_request, merge_request.project) + remove_wip_namespace_project_merge_request_path(project.namespace, project, merge_request) + end + end + + def merge_path + if can_be_merged_by?(current_user) + merge_namespace_project_merge_request_path(project.namespace, project, merge_request) + end + end + + def revert_in_fork_path + if user_can_fork_project? && can_be_reverted?(current_user) + continue_params = { + to: merge_request_path(merge_request), + notice: "#{edit_in_new_fork_notice} Try to cherry-pick this commit again.", + notice_now: edit_in_new_fork_notice_now + } + + namespace_project_forks_path(merge_request.project.namespace, merge_request.project, + namespace_key: current_user.namespace.id, + continue: continue_params) + end + end + + def cherry_pick_in_fork_path + if user_can_fork_project? && can_be_cherry_picked? + continue_params = { + to: merge_request_path(merge_request), + notice: "#{edit_in_new_fork_notice} Try to revert this commit again.", + notice_now: edit_in_new_fork_notice_now + } + + namespace_project_forks_path(project.namespace, project, + namespace_key: current_user.namespace.id, + continue: continue_params) + end + end + + def conflict_resolution_path + if conflicts_can_be_resolved_in_ui? && conflicts_can_be_resolved_by?(current_user) + conflicts_namespace_project_merge_request_path(project.namespace, project, merge_request) + end + end + + def target_branch_commits_path + if target_branch_exists? + namespace_project_commits_path(project.namespace, project, target_branch) + end + end + + def source_branch_path + if source_branch_exists? + namespace_project_branch_path(source_project.namespace, source_project, source_branch) + end + end + + def source_branch_with_namespace_link + namespace = source_project_namespace + branch = source_branch + + if source_branch_exists? + namespace = link_to(namespace, project_path(source_project)) + branch = link_to(branch, namespace_project_commits_path(source_project.namespace, source_project, source_branch)) + end + + if for_fork? + namespace + ":" + branch + else + branch + end + end + + def closing_issues_links + markdown issues_sentence(project, closing_issues), pipeline: :gfm, author: author, project: project + end + + def mentioned_issues_links + mentioned_issues = issues_mentioned_but_not_closing(current_user) + markdown issues_sentence(project, mentioned_issues), pipeline: :gfm, author: author, project: project + end + + def assign_to_closing_issues_link + issues = MergeRequests::AssignIssuesService.new(project, + current_user, + merge_request: merge_request, + closes_issues: closing_issues + ).assignable_issues + path = assign_related_issues_namespace_project_merge_request_path(project.namespace, project, merge_request) + if issues.present? + pluralize_this_issue = issues.count > 1 ? "these issues" : "this issue" + link_to "Assign yourself to #{pluralize_this_issue}", path, method: :post + end + end + + def can_revert_on_current_merge_request? + user_can_collaborate_with_project? && can_be_reverted?(current_user) + end + + def can_cherry_pick_on_current_merge_request? + user_can_collaborate_with_project? && can_be_cherry_picked? + end + + private + + def closing_issues + @closing_issues ||= closes_issues(current_user) + end + + def pipeline + @pipeline ||= head_pipeline + end + + def issues_sentence(project, issues) + # Sorting based on the `#123` or `group/project#123` reference will sort + # local issues first. + issues.map do |issue| + issue.to_reference(project) + end.sort.to_sentence + end + + def user_can_collaborate_with_project? + can?(current_user, :push_code, project) || + (current_user && current_user.already_forked?(project)) + end + + def user_can_fork_project? + can?(current_user, :fork_project, project) + end +end diff --git a/app/serializers/base_serializer.rb b/app/serializers/base_serializer.rb index 311ee9c96be..4e6c15f673b 100644 --- a/app/serializers/base_serializer.rb +++ b/app/serializers/base_serializer.rb @@ -3,8 +3,10 @@ class BaseSerializer @request = EntityRequest.new(parameters) end - def represent(resource, opts = {}) - self.class.entity_class + def represent(resource, opts = {}, entity_class = nil) + entity_class = entity_class || self.class.entity_class + + entity_class .represent(resource, opts.merge(request: @request)) .as_json end diff --git a/app/serializers/build_action_entity.rb b/app/serializers/build_action_entity.rb index 75dda1af709..5e99204c658 100644 --- a/app/serializers/build_action_entity.rb +++ b/app/serializers/build_action_entity.rb @@ -19,6 +19,6 @@ class BuildActionEntity < Grape::Entity alias_method :build, :object def playable? - build.playable? && can?(request.user, :update_build, build) + build.playable? && can?(request.current_user, :update_build, build) end end diff --git a/app/serializers/build_entity.rb b/app/serializers/build_entity.rb index 1380b347d8e..e2276808b90 100644 --- a/app/serializers/build_entity.rb +++ b/app/serializers/build_entity.rb @@ -26,11 +26,11 @@ class BuildEntity < Grape::Entity alias_method :build, :object def playable? - build.playable? && can?(request.user, :update_build, build) + build.playable? && can?(request.current_user, :update_build, build) end def detailed_status - build.detailed_status(request.user) + build.detailed_status(request.current_user) end def path_to(route, build) diff --git a/app/serializers/environment_entity.rb b/app/serializers/environment_entity.rb index 4ff15a78115..4e8a3c67b21 100644 --- a/app/serializers/environment_entity.rb +++ b/app/serializers/environment_entity.rb @@ -31,7 +31,7 @@ class EnvironmentEntity < Grape::Entity end expose :terminal_path, if: ->(environment, _) { environment.has_terminals? } do |environment| - can?(request.user, :admin_environment, environment.project) && + can?(request.current_user, :admin_environment, environment.project) && terminal_namespace_project_environment_path( environment.project.namespace, environment.project, diff --git a/app/serializers/event_entity.rb b/app/serializers/event_entity.rb new file mode 100644 index 00000000000..935d67a4f37 --- /dev/null +++ b/app/serializers/event_entity.rb @@ -0,0 +1,4 @@ +class EventEntity < Grape::Entity + expose :author, using: UserEntity + expose :updated_at +end diff --git a/app/serializers/job_group_entity.rb b/app/serializers/job_group_entity.rb index a4d3737429c..04487e59009 100644 --- a/app/serializers/job_group_entity.rb +++ b/app/serializers/job_group_entity.rb @@ -11,6 +11,6 @@ class JobGroupEntity < Grape::Entity alias_method :group, :object def detailed_status - group.detailed_status(request.user) + group.detailed_status(request.current_user) end end diff --git a/app/serializers/merge_request_basic_entity.rb b/app/serializers/merge_request_basic_entity.rb new file mode 100644 index 00000000000..8771345c135 --- /dev/null +++ b/app/serializers/merge_request_basic_entity.rb @@ -0,0 +1,10 @@ +class MergeRequestBasicEntity < Grape::Entity + expose :merge_status + expose :merge_error + expose :state + expose :source_branch_exists?, as: :source_branch_exists + expose :time_estimate + expose :total_time_spent + expose :human_time_estimate + expose :human_total_time_spent +end diff --git a/app/serializers/merge_request_basic_serializer.rb b/app/serializers/merge_request_basic_serializer.rb new file mode 100644 index 00000000000..cc5c664c8fa --- /dev/null +++ b/app/serializers/merge_request_basic_serializer.rb @@ -0,0 +1,3 @@ +class MergeRequestBasicSerializer < BaseSerializer + entity MergeRequestBasicEntity +end diff --git a/app/serializers/merge_request_entity.rb b/app/serializers/merge_request_entity.rb index 453ba52b892..a2542c54f7a 100644 --- a/app/serializers/merge_request_entity.rb +++ b/app/serializers/merge_request_entity.rb @@ -1,4 +1,6 @@ class MergeRequestEntity < IssuableEntity + include RequestAwareEntity + expose :assignee_id expose :in_progress_merge_commit_sha expose :locked_at @@ -12,4 +14,174 @@ class MergeRequestEntity < IssuableEntity expose :source_project_id expose :target_branch expose :target_project_id + + # Events + expose :merge_event, using: EventEntity + expose :closed_event, using: EventEntity + + # User entities + expose :author, using: UserEntity + expose :merge_user, using: UserEntity + + # Diff sha's + expose :diff_head_sha do |merge_request| + merge_request.diff_head_sha if merge_request.diff_head_commit + end + + expose :merge_commit_sha + expose :merge_commit_message + expose :head_pipeline, with: PipelineEntity, as: :pipeline + + # Booleans + expose :work_in_progress?, as: :work_in_progress + expose :source_branch_exists?, as: :source_branch_exists + expose :mergeable_discussions_state?, as: :mergeable_discussions_state + expose :branch_missing?, as: :branch_missing + expose :commits_count + expose :cannot_be_merged?, as: :has_conflicts + expose :can_be_merged?, as: :can_be_merged + + expose :project_archived do |merge_request| + merge_request.project.archived? + end + + expose :only_allow_merge_if_pipeline_succeeds do |merge_request| + merge_request.project.only_allow_merge_if_pipeline_succeeds? + end + + # CI related + expose :has_ci?, as: :has_ci + expose :ci_status do |merge_request| + presenter(merge_request).ci_status + end + + expose :issues_links do + expose :assign_to_closing do |merge_request| + presenter(merge_request).assign_to_closing_issues_link + end + + expose :closing do |merge_request| + presenter(merge_request).closing_issues_links + end + + expose :mentioned_but_not_closing do |merge_request| + presenter(merge_request).mentioned_issues_links + end + end + + expose :source_branch_with_namespace_link do |merge_request| + presenter(merge_request).source_branch_with_namespace_link + end + + expose :source_branch_path do |merge_request| + presenter(merge_request).source_branch_path + end + + expose :current_user do + expose :can_remove_source_branch do |merge_request| + merge_request.source_branch_exists? && merge_request.can_remove_source_branch?(current_user) + end + + expose :can_revert_on_current_merge_request do |merge_request| + presenter(merge_request).can_revert_on_current_merge_request? + end + + expose :can_cherry_pick_on_current_merge_request do |merge_request| + presenter(merge_request).can_cherry_pick_on_current_merge_request? + end + end + + # Paths + # + expose :target_branch_commits_path do |merge_request| + presenter(merge_request).target_branch_commits_path + end + + expose :conflict_resolution_path do |merge_request| + presenter(merge_request).conflict_resolution_path + end + + expose :remove_wip_path do |merge_request| + presenter(merge_request).remove_wip_path + end + + expose :cancel_merge_when_pipeline_succeeds_path do |merge_request| + presenter(merge_request).cancel_merge_when_pipeline_succeeds_path + end + + expose :create_issue_to_resolve_discussions_path do |merge_request| + presenter(merge_request).create_issue_to_resolve_discussions_path + end + + expose :merge_path do |merge_request| + presenter(merge_request).merge_path + end + + expose :cherry_pick_in_fork_path do |merge_request| + presenter(merge_request).cherry_pick_in_fork_path + end + + expose :revert_in_fork_path do |merge_request| + presenter(merge_request).revert_in_fork_path + end + + expose :email_patches_path do |merge_request| + namespace_project_merge_request_path(merge_request.project.namespace, + merge_request.project, + merge_request, + format: :patch) + end + + expose :plain_diff_path do |merge_request| + namespace_project_merge_request_path(merge_request.project.namespace, + merge_request.project, + merge_request, + format: :diff) + end + + expose :status_path do |merge_request| + namespace_project_merge_request_path(merge_request.target_project.namespace, + merge_request.target_project, + merge_request, + format: :json) + end + + expose :merge_check_path do |merge_request| + merge_check_namespace_project_merge_request_path(merge_request.project.namespace, + merge_request.project, + merge_request) + end + + expose :ci_environments_status_path do |merge_request| + ci_environments_status_namespace_project_merge_request_path(merge_request.project.namespace, + merge_request.project, + merge_request) + end + + expose :merge_commit_message_with_description do |merge_request| + merge_request.merge_commit_message(include_description: true) + end + + expose :diverged_commits_count do |merge_request| + if merge_request.open? && merge_request.diverged_from_target_branch? + merge_request.diverged_commits_count + else + 0 + end + end + + expose :commit_change_content_path do |merge_request| + commit_change_content_namespace_project_merge_request_path(merge_request.project.namespace, + merge_request.project, + merge_request) + end + + private + + delegate :current_user, to: :request + + def presenter(merge_request) + @presenters ||= {} + @presenters[merge_request] ||= MergeRequestPresenter.new(merge_request, current_user: current_user) + end end diff --git a/app/serializers/merge_request_serializer.rb b/app/serializers/merge_request_serializer.rb index aa6e00dfcb4..f67034ce47a 100644 --- a/app/serializers/merge_request_serializer.rb +++ b/app/serializers/merge_request_serializer.rb @@ -1,3 +1,9 @@ class MergeRequestSerializer < BaseSerializer - entity MergeRequestEntity + # This overrided method takes care of which entity should be used + # to serialize the `merge_request` based on `basic` key in `opts` param. + # Hence, `entity` doesn't need to be declared on the class scope. + def represent(merge_request, opts = {}) + entity = opts[:basic] ? MergeRequestBasicEntity : MergeRequestEntity + super(merge_request, opts, entity) + end end diff --git a/app/serializers/pipeline_entity.rb b/app/serializers/pipeline_entity.rb index 7eb7aac72eb..51ad0a3f8ba 100644 --- a/app/serializers/pipeline_entity.rb +++ b/app/serializers/pipeline_entity.rb @@ -3,6 +3,8 @@ class PipelineEntity < Grape::Entity expose :id expose :user, using: UserEntity + expose :active?, as: :active + expose :coverage expose :path do |pipeline| namespace_project_pipeline_path( @@ -69,16 +71,16 @@ class PipelineEntity < Grape::Entity alias_method :pipeline, :object def can_retry? - can?(request.user, :update_pipeline, pipeline) && + can?(request.current_user, :update_pipeline, pipeline) && pipeline.retryable? end def can_cancel? - can?(request.user, :update_pipeline, pipeline) && + can?(request.current_user, :update_pipeline, pipeline) && pipeline.cancelable? end def detailed_status - pipeline.detailed_status(request.user) + pipeline.detailed_status(request.current_user) end end diff --git a/app/serializers/pipeline_serializer.rb b/app/serializers/pipeline_serializer.rb index e7a9df8ac4e..e37af63774c 100644 --- a/app/serializers/pipeline_serializer.rb +++ b/app/serializers/pipeline_serializer.rb @@ -37,4 +37,11 @@ class PipelineSerializer < BaseSerializer data = represent(resource, { only: [{ details: [:status] }] }) data.dig(:details, :status) || {} end + + def represent_stages(resource) + return {} unless resource.present? + + data = represent(resource, { only: [{ details: [:stages] }] }) + data.dig(:details, :stages) || [] + end end diff --git a/app/serializers/stage_entity.rb b/app/serializers/stage_entity.rb index 97ced8730ed..cee0089056f 100644 --- a/app/serializers/stage_entity.rb +++ b/app/serializers/stage_entity.rb @@ -35,6 +35,6 @@ class StageEntity < Grape::Entity alias_method :stage, :object def detailed_status - stage.detailed_status(request.user) + stage.detailed_status(request.current_user) end end diff --git a/app/views/layouts/nav/_project.html.haml b/app/views/layouts/nav/_project.html.haml index cdcac7e4264..e4dfe0c8c08 100644 --- a/app/views/layouts/nav/_project.html.haml +++ b/app/views/layouts/nav/_project.html.haml @@ -35,7 +35,7 @@ = link_to namespace_project_merge_requests_path(@project.namespace, @project), title: 'Merge Requests', class: 'shortcuts-merge_requests' do %span Merge Requests - %span.badge.count.merge_counter= number_with_delimiter(MergeRequestsFinder.new(current_user, project_id: @project.id).execute.opened.count) + %span.badge.count.merge_counter.js-merge-counter= number_with_delimiter(MergeRequestsFinder.new(current_user, project_id: @project.id).execute.opened.count) - if project_nav_tab? :pipelines = nav_link(controller: [:pipelines, :builds, :environments, :artifacts]) do diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml index 9e306d4543c..25b8567b78f 100644 --- a/app/views/projects/merge_requests/_show.html.haml +++ b/app/views/projects/merge_requests/_show.html.haml @@ -1,6 +1,6 @@ - @content_class = "limit-container-width" unless fluid_layout -- page_title "#{@merge_request.title} (#{@merge_request.to_reference})", "Merge Requests" -- page_description @merge_request.description +- page_title "#{@merge_request.title} (#{@merge_request.to_reference})", "Merge Requests" +- page_description @merge_request.description - page_card_attributes @merge_request.card_attributes - content_for :page_specific_javascripts do = page_specific_javascript_bundle_tag('common_vue') @@ -11,42 +11,17 @@ .merge-request-details.issuable-details{ data: { id: @merge_request.project.id } } = render "projects/merge_requests/show/mr_box" - .append-bottom-default.mr-source-target.prepend-top-default - - if @merge_request.open? - .pull-right - - if @merge_request.source_branch_exists? - - if koding_enabled? && @repository.koding_yml - = link_to koding_project_url(@merge_request.source_project, @merge_request.source_branch, @merge_request.commits.first.short_id), class: "btn inline btn-grouped btn-sm", target: '_blank', rel: 'noopener noreferrer' do - Run in IDE (Koding) - = link_to "#modal_merge_info", class: "btn inline btn-grouped btn-sm", "data-toggle" => "modal" do - Check out branch - - %span.dropdown.inline.prepend-left-5 - %a.btn.btn-sm.dropdown-toggle{ data: {toggle: :dropdown} } - Download as - = icon('caret-down') - %ul.dropdown-menu.dropdown-menu-align-right - %li= link_to "Email Patches", merge_request_path(@merge_request, format: :patch) - %li= link_to "Plain Diff", merge_request_path(@merge_request, format: :diff) - .normal - %span <b>Request to merge</b> - %span.label-branch= source_branch_with_namespace(@merge_request) - %span <b>into</b> - %span.label-branch - = link_to_if @merge_request.target_branch_exists?, @merge_request.target_branch, namespace_project_commits_path(@project.namespace, @project, @merge_request.target_branch) - - if @merge_request.open? && @merge_request.diverged_from_target_branch? - %span (#{pluralize(@merge_request.diverged_commits_count, 'commit')} behind) - if @merge_request.source_branch_exists? = render "projects/merge_requests/show/how_to_merge" - = render "projects/merge_requests/widget/show.html.haml" + :javascript + window.gl.mrWidgetData = #{serialize_issuable(@merge_request)} + + #js-vue-mr-widget.mr-widget - - if @merge_request.source_branch_exists? && @merge_request.mergeable? && @merge_request.can_be_merged_by?(current_user) - .merge-manually.light.prepend-top-default - You can also accept this merge request manually using the - = succeed '.' do - = link_to "command line", "#modal_merge_info", class: "how_to_merge_link vlink", title: "How To Merge", "data-toggle" => "modal" + - content_for :page_specific_javascripts do + = page_specific_javascript_bundle_tag('vue_merge_request_widget') .content-block.content-block-small.emoji-list-container = render 'award_emoji/awards_block', awardable: @merge_request, inline: true @@ -113,9 +88,7 @@ :javascript $(function () { - new MergeRequest({ + window.mergeRequest = new MergeRequest({ action: "#{controller.action_name}" }); }); - - var mrRefreshWidgetUrl = "#{mr_widget_refresh_url(@merge_request)}"; diff --git a/app/views/projects/merge_requests/cancel_merge_when_pipeline_succeeds.js.haml b/app/views/projects/merge_requests/cancel_merge_when_pipeline_succeeds.js.haml deleted file mode 100644 index eab5be488b5..00000000000 --- a/app/views/projects/merge_requests/cancel_merge_when_pipeline_succeeds.js.haml +++ /dev/null @@ -1,2 +0,0 @@ -:plain - $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/accept'))}"); diff --git a/app/views/projects/merge_requests/merge.js.haml b/app/views/projects/merge_requests/merge.js.haml deleted file mode 100644 index e632fc681cf..00000000000 --- a/app/views/projects/merge_requests/merge.js.haml +++ /dev/null @@ -1,14 +0,0 @@ -- case @status -- when :success - - remove_source_branch = params[:should_remove_source_branch] == '1' || @merge_request.remove_source_branch? - :plain - merge_request_widget.mergeInProgress(#{remove_source_branch}); -- when :merge_when_pipeline_succeeds - :plain - $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/merge_when_pipeline_succeeds'))}"); -- when :sha_mismatch - :plain - $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/sha_mismatch'))}"); -- else - :plain - $('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/reload'))}"); diff --git a/app/views/projects/merge_requests/widget/_closed.html.haml b/app/views/projects/merge_requests/widget/_closed.html.haml deleted file mode 100644 index 15f47ecf210..00000000000 --- a/app/views/projects/merge_requests/widget/_closed.html.haml +++ /dev/null @@ -1,12 +0,0 @@ -.mr-state-widget - = render 'projects/merge_requests/widget/heading' - .mr-widget-body - %h4 - Closed - - if @merge_request.closed_event - by #{link_to_member(@project, @merge_request.closed_event.author, avatar: true)} - #{time_ago_with_tooltip(@merge_request.closed_event.created_at)} - %p - = succeed '.' do - The changes were not merged into - %span.label-branch= @merge_request.target_branch diff --git a/app/views/projects/merge_requests/widget/_commit_change_content.html.haml b/app/views/projects/merge_requests/widget/_commit_change_content.html.haml new file mode 100644 index 00000000000..ad0ce7bf501 --- /dev/null +++ b/app/views/projects/merge_requests/widget/_commit_change_content.html.haml @@ -0,0 +1,4 @@ +- if @merge_request.can_be_reverted?(current_user) + = render "projects/commit/change", type: 'revert', commit: @merge_request.merge_commit, title: @merge_request.title +- if @merge_request.can_be_cherry_picked? + = render "projects/commit/change", type: 'cherry-pick', commit: @merge_request.merge_commit, title: @merge_request.title diff --git a/app/views/projects/merge_requests/widget/_heading.html.haml b/app/views/projects/merge_requests/widget/_heading.html.haml deleted file mode 100644 index 1298376ac25..00000000000 --- a/app/views/projects/merge_requests/widget/_heading.html.haml +++ /dev/null @@ -1,50 +0,0 @@ -- if @pipeline - .mr-widget-heading - - %w[success success_with_warnings skipped manual canceled failed running pending].each do |status| - .ci_widget{ class: "ci-#{status}", style: ("display:none" unless @pipeline.status == status) } - %div{ class: "ci-status-icon ci-status-icon-#{status}" } - = link_to namespace_project_pipeline_path(@pipeline.project.namespace, @pipeline.project, @pipeline.id), class: 'icon-link' do - = ci_icon_for_status(status) - %span - Pipeline - = link_to "##{@pipeline.id}", namespace_project_pipeline_path(@pipeline.project.namespace, @pipeline.project, @pipeline.id), class: 'pipeline' - = ci_label_for_status(status) - - if @pipeline.stages.any? - .mr-widget-pipeline-graph - = render 'shared/mini_pipeline_graph', pipeline: @pipeline, klass: 'js-pipeline-inline-mr-widget-graph' - %span - for - = succeed "." do - = link_to @pipeline.short_sha, namespace_project_commit_path(@merge_request.source_project.namespace, @merge_request.source_project, @pipeline.sha), class: "monospace js-commit-link" - %span.ci-coverage - -- elsif @merge_request.has_ci? - -# Compatibility with old CI integrations (ex jenkins) when you request status from CI server via AJAX - -# TODO, remove in later versions when services like Jenkins will set CI status via Commit status API - .mr-widget-heading - - %w[success skipped canceled failed running pending].each do |status| - .ci_widget{ class: "ci-#{status} ci-status-icon-#{status}", style: "display:none" } - = ci_icon_for_status(status) - %span - CI job - = ci_label_for_status(status) - for - - commit = @merge_request.diff_head_commit - = succeed "." do - = link_to commit.short_id, namespace_project_commit_path(@merge_request.source_project.namespace, @merge_request.source_project, commit), class: "monospace" - %span.ci-coverage - - .ci_widget - = icon("spinner spin") - Checking CI status for #{@merge_request.diff_head_commit.short_id}… - - .ci_widget.ci-not_found{ style: "display:none" } - = icon("times-circle") - Could not find CI status for #{@merge_request.diff_head_commit.short_id}. - - .ci_widget.ci-error{ style: "display:none" } - = icon("times-circle") - Could not connect to the CI server. Please check your settings and try again. - -.js-success-icon.hidden - = ci_icon_for_status('success') diff --git a/app/views/projects/merge_requests/widget/_locked.html.haml b/app/views/projects/merge_requests/widget/_locked.html.haml deleted file mode 100644 index 78d0783cba0..00000000000 --- a/app/views/projects/merge_requests/widget/_locked.html.haml +++ /dev/null @@ -1,9 +0,0 @@ -.mr-state-widget - = render 'projects/merge_requests/widget/heading' - .mr-widget-body - %h4 - = icon("spinner spin") - Merge in progress… - %p - This merge request is in the process of being merged, during which time it is locked and cannot be closed. - diff --git a/app/views/projects/merge_requests/widget/_merged.html.haml b/app/views/projects/merge_requests/widget/_merged.html.haml deleted file mode 100644 index adc3bbc37f3..00000000000 --- a/app/views/projects/merge_requests/widget/_merged.html.haml +++ /dev/null @@ -1,52 +0,0 @@ -.mr-state-widget - = render 'projects/merge_requests/widget/heading' - .mr-widget-body - %h4 - Merged - - if @merge_request.merge_event - by #{link_to_member(@project, @merge_request.merge_event.author, avatar: true)} - #{time_ago_with_tooltip(@merge_request.merge_event.created_at)} - - if !@merge_request.source_branch_exists? || params[:deleted_source_branch] - .remove-message-pipes - %ul - %li - %span - The changes were merged into - #{link_to @merge_request.target_branch, namespace_project_commits_path(@project.namespace, @project, @merge_request.target_branch), class: "label-branch"}. - %li - %span - The source branch has been removed. - = render 'projects/merge_requests/widget/merged_buttons' - - elsif @merge_request.can_remove_source_branch?(current_user) - .remove_source_branch_widget.remove-message-pipes - %ul - %li - %span - The changes were merged into - #{link_to @merge_request.target_branch, namespace_project_commits_path(@project.namespace, @project, @merge_request.target_branch), class: "label-branch"}. - %li - %span - You can remove the source branch now. - = render 'projects/merge_requests/widget/merged_buttons', source_branch_exists: true - .remove_source_branch_widget.failed.remove-message-pipes.hide - %ul - %li - %span - Failed to remove source branch '#{@merge_request.source_branch}'. - .remove_source_branch_in_progress.remove-message-pipes.hide - %ul - %li - %span - = icon('spinner spin') - Removing source branch '#{@merge_request.source_branch}'. - %li - %span - Please wait, this page will be automatically reloaded. - - else - .remove-message-pipes - %ul - %li - %span - The changes were merged into - #{link_to @merge_request.target_branch, namespace_project_commits_path(@project.namespace, @project, @merge_request.target_branch), class: "label-branch"}. - = render 'projects/merge_requests/widget/merged_buttons' diff --git a/app/views/projects/merge_requests/widget/_merged_buttons.haml b/app/views/projects/merge_requests/widget/_merged_buttons.haml deleted file mode 100644 index a0f54bd28ec..00000000000 --- a/app/views/projects/merge_requests/widget/_merged_buttons.haml +++ /dev/null @@ -1,14 +0,0 @@ -- can_remove_source_branch = local_assigns.fetch(:source_branch_exists, false) && @merge_request.can_remove_source_branch?(current_user) -- mr_can_be_reverted = @merge_request.can_be_reverted?(current_user) -- mr_can_be_cherry_picked = @merge_request.can_be_cherry_picked? - -- if can_remove_source_branch || mr_can_be_reverted || mr_can_be_cherry_picked - .clearfix.merged-buttons - - if can_remove_source_branch - = link_to namespace_project_branch_path(@merge_request.source_project.namespace, @merge_request.source_project, @merge_request.source_branch), remote: true, method: :delete, class: "btn btn-default remove_source_branch" do - = icon('trash-o') - Remove source branch - - if mr_can_be_reverted - = revert_commit_link(@merge_request.merge_commit, namespace_project_merge_request_path(@project.namespace, @project, @merge_request), btn_class: "close") - - if mr_can_be_cherry_picked - = cherry_pick_commit_link(@merge_request.merge_commit, namespace_project_merge_request_path(@project.namespace, @project, @merge_request), btn_class: "default") diff --git a/app/views/projects/merge_requests/widget/_open.html.haml b/app/views/projects/merge_requests/widget/_open.html.haml deleted file mode 100644 index 0872a1a0503..00000000000 --- a/app/views/projects/merge_requests/widget/_open.html.haml +++ /dev/null @@ -1,49 +0,0 @@ -.mr-state-widget - = render 'projects/merge_requests/widget/heading' - .mr-widget-body - -# After conflicts are resolved, the user is redirected back to the MR page. - -# There is a short window before background workers run and GitLab processes - -# the new push and commits, during which it will think the conflicts still exist. - -# We send this param to get the widget to treat the MR as having no more conflicts. - - resolved_conflicts = params[:resolved_conflicts] - - - if @project.archived? - = render 'projects/merge_requests/widget/open/archived' - - elsif @merge_request.branch_missing? - = render 'projects/merge_requests/widget/open/missing_branch' - - elsif @merge_request.has_no_commits? - = render 'projects/merge_requests/widget/open/nothing' - - elsif @merge_request.unchecked? - = render 'projects/merge_requests/widget/open/check' - - elsif @merge_request.cannot_be_merged? && !resolved_conflicts - = render 'projects/merge_requests/widget/open/conflicts' - - elsif @merge_request.work_in_progress? - = render 'projects/merge_requests/widget/open/wip' - - elsif @merge_request.merge_when_pipeline_succeeds? && @merge_request.merge_error.present? - = render 'projects/merge_requests/widget/open/error' - - elsif @merge_request.merge_when_pipeline_succeeds? - = render 'projects/merge_requests/widget/open/merge_when_pipeline_succeeds' - - elsif !@merge_request.can_be_merged_by?(current_user) - = render 'projects/merge_requests/widget/open/not_allowed' - - elsif !@merge_request.mergeable_ci_state? && (@pipeline.failed? || @pipeline.canceled?) - = render 'projects/merge_requests/widget/open/build_failed' - - elsif !@merge_request.mergeable_discussions_state? - = render 'projects/merge_requests/widget/open/unresolved_discussions' - - elsif @pipeline&.blocked? - = render 'projects/merge_requests/widget/open/manual' - - elsif @merge_request.can_be_merged? || resolved_conflicts - = render 'projects/merge_requests/widget/open/accept' - - - if mr_closes_issues.present? || mr_issues_mentioned_but_not_closing.present? - .mr-widget-footer - %span - = icon('check') - - if mr_closes_issues.present? - Accepting this merge request will close #{"issue".pluralize(mr_closes_issues.size)} - = succeed '.' do - != markdown issues_sentence(mr_closes_issues), pipeline: :gfm, author: @merge_request.author - = mr_assign_issues_link - - if mr_issues_mentioned_but_not_closing.present? - #{"Issue".pluralize(mr_issues_mentioned_but_not_closing.size)} - != markdown issues_sentence(mr_issues_mentioned_but_not_closing), pipeline: :gfm, author: @merge_request.author - #{mr_issues_mentioned_but_not_closing.size > 1 ? 'are' : 'is'} mentioned but will not be closed. diff --git a/app/views/projects/merge_requests/widget/_show.html.haml b/app/views/projects/merge_requests/widget/_show.html.haml deleted file mode 100644 index c716b69b35b..00000000000 --- a/app/views/projects/merge_requests/widget/_show.html.haml +++ /dev/null @@ -1,40 +0,0 @@ -- if @merge_request.open? - = render 'projects/merge_requests/widget/open' -- elsif @merge_request.merged? - = render 'projects/merge_requests/widget/merged' -- elsif @merge_request.closed? - = render 'projects/merge_requests/widget/closed' -- elsif @merge_request.locked? - = render 'projects/merge_requests/widget/locked' - -:javascript - var opts = { - merge_check_url: "#{merge_check_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}", - check_enable: #{@merge_request.unchecked? ? "true" : "false"}, - ci_status_url: "#{ci_status_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}", - pipeline_status_url: "#{pipeline_status_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}", - ci_environments_status_url: "#{ci_environments_status_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}", - gitlab_icon: "#{asset_path 'gitlab_logo.png'}", - ci_status: "#{@merge_request.head_pipeline ? @merge_request.head_pipeline.status : ''}", - ci_message: { - normal: "Pipeline {{status}} for \"{{title}}\"", - preparing: "{{status}} pipeline for \"{{title}}\"" - }, - ci_enable: #{@project.ci_service ? "true" : "false"}, - ci_title: { - preparing: "{{status}} pipeline", - normal: "Pipeline {{status}}" - }, - ci_sha: "#{@merge_request.head_pipeline ? @merge_request.head_pipeline.short_sha : ''}", - ci_pipeline: #{@merge_request.head_pipeline.try(:id).to_json}, - commits_path: "#{project_commits_path(@project)}", - pipeline_path: "#{project_pipelines_path(@project)}", - pipelines_path: "#{pipelines_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)}" - }; - - if (typeof merge_request_widget !== 'undefined') { - merge_request_widget.cancelPolling(); - merge_request_widget.clearEventListeners(); - } - - merge_request_widget = new window.gl.MergeRequestWidget(opts); diff --git a/app/views/projects/merge_requests/widget/open/_accept.html.haml b/app/views/projects/merge_requests/widget/open/_accept.html.haml deleted file mode 100644 index 4cbd22150c7..00000000000 --- a/app/views/projects/merge_requests/widget/open/_accept.html.haml +++ /dev/null @@ -1,50 +0,0 @@ -- content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('merge_request_widget') - -= form_for [:merge, @project.namespace.becomes(Namespace), @project, @merge_request], remote: true, method: :post, html: { class: 'accept-mr-form js-quick-submit js-requires-input' } do |f| - = hidden_field_tag :authenticity_token, form_authenticity_token - = hidden_field_tag :sha, @merge_request.diff_head_sha - .accept-merge-holder.clearfix.js-toggle-container - .clearfix - .accept-action - - if @pipeline && @pipeline.active? - %span.btn-group - = button_tag class: "btn btn-info js-merge-when-pipeline-succeeds-button merge-when-pipeline-succeeds" do - Merge when pipeline succeeds - - unless @project.only_allow_merge_if_pipeline_succeeds? - = button_tag class: "btn btn-info dropdown-toggle", 'data-toggle' => 'dropdown' do - = icon('caret-down') - %span.sr-only - Select merge moment - %ul.js-merge-dropdown.dropdown-menu.dropdown-menu-right{ role: 'menu' } - %li - = link_to "#", class: "merge-when-pipeline-succeeds" do - = icon('check fw') - Merge when pipeline succeeds - %li - = link_to "#", class: "accept-merge-request" do - = icon('warning fw') - Merge immediately - - else - = f.button class: "btn btn-grouped js-merge-button accept-merge-request" do - Accept merge request - - if @merge_request.force_remove_source_branch? - .accept-control - The source branch will be removed. - - elsif @merge_request.can_remove_source_branch?(current_user) - .accept-control.checkbox - = label_tag :should_remove_source_branch, class: "merge-param-checkbox" do - = check_box_tag :should_remove_source_branch - Remove source branch - .accept-control - %button.modify-merge-commit-link.js-toggle-button{ type: "button" } - = icon('edit') - Modify commit message - .js-toggle-content.hide.prepend-top-default - = render 'shared/commit_message_container', params: params, - message_with_description: @merge_request.merge_commit_message(include_description: true), - message_without_description: @merge_request.merge_commit_message, - text: @merge_request.merge_commit_message, - rows: 14, hint: true - - = hidden_field_tag :merge_when_pipeline_succeeds, "", autocomplete: "off" diff --git a/app/views/projects/merge_requests/widget/open/_archived.html.haml b/app/views/projects/merge_requests/widget/open/_archived.html.haml deleted file mode 100644 index 0d61e56d8fb..00000000000 --- a/app/views/projects/merge_requests/widget/open/_archived.html.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h4 - Project is archived -%p - This merge request cannot be merged because archived projects cannot be written to. diff --git a/app/views/projects/merge_requests/widget/open/_build_failed.html.haml b/app/views/projects/merge_requests/widget/open/_build_failed.html.haml deleted file mode 100644 index 3979d5fa8ed..00000000000 --- a/app/views/projects/merge_requests/widget/open/_build_failed.html.haml +++ /dev/null @@ -1,6 +0,0 @@ -%h4 - = icon('exclamation-triangle') - The pipeline for this merge request failed - -%p - Please retry the job or push a new commit to fix the failure. diff --git a/app/views/projects/merge_requests/widget/open/_check.html.haml b/app/views/projects/merge_requests/widget/open/_check.html.haml deleted file mode 100644 index 909dc52fc06..00000000000 --- a/app/views/projects/merge_requests/widget/open/_check.html.haml +++ /dev/null @@ -1,6 +0,0 @@ -- content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('merge_request_widget') - -%strong - = icon("spinner spin") - Checking ability to merge automatically… diff --git a/app/views/projects/merge_requests/widget/open/_conflicts.html.haml b/app/views/projects/merge_requests/widget/open/_conflicts.html.haml deleted file mode 100644 index 621ee313026..00000000000 --- a/app/views/projects/merge_requests/widget/open/_conflicts.html.haml +++ /dev/null @@ -1,27 +0,0 @@ -- can_resolve = @merge_request.conflicts_can_be_resolved_by?(current_user) -- can_resolve_in_ui = @merge_request.conflicts_can_be_resolved_in_ui? -- can_merge = @merge_request.can_be_merged_via_command_line_by?(current_user) - -%h4.has-conflicts - %p - = icon("exclamation-triangle") - This merge request contains merge conflicts - -.remove-message-pipes - %ul - %li - %span - To merge this request, resolve these conflicts - - if can_resolve && !can_resolve_in_ui - locally - or - - unless can_merge - ask someone with write access to this repository to - merge it locally. - -- if (can_resolve && can_resolve_in_ui) || can_merge - .merged-buttons.clearfix - - if can_resolve && can_resolve_in_ui - = link_to "Resolve conflicts", conflicts_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), class: "btn" - - if can_merge - = link_to "Merge locally", "#modal_merge_info", class: "btn how_to_merge_link vlink", "data-toggle" => "modal" diff --git a/app/views/projects/merge_requests/widget/open/_manual.html.haml b/app/views/projects/merge_requests/widget/open/_manual.html.haml deleted file mode 100644 index 9078b7e21dd..00000000000 --- a/app/views/projects/merge_requests/widget/open/_manual.html.haml +++ /dev/null @@ -1,4 +0,0 @@ -%h4 - Pipeline blocked -%p - The pipeline for this merge request requires a manual action to proceed. diff --git a/app/views/projects/merge_requests/widget/open/_merge_when_pipeline_succeeds.html.haml b/app/views/projects/merge_requests/widget/open/_merge_when_pipeline_succeeds.html.haml deleted file mode 100644 index 76cc1ecd8a5..00000000000 --- a/app/views/projects/merge_requests/widget/open/_merge_when_pipeline_succeeds.html.haml +++ /dev/null @@ -1,33 +0,0 @@ -- content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('merge_request_widget') - -%h4 - Set by #{link_to_member(@project, @merge_request.merge_user, avatar: true)} - to be merged automatically when the pipeline succeeds. -.remove-message-pipes - %ul - %li - %span - = succeed '.' do - The changes will be merged into #{link_to @merge_request.target_branch, namespace_project_commits_path(@project.namespace, @project, @merge_request.target_branch), class: "label-branch"} - - if @merge_request.remove_source_branch? - %li - %span - The source branch will be removed. - - else - %li - %span - The source branch will not be removed. - - - remove_source_branch_button = !@merge_request.remove_source_branch? && @merge_request.can_remove_source_branch?(current_user) && @merge_request.merge_user == current_user - - user_can_cancel_automatic_merge = @merge_request.can_cancel_merge_when_pipeline_succeeds?(current_user) - - if remove_source_branch_button || user_can_cancel_automatic_merge - .clearfix.prepend-top-10 - - if remove_source_branch_button - = link_to merge_namespace_project_merge_request_path(@merge_request.target_project.namespace, @merge_request.target_project, @merge_request, merge_params(@merge_request)), remote: true, method: :post, class: "btn btn-grouped btn-primary btn-sm remove_source_branch" do - = icon('times') - Remove source branch when merged - - - if user_can_cancel_automatic_merge - = link_to cancel_merge_when_pipeline_succeeds_namespace_project_merge_request_path(@merge_request.target_project.namespace, @merge_request.target_project, @merge_request), remote: true, method: :post, class: "btn btn-grouped btn-sm" do - Cancel automatic merge diff --git a/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml b/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml deleted file mode 100644 index c9f07629493..00000000000 --- a/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml +++ /dev/null @@ -1,16 +0,0 @@ -- unless @merge_request.source_branch_exists? - %h4 - = icon("exclamation-triangle") - Source branch - %span.label-branch= source_branch_with_namespace(@merge_request) - does not exist - %p - Please restore the source branch or close this merge request and open a new merge request with a different source branch. -- else - %h4 - = icon("exclamation-triangle") - Target branch - %span.label-branch= @merge_request.target_branch - does not exist - %p - Please restore the target branch or use a different target branch. diff --git a/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml b/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml deleted file mode 100644 index 57ce1959021..00000000000 --- a/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml +++ /dev/null @@ -1,6 +0,0 @@ -%h4 - Ready to be merged automatically -%p - Ask someone with write access to this repository to merge this request. - - if @merge_request.force_remove_source_branch? - The source branch will be removed. diff --git a/app/views/projects/merge_requests/widget/open/_nothing.html.haml b/app/views/projects/merge_requests/widget/open/_nothing.html.haml deleted file mode 100644 index 7af8c01c134..00000000000 --- a/app/views/projects/merge_requests/widget/open/_nothing.html.haml +++ /dev/null @@ -1,8 +0,0 @@ -%h4 - = icon("exclamation-triangle") - Nothing to merge from - %span.label-branch= source_branch_with_namespace(@merge_request) - into - %span.label-branch= @merge_request.target_branch -%p - Please push new commits to the source branch or use a different target branch. diff --git a/app/views/projects/merge_requests/widget/open/_reload.html.haml b/app/views/projects/merge_requests/widget/open/_reload.html.haml deleted file mode 100644 index acfc31725eb..00000000000 --- a/app/views/projects/merge_requests/widget/open/_reload.html.haml +++ /dev/null @@ -1,6 +0,0 @@ -%h4 - = icon("exclamation-triangle") - This merge request failed to be merged automatically - -%p - Please reload the page to find out the reason. diff --git a/app/views/projects/merge_requests/widget/open/_sha_mismatch.html.haml b/app/views/projects/merge_requests/widget/open/_sha_mismatch.html.haml deleted file mode 100644 index 499624f8dd8..00000000000 --- a/app/views/projects/merge_requests/widget/open/_sha_mismatch.html.haml +++ /dev/null @@ -1,6 +0,0 @@ -%h4 - = icon("exclamation-triangle") - This merge request has received new commits since the page was loaded. - -%p - Please reload the page to review the new commits before merging. diff --git a/app/views/projects/merge_requests/widget/open/_unresolved_discussions.html.haml b/app/views/projects/merge_requests/widget/open/_unresolved_discussions.html.haml deleted file mode 100644 index ec9346ce89b..00000000000 --- a/app/views/projects/merge_requests/widget/open/_unresolved_discussions.html.haml +++ /dev/null @@ -1,10 +0,0 @@ -%h4 - = icon('exclamation-triangle') - This merge request has unresolved discussions - -%p - Please resolve these discussions - - if @project.issues_enabled? && can?(current_user, :create_issue, @project) - or - = link_to "open an issue to resolve them later", new_namespace_project_issue_path(@project.namespace, @project, merge_request_to_resolve_discussions_of: @merge_request.iid) - to allow this merge request to be merged. diff --git a/app/views/projects/merge_requests/widget/open/_wip.html.haml b/app/views/projects/merge_requests/widget/open/_wip.html.haml deleted file mode 100644 index c296422a9cf..00000000000 --- a/app/views/projects/merge_requests/widget/open/_wip.html.haml +++ /dev/null @@ -1,11 +0,0 @@ -%h4 - This merge request is currently a Work In Progress - -- if can?(current_user, :update_merge_request, @merge_request) - %p - When this merge request is ready, - = link_to remove_wip_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), method: :post do - remove the - %code WIP: - prefix from the title - to allow it to be merged. diff --git a/app/views/shared/issuable/form/_merge_params.html.haml b/app/views/shared/issuable/form/_merge_params.html.haml index 03309722326..d23f79be2be 100644 --- a/app/views/shared/issuable/form/_merge_params.html.haml +++ b/app/views/shared/issuable/form/_merge_params.html.haml @@ -5,12 +5,3 @@ -# This check is duplicated below, to avoid conflicts with EE. - return unless issuable.can_remove_source_branch?(current_user) - -.form-group - .col-sm-10.col-sm-offset-2 - - if issuable.can_remove_source_branch?(current_user) - .checkbox - = label_tag 'merge_request[force_remove_source_branch]' do - = hidden_field_tag 'merge_request[force_remove_source_branch]', '0', id: nil - = check_box_tag 'merge_request[force_remove_source_branch]', '1', issuable.force_remove_source_branch? - Remove source branch when merge request is accepted. diff --git a/config/routes/project.rb b/config/routes/project.rb index 7f6e5447b19..a6c104c2d3f 100644 --- a/config/routes/project.rb +++ b/config/routes/project.rb @@ -75,10 +75,9 @@ constraints(ProjectUrlConstrainer.new) do get :conflict_for_path get :pipelines get :merge_check + get :commit_change_content post :merge - get :merge_widget_refresh post :cancel_merge_when_pipeline_succeeds - get :ci_status get :pipeline_status get :ci_environments_status post :toggle_subscription @@ -146,7 +145,11 @@ constraints(ProjectUrlConstrainer.new) do get :folder, path: 'folders/*id', constraints: { format: /(html|json)/ } end - resources :deployments, only: [:index] + resources :deployments, only: [:index] do + member do + get :metrics + end + end end resource :cycle_analytics, only: [:show] diff --git a/config/webpack.config.js b/config/webpack.config.js index cb6bd949ddb..7e413c8493e 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -42,7 +42,6 @@ var config = { locale: './locale/index.js', main: './main.js', merge_conflicts: './merge_conflicts/merge_conflicts_bundle.js', - merge_request_widget: './merge_request_widget/ci_bundle.js', monitoring: './monitoring/monitoring_bundle.js', network: './network/network_bundle.js', notebook_viewer: './blob/notebook_viewer.js', @@ -63,6 +62,7 @@ var config = { u2f: ['vendor/u2f'], users: './users/users_bundle.js', raven: './raven/index.js', + vue_merge_request_widget: './vue_merge_request_widget/index.js', }, output: { diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md index a74014b6b2f..b71d6981d1e 100644 --- a/doc/user/project/integrations/prometheus.md +++ b/doc/user/project/integrations/prometheus.md @@ -169,6 +169,14 @@ Clicking on the Monitoring button will display a new page, showing up to the las 8 hours of performance data. It may take a minute or two for data to appear after initial deployment. +## Determining performance impact of a merge + +> [Introduced][ce-10408] in GitLab 9.1. + +After a merge request has been approved, a sparkline will appear on the merge request page displaying the average memory usage of the application. The sparkline includes thirty minutes of data prior to the merge, a dot to indicate the merge itself, and then will begin capturing thirty minutes of data after the merge. + +This sparkline serves as a quick indicator of the impact on memory consumption of the recently merged changes. If there is a problem, action can then be taken to troubleshoot or revert the merge. + ## Troubleshooting If the "Attempting to load performance data" screen continues to appear, it could be due to: @@ -189,4 +197,5 @@ If the "Attempting to load performance data" screen continues to appear, it coul [gitlab.com-ip-range]: https://gitlab.com/gitlab-com/infrastructure/issues/434 [ci-environment-slug]: https://docs.gitlab.com/ce/ci/variables/#predefined-variables-environment-variables [ce-8935]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8935 +[ce-10408]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10408 [promgldocs]: ../../../administration/monitoring/prometheus/index.md diff --git a/features/project/commits/revert.feature b/features/project/commits/revert.feature index 7a2effafe03..7ee1d717d80 100644 --- a/features/project/commits/revert.feature +++ b/features/project/commits/revert.feature @@ -5,12 +5,14 @@ Feature: Revert Commits And I own a project And I visit my project's commits page + @javascript Scenario: I revert a commit Given I click on commit link And I click on the revert button And I revert the changes directly Then I should see the revert commit notice + @javascript Scenario: I revert a commit that was previously reverted Given I click on commit link And I click on the revert button @@ -21,6 +23,7 @@ Feature: Revert Commits And I revert the changes directly Then I should see a revert error + @javascript Scenario: I revert a commit in a new merge request Given I click on commit link And I click on the revert button diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature index bcde497553b..a8c528d3d6f 100644 --- a/features/project/merge_requests.feature +++ b/features/project/merge_requests.feature @@ -26,11 +26,13 @@ Feature: Project Merge Requests When I visit project "Shop" merge requests page Then I should see "feature_conflict" branch + @javascript Scenario: I should not see the numbers of diverged commits if the branch is rebased on the target Given project "Shop" have "Bug NS-07" open merge request with rebased branch When I visit merge request page "Bug NS-07" Then I should not see the diverged commits count + @javascript Scenario: I should see the numbers of diverged commits if the branch diverged from the target Given project "Shop" have "Bug NS-08" open merge request with diverged branch When I visit merge request page "Bug NS-08" @@ -46,21 +48,25 @@ Feature: Project Merge Requests Then I should see "Feature NS-03" in merge requests And I should see "Bug NS-04" in merge requests + @javascript Scenario: I visit an open merge request page Given I click link "Bug NS-04" Then I should see merge request "Bug NS-04" + @javascript Scenario: I visit a merged merge request page Given project "Shop" have "Feature NS-05" merged merge request And I click link "Merged" And I click link "Feature NS-05" Then I should see merge request "Feature NS-05" + @javascript Scenario: I close merge request page Given I click link "Bug NS-04" And I click link "Close" Then I should see closed merge request "Bug NS-04" + @javascript Scenario: I reopen merge request page Given I click link "Bug NS-04" And I click link "Close" @@ -176,6 +182,7 @@ Feature: Project Merge Requests # Markdown + @javascript Scenario: Headers inside the description should have ids generated for them. When I visit merge request page "Bug NS-04" Then Header "Description header" should have correct id and link diff --git a/features/project/merge_requests/accept.feature b/features/project/merge_requests/accept.feature index 330ec8ae0fe..c45ed9ea68b 100644 --- a/features/project/merge_requests/accept.feature +++ b/features/project/merge_requests/accept.feature @@ -7,7 +7,6 @@ Feature: Project Merge Requests Acceptance @javascript Scenario: Accepting the Merge Request and removing the source branch Given I am on the Merge Request detail page - When I click on "Remove source branch" option And I click on Accept Merge Request Then I should see merge request merged And I should not see the Remove Source Branch button @@ -15,7 +14,6 @@ Feature: Project Merge Requests Acceptance @javascript Scenario: Accepting the Merge Request when URL has an anchor Given I am on the Merge Request detail with note anchor page - When I click on "Remove source branch" option And I click on Accept Merge Request Then I should see merge request merged And I should not see the Remove Source Branch button @@ -23,6 +21,7 @@ Feature: Project Merge Requests Acceptance @javascript Scenario: Accepting the Merge Request without removing the source branch Given I am on the Merge Request detail page + When I click on "Remove source branch" option When I click on Accept Merge Request Then I should see merge request merged And I should see the Remove Source Branch button diff --git a/features/steps/project/commits/revert.rb b/features/steps/project/commits/revert.rb index c9746407344..114de129d19 100644 --- a/features/steps/project/commits/revert.rb +++ b/features/steps/project/commits/revert.rb @@ -10,6 +10,7 @@ class Spinach::Features::RevertCommits < Spinach::FeatureSteps end step 'I click on the revert button' do + find(".header-action-buttons .dropdown").click find("a[href='#modal-revert-commit']").click end diff --git a/features/steps/project/forked_merge_requests.rb b/features/steps/project/forked_merge_requests.rb index 8081b764be6..310db6e6dad 100644 --- a/features/steps/project/forked_merge_requests.rb +++ b/features/steps/project/forked_merge_requests.rb @@ -4,6 +4,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps include SharedNote include SharedPaths include Select2Helper + include WaitForVueResource step 'I am a member of project "Shop"' do @project = ::Project.find_by(name: "Shop") @@ -31,6 +32,8 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps expect(page).to have_content @project.path_with_namespace expect(page).to have_content @merge_request.source_branch expect(page).to have_content @merge_request.target_branch + + wait_for_vue_resource end step 'I fill out a "Merge Request On Forked Project" merge request' do diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index 4b7d6cd840b..573be44c695 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -8,6 +8,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps include SharedDiffNote include SharedUser include WaitForAjax + include WaitForVueResource after do wait_for_ajax if javascript_test? @@ -45,19 +46,23 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps page.within '.merge-request' do expect(page).to have_content "Wiki Feature" end + wait_for_vue_resource end step 'I should see closed merge request "Bug NS-04"' do expect(page).to have_content "Bug NS-04" expect(page).to have_content "Closed by" + wait_for_vue_resource end step 'I should see merge request "Bug NS-04"' do expect(page).to have_content "Bug NS-04" + wait_for_vue_resource end step 'I should see merge request "Feature NS-05"' do expect(page).to have_content "Feature NS-05" + wait_for_vue_resource end step 'I should not see "master" branch' do @@ -358,10 +363,12 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps step 'I should see a badge of "1" next to the discussion link' do expect_discussion_badge_to_have_counter("1") + wait_for_vue_resource end step 'I should see a badge of "0" next to the discussion link' do expect_discussion_badge_to_have_counter("0") + wait_for_vue_resource end step 'I should see a discussion has started on commit diff' do @@ -369,6 +376,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps page.should have_content "#{current_user.name} #{current_user.to_reference} started a discussion on commit" page.should have_content sample_commit.line_code_path page.should have_content "Line is wrong" + wait_for_vue_resource end end @@ -376,16 +384,17 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps page.within(".notes .discussion") do page.should have_content "#{current_user.name} #{current_user.to_reference} started a discussion on commit" page.should have_content "One comment to rule them all" + wait_for_vue_resource end end step 'merge request is mergeable' do - expect(page).to have_button 'Accept merge request' + expect(page).to have_button 'Merge' end step 'I modify merge commit message' do click_button "Modify commit message" - fill_in 'commit_message', with: 'wow such merge' + fill_in 'Commit message', with: 'wow such merge' end step 'merge request "Bug NS-05" is mergeable' do @@ -394,24 +403,26 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps step 'I accept this merge request' do page.within '.mr-state-widget' do - click_button "Accept merge request" + click_button "Merge" end end step 'I should see merged request' do page.within '.status-box' do expect(page).to have_content "Merged" + wait_for_vue_resource end end step 'I click link "Reopen"' do - first(:css, '.reopen-mr-link').click + first(:css, '.reopen-mr-link').trigger('click') end step 'I should see reopened merge request "Bug NS-04"' do page.within '.status-box' do expect(page).to have_content "Open" end + wait_for_vue_resource end step 'I click link "Hide inline discussion" of the third file' do @@ -435,6 +446,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps step 'I should see a comment like "Line is wrong" in the third file' do page.within '.files>div:nth-child(3) .note-body > .note-text' do expect(page).to have_visible_content "Line is wrong" + wait_for_vue_resource end end @@ -502,6 +514,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps step 'I should see comments on the side-by-side diff page' do page.within '.files>div:nth-child(2) .parallel .note-body > .note-text' do expect(page).to have_visible_content "Line is correct" + wait_for_vue_resource end end @@ -557,12 +570,16 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps page.within ".mr-source-target" do expect(page).to have_content /([0-9]+ commits behind)/ end + + wait_for_vue_resource end step 'I should not see the diverged commits count' do page.within ".mr-source-target" do expect(page).not_to have_content /([0-9]+ commit[s]? behind)/ end + + wait_for_vue_resource end def merge_request diff --git a/features/steps/project/merge_requests/acceptance.rb b/features/steps/project/merge_requests/acceptance.rb index 7521a9439e3..3c976f675a2 100644 --- a/features/steps/project/merge_requests/acceptance.rb +++ b/features/steps/project/merge_requests/acceptance.rb @@ -1,7 +1,7 @@ class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps include LoginHelpers include GitlabRoutingHelper - include WaitForAjax + include WaitForVueResource step 'I am on the Merge Request detail page' do visit merge_request_path(@merge_request) @@ -12,27 +12,27 @@ class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps end step 'I click on "Remove source branch" option' do - check('Remove source branch') + uncheck('Remove source branch') end step 'I click on Accept Merge Request' do - click_button('Accept merge request') + click_button('Merge') end step 'I should see the Remove Source Branch button' do - expect(page).to have_link('Remove source branch') + expect(page).to have_selector('.js-remove-branch-button') - # Wait for AJAX requests to complete so they don't blow up if they are + # Wait for View Resource requests to complete so they don't blow up if they are # only handled after `DatabaseCleaner` has already run - wait_for_ajax + wait_for_vue_resource end step 'I should not see the Remove Source Branch button' do - expect(page).not_to have_link('Remove source branch') + expect(page).not_to have_selector('.js-remove-branch-button') - # Wait for AJAX requests to complete so they don't blow up if they are + # Wait for View Resource requests to complete so they don't blow up if they are # only handled after `DatabaseCleaner` has already run - wait_for_ajax + wait_for_vue_resource end step 'There is an open Merge Request' do diff --git a/features/steps/project/merge_requests/revert.rb b/features/steps/project/merge_requests/revert.rb index 1149c1c2426..aa76d6f8c48 100644 --- a/features/steps/project/merge_requests/revert.rb +++ b/features/steps/project/merge_requests/revert.rb @@ -1,6 +1,7 @@ class Spinach::Features::RevertMergeRequests < Spinach::FeatureSteps include LoginHelpers include GitlabRoutingHelper + include WaitForVueResource step 'I click on the revert button' do find("a[href='#modal-revert-commit']").click @@ -15,6 +16,7 @@ class Spinach::Features::RevertMergeRequests < Spinach::FeatureSteps step 'I should see the revert merge request notice' do page.should have_content('The merge request has been successfully reverted.') + wait_for_vue_resource end step 'I should not see the revert button' do @@ -26,7 +28,7 @@ class Spinach::Features::RevertMergeRequests < Spinach::FeatureSteps end step 'I click on Accept Merge Request' do - click_button('Accept merge request') + click_button('Merge') end step 'I am signed in as a developer of the project' do diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb index d5b3bb34d7a..46b3cb79af2 100644 --- a/features/steps/shared/paths.rb +++ b/features/steps/shared/paths.rb @@ -2,6 +2,7 @@ module SharedPaths include Spinach::DSL include RepoHelpers include DashboardHelper + include WaitForVueResource step 'I visit new project page' do visit new_project_path @@ -377,23 +378,28 @@ module SharedPaths step 'I visit merge request page "Bug NS-04"' do visit merge_request_path("Bug NS-04") + wait_for_vue_resource end step 'I visit merge request page "Bug NS-05"' do visit merge_request_path("Bug NS-05") + wait_for_vue_resource end step 'I visit merge request page "Bug NS-07"' do visit merge_request_path("Bug NS-07") + wait_for_vue_resource end step 'I visit merge request page "Bug NS-08"' do visit merge_request_path("Bug NS-08") + wait_for_vue_resource end step 'I visit merge request page "Bug CO-01"' do mr = MergeRequest.find_by(title: "Bug CO-01") visit namespace_project_merge_request_path(mr.target_project.namespace, mr.target_project, mr) + wait_for_vue_resource end step 'I visit project "Shop" merge requests page' do diff --git a/features/support/env.rb b/features/support/env.rb index 92d13bea4b6..568eeae4479 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -10,7 +10,7 @@ if ENV['CI'] Knapsack::Adapters::SpinachAdapter.bind end -%w(select2_helper test_env repo_helpers wait_for_ajax wait_for_requests sidekiq).each do |f| +%w(select2_helper test_env repo_helpers wait_for_ajax wait_for_requests sidekiq wait_for_vue_resource).each do |f| require Rails.root.join('spec', 'support', f) end diff --git a/lib/gitlab/prometheus.rb b/lib/gitlab/prometheus.rb index 8827507955d..37125980b1c 100644 --- a/lib/gitlab/prometheus.rb +++ b/lib/gitlab/prometheus.rb @@ -13,18 +13,18 @@ module Gitlab json_api_get('query', query: '1') end - def query(query) + def query(query, time: Time.now) get_result('vector') do - json_api_get('query', query: query) + json_api_get('query', query: query, time: time.utc.to_f) end end - def query_range(query, start: 8.hours.ago) + def query_range(query, start: 8.hours.ago, stop: Time.now) get_result('matrix') do json_api_get('query_range', query: query, start: start.to_f, - end: Time.now.utc.to_f, + end: stop.to_f, step: 1.minute.to_i) end end diff --git a/spec/controllers/projects/branches_controller_spec.rb b/spec/controllers/projects/branches_controller_spec.rb index 8f915d9d210..f285e5333d6 100644 --- a/spec/controllers/projects/branches_controller_spec.rb +++ b/spec/controllers/projects/branches_controller_spec.rb @@ -213,33 +213,98 @@ describe Projects::BranchesController do sign_in(user) post :destroy, - format: :js, - id: branch, - namespace_id: project.namespace, - project_id: project + format: format, + id: branch, + namespace_id: project.namespace, + project_id: project end - context "valid branch name, valid source" do + context 'as JS' do let(:branch) { "feature" } + let(:format) { :js } - it { expect(response).to have_http_status(200) } - end + context "valid branch name, valid source" do + let(:branch) { "feature" } + + it { expect(response).to have_http_status(200) } + it { expect(response.body).to be_blank } + end + + context "valid branch name with unencoded slashes" do + let(:branch) { "improve/awesome" } + + it { expect(response).to have_http_status(200) } + it { expect(response.body).to be_blank } + end + + context "valid branch name with encoded slashes" do + let(:branch) { "improve%2Fawesome" } - context "valid branch name with unencoded slashes" do - let(:branch) { "improve/awesome" } + it { expect(response).to have_http_status(200) } + it { expect(response.body).to be_blank } + end - it { expect(response).to have_http_status(200) } + context "invalid branch name, valid ref" do + let(:branch) { "no-branch" } + + it { expect(response).to have_http_status(404) } + it { expect(response.body).to be_blank } + end end - context "valid branch name with encoded slashes" do - let(:branch) { "improve%2Fawesome" } + context 'as JSON' do + let(:branch) { "feature" } + let(:format) { :json } + + context 'valid branch name, valid source' do + let(:branch) { "feature" } - it { expect(response).to have_http_status(200) } + it 'returns JSON response with message' do + expect(json_response).to eql("message" => 'Branch was removed') + end + + it { expect(response).to have_http_status(200) } + end + + context 'valid branch name with unencoded slashes' do + let(:branch) { "improve/awesome" } + + it 'returns JSON response with message' do + expect(json_response).to eql('message' => 'Branch was removed') + end + + it { expect(response).to have_http_status(200) } + end + + context "valid branch name with encoded slashes" do + let(:branch) { 'improve%2Fawesome' } + + it 'returns JSON response with message' do + expect(json_response).to eql('message' => 'Branch was removed') + end + + it { expect(response).to have_http_status(200) } + end + + context 'invalid branch name, valid ref' do + let(:branch) { 'no-branch' } + + it 'returns JSON response with message' do + expect(json_response).to eql('message' => 'No such branch') + end + + it { expect(response).to have_http_status(404) } + end end - context "invalid branch name, valid ref" do - let(:branch) { "no-branch" } - it { expect(response).to have_http_status(404) } + context 'as HTML' do + let(:branch) { "feature" } + let(:format) { :html } + + it 'redirects to branches path' do + expect(response) + .to redirect_to(namespace_project_branches_path(project.namespace, project)) + end end end diff --git a/spec/controllers/projects/deployments_controller_spec.rb b/spec/controllers/projects/deployments_controller_spec.rb index 89692b601b2..3de38bb4dac 100644 --- a/spec/controllers/projects/deployments_controller_spec.rb +++ b/spec/controllers/projects/deployments_controller_spec.rb @@ -8,7 +8,7 @@ describe Projects::DeploymentsController do let(:environment) { create(:environment, name: 'production', project: project) } before do - project.add_master(user) + project.team << [user, :master] sign_in(user) end @@ -19,7 +19,7 @@ describe Projects::DeploymentsController do create(:deployment, environment: environment, created_at: 7.hours.ago) create(:deployment, environment: environment) - get :index, environment_params(after: 8.hours.ago) + get :index, deployment_params(after: 8.hours.ago) expect(response).to be_ok @@ -29,14 +29,59 @@ describe Projects::DeploymentsController do it 'returns a list with deployments information' do create(:deployment, environment: environment) - get :index, environment_params + get :index, deployment_params expect(response).to be_ok expect(response).to match_response_schema('deployments') end end - def environment_params(opts = {}) - opts.reverse_merge(namespace_id: project.namespace, project_id: project, environment_id: environment.id) + describe 'GET #metrics' do + let(:deployment) { create(:deployment, project: project, environment: environment) } + + before do + allow(controller).to receive(:deployment).and_return(deployment) + end + + context 'when environment has no metrics' do + before do + expect(deployment).to receive(:metrics).and_return(nil) + end + + it 'returns a empty response 204 resposne' do + get :metrics, deployment_params(id: deployment.id) + expect(response).to have_http_status(204) + expect(response.body).to eq('') + end + end + + context 'when environment has some metrics' do + let(:empty_metrics) do + { + success: true, + metrics: {}, + last_update: 42 + } + end + + before do + expect(deployment).to receive(:metrics).and_return(empty_metrics) + end + + it 'returns a metrics JSON document' do + get :metrics, deployment_params(id: deployment.id) + + expect(response).to be_ok + expect(json_response['success']).to be(true) + expect(json_response['metrics']).to eq({}) + expect(json_response['last_update']).to eq(42) + end + end + end + + def deployment_params(opts = {}) + opts.reverse_merge(namespace_id: project.namespace, + project_id: project, + environment_id: environment.id) end end diff --git a/spec/controllers/projects/environments_controller_spec.rb b/spec/controllers/projects/environments_controller_spec.rb index 5c478534ff3..c0f8c36a018 100644 --- a/spec/controllers/projects/environments_controller_spec.rb +++ b/spec/controllers/projects/environments_controller_spec.rb @@ -149,6 +149,48 @@ describe Projects::EnvironmentsController do end end + describe 'PATCH #stop' do + context 'when env not available' do + it 'returns 404' do + allow_any_instance_of(Environment).to receive(:available?) { false } + + patch :stop, environment_params(format: :json) + + expect(response).to have_http_status(404) + end + end + + context 'when stop action' do + it 'returns action url' do + action = create(:ci_build, :manual) + + allow_any_instance_of(Environment) + .to receive_messages(available?: true, stop_with_action!: action) + + patch :stop, environment_params(format: :json) + + expect(response).to have_http_status(200) + expect(json_response).to eq( + { 'redirect_url' => + "http://test.host/#{project.path_with_namespace}/builds/#{action.id}" }) + end + end + + context 'when no stop action' do + it 'returns env url' do + allow_any_instance_of(Environment) + .to receive_messages(available?: true, stop_with_action!: nil) + + patch :stop, environment_params(format: :json) + + expect(response).to have_http_status(200) + expect(json_response).to eq( + { 'redirect_url' => + "http://test.host/#{project.path_with_namespace}/environments/#{environment.id}" }) + end + end + end + describe 'GET #terminal' do context 'with valid id' do it 'responds with a status code 200' do diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index 0483c6b7879..964246b580c 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -59,6 +59,18 @@ describe Projects::MergeRequestsController do end end + describe 'GET commit_change_content' do + it 'renders commit_change_content template' do + get :commit_change_content, + namespace_id: project.namespace.to_param, + project_id: project, + id: merge_request.iid, + format: 'html' + + expect(response).to render_template('_commit_change_content') + end + end + shared_examples "loads labels" do |action| it "loads labels into the @labels variable" do get action, @@ -71,63 +83,47 @@ describe Projects::MergeRequestsController do end describe "GET show" do - shared_examples "export merge as" do |format| - it "does generally work" do - get(:show, - namespace_id: project.namespace.to_param, - project_id: project, - id: merge_request.iid, - format: format) + def go(extra_params = {}) + params = { + namespace_id: project.namespace.to_param, + project_id: project, + id: merge_request.iid + } - expect(response).to be_success - end + get :show, params.merge(extra_params) + end - it_behaves_like "loads labels", :show + it_behaves_like "loads labels", :show - it "generates it" do - expect_any_instance_of(MergeRequest).to receive(:"to_#{format}") + describe 'as html' do + it "renders merge request page" do + go(format: :html) - get(:show, - namespace_id: project.namespace.to_param, - project_id: project, - id: merge_request.iid, - format: format) + expect(response).to be_success end + end - it "renders it" do - get(:show, - namespace_id: project.namespace.to_param, - project_id: project, - id: merge_request.iid, - format: format) + describe 'as json' do + context 'with basic param' do + it 'renders basic MR entity as json' do + go(basic: true, format: :json) - expect(response.body).to eq(merge_request.send(:"to_#{format}").to_s) + expect(response).to match_response_schema('entities/merge_request_basic') + end end - it "does not escape Html" do - allow_any_instance_of(MergeRequest).to receive(:"to_#{format}"). - and_return('HTML entities &<>" ') + context 'without basic param' do + it 'renders the merge request in the json format' do + go(format: :json) - get(:show, - namespace_id: project.namespace.to_param, - project_id: project, - id: merge_request.iid, - format: format) - - expect(response.body).not_to include('&') - expect(response.body).not_to include('>') - expect(response.body).not_to include('<') - expect(response.body).not_to include('"') + expect(response).to match_response_schema('entities/merge_request') + end end end describe "as diff" do it "triggers workhorse to serve the request" do - get(:show, - namespace_id: project.namespace.to_param, - project_id: project, - id: merge_request.iid, - format: :diff) + go(format: :diff) expect(response.headers[Gitlab::Workhorse::SEND_DATA_HEADER]).to start_with("git-diff:") end @@ -135,11 +131,7 @@ describe Projects::MergeRequestsController do describe "as patch" do it 'triggers workhorse to serve the request' do - get(:show, - namespace_id: project.namespace.to_param, - project_id: project, - id: merge_request.iid, - format: :patch) + go(format: :patch) expect(response.headers[Gitlab::Workhorse::SEND_DATA_HEADER]).to start_with("git-format-patch:") end @@ -295,19 +287,18 @@ describe Projects::MergeRequestsController do namespace_id: project.namespace, project_id: project, id: merge_request.iid, - format: 'raw' + format: 'json' } end - context 'when the user does not have access' do + context 'when user cannot access' do before do - project.team.truncate - project.team << [user, :reporter] - post :merge, base_params + project.add_reporter(user) + xhr :post, :merge, base_params end - it 'returns not found' do - expect(response).to be_not_found + it 'returns 404' do + expect(response).to have_http_status(404) end end @@ -319,7 +310,7 @@ describe Projects::MergeRequestsController do end it 'returns :failed' do - expect(assigns(:status)).to eq(:failed) + expect(json_response).to eq('status' => 'failed') end end @@ -327,7 +318,7 @@ describe Projects::MergeRequestsController do before { post :merge, base_params.merge(sha: 'foo') } it 'returns :sha_mismatch' do - expect(assigns(:status)).to eq(:sha_mismatch) + expect(json_response).to eq('status' => 'sha_mismatch') end end @@ -339,7 +330,7 @@ describe Projects::MergeRequestsController do it 'returns :success' do merge_with_sha - expect(assigns(:status)).to eq(:success) + expect(json_response).to eq('status' => 'success') end it 'starts the merge immediately' do @@ -360,7 +351,7 @@ describe Projects::MergeRequestsController do it 'returns :merge_when_pipeline_succeeds' do merge_when_pipeline_succeeds - expect(assigns(:status)).to eq(:merge_when_pipeline_succeeds) + expect(json_response).to eq('status' => 'merge_when_pipeline_succeeds') end it 'sets the MR to merge when the pipeline succeeds' do @@ -382,7 +373,7 @@ describe Projects::MergeRequestsController do it 'returns :merge_when_pipeline_succeeds' do merge_when_pipeline_succeeds - expect(assigns(:status)).to eq(:merge_when_pipeline_succeeds) + expect(json_response).to eq('status' => 'merge_when_pipeline_succeeds') end end end @@ -403,7 +394,7 @@ describe Projects::MergeRequestsController do it 'returns :failed' do merge_with_sha - expect(assigns(:status)).to eq(:failed) + expect(json_response).to eq('status' => 'failed') end end @@ -416,7 +407,7 @@ describe Projects::MergeRequestsController do it 'returns :success' do merge_with_sha - expect(assigns(:status)).to eq(:success) + expect(json_response).to eq('status' => 'success') end end end @@ -434,7 +425,7 @@ describe Projects::MergeRequestsController do it 'returns :success' do merge_with_sha - expect(assigns(:status)).to eq(:success) + expect(json_response).to eq('status' => 'success') end end @@ -447,7 +438,7 @@ describe Projects::MergeRequestsController do it 'returns :success' do merge_with_sha - expect(assigns(:status)).to eq(:success) + expect(json_response).to eq('status' => 'success') end end end @@ -831,18 +822,55 @@ describe Projects::MergeRequestsController do end end - context 'POST remove_wip' do - it 'removes the wip status' do + describe 'POST remove_wip' do + before do merge_request.title = merge_request.wip_title merge_request.save - post :remove_wip, - namespace_id: merge_request.project.namespace.to_param, - project_id: merge_request.project, - id: merge_request.iid + xhr :post, :remove_wip, + namespace_id: merge_request.project.namespace.to_param, + project_id: merge_request.project, + id: merge_request.iid, + format: :json + end + it 'removes the wip status' do expect(merge_request.reload.title).to eq(merge_request.wipless_title) end + + it 'renders MergeRequest as JSON' do + expect(json_response.keys).to include('id', 'iid', 'description') + end + end + + describe 'POST cancel_merge_when_pipeline_succeeds' do + subject do + xhr :post, :cancel_merge_when_pipeline_succeeds, + namespace_id: merge_request.project.namespace.to_param, + project_id: merge_request.project, + id: merge_request.iid, + format: :json + end + + it 'calls MergeRequests::MergeWhenPipelineSucceedsService' do + mwps_service = double + + allow(MergeRequests::MergeWhenPipelineSucceedsService) + .to receive(:new) + .and_return(mwps_service) + + expect(mwps_service).to receive(:cancel).with(merge_request) + + subject + end + + it { is_expected.to have_http_status(:success) } + + it 'renders MergeRequest as JSON' do + subject + + expect(json_response.keys).to include('id', 'iid', 'description') + end end describe 'GET conflict_for_path' do @@ -1121,74 +1149,6 @@ describe Projects::MergeRequestsController do end end - describe 'GET merge_widget_refresh' do - let(:params) do - { - namespace_id: project.namespace, - project_id: project, - id: merge_request.iid, - format: :raw - } - end - - before do - project.team << [user, :developer] - xhr :get, :merge_widget_refresh, params - end - - context 'when merge in progress' do - let(:merge_request) { create(:merge_request, source_project: project, in_progress_merge_commit_sha: 'sha') } - - it 'returns an OK response' do - expect(response).to have_http_status(:ok) - end - - it 'sets status to :success' do - expect(assigns(:status)).to eq(:success) - expect(response).to render_template('merge') - end - end - - context 'when merge request was merged already' do - let(:merge_request) { create(:merge_request, source_project: project, state: :merged) } - - it 'returns an OK response' do - expect(response).to have_http_status(:ok) - end - - it 'sets status to :success' do - expect(assigns(:status)).to eq(:success) - expect(response).to render_template('merge') - end - end - - context 'when waiting for build' do - let(:merge_request) { create(:merge_request, source_project: project, merge_when_pipeline_succeeds: true, merge_user: user) } - - it 'returns an OK response' do - expect(response).to have_http_status(:ok) - end - - it 'sets status to :merge_when_pipeline_succeeds' do - expect(assigns(:status)).to eq(:merge_when_pipeline_succeeds) - expect(response).to render_template('merge') - end - end - - context 'when MR does not have special state' do - let(:merge_request) { create(:merge_request, source_project: project) } - - it 'returns an OK response' do - expect(response).to have_http_status(:ok) - end - - it 'sets status to success' do - expect(assigns(:status)).to eq(:success) - expect(response).to render_template('merge') - end - end - end - describe 'GET pipeline_status.json' do context 'when head_pipeline exists' do let!(:pipeline) do diff --git a/spec/features/boards/issue_ordering_spec.rb b/spec/features/boards/issue_ordering_spec.rb index c50155a6d14..bfa2a72a256 100644 --- a/spec/features/boards/issue_ordering_spec.rb +++ b/spec/features/boards/issue_ordering_spec.rb @@ -38,6 +38,8 @@ describe 'Issue Boards', :feature, :js do it 'moves un-ordered issue to top of list' do drag(from_index: 3, to_index: 0) + wait_for_vue_resource + page.within(first('.board')) do expect(first('.card')).to have_content(issue4.title) end diff --git a/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb b/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb index 58f897cba3e..dc13cab2cd1 100644 --- a/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb +++ b/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb @@ -49,7 +49,7 @@ feature 'Resolving all open discussions in a merge request from an issue', featu end it 'does not show a link to create a new issue' do - expect(page).not_to have_link 'open an issue to resolve them later' + expect(page).not_to have_link 'Create an issue to resolve them later' end end @@ -59,18 +59,18 @@ feature 'Resolving all open discussions in a merge request from an issue', featu end it 'shows a warning that the merge request contains unresolved discussions' do - expect(page).to have_content 'This merge request has unresolved discussions' + expect(page).to have_content 'There are unresolved discussions.' end it 'has a link to resolve all discussions by creating an issue' do page.within '.mr-widget-body' do - expect(page).to have_link 'open an issue to resolve them later', href: new_namespace_project_issue_path(project.namespace, project, merge_request_to_resolve_discussions_of: merge_request.iid) + expect(page).to have_link 'Create an issue to resolve them later', href: new_namespace_project_issue_path(project.namespace, project, merge_request_to_resolve_discussions_of: merge_request.iid) end end context 'creating an issue for discussions' do before do - page.click_link 'open an issue to resolve them later', href: new_namespace_project_issue_path(project.namespace, project, merge_request_to_resolve_discussions_of: merge_request.iid) + page.click_link 'Create an issue to resolve them later', href: new_namespace_project_issue_path(project.namespace, project, merge_request_to_resolve_discussions_of: merge_request.iid) end it_behaves_like 'creating an issue for a discussion' diff --git a/spec/features/merge_requests/assign_issues_spec.rb b/spec/features/merge_requests/assign_issues_spec.rb index ec49003772b..b306e2f5f75 100644 --- a/spec/features/merge_requests/assign_issues_spec.rb +++ b/spec/features/merge_requests/assign_issues_spec.rb @@ -18,7 +18,7 @@ feature 'Merge request issue assignment', js: true, feature: true do end context 'logged in as author' do - scenario 'updates related issues' do + it 'updates related issues' do visit_merge_request click_link "Assign yourself to these issues" diff --git a/spec/features/merge_requests/check_if_mergeable_with_unresolved_discussions_spec.rb b/spec/features/merge_requests/check_if_mergeable_with_unresolved_discussions_spec.rb index 77b7ba4ac7a..fa306c02a43 100644 --- a/spec/features/merge_requests/check_if_mergeable_with_unresolved_discussions_spec.rb +++ b/spec/features/merge_requests/check_if_mergeable_with_unresolved_discussions_spec.rb @@ -19,8 +19,8 @@ feature 'Check if mergeable with unresolved discussions', js: true, feature: tru it 'does not allow to merge' do visit_merge_request(merge_request) - expect(page).not_to have_button 'Accept merge request' - expect(page).to have_content('This merge request has unresolved discussions') + expect(page).not_to have_button 'Merge' + expect(page).to have_content('There are unresolved discussions.') end end @@ -32,7 +32,7 @@ feature 'Check if mergeable with unresolved discussions', js: true, feature: tru it 'allows MR to be merged' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + expect(page).to have_button 'Merge' end end end @@ -46,7 +46,7 @@ feature 'Check if mergeable with unresolved discussions', js: true, feature: tru it 'does not allow to merge' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + expect(page).to have_button 'Merge' end end @@ -58,7 +58,7 @@ feature 'Check if mergeable with unresolved discussions', js: true, feature: tru it 'allows MR to be merged' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + expect(page).to have_button 'Merge' end end end diff --git a/spec/features/merge_requests/cherry_pick_spec.rb b/spec/features/merge_requests/cherry_pick_spec.rb index dfe7c910a10..6ba681e36f7 100644 --- a/spec/features/merge_requests/cherry_pick_spec.rb +++ b/spec/features/merge_requests/cherry_pick_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe 'Cherry-pick Merge Requests' do +describe 'Cherry-pick Merge Requests', js: true do let(:user) { create(:user) } let(:group) { create(:group) } let(:project) { create(:project, namespace: group) } diff --git a/spec/features/merge_requests/closes_issues_spec.rb b/spec/features/merge_requests/closes_issues_spec.rb index eafcab6a0d7..ee0880a1e2f 100644 --- a/spec/features/merge_requests/closes_issues_spec.rb +++ b/spec/features/merge_requests/closes_issues_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' -feature 'Merge Request closing issues message', feature: true do +feature 'Merge Request closing issues message', feature: true, js: true do + include WaitForAjax + let(:user) { create(:user) } let(:project) { create(:project, :public) } let(:issue_1) { create(:issue, project: project)} @@ -23,6 +25,7 @@ feature 'Merge Request closing issues message', feature: true do login_as user visit namespace_project_merge_request_path(project.namespace, project, merge_request) + wait_for_ajax end context 'not closing or mentioning any issue' do @@ -35,7 +38,7 @@ feature 'Merge Request closing issues message', feature: true do let(:merge_request_description) { "Description\n\nclosing #{issue_1.to_reference}, #{issue_2.to_reference}" } it 'does not display closing issue message' do - expect(page).to have_content("Accepting this merge request will close issues #{issue_1.to_reference} and #{issue_2.to_reference}") + expect(page).to have_content("Closes issues #{issue_1.to_reference} and #{issue_2.to_reference}") end end @@ -51,7 +54,8 @@ feature 'Merge Request closing issues message', feature: true do let(:merge_request_title) { "closes #{issue_1.to_reference}\n\n refers to #{issue_2.to_reference}" } it 'does not display closing issue message' do - expect(page).to have_content("Accepting this merge request will close issue #{issue_1.to_reference}. Issue #{issue_2.to_reference} is mentioned but will not be closed.") + expect(page).to have_content("Closes issue #{issue_1.to_reference}.") + expect(page).to have_content("Issue #{issue_2.to_reference} is mentioned but will not be closed.") end end @@ -59,7 +63,7 @@ feature 'Merge Request closing issues message', feature: true do let(:merge_request_title) { "closing #{issue_1.to_reference}, #{issue_2.to_reference}" } it 'does not display closing issue message' do - expect(page).to have_content("Accepting this merge request will close issues #{issue_1.to_reference} and #{issue_2.to_reference}") + expect(page).to have_content("Closes issues #{issue_1.to_reference} and #{issue_2.to_reference}") end end @@ -75,7 +79,8 @@ feature 'Merge Request closing issues message', feature: true do let(:merge_request_title) { "closes #{issue_1.to_reference}\n\n refers to #{issue_2.to_reference}" } it 'does not display closing issue message' do - expect(page).to have_content("Accepting this merge request will close issue #{issue_1.to_reference}. Issue #{issue_2.to_reference} is mentioned but will not be closed.") + expect(page).to have_content("Closes issue #{issue_1.to_reference}. Issue #{issue_2.to_reference} is mentioned but will not be closed.") + expect(page).to have_content("Issue #{issue_2.to_reference} is mentioned but will not be closed.") end end end diff --git a/spec/features/merge_requests/created_from_fork_spec.rb b/spec/features/merge_requests/created_from_fork_spec.rb index 18833ba7266..bf34c99b92a 100644 --- a/spec/features/merge_requests/created_from_fork_spec.rb +++ b/spec/features/merge_requests/created_from_fork_spec.rb @@ -31,7 +31,7 @@ feature 'Merge request created from fork' do fork_project.destroy! end - scenario 'user can access merge request' do + scenario 'user can access merge request', js: true do visit_merge_request(merge_request) expect(page).to have_content 'Test merge request' diff --git a/spec/features/merge_requests/deleted_source_branch_spec.rb b/spec/features/merge_requests/deleted_source_branch_spec.rb index 648678e2b1a..01e5e4f3a05 100644 --- a/spec/features/merge_requests/deleted_source_branch_spec.rb +++ b/spec/features/merge_requests/deleted_source_branch_spec.rb @@ -20,7 +20,7 @@ describe 'Deleted source branch', feature: true, js: true do it 'shows a message about missing source branch' do expect(page).to have_content( - 'Source branch this-branch-does-not-exist does not exist' + 'Source branch does not exist.' ) end @@ -35,6 +35,6 @@ describe 'Deleted source branch', feature: true, js: true do wait_for_ajax expect(page).to have_selector('.diffs.tab-pane .nothing-here-block') - expect(page).to have_content('Nothing to merge from this-branch-does-not-exist into feature') + expect(page).to have_content('Source branch does not exist.') end end diff --git a/spec/features/merge_requests/edit_mr_spec.rb b/spec/features/merge_requests/edit_mr_spec.rb index cb3bc392903..ec87a99b3ab 100644 --- a/spec/features/merge_requests/edit_mr_spec.rb +++ b/spec/features/merge_requests/edit_mr_spec.rb @@ -29,18 +29,6 @@ feature 'Edit Merge Request', feature: true do expect(page).to have_content 'Someone edited the merge request the same time you did' end - it 'allows to unselect "Remove source branch"' do - merge_request.update(merge_params: { 'force_remove_source_branch' => '1' }) - expect(merge_request.merge_params['force_remove_source_branch']).to be_truthy - - visit edit_namespace_project_merge_request_path(project.namespace, project, merge_request) - uncheck 'Remove source branch when merge request is accepted' - - click_button 'Save changes' - - expect(page).to have_content 'Remove source branch' - end - it 'should preserve description textarea height', js: true do long_description = %q( Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam ac ornare ligula, ut tempus arcu. Etiam ultricies accumsan dolor vitae faucibus. Donec at elit lacus. Mauris orci ante, aliquam quis lorem eget, convallis faucibus arcu. Aenean at pulvinar lacus. Ut viverra quam massa, molestie ornare tortor dignissim a. Suspendisse tristique pellentesque tellus, id lacinia metus elementum id. Nam tristique, arcu rhoncus faucibus viverra, lacus ipsum sagittis ligula, vitae convallis odio lacus a nibh. Ut tincidunt est purus, ac vestibulum augue maximus in. Suspendisse vel erat et mi ultricies semper. Pellentesque volutpat pellentesque consequat. diff --git a/spec/features/merge_requests/merge_commit_message_toggle_spec.rb b/spec/features/merge_requests/merge_commit_message_toggle_spec.rb index 1bc2a5548dd..221ddb5873c 100644 --- a/spec/features/merge_requests/merge_commit_message_toggle_spec.rb +++ b/spec/features/merge_requests/merge_commit_message_toggle_spec.rb @@ -14,8 +14,6 @@ feature 'Clicking toggle commit message link', feature: true, js: true do ) end let(:textbox) { page.find(:css, '.js-commit-message', visible: false) } - let(:include_link) { page.find(:css, '.js-with-description-link', visible: false) } - let(:do_not_include_link) { page.find(:css, '.js-without-description-link', visible: false) } let(:default_message) do [ "Merge branch 'feature' into 'master'", @@ -40,7 +38,7 @@ feature 'Clicking toggle commit message link', feature: true, js: true do visit namespace_project_merge_request_path(project.namespace, project, merge_request) - expect(textbox).not_to be_visible + expect(page).not_to have_selector('.js-commit-message') click_button "Modify commit message" expect(textbox).to be_visible end @@ -56,19 +54,4 @@ feature 'Clicking toggle commit message link', feature: true, js: true do expect(textbox.value).to eq(default_message) end - - it "toggles link between 'Include description' and 'Don't include description'" do - expect(include_link).to be_visible - expect(do_not_include_link).not_to be_visible - - click_link "Include description in commit message" - - expect(include_link).not_to be_visible - expect(do_not_include_link).to be_visible - - click_link "Don't include description in commit message" - - expect(include_link).to be_visible - expect(do_not_include_link).not_to be_visible - end end diff --git a/spec/features/merge_requests/merge_immediately_with_pipeline_spec.rb b/spec/features/merge_requests/merge_immediately_with_pipeline_spec.rb index 497240803d4..b79667a1a4c 100644 --- a/spec/features/merge_requests/merge_immediately_with_pipeline_spec.rb +++ b/spec/features/merge_requests/merge_immediately_with_pipeline_spec.rb @@ -34,7 +34,7 @@ feature 'Merge immediately', :feature, :js do click_link 'Merge immediately' - expect(find('.js-merge-when-pipeline-succeeds-button')).to have_content('Merge in progress') + expect(find('.accept-merge-request.btn-info')).to have_content('Merge in progress') wait_for_ajax end diff --git a/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb b/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb index cd540ca113a..b33d7f90a31 100644 --- a/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb +++ b/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb @@ -38,8 +38,8 @@ feature 'Merge When Pipeline Succeeds', :feature, :js do click_button "Merge when pipeline succeeds" expect(page).to have_content "Set by #{user.name} to be merged automatically when the pipeline succeeds." - expect(page).to have_content "The source branch will not be removed." - expect(page).to have_link "Cancel automatic merge" + expect(page).to have_content "The source branch will be removed." + expect(page).to have_selector ".js-cancel-auto-merge" visit_merge_request(merge_request) # Needed to refresh the page expect(page).to have_content /enabled an automatic merge when the pipeline for \h{8} succeeds/i end @@ -93,12 +93,10 @@ feature 'Merge When Pipeline Succeeds', :feature, :js do describe 'enabling Merge when pipeline succeeds via dropdown' do it 'activates the Merge when pipeline succeeds feature' do click_button 'Select merge moment' - within('.js-merge-dropdown') do - click_link 'Merge when pipeline succeeds' - end + click_link 'Merge when pipeline succeeds' expect(page).to have_content "Set by #{user.name} to be merged automatically when the pipeline succeeds." - expect(page).to have_content "The source branch will not be removed." + expect(page).to have_content "The source branch will be removed." expect(page).to have_link "Cancel automatic merge" end end @@ -131,13 +129,6 @@ feature 'Merge When Pipeline Succeeds', :feature, :js do expect(page).to have_content "canceled the automatic merge" end - it "allows the user to remove the source branch" do - expect(page).to have_link "Remove source branch when merged" - - click_link "Remove source branch when merged" - expect(page).to have_content "The source branch will be removed" - end - context 'when pipeline succeeds' do background { build.success } diff --git a/spec/features/merge_requests/only_allow_merge_if_build_succeeds_spec.rb b/spec/features/merge_requests/only_allow_merge_if_build_succeeds_spec.rb index 4a590e3bf68..187e927dac4 100644 --- a/spec/features/merge_requests/only_allow_merge_if_build_succeeds_spec.rb +++ b/spec/features/merge_requests/only_allow_merge_if_build_succeeds_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' -feature 'Only allow merge requests to be merged if the pipeline succeeds', feature: true do +feature 'Only allow merge requests to be merged if the pipeline succeeds', feature: true, js: true do + include WaitForVueResource + let(:merge_request) { create(:merge_request_with_diffs) } let(:project) { merge_request.target_project } @@ -10,15 +12,17 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu project.team << [merge_request.author, :master] end - context 'project does not have CI enabled' do + context 'project does not have CI enabled', js: true do it 'allows MR to be merged' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + wait_for_vue_resource + + expect(page).to have_button 'Merge' end end - context 'when project has CI enabled' do + context 'when project has CI enabled', js: true do given!(:pipeline) do create(:ci_empty_pipeline, project: project, @@ -38,6 +42,8 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu it 'does not allow to merge immediately' do visit_merge_request(merge_request) + wait_for_vue_resource + expect(page).to have_button 'Merge when pipeline succeeds' expect(page).not_to have_button 'Select merge moment' end @@ -49,7 +55,9 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu it 'does not allow MR to be merged' do visit_merge_request(merge_request) - expect(page).not_to have_button 'Accept merge request' + wait_for_vue_resource + + expect(page).to have_css('button[disabled="disabled"]', text: 'Merge') expect(page).to have_content('Please retry the job or push a new commit to fix the failure.') end end @@ -60,7 +68,9 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu it 'does not allow MR to be merged' do visit_merge_request(merge_request) - expect(page).not_to have_button 'Accept merge request' + wait_for_vue_resource + + expect(page).not_to have_button 'Merge' expect(page).to have_content('Please retry the job or push a new commit to fix the failure.') end end @@ -71,7 +81,9 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu it 'allows MR to be merged' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + wait_for_vue_resource + + expect(page).to have_button 'Merge' end end @@ -81,7 +93,9 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu it 'allows MR to be merged' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + wait_for_vue_resource + + expect(page).to have_button 'Merge' end end end @@ -94,9 +108,11 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu context 'when CI is running' do given(:status) { :running } - it 'allows MR to be merged immediately', js: true do + it 'allows MR to be merged immediately' do visit_merge_request(merge_request) + wait_for_vue_resource + expect(page).to have_button 'Merge when pipeline succeeds' click_button 'Select merge moment' @@ -110,7 +126,9 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu it 'allows MR to be merged' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + wait_for_vue_resource + + expect(page).to have_button 'Merge' end end @@ -120,7 +138,9 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu it 'allows MR to be merged' do visit_merge_request(merge_request) - expect(page).to have_button 'Accept merge request' + wait_for_vue_resource + + expect(page).to have_button 'Merge' end end end diff --git a/spec/features/merge_requests/target_branch_spec.rb b/spec/features/merge_requests/target_branch_spec.rb index b6134540273..c154cf8ade9 100644 --- a/spec/features/merge_requests/target_branch_spec.rb +++ b/spec/features/merge_requests/target_branch_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe 'Target branch', feature: true do +describe 'Target branch', feature: true, js: true do let(:user) { create(:user) } let(:merge_request) { create(:merge_request) } let(:project) { merge_request.project } @@ -17,11 +17,6 @@ describe 'Target branch', feature: true do project.team << [user, :master] end - it 'shows link to target branch' do - visit path_to_merge_request - expect(page).to have_link('feature', href: namespace_project_commits_path(project.namespace, project, merge_request.target_branch)) - end - context 'when branch was deleted' do before do DeleteBranchService.new(project, user).execute('feature') @@ -30,12 +25,12 @@ describe 'Target branch', feature: true do it 'shows a message about missing target branch' do expect(page).to have_content( - 'Target branch feature does not exist' + 'Target branch does not exist' ) end it 'does not show link to target branch' do - expect(page).not_to have_link('feature') + expect(page).not_to have_selector('.mr-widget-body .js-branch-text a') end end end diff --git a/spec/features/merge_requests/widget_deployments_spec.rb b/spec/features/merge_requests/widget_deployments_spec.rb index 00d191ddf2c..8370499f6ed 100644 --- a/spec/features/merge_requests/widget_deployments_spec.rb +++ b/spec/features/merge_requests/widget_deployments_spec.rb @@ -21,7 +21,7 @@ feature 'Widget Deployments Header', feature: true, js: true do wait_for_ajax expect(page).to have_content("Deployed to #{environment.name}") - expect(find('.ci_widget > span > span')['data-title']).to eq(deployment.created_at.to_time.in_time_zone.to_s(:medium)) + expect(find('.js-deploy-time')['data-title']).to eq(deployment.created_at.to_time.in_time_zone.to_s(:medium)) end context 'with stop action' do @@ -38,11 +38,11 @@ feature 'Widget Deployments Header', feature: true, js: true do end scenario 'does show stop button' do - expect(page).to have_link('Stop environment') + expect(page).to have_button('Stop environment') end scenario 'does start build when stop button clicked' do - click_link('Stop environment') + click_button('Stop environment') expect(page).to have_content('close_app') end @@ -51,7 +51,7 @@ feature 'Widget Deployments Header', feature: true, js: true do given(:role) { :reporter } scenario 'does not show stop button' do - expect(page).not_to have_link('Stop environment') + expect(page).not_to have_button('Stop environment') end end end diff --git a/spec/features/merge_requests/widget_spec.rb b/spec/features/merge_requests/widget_spec.rb index d918181a238..3fcdc9f2c61 100644 --- a/spec/features/merge_requests/widget_spec.rb +++ b/spec/features/merge_requests/widget_spec.rb @@ -30,6 +30,7 @@ describe 'Merge request', :feature, :js do wait_for_ajax expect(page).to have_selector('.accept-merge-request') + expect(find('.accept-merge-request')['disabled']).not_to be(true) end end @@ -51,14 +52,15 @@ describe 'Merge request', :feature, :js do page.within('.mr-widget-heading') do expect(page).to have_content("Deployed to #{environment.name}") - expect(find('.js-environment-link')[:href]).to include(environment.formatted_external_url) + expect(find('.js-deploy-url')[:href]).to include(environment.formatted_external_url) end end it 'shows green accept merge request button' do # Wait for the `ci_status` and `merge_check` requests wait_for_ajax - expect(page).to have_selector('.accept-merge-request.btn-create') + expect(page).to have_selector('.accept-merge-request') + expect(find('.accept-merge-request')['disabled']).not_to be(true) end end @@ -135,7 +137,28 @@ describe 'Merge request', :feature, :js do it 'has info button when MWBS button' do # Wait for the `ci_status` and `merge_check` requests wait_for_ajax - expect(page).to have_selector('.merge-when-pipeline-succeeds.btn-info') + expect(page).to have_selector('.accept-merge-request.btn-info') + end + end + + context 'view merge request with MWPS enabled but automatically merge fails' do + before do + merge_request.update( + merge_when_pipeline_succeeds: true, + merge_user: merge_request.author, + merge_error: 'Something went wrong' + ) + + visit namespace_project_merge_request_path(project.namespace, project, merge_request) + end + + it 'shows information about the merge error' do + # Wait for the `ci_status` and `merge_check` requests + wait_for_ajax + + page.within('.mr-widget-body') do + expect(page).to have_content('Something went wrong') + end end end @@ -164,11 +187,11 @@ describe 'Merge request', :feature, :js do before do allow_any_instance_of(Repository).to receive(:merge).and_return(false) visit namespace_project_merge_request_path(project.namespace, project, merge_request) - click_button 'Accept merge request' - wait_for_ajax end it 'updates the MR widget' do + click_button 'Merge' + page.within('.mr-widget-body') do expect(page).to have_content('Conflicts detected during merge') end diff --git a/spec/fixtures/api/schemas/entities/merge_request.json b/spec/fixtures/api/schemas/entities/merge_request.json new file mode 100644 index 00000000000..0a7e0e2d5f2 --- /dev/null +++ b/spec/fixtures/api/schemas/entities/merge_request.json @@ -0,0 +1,98 @@ +{ + "type": "object", + "properties" : { + "id": { "type": "integer" }, + "iid": { "type": "integer" }, + "assignee_id": { "type": ["integer", "null"] }, + "author_id": { "type": "integer" }, + "description": { "type": ["string", "null"] }, + "lock_version": { "type": ["string", "null"] }, + "milestone_id": { "type": ["string", "null"] }, + "position": { "type": "integer" }, + "state": { "type": "string" }, + "title": { "type": "string" }, + "updated_by_id": { "type": ["string", "null"] }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" }, + "deleted_at": { "type": ["string", "null"] }, + "time_estimate": { "type": "integer" }, + "total_time_spent": { "type": "integer" }, + "human_time_estimate": { "type": ["integer", "null"] }, + "human_total_time_spent": { "type": ["integer", "null"] }, + "in_progress_merge_commit_sha": { "type": ["string", "null"] }, + "locked_at": { "type": ["string", "null"] }, + "merge_error": { "type": ["string", "null"] }, + "merge_commit_sha": { "type": ["string", "null"] }, + "merge_params": { "type": ["object", "null"] }, + "merge_status": { "type": "string" }, + "merge_user_id": { "type": ["integer", "null"] }, + "merge_when_pipeline_succeeds": { "type": "boolean" }, + "source_branch": { "type": "string" }, + "source_project_id": { "type": "integer" }, + "target_branch": { "type": "string" }, + "target_project_id": { "type": "integer" }, + "merge_event": { "type": ["object", "null"] }, + "closed_event": { "type": ["object", "null"] }, + "author": { "type": ["object", "null"] }, + "merge_user": { "type": ["object", "null"] }, + "diff_head_sha": { "type": ["string", "null"] }, + "diff_head_commit_short_id": { "type": ["string", "null"] }, + "merge_commit_message": { "type": ["string", "null"] }, + "pipeline": { "type": ["object", "null"] }, + "work_in_progress": { "type": "boolean" }, + "source_branch_exists": { "type": "boolean" }, + "mergeable_discussions_state": { "type": "boolean" }, + "conflicts_can_be_resolved_in_ui": { "type": "boolean" }, + "branch_missing": { "type": "boolean" }, + "has_conflicts": { "type": "boolean" }, + "can_be_merged": { "type": "boolean" }, + "project_archived": { "type": "boolean" }, + "only_allow_merge_if_pipeline_succeeds": { "type": "boolean" }, + "has_ci": { "type": "boolean" }, + "ci_status": { "type": ["string", "null"] }, + "issues_links": { + "type": "object", + "required": ["closing", "mentioned_but_not_closing", "assign_to_closing"], + "properties" : { + "closing": { "type": "string" }, + "mentioned_but_not_closing": { "type": "string" }, + "assign_to_closing": { "type": ["string", "null"] } + }, + "additionalProperties": false + }, + "source_branch_with_namespace_link": { "type": "string" }, + "current_user": { + "type": "object", + "required": [ + "can_remove_source_branch", + "can_revert_on_current_merge_request", + "can_cherry_pick_on_current_merge_request" + ], + "properties": { + "can_remove_source_branch": { "type": "boolean" }, + "can_revert_on_current_merge_request": { "type": ["boolean", "null"] }, + "can_cherry_pick_on_current_merge_request": { "type": ["boolean", "null"] } + }, + "additionalProperties": false + }, + "target_branch_commits_path": { "type": "string" }, + "source_branch_path": { "type": "string" }, + "conflict_resolution_path": { "type": ["string", "null"] }, + "cancel_merge_when_pipeline_succeeds_path": { "type": "string" }, + "create_issue_to_resolve_discussions_path": { "type": "string" }, + "merge_path": { "type": "string" }, + "cherry_pick_in_fork_path": { "type": ["string", "null"] }, + "revert_in_fork_path": { "type": ["string", "null"] }, + "email_patches_path": { "type": "string" }, + "plain_diff_path": { "type": "string" }, + "status_path": { "type": "string" }, + "merge_check_path": { "type": "string" }, + "ci_environments_status_path": { "type": "string" }, + "merge_commit_message_with_description": { "type": "string" }, + "diverged_commits_count": { "type": "integer" }, + "commit_change_content_path": { "type": "string" }, + "remove_wip_path": { "type": "string" }, + "commits_count": { "type": "integer" } + }, + "additionalProperties": false +} diff --git a/spec/fixtures/api/schemas/entities/merge_request_basic.json b/spec/fixtures/api/schemas/entities/merge_request_basic.json new file mode 100644 index 00000000000..ea6364b878c --- /dev/null +++ b/spec/fixtures/api/schemas/entities/merge_request_basic.json @@ -0,0 +1,14 @@ +{ + "type": "object", + "properties" : { + "state": { "type": "string" }, + "merge_status": { "type": "string" }, + "source_branch_exists": { "type": "boolean" }, + "time_estimate": { "type": "integer" }, + "total_time_spent": { "type": "integer" }, + "human_time_estimate": { "type": ["string", "null"] }, + "human_total_time_spent": { "type": ["string", "null"] }, + "merge_error": { "type": ["string", "null"] } + }, + "additionalProperties": false +} diff --git a/spec/helpers/merge_requests_helper_spec.rb b/spec/helpers/merge_requests_helper_spec.rb index 10681af5f7e..f2c9d927388 100644 --- a/spec/helpers/merge_requests_helper_spec.rb +++ b/spec/helpers/merge_requests_helper_spec.rb @@ -21,55 +21,6 @@ describe MergeRequestsHelper do end end - describe '#issues_sentence' do - let(:project) { create :project } - - subject { issues_sentence(issues) } - let(:issues) do - [build(:issue, iid: 2, project: project), - build(:issue, iid: 3, project: project), - build(:issue, iid: 1, project: project)] - end - - it do - @project = project - - is_expected.to eq('#1, #2, and #3') - end - - context 'for JIRA issues' do - let(:project) { create(:empty_project) } - let(:issues) do - [ - ExternalIssue.new('JIRA-456', project), - ExternalIssue.new('FOOBAR-7890', project), - ExternalIssue.new('JIRA-123', project) - ] - end - - it do - @project = project - is_expected.to eq('FOOBAR-7890, JIRA-123, and JIRA-456') - end - end - - context 'for issues from multiple namespaces' do - let(:project) { create(:project) } - let(:other_project) { create(:project) } - let(:issues) do - [build(:issue, iid: 2, project: project), - build(:issue, iid: 3, project: other_project), - build(:issue, iid: 1, project: project)] - end - - it do - @project = project - - is_expected.to eq("#1, #2, and #{other_project.namespace.path}/#{other_project.path}#3") - end - end - end - describe '#format_mr_branch_names' do describe 'within the same project' do let(:merge_request) { create(:merge_request) } @@ -89,147 +40,4 @@ describe MergeRequestsHelper do it { is_expected.to eq([source_title, target_title]) } end end - - describe '#mr_widget_refresh_url' do - let(:guest) { create(:user) } - let(:project) { create(:project, :public) } - let(:project_fork) { Projects::ForkService.new(project, guest).execute } - let(:merge_request) { create(:merge_request, source_project: project_fork, target_project: project) } - - it 'returns correct url for MR' do - expected_url = "#{project.path_with_namespace}/merge_requests/#{merge_request.iid}/merge_widget_refresh" - - expect(mr_widget_refresh_url(merge_request)).to end_with(expected_url) - end - - it 'returns empty string for nil' do - expect(mr_widget_refresh_url(nil)).to eq('') - end - end - - describe '#mr_closes_issues' do - let(:user_1) { create(:user) } - let(:user_2) { create(:user) } - - let(:project_1) { create(:project, :private, creator: user_1, namespace: user_1.namespace) } - let(:project_2) { create(:project, :private, creator: user_2, namespace: user_2.namespace) } - - let(:issue_1) { create(:issue, project: project_1) } - let(:issue_2) { create(:issue, project: project_2) } - - let(:merge_request) { create(:merge_request, source_project: project_1, target_project: project_1,) } - - let(:merge_request) do - create(:merge_request, - source_project: project_1, target_project: project_1, - description: "Fixes #{issue_1.to_reference} Fixes #{issue_2.to_reference(project_1)}") - end - - before do - project_1.team << [user_2, :developer] - project_2.team << [user_2, :developer] - allow(merge_request.project).to receive(:default_branch).and_return(merge_request.target_branch) - @merge_request = merge_request - end - - context 'user without access to another private project' do - let(:current_user) { user_1 } - - it 'cannot see that project\'s issue that will be closed on acceptance' do - expect(mr_closes_issues).to contain_exactly(issue_1) - end - end - - context 'user with access to another private project' do - let(:current_user) { user_2 } - - it 'can see that project\'s issue that will be closed on acceptance' do - expect(mr_closes_issues).to contain_exactly(issue_1, issue_2) - end - end - end - - describe '#target_projects' do - let(:project) { create(:empty_project) } - let(:fork_project) { create(:empty_project, forked_from_project: project) } - - context 'when target project has enabled merge requests' do - it 'returns the forked_from project' do - expect(target_projects(fork_project)).to contain_exactly(project, fork_project) - end - end - - context 'when target project has disabled merge requests' do - it 'returns the forked project' do - project.project_feature.update(merge_requests_access_level: 0) - - expect(target_projects(fork_project)).to contain_exactly(fork_project) - end - end - end - - describe '#new_mr_path_from_push_event' do - subject(:url_params) { URI.decode_www_form(new_mr_path_from_push_event(event)).to_h } - let(:user) { create(:user) } - let(:project) { create(:empty_project, creator: user) } - let(:fork_project) { create(:project, forked_from_project: project, creator: user) } - let(:event) do - push_data = Gitlab::DataBuilder::Push.build_sample(fork_project, user) - create(:event, :pushed, project: fork_project, target: fork_project, author: user, data: push_data) - end - - context 'when target project has enabled merge requests' do - it 'returns link to create merge request on source project' do - expect(url_params['merge_request[target_project_id]'].to_i).to eq(project.id) - end - end - - context 'when target project has disabled merge requests' do - it 'returns link to create merge request on forked project' do - project.project_feature.update(merge_requests_access_level: 0) - - expect(url_params['merge_request[target_project_id]'].to_i).to eq(fork_project.id) - end - end - end - - describe '#mr_issues_mentioned_but_not_closing' do - let(:user_1) { create(:user) } - let(:user_2) { create(:user) } - - let(:project_1) { create(:project, :private, creator: user_1, namespace: user_1.namespace) } - let(:project_2) { create(:project, :private, creator: user_2, namespace: user_2.namespace) } - - let(:issue_1) { create(:issue, project: project_1) } - let(:issue_2) { create(:issue, project: project_2) } - - let(:merge_request) do - create(:merge_request, - source_project: project_1, target_project: project_1, - description: "#{issue_1.to_reference} #{issue_2.to_reference(project_1)}") - end - - before do - project_1.team << [user_2, :developer] - project_2.team << [user_2, :developer] - allow(merge_request.project).to receive(:default_branch).and_return(merge_request.target_branch) - @merge_request = merge_request - end - - context 'user without access to another private project' do - let(:current_user) { user_1 } - - it 'cannot see that project\'s issue that will be closed on acceptance' do - expect(mr_issues_mentioned_but_not_closing).to contain_exactly(issue_1) - end - end - - context 'user with access to another private project' do - let(:current_user) { user_2 } - - it 'can see that project\'s issue that will be closed on acceptance' do - expect(mr_issues_mentioned_but_not_closing).to contain_exactly(issue_1, issue_2) - end - end - end end diff --git a/spec/javascripts/commit/pipelines/mock_data.js b/spec/javascripts/commit/pipelines/mock_data.js index 82b00b4c1ec..10a60620f49 100644 --- a/spec/javascripts/commit/pipelines/mock_data.js +++ b/spec/javascripts/commit/pipelines/mock_data.js @@ -61,6 +61,7 @@ export default { tag: false, branch: true, }, + coverage: '42.21', commit: { id: 'fbd79f04fa98717641deaaeb092a4d417237c2e4', short_id: 'fbd79f04', diff --git a/spec/javascripts/merge_request_widget_spec.js b/spec/javascripts/merge_request_widget_spec.js deleted file mode 100644 index 88dae8c3e06..00000000000 --- a/spec/javascripts/merge_request_widget_spec.js +++ /dev/null @@ -1,199 +0,0 @@ -/* eslint-disable space-before-function-paren, quotes, comma-dangle, dot-notation, quote-props, no-var, max-len */ - -require('~/merge_request_widget'); -require('~/smart_interval'); -require('~/lib/utils/datetime_utility'); - -(function() { - describe('MergeRequestWidget', function() { - beforeEach(function() { - window.notifyPermissions = function() {}; - window.notify = function() {}; - this.opts = { - ci_status_url: "http://sampledomain.local/ci/getstatus", - ci_environments_status_url: "http://sampledomain.local/ci/getenvironmentsstatus", - ci_status: "", - ci_message: { - normal: "Build {{status}} for \"{{title}}\"", - preparing: "{{status}} build for \"{{title}}\"" - }, - ci_title: { - preparing: "{{status}} build", - normal: "Build {{status}}" - }, - gitlab_icon: "gitlab_logo.png", - ci_pipeline: 80, - ci_sha: "12a34bc5", - builds_path: "http://sampledomain.local/sampleBuildsPath", - commits_path: "http://sampledomain.local/commits", - pipeline_path: "http://sampledomain.local/pipelines" - }; - this["class"] = new window.gl.MergeRequestWidget(this.opts); - }); - - describe('getCIEnvironmentsStatus', function() { - beforeEach(function() { - this.ciEnvironmentsStatusData = [{ - created_at: '2016-09-12T13:38:30.636Z', - environment_id: 1, - environment_name: 'env1', - external_url: 'https://test-url.com', - external_url_formatted: 'test-url.com' - }]; - - spyOn(jQuery, 'getJSON').and.callFake(function(req, cb) { - cb(this.ciEnvironmentsStatusData); - }.bind(this)); - }); - - it('should call renderEnvironments when the environments property is set', function() { - const spy = spyOn(this.class, 'renderEnvironments').and.stub(); - this.class.getCIEnvironmentsStatus(); - expect(spy).toHaveBeenCalledWith(this.ciEnvironmentsStatusData); - }); - - it('should not call renderEnvironments when the environments property is not set', function() { - this.ciEnvironmentsStatusData = null; - const spy = spyOn(this.class, 'renderEnvironments').and.stub(); - this.class.getCIEnvironmentsStatus(); - expect(spy).not.toHaveBeenCalled(); - }); - }); - - describe('renderEnvironments', function() { - describe('should render correct timeago', function() { - beforeEach(function() { - this.environments = [{ - id: 'test-environment-id', - url: 'testurl', - deployed_at: new Date().toISOString(), - deployed_at_formatted: true - }]; - }); - - function getTimeagoText(template) { - var el = document.createElement('html'); - el.innerHTML = template; - return el.querySelector('.js-environment-timeago').innerText.trim(); - } - - it('should render less than a minute ago text', function() { - spyOn(this.class.$widgetBody, 'before').and.callFake(function(template) { - expect(getTimeagoText(template)).toBe('less than a minute ago.'); - }); - - this.class.renderEnvironments(this.environments); - }); - - it('should render about an hour ago text', function() { - var oneHourAgo = new Date(); - oneHourAgo.setHours(oneHourAgo.getHours() - 1); - - this.environments[0].deployed_at = oneHourAgo.toISOString(); - spyOn(this.class.$widgetBody, 'before').and.callFake(function(template) { - expect(getTimeagoText(template)).toBe('about an hour ago.'); - }); - - this.class.renderEnvironments(this.environments); - }); - - it('should render about 2 hours ago text', function() { - var twoHoursAgo = new Date(); - twoHoursAgo.setHours(twoHoursAgo.getHours() - 2); - - this.environments[0].deployed_at = twoHoursAgo.toISOString(); - spyOn(this.class.$widgetBody, 'before').and.callFake(function(template) { - expect(getTimeagoText(template)).toBe('about 2 hours ago.'); - }); - - this.class.renderEnvironments(this.environments); - }); - }); - }); - - describe('mergeInProgress', function() { - it('should display error with h4 tag', function() { - spyOn(this.class.$widgetBody, 'html').and.callFake(function(html) { - expect(html).toBe('<h4>Sorry, something went wrong.</h4>'); - }); - spyOn($, 'ajax').and.callFake(function(e) { - e.success({ merge_error: 'Sorry, something went wrong.' }); - }); - this.class.mergeInProgress(null); - }); - }); - - describe('getCIStatus', function() { - beforeEach(function() { - this.ciStatusData = { - "title": "Sample MR title", - "pipeline": 80, - "sha": "12a34bc5", - "status": "success", - "coverage": 98 - }; - - spyOn(jQuery, 'getJSON').and.callFake((function(_this) { - return function(req, cb) { - return cb(_this.ciStatusData); - }; - })(this)); - }); - it('should call showCIStatus even if a notification should not be displayed', function() { - var spy; - spy = spyOn(this["class"], 'showCIStatus').and.stub(); - spyOn(gl.utils, 'setCiStatusFavicon').and.callFake(() => {}); - this["class"].getCIStatus(false); - return expect(spy).toHaveBeenCalledWith(this.ciStatusData.status); - }); - it('should call showCIStatus when a notification should be displayed', function() { - var spy; - spy = spyOn(this["class"], 'showCIStatus').and.stub(); - spyOn(gl.utils, 'setCiStatusFavicon').and.callFake(() => {}); - this["class"].getCIStatus(true); - return expect(spy).toHaveBeenCalledWith(this.ciStatusData.status); - }); - it('should call showCICoverage when the coverage rate is set', function() { - var spy; - spy = spyOn(this["class"], 'showCICoverage').and.stub(); - spyOn(gl.utils, 'setCiStatusFavicon').and.callFake(() => {}); - this["class"].getCIStatus(false); - return expect(spy).toHaveBeenCalledWith(this.ciStatusData.coverage); - }); - it('should not call showCICoverage when the coverage rate is not set', function() { - var spy; - this.ciStatusData.coverage = null; - spy = spyOn(this["class"], 'showCICoverage').and.stub(); - spyOn(gl.utils, 'setCiStatusFavicon').and.callFake(() => {}); - this["class"].getCIStatus(false); - return expect(spy).not.toHaveBeenCalled(); - }); - it('should not display a notification on the first check after the widget has been created', function() { - var spy; - spy = spyOn(window, 'notify'); - spyOn(gl.utils, 'setCiStatusFavicon').and.callFake(() => {}); - this["class"] = new window.gl.MergeRequestWidget(this.opts); - this["class"].getCIStatus(true); - return expect(spy).not.toHaveBeenCalled(); - }); - it('should update the pipeline URL when the pipeline changes', function() { - var spy; - spy = spyOn(this["class"], 'updatePipelineUrls').and.stub(); - spyOn(gl.utils, 'setCiStatusFavicon').and.callFake(() => {}); - this["class"].getCIStatus(false); - this.ciStatusData.pipeline += 1; - this["class"].getCIStatus(false); - return expect(spy).toHaveBeenCalled(); - }); - it('should update the commit URL when the sha changes', function() { - var spy; - spy = spyOn(this["class"], 'updateCommitUrls').and.stub(); - spyOn(gl.utils, 'setCiStatusFavicon').and.callFake(() => {}); - this["class"].getCIStatus(false); - this.ciStatusData.sha = "9b50b99a"; - this["class"].getCIStatus(false); - return expect(spy).toHaveBeenCalled(); - }); - }); - }); -}).call(window); diff --git a/spec/javascripts/merged_buttons_spec.js b/spec/javascripts/merged_buttons_spec.js deleted file mode 100644 index b5c5e60dd97..00000000000 --- a/spec/javascripts/merged_buttons_spec.js +++ /dev/null @@ -1,44 +0,0 @@ -/* global MergedButtons */ - -import '~/merged_buttons'; - -describe('MergedButtons', () => { - const fixturesPath = 'merge_requests/merged_merge_request.html.raw'; - preloadFixtures(fixturesPath); - - beforeEach(() => { - loadFixtures(fixturesPath); - this.mergedButtons = new MergedButtons(); - this.$removeBranchWidget = $('.remove_source_branch_widget:not(.failed)'); - this.$removeBranchProgress = $('.remove_source_branch_in_progress'); - this.$removeBranchFailed = $('.remove_source_branch_widget.failed'); - this.$removeBranchButton = $('.remove_source_branch'); - }); - - describe('removeSourceBranch', () => { - it('shows loader', () => { - $('.remove_source_branch').trigger('click'); - expect(this.$removeBranchProgress).toBeVisible(); - expect(this.$removeBranchWidget).not.toBeVisible(); - }); - }); - - describe('removeBranchSuccess', () => { - it('refreshes page when branch removed', () => { - spyOn(gl.utils, 'refreshCurrentPage').and.stub(); - const response = { status: 200 }; - this.$removeBranchButton.trigger('ajax:success', response, 'xhr'); - expect(gl.utils.refreshCurrentPage).toHaveBeenCalled(); - }); - }); - - describe('removeBranchError', () => { - it('shows error message', () => { - const response = { status: 500 }; - this.$removeBranchButton.trigger('ajax:error', response, 'xhr'); - expect(this.$removeBranchFailed).toBeVisible(); - expect(this.$removeBranchProgress).not.toBeVisible(); - expect(this.$removeBranchWidget).not.toBeVisible(); - }); - }); -}); diff --git a/spec/javascripts/test_bundle.js b/spec/javascripts/test_bundle.js index 07dc51a7815..a22014879e8 100644 --- a/spec/javascripts/test_bundle.js +++ b/spec/javascripts/test_bundle.js @@ -55,7 +55,6 @@ if (process.env.BABEL_ENV === 'coverage') { './merge_conflicts/merge_conflicts_bundle.js', './merge_conflicts/components/inline_conflict_lines.js', './merge_conflicts/components/parallel_conflict_lines.js', - './merge_request_widget/ci_bundle.js', './monitoring/monitoring_bundle.js', './network/network_bundle.js', './network/branch_graph.js', diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_author_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_author_spec.js new file mode 100644 index 00000000000..a750bc78f36 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_author_spec.js @@ -0,0 +1,39 @@ +import Vue from 'vue'; +import authorComponent from '~/vue_merge_request_widget/components/mr_widget_author'; + +const author = { + webUrl: 'http://foo.bar', + avatarUrl: 'http://gravatar.com/foo', + name: 'fatihacet', +}; +const createComponent = () => { + const Component = Vue.extend(authorComponent); + + return new Component({ + el: document.createElement('div'), + propsData: { author }, + }); +}; + +describe('MRWidgetAuthor', () => { + describe('props', () => { + it('should have props', () => { + const authorProp = authorComponent.props.author; + + expect(authorProp).toBeDefined(); + expect(authorProp.type instanceof Object).toBeTruthy(); + expect(authorProp.required).toBeTruthy(); + }); + }); + + describe('template', () => { + it('should have correct elements', () => { + const el = createComponent().$el; + + expect(el.tagName).toEqual('A'); + expect(el.getAttribute('href')).toEqual(author.webUrl); + expect(el.querySelector('img').getAttribute('src')).toEqual(author.avatarUrl); + expect(el.querySelector('.author').innerText.trim()).toEqual(author.name); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_author_time_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_author_time_spec.js new file mode 100644 index 00000000000..515ddcbb875 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_author_time_spec.js @@ -0,0 +1,61 @@ +import Vue from 'vue'; +import authorTimeComponent from '~/vue_merge_request_widget/components/mr_widget_author_time'; + +const props = { + actionText: 'Merged by', + author: { + webUrl: 'http://foo.bar', + avatarUrl: 'http://gravatar.com/foo', + name: 'fatihacet', + }, + dateTitle: '2017-03-23T23:02:00.807Z', + dateReadable: '12 hours ago', +}; +const createComponent = () => { + const Component = Vue.extend(authorTimeComponent); + + return new Component({ + el: document.createElement('div'), + propsData: props, + }); +}; + +describe('MRWidgetAuthorTime', () => { + describe('props', () => { + it('should have props', () => { + const { actionText, author, dateTitle, dateReadable } = authorTimeComponent.props; + const ActionTextClass = actionText.type; + const DateTitleClass = dateTitle.type; + const DateReadableClass = dateReadable.type; + + expect(new ActionTextClass() instanceof String).toBeTruthy(); + expect(actionText.required).toBeTruthy(); + + expect(author.type instanceof Object).toBeTruthy(); + expect(author.required).toBeTruthy(); + + expect(new DateTitleClass() instanceof String).toBeTruthy(); + expect(dateTitle.required).toBeTruthy(); + + expect(new DateReadableClass() instanceof String).toBeTruthy(); + expect(dateReadable.required).toBeTruthy(); + }); + }); + + describe('components', () => { + it('should have components', () => { + expect(authorTimeComponent.components['mr-widget-author']).toBeDefined(); + }); + }); + + describe('template', () => { + it('should have correct elements', () => { + const el = createComponent().$el; + + expect(el.tagName).toEqual('H4'); + expect(el.querySelector('a').getAttribute('href')).toEqual(props.author.webUrl); + expect(el.querySelector('time').innerText).toContain(props.dateReadable); + expect(el.querySelector('time').getAttribute('title')).toEqual(props.dateTitle); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js new file mode 100644 index 00000000000..3d5f71babfb --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js @@ -0,0 +1,184 @@ +import Vue from 'vue'; +import deploymentComponent from '~/vue_merge_request_widget/components/mr_widget_deployment'; +import MRWidgetService from '~/vue_merge_request_widget/services/mr_widget_service'; +import { statusClassToSvgMap } from '~/vue_shared/pipeline_svg_icons'; + +const deploymentMockData = [ + { + id: 15, + name: 'review/diplo', + url: '/root/acets-review-apps/environments/15', + stop_url: '/root/acets-review-apps/environments/15/stop', + external_url: 'http://diplo.', + external_url_formatted: 'diplo.', + deployed_at: '2017-03-22T22:44:42.258Z', + deployed_at_formatted: 'Mar 22, 2017 10:44pm', + }, +]; +const createComponent = () => { + const Component = Vue.extend(deploymentComponent); + const mr = { + deployments: deploymentMockData, + }; + const service = {}; + + return new Component({ + el: document.createElement('div'), + propsData: { mr, service }, + }); +}; + +describe('MRWidgetDeployment', () => { + describe('props', () => { + it('should have props', () => { + const { mr, service } = deploymentComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + + expect(service.type instanceof Object).toBeTruthy(); + expect(service.required).toBeTruthy(); + }); + }); + + describe('computed', () => { + describe('svg', () => { + it('should have the proper SVG icon', () => { + const vm = createComponent(deploymentMockData); + expect(vm.svg).toEqual(statusClassToSvgMap.icon_status_success); + }); + }); + }); + + describe('methods', () => { + let vm = createComponent(); + const deployment = deploymentMockData[0]; + + describe('formatDate', () => { + it('should work', () => { + const readable = gl.utils.getTimeago().format(deployment.deployed_at); + expect(vm.formatDate(deployment.deployed_at)).toEqual(readable); + }); + }); + + describe('hasExternalUrls', () => { + it('should return true', () => { + expect(vm.hasExternalUrls(deployment)).toBeTruthy(); + }); + + it('should return false when there is not enough information', () => { + expect(vm.hasExternalUrls()).toBeFalsy(); + expect(vm.hasExternalUrls({ external_url: 'Diplo' })).toBeFalsy(); + expect(vm.hasExternalUrls({ external_url_formatted: 'Diplo' })).toBeFalsy(); + }); + }); + + describe('hasDeploymentTime', () => { + it('should return true', () => { + expect(vm.hasDeploymentTime(deployment)).toBeTruthy(); + }); + + it('should return false when there is not enough information', () => { + expect(vm.hasDeploymentTime()).toBeFalsy(); + expect(vm.hasDeploymentTime({ deployed_at: 'Diplo' })).toBeFalsy(); + expect(vm.hasDeploymentTime({ deployed_at_formatted: 'Diplo' })).toBeFalsy(); + }); + }); + + describe('hasDeploymentMeta', () => { + it('should return true', () => { + expect(vm.hasDeploymentMeta(deployment)).toBeTruthy(); + }); + + it('should return false when there is not enough information', () => { + expect(vm.hasDeploymentMeta()).toBeFalsy(); + expect(vm.hasDeploymentMeta({ url: 'Diplo' })).toBeFalsy(); + expect(vm.hasDeploymentMeta({ name: 'Diplo' })).toBeFalsy(); + }); + }); + + describe('stopEnvironment', () => { + const url = '/foo/bar'; + const returnPromise = () => new Promise((resolve) => { + resolve({ + json() { + return { + redirect_url: url, + }; + }, + }); + }); + const mockStopEnvironment = () => { + vm.stopEnvironment(deploymentMockData); + return vm; + }; + + it('should show a confirm dialog and call service.stopEnvironment when confirmed', (done) => { + spyOn(window, 'confirm').and.returnValue(true); + spyOn(MRWidgetService, 'stopEnvironment').and.returnValue(returnPromise(true)); + spyOn(gl.utils, 'visitUrl').and.returnValue(true); + vm = mockStopEnvironment(); + + expect(window.confirm).toHaveBeenCalled(); + expect(MRWidgetService.stopEnvironment).toHaveBeenCalledWith(deploymentMockData.stop_url); + setTimeout(() => { + expect(gl.utils.visitUrl).toHaveBeenCalledWith(url); + done(); + }, 333); + }); + + it('should show a confirm dialog but should not work if the dialog is rejected', () => { + spyOn(window, 'confirm').and.returnValue(false); + spyOn(MRWidgetService, 'stopEnvironment').and.returnValue(returnPromise(false)); + vm = mockStopEnvironment(); + + expect(window.confirm).toHaveBeenCalled(); + expect(MRWidgetService.stopEnvironment).not.toHaveBeenCalled(); + }); + }); + }); + + describe('template', () => { + let vm; + let el; + const [deployment] = deploymentMockData; + + beforeEach(() => { + vm = createComponent(deploymentMockData); + el = vm.$el; + }); + + it('should render template elements correctly', () => { + expect(el.classList.contains('mr-widget-heading')).toBeTruthy(); + expect(el.querySelector('.js-icon-link')).toBeDefined(); + expect(el.querySelector('.js-deploy-meta').getAttribute('href')).toEqual(deployment.url); + expect(el.querySelector('.js-deploy-meta').innerText).toContain(deployment.name); + expect(el.querySelector('.js-deploy-url').getAttribute('href')).toEqual(deployment.external_url); + expect(el.querySelector('.js-deploy-url').innerText).toContain(deployment.external_url_formatted); + expect(el.querySelector('.js-deploy-time').innerText).toContain(vm.formatDate(deployment.deployed_at)); + expect(el.querySelector('button')).toBeDefined(); + }); + + it('should list multiple deployments', (done) => { + vm.mr.deployments.push(deployment); + vm.mr.deployments.push(deployment); + + Vue.nextTick(() => { + expect(el.querySelectorAll('.ci-widget').length).toEqual(3); + done(); + }); + }); + + it('should not have some elements when there is not enough data', (done) => { + vm.mr.deployments = [{}]; + + Vue.nextTick(() => { + expect(el.querySelectorAll('.js-deploy-meta').length).toEqual(0); + expect(el.querySelectorAll('.js-deploy-url').length).toEqual(0); + expect(el.querySelectorAll('.js-deploy-time').length).toEqual(0); + expect(el.querySelectorAll('.button').length).toEqual(0); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js new file mode 100644 index 00000000000..48f816c8460 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js @@ -0,0 +1,95 @@ +import Vue from 'vue'; +import headerComponent from '~/vue_merge_request_widget/components/mr_widget_header'; + +const createComponent = (mr) => { + const Component = Vue.extend(headerComponent); + return new Component({ + el: document.createElement('div'), + propsData: { mr }, + }); +}; + +describe('MRWidgetHeader', () => { + describe('props', () => { + it('should have props', () => { + const { mr } = headerComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + }); + }); + + describe('computed', () => { + let vm; + beforeEach(() => { + vm = createComponent({ + divergedCommitsCount: 12, + sourceBranch: 'mr-widget-refactor', + sourceBranchLink: '/foo/bar/mr-widget-refactor', + targetBranch: 'master', + }); + }); + + it('shouldShowCommitsBehindText', () => { + expect(vm.shouldShowCommitsBehindText).toBeTruthy(); + + vm.mr.divergedCommitsCount = 0; + expect(vm.shouldShowCommitsBehindText).toBeFalsy(); + }); + + it('commitsText', () => { + expect(vm.commitsText).toEqual('commits'); + + vm.mr.divergedCommitsCount = 1; + expect(vm.commitsText).toEqual('commit'); + }); + }); + + describe('template', () => { + let vm; + let el; + const mr = { + divergedCommitsCount: 12, + sourceBranch: 'mr-widget-refactor', + sourceBranchLink: '/foo/bar/mr-widget-refactor', + targetBranch: 'master', + isOpen: true, + emailPatchesPath: '/mr/email-patches', + plainDiffPath: '/mr/plainDiffPath', + }; + + beforeEach(() => { + vm = createComponent(mr); + el = vm.$el; + }); + + it('should render template elements correctly', () => { + expect(el.classList.contains('mr-source-target')).toBeTruthy(); + expect(el.querySelectorAll('.label-branch')[0].textContent).toContain(mr.sourceBranch); + expect(el.querySelectorAll('.label-branch')[1].textContent).toContain(mr.targetBranch); + expect(el.querySelector('.diverged-commits-count').textContent).toContain('12 commits behind'); + + expect(el.textContent).toContain('Check out branch'); + expect(el.querySelectorAll('.dropdown li a')[0].getAttribute('href')).toEqual(mr.emailPatchesPath); + expect(el.querySelectorAll('.dropdown li a')[1].getAttribute('href')).toEqual(mr.plainDiffPath); + }); + + it('should not have right action links if the MR state is not open', (done) => { + vm.mr.isOpen = false; + Vue.nextTick(() => { + expect(el.textContent).not.toContain('Check out branch'); + expect(el.querySelectorAll('.dropdown li a').length).toEqual(0); + done(); + }); + }); + + it('should not render diverged commits count if the MR has no diverged commits', (done) => { + vm.mr.divergedCommitsCount = null; + Vue.nextTick(() => { + expect(el.textContent).not.toContain('commits behind'); + expect(el.querySelectorAll('.diverged-commits-count').length).toEqual(0); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_merge_help_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_merge_help_spec.js new file mode 100644 index 00000000000..4da4fc82c26 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_merge_help_spec.js @@ -0,0 +1,51 @@ +import Vue from 'vue'; +import mergeHelpComponent from '~/vue_merge_request_widget/components/mr_widget_merge_help'; + +const props = { + missingBranch: 'this-is-not-the-branch-you-are-looking-for', +}; +const text = `If the ${props.missingBranch} branch exists in your local repository`; + +const createComponent = () => { + const Component = Vue.extend(mergeHelpComponent); + return new Component({ + el: document.createElement('div'), + propsData: props, + }); +}; + +describe('MRWidgetMergeHelp', () => { + describe('props', () => { + it('should have props', () => { + const { missingBranch } = mergeHelpComponent.props; + const MissingBranchTypeClass = missingBranch.type; + + expect(new MissingBranchTypeClass() instanceof String).toBeTruthy(); + expect(missingBranch.required).toBeFalsy(); + expect(missingBranch.default).toEqual(''); + }); + }); + + describe('template', () => { + let vm; + let el; + + beforeEach(() => { + vm = createComponent(); + el = vm.$el; + }); + + it('should have the correct elements', () => { + expect(el.classList.contains('mr-widget-help')).toBeTruthy(); + expect(el.textContent).toContain(text); + }); + + it('should not show missing branch name if missingBranch props is not provided', (done) => { + vm.missingBranch = null; + Vue.nextTick(() => { + expect(el.textContent).not.toContain(text); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js new file mode 100644 index 00000000000..1b418c7dfcf --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js @@ -0,0 +1,131 @@ +import Vue from 'vue'; +import { statusClassToSvgMap } from '~/vue_shared/pipeline_svg_icons'; +import pipelineComponent from '~/vue_merge_request_widget/components/mr_widget_pipeline'; +import mockData from '../mock_data'; + +const createComponent = (mr) => { + const Component = Vue.extend(pipelineComponent); + return new Component({ + el: document.createElement('div'), + propsData: { mr }, + }); +}; + +describe('MRWidgetPipeline', () => { + describe('props', () => { + it('should have props', () => { + const { mr } = pipelineComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + }); + }); + + describe('components', () => { + it('should have components added', () => { + expect(pipelineComponent.components['pipeline-stage']).toBeDefined(); + expect(pipelineComponent.components['pipeline-status-icon']).toBeDefined(); + }); + }); + + describe('computed', () => { + describe('svg', () => { + it('should have the proper SVG icon', () => { + const vm = createComponent({ pipeline: mockData.pipeline }); + + expect(vm.svg).toEqual(statusClassToSvgMap.icon_status_failed); + }); + }); + + describe('hasCIError', () => { + it('should return false when there is no CI error', () => { + const vm = createComponent({ + pipeline: mockData.pipeline, + hasCI: true, + ciStatus: 'success', + }); + + expect(vm.hasCIError).toBeFalsy(); + }); + + it('should return true when there is a CI error', () => { + const vm = createComponent({ + pipeline: mockData.pipeline, + hasCI: true, + ciStatus: null, + }); + + expect(vm.hasCIError).toBeTruthy(); + }); + }); + }); + + describe('template', () => { + let vm; + let el; + const { pipeline } = mockData; + const mr = { + hasCI: true, + ciStatus: 'success', + pipelineDetailedStatus: pipeline.details.status, + pipeline, + }; + + beforeEach(() => { + vm = createComponent(mr); + el = vm.$el; + }); + + it('should render template elements correctly', () => { + expect(el.classList.contains('mr-widget-heading')).toBeTruthy(); + expect(el.querySelectorAll('.ci-status-icon.ci-status-icon-success').length).toEqual(1); + expect(el.querySelector('.pipeline-id').textContent).toContain(`#${pipeline.id}`); + expect(el.innerText).toContain('passed'); + expect(el.innerText).toContain('with stages'); + expect(el.querySelector('.pipeline-id').getAttribute('href')).toEqual(pipeline.path); + expect(el.querySelectorAll('.stage-container').length).toEqual(2); + expect(el.querySelector('.js-ci-error')).toEqual(null); + expect(el.querySelector('.js-commit-link').getAttribute('href')).toEqual(pipeline.commit.commit_path); + expect(el.querySelector('.js-commit-link').textContent).toContain(pipeline.commit.short_id); + expect(el.querySelector('.js-mr-coverage').textContent).toContain(`Coverage ${pipeline.coverage}%.`); + }); + + it('should list single stage', (done) => { + pipeline.details.stages.splice(0, 1); + + Vue.nextTick(() => { + expect(el.querySelectorAll('.stage-container button').length).toEqual(1); + expect(el.innerText).toContain('with stage'); + done(); + }); + }); + + it('should not have stages when there is no stage', (done) => { + vm.mr.pipeline.details.stages = []; + + Vue.nextTick(() => { + expect(el.querySelectorAll('.stage-container button').length).toEqual(0); + done(); + }); + }); + + it('should not have coverage text when pipeline has no coverage info', (done) => { + vm.mr.pipeline.coverage = null; + + Vue.nextTick(() => { + expect(el.querySelector('.js-mr-coverage')).toEqual(null); + done(); + }); + }); + + it('should show CI error when there is a CI error', (done) => { + vm.mr.ciStatus = null; + + Vue.nextTick(() => { + expect(el.querySelectorAll('.js-ci-error').length).toEqual(1); + expect(el.innerText).toContain('Could not connect to the CI server'); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_related_links_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_related_links_spec.js new file mode 100644 index 00000000000..f6e0c3dfb74 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_related_links_spec.js @@ -0,0 +1,138 @@ +import Vue from 'vue'; +import relatedLinksComponent from '~/vue_merge_request_widget/components/mr_widget_related_links'; + +const createComponent = (data) => { + const Component = Vue.extend(relatedLinksComponent); + + return new Component({ + el: document.createElement('div'), + propsData: data, + }); +}; + +describe('MRWidgetRelatedLinks', () => { + describe('props', () => { + it('should have props', () => { + const { relatedLinks } = relatedLinksComponent.props; + + expect(relatedLinks).toBeDefined(); + expect(relatedLinks.type instanceof Object).toBeTruthy(); + expect(relatedLinks.required).toBeTruthy(); + }); + }); + + describe('computed', () => { + describe('hasLinks', () => { + it('should return correct value when we have links reference', () => { + const data = { + relatedLinks: { + closing: '/foo', + mentioned: '/foo', + assignToMe: '/foo', + }, + }; + const vm = createComponent(data); + expect(vm.hasLinks).toBeTruthy(); + + vm.relatedLinks.closing = null; + expect(vm.hasLinks).toBeTruthy(); + + vm.relatedLinks.mentioned = null; + expect(vm.hasLinks).toBeTruthy(); + + vm.relatedLinks.assignToMe = null; + expect(vm.hasLinks).toBeFalsy(); + }); + }); + }); + + describe('methods', () => { + const data = { + relatedLinks: { + closing: '<a href="#">#23</a> and <a>#42</a>', + mentioned: '<a href="#">#7</a>', + }, + }; + const vm = createComponent(data); + + describe('hasMultipleIssues', () => { + it('should return true if the given text has multiple issues', () => { + expect(vm.hasMultipleIssues(data.relatedLinks.closing)).toBeTruthy(); + }); + + it('should return false if the given text has one issue', () => { + expect(vm.hasMultipleIssues(data.relatedLinks.mentioned)).toBeFalsy(); + }); + }); + + describe('issueLabel', () => { + it('should return true if the given text has multiple issues', () => { + expect(vm.issueLabel('closing')).toEqual('issues'); + }); + + it('should return false if the given text has one issue', () => { + expect(vm.issueLabel('mentioned')).toEqual('issue'); + }); + }); + + describe('verbLabel', () => { + it('should return true if the given text has multiple issues', () => { + expect(vm.verbLabel('closing')).toEqual('are'); + }); + + it('should return false if the given text has one issue', () => { + expect(vm.verbLabel('mentioned')).toEqual('is'); + }); + }); + }); + + describe('template', () => { + it('should have only have closing issues text', () => { + const vm = createComponent({ + relatedLinks: { + closing: '<a href="#">#23</a> and <a>#42</a>', + }, + }); + const content = vm.$el.textContent.replace(/\n(\s)+/g, ' ').trim(); + + expect(content).toContain('Closes issues #23 and #42'); + expect(content).not.toContain('mentioned'); + }); + + it('should have only have mentioned issues text', () => { + const vm = createComponent({ + relatedLinks: { + mentioned: '<a href="#">#7</a>', + }, + }); + + expect(vm.$el.innerText).toContain('issue #7'); + expect(vm.$el.innerText).toContain('is mentioned but will not be closed.'); + expect(vm.$el.innerText).not.toContain('Closes'); + }); + + it('should have closing and mentioned issues at the same time', () => { + const vm = createComponent({ + relatedLinks: { + closing: '<a href="#">#7</a>', + mentioned: '<a href="#">#23</a> and <a>#42</a>', + }, + }); + const content = vm.$el.textContent.replace(/\n(\s)+/g, ' ').trim(); + + expect(content).toContain('Closes issue #7.'); + expect(content).toContain('issues #23 and #42'); + expect(content).toContain('are mentioned but will not be closed.'); + }); + + it('should have assing issues link', () => { + const vm = createComponent({ + relatedLinks: { + assignToMe: '<a href="#">Assign yourself to these issues</a>', + }, + }); + + expect(vm.$el.innerText).toContain('Assign yourself to these issues'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_archived_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_archived_spec.js new file mode 100644 index 00000000000..cac2f561a0b --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_archived_spec.js @@ -0,0 +1,18 @@ +import Vue from 'vue'; +import archivedComponent from '~/vue_merge_request_widget/components/states/mr_widget_archived'; + +describe('MRWidgetArchived', () => { + describe('template', () => { + it('should have correct elements', () => { + const Component = Vue.extend(archivedComponent); + const el = new Component({ + el: document.createElement('div'), + }).$el; + + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.querySelector('button').classList.contains('btn-success')).toBeTruthy(); + expect(el.querySelector('button').disabled).toBeTruthy(); + expect(el.innerText).toContain('This project is archived, write access has been disabled.'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_auto_merge_failed_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_auto_merge_failed_spec.js new file mode 100644 index 00000000000..47b4ba893e0 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_auto_merge_failed_spec.js @@ -0,0 +1,32 @@ +import Vue from 'vue'; +import autoMergeFailedComponent from '~/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed'; + +const mergeError = 'This is the merge error'; + +describe('MRWidgetAutoMergeFailed', () => { + describe('props', () => { + it('should have props', () => { + const mrProp = autoMergeFailedComponent.props.mr; + + expect(mrProp.type instanceof Object).toBeTruthy(); + expect(mrProp.required).toBeTruthy(); + }); + }); + + describe('template', () => { + const Component = Vue.extend(autoMergeFailedComponent); + const vm = new Component({ + el: document.createElement('div'), + propsData: { + mr: { mergeError }, + }, + }); + + it('should have correct elements', () => { + expect(vm.$el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(vm.$el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(vm.$el.innerText).toContain('This merge request failed to be merged automatically.'); + expect(vm.$el.innerText).toContain(mergeError); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_checking_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_checking_spec.js new file mode 100644 index 00000000000..3be11d47227 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_checking_spec.js @@ -0,0 +1,19 @@ +import Vue from 'vue'; +import checkingComponent from '~/vue_merge_request_widget/components/states/mr_widget_checking'; + +describe('MRWidgetChecking', () => { + describe('template', () => { + it('should have correct elements', () => { + const Component = Vue.extend(checkingComponent); + const el = new Component({ + el: document.createElement('div'), + }).$el; + + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.querySelector('button').classList.contains('btn-success')).toBeTruthy(); + expect(el.querySelector('button').disabled).toBeTruthy(); + expect(el.innerText).toContain('Checking ability to merge automatically.'); + expect(el.querySelector('i')).toBeDefined(); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js new file mode 100644 index 00000000000..78a70725e94 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js @@ -0,0 +1,51 @@ +import Vue from 'vue'; +import closedComponent from '~/vue_merge_request_widget/components/states/mr_widget_closed'; + +const mr = { + targetBranch: 'good-branch', + targetBranchCommitsPath: '/good-branch', + closedBy: { + name: 'Fatih Acet', + username: 'fatihacet', + }, + updatedAt: '2017-03-23T20:08:08.845Z', + closedAt: '1 day ago', +}; + +const createComponent = () => { + const Component = Vue.extend(closedComponent); + + return new Component({ + el: document.createElement('div'), + propsData: { mr }, + }).$el; +}; + +describe('MRWidgetClosed', () => { + describe('props', () => { + it('should have props', () => { + const mrProp = closedComponent.props.mr; + + expect(mrProp.type instanceof Object).toBeTruthy(); + expect(mrProp.required).toBeTruthy(); + }); + }); + + describe('components', () => { + it('should have components added', () => { + expect(closedComponent.components['mr-widget-author-and-time']).toBeDefined(); + }); + }); + + describe('template', () => { + it('should have correct elements', () => { + const el = createComponent(); + + expect(el.querySelector('h4').textContent).toContain('Closed by'); + expect(el.querySelector('h4').textContent).toContain(mr.closedBy.name); + expect(el.textContent).toContain('The changes were not merged into'); + expect(el.querySelector('.label-branch').getAttribute('href')).toEqual(mr.targetBranchCommitsPath); + expect(el.querySelector('.label-branch').textContent).toContain(mr.targetBranch); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_conflicts_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_conflicts_spec.js new file mode 100644 index 00000000000..e7ae85caec4 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_conflicts_spec.js @@ -0,0 +1,69 @@ +import Vue from 'vue'; +import conflictsComponent from '~/vue_merge_request_widget/components/states/mr_widget_conflicts'; + +const path = '/conflicts'; +const createComponent = () => { + const Component = Vue.extend(conflictsComponent); + + return new Component({ + el: document.createElement('div'), + propsData: { + mr: { + canMerge: true, + conflictResolutionPath: path, + }, + }, + }); +}; + +describe('MRWidgetConflicts', () => { + describe('props', () => { + it('should have props', () => { + const { mr } = conflictsComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + }); + }); + + describe('template', () => { + it('should have correct elements', () => { + const el = createComponent().$el; + const resolveButton = el.querySelectorAll('.btn-group .btn')[0]; + const mergeLocallyButton = el.querySelectorAll('.btn-group .btn')[1]; + + expect(el.textContent).toContain('There are merge conflicts.'); + expect(el.textContent).not.toContain('ask someone with write access'); + expect(el.querySelector('.btn-success').disabled).toBeTruthy(); + expect(el.querySelectorAll('.btn-group .btn').length).toBe(2); + expect(resolveButton.textContent).toContain('Resolve conflicts'); + expect(resolveButton.getAttribute('href')).toEqual(path); + expect(mergeLocallyButton.textContent).toContain('Merge locally'); + }); + + describe('when user does not have permission to merge', () => { + let vm; + + beforeEach(() => { + vm = createComponent(); + vm.mr.canMerge = false; + }); + + it('should show proper message', (done) => { + Vue.nextTick(() => { + expect(vm.$el.textContent).toContain('ask someone with write access'); + done(); + }); + }); + + it('should not have action buttons', (done) => { + Vue.nextTick(() => { + expect(vm.$el.querySelectorAll('.btn').length).toBe(1); + expect(vm.$el.querySelector('a.js-resolve-conflicts-button')).toEqual(null); + expect(vm.$el.querySelector('a.js-merge-locally-button')).toEqual(null); + done(); + }); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_failed_to_merge_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_failed_to_merge_spec.js new file mode 100644 index 00000000000..587b83430d9 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_failed_to_merge_spec.js @@ -0,0 +1,122 @@ +import Vue from 'vue'; +import failedToMergeComponent from '~/vue_merge_request_widget/components/states/mr_widget_failed_to_merge'; +import eventHub from '~/vue_merge_request_widget/event_hub'; + +const mr = { + mergeError: 'Merge error happened.', +}; +const createComponent = () => { + const Component = Vue.extend(failedToMergeComponent); + return new Component({ + el: document.createElement('div'), + propsData: { mr }, + }); +}; + +describe('MRWidgetFailedToMerge', () => { + describe('data', () => { + it('should have default data', () => { + const data = failedToMergeComponent.data(); + + expect(data.timer).toEqual(10); + expect(data.isRefreshing).toBeFalsy(); + }); + }); + + describe('computed', () => { + describe('timerText', () => { + it('should return correct timer text', () => { + const vm = createComponent(); + expect(vm.timerText).toEqual('10 seconds'); + + vm.timer = 1; + expect(vm.timerText).toEqual('a second'); + }); + }); + }); + + describe('created', () => { + it('should disable polling', () => { + spyOn(eventHub, '$emit'); + createComponent(); + + expect(eventHub.$emit).toHaveBeenCalledWith('DisablePolling'); + }); + }); + + describe('methods', () => { + describe('refresh', () => { + it('should emit event to request component refresh', () => { + spyOn(eventHub, '$emit'); + const vm = createComponent(); + + expect(vm.isRefreshing).toBeFalsy(); + + vm.refresh(); + expect(vm.isRefreshing).toBeTruthy(); + expect(eventHub.$emit).toHaveBeenCalledWith('MRWidgetUpdateRequested'); + expect(eventHub.$emit).toHaveBeenCalledWith('EnablePolling'); + }); + }); + + describe('updateTimer', () => { + it('should update timer and emit event when timer end', () => { + const vm = createComponent(); + spyOn(vm, 'refresh'); + + expect(vm.timer).toEqual(10); + + for (let i = 0; i < 10; i++) { // eslint-disable-line + expect(vm.timer).toEqual(10 - i); + vm.updateTimer(); + } + + expect(vm.refresh).toHaveBeenCalled(); + }); + }); + }); + + describe('template', () => { + let vm; + let el; + + beforeEach(() => { + vm = createComponent(); + el = vm.$el; + }); + + it('should have correct elements', (done) => { + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.innerText).toContain('Merge error happened.'); + expect(el.innerText).toContain('Refreshing in 10 seconds'); + expect(el.innerText).not.toContain('Merge failed.'); + expect(el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(el.querySelector('button').innerText).toContain('Merge'); + expect(el.querySelector('.js-refresh-button').innerText).toContain('Refresh now'); + expect(el.querySelector('.js-refresh-label')).toEqual(null); + expect(el.innerText).not.toContain('Refreshing now...'); + setTimeout(() => { + expect(el.innerText).toContain('Refreshing in 9 seconds'); + done(); + }, 1010); + }); + + it('should just generic merge failed message if merge_error is not available', (done) => { + vm.mr.mergeError = null; + + Vue.nextTick(() => { + expect(el.innerText).toContain('Merge failed.'); + expect(el.innerText).not.toContain('Merge error happened.'); + done(); + }); + }); + + it('should show refresh label when refresh requested', () => { + vm.refresh(); + Vue.nextTick(() => { + expect(el.innerText).not.toContain('Merge failed. Refreshing'); + expect(el.innerText).toContain('Refreshing now...'); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_locked_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_locked_spec.js new file mode 100644 index 00000000000..fb2ef606604 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_locked_spec.js @@ -0,0 +1,33 @@ +import Vue from 'vue'; +import lockedComponent from '~/vue_merge_request_widget/components/states/mr_widget_locked'; + +describe('MRWidgetLocked', () => { + describe('props', () => { + it('should have props', () => { + const { mr } = lockedComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + }); + }); + + describe('template', () => { + it('should have correct elements', () => { + const Component = Vue.extend(lockedComponent); + const mr = { + targetBranchPath: '/branch-path', + targetBranch: 'branch', + }; + const el = new Component({ + el: document.createElement('div'), + propsData: { mr }, + }).$el; + + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.innerText).toContain('it is locked'); + expect(el.innerText).toContain('changes will be merged into'); + expect(el.querySelector('.label-branch a').getAttribute('href')).toEqual(mr.targetBranchPath); + expect(el.querySelector('.label-branch a').textContent).toContain(mr.targetBranch); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_merge_when_pipeline_succeeds_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_merge_when_pipeline_succeeds_spec.js new file mode 100644 index 00000000000..8d8b90cea16 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_merge_when_pipeline_succeeds_spec.js @@ -0,0 +1,213 @@ +import Vue from 'vue'; +import mwpsComponent from '~/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds'; +import eventHub from '~/vue_merge_request_widget/event_hub'; + +const targetBranchPath = '/foo/bar'; +const targetBranch = 'foo'; +const sha = '1EA2EZ34'; + +const createComponent = () => { + const Component = Vue.extend(mwpsComponent); + const mr = { + shouldRemoveSourceBranch: false, + canRemoveSourceBranch: true, + canCancelAutomaticMerge: true, + mergeUserId: 1, + currentUserId: 1, + setToMWPSBy: {}, + sha, + targetBranchPath, + targetBranch, + }; + + const service = { + cancelAutomaticMerge() {}, + mergeResource: { + save() {}, + }, + }; + + return new Component({ + el: document.createElement('div'), + propsData: { mr, service }, + }); +}; + +describe('MRWidgetMergeWhenPipelineSucceeds', () => { + describe('props', () => { + it('should have props', () => { + const { mr, service } = mwpsComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + + expect(service.type instanceof Object).toBeTruthy(); + expect(service.required).toBeTruthy(); + }); + }); + + describe('components', () => { + it('should have components added', () => { + expect(mwpsComponent.components['mr-widget-author']).toBeDefined(); + }); + }); + + describe('data', () => { + it('should have default data', () => { + const data = mwpsComponent.data(); + + expect(data.isCancellingAutoMerge).toBeFalsy(); + expect(data.isRemovingSourceBranch).toBeFalsy(); + }); + }); + + describe('computed', () => { + describe('canRemoveSourceBranch', () => { + it('should return true when user is able to remove source branch', () => { + const vm = createComponent(); + + expect(vm.canRemoveSourceBranch).toBeTruthy(); + }); + + it('should return false when user id is not the same with who set the MWPS', () => { + const vm = createComponent(); + + vm.mr.mergeUserId = 2; + expect(vm.canRemoveSourceBranch).toBeFalsy(); + + vm.mr.currentUserId = 2; + expect(vm.canRemoveSourceBranch).toBeTruthy(); + + vm.mr.currentUserId = 3; + expect(vm.canRemoveSourceBranch).toBeFalsy(); + }); + + it('should return false when shouldRemoveSourceBranch set to false', () => { + const vm = createComponent(); + + vm.mr.shouldRemoveSourceBranch = true; + expect(vm.canRemoveSourceBranch).toBeFalsy(); + }); + + it('should return false if user is not able to remove the source branch', () => { + const vm = createComponent(); + + vm.mr.canRemoveSourceBranch = false; + expect(vm.canRemoveSourceBranch).toBeFalsy(); + }); + }); + }); + + describe('methods', () => { + describe('cancelAutomaticMerge', () => { + it('should set flag and call service then tell main component to update the widget with data', (done) => { + const vm = createComponent(); + const mrObj = { + is_new_mr_data: true, + }; + spyOn(eventHub, '$emit'); + spyOn(vm.service, 'cancelAutomaticMerge').and.returnValue(new Promise((resolve) => { + resolve({ + json() { + return mrObj; + }, + }); + })); + + vm.cancelAutomaticMerge(); + setTimeout(() => { + expect(vm.isCancellingAutoMerge).toBeTruthy(); + expect(eventHub.$emit).toHaveBeenCalledWith('UpdateWidgetData', mrObj); + done(); + }, 333); + }); + }); + + describe('removeSourceBranch', () => { + it('should set flag and call service then request main component to update the widget', (done) => { + const vm = createComponent(); + spyOn(eventHub, '$emit'); + spyOn(vm.service.mergeResource, 'save').and.returnValue(new Promise((resolve) => { + resolve({ + json() { + return { + status: 'merge_when_pipeline_succeeds', + }; + }, + }); + })); + + vm.removeSourceBranch(); + setTimeout(() => { + expect(eventHub.$emit).toHaveBeenCalledWith('MRWidgetUpdateRequested'); + expect(vm.service.mergeResource.save).toHaveBeenCalledWith({ + sha, + merge_when_pipeline_succeeds: true, + should_remove_source_branch: true, + }); + done(); + }, 333); + }); + }); + }); + + describe('template', () => { + let vm; + let el; + + beforeEach(() => { + vm = createComponent(); + el = vm.$el; + }); + + it('should have correct elements', () => { + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.innerText).toContain('to be merged automatically when the pipeline succeeds.'); + expect(el.innerText).toContain('The changes will be merged into'); + expect(el.innerText).toContain(targetBranch); + expect(el.innerText).toContain('The source branch will not be removed.'); + expect(el.querySelector('.js-cancel-auto-merge').innerText).toContain('Cancel automatic merge'); + expect(el.querySelector('.js-cancel-auto-merge').getAttribute('disabled')).toBeFalsy(); + expect(el.querySelector('.js-remove-source-branch').innerText).toContain('Remove source branch'); + expect(el.querySelector('.js-remove-source-branch').getAttribute('disabled')).toBeFalsy(); + }); + + it('should disable cancel auto merge button when the action is in progress', (done) => { + vm.isCancellingAutoMerge = true; + + Vue.nextTick(() => { + expect(el.querySelector('.js-cancel-auto-merge').getAttribute('disabled')).toBeTruthy(); + done(); + }); + }); + + it('should show source branch will be removed text when it source branch set to remove', (done) => { + vm.mr.shouldRemoveSourceBranch = true; + + Vue.nextTick(() => { + const normalizedText = el.innerText.replace(/\s+/g, ' '); + expect(normalizedText).toContain('The source branch will be removed.'); + expect(normalizedText).not.toContain('The source branch will not be removed.'); + done(); + }); + }); + + it('should not show remove source branch button when user not able to remove source branch', (done) => { + vm.mr.currentUserId = 4; + + Vue.nextTick(() => { + expect(el.querySelector('.js-remove-source-branch')).toEqual(null); + done(); + }); + }); + + it('should disable remove source branch button when the action is in progress', (done) => { + vm.isRemovingSourceBranch = true; + + Vue.nextTick(() => { + expect(el.querySelector('.js-remove-source-branch').getAttribute('disabled')).toBeTruthy(); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js new file mode 100644 index 00000000000..6628010112d --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_merged_spec.js @@ -0,0 +1,174 @@ +import Vue from 'vue'; +import mergedComponent from '~/vue_merge_request_widget/components/states/mr_widget_merged'; +import eventHub from '~/vue_merge_request_widget/event_hub'; + +const targetBranch = 'foo'; + +const createComponent = () => { + const Component = Vue.extend(mergedComponent); + const mr = { + isRemovingSourceBranch: false, + cherryPickInForkPath: false, + canCherryPickInCurrentMR: true, + revertInForkPath: false, + canRevertInCurrentMR: true, + canRemoveSourceBranch: true, + sourceBranchRemoved: true, + mergedBy: {}, + mergedAt: '', + updatedAt: '', + targetBranch, + }; + + const service = { + removeSourceBranch() {}, + }; + + return new Component({ + el: document.createElement('div'), + propsData: { mr, service }, + }); +}; + +describe('MRWidgetMerged', () => { + describe('props', () => { + it('should have props', () => { + const { mr, service } = mergedComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + + expect(service.type instanceof Object).toBeTruthy(); + expect(service.required).toBeTruthy(); + }); + }); + + describe('components', () => { + it('should have components added', () => { + expect(mergedComponent.components['mr-widget-author-and-time']).toBeDefined(); + }); + }); + + describe('data', () => { + it('should have default data', () => { + const data = mergedComponent.data(); + + expect(data.isMakingRequest).toBeFalsy(); + }); + }); + + describe('computed', () => { + describe('shouldShowRemoveSourceBranch', () => { + it('should correct value when fields changed', () => { + const vm = createComponent(); + vm.mr.sourceBranchRemoved = false; + expect(vm.shouldShowRemoveSourceBranch).toBeTruthy(); + + vm.mr.sourceBranchRemoved = true; + expect(vm.shouldShowRemoveSourceBranch).toBeFalsy(); + + vm.mr.sourceBranchRemoved = false; + vm.mr.canRemoveSourceBranch = false; + expect(vm.shouldShowRemoveSourceBranch).toBeFalsy(); + + vm.mr.canRemoveSourceBranch = true; + vm.isMakingRequest = true; + expect(vm.shouldShowRemoveSourceBranch).toBeFalsy(); + + vm.mr.isRemovingSourceBranch = true; + vm.mr.canRemoveSourceBranch = true; + vm.isMakingRequest = true; + expect(vm.shouldShowRemoveSourceBranch).toBeFalsy(); + }); + }); + describe('shouldShowSourceBranchRemoving', () => { + it('should correct value when fields changed', () => { + const vm = createComponent(); + vm.mr.sourceBranchRemoved = false; + expect(vm.shouldShowSourceBranchRemoving).toBeFalsy(); + + vm.mr.sourceBranchRemoved = true; + expect(vm.shouldShowRemoveSourceBranch).toBeFalsy(); + + vm.mr.sourceBranchRemoved = false; + vm.isMakingRequest = true; + expect(vm.shouldShowSourceBranchRemoving).toBeTruthy(); + + vm.isMakingRequest = false; + vm.mr.isRemovingSourceBranch = true; + expect(vm.shouldShowSourceBranchRemoving).toBeTruthy(); + }); + }); + }); + + describe('methods', () => { + describe('removeSourceBranch', () => { + it('should set flag and call service then request main component to update the widget', (done) => { + const vm = createComponent(); + spyOn(eventHub, '$emit'); + spyOn(vm.service, 'removeSourceBranch').and.returnValue(new Promise((resolve) => { + resolve({ + json() { + return { + message: 'Branch was removed', + }; + }, + }); + })); + + vm.removeSourceBranch(); + setTimeout(() => { + const args = eventHub.$emit.calls.argsFor(0); + expect(vm.isMakingRequest).toBeTruthy(); + expect(args[0]).toEqual('MRWidgetUpdateRequested'); + expect(args[1]).not.toThrow(); + done(); + }, 333); + }); + }); + }); + + describe('template', () => { + let vm; + let el; + + beforeEach(() => { + vm = createComponent(); + el = vm.$el; + }); + + it('should have correct elements', () => { + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.querySelector('.js-mr-widget-author')).toBeDefined(); + expect(el.innerText).toContain('The changes were merged into'); + expect(el.innerText).toContain(targetBranch); + expect(el.innerText).toContain('The source branch has been removed.'); + expect(el.innerText).toContain('Revert'); + expect(el.innerText).toContain('Cherry-pick'); + expect(el.innerText).not.toContain('You can remove source branch now.'); + expect(el.innerText).not.toContain('The source branch is being removed.'); + }); + + it('should not show source branch removed text', (done) => { + vm.mr.sourceBranchRemoved = false; + + Vue.nextTick(() => { + expect(el.innerText).toContain('You can remove source branch now.'); + expect(el.innerText).not.toContain('The source branch has been removed.'); + done(); + }); + }); + + it('should show source branch removing text', (done) => { + vm.mr.isRemovingSourceBranch = true; + vm.mr.sourceBranchRemoved = false; + + Vue.nextTick(() => { + expect(el.innerText).toContain('The source branch is being removed.'); + expect(el.innerText).not.toContain('You can remove source branch now.'); + expect(el.innerText).not.toContain('The source branch has been removed.'); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_missing_branch_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_missing_branch_spec.js new file mode 100644 index 00000000000..98674d12afb --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_missing_branch_spec.js @@ -0,0 +1,55 @@ +import Vue from 'vue'; +import missingBranchComponent from '~/vue_merge_request_widget/components/states/mr_widget_missing_branch'; + +const createComponent = () => { + const Component = Vue.extend(missingBranchComponent); + const mr = { + sourceBranchRemoved: true, + }; + + return new Component({ + el: document.createElement('div'), + propsData: { mr }, + }); +}; + +describe('MRWidgetMissingBranch', () => { + describe('props', () => { + it('should have props', () => { + const mrProp = missingBranchComponent.props.mr; + + expect(mrProp.type instanceof Object).toBeTruthy(); + expect(mrProp.required).toBeTruthy(); + }); + }); + + describe('components', () => { + it('should have components added', () => { + expect(missingBranchComponent.components['mr-widget-merge-help']).toBeDefined(); + }); + }); + + describe('computed', () => { + describe('missingBranchName', () => { + it('should return proper branch name', () => { + const vm = createComponent(); + expect(vm.missingBranchName).toEqual('source'); + + vm.mr.sourceBranchRemoved = false; + expect(vm.missingBranchName).toEqual('target'); + }); + }); + }); + + describe('template', () => { + it('should have correct elements', () => { + const el = createComponent().$el; + const content = el.textContent.replace(/\n(\s)+/g, ' ').trim(); + + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(content).toContain('source branch does not exist.'); + expect(content).toContain('Please restore the source branch or use a different source branch.'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_not_allowed_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_not_allowed_spec.js new file mode 100644 index 00000000000..61e00f4cf79 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_not_allowed_spec.js @@ -0,0 +1,17 @@ +import Vue from 'vue'; +import notAllowedComponent from '~/vue_merge_request_widget/components/states/mr_widget_not_allowed'; + +describe('MRWidgetNotAllowed', () => { + describe('template', () => { + const Component = Vue.extend(notAllowedComponent); + const vm = new Component({ + el: document.createElement('div'), + }); + it('should have correct elements', () => { + expect(vm.$el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(vm.$el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(vm.$el.innerText).toContain('Ready to be merged automatically.'); + expect(vm.$el.innerText).toContain('Ask someone with write access to this repository to merge this request.'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_nothing_to_merge_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_nothing_to_merge_spec.js new file mode 100644 index 00000000000..d40c67b189d --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_nothing_to_merge_spec.js @@ -0,0 +1,17 @@ +import Vue from 'vue'; +import nothingToMergeComponent from '~/vue_merge_request_widget/components/states/mr_widget_nothing_to_merge'; + +describe('MRWidgetNothingToMerge', () => { + describe('template', () => { + const Component = Vue.extend(nothingToMergeComponent); + const vm = new Component({ + el: document.createElement('div'), + }); + it('should have correct elements', () => { + expect(vm.$el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(vm.$el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(vm.$el.innerText).toContain('There is nothing to merge from source branch into target branch.'); + expect(vm.$el.innerText).toContain('Please push new commits or use a different branch.'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_blocked_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_blocked_spec.js new file mode 100644 index 00000000000..b293d118571 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_blocked_spec.js @@ -0,0 +1,16 @@ +import Vue from 'vue'; +import pipelineBlockedComponent from '~/vue_merge_request_widget/components/states/mr_widget_pipeline_blocked'; + +describe('MRWidgetPipelineBlocked', () => { + describe('template', () => { + const Component = Vue.extend(pipelineBlockedComponent); + const vm = new Component({ + el: document.createElement('div'), + }); + it('should have correct elements', () => { + expect(vm.$el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(vm.$el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(vm.$el.innerText).toContain('Pipeline blocked. The pipeline for this merge request requires a manual action to proceed.'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_failed_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_failed_spec.js new file mode 100644 index 00000000000..807fba705d4 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_pipeline_failed_spec.js @@ -0,0 +1,16 @@ +import Vue from 'vue'; +import pipelineFailedComponent from '~/vue_merge_request_widget/components/states/mr_widget_pipeline_failed'; + +describe('MRWidgetPipelineFailed', () => { + describe('template', () => { + const Component = Vue.extend(pipelineFailedComponent); + const vm = new Component({ + el: document.createElement('div'), + }); + it('should have correct elements', () => { + expect(vm.$el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(vm.$el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(vm.$el.innerText).toContain('The pipeline for this merge request failed. Please retry the job or push a new commit to fix the failure.'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js new file mode 100644 index 00000000000..74df99415c9 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js @@ -0,0 +1,389 @@ +import Vue from 'vue'; +import readyToMergeComponent from '~/vue_merge_request_widget/components/states/mr_widget_ready_to_merge'; +import eventHub from '~/vue_merge_request_widget/event_hub'; +import * as simplePoll from '~/lib/utils/simple_poll'; + +const commitMessage = 'This is the commit message'; +const commitMessageWithDescription = 'This is the commit message description'; +const createComponent = () => { + const Component = Vue.extend(readyToMergeComponent); + const mr = { + isPipelineActive: false, + pipeline: null, + isPipelineFailed: false, + onlyAllowMergeIfPipelineSucceeds: false, + hasCI: false, + ciStatus: null, + sha: '12345678', + commitMessage, + commitMessageWithDescription, + }; + + const service = { + merge() {}, + poll() {}, + }; + + return new Component({ + el: document.createElement('div'), + propsData: { mr, service }, + }); +}; + +describe('MRWidgetReadyToMerge', () => { + let vm; + + beforeEach(() => { + vm = createComponent(); + }); + + describe('props', () => { + it('should have props', () => { + const { mr, service } = readyToMergeComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + + expect(service.type instanceof Object).toBeTruthy(); + expect(service.required).toBeTruthy(); + }); + }); + + describe('data', () => { + it('should have default data', () => { + expect(vm.removeSourceBranch).toBeTruthy(true); + expect(vm.mergeWhenBuildSucceeds).toBeFalsy(); + expect(vm.useCommitMessageWithDescription).toBeFalsy(); + expect(vm.setToMergeWhenPipelineSucceeds).toBeFalsy(); + expect(vm.showCommitMessageEditor).toBeFalsy(); + expect(vm.isMakingRequest).toBeFalsy(); + expect(vm.isMergingImmediately).toBeFalsy(); + expect(vm.commitMessage).toBe(vm.mr.commitMessage); + expect(vm.successSvg).toBeDefined(); + expect(vm.warningSvg).toBeDefined(); + }); + }); + + describe('computed', () => { + describe('commitMessageLinkTitle', () => { + const withDesc = 'Include description in commit message'; + const withoutDesc = "Don't include description in commit message"; + + it('should return message wit description', () => { + expect(vm.commitMessageLinkTitle).toEqual(withDesc); + }); + + it('should return message without description', () => { + vm.useCommitMessageWithDescription = true; + expect(vm.commitMessageLinkTitle).toEqual(withoutDesc); + }); + }); + + describe('mergeButtonClass', () => { + const defaultClass = 'btn btn-success accept-merge-request'; + const failedClass = `${defaultClass} btn-danger`; + const inActionClass = `${defaultClass} btn-info`; + + it('should return default class', () => { + vm.mr.pipeline = true; + expect(vm.mergeButtonClass).toEqual(defaultClass); + }); + + it('should return failed class when MR has CI but also has an unknown status', () => { + vm.mr.hasCI = true; + expect(vm.mergeButtonClass).toEqual(failedClass); + }); + + it('should return default class when MR has no pipeline', () => { + expect(vm.mergeButtonClass).toEqual(defaultClass); + }); + + it('should return in action class when pipeline is active', () => { + vm.mr.pipeline = {}; + vm.mr.isPipelineActive = true; + expect(vm.mergeButtonClass).toEqual(inActionClass); + }); + + it('should return failed class when pipeline is failed', () => { + vm.mr.pipeline = {}; + vm.mr.isPipelineFailed = true; + expect(vm.mergeButtonClass).toEqual(failedClass); + }); + }); + + describe('mergeButtonText', () => { + it('should return Merge', () => { + expect(vm.mergeButtonText).toEqual('Merge'); + }); + + it('should return Merge in progress', () => { + vm.isMergingImmediately = true; + expect(vm.mergeButtonText).toEqual('Merge in progress'); + }); + + it('should return Merge when pipeline succeeds', () => { + vm.isMergingImmediately = false; + vm.mr.isPipelineActive = true; + expect(vm.mergeButtonText).toEqual('Merge when pipeline succeeds'); + }); + }); + + describe('shouldShowMergeOptionsDropdown', () => { + it('should return false with initial data', () => { + expect(vm.shouldShowMergeOptionsDropdown).toBeFalsy(); + }); + + it('should return true when pipeline active', () => { + vm.mr.isPipelineActive = true; + expect(vm.shouldShowMergeOptionsDropdown).toBeTruthy(); + }); + + it('should return false when pipeline active but only merge when pipeline succeeds set in project options', () => { + vm.mr.isPipelineActive = true; + vm.mr.onlyAllowMergeIfPipelineSucceeds = true; + expect(vm.shouldShowMergeOptionsDropdown).toBeFalsy(); + }); + }); + + describe('isMergeButtonDisabled', () => { + it('should return false with initial data', () => { + expect(vm.isMergeButtonDisabled).toBeFalsy(); + }); + + it('should return true when there is no commit message', () => { + vm.commitMessage = ''; + expect(vm.isMergeButtonDisabled).toBeTruthy(); + }); + + it('should return true if merge is not allowed', () => { + vm.mr.onlyAllowMergeIfPipelineSucceeds = true; + vm.mr.isPipelineFailed = true; + expect(vm.isMergeButtonDisabled).toBeTruthy(); + }); + + it('should return true when there vm instance is making request', () => { + vm.isMakingRequest = true; + expect(vm.isMergeButtonDisabled).toBeTruthy(); + }); + }); + }); + + describe('methods', () => { + describe('isMergeAllowed', () => { + it('should return false with initial data', () => { + expect(vm.isMergeAllowed()).toBeTruthy(); + }); + + it('should return false when MR is set only merge when pipeline succeeds', () => { + vm.mr.onlyAllowMergeIfPipelineSucceeds = true; + expect(vm.isMergeAllowed()).toBeTruthy(); + }); + + it('should return true true', () => { + vm.mr.onlyAllowMergeIfPipelineSucceeds = true; + vm.mr.isPipelineFailed = true; + expect(vm.isMergeAllowed()).toBeFalsy(); + }); + }); + + describe('updateCommitMessage', () => { + it('should revert flag and change commitMessage', () => { + expect(vm.useCommitMessageWithDescription).toBeFalsy(); + expect(vm.commitMessage).toEqual(commitMessage); + vm.updateCommitMessage(); + expect(vm.useCommitMessageWithDescription).toBeTruthy(); + expect(vm.commitMessage).toEqual(commitMessageWithDescription); + vm.updateCommitMessage(); + expect(vm.useCommitMessageWithDescription).toBeFalsy(); + expect(vm.commitMessage).toEqual(commitMessage); + }); + }); + + describe('toggleCommitMessageEditor', () => { + it('should toggle showCommitMessageEditor flag', () => { + expect(vm.showCommitMessageEditor).toBeFalsy(); + vm.toggleCommitMessageEditor(); + expect(vm.showCommitMessageEditor).toBeTruthy(); + }); + }); + + describe('handleMergeButtonClick', () => { + const returnPromise = status => new Promise((resolve) => { + resolve({ + json() { + return { status }; + }, + }); + }); + + it('should handle merge when pipeline succeeds', (done) => { + spyOn(eventHub, '$emit'); + spyOn(vm.service, 'merge').and.returnValue(returnPromise('merge_when_pipeline_succeeds')); + vm.removeSourceBranch = false; + vm.handleMergeButtonClick(true); + + setTimeout(() => { + expect(vm.setToMergeWhenPipelineSucceeds).toBeTruthy(); + expect(vm.isMakingRequest).toBeTruthy(); + expect(eventHub.$emit).toHaveBeenCalledWith('MRWidgetUpdateRequested'); + + const params = vm.service.merge.calls.argsFor(0)[0]; + expect(params.sha).toEqual(vm.mr.sha); + expect(params.commit_message).toEqual(vm.mr.commitMessage); + expect(params.should_remove_source_branch).toBeFalsy(); + expect(params.merge_when_pipeline_succeeds).toBeTruthy(); + done(); + }, 333); + }); + + it('should handle merge failed', (done) => { + spyOn(eventHub, '$emit'); + spyOn(vm.service, 'merge').and.returnValue(returnPromise('failed')); + vm.handleMergeButtonClick(false, true); + + setTimeout(() => { + expect(vm.setToMergeWhenPipelineSucceeds).toBeFalsy(); + expect(vm.isMakingRequest).toBeTruthy(); + expect(eventHub.$emit).toHaveBeenCalledWith('FailedToMerge', undefined); + + const params = vm.service.merge.calls.argsFor(0)[0]; + expect(params.should_remove_source_branch).toBeTruthy(); + expect(params.merge_when_pipeline_succeeds).toBeFalsy(); + done(); + }, 333); + }); + + it('should handle merge action accepted case', (done) => { + spyOn(vm.service, 'merge').and.returnValue(returnPromise('success')); + spyOn(vm, 'initiateMergePolling'); + vm.handleMergeButtonClick(); + + setTimeout(() => { + expect(vm.setToMergeWhenPipelineSucceeds).toBeFalsy(); + expect(vm.isMakingRequest).toBeTruthy(); + expect(vm.initiateMergePolling).toHaveBeenCalled(); + + const params = vm.service.merge.calls.argsFor(0)[0]; + expect(params.should_remove_source_branch).toBeTruthy(); + expect(params.merge_when_pipeline_succeeds).toBeFalsy(); + done(); + }, 333); + }); + }); + + describe('initiateMergePolling', () => { + it('should call simplePoll', () => { + spyOn(simplePoll, 'default'); + vm.initiateMergePolling(); + expect(simplePoll.default).toHaveBeenCalled(); + }); + }); + + describe('handleMergePolling', () => { + const returnPromise = state => new Promise((resolve) => { + resolve({ + json() { + return { state, source_branch_exists: true }; + }, + }); + }); + + it('should call start and stop polling when MR merged', (done) => { + spyOn(eventHub, '$emit'); + spyOn(vm.service, 'poll').and.returnValue(returnPromise('merged')); + spyOn(vm, 'initiateRemoveSourceBranchPolling'); + + let cpc = false; // continuePollingCalled + let spc = false; // stopPollingCalled + + vm.handleMergePolling(() => { cpc = true; }, () => { spc = true; }); + setTimeout(() => { + expect(vm.service.poll).toHaveBeenCalled(); + expect(eventHub.$emit).toHaveBeenCalledWith('MRWidgetUpdateRequested'); + expect(eventHub.$emit).toHaveBeenCalledWith('FetchActionsContent'); + expect(vm.initiateRemoveSourceBranchPolling).toHaveBeenCalled(); + expect(cpc).toBeFalsy(); + expect(spc).toBeTruthy(); + + done(); + }, 333); + }); + + it('should continue polling until MR is merged', (done) => { + spyOn(vm.service, 'poll').and.returnValue(returnPromise('some_other_state')); + spyOn(vm, 'initiateRemoveSourceBranchPolling'); + + let cpc = false; // continuePollingCalled + let spc = false; // stopPollingCalled + + vm.handleMergePolling(() => { cpc = true; }, () => { spc = true; }); + setTimeout(() => { + expect(cpc).toBeTruthy(); + expect(spc).toBeFalsy(); + + done(); + }, 333); + }); + }); + + describe('initiateRemoveSourceBranchPolling', () => { + it('should emit event and call simplePoll', () => { + spyOn(eventHub, '$emit'); + spyOn(simplePoll, 'default'); + + vm.initiateRemoveSourceBranchPolling(); + expect(eventHub.$emit).toHaveBeenCalledWith('SetBranchRemoveFlag', [true]); + expect(simplePoll.default).toHaveBeenCalled(); + }); + }); + + describe('handleRemoveBranchPolling', () => { + const returnPromise = state => new Promise((resolve) => { + resolve({ + json() { + return { source_branch_exists: state }; + }, + }); + }); + + it('should call start and stop polling when MR merged', (done) => { + spyOn(eventHub, '$emit'); + spyOn(vm.service, 'poll').and.returnValue(returnPromise(false)); + + let cpc = false; // continuePollingCalled + let spc = false; // stopPollingCalled + + vm.handleRemoveBranchPolling(() => { cpc = true; }, () => { spc = true; }); + setTimeout(() => { + expect(vm.service.poll).toHaveBeenCalled(); + + const args = eventHub.$emit.calls.argsFor(0); + expect(args[0]).toEqual('MRWidgetUpdateRequested'); + expect(args[1]).toBeDefined(); + args[1](); + expect(eventHub.$emit).toHaveBeenCalledWith('SetBranchRemoveFlag', [false]); + + expect(cpc).toBeFalsy(); + expect(spc).toBeTruthy(); + + done(); + }, 333); + }); + + it('should continue polling until MR is merged', (done) => { + spyOn(vm.service, 'poll').and.returnValue(returnPromise(true)); + + let cpc = false; // continuePollingCalled + let spc = false; // stopPollingCalled + + vm.handleRemoveBranchPolling(() => { cpc = true; }, () => { spc = true; }); + setTimeout(() => { + expect(cpc).toBeTruthy(); + expect(spc).toBeFalsy(); + + done(); + }, 333); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js new file mode 100644 index 00000000000..fe87f110354 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_unresolved_discussions_spec.js @@ -0,0 +1,47 @@ +import Vue from 'vue'; +import unresolvedDiscussionsComponent from '~/vue_merge_request_widget/components/states/mr_widget_unresolved_discussions'; + +describe('MRWidgetUnresolvedDiscussions', () => { + describe('props', () => { + it('should have props', () => { + const { mr } = unresolvedDiscussionsComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + }); + }); + + describe('template', () => { + let el; + let vm; + const path = 'foo/bar'; + + beforeEach(() => { + const Component = Vue.extend(unresolvedDiscussionsComponent); + const mr = { + createIssueToResolveDiscussionsPath: path, + }; + vm = new Component({ + el: document.createElement('div'), + propsData: { mr }, + }); + el = vm.$el; + }); + + it('should have correct elements', () => { + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.innerText).toContain('There are unresolved discussions. Please resolve these discussions'); + expect(el.innerText).toContain('Create an issue to resolve them later'); + expect(el.querySelector('.js-create-issue').getAttribute('href')).toEqual(path); + }); + + it('should not show create issue button if user cannot create issue', (done) => { + vm.mr.createIssueToResolveDiscussionsPath = ''; + + Vue.nextTick(() => { + expect(el.querySelector('.js-create-issue')).toEqual(null); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_wip_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_wip_spec.js new file mode 100644 index 00000000000..45bd1a69964 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_wip_spec.js @@ -0,0 +1,96 @@ +import Vue from 'vue'; +import wipComponent from '~/vue_merge_request_widget/components/states/mr_widget_wip'; +import eventHub from '~/vue_merge_request_widget/event_hub'; + +const createComponent = () => { + const Component = Vue.extend(wipComponent); + const mr = { + title: 'The best MR ever', + removeWIPPath: '/path/to/remove/wip', + }; + const service = { + removeWIP() {}, + }; + return new Component({ + el: document.createElement('div'), + propsData: { mr, service }, + }); +}; + +describe('MRWidgetWIP', () => { + describe('props', () => { + it('should have props', () => { + const { mr, service } = wipComponent.props; + + expect(mr.type instanceof Object).toBeTruthy(); + expect(mr.required).toBeTruthy(); + + expect(service.type instanceof Object).toBeTruthy(); + expect(service.required).toBeTruthy(); + }); + }); + + describe('data', () => { + it('should have default data', () => { + const vm = createComponent(); + expect(vm.isMakingRequest).toBeFalsy(); + }); + }); + + describe('methods', () => { + const mrObj = { + is_new_mr_data: true, + }; + + describe('removeWIP', () => { + it('should make a request to service and handle response', (done) => { + const vm = createComponent(); + + spyOn(window, 'Flash').and.returnValue(true); + spyOn(eventHub, '$emit'); + spyOn(vm.service, 'removeWIP').and.returnValue(new Promise((resolve) => { + resolve({ + json() { + return mrObj; + }, + }); + })); + + vm.removeWIP(); + setTimeout(() => { + expect(vm.isMakingRequest).toBeTruthy(); + expect(eventHub.$emit).toHaveBeenCalledWith('UpdateWidgetData', mrObj); + expect(window.Flash).toHaveBeenCalledWith('The merge request can now be merged.', 'notice'); + done(); + }, 333); + }); + }); + }); + + describe('template', () => { + let vm; + let el; + + beforeEach(() => { + vm = createComponent(); + el = vm.$el; + }); + + it('should have correct elements', () => { + expect(el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(el.innerText).toContain('This merge request is currently Work In Progress and therefore unable to merge'); + expect(el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(el.querySelector('button').innerText).toContain('Merge'); + expect(el.querySelector('.js-remove-wip').innerText).toContain('Resolve WIP status'); + }); + + it('should not show removeWIP button is user cannot update MR', (done) => { + vm.mr.removeWIPPath = ''; + + Vue.nextTick(() => { + expect(el.querySelector('.js-remove-wip')).toEqual(null); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/mock_data.js b/spec/javascripts/vue_mr_widget/mock_data.js new file mode 100644 index 00000000000..e6f96d5588b --- /dev/null +++ b/spec/javascripts/vue_mr_widget/mock_data.js @@ -0,0 +1,214 @@ +/* eslint-disable */ + +export default { + "id": 132, + "iid": 22, + "assignee_id": null, + "author_id": 1, + "description": "", + "lock_version": null, + "milestone_id": null, + "position": 0, + "state": "merged", + "title": "Update README.md", + "updated_by_id": null, + "created_at": "2017-04-07T12:27:26.718Z", + "updated_at": "2017-04-07T15:39:25.852Z", + "deleted_at": null, + "time_estimate": 0, + "total_time_spent": 0, + "human_time_estimate": null, + "human_total_time_spent": null, + "in_progress_merge_commit_sha": null, + "locked_at": null, + "merge_commit_sha": "53027d060246c8f47e4a9310fb332aa52f221775", + "merge_error": null, + "merge_params": { + "force_remove_source_branch": null + }, + "merge_status": "can_be_merged", + "merge_user_id": null, + "merge_when_pipeline_succeeds": false, + "source_branch": "daaaa", + "source_project_id": 19, + "target_branch": "master", + "target_project_id": 19, + "merge_event": { + "author": { + "name": "Administrator", + "username": "root", + "id": 1, + "state": "active", + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", + "web_url": "http://localhost:3000/root" + }, + "updated_at": "2017-04-07T15:39:25.696Z" + }, + "closed_event": null, + "author": { + "name": "Administrator", + "username": "root", + "id": 1, + "state": "active", + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", + "web_url": "http://localhost:3000/root" + }, + "merge_user": null, + "diff_head_sha": "104096c51715e12e7ae41f9333e9fa35b73f385d", + "diff_head_commit_short_id": "104096c5", + "merge_commit_message": "Merge branch 'daaaa' into 'master'\n\nUpdate README.md\n\nSee merge request !22", + "pipeline": { + "id": 172, + "user": { + "name": "Administrator", + "username": "root", + "id": 1, + "state": "active", + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", + "web_url": "http://localhost:3000/root" + }, + "active": false, + "coverage": "92.16", + "path": "/root/acets-app/pipelines/172", + "details": { + "status": { + "icon": "icon_status_success", + "favicon": "favicon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/acets-app/pipelines/172" + }, + "duration": null, + "finished_at": "2017-04-07T14:00:14.256Z", + "stages": [ + { + "name": "build", + "title": "build: failed", + "status": { + "icon": "icon_status_failed", + "favicon": "favicon_status_failed", + "text": "failed", + "label": "failed", + "group": "failed", + "has_details": true, + "details_path": "/root/acets-app/pipelines/172#build" + }, + "path": "/root/acets-app/pipelines/172#build", + "dropdown_path": "/root/acets-app/pipelines/172/stage.json?stage=build" + }, + { + "name": "review", + "title": "review: skipped", + "status": { + "icon": "icon_status_skipped", + "favicon": "favicon_status_skipped", + "text": "skipped", + "label": "skipped", + "group": "skipped", + "has_details": true, + "details_path": "/root/acets-app/pipelines/172#review" + }, + "path": "/root/acets-app/pipelines/172#review", + "dropdown_path": "/root/acets-app/pipelines/172/stage.json?stage=review" + } + ], + "artifacts": [ + + ], + "manual_actions": [ + { + "name": "stop_review", + "path": "/root/acets-app/builds/1427/play", + "playable": false + } + ] + }, + "flags": { + "latest": false, + "triggered": false, + "stuck": false, + "yaml_errors": false, + "retryable": true, + "cancelable": false + }, + "ref": { + "name": "daaaa", + "path": "/root/acets-app/tree/daaaa", + "tag": false, + "branch": true + }, + "commit": { + "id": "104096c51715e12e7ae41f9333e9fa35b73f385d", + "short_id": "104096c5", + "title": "Update README.md", + "created_at": "2017-04-07T15:27:18.000+03:00", + "parent_ids": [ + "2396536178668d8930c29d904e53bd4d06228b32" + ], + "message": "Update README.md", + "author_name": "Administrator", + "author_email": "admin@example.com", + "authored_date": "2017-04-07T15:27:18.000+03:00", + "committer_name": "Administrator", + "committer_email": "admin@example.com", + "committed_date": "2017-04-07T15:27:18.000+03:00", + "author": { + "name": "Administrator", + "username": "root", + "id": 1, + "state": "active", + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", + "web_url": "http://localhost:3000/root" + }, + "author_gravatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", + "commit_url": "http://localhost:3000/root/acets-app/commit/104096c51715e12e7ae41f9333e9fa35b73f385d", + "commit_path": "/root/acets-app/commit/104096c51715e12e7ae41f9333e9fa35b73f385d" + }, + "retry_path": "/root/acets-app/pipelines/172/retry", + "created_at": "2017-04-07T12:27:19.520Z", + "updated_at": "2017-04-07T15:28:44.800Z" + }, + "work_in_progress": false, + "source_branch_exists": false, + "mergeable_discussions_state": true, + "conflicts_can_be_resolved_in_ui": false, + "branch_missing": true, + "commits_count": 1, + "has_conflicts": false, + "can_be_merged": true, + "has_ci": true, + "ci_status": "success", + "pipeline_status_path": "/root/acets-app/merge_requests/22/pipeline_status", + "issues_links": { + "closing": "", + "mentioned_but_not_closing": "" + }, + "current_user": { + "can_resolve_conflicts": true, + "can_remove_source_branch": false, + "can_revert_on_current_merge_request": true, + "can_cherry_pick_on_current_merge_request": true + }, + "target_branch_path": "/root/acets-app/branches/master", + "source_branch_path": "/root/acets-app/branches/daaaa", + "conflict_resolution_ui_path": "/root/acets-app/merge_requests/22/conflicts", + "remove_wip_path": "/root/acets-app/merge_requests/22/remove_wip", + "cancel_merge_when_pipeline_succeeds_path": "/root/acets-app/merge_requests/22/cancel_merge_when_pipeline_succeeds", + "create_issue_to_resolve_discussions_path": "/root/acets-app/issues/new?merge_request_to_resolve_discussions_of=22", + "merge_path": "/root/acets-app/merge_requests/22/merge", + "cherry_pick_in_fork_path": "/root/acets-app/forks?continue%5Bnotice%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+has+been+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.+Try+to+revert+this+commit+again.&continue%5Bnotice_now%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+is+being+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bto%5D=%2Froot%2Facets-app%2Fmerge_requests%2F22&namespace_key=1", + "revert_in_fork_path": "/root/acets-app/forks?continue%5Bnotice%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+has+been+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.+Try+to+cherry-pick+this+commit+again.&continue%5Bnotice_now%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+is+being+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&continue%5Bto%5D=%2Froot%2Facets-app%2Fmerge_requests%2F22&namespace_key=1", + "email_patches_path": "/root/acets-app/merge_requests/22.patch", + "plain_diff_path": "/root/acets-app/merge_requests/22.diff", + "ci_status_path": "/root/acets-app/merge_requests/22/ci_status", + "status_path": "/root/acets-app/merge_requests/22.json", + "merge_check_path": "/root/acets-app/merge_requests/22/merge_check", + "ci_environments_status_url": "/root/acets-app/merge_requests/22/ci_environments_status", + "project_archived": false, + "merge_commit_message_with_description": "Merge branch 'daaaa' into 'master'\n\nUpdate README.md\n\nSee merge request !22", + "diverged_commits_count": 0, + "only_allow_merge_if_pipeline_succeeds": false, + "commit_change_content_path": "/root/acets-app/merge_requests/22/commit_change_content" +} diff --git a/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js b/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js new file mode 100644 index 00000000000..22ee7dcf0e7 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js @@ -0,0 +1,326 @@ +import Vue from 'vue'; +import MRWidgetService from '~/vue_merge_request_widget/services/mr_widget_service'; +import mrWidgetOptions from '~/vue_merge_request_widget/mr_widget_options'; +import eventHub from '~/vue_merge_request_widget/event_hub'; +import mockData from './mock_data'; + +const createComponent = () => { + delete mrWidgetOptions.el; // Prevent component mounting + gl.mrWidgetData = mockData; + const Component = Vue.extend(mrWidgetOptions); + return new Component(); +}; + +const returnPromise = data => new Promise((resolve) => { + resolve({ + json() { + return data; + }, + body: data, + }); +}); + +describe('mrWidgetOptions', () => { + let vm; + + beforeEach(() => { + vm = createComponent(); + }); + + describe('data', () => { + it('should instantiate Store and Service', () => { + expect(vm.mr).toBeDefined(); + expect(vm.service).toBeDefined(); + }); + }); + + describe('computed', () => { + describe('componentName', () => { + it('should return merged component', () => { + expect(vm.componentName).toEqual('mr-widget-merged'); + }); + + it('should return conflicts component', () => { + vm.mr.state = 'conflicts'; + expect(vm.componentName).toEqual('mr-widget-conflicts'); + }); + }); + + describe('shouldRenderMergeHelp', () => { + it('should return false for the initial merged state', () => { + expect(vm.shouldRenderMergeHelp).toBeFalsy(); + }); + + it('should return true for a state which requires help widget', () => { + vm.mr.state = 'conflicts'; + expect(vm.shouldRenderMergeHelp).toBeTruthy(); + }); + }); + + describe('shouldRenderPipelines', () => { + it('should return true for the initial data', () => { + expect(vm.shouldRenderPipelines).toBeTruthy(); + }); + + it('should return true when pipeline is empty but MR.hasCI is set to true', () => { + vm.mr.pipeline = {}; + expect(vm.shouldRenderPipelines).toBeTruthy(); + }); + + it('should return true when pipeline available', () => { + vm.mr.hasCI = false; + expect(vm.shouldRenderPipelines).toBeTruthy(); + }); + + it('should return false when there is no pipeline', () => { + vm.mr.pipeline = {}; + vm.mr.hasCI = false; + expect(vm.shouldRenderPipelines).toBeFalsy(); + }); + }); + + describe('shouldRenderRelatedLinks', () => { + it('should return false for the initial data', () => { + expect(vm.shouldRenderRelatedLinks).toBeFalsy(); + }); + + it('should return true if there is relatedLinks in MR', () => { + vm.mr.relatedLinks = {}; + expect(vm.shouldRenderRelatedLinks).toBeTruthy(); + }); + }); + + describe('shouldRenderDeployments', () => { + it('should return false for the initial data', () => { + expect(vm.shouldRenderDeployments).toBeFalsy(); + }); + + it('should return true if there is deployments', () => { + vm.mr.deployments.push({}, {}); + expect(vm.shouldRenderDeployments).toBeTruthy(); + }); + }); + }); + + describe('methods', () => { + describe('checkStatus', () => { + it('should tell service to check status', (done) => { + spyOn(vm.service, 'checkStatus').and.returnValue(returnPromise(mockData)); + spyOn(vm.mr, 'setData'); + let isCbExecuted = false; + const cb = () => { + isCbExecuted = true; + }; + + vm.checkStatus(cb); + + setTimeout(() => { + expect(vm.service.checkStatus).toHaveBeenCalled(); + expect(vm.mr.setData).toHaveBeenCalled(); + expect(isCbExecuted).toBeTruthy(); + done(); + }, 333); + }); + }); + + describe('initPolling', () => { + it('should call SmartInterval', () => { + spyOn(gl, 'SmartInterval').and.returnValue({ + resume() {}, + stopTimer() {}, + }); + vm.initPolling(); + + expect(vm.pollingInterval).toBeDefined(); + expect(gl.SmartInterval).toHaveBeenCalled(); + }); + }); + + describe('initDeploymentsPolling', () => { + it('should call SmartInterval', () => { + spyOn(gl, 'SmartInterval'); + vm.initDeploymentsPolling(); + + expect(vm.deploymentsInterval).toBeDefined(); + expect(gl.SmartInterval).toHaveBeenCalled(); + }); + }); + + describe('fetchDeployments', () => { + it('should fetch deployments', (done) => { + spyOn(vm.service, 'fetchDeployments').and.returnValue(returnPromise([{ deployment: 1 }])); + + vm.fetchDeployments(); + + setTimeout(() => { + expect(vm.service.fetchDeployments).toHaveBeenCalled(); + expect(vm.mr.deployments.length).toEqual(1); + expect(vm.mr.deployments[0].deployment).toEqual(1); + done(); + }, 333); + }); + }); + + describe('fetchActionsContent', () => { + it('should fetch content of Cherry Pick and Revert modals', (done) => { + spyOn(vm.service, 'fetchMergeActionsContent').and.returnValue(returnPromise('hello world')); + + vm.fetchActionsContent(); + + setTimeout(() => { + expect(vm.service.fetchMergeActionsContent).toHaveBeenCalled(); + expect(document.body.textContent).toContain('hello world'); + done(); + }, 333); + }); + }); + + describe('bindEventHubListeners', () => { + it('should bind eventHub listeners', () => { + spyOn(vm, 'checkStatus').and.returnValue(() => {}); + spyOn(vm.service, 'checkStatus').and.returnValue(returnPromise(mockData)); + spyOn(vm, 'fetchActionsContent'); + spyOn(vm.mr, 'setData'); + spyOn(vm, 'resumePolling'); + spyOn(vm, 'stopPolling'); + spyOn(eventHub, '$on'); + + vm.bindEventHubListeners(); + + eventHub.$emit('SetBranchRemoveFlag', ['flag']); + expect(vm.mr.isRemovingSourceBranch).toEqual('flag'); + + eventHub.$emit('FailedToMerge'); + expect(vm.mr.state).toEqual('failedToMerge'); + + eventHub.$emit('UpdateWidgetData', mockData); + expect(vm.mr.setData).toHaveBeenCalledWith(mockData); + + eventHub.$emit('EnablePolling'); + expect(vm.resumePolling).toHaveBeenCalled(); + + eventHub.$emit('DisablePolling'); + expect(vm.stopPolling).toHaveBeenCalled(); + + const listenersWithServiceRequest = { + MRWidgetUpdateRequested: true, + FetchActionsContent: true, + }; + + const allArgs = eventHub.$on.calls.allArgs(); + allArgs.forEach((params) => { + const eventName = params[0]; + const callback = params[1]; + + if (listenersWithServiceRequest[eventName]) { + listenersWithServiceRequest[eventName] = callback; + } + }); + + listenersWithServiceRequest.MRWidgetUpdateRequested(); + expect(vm.checkStatus).toHaveBeenCalled(); + + listenersWithServiceRequest.FetchActionsContent(); + expect(vm.fetchActionsContent).toHaveBeenCalled(); + }); + }); + + describe('handleMounted', () => { + it('should call required methods to do the initial kick-off', () => { + spyOn(vm, 'checkStatus'); + spyOn(vm, 'initDeploymentsPolling'); + spyOn(vm, 'setFavicon'); + + vm.handleMounted(); + + expect(vm.checkStatus).toHaveBeenCalled(); + expect(vm.setFavicon).toHaveBeenCalled(); + expect(vm.initDeploymentsPolling).toHaveBeenCalled(); + }); + }); + + describe('setFavicon', () => { + it('should call setFavicon method', () => { + spyOn(gl.utils, 'setFavicon'); + vm.setFavicon(); + + expect(gl.utils.setFavicon).toHaveBeenCalledWith(vm.mr.ciStatusFaviconPath); + }); + + it('should not call setFavicon when there is no ciStatusFaviconPath', () => { + spyOn(gl.utils, 'setFavicon'); + vm.mr.ciStatusFaviconPath = null; + vm.setFavicon(); + + expect(gl.utils.setFavicon).not.toHaveBeenCalled(); + }); + }); + + describe('resumePolling', () => { + it('should call stopTimer on pollingInterval', () => { + spyOn(vm.pollingInterval, 'resume'); + + vm.resumePolling(); + expect(vm.pollingInterval.resume).toHaveBeenCalled(); + }); + }); + + describe('stopPolling', () => { + it('should call stopTimer on pollingInterval', () => { + spyOn(vm.pollingInterval, 'stopTimer'); + + vm.stopPolling(); + expect(vm.pollingInterval.stopTimer).toHaveBeenCalled(); + }); + }); + + describe('createService', () => { + it('should instantiate a Service', () => { + const endpoints = { + mergePath: '/nice/path', + mergeCheckPath: '/nice/path', + cancelAutoMergePath: '/nice/path', + removeWIPPath: '/nice/path', + sourceBranchPath: '/nice/path', + ciEnvironmentsStatusPath: '/nice/path', + statusPath: '/nice/path', + mergeActionsContentPath: '/nice/path', + }; + + const serviceInstance = vm.createService(endpoints); + const isInstanceOfMRService = serviceInstance instanceof MRWidgetService; + expect(isInstanceOfMRService).toBe(true); + Object.keys(serviceInstance).forEach((key) => { + expect(serviceInstance[key]).toBeDefined(); + }); + }); + }); + }); + + describe('components', () => { + it('should register all components', () => { + const comps = mrWidgetOptions.components; + expect(comps['mr-widget-header']).toBeDefined(); + expect(comps['mr-widget-merge-help']).toBeDefined(); + expect(comps['mr-widget-pipeline']).toBeDefined(); + expect(comps['mr-widget-deployment']).toBeDefined(); + expect(comps['mr-widget-related-links']).toBeDefined(); + expect(comps['mr-widget-merged']).toBeDefined(); + expect(comps['mr-widget-closed']).toBeDefined(); + expect(comps['mr-widget-locked']).toBeDefined(); + expect(comps['mr-widget-failed-to-merge']).toBeDefined(); + expect(comps['mr-widget-wip']).toBeDefined(); + expect(comps['mr-widget-archived']).toBeDefined(); + expect(comps['mr-widget-conflicts']).toBeDefined(); + expect(comps['mr-widget-nothing-to-merge']).toBeDefined(); + expect(comps['mr-widget-not-allowed']).toBeDefined(); + expect(comps['mr-widget-missing-branch']).toBeDefined(); + expect(comps['mr-widget-ready-to-merge']).toBeDefined(); + expect(comps['mr-widget-checking']).toBeDefined(); + expect(comps['mr-widget-unresolved-discussions']).toBeDefined(); + expect(comps['mr-widget-pipeline-blocked']).toBeDefined(); + expect(comps['mr-widget-pipeline-failed']).toBeDefined(); + expect(comps['mr-widget-merge-when-pipeline-succeeds']).toBeDefined(); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/services/mr_widget_service_spec.js b/spec/javascripts/vue_mr_widget/services/mr_widget_service_spec.js new file mode 100644 index 00000000000..b63633c03b8 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/services/mr_widget_service_spec.js @@ -0,0 +1,46 @@ +import Vue from 'vue'; +import VueResource from 'vue-resource'; +import MRWidgetService from '~/vue_merge_request_widget/services/mr_widget_service'; + +Vue.use(VueResource); + +describe('MRWidgetService', () => { + const mr = { + mergePath: './', + mergeCheckPath: './', + cancelAutoMergePath: './', + removeWIPPath: './', + sourceBranchPath: './', + ciEnvironmentsStatusPath: './', + statusPath: './', + mergeActionsContentPath: './', + isServiceStore: true, + }; + + it('should have store and resources created in constructor', () => { + const service = new MRWidgetService(mr); + + expect(service.mergeResource).toBeDefined(); + expect(service.mergeCheckResource).toBeDefined(); + expect(service.cancelAutoMergeResource).toBeDefined(); + expect(service.removeWIPResource).toBeDefined(); + expect(service.removeSourceBranchResource).toBeDefined(); + expect(service.deploymentsResource).toBeDefined(); + expect(service.pollResource).toBeDefined(); + expect(service.mergeActionsContentResource).toBeDefined(); + }); + + it('should have methods defined', () => { + const service = new MRWidgetService(mr); + + expect(service.merge()).toBeDefined(); + expect(service.cancelAutomaticMerge()).toBeDefined(); + expect(service.removeWIP()).toBeDefined(); + expect(service.removeSourceBranch()).toBeDefined(); + expect(service.fetchDeployments()).toBeDefined(); + expect(service.poll()).toBeDefined(); + expect(service.checkStatus()).toBeDefined(); + expect(service.fetchMergeActionsContent()).toBeDefined(); + expect(MRWidgetService.stopEnvironment()).toBeDefined(); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js new file mode 100644 index 00000000000..ee944f4d4e5 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js @@ -0,0 +1,62 @@ +import getStateKey from '~/vue_merge_request_widget/stores/get_state_key'; + +describe('getStateKey', () => { + it('should return proper state name', () => { + const context = { + mergeStatus: 'checked', + mergeWhenPipelineSucceeds: false, + canMerge: true, + onlyAllowMergeIfPipelineSucceeds: false, + isPipelineFailed: false, + hasMergeableDiscussionsState: false, + isPipelineBlocked: false, + canBeMerged: false, + }; + const data = { + project_archived: false, + branch_missing: false, + commits_count: 2, + has_conflicts: false, + work_in_progress: false, + }; + const bound = getStateKey.bind(context, data); + expect(bound()).toEqual(null); + + context.canBeMerged = true; + expect(bound()).toEqual('readyToMerge'); + + context.isPipelineBlocked = true; + expect(bound()).toEqual('pipelineBlocked'); + + context.hasMergeableDiscussionsState = true; + expect(bound()).toEqual('unresolvedDiscussions'); + + context.onlyAllowMergeIfPipelineSucceeds = true; + context.isPipelineFailed = true; + expect(bound()).toEqual('pipelineFailed'); + + context.canMerge = false; + expect(bound()).toEqual('notAllowedToMerge'); + + context.mergeWhenPipelineSucceeds = true; + expect(bound()).toEqual('mergeWhenPipelineSucceeds'); + + data.work_in_progress = true; + expect(bound()).toEqual('workInProgress'); + + data.has_conflicts = true; + expect(bound()).toEqual('conflicts'); + + context.mergeStatus = 'unchecked'; + expect(bound()).toEqual('checking'); + + data.commits_count = 0; + expect(bound()).toEqual('nothingToMerge'); + + data.branch_missing = true; + expect(bound()).toEqual('missingBranch'); + + data.project_archived = true; + expect(bound()).toEqual('archived'); + }); +}); diff --git a/spec/lib/gitlab/prometheus_spec.rb b/spec/lib/gitlab/prometheus_spec.rb index fc453a2704b..9d67e3d2f37 100644 --- a/spec/lib/gitlab/prometheus_spec.rb +++ b/spec/lib/gitlab/prometheus_spec.rb @@ -81,7 +81,11 @@ describe Gitlab::Prometheus, lib: true do describe '#query' do let(:prometheus_query) { prometheus_cpu_query('env-slug') } - let(:query_url) { prometheus_query_url(prometheus_query) } + let(:query_url) { prometheus_query_with_time_url(prometheus_query, Time.now.utc) } + + around do |example| + Timecop.freeze { example.run } + end context 'when request returns vector results' do it 'returns data from the API call' do @@ -123,6 +127,20 @@ describe Gitlab::Prometheus, lib: true do Timecop.freeze { example.run } end + context 'when non utc time is passed' do + let(:time_stop) { Time.now.in_time_zone("Warsaw") } + let(:time_start) { time_stop - 8.hours } + + let(:query_url) { prometheus_query_range_url(prometheus_query, start: time_start.utc.to_f, stop: time_stop.utc.to_f) } + + it 'passed dates are properly converted to utc' do + req_stub = stub_prometheus_request(query_url, body: prometheus_values_body('vector')) + + subject.query_range(prometheus_query, start: time_start, stop: time_stop) + expect(req_stub).to have_been_requested + end + end + context 'when a start time is passed' do let(:query_url) { prometheus_query_range_url(prometheus_query, start: 2.hours.ago) } diff --git a/spec/models/deployment_spec.rb b/spec/models/deployment_spec.rb index 080ff2f3f43..212fcd884a8 100644 --- a/spec/models/deployment_spec.rb +++ b/spec/models/deployment_spec.rb @@ -49,6 +49,33 @@ describe Deployment, models: true do end end + describe '#metrics' do + let(:deployment) { create(:deployment) } + + subject { deployment.metrics(1.hour) } + + context 'metrics are disabled' do + it { is_expected.to eq({}) } + end + + context 'metrics are enabled' do + let(:simple_metrics) do + { + success: true, + metrics: {}, + last_update: 42 + } + end + + before do + allow(deployment.project).to receive_message_chain(:monitoring_service, :metrics) + .with(any_args).and_return(simple_metrics) + end + + it { is_expected.to eq(simple_metrics.merge(deployment_time: deployment.created_at.utc.to_i)) } + end + end + describe '#stop_action' do let(:build) { create(:ci_build) } diff --git a/spec/models/project_services/prometheus_service_spec.rb b/spec/models/project_services/prometheus_service_spec.rb index f3126bc1e57..82a3e2698c1 100644 --- a/spec/models/project_services/prometheus_service_spec.rb +++ b/spec/models/project_services/prometheus_service_spec.rb @@ -47,15 +47,30 @@ describe PrometheusService, models: true, caching: true do describe '#metrics' do let(:environment) { build_stubbed(:environment, slug: 'env-slug') } - subject { service.metrics(environment) } around do |example| Timecop.freeze { example.run } end - context 'with valid data' do + context 'with valid data without time range' do + subject { service.metrics(environment) } + + before do + stub_reactive_cache(service, prometheus_data, 'env-slug', nil, nil) + end + + it 'returns reactive data' do + is_expected.to eq(prometheus_data) + end + end + + context 'with valid data with time range' do + let(:t_start) { 1.hour.ago.utc } + let(:t_end) { Time.now.utc } + subject { service.metrics(environment, timeframe_start: t_start, timeframe_end: t_end) } + before do - stub_reactive_cache(service, prometheus_data, 'env-slug') + stub_reactive_cache(service, prometheus_data, 'env-slug', t_start, t_end) end it 'returns reactive data' do @@ -72,7 +87,7 @@ describe PrometheusService, models: true, caching: true do end subject do - service.calculate_reactive_cache(environment.slug) + service.calculate_reactive_cache(environment.slug, nil, nil) end context 'when service is inactive' do diff --git a/spec/presenters/merge_request_presenter_spec.rb b/spec/presenters/merge_request_presenter_spec.rb new file mode 100644 index 00000000000..e599ddaf943 --- /dev/null +++ b/spec/presenters/merge_request_presenter_spec.rb @@ -0,0 +1,356 @@ +require 'spec_helper' + +describe MergeRequestPresenter do + let(:resource) { create :merge_request, source_project: project } + let(:project) { create :empty_project } + let(:user) { create(:user) } + + describe '#ci_status' do + subject { described_class.new(resource).ci_status } + + context 'when no head pipeline' do + it 'return status using CiService' do + ci_service = double(MockCiService) + ci_status = double + + allow(resource.source_project) + .to receive(:ci_service) + .and_return(ci_service) + + allow(resource).to receive(:head_pipeline).and_return(nil) + + expect(ci_service).to receive(:commit_status) + .with(resource.diff_head_sha, resource.source_branch) + .and_return(ci_status) + + is_expected.to eq(ci_status) + end + end + + context 'when head pipeline present' do + let(:pipeline) { build_stubbed(:ci_pipeline) } + + before do + allow(resource).to receive(:head_pipeline).and_return(pipeline) + end + + context 'success with warnings' do + before do + allow(pipeline).to receive(:success?) { true } + allow(pipeline).to receive(:has_warnings?) { true } + end + + it 'returns "success_with_warnings"' do + is_expected.to eq('success_with_warnings') + end + end + + context 'pipeline HAS status AND its not success with warnings' do + before do + allow(pipeline).to receive(:success?) { false } + allow(pipeline).to receive(:has_warnings?) { false } + end + + it 'returns pipeline status' do + is_expected.to eq('pending') + end + end + + context 'pipeline has NO status AND its not success with warnings' do + before do + allow(pipeline).to receive(:status) { nil } + allow(pipeline).to receive(:success?) { false } + allow(pipeline).to receive(:has_warnings?) { false } + end + + it 'returns "preparing"' do + is_expected.to eq('preparing') + end + end + end + end + + describe '#conflict_resolution_path' do + let(:project) { create :empty_project } + let(:user) { create :user } + let(:path) { described_class.new(resource, current_user: user).conflict_resolution_path } + + context 'when MR cannot be resolved in UI' do + it 'does not return conflict resolution path' do + allow(resource).to receive(:conflicts_can_be_resolved_in_ui?) { true } + allow(resource).to receive(:conflicts_can_be_resolved_by?).with(user) { false } + + expect(path).to be_nil + end + end + + context 'when conflicts cannot be resolved by user' do + it 'does not return conflict resolution path' do + allow(resource).to receive(:conflicts_can_be_resolved_in_ui?) { false } + allow(resource).to receive(:conflicts_can_be_resolved_by?).with(user) { true } + + expect(path).to be_nil + end + end + + context 'when able to access conflict resolution UI' do + it 'does return conflict resolution path' do + allow(resource).to receive(:conflicts_can_be_resolved_in_ui?) { true } + allow(resource).to receive(:conflicts_can_be_resolved_by?).with(user) { true } + + expect(path) + .to eq("/#{project.full_path}/merge_requests/#{resource.iid}/conflicts") + end + end + end + + context 'issues links' do + let(:project) { create(:project, :private, creator: user, namespace: user.namespace) } + let(:issue_a) { create(:issue, project: project) } + let(:issue_b) { create(:issue, project: project) } + + let(:resource) do + create(:merge_request, + source_project: project, target_project: project, + description: "Fixes #{issue_a.to_reference} Related #{issue_b.to_reference}") + end + + before do + project.team << [user, :developer] + + allow(resource.project).to receive(:default_branch) + .and_return(resource.target_branch) + end + + describe '#closing_issues_links' do + subject { described_class.new(resource, current_user: user).closing_issues_links } + + it 'presents closing issues links' do + is_expected.to match("#{project.full_path}/issues/#{issue_a.iid}") + end + + it 'does not present related issues links' do + is_expected.not_to match("#{project.full_path}/issues/#{issue_b.iid}") + end + end + + describe '#mentioned_issues_links' do + subject do + described_class.new(resource, current_user: user) + .mentioned_issues_links + end + + it 'presents related issues links' do + is_expected.to match("#{project.full_path}/issues/#{issue_b.iid}") + end + + it 'does not present closing issues links' do + is_expected.not_to match("#{project.full_path}/issues/#{issue_a.iid}") + end + end + + describe '#assign_to_closing_issues_link' do + subject do + described_class.new(resource, current_user: user) + .assign_to_closing_issues_link + end + + before do + assign_issues_service = double(MergeRequests::AssignIssuesService, assignable_issues: assignable_issues) + allow(MergeRequests::AssignIssuesService).to receive(:new) + .and_return(assign_issues_service) + end + + context 'single closing issue' do + let(:issue) { create(:issue) } + let(:assignable_issues) { [issue] } + + it 'returns correct link with correct text' do + is_expected + .to match("#{project.full_path}/merge_requests/#{resource.iid}/assign_related_issues") + + is_expected + .to match("Assign yourself to this issue") + end + end + + context 'multiple closing issues' do + let(:issues) { create_list(:issue, 2) } + let(:assignable_issues) { issues } + + it 'returns correct link with correct text' do + is_expected + .to match("#{project.full_path}/merge_requests/#{resource.iid}/assign_related_issues") + + is_expected + .to match("Assign yourself to these issues") + end + end + + context 'no closing issue' do + let(:assignable_issues) { [] } + + it 'returns correct link with correct text' do + is_expected.to be_nil + end + end + end + end + + describe '#cancel_merge_when_pipeline_succeeds_path' do + subject do + described_class.new(resource, current_user: user) + .cancel_merge_when_pipeline_succeeds_path + end + + context 'when can cancel mwps' do + it 'returns path' do + allow(resource).to receive(:can_cancel_merge_when_pipeline_succeeds?) + .with(user) + .and_return(true) + + is_expected.to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}/cancel_merge_when_pipeline_succeeds") + end + end + + context 'when cannot cancel mwps' do + it 'returns nil' do + allow(resource).to receive(:can_cancel_merge_when_pipeline_succeeds?) + .with(user) + .and_return(false) + + is_expected.to be_nil + end + end + end + + describe '#merge_path' do + subject do + described_class.new(resource, current_user: user).merge_path + end + + context 'when can be merged by user' do + it 'returns path' do + allow(resource).to receive(:can_be_merged_by?) + .with(user) + .and_return(true) + + is_expected + .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}/merge") + end + end + + context 'when cannot be merged by user' do + it 'returns nil' do + allow(resource).to receive(:can_be_merged_by?) + .with(user) + .and_return(false) + + is_expected.to be_nil + end + end + end + + describe '#create_issue_to_resolve_discussions_path' do + subject do + described_class.new(resource, current_user: user) + .create_issue_to_resolve_discussions_path + end + + context 'when can create issue and issues enabled' do + it 'returns path' do + allow(project).to receive(:issues_enabled?) { true } + project.team << [user, :master] + + is_expected + .to eq("/#{resource.project.full_path}/issues/new?merge_request_to_resolve_discussions_of=#{resource.iid}") + end + end + + context 'when cannot create issue' do + it 'returns nil' do + allow(project).to receive(:issues_enabled?) { true } + + is_expected.to be_nil + end + end + + context 'when issues disabled' do + it 'returns nil' do + allow(project).to receive(:issues_enabled?) { false } + project.team << [user, :master] + + is_expected.to be_nil + end + end + end + + describe '#remove_wip_path' do + subject do + described_class.new(resource, current_user: user).remove_wip_path + end + + context 'when merge request enabled and has permission' do + it 'has remove_wip_path' do + allow(project).to receive(:merge_requests_enabled?) { true } + project.team << [user, :master] + + is_expected + .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}/remove_wip") + end + end + + context 'when has no permission' do + it 'returns nil' do + is_expected.to be_nil + end + end + end + + describe '#target_branch_commits_path' do + subject do + described_class.new(resource, current_user: user) + .target_branch_commits_path + end + + context 'when target branch exists' do + it 'returns path' do + allow(resource).to receive(:target_branch_exists?) { true } + + is_expected + .to eq("/#{resource.target_project.full_path}/commits/#{resource.target_branch}") + end + end + + context 'when target branch does not exists' do + it 'returns nil' do + allow(resource).to receive(:target_branch_exists?) { false } + + is_expected.to be_nil + end + end + end + + describe '#source_branch_path' do + subject do + described_class.new(resource, current_user: user).source_branch_path + end + + context 'when source branch exists' do + it 'returns path' do + allow(resource).to receive(:source_branch_exists?) { true } + + is_expected + .to eq("/#{resource.source_project.full_path}/branches/#{resource.source_branch}") + end + end + + context 'when source branch does not exists' do + it 'returns nil' do + allow(resource).to receive(:source_branch_exists?) { false } + + is_expected.to be_nil + end + end + end +end diff --git a/spec/serializers/build_entity_spec.rb b/spec/serializers/build_entity_spec.rb index 897a28b7305..b5eb84ae43b 100644 --- a/spec/serializers/build_entity_spec.rb +++ b/spec/serializers/build_entity_spec.rb @@ -6,7 +6,7 @@ describe BuildEntity do let(:request) { double('request') } before do - allow(request).to receive(:user).and_return(user) + allow(request).to receive(:current_user).and_return(user) end let(:entity) do diff --git a/spec/serializers/build_serializer_spec.rb b/spec/serializers/build_serializer_spec.rb index 7f1abecfafe..01e2cfed6f8 100644 --- a/spec/serializers/build_serializer_spec.rb +++ b/spec/serializers/build_serializer_spec.rb @@ -4,7 +4,7 @@ describe BuildSerializer do let(:user) { create(:user) } let(:serializer) do - described_class.new(user: user) + described_class.new(current_user: user) end subject { serializer.represent(resource) } diff --git a/spec/serializers/deployment_entity_spec.rb b/spec/serializers/deployment_entity_spec.rb index 69355bcde42..522c92ce295 100644 --- a/spec/serializers/deployment_entity_spec.rb +++ b/spec/serializers/deployment_entity_spec.rb @@ -8,7 +8,7 @@ describe DeploymentEntity do subject { entity.as_json } before do - allow(request).to receive(:user).and_return(user) + allow(request).to receive(:current_user).and_return(user) end it 'exposes internal deployment id' do diff --git a/spec/serializers/environment_serializer_spec.rb b/spec/serializers/environment_serializer_spec.rb index 1909e6385b5..d2ad6c44702 100644 --- a/spec/serializers/environment_serializer_spec.rb +++ b/spec/serializers/environment_serializer_spec.rb @@ -6,7 +6,7 @@ describe EnvironmentSerializer do let(:json) do described_class - .new(user: user, project: project) + .new(current_user: user, project: project) .represent(resource) end diff --git a/spec/serializers/event_entity_spec.rb b/spec/serializers/event_entity_spec.rb new file mode 100644 index 00000000000..bb54597c967 --- /dev/null +++ b/spec/serializers/event_entity_spec.rb @@ -0,0 +1,13 @@ +require 'spec_helper' + +describe EventEntity do + subject { described_class.represent(create(:event)).as_json } + + it 'exposes author' do + expect(subject).to include(:author) + end + + it 'exposes core elements of event' do + expect(subject).to include(:updated_at) + end +end diff --git a/spec/serializers/merge_request_basic_serializer_spec.rb b/spec/serializers/merge_request_basic_serializer_spec.rb new file mode 100644 index 00000000000..4daf5a59d0c --- /dev/null +++ b/spec/serializers/merge_request_basic_serializer_spec.rb @@ -0,0 +1,12 @@ +require 'spec_helper' + +describe MergeRequestBasicSerializer do + let(:resource) { create(:merge_request) } + let(:user) { create(:user) } + + subject { described_class.new.represent(resource) } + + it 'has important MergeRequest attributes' do + expect(subject).to include(:merge_status) + end +end diff --git a/spec/serializers/merge_request_entity_spec.rb b/spec/serializers/merge_request_entity_spec.rb new file mode 100644 index 00000000000..bb6e83ae4bd --- /dev/null +++ b/spec/serializers/merge_request_entity_spec.rb @@ -0,0 +1,128 @@ +require 'spec_helper' + +describe MergeRequestEntity do + let(:project) { create :empty_project } + let(:resource) { create(:merge_request, source_project: project, target_project: project) } + let(:user) { create(:user) } + + let(:request) { double('request', current_user: user) } + + subject do + described_class.new(resource, request: request).as_json + end + + it 'includes author' do + req = double('request') + + author_payload = UserEntity + .represent(resource.author, request: req) + .as_json + + expect(subject[:author]).to eq(author_payload) + end + + it 'includes pipeline' do + req = double('request', current_user: user) + pipeline = build_stubbed(:ci_pipeline) + allow(resource).to receive(:head_pipeline).and_return(pipeline) + + pipeline_payload = PipelineEntity + .represent(pipeline, request: req) + .as_json + + expect(subject[:pipeline]).to eq(pipeline_payload) + end + + it 'includes issues_links' do + issues_links = subject[:issues_links] + + expect(issues_links).to include(:closing, :mentioned_but_not_closing, + :assign_to_closing) + end + + it 'has important MergeRequest attributes' do + expect(subject).to include(:diff_head_sha, :merge_commit_message, + :has_conflicts, :has_ci, :merge_path, + :conflict_resolution_path, + :cancel_merge_when_pipeline_succeeds_path, + :create_issue_to_resolve_discussions_path, + :source_branch_path, :target_branch_commits_path, + :commits_count) + end + + it 'has email_patches_path' do + expect(subject[:email_patches_path]) + .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}.patch") + end + + it 'has plain_diff_path' do + expect(subject[:plain_diff_path]) + .to eq("/#{resource.project.full_path}/merge_requests/#{resource.iid}.diff") + end + + it 'has merge_commit_message_with_description' do + expect(subject[:merge_commit_message_with_description]) + .to eq(resource.merge_commit_message(include_description: true)) + end + + describe 'diff_head_sha' do + before do + allow(resource).to receive(:diff_head_sha) { 'sha' } + end + + context 'when no diff head commit' do + it 'returns nil' do + allow(resource).to receive(:diff_head_commit) { nil } + + expect(subject[:diff_head_sha]).to be_nil + end + end + + context 'when diff head commit present' do + it 'returns diff head commit short id' do + allow(resource).to receive(:diff_head_commit) { double } + + expect(subject[:diff_head_sha]).to eq('sha') + end + end + end + + it 'includes merge_event' do + create(:event, :merged, author: user, project: resource.project, target: resource) + + expect(subject[:merge_event]).to include(:author, :updated_at) + end + + it 'includes closed_event' do + create(:event, :closed, author: user, project: resource.project, target: resource) + + expect(subject[:closed_event]).to include(:author, :updated_at) + end + + describe 'diverged_commits_count' do + context 'when MR open and its diverging' do + it 'returns diverged commits count' do + allow(resource).to receive_messages(open?: true, diverged_from_target_branch?: true, + diverged_commits_count: 10) + + expect(subject[:diverged_commits_count]).to eq(10) + end + end + + context 'when MR is not open' do + it 'returns 0' do + allow(resource).to receive_messages(open?: false) + + expect(subject[:diverged_commits_count]).to be_zero + end + end + + context 'when MR is not diverging' do + it 'returns 0' do + allow(resource).to receive_messages(open?: true, diverged_from_target_branch?: false) + + expect(subject[:diverged_commits_count]).to be_zero + end + end + end +end diff --git a/spec/serializers/merge_request_serializer_spec.rb b/spec/serializers/merge_request_serializer_spec.rb new file mode 100644 index 00000000000..73fbecc153d --- /dev/null +++ b/spec/serializers/merge_request_serializer_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' + +describe MergeRequestSerializer do + let(:user) { build_stubbed(:user) } + let(:merge_request) { build_stubbed(:merge_request) } + + let(:serializer) do + described_class.new(current_user: user) + end + + describe '#represent' do + let(:opts) { { basic: basic } } + subject { serializer.represent(merge_request, basic: basic) } + + context 'when basic param is truthy' do + let(:basic) { true } + + it 'calls super class #represent with correct params' do + expect_any_instance_of(BaseSerializer).to receive(:represent) + .with(merge_request, opts, MergeRequestBasicEntity) + + subject + end + end + + context 'when basic param is falsy' do + let(:basic) { false } + + it 'calls super class #represent with correct params' do + expect_any_instance_of(BaseSerializer).to receive(:represent) + .with(merge_request, opts, MergeRequestEntity) + + subject + end + end + end +end diff --git a/spec/serializers/pipeline_entity_spec.rb b/spec/serializers/pipeline_entity_spec.rb index 93d5a21419d..d2482ac434b 100644 --- a/spec/serializers/pipeline_entity_spec.rb +++ b/spec/serializers/pipeline_entity_spec.rb @@ -5,7 +5,7 @@ describe PipelineEntity do let(:request) { double('request') } before do - allow(request).to receive(:user).and_return(user) + allow(request).to receive(:current_user).and_return(user) end let(:entity) do @@ -19,7 +19,7 @@ describe PipelineEntity do let(:pipeline) { create(:ci_empty_pipeline) } it 'contains required fields' do - expect(subject).to include :id, :user, :path + expect(subject).to include :id, :user, :path, :coverage expect(subject).to include :ref, :commit expect(subject).to include :updated_at, :created_at end diff --git a/spec/serializers/pipeline_serializer_spec.rb b/spec/serializers/pipeline_serializer_spec.rb index ecde45a6d44..f2426db6d81 100644 --- a/spec/serializers/pipeline_serializer_spec.rb +++ b/spec/serializers/pipeline_serializer_spec.rb @@ -4,7 +4,7 @@ describe PipelineSerializer do let(:user) { create(:user) } let(:serializer) do - described_class.new(user: user) + described_class.new(current_user: user) end subject { serializer.represent(resource) } @@ -44,7 +44,7 @@ describe PipelineSerializer do end let(:serializer) do - described_class.new(user: user) + described_class.new(current_user: user) .with_pagination(request, response) end @@ -113,7 +113,7 @@ describe PipelineSerializer do it "verifies number of queries" do recorded = ActiveRecord::QueryRecorder.new { subject } - expect(recorded.count).to be_within(1).of(50) + expect(recorded.count).to be_within(1).of(58) expect(recorded.cached_count).to eq(0) end diff --git a/spec/serializers/stage_entity_spec.rb b/spec/serializers/stage_entity_spec.rb index 0412b2d7741..64b3217b809 100644 --- a/spec/serializers/stage_entity_spec.rb +++ b/spec/serializers/stage_entity_spec.rb @@ -14,7 +14,7 @@ describe StageEntity do end before do - allow(request).to receive(:user).and_return(user) + allow(request).to receive(:current_user).and_return(user) create(:ci_build, :success, pipeline: pipeline) end diff --git a/spec/support/prometheus_helpers.rb b/spec/support/prometheus_helpers.rb index a204365431b..51987c7767d 100644 --- a/spec/support/prometheus_helpers.rb +++ b/spec/support/prometheus_helpers.rb @@ -7,17 +7,29 @@ module PrometheusHelpers %{sum(rate(container_cpu_usage_seconds_total{container_name!="POD",environment="#{environment_slug}"}[2m])) / count(container_cpu_usage_seconds_total{container_name!="POD",environment="#{environment_slug}"}) * 100} end + def prometheus_ping_url(prometheus_query) + query = { query: prometheus_query }.to_query + + "https://prometheus.example.com/api/v1/query?#{query}" + end + def prometheus_query_url(prometheus_query) query = { query: prometheus_query }.to_query "https://prometheus.example.com/api/v1/query?#{query}" end - def prometheus_query_range_url(prometheus_query, start: 8.hours.ago) + def prometheus_query_with_time_url(prometheus_query, time) + query = { query: prometheus_query, time: time.to_f }.to_query + + "https://prometheus.example.com/api/v1/query?#{query}" + end + + def prometheus_query_range_url(prometheus_query, start: 8.hours.ago, stop: Time.now.to_f) query = { query: prometheus_query, start: start.to_f, - end: Time.now.utc.to_f, + end: stop, step: 1.minute.to_i }.to_query @@ -39,7 +51,12 @@ module PrometheusHelpers def stub_all_prometheus_requests(environment_slug, body: nil, status: 200) stub_prometheus_request( - prometheus_query_url(prometheus_memory_query(environment_slug)), + prometheus_query_with_time_url(prometheus_memory_query(environment_slug), Time.now.utc), + status: status, + body: body || prometheus_value_body + ) + stub_prometheus_request( + prometheus_query_with_time_url(prometheus_memory_query(environment_slug), 8.hours.ago), status: status, body: body || prometheus_value_body ) @@ -49,7 +66,12 @@ module PrometheusHelpers body: body || prometheus_values_body ) stub_prometheus_request( - prometheus_query_url(prometheus_cpu_query(environment_slug)), + prometheus_query_with_time_url(prometheus_cpu_query(environment_slug), Time.now.utc), + status: status, + body: body || prometheus_value_body + ) + stub_prometheus_request( + prometheus_query_with_time_url(prometheus_cpu_query(environment_slug), 8.hours.ago), status: status, body: body || prometheus_value_body ) @@ -66,8 +88,10 @@ module PrometheusHelpers metrics: { memory_values: prometheus_values_body('matrix').dig(:data, :result), memory_current: prometheus_value_body('vector').dig(:data, :result), + memory_previous: prometheus_value_body('vector').dig(:data, :result), cpu_values: prometheus_values_body('matrix').dig(:data, :result), - cpu_current: prometheus_value_body('vector').dig(:data, :result) + cpu_current: prometheus_value_body('vector').dig(:data, :result), + cpu_previous: prometheus_value_body('vector').dig(:data, :result) }, last_update: last_update } diff --git a/spec/support/wait_for_requests.rb b/spec/support/wait_for_requests.rb index 73da23391ee..a18c8e03aa6 100644 --- a/spec/support/wait_for_requests.rb +++ b/spec/support/wait_for_requests.rb @@ -1,20 +1,26 @@ require_relative './wait_for_ajax' +require_relative './wait_for_vue_resource' module WaitForRequests extend self include WaitForAjax + include WaitForVueResource # This is inspired by http://www.salsify.com/blog/engineering/tearing-capybara-ajax-tests def wait_for_requests_complete Gitlab::Testing::RequestBlockerMiddleware.block_requests! wait_for('pending AJAX requests complete') do Gitlab::Testing::RequestBlockerMiddleware.num_active_requests.zero? && - finished_all_ajax_requests? + finished_all_requests? end ensure Gitlab::Testing::RequestBlockerMiddleware.allow_requests! end + def finished_all_requests? + finished_all_ajax_requests? && finished_all_vue_resource_requests? + end + # Waits until the passed block returns true def wait_for(condition_name, max_wait_time: Capybara.default_max_wait_time, polling_interval: 0.01) wait_until = Time.now + max_wait_time.seconds diff --git a/spec/support/wait_for_vue_resource.rb b/spec/support/wait_for_vue_resource.rb index 4a4e2e16ee7..3bb3d9c2e51 100644 --- a/spec/support/wait_for_vue_resource.rb +++ b/spec/support/wait_for_vue_resource.rb @@ -1,7 +1,19 @@ module WaitForVueResource def wait_for_vue_resource(spinner: true) Timeout.timeout(Capybara.default_max_wait_time) do - loop until page.evaluate_script('window.activeVueResources').zero? + loop until finished_all_vue_resource_requests? end end + + private + + def finished_all_vue_resource_requests? + return true unless javascript_test? + + page.evaluate_script('window.activeVueResources || 0').zero? + end + + def javascript_test? + Capybara.current_driver == Capybara.javascript_driver + end end -- GitLab From 38a7f46b2debb8eada14fec7059fe9e4c467c281 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Tue, 9 May 2017 15:31:14 +0000 Subject: [PATCH 009/249] Merge branch '26944-prometheus-memory-sparkline' into 'master' Add Prometheus memory sparkline to MR widget Closes #26944 See merge request !11209 --- .../components/mr_widget_deployment.js | 2 - .../components/mr_widget_memory_usage.js | 104 +++++----- .../vue_shared/components/memory_graph.js | 107 ++++++++-- .../stylesheets/framework/memory_graph.scss | 8 +- .../stylesheets/pages/merge_requests.scss | 24 ++- .../projects/merge_requests_controller.rb | 8 +- .../components/mr_widget_deployment_spec.js | 4 + .../components/mr_widget_memory_usage_spec.js | 184 ++++++++++++++++++ .../components/memory_graph_spec.js | 143 ++++++++++++++ .../vue_shared/components/mock_data.js | 69 +++++++ 10 files changed, 579 insertions(+), 74 deletions(-) create mode 100644 spec/javascripts/vue_mr_widget/components/mr_widget_memory_usage_spec.js create mode 100644 spec/javascripts/vue_shared/components/memory_graph_spec.js create mode 100644 spec/javascripts/vue_shared/components/mock_data.js diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js index 630e80a7408..3c23b8e472b 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js @@ -108,8 +108,6 @@ export default { </div> <mr-widget-memory-usage v-if="deployment.metrics_url" - :mr="mr" - :service="service" :metricsUrl="deployment.metrics_url" /> </div> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js index 395cc9e91fc..486b13e60af 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_memory_usage.js @@ -5,8 +5,6 @@ import MRWidgetService from '../services/mr_widget_service'; export default { name: 'MemoryUsage', props: { - mr: { type: Object, required: true }, - service: { type: Object, required: true }, metricsUrl: { type: String, required: true }, }, data() { @@ -14,6 +12,7 @@ export default { // memoryFrom: 0, // memoryTo: 0, memoryMetrics: [], + deploymentTime: 0, hasMetrics: false, loadFailed: false, loadingMetrics: true, @@ -23,8 +22,22 @@ export default { components: { 'mr-memory-graph': MemoryGraph, }, + computed: { + shouldShowLoading() { + return this.loadingMetrics && !this.hasMetrics && !this.loadFailed; + }, + shouldShowMemoryGraph() { + return !this.loadingMetrics && this.hasMetrics && !this.loadFailed; + }, + shouldShowLoadFailure() { + return !this.loadingMetrics && !this.hasMetrics && this.loadFailed; + }, + shouldShowMetricsUnavailable() { + return !this.loadingMetrics && !this.hasMetrics && !this.loadFailed; + }, + }, methods: { - computeGraphData(metrics) { + computeGraphData(metrics, deploymentTime) { this.loadingMetrics = false; const { memory_values } = metrics; // if (memory_previous.length > 0) { @@ -38,70 +51,73 @@ export default { if (memory_values.length > 0) { this.hasMetrics = true; this.memoryMetrics = memory_values[0].values; + this.deploymentTime = deploymentTime; } }, - }, - mounted() { - this.$props.loadingMetrics = true; - gl.utils.backOff((next, stop) => { - MRWidgetService.fetchMetrics(this.$props.metricsUrl) - .then((res) => { - if (res.status === statusCodes.NO_CONTENT) { - this.backOffRequestCounter = this.backOffRequestCounter += 1; - if (this.backOffRequestCounter < 3) { - next(); + loadMetrics() { + gl.utils.backOff((next, stop) => { + MRWidgetService.fetchMetrics(this.metricsUrl) + .then((res) => { + if (res.status === statusCodes.NO_CONTENT) { + this.backOffRequestCounter = this.backOffRequestCounter += 1; + /* eslint-disable no-unused-expressions */ + this.backOffRequestCounter < 3 ? next() : stop(res); } else { stop(res); } - } else { - stop(res); + }) + .catch(stop); + }) + .then((res) => { + if (res.status === statusCodes.NO_CONTENT) { + return res; } - }) - .catch(stop); - }) - .then((res) => { - if (res.status === statusCodes.NO_CONTENT) { - return res; - } - return res.json(); - }) - .then((res) => { - this.computeGraphData(res.metrics); - return res; - }) - .catch(() => { - this.$props.loadFailed = true; - }); + return res.json(); + }) + .then((res) => { + this.computeGraphData(res.metrics, res.deployment_time); + return res; + }) + .catch(() => { + this.loadFailed = true; + this.loadingMetrics = false; + }); + }, + }, + mounted() { + this.loadingMetrics = true; + this.loadMetrics(); }, template: ` - <div class="mr-info-list mr-memory-usage"> + <div class="mr-info-list clearfix mr-memory-usage js-mr-memory-usage"> <div class="legend"></div> <p - v-if="loadingMetrics" - class="usage-info usage-info-loading"> + v-if="shouldShowLoading" + class="usage-info js-usage-info usage-info-loading"> <i class="fa fa-spinner fa-spin usage-info-load-spinner" aria-hidden="true" />Loading deployment statistics. </p> <p - v-if="!hasMetrics && !loadingMetrics" - class="usage-info usage-info-loading"> - Deployment statistics are not available currently. - </p> - <p - v-if="hasMetrics" - class="usage-info"> + v-if="shouldShowMemoryGraph" + class="usage-info js-usage-info"> Deployment memory usage: </p> <p - v-if="loadFailed" - class="usage-info"> + v-if="shouldShowLoadFailure" + class="usage-info js-usage-info usage-info-failed"> Failed to load deployment statistics. </p> + <p + v-if="shouldShowMetricsUnavailable" + class="usage-info js-usage-info usage-info-unavailable"> + Deployment statistics are not available currently. + </p> <mr-memory-graph - v-if="hasMetrics" + v-if="shouldShowMemoryGraph" :metrics="memoryMetrics" + :deploymentTime="deploymentTime" height="25" width="100" /> </div> diff --git a/app/assets/javascripts/vue_shared/components/memory_graph.js b/app/assets/javascripts/vue_shared/components/memory_graph.js index 2a605b24339..643b77e04c7 100644 --- a/app/assets/javascripts/vue_shared/components/memory_graph.js +++ b/app/assets/javascripts/vue_shared/components/memory_graph.js @@ -2,6 +2,7 @@ export default { name: 'MemoryGraph', props: { metrics: { type: Array, required: true }, + deploymentTime: { type: Number, required: true }, width: { type: String, required: true }, height: { type: String, required: true }, }, @@ -9,27 +10,105 @@ export default { return { pathD: '', pathViewBox: '', - // dotX: '', - // dotY: '', + dotX: '', + dotY: '', }; }, + computed: { + getFormattedMedian() { + const deployedSince = gl.utils.getTimeago().format(this.deploymentTime * 1000); + return `Deployed ${deployedSince}`; + }, + }, + methods: { + /** + * Returns metric value index in metrics array + * with timestamp closest to matching median + */ + getMedianMetricIndex(median, metrics) { + let matchIndex = 0; + let timestampDiff = 0; + let smallestDiff = 0; + + const metricTimestamps = metrics.map(v => v[0]); + + // Find metric timestamp which is closest to deploymentTime + timestampDiff = Math.abs(metricTimestamps[0] - median); + metricTimestamps.forEach((timestamp, index) => { + if (index === 0) { // Skip first element + return; + } + + smallestDiff = Math.abs(timestamp - median); + if (smallestDiff < timestampDiff) { + matchIndex = index; + timestampDiff = smallestDiff; + } + }); + + return matchIndex; + }, + + /** + * Get Graph Plotting values to render Line and Dot + */ + getGraphPlotValues(median, metrics) { + const renderData = metrics.map(v => v[1]); + const medianMetricIndex = this.getMedianMetricIndex(median, metrics); + let cx = 0; + let cy = 0; + + // Find Maximum and Minimum values from `renderData` array + const maxMemory = Math.max.apply(null, renderData); + const minMemory = Math.min.apply(null, renderData); + + // Find difference between extreme ends + const diff = maxMemory - minMemory; + const lineWidth = renderData.length; + + // Iterate over metrics values and perform following + // 1. Find x & y co-ords for deploymentTime's memory value + // 2. Return line path against maxMemory + const linePath = renderData.map((y, x) => { + if (medianMetricIndex === x) { + cx = x; + cy = maxMemory - y; + } + return `${x} ${maxMemory - y}`; + }); + + return { + pathD: linePath, + pathViewBox: { + lineWidth, + diff, + }, + dotX: cx, + dotY: cy, + }; + }, + + /** + * Render Graph based on provided median and metrics values + */ + renderGraph(median, metrics) { + const { pathD, pathViewBox, dotX, dotY } = this.getGraphPlotValues(median, metrics); + + // Set props and update graph on UI. + this.pathD = `M ${pathD}`; + this.pathViewBox = `0 0 ${pathViewBox.lineWidth} ${pathViewBox.diff}`; + this.dotX = dotX; + this.dotY = dotY; + }, + }, mounted() { - const renderData = this.$props.metrics.map(v => v[1]); - const maxMemory = Math.max.apply(null, renderData); - const minMemory = Math.min.apply(null, renderData); - const diff = maxMemory - minMemory; - // const cx = 0; - // const cy = 0; - const lineWidth = renderData.length; - const linePath = renderData.map((y, x) => `${x} ${maxMemory - y}`); - this.pathD = `M ${linePath}`; - this.pathViewBox = `0 0 ${lineWidth} ${diff}`; + this.renderGraph(this.deploymentTime, this.metrics); }, template: ` <div class="memory-graph-container"> - <svg :width="width" :height="height" xmlns="http://www.w3.org/2000/svg"> + <svg class="has-tooltip" :title="getFormattedMedian" :width="width" :height="height" xmlns="http://www.w3.org/2000/svg"> <path :d="pathD" :viewBox="pathViewBox" /> - <!--<circle r="0.8" :cx="dotX" :cy="dotY" tranform="translate(0 -1)" /> --> + <circle r="1.5" :cx="dotX" :cy="dotY" tranform="translate(0 -1)" /> </svg> </div> `, diff --git a/app/assets/stylesheets/framework/memory_graph.scss b/app/assets/stylesheets/framework/memory_graph.scss index 8473f2ef094..81cdf6b59e4 100644 --- a/app/assets/stylesheets/framework/memory_graph.scss +++ b/app/assets/stylesheets/framework/memory_graph.scss @@ -1,16 +1,22 @@ .memory-graph-container { svg { background: $white-light; + cursor: pointer; + + &:hover { + box-shadow: 0 0 4px $gray-darkest inset; + } } path { fill: none; stroke: $blue-500; - stroke-width: 1px; + stroke-width: 2px; } circle { stroke: $blue-700; fill: $blue-700; + stroke-width: 4px; } } diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index f4488ccd8fe..97019b19667 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -182,8 +182,7 @@ } &.mr-memory-usage { - margin-top: 10px; - margin-bottom: 10px; + margin: 5px 0 10px 25px; } } @@ -511,7 +510,12 @@ .mr-info-list.mr-memory-usage { .legend { - height: 75%; + height: 65%; + top: 0; + + @media (max-width: $screen-xs-max) { + height: 20px; + } } p { @@ -731,13 +735,15 @@ } .mr-memory-usage { - p.usage-info-loading { - margin-bottom: 6px; + p.usage-info-loading, + p.usage-info-unavailable, + p.usage-info-failed { + margin-bottom: 5px; + } - .usage-info-load-spinner { - margin-right: 10px; - font-size: 16px; - } + p.usage-info-loading .usage-info-load-spinner { + margin-right: 10px; + font-size: 16px; } @media (max-width: $screen-md-min) { diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 44c7eb86855..207fbad7856 100755 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -410,10 +410,10 @@ class Projects::MergeRequestsController < Projects::ApplicationController metrics_url = if can?(current_user, :read_environment, environment) && environment.has_metrics? - metrics_namespace_project_environment_path(environment.project.namespace, - environment.project, - environment, - deployment) + metrics_namespace_project_environment_deployment_path(environment.project.namespace, + environment.project, + environment, + deployment) end { diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js index 3d5f71babfb..2f971b39d16 100644 --- a/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js @@ -9,6 +9,7 @@ const deploymentMockData = [ name: 'review/diplo', url: '/root/acets-review-apps/environments/15', stop_url: '/root/acets-review-apps/environments/15/stop', + metrics_url: '/root/acets-review-apps/environments/15/deployments/1/metrics', external_url: 'http://diplo.', external_url_formatted: 'diplo.', deployed_at: '2017-03-22T22:44:42.258Z', @@ -156,6 +157,7 @@ describe('MRWidgetDeployment', () => { expect(el.querySelector('.js-deploy-url').getAttribute('href')).toEqual(deployment.external_url); expect(el.querySelector('.js-deploy-url').innerText).toContain(deployment.external_url_formatted); expect(el.querySelector('.js-deploy-time').innerText).toContain(vm.formatDate(deployment.deployed_at)); + expect(el.querySelector('.js-mr-memory-usage')).toBeDefined(); expect(el.querySelector('button')).toBeDefined(); }); @@ -165,6 +167,7 @@ describe('MRWidgetDeployment', () => { Vue.nextTick(() => { expect(el.querySelectorAll('.ci-widget').length).toEqual(3); + expect(el.querySelectorAll('.js-mr-memory-usage').length).toEqual(3); done(); }); }); @@ -176,6 +179,7 @@ describe('MRWidgetDeployment', () => { expect(el.querySelectorAll('.js-deploy-meta').length).toEqual(0); expect(el.querySelectorAll('.js-deploy-url').length).toEqual(0); expect(el.querySelectorAll('.js-deploy-time').length).toEqual(0); + expect(el.querySelectorAll('.js-mr-memory-usage').length).toEqual(0); expect(el.querySelectorAll('.button').length).toEqual(0); done(); }); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_memory_usage_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_memory_usage_spec.js new file mode 100644 index 00000000000..da9dff18ada --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_memory_usage_spec.js @@ -0,0 +1,184 @@ +import Vue from 'vue'; +import memoryUsageComponent from '~/vue_merge_request_widget/components/mr_widget_memory_usage'; +import MRWidgetService from '~/vue_merge_request_widget/services/mr_widget_service'; + +const url = '/root/acets-review-apps/environments/15/deployments/1/metrics'; + +const metricsMockData = { + success: true, + metrics: { + memory_values: [ + { + metric: {}, + values: [ + [1493716685, '4.30859375'], + ], + }, + ], + }, + last_update: '2017-05-02T12:34:49.628Z', + deployment_time: 1493718485, +}; + +const createComponent = () => { + const Component = Vue.extend(memoryUsageComponent); + + return new Component({ + el: document.createElement('div'), + propsData: { + metricsUrl: url, + memoryMetrics: [], + deploymentTime: 0, + hasMetrics: false, + loadFailed: false, + loadingMetrics: true, + backOffRequestCounter: 0, + }, + }); +}; + +const messages = { + loadingMetrics: 'Loading deployment statistics.', + hasMetrics: 'Deployment memory usage:', + loadFailed: 'Failed to load deployment statistics.', + metricsUnavailable: 'Deployment statistics are not available currently.', +}; + +describe('MemoryUsage', () => { + let vm; + let el; + + beforeEach(() => { + vm = createComponent(); + el = vm.$el; + }); + + describe('props', () => { + it('should have props with defaults', () => { + const { metricsUrl } = memoryUsageComponent.props; + const MetricsUrlTypeClass = metricsUrl.type; + + Vue.nextTick(() => { + expect(new MetricsUrlTypeClass() instanceof String).toBeTruthy(); + expect(metricsUrl.required).toBeTruthy(); + }); + }); + }); + + describe('data', () => { + it('should have default data', () => { + const data = memoryUsageComponent.data(); + + expect(Array.isArray(data.memoryMetrics)).toBeTruthy(); + expect(data.memoryMetrics.length).toBe(0); + + expect(typeof data.deploymentTime).toBe('number'); + expect(data.deploymentTime).toBe(0); + + expect(typeof data.hasMetrics).toBe('boolean'); + expect(data.hasMetrics).toBeFalsy(); + + expect(typeof data.loadFailed).toBe('boolean'); + expect(data.loadFailed).toBeFalsy(); + + expect(typeof data.loadingMetrics).toBe('boolean'); + expect(data.loadingMetrics).toBeTruthy(); + + expect(typeof data.backOffRequestCounter).toBe('number'); + expect(data.backOffRequestCounter).toBe(0); + }); + }); + + describe('methods', () => { + const { metrics, deployment_time } = metricsMockData; + + describe('computeGraphData', () => { + it('should populate sparkline graph', () => { + vm.computeGraphData(metrics, deployment_time); + const { hasMetrics, memoryMetrics, deploymentTime } = vm; + + expect(hasMetrics).toBeTruthy(); + expect(memoryMetrics.length > 0).toBeTruthy(); + expect(deploymentTime).toEqual(deployment_time); + }); + }); + + describe('loadMetrics', () => { + const returnServicePromise = () => new Promise((resolve) => { + resolve({ + json() { + return metricsMockData; + }, + }); + }); + + it('should load metrics data using MRWidgetService', (done) => { + spyOn(MRWidgetService, 'fetchMetrics').and.returnValue(returnServicePromise(true)); + spyOn(vm, 'computeGraphData'); + + vm.loadMetrics(); + setTimeout(() => { + expect(MRWidgetService.fetchMetrics).toHaveBeenCalledWith(url); + expect(vm.computeGraphData).toHaveBeenCalledWith(metrics, deployment_time); + done(); + }, 333); + }); + }); + }); + + describe('template', () => { + it('should render template elements correctly', () => { + expect(el.classList.contains('mr-memory-usage')).toBeTruthy(); + expect(el.querySelector('.js-usage-info')).toBeDefined(); + }); + + it('should show loading metrics message while metrics are being loaded', (done) => { + vm.loadingMetrics = true; + vm.hasMetrics = false; + vm.loadFailed = false; + + Vue.nextTick(() => { + expect(el.querySelector('.js-usage-info.usage-info-loading')).toBeDefined(); + expect(el.querySelector('.js-usage-info .usage-info-load-spinner')).toBeDefined(); + expect(el.querySelector('.js-usage-info').innerText).toContain(messages.loadingMetrics); + done(); + }); + }); + + it('should show deployment memory usage when metrics are loaded', (done) => { + vm.loadingMetrics = false; + vm.hasMetrics = true; + vm.loadFailed = false; + + Vue.nextTick(() => { + expect(el.querySelector('.memory-graph-container')).toBeDefined(); + expect(el.querySelector('.js-usage-info').innerText).toContain(messages.hasMetrics); + done(); + }); + }); + + it('should show failure message when metrics loading failed', (done) => { + vm.loadingMetrics = false; + vm.hasMetrics = false; + vm.loadFailed = true; + + Vue.nextTick(() => { + expect(el.querySelector('.js-usage-info.usage-info-failed')).toBeDefined(); + expect(el.querySelector('.js-usage-info').innerText).toContain(messages.loadFailed); + done(); + }); + }); + + it('should show metrics unavailable message when metrics loading failed', (done) => { + vm.loadingMetrics = false; + vm.hasMetrics = false; + vm.loadFailed = false; + + Vue.nextTick(() => { + expect(el.querySelector('.js-usage-info.usage-info-unavailable')).toBeDefined(); + expect(el.querySelector('.js-usage-info').innerText).toContain(messages.metricsUnavailable); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_shared/components/memory_graph_spec.js b/spec/javascripts/vue_shared/components/memory_graph_spec.js new file mode 100644 index 00000000000..d46a3f2328e --- /dev/null +++ b/spec/javascripts/vue_shared/components/memory_graph_spec.js @@ -0,0 +1,143 @@ +import Vue from 'vue'; +import memoryGraphComponent from '~/vue_shared/components/memory_graph'; +import { mockMetrics, mockMedian, mockMedianIndex } from './mock_data'; + +const defaultHeight = '25'; +const defaultWidth = '100'; + +const createComponent = () => { + const Component = Vue.extend(memoryGraphComponent); + + return new Component({ + el: document.createElement('div'), + propsData: { + metrics: [], + deploymentTime: 0, + width: '', + height: '', + pathD: '', + pathViewBox: '', + dotX: '', + dotY: '', + }, + }); +}; + +describe('MemoryGraph', () => { + let vm; + let el; + + beforeEach(() => { + vm = createComponent(); + el = vm.$el; + }); + + describe('props', () => { + it('should have props with defaults', (done) => { + const { metrics, deploymentTime, width, height } = memoryGraphComponent.props; + + Vue.nextTick(() => { + const typeClassMatcher = (propItem, expectedType) => { + const PropItemTypeClass = propItem.type; + expect(new PropItemTypeClass() instanceof expectedType).toBeTruthy(); + expect(propItem.required).toBeTruthy(); + }; + + typeClassMatcher(metrics, Array); + typeClassMatcher(deploymentTime, Number); + typeClassMatcher(width, String); + typeClassMatcher(height, String); + done(); + }); + }); + }); + + describe('data', () => { + it('should have default data', () => { + const data = memoryGraphComponent.data(); + const dataValidator = (dataItem, expectedType, defaultVal) => { + expect(typeof dataItem).toBe(expectedType); + expect(dataItem).toBe(defaultVal); + }; + + dataValidator(data.pathD, 'string', ''); + dataValidator(data.pathViewBox, 'string', ''); + dataValidator(data.dotX, 'string', ''); + dataValidator(data.dotY, 'string', ''); + }); + }); + + describe('computed', () => { + describe('getFormattedMedian', () => { + it('should show human readable median value based on provided median timestamp', () => { + vm.deploymentTime = mockMedian; + const formattedMedian = vm.getFormattedMedian; + expect(formattedMedian.indexOf('Deployed') > -1).toBeTruthy(); + expect(formattedMedian.indexOf('ago') > -1).toBeTruthy(); + }); + }); + }); + + describe('methods', () => { + describe('getMedianMetricIndex', () => { + it('should return index of closest metric timestamp to that of median', () => { + const matchingIndex = vm.getMedianMetricIndex(mockMedian, mockMetrics); + expect(matchingIndex).toBe(mockMedianIndex); + }); + }); + + describe('getGraphPlotValues', () => { + it('should return Object containing values to plot graph', () => { + const plotValues = vm.getGraphPlotValues(mockMedian, mockMetrics); + expect(plotValues.pathD).toBeDefined(); + expect(Array.isArray(plotValues.pathD)).toBeTruthy(); + + expect(plotValues.pathViewBox).toBeDefined(); + expect(typeof plotValues.pathViewBox).toBe('object'); + + expect(plotValues.dotX).toBeDefined(); + expect(typeof plotValues.dotX).toBe('number'); + + expect(plotValues.dotY).toBeDefined(); + expect(typeof plotValues.dotY).toBe('number'); + }); + }); + }); + + describe('template', () => { + it('should render template elements correctly', () => { + expect(el.classList.contains('memory-graph-container')).toBeTruthy(); + expect(el.querySelector('svg')).toBeDefined(); + }); + + it('should render graph when renderGraph is called internally', (done) => { + const { pathD, pathViewBox, dotX, dotY } = vm.getGraphPlotValues(mockMedian, mockMetrics); + vm.height = defaultHeight; + vm.width = defaultWidth; + vm.pathD = `M ${pathD}`; + vm.pathViewBox = `0 0 ${pathViewBox.lineWidth} ${pathViewBox.diff}`; + vm.dotX = dotX; + vm.dotY = dotY; + + Vue.nextTick(() => { + const svgEl = el.querySelector('svg'); + expect(svgEl).toBeDefined(); + expect(svgEl.getAttribute('height')).toBe(defaultHeight); + expect(svgEl.getAttribute('width')).toBe(defaultWidth); + + const pathEl = el.querySelector('path'); + expect(pathEl).toBeDefined(); + expect(pathEl.getAttribute('d')).toBe(`M ${pathD}`); + expect(pathEl.getAttribute('viewBox')).toBe(`0 0 ${pathViewBox.lineWidth} ${pathViewBox.diff}`); + + const circleEl = el.querySelector('circle'); + expect(circleEl).toBeDefined(); + expect(circleEl.getAttribute('r')).toBe('1.5'); + expect(circleEl.getAttribute('tranform')).toBe('translate(0 -1)'); + expect(circleEl.getAttribute('cx')).toBe(`${dotX}`); + expect(circleEl.getAttribute('cy')).toBe(`${dotY}`); + done(); + }); + }); + }); +}); diff --git a/spec/javascripts/vue_shared/components/mock_data.js b/spec/javascripts/vue_shared/components/mock_data.js new file mode 100644 index 00000000000..0d781bdca74 --- /dev/null +++ b/spec/javascripts/vue_shared/components/mock_data.js @@ -0,0 +1,69 @@ +/* eslint-disable */ + +export const mockMetrics = [ + [1493716685, '4.30859375'], + [1493716745, '4.30859375'], + [1493716805, '4.30859375'], + [1493716865, '4.30859375'], + [1493716925, '4.30859375'], + [1493716985, '4.30859375'], + [1493717045, '4.30859375'], + [1493717105, '4.30859375'], + [1493717165, '4.30859375'], + [1493717225, '4.30859375'], + [1493717285, '4.30859375'], + [1493717345, '4.30859375'], + [1493717405, '4.30859375'], + [1493717465, '4.30859375'], + [1493717525, '4.30859375'], + [1493717585, '4.30859375'], + [1493717645, '4.30859375'], + [1493717705, '4.30859375'], + [1493717765, '4.30859375'], + [1493717825, '4.30859375'], + [1493717885, '4.30859375'], + [1493717945, '4.30859375'], + [1493718005, '4.30859375'], + [1493718065, '4.30859375'], + [1493718125, '4.30859375'], + [1493718185, '4.30859375'], + [1493718245, '4.30859375'], + [1493718305, '4.234375'], + [1493718365, '4.234375'], + [1493718425, '4.234375'], + [1493718485, '4.234375'], + [1493718545, '4.243489583333333'], + [1493718605, '4.2109375'], + [1493718665, '4.2109375'], + [1493718725, '4.2109375'], + [1493718785, '4.26171875'], + [1493718845, '4.26171875'], + [1493718905, '4.26171875'], + [1493718965, '4.26171875'], + [1493719025, '4.26171875'], + [1493719085, '4.26171875'], + [1493719145, '4.26171875'], + [1493719205, '4.26171875'], + [1493719265, '4.26171875'], + [1493719325, '4.26171875'], + [1493719385, '4.26171875'], + [1493719445, '4.26171875'], + [1493719505, '4.26171875'], + [1493719565, '4.26171875'], + [1493719625, '4.26171875'], + [1493719685, '4.26171875'], + [1493719745, '4.26171875'], + [1493719805, '4.26171875'], + [1493719865, '4.26171875'], + [1493719925, '4.26171875'], + [1493719985, '4.26171875'], + [1493720045, '4.26171875'], + [1493720105, '4.26171875'], + [1493720165, '4.26171875'], + [1493720225, '4.26171875'], + [1493720285, '4.26171875'], +]; + +export const mockMedian = 1493718485; + +export const mockMedianIndex = 30; -- GitLab From 5e734dfed5d639ccac857f971562562ac539d4ac Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Tue, 9 May 2017 17:43:04 -0600 Subject: [PATCH 010/249] remove carriage return complaints for rubocop --- app/controllers/projects/branches_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/projects/branches_controller.rb b/app/controllers/projects/branches_controller.rb index b6500e8560b..79de0d15642 100644 --- a/app/controllers/projects/branches_controller.rb +++ b/app/controllers/projects/branches_controller.rb @@ -82,7 +82,7 @@ class Projects::BranchesController < Projects::ApplicationController format.js { render nothing: true, status: result[:return_code] } format.json { render json: { message: result[:message] }, status: result[:return_code] } - end + end end def destroy_all_merged -- GitLab From f0f2dc8c6a95fa429db0ed00195c878881519419 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Tue, 2 May 2017 14:52:19 +0000 Subject: [PATCH 011/249] Merge branch 'bvl-security-9-1-markup-pipeline' (security-9-1) Render asciidoc & other markup using banzai in a pipeline See merge request !2098 --- app/helpers/markup_helper.rb | 12 ++++++------ changelogs/unreleased/bvl-markup-pipeline.yml | 4 ++++ lib/banzai/pipeline/markup_pipeline.rb | 13 +++++++++++++ lib/gitlab/asciidoc.rb | 8 ++++---- lib/gitlab/other_markup.rb | 6 +++--- spec/lib/gitlab/asciidoc_spec.rb | 14 +++++++++++--- spec/lib/gitlab/other_markup_spec.rb | 2 +- 7 files changed, 42 insertions(+), 17 deletions(-) create mode 100644 changelogs/unreleased/bvl-markup-pipeline.yml create mode 100644 lib/banzai/pipeline/markup_pipeline.rb diff --git a/app/helpers/markup_helper.rb b/app/helpers/markup_helper.rb index b241a14740b..b636233c426 100644 --- a/app/helpers/markup_helper.rb +++ b/app/helpers/markup_helper.rb @@ -116,13 +116,13 @@ module MarkupHelper if gitlab_markdown?(file_name) markdown_unsafe(text, context) elsif asciidoc?(file_name) - asciidoc_unsafe(text) + asciidoc_unsafe(text, context) elsif plain?(file_name) content_tag :pre, class: 'plain-readme' do text end else - other_markup_unsafe(file_name, text) + other_markup_unsafe(file_name, text, context) end rescue RuntimeError simple_format(text) @@ -217,12 +217,12 @@ module MarkupHelper Banzai.render(text, context) end - def asciidoc_unsafe(text) - Gitlab::Asciidoc.render(text) + def asciidoc_unsafe(text, context = {}) + Gitlab::Asciidoc.render(text, context) end - def other_markup_unsafe(file_name, text) - Gitlab::OtherMarkup.render(file_name, text) + def other_markup_unsafe(file_name, text, context = {}) + Gitlab::OtherMarkup.render(file_name, text, context) end def prepare_for_rendering(html, context = {}) diff --git a/changelogs/unreleased/bvl-markup-pipeline.yml b/changelogs/unreleased/bvl-markup-pipeline.yml new file mode 100644 index 00000000000..d73bad03340 --- /dev/null +++ b/changelogs/unreleased/bvl-markup-pipeline.yml @@ -0,0 +1,4 @@ +--- +title: Make Asciidoc & other markup go through pipeline to prevent XSS +merge_request: +author: diff --git a/lib/banzai/pipeline/markup_pipeline.rb b/lib/banzai/pipeline/markup_pipeline.rb new file mode 100644 index 00000000000..c56d908009f --- /dev/null +++ b/lib/banzai/pipeline/markup_pipeline.rb @@ -0,0 +1,13 @@ +module Banzai + module Pipeline + class MarkupPipeline < BasePipeline + def self.filters + @filters ||= FilterArray[ + Filter::SanitizationFilter, + Filter::ExternalLinkFilter, + Filter::PlantumlFilter + ] + end + end + end +end diff --git a/lib/gitlab/asciidoc.rb b/lib/gitlab/asciidoc.rb index fba80c7132e..96d38f6daa0 100644 --- a/lib/gitlab/asciidoc.rb +++ b/lib/gitlab/asciidoc.rb @@ -15,17 +15,17 @@ module Gitlab # # input - the source text in Asciidoc format # - def self.render(input) + def self.render(input, context) asciidoc_opts = { safe: :secure, backend: :gitlab_html5, attributes: DEFAULT_ADOC_ATTRS } + context[:pipeline] = :markup + plantuml_setup html = ::Asciidoctor.convert(input, asciidoc_opts) - - filter = Banzai::Filter::SanitizationFilter.new(html) - html = filter.call.to_s + html = Banzai.render(html, context) html.html_safe end diff --git a/lib/gitlab/other_markup.rb b/lib/gitlab/other_markup.rb index c2adc9aa10b..31a24460f0f 100644 --- a/lib/gitlab/other_markup.rb +++ b/lib/gitlab/other_markup.rb @@ -5,12 +5,12 @@ module Gitlab # # input - the source text in a markup format # - def self.render(file_name, input) + def self.render(file_name, input, context) html = GitHub::Markup.render(file_name, input). force_encoding(input.encoding) + context[:pipeline] = :markup - filter = Banzai::Filter::SanitizationFilter.new(html) - html = filter.call.to_s + html = Banzai.render(html, context) html.html_safe end diff --git a/spec/lib/gitlab/asciidoc_spec.rb b/spec/lib/gitlab/asciidoc_spec.rb index 0f47fb2fbd9..f284dd14cec 100644 --- a/spec/lib/gitlab/asciidoc_spec.rb +++ b/spec/lib/gitlab/asciidoc_spec.rb @@ -22,7 +22,7 @@ module Gitlab expect(Asciidoctor).to receive(:convert) .with(input, expected_asciidoc_opts).and_return(html) - expect(render(input)).to eq(html) + expect(render(input, context)).to eq(html) end context "XSS" do @@ -33,7 +33,7 @@ module Gitlab }, 'images' => { input: 'image:https://localhost.com/image.png[Alt text" onerror="alert(7)]', - output: "<div>\n<p><span><img src=\"https://localhost.com/image.png\" alt=\"Alt text\"></span></p>\n</div>" + output: "<img src=\"https://localhost.com/image.png\" alt=\"Alt text\">" }, 'pre' => { input: '```mypre"><script>alert(3)</script>', @@ -43,10 +43,18 @@ module Gitlab links.each do |name, data| it "does not convert dangerous #{name} into HTML" do - expect(render(data[:input])).to eq(data[:output]) + expect(render(data[:input], context)).to include(data[:output]) end end end + + context 'external links' do + it 'adds the `rel` attribute to the link' do + output = render('link:https://google.com[Google]', context) + + expect(output).to include('rel="nofollow noreferrer"') + end + end end def render(*args) diff --git a/spec/lib/gitlab/other_markup_spec.rb b/spec/lib/gitlab/other_markup_spec.rb index d6d53e8586c..c0f5fa9dc1f 100644 --- a/spec/lib/gitlab/other_markup_spec.rb +++ b/spec/lib/gitlab/other_markup_spec.rb @@ -13,7 +13,7 @@ describe Gitlab::OtherMarkup, lib: true do } links.each do |name, data| it "does not convert dangerous #{name} into HTML" do - expect(render(data[:file], data[:input])).to eq(data[:output]) + expect(render(data[:file], data[:input], context)).to eq(data[:output]) end end end -- GitLab From 5ceb85d6aabaf19dd557bb5c4bf62d9fe5032f31 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Tue, 2 May 2017 22:25:58 +0000 Subject: [PATCH 012/249] Merge branch 'bvl-security-9-1-validate-urls-in-markdown-using-uri' (security-9-1) Add correct `rel` attributes to external links when rendering markdown See merge request !2097 --- ...vl-validate-urls-in-markdown-using-uri.yml | 4 + lib/banzai/filter/external_link_filter.rb | 36 ++++---- .../filter/external_link_filter_spec.rb | 85 +++++++++++-------- spec/lib/gitlab/asciidoc_spec.rb | 17 +++- 4 files changed, 86 insertions(+), 56 deletions(-) create mode 100644 changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml diff --git a/changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml b/changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml new file mode 100644 index 00000000000..03c4e531d73 --- /dev/null +++ b/changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml @@ -0,0 +1,4 @@ +--- +title: Validate URLs in markdown using URI to detect the host correctly +merge_request: +author: diff --git a/lib/banzai/filter/external_link_filter.rb b/lib/banzai/filter/external_link_filter.rb index d67d466bce8..7d15a0f6d44 100644 --- a/lib/banzai/filter/external_link_filter.rb +++ b/lib/banzai/filter/external_link_filter.rb @@ -2,16 +2,17 @@ module Banzai module Filter # HTML Filter to modify the attributes of external links class ExternalLinkFilter < HTML::Pipeline::Filter + SCHEMES = ['http', 'https', nil].freeze + def call links.each do |node| - href = href_to_lowercase_scheme(node["href"].to_s) + uri = uri(node['href'].to_s) + next unless uri - unless node["href"].to_s == href - node.set_attribute('href', href) - end + node.set_attribute('href', uri.to_s) - if href =~ %r{\A(https?:)?//[^/]} && external_url?(href) - node.set_attribute('rel', 'nofollow noreferrer') + if SCHEMES.include?(uri.scheme) && external_url?(uri) + node.set_attribute('rel', 'nofollow noreferrer noopener') node.set_attribute('target', '_blank') end end @@ -21,27 +22,26 @@ module Banzai private + def uri(href) + URI.parse(href) + rescue URI::InvalidURIError + nil + end + def links query = 'descendant-or-self::a[@href and not(@href = "")]' doc.xpath(query) end - def href_to_lowercase_scheme(href) - scheme_match = href.match(/\A(\w+):\/\//) - - if scheme_match - scheme_match.to_s.downcase + scheme_match.post_match - else - href - end - end + def external_url?(uri) + # Relative URLs miss a hostname + return false unless uri.hostname - def external_url?(url) - !url.start_with?(internal_url) + uri.hostname != internal_url.hostname end def internal_url - @internal_url ||= Gitlab.config.gitlab.url + @internal_url ||= URI.parse(Gitlab.config.gitlab.url) end end end diff --git a/spec/lib/banzai/filter/external_link_filter_spec.rb b/spec/lib/banzai/filter/external_link_filter_spec.rb index d9e4525cb28..6f6c215be87 100644 --- a/spec/lib/banzai/filter/external_link_filter_spec.rb +++ b/spec/lib/banzai/filter/external_link_filter_spec.rb @@ -1,5 +1,22 @@ require 'spec_helper' +shared_examples 'an external link with rel attribute' do + it 'adds rel="nofollow" to external links' do + expect(doc.at_css('a')).to have_attribute('rel') + expect(doc.at_css('a')['rel']).to include 'nofollow' + end + + it 'adds rel="noreferrer" to external links' do + expect(doc.at_css('a')).to have_attribute('rel') + expect(doc.at_css('a')['rel']).to include 'noreferrer' + end + + it 'adds rel="noopener" to external links' do + expect(doc.at_css('a')).to have_attribute('rel') + expect(doc.at_css('a')['rel']).to include 'noopener' + end +end + describe Banzai::Filter::ExternalLinkFilter, lib: true do include FilterSpecHelper @@ -22,49 +39,51 @@ describe Banzai::Filter::ExternalLinkFilter, lib: true do context 'for root links on document' do let(:doc) { filter %q(<a href="https://google.com/">Google</a>) } - it 'adds rel="nofollow" to external links' do - expect(doc.at_css('a')).to have_attribute('rel') - expect(doc.at_css('a')['rel']).to include 'nofollow' - end - - it 'adds rel="noreferrer" to external links' do - expect(doc.at_css('a')).to have_attribute('rel') - expect(doc.at_css('a')['rel']).to include 'noreferrer' - end + it_behaves_like 'an external link with rel attribute' end context 'for nested links on document' do let(:doc) { filter %q(<p><a href="https://google.com/">Google</a></p>) } - it 'adds rel="nofollow" to external links' do - expect(doc.at_css('a')).to have_attribute('rel') - expect(doc.at_css('a')['rel']).to include 'nofollow' + it_behaves_like 'an external link with rel attribute' + end + + context 'for invalid urls' do + it 'skips broken hrefs' do + doc = filter %q(<p><a href="don't crash on broken urls">Google</a></p>) + expected = %q(<p><a href="don't%20crash%20on%20broken%20urls">Google</a></p>) + + expect(doc.to_html).to eq(expected) end + end + + context 'for links with a username' do + context 'with a valid username' do + let(:doc) { filter %q(<a href="https://user@google.com/">Google</a>) } - it 'adds rel="noreferrer" to external links' do - expect(doc.at_css('a')).to have_attribute('rel') - expect(doc.at_css('a')['rel']).to include 'noreferrer' + it_behaves_like 'an external link with rel attribute' + end + + context 'with an impersonated username' do + let(:internal) { Gitlab.config.gitlab.url } + + let(:doc) { filter %Q(<a href="https://#{internal}@example.com" target="_blank">Reverse Tabnabbing</a>) } + + it_behaves_like 'an external link with rel attribute' end end context 'for non-lowercase scheme links' do - let(:doc_with_http) { filter %q(<p><a href="httP://google.com/">Google</a></p>) } - let(:doc_with_https) { filter %q(<p><a href="hTTpS://google.com/">Google</a></p>) } - - it 'adds rel="nofollow" to external links' do - expect(doc_with_http.at_css('a')).to have_attribute('rel') - expect(doc_with_https.at_css('a')).to have_attribute('rel') + context 'with http' do + let(:doc) { filter %q(<p><a href="httP://google.com/">Google</a></p>) } - expect(doc_with_http.at_css('a')['rel']).to include 'nofollow' - expect(doc_with_https.at_css('a')['rel']).to include 'nofollow' + it_behaves_like 'an external link with rel attribute' end - it 'adds rel="noreferrer" to external links' do - expect(doc_with_http.at_css('a')).to have_attribute('rel') - expect(doc_with_https.at_css('a')).to have_attribute('rel') + context 'with https' do + let(:doc) { filter %q(<p><a href="hTTpS://google.com/">Google</a></p>) } - expect(doc_with_http.at_css('a')['rel']).to include 'noreferrer' - expect(doc_with_https.at_css('a')['rel']).to include 'noreferrer' + it_behaves_like 'an external link with rel attribute' end it 'skips internal links' do @@ -84,14 +103,6 @@ describe Banzai::Filter::ExternalLinkFilter, lib: true do context 'for protocol-relative links' do let(:doc) { filter %q(<p><a href="//google.com/">Google</a></p>) } - it 'adds rel="nofollow" to external links' do - expect(doc.at_css('a')).to have_attribute('rel') - expect(doc.at_css('a')['rel']).to include 'nofollow' - end - - it 'adds rel="noreferrer" to external links' do - expect(doc.at_css('a')).to have_attribute('rel') - expect(doc.at_css('a')['rel']).to include 'noreferrer' - end + it_behaves_like 'an external link with rel attribute' end end diff --git a/spec/lib/gitlab/asciidoc_spec.rb b/spec/lib/gitlab/asciidoc_spec.rb index f284dd14cec..2c7ebb15fd7 100644 --- a/spec/lib/gitlab/asciidoc_spec.rb +++ b/spec/lib/gitlab/asciidoc_spec.rb @@ -25,6 +25,21 @@ module Gitlab expect(render(input, context)).to eq(html) end + context "with asciidoc_opts" do + it "merges the options with default ones" do + expected_asciidoc_opts = { + safe: :secure, + backend: :gitlab_html5, + attributes: described_class::DEFAULT_ADOC_ATTRS + } + + expect(Asciidoctor).to receive(:convert) + .with(input, expected_asciidoc_opts).and_return(html) + + render(input, context) + end + end + context "XSS" do links = { 'links' => { @@ -52,7 +67,7 @@ module Gitlab it 'adds the `rel` attribute to the link' do output = render('link:https://google.com[Google]', context) - expect(output).to include('rel="nofollow noreferrer"') + expect(output).to include('rel="nofollow noreferrer noopener"') end end end -- GitLab From b68450e27bba6b3894568e65143799823f02f16b Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Mon, 10 Apr 2017 16:55:31 +0000 Subject: [PATCH 013/249] Merge branch 'rs-sanitize-submodule-urls' into 'security' Sanitize submodule URLs before linking to them in the file tree view See merge request !2084 --- app/helpers/submodule_helper.rb | 46 ++++++++++++------- .../unreleased/rs-sanitize-submodule-urls.yml | 4 ++ spec/helpers/submodule_helper_spec.rb | 12 +++++ 3 files changed, 46 insertions(+), 16 deletions(-) create mode 100644 changelogs/unreleased/rs-sanitize-submodule-urls.yml diff --git a/app/helpers/submodule_helper.rb b/app/helpers/submodule_helper.rb index a762b320d56..b739554a7a4 100644 --- a/app/helpers/submodule_helper.rb +++ b/app/helpers/submodule_helper.rb @@ -1,28 +1,30 @@ module SubmoduleHelper include Gitlab::ShellAdapter + VALID_SUBMODULE_PROTOCOLS = %w[http https git ssh].freeze + # links to files listing for submodule if submodule is a project on this server def submodule_links(submodule_item, ref = nil, repository = @repository) url = repository.submodule_url_for(ref, submodule_item.path) - return url, nil unless url =~ /([^\/:]+)\/([^\/]+(?:\.git)?)\Z/ - - namespace = $1 - project = $2 - project.chomp!('.git') + if url =~ /([^\/:]+)\/([^\/]+(?:\.git)?)\Z/ + namespace, project = $1, $2 + project.sub!(/\.git\z/, '') - if self_url?(url, namespace, project) - return namespace_project_path(namespace, project), - namespace_project_tree_path(namespace, project, - submodule_item.id) - elsif relative_self_url?(url) - relative_self_links(url, submodule_item.id) - elsif github_dot_com_url?(url) - standard_links('github.com', namespace, project, submodule_item.id) - elsif gitlab_dot_com_url?(url) - standard_links('gitlab.com', namespace, project, submodule_item.id) + if self_url?(url, namespace, project) + [namespace_project_path(namespace, project), + namespace_project_tree_path(namespace, project, submodule_item.id)] + elsif relative_self_url?(url) + relative_self_links(url, submodule_item.id) + elsif github_dot_com_url?(url) + standard_links('github.com', namespace, project, submodule_item.id) + elsif gitlab_dot_com_url?(url) + standard_links('gitlab.com', namespace, project, submodule_item.id) + else + [sanitize_submodule_url(url), nil] + end else - return url, nil + [sanitize_submodule_url(url), nil] end end @@ -73,4 +75,16 @@ module SubmoduleHelper namespace_project_tree_path(namespace, base, commit) ] end + + def sanitize_submodule_url(url) + uri = URI.parse(url) + + if uri.scheme.in?(VALID_SUBMODULE_PROTOCOLS) + uri.to_s + else + nil + end + rescue URI::InvalidURIError + nil + end end diff --git a/changelogs/unreleased/rs-sanitize-submodule-urls.yml b/changelogs/unreleased/rs-sanitize-submodule-urls.yml new file mode 100644 index 00000000000..463b3695687 --- /dev/null +++ b/changelogs/unreleased/rs-sanitize-submodule-urls.yml @@ -0,0 +1,4 @@ +--- +title: Sanitize submodule URLs before linking to them in the file tree view +merge_request: +author: diff --git a/spec/helpers/submodule_helper_spec.rb b/spec/helpers/submodule_helper_spec.rb index 345bc33a67b..9da33792659 100644 --- a/spec/helpers/submodule_helper_spec.rb +++ b/spec/helpers/submodule_helper_spec.rb @@ -109,6 +109,18 @@ describe SubmoduleHelper do end context 'submodule on unsupported' do + it 'sanitizes unsupported protocols' do + stub_url('javascript:alert("XSS");') + + expect(helper.submodule_links(submodule_item)).to eq([nil, nil]) + end + + it 'sanitizes unsupported protocols disguised as a repository URL' do + stub_url('javascript:alert("XSS");foo/bar.git') + + expect(helper.submodule_links(submodule_item)).to eq([nil, nil]) + end + it 'returns original' do stub_url('http://mygitserver.com/gitlab-org/gitlab-ce') expect(submodule_links(submodule_item)).to eq([repo.submodule_url_for, nil]) -- GitLab From 6a80267e074eb5d9753d7cdee7a1902b9ffdf355 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@gitlab.com> Date: Tue, 25 Apr 2017 14:41:26 +0000 Subject: [PATCH 014/249] Merge branch 'snippets_visibility' into 'security' Fix snippets visibility for show action - external users can not see internal snippets See merge request !2087 --- app/controllers/snippets_controller.rb | 18 +++++++-------- changelogs/unreleased/snippets_visibility.yml | 4 ++++ spec/controllers/snippets_controller_spec.rb | 6 ++--- .../snippets/internal_snippet_spec.rb | 23 +++++++++++++++++++ 4 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 changelogs/unreleased/snippets_visibility.yml create mode 100644 spec/features/snippets/internal_snippet_spec.rb diff --git a/app/controllers/snippets_controller.rb b/app/controllers/snippets_controller.rb index 19e07e3ab86..656a365b701 100644 --- a/app/controllers/snippets_controller.rb +++ b/app/controllers/snippets_controller.rb @@ -103,20 +103,20 @@ class SnippetsController < ApplicationController protected def snippet - @snippet ||= if current_user - PersonalSnippet.where("author_id = ? OR visibility_level IN (?)", - current_user.id, - [Snippet::PUBLIC, Snippet::INTERNAL]). - find(params[:id]) - else - PersonalSnippet.find(params[:id]) - end + @snippet ||= PersonalSnippet.find_by(id: params[:id]) end + alias_method :awardable, :snippet alias_method :spammable, :snippet def authorize_read_snippet! - authenticate_user! unless can?(current_user, :read_personal_snippet, @snippet) + return if can?(current_user, :read_personal_snippet, @snippet) + + if current_user + render_404 + else + authenticate_user! + end end def authorize_update_snippet! diff --git a/changelogs/unreleased/snippets_visibility.yml b/changelogs/unreleased/snippets_visibility.yml new file mode 100644 index 00000000000..4c10c6882ab --- /dev/null +++ b/changelogs/unreleased/snippets_visibility.yml @@ -0,0 +1,4 @@ +--- +title: Fix snippets visibility for show action - external users can not see internal snippets +merge_request: +author: diff --git a/spec/controllers/snippets_controller_spec.rb b/spec/controllers/snippets_controller_spec.rb index 41cd5bdcdd8..da46431b700 100644 --- a/spec/controllers/snippets_controller_spec.rb +++ b/spec/controllers/snippets_controller_spec.rb @@ -132,7 +132,7 @@ describe SnippetsController do it 'responds with status 404' do get :show, id: 'doesntexist' - expect(response).to have_http_status(404) + expect(response).to redirect_to(new_user_session_path) end end end @@ -478,10 +478,10 @@ describe SnippetsController do end context 'when not signed in' do - it 'responds with status 404' do + it 'redirects to the sign in path' do get :raw, id: 'doesntexist' - expect(response).to have_http_status(404) + expect(response).to redirect_to(new_user_session_path) end end end diff --git a/spec/features/snippets/internal_snippet_spec.rb b/spec/features/snippets/internal_snippet_spec.rb new file mode 100644 index 00000000000..93382f4c359 --- /dev/null +++ b/spec/features/snippets/internal_snippet_spec.rb @@ -0,0 +1,23 @@ +require 'rails_helper' + +feature 'Internal Snippets', feature: true, js: true do + let(:internal_snippet) { create(:personal_snippet, :internal) } + + describe 'normal user' do + before do + login_as :user + end + + scenario 'sees internal snippets' do + visit snippet_path(internal_snippet) + + expect(page).to have_content(internal_snippet.content) + end + + scenario 'sees raw internal snippets' do + visit raw_snippet_path(internal_snippet) + + expect(page).to have_content(internal_snippet.content) + end + end +end -- GitLab From dc54c570efa105df9e59da5dd974496273637811 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Mon, 24 Apr 2017 15:09:29 +0000 Subject: [PATCH 015/249] Merge branch '31157-respect-project-features-in-wiki-search' into 'security' Respect project features in wiki and blob search See merge request !2089 --- ...espect-project-features-in-wiki-search.yml | 4 + lib/gitlab/project_search_results.rb | 4 + .../lib/gitlab/project_search_results_spec.rb | 75 ++++++++++++++++++- 3 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml diff --git a/changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml b/changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml new file mode 100644 index 00000000000..721bb435a2e --- /dev/null +++ b/changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml @@ -0,0 +1,4 @@ +--- +title: Enforce project features when searching blobs and wikis +merge_request: +author: diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb index 0b8959f2fb9..47cfe412715 100644 --- a/lib/gitlab/project_search_results.rb +++ b/lib/gitlab/project_search_results.rb @@ -82,6 +82,8 @@ module Gitlab private def blobs + return [] unless Ability.allowed?(@current_user, :download_code, @project) + @blobs ||= begin blobs = project.repository.search_files_by_content(query, repository_ref).first(100) found_file_names = Set.new @@ -102,6 +104,8 @@ module Gitlab end def wiki_blobs + return [] unless Ability.allowed?(@current_user, :read_wiki, @project) + @wiki_blobs ||= begin if project.wiki_enabled? && query.present? project_wiki = ProjectWiki.new(project) diff --git a/spec/lib/gitlab/project_search_results_spec.rb b/spec/lib/gitlab/project_search_results_spec.rb index a7c8e7f1f57..6e0b1192706 100644 --- a/spec/lib/gitlab/project_search_results_spec.rb +++ b/spec/lib/gitlab/project_search_results_spec.rb @@ -22,8 +22,37 @@ describe Gitlab::ProjectSearchResults, lib: true do end describe 'blob search' do - let(:project) { create(:project, :repository) } - let(:results) { described_class.new(user, project, 'files').objects('blobs') } + let(:project) { create(:project, :public, :repository) } + + subject(:results) { described_class.new(user, project, 'files').objects('blobs') } + + context 'when repository is disabled' do + let(:project) { create(:project, :public, :repository, :repository_disabled) } + + it 'hides blobs from members' do + project.add_reporter(user) + + is_expected.to be_empty + end + + it 'hides blobs from non-members' do + is_expected.to be_empty + end + end + + context 'when repository is internal' do + let(:project) { create(:project, :public, :repository, :repository_private) } + + it 'finds blobs for members' do + project.add_reporter(user) + + is_expected.not_to be_empty + end + + it 'hides blobs from non-members' do + is_expected.to be_empty + end + end it 'finds by name' do expect(results).to include(["files/images/wm.svg", nil]) @@ -70,6 +99,46 @@ describe Gitlab::ProjectSearchResults, lib: true do end end + describe 'wiki search' do + let(:project) { create(:project, :public) } + let(:wiki) { build(:project_wiki, project: project) } + let!(:wiki_page) { wiki.create_page('Title', 'Content') } + + subject(:results) { described_class.new(user, project, 'Content').objects('wiki_blobs') } + + context 'when wiki is disabled' do + let(:project) { create(:project, :public, :wiki_disabled) } + + it 'hides wiki blobs from members' do + project.add_reporter(user) + + is_expected.to be_empty + end + + it 'hides wiki blobs from non-members' do + is_expected.to be_empty + end + end + + context 'when wiki is internal' do + let(:project) { create(:project, :public, :wiki_private) } + + it 'finds wiki blobs for members' do + project.add_reporter(user) + + is_expected.not_to be_empty + end + + it 'hides wiki blobs from non-members' do + is_expected.to be_empty + end + end + + it 'finds by content' do + expect(results).to include("master:Title.md:1:Content\n") + end + end + it 'does not list issues on private projects' do issue = create(:issue, project: project) @@ -79,7 +148,6 @@ describe Gitlab::ProjectSearchResults, lib: true do end describe 'confidential issues' do - let(:project) { create(:empty_project) } let(:query) { 'issue' } let(:author) { create(:user) } let(:assignee) { create(:user) } @@ -277,6 +345,7 @@ describe Gitlab::ProjectSearchResults, lib: true do context 'by commit hash' do let(:project) { create(:project, :public, :repository) } let(:commit) { project.repository.commit('0b4bc9a') } + commit_hashes = { short: '0b4bc9a', full: '0b4bc9a49b562e85de7cc9e834518ea6828729b9' } commit_hashes.each do |type, commit_hash| -- GitLab From c26e9027d31b0735cea438eaa7bf787bc5b6e3a7 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Wed, 3 May 2017 14:28:46 +0000 Subject: [PATCH 016/249] Merge branch 'branch-name-escape' into 'security' Fix XSS in branches dropdown See merge request !2093 --- app/assets/javascripts/gl_dropdown.js | 2 +- changelogs/unreleased/branch-name-escape.yml | 4 ++++ spec/javascripts/gl_dropdown_spec.js | 20 ++++++++++++++------ 3 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 changelogs/unreleased/branch-name-escape.yml diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js index 0c9eb84f0eb..ef423691ece 100644 --- a/app/assets/javascripts/gl_dropdown.js +++ b/app/assets/javascripts/gl_dropdown.js @@ -610,7 +610,7 @@ GitLabDropdown = (function() { var link = document.createElement('a'); link.href = url; - link.innerHTML = text; + link.textContent = text; if (selected) { link.className = 'is-active'; diff --git a/changelogs/unreleased/branch-name-escape.yml b/changelogs/unreleased/branch-name-escape.yml new file mode 100644 index 00000000000..bf46235fd79 --- /dev/null +++ b/changelogs/unreleased/branch-name-escape.yml @@ -0,0 +1,4 @@ +--- +title: Fixed branches dropdown rendering branch names as HTML +merge_request: +author: diff --git a/spec/javascripts/gl_dropdown_spec.js b/spec/javascripts/gl_dropdown_spec.js index c207fb00a47..42c6e328fac 100644 --- a/spec/javascripts/gl_dropdown_spec.js +++ b/spec/javascripts/gl_dropdown_spec.js @@ -52,12 +52,8 @@ require('~/lib/utils/url_utility'); search: { fields: ['name'] }, - text: (project) => { - (project.name_with_namespace || project.name); - }, - id: (project) => { - project.id; - } + text: project => (project.name_with_namespace || project.name), + id: project => project.id }); } @@ -80,6 +76,18 @@ require('~/lib/utils/url_utility'); expect(this.dropdownContainerElement).toHaveClass('open'); }); + it('escapes HTML as text', () => { + this.projectsData[0].name_with_namespace = '<script>alert("testing");</script>'; + + initDropDown.call(this, false); + + this.dropdownButtonElement.click(); + + expect( + $('.dropdown-content li:first-child').text(), + ).toBe('<script>alert("testing");</script>'); + }); + describe('that is open', () => { beforeEach(() => { initDropDown.call(this, false, false); -- GitLab From 050d92f8177513b74d6c18d75d35a62f5fa6addd Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Fri, 28 Apr 2017 22:06:27 +0000 Subject: [PATCH 017/249] Merge branch 'snippets-finder-visibility' into 'security' Refactor snippets finder & dont return internal snippets for external users See merge request !2094 --- .../dashboard/snippets_controller.rb | 7 +- .../explore/snippets_controller.rb | 2 +- .../projects/snippets_controller.rb | 5 +- app/controllers/snippets_controller.rb | 8 +- app/controllers/users_controller.rb | 7 +- app/finders/notes_finder.rb | 2 +- app/finders/snippets_finder.rb | 102 +++++++------- app/models/snippet.rb | 13 -- app/policies/project_snippet_policy.rb | 2 +- app/services/search/snippet_service.rb | 2 +- .../unreleased/snippets-finder-visibility.yml | 4 + lib/api/project_snippets.rb | 3 +- lib/api/snippets.rb | 4 +- lib/api/v3/project_snippets.rb | 3 +- lib/api/v3/snippets.rb | 4 +- spec/controllers/snippets_controller_spec.rb | 28 ++++ spec/features/dashboard/snippets_spec.rb | 47 +++++++ spec/features/projects/snippets_spec.rb | 24 +++- spec/features/snippets/explore_spec.rb | 25 +++- spec/features/users/snippets_spec.rb | 46 ++++++- spec/finders/snippets_finder_spec.rb | 125 ++++++++++++++---- spec/models/snippet_spec.rb | 40 ------ spec/policies/project_snippet_policy_spec.rb | 80 ++++++++--- 23 files changed, 399 insertions(+), 184 deletions(-) create mode 100644 changelogs/unreleased/snippets-finder-visibility.yml diff --git a/app/controllers/dashboard/snippets_controller.rb b/app/controllers/dashboard/snippets_controller.rb index bcfdbe14be9..8dd91264451 100644 --- a/app/controllers/dashboard/snippets_controller.rb +++ b/app/controllers/dashboard/snippets_controller.rb @@ -1,11 +1,10 @@ class Dashboard::SnippetsController < Dashboard::ApplicationController def index - @snippets = SnippetsFinder.new.execute( + @snippets = SnippetsFinder.new( current_user, - filter: :by_user, - user: current_user, + author: current_user, scope: params[:scope] - ) + ).execute @snippets = @snippets.page(params[:page]) end end diff --git a/app/controllers/explore/snippets_controller.rb b/app/controllers/explore/snippets_controller.rb index 28760c3f84b..d3f0e033068 100644 --- a/app/controllers/explore/snippets_controller.rb +++ b/app/controllers/explore/snippets_controller.rb @@ -1,6 +1,6 @@ class Explore::SnippetsController < Explore::ApplicationController def index - @snippets = SnippetsFinder.new.execute(current_user, filter: :all) + @snippets = SnippetsFinder.new(current_user).execute @snippets = @snippets.page(params[:page]) end end diff --git a/app/controllers/projects/snippets_controller.rb b/app/controllers/projects/snippets_controller.rb index 66f913f8f9d..3b2b0d9e502 100644 --- a/app/controllers/projects/snippets_controller.rb +++ b/app/controllers/projects/snippets_controller.rb @@ -23,12 +23,11 @@ class Projects::SnippetsController < Projects::ApplicationController respond_to :html def index - @snippets = SnippetsFinder.new.execute( + @snippets = SnippetsFinder.new( current_user, - filter: :by_project, project: @project, scope: params[:scope] - ) + ).execute @snippets = @snippets.page(params[:page]) if @snippets.out_of_range? && @snippets.total_pages != 0 redirect_to namespace_project_snippets_path(page: @snippets.total_pages) diff --git a/app/controllers/snippets_controller.rb b/app/controllers/snippets_controller.rb index 656a365b701..7445f61195d 100644 --- a/app/controllers/snippets_controller.rb +++ b/app/controllers/snippets_controller.rb @@ -27,12 +27,8 @@ class SnippetsController < ApplicationController return render_404 unless @user - @snippets = SnippetsFinder.new.execute(current_user, { - filter: :by_user, - user: @user, - scope: params[:scope] - }) - .page(params[:page]) + @snippets = SnippetsFinder.new(current_user, author: @user, scope: params[:scope]) + .execute.page(params[:page]) render 'index' else diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index ca89ed221c6..ba22b2f9d29 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -128,12 +128,11 @@ class UsersController < ApplicationController end def load_snippets - @snippets = SnippetsFinder.new.execute( + @snippets = SnippetsFinder.new( current_user, - filter: :by_user, - user: user, + author: user, scope: params[:scope] - ).page(params[:page]) + ).execute.page(params[:page]) end def projects_for_current_user diff --git a/app/finders/notes_finder.rb b/app/finders/notes_finder.rb index dc6a8ad1f66..02eb983bf55 100644 --- a/app/finders/notes_finder.rb +++ b/app/finders/notes_finder.rb @@ -67,7 +67,7 @@ class NotesFinder when "merge_request" MergeRequestsFinder.new(@current_user, project_id: @project.id).execute when "snippet", "project_snippet" - SnippetsFinder.new.execute(@current_user, filter: :by_project, project: @project) + SnippetsFinder.new(@current_user, project: @project).execute when "personal_snippet" PersonalSnippet.all else diff --git a/app/finders/snippets_finder.rb b/app/finders/snippets_finder.rb index da6e6e87a6f..c04f61de79c 100644 --- a/app/finders/snippets_finder.rb +++ b/app/finders/snippets_finder.rb @@ -1,66 +1,74 @@ -class SnippetsFinder - def execute(current_user, params = {}) - filter = params[:filter] - user = params.fetch(:user, current_user) - - case filter - when :all then - snippets(current_user).fresh - when :public then - Snippet.are_public.fresh - when :by_user then - by_user(current_user, user, params[:scope]) - when :by_project - by_project(current_user, params[:project], params[:scope]) - end +class SnippetsFinder < UnionFinder + attr_accessor :current_user, :params + + def initialize(current_user, params = {}) + @current_user = current_user + @params = params + end + + def execute + items = init_collection + items = by_project(items) + items = by_author(items) + items = by_visibility(items) + + items.fresh end private - def snippets(current_user) - if current_user - Snippet.public_and_internal - else - # Not authenticated - # - # Return only: - # public snippets - Snippet.are_public - end + def init_collection + items = Snippet.all + + accessible(items) end - def by_user(current_user, user, scope) - snippets = user.snippets.fresh + def accessible(items) + segments = [] + segments << items.public_to_user(current_user) + segments << authorized_to_user(items) if current_user - if current_user - include_private = user == current_user - by_scope(snippets, scope, include_private) - else - snippets.are_public - end + find_union(segments, Snippet) end - def by_project(current_user, project, scope) - snippets = project.snippets.fresh + def authorized_to_user(items) + items.where( + 'author_id = :author_id + OR project_id IN (:project_ids)', + author_id: current_user.id, + project_ids: current_user.authorized_projects.select(:id)) + end - if current_user - include_private = project.team.member?(current_user) || current_user.admin? - by_scope(snippets, scope, include_private) - else - snippets.are_public - end + def by_visibility(items) + visibility = params[:visibility] || visibility_from_scope + + return items unless visibility + + items.where(visibility_level: visibility) + end + + def by_author(items) + return items unless params[:author] + + items.where(author_id: params[:author].id) + end + + def by_project(items) + return items unless params[:project] + + items.where(project_id: params[:project].id) end - def by_scope(snippets, scope = nil, include_private = false) - case scope.to_s + def visibility_from_scope + case params[:scope].to_s when 'are_private' - include_private ? snippets.are_private : Snippet.none + Snippet::PRIVATE when 'are_internal' - snippets.are_internal + Snippet::INTERNAL when 'are_public' - snippets.are_public + Snippet::PUBLIC else - include_private ? snippets : snippets.public_and_internal + nil end end end diff --git a/app/models/snippet.rb b/app/models/snippet.rb index abfbefdf9a0..882e2fa0594 100644 --- a/app/models/snippet.rb +++ b/app/models/snippet.rb @@ -152,18 +152,5 @@ class Snippet < ActiveRecord::Base where(table[:content].matches(pattern)) end - - def accessible_to(user) - return are_public unless user.present? - return all if user.admin? - - where( - 'visibility_level IN (:visibility_levels) - OR author_id = :author_id - OR project_id IN (:project_ids)', - visibility_levels: [Snippet::PUBLIC, Snippet::INTERNAL], - author_id: user.id, - project_ids: user.authorized_projects.select(:id)) - end end end diff --git a/app/policies/project_snippet_policy.rb b/app/policies/project_snippet_policy.rb index 3a96836917e..cf8ff92617f 100644 --- a/app/policies/project_snippet_policy.rb +++ b/app/policies/project_snippet_policy.rb @@ -13,7 +13,7 @@ class ProjectSnippetPolicy < BasePolicy can! :read_project_snippet end - if @subject.private? && @subject.project.team.member?(@user) + if @subject.project.team.member?(@user) can! :read_project_snippet end end diff --git a/app/services/search/snippet_service.rb b/app/services/search/snippet_service.rb index 4f161beea4d..85da0be6fff 100644 --- a/app/services/search/snippet_service.rb +++ b/app/services/search/snippet_service.rb @@ -7,7 +7,7 @@ module Search end def execute - snippets = Snippet.accessible_to(current_user) + snippets = SnippetsFinder.new(current_user).execute Gitlab::SnippetSearchResults.new(snippets, params[:search]) end diff --git a/changelogs/unreleased/snippets-finder-visibility.yml b/changelogs/unreleased/snippets-finder-visibility.yml new file mode 100644 index 00000000000..fde2262cc8d --- /dev/null +++ b/changelogs/unreleased/snippets-finder-visibility.yml @@ -0,0 +1,4 @@ +--- +title: Refactor snippets finder & dont return internal snippets for external users +merge_request: +author: diff --git a/lib/api/project_snippets.rb b/lib/api/project_snippets.rb index cfee38a9baf..98bc9c28527 100644 --- a/lib/api/project_snippets.rb +++ b/lib/api/project_snippets.rb @@ -17,8 +17,7 @@ module API end def snippets_for_current_user - finder_params = { filter: :by_project, project: user_project } - SnippetsFinder.new.execute(current_user, finder_params) + SnippetsFinder.new(current_user, project: user_project).execute end end diff --git a/lib/api/snippets.rb b/lib/api/snippets.rb index b93fdc62808..53f5953a8fb 100644 --- a/lib/api/snippets.rb +++ b/lib/api/snippets.rb @@ -8,11 +8,11 @@ module API resource :snippets do helpers do def snippets_for_current_user - SnippetsFinder.new.execute(current_user, filter: :by_user, user: current_user) + SnippetsFinder.new(current_user, author: current_user).execute end def public_snippets - SnippetsFinder.new.execute(current_user, filter: :public) + SnippetsFinder.new(current_user, visibility: Snippet::PUBLIC).execute end end diff --git a/lib/api/v3/project_snippets.rb b/lib/api/v3/project_snippets.rb index fc065a22d74..c41fee32610 100644 --- a/lib/api/v3/project_snippets.rb +++ b/lib/api/v3/project_snippets.rb @@ -18,8 +18,7 @@ module API end def snippets_for_current_user - finder_params = { filter: :by_project, project: user_project } - SnippetsFinder.new.execute(current_user, finder_params) + SnippetsFinder.new(current_user, project: user_project).execute end end diff --git a/lib/api/v3/snippets.rb b/lib/api/v3/snippets.rb index 07dac7e9904..0762fc02d70 100644 --- a/lib/api/v3/snippets.rb +++ b/lib/api/v3/snippets.rb @@ -8,11 +8,11 @@ module API resource :snippets do helpers do def snippets_for_current_user - SnippetsFinder.new.execute(current_user, filter: :by_user, user: current_user) + SnippetsFinder.new(current_user, author: current_user).execute end def public_snippets - SnippetsFinder.new.execute(current_user, filter: :public) + SnippetsFinder.new(current_user, visibility: Snippet::PUBLIC).execute end end diff --git a/spec/controllers/snippets_controller_spec.rb b/spec/controllers/snippets_controller_spec.rb index da46431b700..930415a4778 100644 --- a/spec/controllers/snippets_controller_spec.rb +++ b/spec/controllers/snippets_controller_spec.rb @@ -3,6 +3,34 @@ require 'spec_helper' describe SnippetsController do let(:user) { create(:user) } + describe 'GET #index' do + let(:user) { create(:user) } + + context 'when username parameter is present' do + it 'renders snippets of a user when username is present' do + get :index, username: user.username + + expect(response).to render_template(:index) + end + end + + context 'when username parameter is not present' do + it 'redirects to explore snippets page when user is not logged in' do + get :index + + expect(response).to redirect_to(explore_snippets_path) + end + + it 'redirects to snippets dashboard page when user is logged in' do + sign_in(user) + + get :index + + expect(response).to redirect_to(dashboard_snippets_path) + end + end + end + describe 'GET #new' do context 'when signed in' do before do diff --git a/spec/features/dashboard/snippets_spec.rb b/spec/features/dashboard/snippets_spec.rb index 62937688c22..c6ba118220a 100644 --- a/spec/features/dashboard/snippets_spec.rb +++ b/spec/features/dashboard/snippets_spec.rb @@ -12,4 +12,51 @@ describe 'Dashboard snippets', feature: true do it_behaves_like 'paginated snippets' end + + context 'filtering by visibility' do + let(:user) { create(:user) } + let!(:snippets) do + [ + create(:personal_snippet, :public, author: user), + create(:personal_snippet, :internal, author: user), + create(:personal_snippet, :private, author: user), + create(:personal_snippet, :public) + ] + end + + before do + login_as(user) + + visit dashboard_snippets_path + end + + it 'contains all snippets of logged user' do + expect(page).to have_selector('.snippet-row', count: 3) + + expect(page).to have_content(snippets[0].title) + expect(page).to have_content(snippets[1].title) + expect(page).to have_content(snippets[2].title) + end + + it 'contains all private snippets of logged user when clicking on private' do + click_link('Private') + + expect(page).to have_selector('.snippet-row', count: 1) + expect(page).to have_content(snippets[2].title) + end + + it 'contains all internal snippets of logged user when clicking on internal' do + click_link('Internal') + + expect(page).to have_selector('.snippet-row', count: 1) + expect(page).to have_content(snippets[1].title) + end + + it 'contains all public snippets of logged user when clicking on public' do + click_link('Public') + + expect(page).to have_selector('.snippet-row', count: 1) + expect(page).to have_content(snippets[0].title) + end + end end diff --git a/spec/features/projects/snippets_spec.rb b/spec/features/projects/snippets_spec.rb index d37e8ed4699..18689c17fe9 100644 --- a/spec/features/projects/snippets_spec.rb +++ b/spec/features/projects/snippets_spec.rb @@ -4,11 +4,27 @@ describe 'Project snippets', feature: true do context 'when the project has snippets' do let(:project) { create(:empty_project, :public) } let!(:snippets) { create_list(:project_snippet, 2, :public, author: project.owner, project: project) } - before do - allow(Snippet).to receive(:default_per_page).and_return(1) - visit namespace_project_snippets_path(project.namespace, project) + let!(:other_snippet) { create(:project_snippet) } + + context 'pagination' do + before do + allow(Snippet).to receive(:default_per_page).and_return(1) + + visit namespace_project_snippets_path(project.namespace, project) + end + + it_behaves_like 'paginated snippets' end - it_behaves_like 'paginated snippets' + context 'list content' do + it 'contains all project snippets' do + visit namespace_project_snippets_path(project.namespace, project) + + expect(page).to have_selector('.snippet-row', count: 2) + + expect(page).to have_content(snippets[0].title) + expect(page).to have_content(snippets[1].title) + end + end end end diff --git a/spec/features/snippets/explore_spec.rb b/spec/features/snippets/explore_spec.rb index 10a4597e467..fd097fe2e74 100644 --- a/spec/features/snippets/explore_spec.rb +++ b/spec/features/snippets/explore_spec.rb @@ -1,11 +1,11 @@ require 'rails_helper' feature 'Explore Snippets', feature: true do - scenario 'User should see snippets that are not private' do - public_snippet = create(:personal_snippet, :public) - internal_snippet = create(:personal_snippet, :internal) - private_snippet = create(:personal_snippet, :private) + let!(:public_snippet) { create(:personal_snippet, :public) } + let!(:internal_snippet) { create(:personal_snippet, :internal) } + let!(:private_snippet) { create(:personal_snippet, :private) } + scenario 'User should see snippets that are not private' do login_as create(:user) visit explore_snippets_path @@ -13,4 +13,21 @@ feature 'Explore Snippets', feature: true do expect(page).to have_content(internal_snippet.title) expect(page).not_to have_content(private_snippet.title) end + + scenario 'External user should see only public snippets' do + login_as create(:user, :external) + visit explore_snippets_path + + expect(page).to have_content(public_snippet.title) + expect(page).not_to have_content(internal_snippet.title) + expect(page).not_to have_content(private_snippet.title) + end + + scenario 'Not authenticated user should see only public snippets' do + visit explore_snippets_path + + expect(page).to have_content(public_snippet.title) + expect(page).not_to have_content(internal_snippet.title) + expect(page).not_to have_content(private_snippet.title) + end end diff --git a/spec/features/users/snippets_spec.rb b/spec/features/users/snippets_spec.rb index 1546a06b80c..4efbd672322 100644 --- a/spec/features/users/snippets_spec.rb +++ b/spec/features/users/snippets_spec.rb @@ -3,14 +3,46 @@ require 'spec_helper' describe 'Snippets tab on a user profile', feature: true, js: true do context 'when the user has snippets' do let(:user) { create(:user) } - let!(:snippets) { create_list(:snippet, 2, :public, author: user) } - before do - allow(Snippet).to receive(:default_per_page).and_return(1) - visit user_path(user) - page.within('.user-profile-nav') { click_link 'Snippets' } - wait_for_ajax + + context 'pagination' do + let!(:snippets) { create_list(:snippet, 2, :public, author: user) } + + before do + allow(Snippet).to receive(:default_per_page).and_return(1) + visit user_path(user) + page.within('.user-profile-nav') { click_link 'Snippets' } + wait_for_ajax + end + + it_behaves_like 'paginated snippets', remote: true end - it_behaves_like 'paginated snippets', remote: true + context 'list content' do + let!(:public_snippet) { create(:snippet, :public, author: user) } + let!(:internal_snippet) { create(:snippet, :internal, author: user) } + let!(:private_snippet) { create(:snippet, :private, author: user) } + let!(:other_snippet) { create(:snippet, :public) } + + it 'contains only internal and public snippets of a user when a user is logged in' do + login_as(:user) + visit user_path(user) + page.within('.user-profile-nav') { click_link 'Snippets' } + wait_for_ajax + + expect(page).to have_selector('.snippet-row', count: 2) + + expect(page).to have_content(public_snippet.title) + expect(page).to have_content(internal_snippet.title) + end + + it 'contains only public snippets of a user when a user is not logged in' do + visit user_path(user) + page.within('.user-profile-nav') { click_link 'Snippets' } + wait_for_ajax + + expect(page).to have_selector('.snippet-row', count: 1) + expect(page).to have_content(public_snippet.title) + end + end end end diff --git a/spec/finders/snippets_finder_spec.rb b/spec/finders/snippets_finder_spec.rb index cb6c80d1bd0..9171fb9c4af 100644 --- a/spec/finders/snippets_finder_spec.rb +++ b/spec/finders/snippets_finder_spec.rb @@ -8,79 +8,145 @@ describe SnippetsFinder do let(:project1) { create(:empty_project, :public, group: group) } let(:project2) { create(:empty_project, :private, group: group) } - context ':all filter' do + context 'all snippets visible to a user' do let!(:snippet1) { create(:personal_snippet, :private) } let!(:snippet2) { create(:personal_snippet, :internal) } let!(:snippet3) { create(:personal_snippet, :public) } + let!(:project_snippet1) { create(:project_snippet, :private) } + let!(:project_snippet2) { create(:project_snippet, :internal) } + let!(:project_snippet3) { create(:project_snippet, :public) } it "returns all private and internal snippets" do - snippets = described_class.new.execute(user, filter: :all) - expect(snippets).to include(snippet2, snippet3) - expect(snippets).not_to include(snippet1) + snippets = described_class.new(user, scope: :all).execute + expect(snippets).to include(snippet2, snippet3, project_snippet2, project_snippet3) + expect(snippets).not_to include(snippet1, project_snippet1) end it "returns all public snippets" do - snippets = described_class.new.execute(nil, filter: :all) - expect(snippets).to include(snippet3) - expect(snippets).not_to include(snippet1, snippet2) + snippets = described_class.new(nil, scope: :all).execute + expect(snippets).to include(snippet3, project_snippet3) + expect(snippets).not_to include(snippet1, snippet2, project_snippet1, project_snippet2) + end + + it "returns all public and internal snippets for normal user" do + snippets = SnippetsFinder.new(user).execute + + expect(snippets).to include(snippet2, snippet3, project_snippet2, project_snippet3) + expect(snippets).not_to include(snippet1, project_snippet1) + end + + it "returns all public snippets for non authorized user" do + snippets = SnippetsFinder.new(nil).execute + + expect(snippets).to include(snippet3, project_snippet3) + expect(snippets).not_to include(snippet1, snippet2, project_snippet1, project_snippet2) + end + + it "returns all public and authored snippets for external user" do + external_user = create(:user, :external) + authored_snippet = create(:personal_snippet, :internal, author: external_user) + + snippets = SnippetsFinder.new(external_user).execute + + expect(snippets).to include(snippet3, project_snippet3, authored_snippet) + expect(snippets).not_to include(snippet1, snippet2, project_snippet1, project_snippet2) end end - context ':public filter' do + context 'filter by visibility' do let!(:snippet1) { create(:personal_snippet, :private) } let!(:snippet2) { create(:personal_snippet, :internal) } let!(:snippet3) { create(:personal_snippet, :public) } - it "returns public public snippets" do - snippets = described_class.new.execute(nil, filter: :public) + it "returns public snippets when visibility is PUBLIC" do + snippets = SnippetsFinder.new(nil, visibility: Snippet::PUBLIC).execute expect(snippets).to include(snippet3) expect(snippets).not_to include(snippet1, snippet2) end end - context ':by_user filter' do + context 'filter by scope' do + let!(:snippet1) { create(:personal_snippet, :private, author: user) } + let!(:snippet2) { create(:personal_snippet, :internal, author: user) } + let!(:snippet3) { create(:personal_snippet, :public, author: user) } + + it "returns all snippets for 'all' scope" do + snippets = SnippetsFinder.new(user, scope: :all).execute + + expect(snippets).to include(snippet1, snippet2, snippet3) + end + + it "returns all snippets for 'are_private' scope" do + snippets = SnippetsFinder.new(user, scope: :are_private).execute + + expect(snippets).to include(snippet1) + expect(snippets).not_to include(snippet2, snippet3) + end + + it "returns all snippets for 'are_interna;' scope" do + snippets = SnippetsFinder.new(user, scope: :are_internal).execute + + expect(snippets).to include(snippet2) + expect(snippets).not_to include(snippet1, snippet3) + end + + it "returns all snippets for 'are_private' scope" do + snippets = SnippetsFinder.new(user, scope: :are_public).execute + + expect(snippets).to include(snippet3) + expect(snippets).not_to include(snippet1, snippet2) + end + end + + context 'filter by author' do let!(:snippet1) { create(:personal_snippet, :private, author: user) } let!(:snippet2) { create(:personal_snippet, :internal, author: user) } let!(:snippet3) { create(:personal_snippet, :public, author: user) } it "returns all public and internal snippets" do - snippets = described_class.new.execute(user1, filter: :by_user, user: user) + snippets = SnippetsFinder.new(user1, author: user).execute + expect(snippets).to include(snippet2, snippet3) expect(snippets).not_to include(snippet1) end it "returns internal snippets" do - snippets = described_class.new.execute(user, filter: :by_user, user: user, scope: "are_internal") + snippets = SnippetsFinder.new(user, author: user, visibility: Snippet::INTERNAL).execute + expect(snippets).to include(snippet2) expect(snippets).not_to include(snippet1, snippet3) end it "returns private snippets" do - snippets = described_class.new.execute(user, filter: :by_user, user: user, scope: "are_private") + snippets = SnippetsFinder.new(user, author: user, visibility: Snippet::PRIVATE).execute + expect(snippets).to include(snippet1) expect(snippets).not_to include(snippet2, snippet3) end it "returns public snippets" do - snippets = described_class.new.execute(user, filter: :by_user, user: user, scope: "are_public") + snippets = SnippetsFinder.new(user, author: user, visibility: Snippet::PUBLIC).execute + expect(snippets).to include(snippet3) expect(snippets).not_to include(snippet1, snippet2) end it "returns all snippets" do - snippets = described_class.new.execute(user, filter: :by_user, user: user) + snippets = SnippetsFinder.new(user, author: user).execute + expect(snippets).to include(snippet1, snippet2, snippet3) end it "returns only public snippets if unauthenticated user" do - snippets = described_class.new.execute(nil, filter: :by_user, user: user) + snippets = SnippetsFinder.new(nil, author: user).execute + expect(snippets).to include(snippet3) expect(snippets).not_to include(snippet2, snippet1) end end - context 'by_project filter' do + context 'filter by project' do before do @snippet1 = create(:project_snippet, :private, project: project1) @snippet2 = create(:project_snippet, :internal, project: project1) @@ -88,43 +154,52 @@ describe SnippetsFinder do end it "returns public snippets for unauthorized user" do - snippets = described_class.new.execute(nil, filter: :by_project, project: project1) + snippets = SnippetsFinder.new(nil, project: project1).execute + expect(snippets).to include(@snippet3) expect(snippets).not_to include(@snippet1, @snippet2) end it "returns public and internal snippets for non project members" do - snippets = described_class.new.execute(user, filter: :by_project, project: project1) + snippets = SnippetsFinder.new(user, project: project1).execute + expect(snippets).to include(@snippet2, @snippet3) expect(snippets).not_to include(@snippet1) end it "returns public snippets for non project members" do - snippets = described_class.new.execute(user, filter: :by_project, project: project1, scope: "are_public") + snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::PUBLIC).execute + expect(snippets).to include(@snippet3) expect(snippets).not_to include(@snippet1, @snippet2) end it "returns internal snippets for non project members" do - snippets = described_class.new.execute(user, filter: :by_project, project: project1, scope: "are_internal") + snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::INTERNAL).execute + expect(snippets).to include(@snippet2) expect(snippets).not_to include(@snippet1, @snippet3) end it "does not return private snippets for non project members" do - snippets = described_class.new.execute(user, filter: :by_project, project: project1, scope: "are_private") + snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::PRIVATE).execute + expect(snippets).not_to include(@snippet1, @snippet2, @snippet3) end it "returns all snippets for project members" do project1.team << [user, :developer] - snippets = described_class.new.execute(user, filter: :by_project, project: project1) + + snippets = SnippetsFinder.new(user, project: project1).execute + expect(snippets).to include(@snippet1, @snippet2, @snippet3) end it "returns private snippets for project members" do project1.team << [user, :developer] - snippets = described_class.new.execute(user, filter: :by_project, project: project1, scope: "are_private") + + snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::PRIVATE).execute + expect(snippets).to include(@snippet1) end end diff --git a/spec/models/snippet_spec.rb b/spec/models/snippet_spec.rb index 75b1fc7e216..1e5c96fe593 100644 --- a/spec/models/snippet_spec.rb +++ b/spec/models/snippet_spec.rb @@ -131,46 +131,6 @@ describe Snippet, models: true do end end - describe '.accessible_to' do - let(:author) { create(:author) } - let(:project) { create(:empty_project) } - - let!(:public_snippet) { create(:snippet, :public) } - let!(:internal_snippet) { create(:snippet, :internal) } - let!(:private_snippet) { create(:snippet, :private, author: author) } - - let!(:project_public_snippet) { create(:snippet, :public, project: project) } - let!(:project_internal_snippet) { create(:snippet, :internal, project: project) } - let!(:project_private_snippet) { create(:snippet, :private, project: project) } - - it 'returns only public snippets when user is blank' do - expect(described_class.accessible_to(nil)).to match_array [public_snippet, project_public_snippet] - end - - it 'returns only public, and internal snippets for regular users' do - user = create(:user) - - expect(described_class.accessible_to(user)).to match_array [public_snippet, internal_snippet, project_public_snippet, project_internal_snippet] - end - - it 'returns public, internal snippets and project private snippets for project members' do - member = create(:user) - project.team << [member, :developer] - - expect(described_class.accessible_to(member)).to match_array [public_snippet, internal_snippet, project_public_snippet, project_internal_snippet, project_private_snippet] - end - - it 'returns private snippets where the user is the author' do - expect(described_class.accessible_to(author)).to match_array [public_snippet, internal_snippet, private_snippet, project_public_snippet, project_internal_snippet] - end - - it 'returns all snippets when for admins' do - admin = create(:admin) - - expect(described_class.accessible_to(admin)).to match_array [public_snippet, internal_snippet, private_snippet, project_public_snippet, project_internal_snippet, project_private_snippet] - end - end - describe '#participants' do let(:project) { create(:empty_project, :public) } let(:snippet) { create(:snippet, content: 'foo', project: project) } diff --git a/spec/policies/project_snippet_policy_spec.rb b/spec/policies/project_snippet_policy_spec.rb index d0758af57dd..e1771b636b8 100644 --- a/spec/policies/project_snippet_policy_spec.rb +++ b/spec/policies/project_snippet_policy_spec.rb @@ -1,7 +1,9 @@ require 'spec_helper' describe ProjectSnippetPolicy, models: true do - let(:current_user) { create(:user) } + let(:regular_user) { create(:user) } + let(:external_user) { create(:user, :external) } + let(:project) { create(:empty_project) } let(:author_permissions) do [ @@ -10,13 +12,15 @@ describe ProjectSnippetPolicy, models: true do ] end - subject { described_class.abilities(current_user, project_snippet).to_set } + def abilities(user, snippet_visibility) + snippet = create(:project_snippet, snippet_visibility, project: project) - context 'public snippet' do - let(:project_snippet) { create(:project_snippet, :public) } + described_class.abilities(user, snippet).to_set + end + context 'public snippet' do context 'no user' do - let(:current_user) { nil } + subject { abilities(nil, :public) } it do is_expected.to include(:read_project_snippet) @@ -25,6 +29,17 @@ describe ProjectSnippetPolicy, models: true do end context 'regular user' do + subject { abilities(regular_user, :public) } + + it do + is_expected.to include(:read_project_snippet) + is_expected.not_to include(*author_permissions) + end + end + + context 'external user' do + subject { abilities(external_user, :public) } + it do is_expected.to include(:read_project_snippet) is_expected.not_to include(*author_permissions) @@ -33,10 +48,8 @@ describe ProjectSnippetPolicy, models: true do end context 'internal snippet' do - let(:project_snippet) { create(:project_snippet, :internal) } - context 'no user' do - let(:current_user) { nil } + subject { abilities(nil, :internal) } it do is_expected.not_to include(:read_project_snippet) @@ -45,6 +58,28 @@ describe ProjectSnippetPolicy, models: true do end context 'regular user' do + subject { abilities(regular_user, :internal) } + + it do + is_expected.to include(:read_project_snippet) + is_expected.not_to include(*author_permissions) + end + end + + context 'external user' do + subject { abilities(external_user, :internal) } + + it do + is_expected.not_to include(:read_project_snippet) + is_expected.not_to include(*author_permissions) + end + end + + context 'project team member external user' do + subject { abilities(external_user, :internal) } + + before { project.team << [external_user, :developer] } + it do is_expected.to include(:read_project_snippet) is_expected.not_to include(*author_permissions) @@ -53,10 +88,8 @@ describe ProjectSnippetPolicy, models: true do end context 'private snippet' do - let(:project_snippet) { create(:project_snippet, :private) } - context 'no user' do - let(:current_user) { nil } + subject { abilities(nil, :private) } it do is_expected.not_to include(:read_project_snippet) @@ -65,6 +98,8 @@ describe ProjectSnippetPolicy, models: true do end context 'regular user' do + subject { abilities(regular_user, :private) } + it do is_expected.not_to include(:read_project_snippet) is_expected.not_to include(*author_permissions) @@ -72,7 +107,9 @@ describe ProjectSnippetPolicy, models: true do end context 'snippet author' do - let(:project_snippet) { create(:project_snippet, :private, author: current_user) } + let(:snippet) { create(:project_snippet, :private, author: regular_user) } + + subject { described_class.abilities(regular_user, snippet).to_set } it do is_expected.to include(:read_project_snippet) @@ -80,8 +117,21 @@ describe ProjectSnippetPolicy, models: true do end end - context 'project team member' do - before { project_snippet.project.team << [current_user, :developer] } + context 'project team member normal user' do + subject { abilities(regular_user, :private) } + + before { project.team << [regular_user, :developer] } + + it do + is_expected.to include(:read_project_snippet) + is_expected.not_to include(*author_permissions) + end + end + + context 'project team member external user' do + subject { abilities(external_user, :private) } + + before { project.team << [external_user, :developer] } it do is_expected.to include(:read_project_snippet) @@ -90,7 +140,7 @@ describe ProjectSnippetPolicy, models: true do end context 'admin user' do - let(:current_user) { create(:admin) } + subject { abilities(create(:admin), :private) } it do is_expected.to include(:read_project_snippet) -- GitLab From 39eee5babd279d0c8f46a173a47f98d2fe1a0cbc Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Tue, 2 May 2017 21:32:14 +0000 Subject: [PATCH 018/249] Merge branch 'fix-hamlit-xss' into 'security-9-1' New Hamlit XSS fix, does not include extraneous changes See merge request !2095 --- app/views/import/base/create.js.haml | 2 +- app/views/projects/imports/new.html.haml | 2 +- app/views/projects/wikis/git_access.html.haml | 2 +- changelogs/unreleased/hamlit-xss-fix.yml | 4 ++++ .../projects/imports/new.html.haml_spec.rb | 22 +++++++++++++++++++ 5 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 changelogs/unreleased/hamlit-xss-fix.yml create mode 100644 spec/views/projects/imports/new.html.haml_spec.rb diff --git a/app/views/import/base/create.js.haml b/app/views/import/base/create.js.haml index 8e929538351..57e8c3ca1e1 100644 --- a/app/views/import/base/create.js.haml +++ b/app/views/import/base/create.js.haml @@ -10,4 +10,4 @@ - else :plain job = $("tr#repo_#{@repo_id}") - job.find(".import-actions").html("<i class='fa fa-exclamation-circle'></i> Error saving project: #{escape_javascript(@project.errors.full_messages.join(','))}") + job.find(".import-actions").html("<i class='fa fa-exclamation-circle'></i> Error saving project: #{escape_javascript(h(@project.errors.full_messages.join(',')))}") diff --git a/app/views/projects/imports/new.html.haml b/app/views/projects/imports/new.html.haml index 2cd8d03e30e..25a87411cac 100644 --- a/app/views/projects/imports/new.html.haml +++ b/app/views/projects/imports/new.html.haml @@ -10,7 +10,7 @@ .panel-body %pre :preserve - #{sanitize_repo_path(@project, @project.import_error)} + #{h(sanitize_repo_path(@project, @project.import_error))} = form_for @project, url: namespace_project_import_path(@project.namespace, @project), method: :post, html: { class: 'form-horizontal' } do |f| = render "shared/import_form", f: f diff --git a/app/views/projects/wikis/git_access.html.haml b/app/views/projects/wikis/git_access.html.haml index fb0efd85dcd..68862206248 100644 --- a/app/views/projects/wikis/git_access.html.haml +++ b/app/views/projects/wikis/git_access.html.haml @@ -28,7 +28,7 @@ %h3 Clone your wiki %pre.dark :preserve - git clone #{ content_tag(:span, default_url_to_repo(@project_wiki), class: 'clone')} + git clone #{ content_tag(:span, h(default_url_to_repo(@project_wiki)), class: 'clone')} cd #{h @project_wiki.path} %h3 Start Gollum and edit locally diff --git a/changelogs/unreleased/hamlit-xss-fix.yml b/changelogs/unreleased/hamlit-xss-fix.yml new file mode 100644 index 00000000000..ba4713846e9 --- /dev/null +++ b/changelogs/unreleased/hamlit-xss-fix.yml @@ -0,0 +1,4 @@ +--- +title: Fix for XSS in project import view caused by Hamlit filter usage. +merge_request: +author: diff --git a/spec/views/projects/imports/new.html.haml_spec.rb b/spec/views/projects/imports/new.html.haml_spec.rb new file mode 100644 index 00000000000..9b293065797 --- /dev/null +++ b/spec/views/projects/imports/new.html.haml_spec.rb @@ -0,0 +1,22 @@ +require "spec_helper" + +describe "projects/imports/new.html.haml" do + let(:user) { create(:user) } + + context 'when import fails' do + let(:project) { create(:project_empty_repo, import_status: :failed, import_error: '<a href="http://googl.com">Foo</a>', import_type: :gitlab_project, import_source: '/var/opt/gitlab/gitlab-rails/shared/tmp/project_exports/uploads/t.tar.gz', import_url: nil) } + + before do + sign_in(user) + project.team << [user, :master] + end + + it "escapes HTML in import errors" do + assign(:project, project) + + render + + expect(rendered).not_to have_link('Foo', href: "http://googl.com") + end + end +end -- GitLab From e61bfba769e41bf1028016d3e0a87ad23207ec0f Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Wed, 3 May 2017 23:51:25 +0000 Subject: [PATCH 019/249] Merge branch 'tc-fix-private-subgroups-shown' into 'security' Use GroupsFinder to find subgroups the user has access to See merge request !2096 --- app/controllers/explore/groups_controller.rb | 2 +- app/controllers/groups_controller.rb | 2 +- app/finders/groups_finder.rb | 20 +++++-- .../tc-fix-private-subgroups-shown.yml | 4 ++ lib/api/groups.rb | 2 +- lib/api/v3/groups.rb | 2 +- spec/controllers/groups_controller_spec.rb | 35 ++++++++++++ spec/finders/groups_finder_spec.rb | 57 +++++++++++++++---- 8 files changed, 105 insertions(+), 19 deletions(-) create mode 100644 changelogs/unreleased/tc-fix-private-subgroups-shown.yml diff --git a/app/controllers/explore/groups_controller.rb b/app/controllers/explore/groups_controller.rb index 68228c095da..81883c543ba 100644 --- a/app/controllers/explore/groups_controller.rb +++ b/app/controllers/explore/groups_controller.rb @@ -1,6 +1,6 @@ class Explore::GroupsController < Explore::ApplicationController def index - @groups = GroupsFinder.new.execute(current_user) + @groups = GroupsFinder.new(current_user).execute @groups = @groups.search(params[:filter_groups]) if params[:filter_groups].present? @groups = @groups.sort(@sort = params[:sort]) @groups = @groups.page(params[:page]) diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 46c3ff10694..1515173d0ac 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -64,7 +64,7 @@ class GroupsController < Groups::ApplicationController end def subgroups - @nested_groups = group.children + @nested_groups = GroupsFinder.new(current_user, parent: group).execute @nested_groups = @nested_groups.search(params[:filter_groups]) if params[:filter_groups].present? end diff --git a/app/finders/groups_finder.rb b/app/finders/groups_finder.rb index d932a17883f..f68610e197c 100644 --- a/app/finders/groups_finder.rb +++ b/app/finders/groups_finder.rb @@ -1,13 +1,19 @@ class GroupsFinder < UnionFinder - def execute(current_user = nil) - segments = all_groups(current_user) + def initialize(current_user = nil, params = {}) + @current_user = current_user + @params = params + end - find_union(segments, Group).with_route.order_id_desc + def execute + groups = find_union(all_groups, Group).with_route.order_id_desc + by_parent(groups) end private - def all_groups(current_user) + attr_reader :current_user, :params + + def all_groups groups = [] groups << current_user.authorized_groups if current_user @@ -15,4 +21,10 @@ class GroupsFinder < UnionFinder groups end + + def by_parent(groups) + return groups unless params[:parent] + + groups.where(parent: params[:parent]) + end end diff --git a/changelogs/unreleased/tc-fix-private-subgroups-shown.yml b/changelogs/unreleased/tc-fix-private-subgroups-shown.yml new file mode 100644 index 00000000000..82e03921854 --- /dev/null +++ b/changelogs/unreleased/tc-fix-private-subgroups-shown.yml @@ -0,0 +1,4 @@ +--- +title: "Do not show private groups on subgroups page if user doesn't have access to" +merge_request: +author: diff --git a/lib/api/groups.rb b/lib/api/groups.rb index 09d105f6b4c..9ccc75681f9 100644 --- a/lib/api/groups.rb +++ b/lib/api/groups.rb @@ -52,7 +52,7 @@ module API elsif current_user.admin Group.all elsif params[:all_available] - GroupsFinder.new.execute(current_user) + GroupsFinder.new(current_user).execute else current_user.groups end diff --git a/lib/api/v3/groups.rb b/lib/api/v3/groups.rb index 63d464b926b..dbf7a3cf785 100644 --- a/lib/api/v3/groups.rb +++ b/lib/api/v3/groups.rb @@ -45,7 +45,7 @@ module API groups = if current_user.admin Group.all elsif params[:all_available] - GroupsFinder.new.execute(current_user) + GroupsFinder.new(current_user).execute else current_user.groups end diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index 073b87a1cb4..4c8d82a1677 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -26,6 +26,41 @@ describe GroupsController do end end + describe 'GET #subgroups' do + let!(:public_subgroup) { create(:group, :public, parent: group) } + let!(:private_subgroup) { create(:group, :private, parent: group) } + + context 'as a user' do + before do + sign_in(user) + end + + it 'shows the public subgroups' do + get :subgroups, id: group.to_param + + expect(assigns(:nested_groups)).to contain_exactly(public_subgroup) + end + + context 'being member' do + it 'shows public and private subgroups the user is member of' do + private_subgroup.add_guest(user) + + get :subgroups, id: group.to_param + + expect(assigns(:nested_groups)).to contain_exactly(public_subgroup, private_subgroup) + end + end + end + + context 'as a guest' do + it 'shows the public subgroups' do + get :subgroups, id: group.to_param + + expect(assigns(:nested_groups)).to contain_exactly(public_subgroup) + end + end + end + describe 'GET #issues' do let(:issue_1) { create(:issue, project: project) } let(:issue_2) { create(:issue, project: project) } diff --git a/spec/finders/groups_finder_spec.rb b/spec/finders/groups_finder_spec.rb index d5d111e8d15..5b3591550c1 100644 --- a/spec/finders/groups_finder_spec.rb +++ b/spec/finders/groups_finder_spec.rb @@ -3,29 +3,64 @@ require 'spec_helper' describe GroupsFinder do describe '#execute' do let(:user) { create(:user) } - let!(:private_group) { create(:group, :private) } - let!(:internal_group) { create(:group, :internal) } - let!(:public_group) { create(:group, :public) } - let(:finder) { described_class.new } - describe 'execute' do - describe 'without a user' do - subject { finder.execute } + context 'root level groups' do + let!(:private_group) { create(:group, :private) } + let!(:internal_group) { create(:group, :internal) } + let!(:public_group) { create(:group, :public) } + + context 'without a user' do + subject { described_class.new.execute } it { is_expected.to eq([public_group]) } end - describe 'with a user' do - subject { finder.execute(user) } + context 'with a user' do + subject { described_class.new(user).execute } context 'normal user' do - it { is_expected.to eq([public_group, internal_group]) } + it { is_expected.to contain_exactly(public_group, internal_group) } end context 'external user' do let(:user) { create(:user, external: true) } - it { is_expected.to eq([public_group]) } + it { is_expected.to contain_exactly(public_group) } + end + + context 'user is member of the private group' do + before do + private_group.add_guest(user) + end + + it { is_expected.to contain_exactly(public_group, internal_group, private_group) } + end + end + end + + context 'subgroups' do + let!(:parent_group) { create(:group, :public) } + let!(:public_subgroup) { create(:group, :public, parent: parent_group) } + let!(:internal_subgroup) { create(:group, :internal, parent: parent_group) } + let!(:private_subgroup) { create(:group, :private, parent: parent_group) } + + context 'without a user' do + it 'only returns public subgroups' do + expect(described_class.new(nil, parent: parent_group).execute).to contain_exactly(public_subgroup) + end + end + + context 'with a user' do + it 'returns public and internal subgroups' do + expect(described_class.new(user, parent: parent_group).execute).to contain_exactly(public_subgroup, internal_subgroup) + end + + context 'being member' do + it 'returns public subgroups, internal subgroups, and private subgroups user is member of' do + private_subgroup.add_guest(user) + + expect(described_class.new(user, parent: parent_group).execute).to contain_exactly(public_subgroup, internal_subgroup, private_subgroup) + end end end end -- GitLab From ebf0dab8f0d7407a1ad82782ecdc30708fb5d53b Mon Sep 17 00:00:00 2001 From: Bob Van Landuyt <bob@gitlab.com> Date: Wed, 10 May 2017 11:21:33 +0200 Subject: [PATCH 020/249] Use `described_class` in SnippetsFinder-spec --- spec/finders/snippets_finder_spec.rb | 42 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/spec/finders/snippets_finder_spec.rb b/spec/finders/snippets_finder_spec.rb index 9171fb9c4af..35f1683eef9 100644 --- a/spec/finders/snippets_finder_spec.rb +++ b/spec/finders/snippets_finder_spec.rb @@ -29,14 +29,14 @@ describe SnippetsFinder do end it "returns all public and internal snippets for normal user" do - snippets = SnippetsFinder.new(user).execute + snippets = described_class.new(user).execute expect(snippets).to include(snippet2, snippet3, project_snippet2, project_snippet3) expect(snippets).not_to include(snippet1, project_snippet1) end it "returns all public snippets for non authorized user" do - snippets = SnippetsFinder.new(nil).execute + snippets = described_class.new(nil).execute expect(snippets).to include(snippet3, project_snippet3) expect(snippets).not_to include(snippet1, snippet2, project_snippet1, project_snippet2) @@ -46,7 +46,7 @@ describe SnippetsFinder do external_user = create(:user, :external) authored_snippet = create(:personal_snippet, :internal, author: external_user) - snippets = SnippetsFinder.new(external_user).execute + snippets = described_class.new(external_user).execute expect(snippets).to include(snippet3, project_snippet3, authored_snippet) expect(snippets).not_to include(snippet1, snippet2, project_snippet1, project_snippet2) @@ -59,7 +59,7 @@ describe SnippetsFinder do let!(:snippet3) { create(:personal_snippet, :public) } it "returns public snippets when visibility is PUBLIC" do - snippets = SnippetsFinder.new(nil, visibility: Snippet::PUBLIC).execute + snippets = described_class.new(nil, visibility: Snippet::PUBLIC).execute expect(snippets).to include(snippet3) expect(snippets).not_to include(snippet1, snippet2) @@ -72,27 +72,27 @@ describe SnippetsFinder do let!(:snippet3) { create(:personal_snippet, :public, author: user) } it "returns all snippets for 'all' scope" do - snippets = SnippetsFinder.new(user, scope: :all).execute + snippets = described_class.new(user, scope: :all).execute expect(snippets).to include(snippet1, snippet2, snippet3) end it "returns all snippets for 'are_private' scope" do - snippets = SnippetsFinder.new(user, scope: :are_private).execute + snippets = described_class.new(user, scope: :are_private).execute expect(snippets).to include(snippet1) expect(snippets).not_to include(snippet2, snippet3) end it "returns all snippets for 'are_interna;' scope" do - snippets = SnippetsFinder.new(user, scope: :are_internal).execute + snippets = described_class.new(user, scope: :are_internal).execute expect(snippets).to include(snippet2) expect(snippets).not_to include(snippet1, snippet3) end it "returns all snippets for 'are_private' scope" do - snippets = SnippetsFinder.new(user, scope: :are_public).execute + snippets = described_class.new(user, scope: :are_public).execute expect(snippets).to include(snippet3) expect(snippets).not_to include(snippet1, snippet2) @@ -105,41 +105,41 @@ describe SnippetsFinder do let!(:snippet3) { create(:personal_snippet, :public, author: user) } it "returns all public and internal snippets" do - snippets = SnippetsFinder.new(user1, author: user).execute + snippets = described_class.new(user1, author: user).execute expect(snippets).to include(snippet2, snippet3) expect(snippets).not_to include(snippet1) end it "returns internal snippets" do - snippets = SnippetsFinder.new(user, author: user, visibility: Snippet::INTERNAL).execute + snippets = described_class.new(user, author: user, visibility: Snippet::INTERNAL).execute expect(snippets).to include(snippet2) expect(snippets).not_to include(snippet1, snippet3) end it "returns private snippets" do - snippets = SnippetsFinder.new(user, author: user, visibility: Snippet::PRIVATE).execute + snippets = described_class.new(user, author: user, visibility: Snippet::PRIVATE).execute expect(snippets).to include(snippet1) expect(snippets).not_to include(snippet2, snippet3) end it "returns public snippets" do - snippets = SnippetsFinder.new(user, author: user, visibility: Snippet::PUBLIC).execute + snippets = described_class.new(user, author: user, visibility: Snippet::PUBLIC).execute expect(snippets).to include(snippet3) expect(snippets).not_to include(snippet1, snippet2) end it "returns all snippets" do - snippets = SnippetsFinder.new(user, author: user).execute + snippets = described_class.new(user, author: user).execute expect(snippets).to include(snippet1, snippet2, snippet3) end it "returns only public snippets if unauthenticated user" do - snippets = SnippetsFinder.new(nil, author: user).execute + snippets = described_class.new(nil, author: user).execute expect(snippets).to include(snippet3) expect(snippets).not_to include(snippet2, snippet1) @@ -154,35 +154,35 @@ describe SnippetsFinder do end it "returns public snippets for unauthorized user" do - snippets = SnippetsFinder.new(nil, project: project1).execute + snippets = described_class.new(nil, project: project1).execute expect(snippets).to include(@snippet3) expect(snippets).not_to include(@snippet1, @snippet2) end it "returns public and internal snippets for non project members" do - snippets = SnippetsFinder.new(user, project: project1).execute + snippets = described_class.new(user, project: project1).execute expect(snippets).to include(@snippet2, @snippet3) expect(snippets).not_to include(@snippet1) end it "returns public snippets for non project members" do - snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::PUBLIC).execute + snippets = described_class.new(user, project: project1, visibility: Snippet::PUBLIC).execute expect(snippets).to include(@snippet3) expect(snippets).not_to include(@snippet1, @snippet2) end it "returns internal snippets for non project members" do - snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::INTERNAL).execute + snippets = described_class.new(user, project: project1, visibility: Snippet::INTERNAL).execute expect(snippets).to include(@snippet2) expect(snippets).not_to include(@snippet1, @snippet3) end it "does not return private snippets for non project members" do - snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::PRIVATE).execute + snippets = described_class.new(user, project: project1, visibility: Snippet::PRIVATE).execute expect(snippets).not_to include(@snippet1, @snippet2, @snippet3) end @@ -190,7 +190,7 @@ describe SnippetsFinder do it "returns all snippets for project members" do project1.team << [user, :developer] - snippets = SnippetsFinder.new(user, project: project1).execute + snippets = described_class.new(user, project: project1).execute expect(snippets).to include(@snippet1, @snippet2, @snippet3) end @@ -198,7 +198,7 @@ describe SnippetsFinder do it "returns private snippets for project members" do project1.team << [user, :developer] - snippets = SnippetsFinder.new(user, project: project1, visibility: Snippet::PRIVATE).execute + snippets = described_class.new(user, project: project1, visibility: Snippet::PRIVATE).execute expect(snippets).to include(@snippet1) end -- GitLab From 218692aeadcffaa2f8fc5f0cde911adb48222f54 Mon Sep 17 00:00:00 2001 From: Bob Van Landuyt <bob@gitlab.com> Date: Wed, 10 May 2017 12:03:29 +0200 Subject: [PATCH 021/249] Use new SnippetsFinder signature in API --- lib/api/helpers.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb index 86bf567fe69..c643ea8e5a7 100644 --- a/lib/api/helpers.rb +++ b/lib/api/helpers.rb @@ -91,8 +91,8 @@ module API end def find_project_snippet(id) - finder_params = { filter: :by_project, project: user_project } - SnippetsFinder.new.execute(current_user, finder_params).find(id) + finder_params = { project: user_project } + SnippetsFinder.new(current_user, finder_params).execute.find(id) end def find_merge_request_with_access(iid, access_level = :read_merge_request) -- GitLab From 0e175cf9d9fe575767f86c51a830f372cf980445 Mon Sep 17 00:00:00 2001 From: Regis Boudinot <boudinot.regis@yahoo.com> Date: Wed, 10 May 2017 22:07:05 +0000 Subject: [PATCH 022/249] Merge branch 'retried-in-database-mysql' into 'master' Retried in database Closes #25737 See merge request !11115 --- app/models/ci/build.rb | 4 +-- app/models/commit_status.rb | 11 ++---- app/services/ci/process_pipeline_service.rb | 20 +++++++++++ app/services/ci/retry_build_service.rb | 13 +++++-- app/services/ci/retry_pipeline_service.rb | 2 +- ...tore-retried-in-database-for-ci-builds.yml | 4 +++ .../20170503004426_add_retried_to_ci_build.rb | 9 +++++ ...170503004427_upate_retried_for_ci_build.rb | 29 ++++++++++++++++ db/schema.rb | 1 + .../import_export/safe_model_attributes.yml | 1 + spec/models/ci/pipeline_spec.rb | 34 +++++++++++-------- spec/models/ci/stage_spec.rb | 4 +++ spec/models/commit_status_spec.rb | 24 ++++++++++--- spec/requests/api/commit_statuses_spec.rb | 4 +-- .../ci/process_pipeline_service_spec.rb | 15 ++++++++ spec/services/ci/retry_build_service_spec.rb | 11 ++++-- .../ci/retry_pipeline_service_spec.rb | 2 +- .../pipelines/_stage.html.haml_spec.rb | 5 ++- 18 files changed, 152 insertions(+), 41 deletions(-) create mode 100644 changelogs/unreleased/store-retried-in-database-for-ci-builds.yml create mode 100644 db/migrate/20170503004426_add_retried_to_ci_build.rb create mode 100644 db/post_migrate/20170503004427_upate_retried_for_ci_build.rb diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 971ab7cb0ee..3c4a4d93349 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -124,8 +124,8 @@ module Ci success? || failed? || canceled? end - def retried? - !self.pipeline.statuses.latest.include?(self) + def latest? + !retried? end def expanded_environment_name diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 75d04fd2b08..ffafc678968 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -18,13 +18,7 @@ class CommitStatus < ActiveRecord::Base validates :name, presence: true alias_attribute :author, :user - - scope :latest, -> do - max_id = unscope(:select).select("max(#{quoted_table_name}.id)") - - where(id: max_id.group(:name, :commit_id)) - end - + scope :failed_but_allowed, -> do where(allow_failure: true, status: [:failed, :canceled]) end @@ -37,7 +31,8 @@ class CommitStatus < ActiveRecord::Base false, all_state_names - [:failed, :canceled, :manual]) end - scope :retried, -> { where.not(id: latest) } + scope :latest, -> { where(retried: [false, nil]) } + scope :retried, -> { where(retried: true) } scope :ordered, -> { order(:name) } scope :latest_ordered, -> { latest.ordered.includes(project: :namespace) } scope :retried_ordered, -> { retried.ordered.includes(project: :namespace) } diff --git a/app/services/ci/process_pipeline_service.rb b/app/services/ci/process_pipeline_service.rb index 33edcd60944..647836de384 100644 --- a/app/services/ci/process_pipeline_service.rb +++ b/app/services/ci/process_pipeline_service.rb @@ -5,6 +5,8 @@ module Ci def execute(pipeline) @pipeline = pipeline + update_retried + new_builds = stage_indexes_of_created_builds.map do |index| process_stage(index) @@ -71,5 +73,23 @@ module Ci def created_builds pipeline.builds.created end + + # This method is for compatibility and data consistency and should be removed with 9.3 version of GitLab + # This replicates what is db/post_migrate/20170416103934_upate_retried_for_ci_build.rb + # and ensures that functionality will not be broken before migration is run + # this updates only when there are data that needs to be updated, there are two groups with no retried flag + def update_retried + # find the latest builds for each name + latest_statuses = pipeline.statuses.latest + .group(:name) + .having('count(*) > 1') + .pluck('max(id)', 'name') + + # mark builds that are retried + pipeline.statuses.latest + .where(name: latest_statuses.map(&:second)) + .where.not(id: latest_statuses.map(&:first)) + .update_all(retried: true) if latest_statuses.any? + end end end diff --git a/app/services/ci/retry_build_service.rb b/app/services/ci/retry_build_service.rb index 89da05b72bb..f51e9fd1d54 100644 --- a/app/services/ci/retry_build_service.rb +++ b/app/services/ci/retry_build_service.rb @@ -6,7 +6,7 @@ module Ci description tag_list].freeze def execute(build) - reprocess(build).tap do |new_build| + reprocess!(build).tap do |new_build| build.pipeline.mark_as_processable_after_stage(build.stage_idx) new_build.enqueue! @@ -17,7 +17,7 @@ module Ci end end - def reprocess(build) + def reprocess!(build) unless can?(current_user, :update_build, build) raise Gitlab::Access::AccessDeniedError end @@ -28,7 +28,14 @@ module Ci attributes.push([:user, current_user]) - project.builds.create(Hash[attributes]) + Ci::Build.transaction do + # mark all other builds of that name as retried + build.pipeline.builds.latest + .where(name: build.name) + .update_all(retried: true) + + project.builds.create!(Hash[attributes]) + end end end end diff --git a/app/services/ci/retry_pipeline_service.rb b/app/services/ci/retry_pipeline_service.rb index 5b207157345..c5a43869990 100644 --- a/app/services/ci/retry_pipeline_service.rb +++ b/app/services/ci/retry_pipeline_service.rb @@ -11,7 +11,7 @@ module Ci next unless can?(current_user, :update_build, build) Ci::RetryBuildService.new(project, current_user) - .reprocess(build) + .reprocess!(build) end pipeline.builds.latest.skipped.find_each do |skipped| diff --git a/changelogs/unreleased/store-retried-in-database-for-ci-builds.yml b/changelogs/unreleased/store-retried-in-database-for-ci-builds.yml new file mode 100644 index 00000000000..9185113f51c --- /dev/null +++ b/changelogs/unreleased/store-retried-in-database-for-ci-builds.yml @@ -0,0 +1,4 @@ +--- +title: Store retried in database for CI Builds +merge_request: +author: diff --git a/db/migrate/20170503004426_add_retried_to_ci_build.rb b/db/migrate/20170503004426_add_retried_to_ci_build.rb new file mode 100644 index 00000000000..2851e3de473 --- /dev/null +++ b/db/migrate/20170503004426_add_retried_to_ci_build.rb @@ -0,0 +1,9 @@ +class AddRetriedToCiBuild < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + add_column(:ci_builds, :retried, :boolean) + end +end diff --git a/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb b/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb new file mode 100644 index 00000000000..80215d662e4 --- /dev/null +++ b/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb @@ -0,0 +1,29 @@ +class UpateRetriedForCiBuild < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + disable_statement_timeout + + latest_id = <<-SQL.strip_heredoc + SELECT MAX(ci_builds2.id) + FROM ci_builds ci_builds2 + WHERE ci_builds.commit_id=ci_builds2.commit_id + AND ci_builds.name=ci_builds2.name + SQL + + # This is slow update as it does single-row query + # This is designed to be run as idle, or a post deployment migration + is_retried = Arel.sql("((#{latest_id}) != ci_builds.id)") + + update_column_in_batches(:ci_builds, :retried, is_retried) do |table, query| + query.where(table[:retried].eq(nil)) + end + end + + def down + end +end diff --git a/db/schema.rb b/db/schema.rb index 722e776c27d..aa76017d759 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -232,6 +232,7 @@ ActiveRecord::Schema.define(version: 20170506185517) do t.integer "lock_version" t.string "coverage_regex" t.integer "auto_canceled_by_id" + t.boolean "retried" end add_index "ci_builds", ["commit_id", "stage_idx", "created_at"], name: "index_ci_builds_on_commit_id_and_stage_idx_and_created_at", using: :btree diff --git a/spec/lib/gitlab/import_export/safe_model_attributes.yml b/spec/lib/gitlab/import_export/safe_model_attributes.yml index 3af2a172e6d..29a9ad453fb 100644 --- a/spec/lib/gitlab/import_export/safe_model_attributes.yml +++ b/spec/lib/gitlab/import_export/safe_model_attributes.yml @@ -230,6 +230,7 @@ CommitStatus: - lock_version - coverage_regex - auto_canceled_by_id +- retried Ci::Variable: - id - project_id diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb index 208c8cb1c3d..72c8dccb185 100644 --- a/spec/models/ci/pipeline_spec.rb +++ b/spec/models/ci/pipeline_spec.rb @@ -60,8 +60,8 @@ describe Ci::Pipeline, models: true do subject { pipeline.retried } before do - @build1 = FactoryGirl.create :ci_build, pipeline: pipeline, name: 'deploy' - @build2 = FactoryGirl.create :ci_build, pipeline: pipeline, name: 'deploy' + @build1 = create(:ci_build, pipeline: pipeline, name: 'deploy', retried: true) + @build2 = create(:ci_build, pipeline: pipeline, name: 'deploy') end it 'returns old builds' do @@ -70,31 +70,31 @@ describe Ci::Pipeline, models: true do end describe "coverage" do - let(:project) { FactoryGirl.create :empty_project, build_coverage_regex: "/.*/" } - let(:pipeline) { FactoryGirl.create :ci_empty_pipeline, project: project } + let(:project) { create(:empty_project, build_coverage_regex: "/.*/") } + let(:pipeline) { create(:ci_empty_pipeline, project: project) } it "calculates average when there are two builds with coverage" do - FactoryGirl.create :ci_build, name: "rspec", coverage: 30, pipeline: pipeline - FactoryGirl.create :ci_build, name: "rubocop", coverage: 40, pipeline: pipeline + create(:ci_build, name: "rspec", coverage: 30, pipeline: pipeline) + create(:ci_build, name: "rubocop", coverage: 40, pipeline: pipeline) expect(pipeline.coverage).to eq("35.00") end it "calculates average when there are two builds with coverage and one with nil" do - FactoryGirl.create :ci_build, name: "rspec", coverage: 30, pipeline: pipeline - FactoryGirl.create :ci_build, name: "rubocop", coverage: 40, pipeline: pipeline - FactoryGirl.create :ci_build, pipeline: pipeline + create(:ci_build, name: "rspec", coverage: 30, pipeline: pipeline) + create(:ci_build, name: "rubocop", coverage: 40, pipeline: pipeline) + create(:ci_build, pipeline: pipeline) expect(pipeline.coverage).to eq("35.00") end it "calculates average when there are two builds with coverage and one is retried" do - FactoryGirl.create :ci_build, name: "rspec", coverage: 30, pipeline: pipeline - FactoryGirl.create :ci_build, name: "rubocop", coverage: 30, pipeline: pipeline - FactoryGirl.create :ci_build, name: "rubocop", coverage: 40, pipeline: pipeline + create(:ci_build, name: "rspec", coverage: 30, pipeline: pipeline) + create(:ci_build, name: "rubocop", coverage: 30, pipeline: pipeline, retried: true) + create(:ci_build, name: "rubocop", coverage: 40, pipeline: pipeline) expect(pipeline.coverage).to eq("35.00") end it "calculates average when there is one build without coverage" do - FactoryGirl.create :ci_build, pipeline: pipeline + FactoryGirl.create(:ci_build, pipeline: pipeline) expect(pipeline.coverage).to be_nil end end @@ -222,13 +222,15 @@ describe Ci::Pipeline, models: true do %w(deploy running)]) end - context 'when commit status is retried' do + context 'when commit status is retried' do before do create(:commit_status, pipeline: pipeline, stage: 'build', name: 'mac', stage_idx: 0, status: 'success') + + pipeline.process! end it 'ignores the previous state' do @@ -489,6 +491,10 @@ describe Ci::Pipeline, models: true do context 'there are multiple of the same name' do let!(:manual2) { create(:ci_build, :manual, pipeline: pipeline, name: 'deploy') } + before do + manual.update(retried: true) + end + it 'returns latest one' do is_expected.to contain_exactly(manual2) end diff --git a/spec/models/ci/stage_spec.rb b/spec/models/ci/stage_spec.rb index 372b662fab2..8f6ab908987 100644 --- a/spec/models/ci/stage_spec.rb +++ b/spec/models/ci/stage_spec.rb @@ -102,6 +102,10 @@ describe Ci::Stage, models: true do context 'and builds are retried' do let!(:new_build) { create_job(:ci_build, status: :success) } + before do + stage_build.update(retried: true) + end + it "returns status of latest build" do is_expected.to eq('success') end diff --git a/spec/models/commit_status_spec.rb b/spec/models/commit_status_spec.rb index 0ee85489574..6947affcc1e 100644 --- a/spec/models/commit_status_spec.rb +++ b/spec/models/commit_status_spec.rb @@ -157,9 +157,9 @@ describe CommitStatus, :models do subject { described_class.latest.order(:id) } let(:statuses) do - [create_status(name: 'aa', ref: 'bb', status: 'running'), - create_status(name: 'cc', ref: 'cc', status: 'pending'), - create_status(name: 'aa', ref: 'cc', status: 'success'), + [create_status(name: 'aa', ref: 'bb', status: 'running', retried: true), + create_status(name: 'cc', ref: 'cc', status: 'pending', retried: true), + create_status(name: 'aa', ref: 'cc', status: 'success', retried: true), create_status(name: 'cc', ref: 'bb', status: 'success'), create_status(name: 'aa', ref: 'bb', status: 'success')] end @@ -169,6 +169,22 @@ describe CommitStatus, :models do end end + describe '.retried' do + subject { described_class.retried.order(:id) } + + let(:statuses) do + [create_status(name: 'aa', ref: 'bb', status: 'running', retried: true), + create_status(name: 'cc', ref: 'cc', status: 'pending', retried: true), + create_status(name: 'aa', ref: 'cc', status: 'success', retried: true), + create_status(name: 'cc', ref: 'bb', status: 'success'), + create_status(name: 'aa', ref: 'bb', status: 'success')] + end + + it 'returns unique statuses' do + is_expected.to contain_exactly(*statuses.values_at(0, 1, 2)) + end + end + describe '.running_or_pending' do subject { described_class.running_or_pending.order(:id) } @@ -181,7 +197,7 @@ describe CommitStatus, :models do end it 'returns statuses that are running or pending' do - is_expected.to eq(statuses.values_at(0, 1)) + is_expected.to contain_exactly(*statuses.values_at(0, 1)) end end diff --git a/spec/requests/api/commit_statuses_spec.rb b/spec/requests/api/commit_statuses_spec.rb index 1233cdc64c4..1c163cee152 100644 --- a/spec/requests/api/commit_statuses_spec.rb +++ b/spec/requests/api/commit_statuses_spec.rb @@ -26,8 +26,8 @@ describe API::CommitStatuses do create(:commit_status, { pipeline: commit, ref: commit.ref }.merge(opts)) end - let!(:status1) { create_status(master, status: 'running') } - let!(:status2) { create_status(master, name: 'coverage', status: 'pending') } + let!(:status1) { create_status(master, status: 'running', retried: true) } + let!(:status2) { create_status(master, name: 'coverage', status: 'pending', retried: true) } let!(:status3) { create_status(develop, status: 'running', allow_failure: true) } let!(:status4) { create_status(master, name: 'coverage', status: 'success') } let!(:status5) { create_status(develop, name: 'coverage', status: 'success') } diff --git a/spec/services/ci/process_pipeline_service_spec.rb b/spec/services/ci/process_pipeline_service_spec.rb index cf773866a6f..f1e1e1b6067 100644 --- a/spec/services/ci/process_pipeline_service_spec.rb +++ b/spec/services/ci/process_pipeline_service_spec.rb @@ -425,6 +425,21 @@ describe Ci::ProcessPipelineService, '#execute', :services do end end + context 'updates a list of retried builds' do + subject { described_class.retried.order(:id) } + + let!(:build_retried) { create_build('build') } + let!(:build) { create_build('build') } + let!(:test) { create_build('test') } + + it 'returns unique statuses' do + process_pipeline + + expect(all_builds.latest).to contain_exactly(build, test) + expect(all_builds.retried).to contain_exactly(build_retried) + end + end + def process_pipeline described_class.new(pipeline.project, user).execute(pipeline) end diff --git a/spec/services/ci/retry_build_service_spec.rb b/spec/services/ci/retry_build_service_spec.rb index b2d37657770..7254e6b357a 100644 --- a/spec/services/ci/retry_build_service_spec.rb +++ b/spec/services/ci/retry_build_service_spec.rb @@ -22,7 +22,7 @@ describe Ci::RetryBuildService, :services do %i[type lock_version target_url base_tags commit_id deployments erased_by_id last_deployment project_id runner_id tag_taggings taggings tags trigger_request_id - user_id auto_canceled_by_id].freeze + user_id auto_canceled_by_id retried].freeze shared_examples 'build duplication' do let(:build) do @@ -115,7 +115,7 @@ describe Ci::RetryBuildService, :services do end describe '#reprocess' do - let(:new_build) { service.reprocess(build) } + let(:new_build) { service.reprocess!(build) } context 'when user has ability to execute build' do before do @@ -131,11 +131,16 @@ describe Ci::RetryBuildService, :services do it 'does not enqueue the new build' do expect(new_build).to be_created end + + it 'does mark old build as retried' do + expect(new_build).to be_latest + expect(build.reload).to be_retried + end end context 'when user does not have ability to execute build' do it 'raises an error' do - expect { service.reprocess(build) } + expect { service.reprocess!(build) } .to raise_error Gitlab::Access::AccessDeniedError end end diff --git a/spec/services/ci/retry_pipeline_service_spec.rb b/spec/services/ci/retry_pipeline_service_spec.rb index 40e151545c9..d941d56c0d8 100644 --- a/spec/services/ci/retry_pipeline_service_spec.rb +++ b/spec/services/ci/retry_pipeline_service_spec.rb @@ -13,7 +13,7 @@ describe Ci::RetryPipelineService, '#execute', :services do context 'when there are already retried jobs present' do before do - create_build('rspec', :canceled, 0) + create_build('rspec', :canceled, 0, retried: true) create_build('rspec', :failed, 0) end diff --git a/spec/views/projects/pipelines/_stage.html.haml_spec.rb b/spec/views/projects/pipelines/_stage.html.haml_spec.rb index 10095ad7694..9c91c4e0fbd 100644 --- a/spec/views/projects/pipelines/_stage.html.haml_spec.rb +++ b/spec/views/projects/pipelines/_stage.html.haml_spec.rb @@ -39,9 +39,8 @@ describe 'projects/pipelines/_stage', :view do context 'when there are retried builds present' do before do - create_list(:ci_build, 2, name: 'test:build', - stage: stage.name, - pipeline: pipeline) + create(:ci_build, name: 'test:build', stage: stage.name, pipeline: pipeline, retried: true) + create(:ci_build, name: 'test:build', stage: stage.name, pipeline: pipeline) end it 'shows only latest builds' do -- GitLab From 6d81a38294b44aee378814aee7fbf2bd0386c888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Wed, 10 May 2017 22:00:52 +0000 Subject: [PATCH 023/249] Merge branch 'enforce-current-user-usage-on-entities' into 'master' Make all Serializers receive `current_user` instead `user` [CE] See merge request !11254 --- app/controllers/projects/deployments_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/projects/deployments_controller.rb b/app/controllers/projects/deployments_controller.rb index b33c0b00ad9..f06a4d943f3 100644 --- a/app/controllers/projects/deployments_controller.rb +++ b/app/controllers/projects/deployments_controller.rb @@ -6,7 +6,7 @@ class Projects::DeploymentsController < Projects::ApplicationController deployments = environment.deployments.reorder(created_at: :desc) deployments = deployments.where('created_at > ?', params[:after].to_time) if params[:after]&.to_time - render json: { deployments: DeploymentSerializer.new(user: @current_user, project: project) + render json: { deployments: DeploymentSerializer.new(project: project) .represent_concise(deployments) } end -- GitLab From c3fa0b6216b013ec816198a91ae8ac0fa1abeaec Mon Sep 17 00:00:00 2001 From: Clement Ho <clemmakesapps@gmail.com> Date: Wed, 10 May 2017 04:24:59 +0000 Subject: [PATCH 024/249] Merge branch '32030-transient-failure-in-spec-features-boards-boards_spec-rb' into 'master' Fix transient job failures relating to "unhandled Promise rejection" in issue boards Closes #32030 See merge request !11222 --- .../javascripts/boards/components/board.js | 5 +++- .../boards/components/board_blank_state.js | 5 +++- .../boards/components/board_list.js | 5 +++- .../boards/components/modal/index.js | 2 ++ app/assets/javascripts/boards/models/list.js | 24 +++++++++++++++---- 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/boards/components/board.js b/app/assets/javascripts/boards/components/board.js index 239eeacf2d7..0d23bdeeb99 100644 --- a/app/assets/javascripts/boards/components/board.js +++ b/app/assets/javascripts/boards/components/board.js @@ -35,7 +35,10 @@ gl.issueBoards.Board = Vue.extend({ filter: { handler() { this.list.page = 1; - this.list.getIssues(true); + this.list.getIssues(true) + .catch(() => { + // TODO: handle request error + }); }, deep: true, }, diff --git a/app/assets/javascripts/boards/components/board_blank_state.js b/app/assets/javascripts/boards/components/board_blank_state.js index 3fc68457961..870e115bd1a 100644 --- a/app/assets/javascripts/boards/components/board_blank_state.js +++ b/app/assets/javascripts/boards/components/board_blank_state.js @@ -70,7 +70,10 @@ export default { list.id = listObj.id; list.label.id = listObj.label.id; - list.getIssues(); + list.getIssues() + .catch(() => { + // TODO: handle request error + }); }); }) .catch(() => { diff --git a/app/assets/javascripts/boards/components/board_list.js b/app/assets/javascripts/boards/components/board_list.js index b13386536bf..49a775002c3 100644 --- a/app/assets/javascripts/boards/components/board_list.js +++ b/app/assets/javascripts/boards/components/board_list.js @@ -90,7 +90,10 @@ export default { if (this.scrollHeight() <= this.listHeight() && this.list.issuesSize > this.list.issues.length) { this.list.page += 1; - this.list.getIssues(false); + this.list.getIssues(false) + .catch(() => { + // TODO: handle request error + }); } if (this.scrollHeight() > Math.ceil(this.listHeight())) { diff --git a/app/assets/javascripts/boards/components/modal/index.js b/app/assets/javascripts/boards/components/modal/index.js index fdab317dc23..a61cc7954a1 100644 --- a/app/assets/javascripts/boards/components/modal/index.js +++ b/app/assets/javascripts/boards/components/modal/index.js @@ -108,6 +108,8 @@ gl.issueBoards.IssuesModal = Vue.extend({ if (!this.issuesCount) { this.issuesCount = data.size; } + }).catch(() => { + // TODO: handle request error }); }, }, diff --git a/app/assets/javascripts/boards/models/list.js b/app/assets/javascripts/boards/models/list.js index bd2f62bcc1a..90561d0f7a8 100644 --- a/app/assets/javascripts/boards/models/list.js +++ b/app/assets/javascripts/boards/models/list.js @@ -25,7 +25,9 @@ class List { } if (this.type !== 'blank' && this.id) { - this.getIssues(); + this.getIssues().catch(() => { + // TODO: handle request error + }); } } @@ -52,11 +54,17 @@ class List { gl.issueBoards.BoardsStore.state.lists.splice(index, 1); gl.issueBoards.BoardsStore.updateNewListDropdown(this.id); - gl.boardService.destroyList(this.id); + gl.boardService.destroyList(this.id) + .catch(() => { + // TODO: handle request error + }); } update () { - gl.boardService.updateList(this.id, this.position); + gl.boardService.updateList(this.id, this.position) + .catch(() => { + // TODO: handle request error + }); } nextPage () { @@ -146,11 +154,17 @@ class List { this.issues.splice(oldIndex, 1); this.issues.splice(newIndex, 0, issue); - gl.boardService.moveIssue(issue.id, null, null, moveBeforeIid, moveAfterIid); + gl.boardService.moveIssue(issue.id, null, null, moveBeforeIid, moveAfterIid) + .catch(() => { + // TODO: handle request error + }); } updateIssueLabel(issue, listFrom, moveBeforeIid, moveAfterIid) { - gl.boardService.moveIssue(issue.id, listFrom.id, this.id, moveBeforeIid, moveAfterIid); + gl.boardService.moveIssue(issue.id, listFrom.id, this.id, moveBeforeIid, moveAfterIid) + .catch(() => { + // TODO: handle request error + }); } findIssue (id) { -- GitLab From 14da1aa563890d076d8a6a4944cee4e7bae096d8 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Thu, 11 May 2017 22:19:23 -0600 Subject: [PATCH 025/249] Update VERSION to 9.2.0-rc1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5c906509f70..b49dff5ea2a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-pre +9.2.0-rc1 -- GitLab From a2b7252c337065db564993b72a269924608f0ee2 Mon Sep 17 00:00:00 2001 From: Stan Hu <stanhu@gmail.com> Date: Fri, 12 May 2017 13:58:09 +0000 Subject: [PATCH 026/249] Merge branch 'sh-fix-failing-rc1-backup-spec' into 'master' Fix failing backup filename spec for RCs See merge request !11318 --- spec/tasks/gitlab/backup_rake_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb index df2f2ce95e6..aee926877e0 100644 --- a/spec/tasks/gitlab/backup_rake_spec.rb +++ b/spec/tasks/gitlab/backup_rake_spec.rb @@ -352,7 +352,7 @@ describe 'gitlab:app namespace rake task' do end it 'name has human readable time' do - expect(@backup_tar).to match(/\d+_\d{4}_\d{2}_\d{2}_\d+\.\d+\.\d+(-pre)?_gitlab_backup.tar$/) + expect(@backup_tar).to match(/\d+_\d{4}_\d{2}_\d{2}_\d+\.\d+\.\d+(-pre|-rc\d+)?_gitlab_backup.tar$/) end end end # gitlab:app namespace -- GitLab From c3160175906b49bd805be55411361ccfe897220f Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Fri, 12 May 2017 17:00:38 +0000 Subject: [PATCH 027/249] Merge branch 'bvl-fix-dynamic-path-query' into 'master' Only rename namespaces and projects with an invalid path See merge request !11338 --- .../v1/rename_base.rb | 2 +- .../v1/rename_namespaces_spec.rb | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb b/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb index de4e6e7c404..5397877b5d5 100644 --- a/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb +++ b/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb @@ -15,7 +15,7 @@ module Gitlab end def path_patterns - @path_patterns ||= paths.map { |path| "%#{path}" } + @path_patterns ||= paths.flat_map { |path| ["%/#{path}", path] } end def rename_path_for_routable(routable) diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb index a25c5da488a..ec444942804 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb @@ -23,6 +23,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do found_ids = subject.namespaces_for_paths(type: :child). map(&:id) + expect(found_ids).to contain_exactly(child.id) end end @@ -39,6 +40,22 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do found_ids = subject.namespaces_for_paths(type: :child). map(&:id) + + expect(found_ids).to contain_exactly(namespace.id) + end + + it 'has no namespaces that look the same' do + _root_namespace = create(:namespace, path: 'THE-path') + _similar_path = create(:namespace, + path: 'not-really-the-path', + parent: create(:namespace)) + namespace = create(:namespace, + path: 'the-path', + parent: create(:namespace)) + + found_ids = subject.namespaces_for_paths(type: :child). + map(&:id) + expect(found_ids).to contain_exactly(namespace.id) end end @@ -53,6 +70,20 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do found_ids = subject.namespaces_for_paths(type: :top_level). map(&:id) + + expect(found_ids).to contain_exactly(root_namespace.id) + end + + it 'has no namespaces that just look the same' do + root_namespace = create(:namespace, path: 'the-path') + _similar_path = create(:namespace, path: 'not-really-the-path') + _child_namespace = create(:namespace, + path: 'the-path', + parent: create(:namespace)) + + found_ids = subject.namespaces_for_paths(type: :top_level). + map(&:id) + expect(found_ids).to contain_exactly(root_namespace.id) end end -- GitLab From fb1211fe8a88590f319b9627c7e143e56ccbae0b Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Thu, 11 May 2017 20:44:29 +0000 Subject: [PATCH 028/249] Merge branch 'fix-remove-cache-key-karma' into 'master' Remove unnecessary cache definition in rake karma test Closes #32119 See merge request !11306 --- .gitlab-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 588f255eff8..4ff6663c130 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -417,9 +417,6 @@ rake gitlab:assets:compile: - webpack-report/ rake karma: - cache: - paths: - - vendor/ruby stage: test <<: *use-pg <<: *dedicated-runner -- GitLab From a72ad95e22f607cc28d71b636bb43c6a300231c7 Mon Sep 17 00:00:00 2001 From: Stan Hu <stanhu@gmail.com> Date: Fri, 12 May 2017 21:32:37 +0000 Subject: [PATCH 029/249] Merge branch 'sh-relax-backup-rake-spec' into 'master' Relax rake backup regex to handle CE and EE RCs See merge request !11345 --- spec/tasks/gitlab/backup_rake_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb index aee926877e0..4def113dd77 100644 --- a/spec/tasks/gitlab/backup_rake_spec.rb +++ b/spec/tasks/gitlab/backup_rake_spec.rb @@ -352,7 +352,7 @@ describe 'gitlab:app namespace rake task' do end it 'name has human readable time' do - expect(@backup_tar).to match(/\d+_\d{4}_\d{2}_\d{2}_\d+\.\d+\.\d+(-pre|-rc\d+)?_gitlab_backup.tar$/) + expect(@backup_tar).to match(/\d+_\d{4}_\d{2}_\d{2}_\d+\.\d+\.\d+.*_gitlab_backup.tar$/) end end end # gitlab:app namespace -- GitLab From 7c54b4be57943a3cb201d7d31fbb331d01a6a782 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Fri, 12 May 2017 17:18:20 -0600 Subject: [PATCH 030/249] Update VERSION to 9.2.0-rc2 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b49dff5ea2a..935e79b48aa 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-rc1 +9.2.0-rc2 -- GitLab From 5e69a4b977549dd09c10e7b2e0f9647e15628516 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Tue, 16 May 2017 22:16:12 +0000 Subject: [PATCH 031/249] Merge branch 'fix_assignee_yourick_approach' into 'master' Improve migration for Multipple issue assignee feature See merge request !11417 --- .../members/authorized_destroy_service.rb | 4 +- ...0320171632_create_issue_assignees_table.rb | 40 --------- .../20170320173259_migrate_assignees.rb | 8 -- ...3305_migrate_assignee_to_separate_table.rb | 83 +++++++++++++++++++ ...16183131_add_indices_to_issue_assignees.rb | 41 +++++++++ ...170516165238_cleanup_trigger_for_issues.rb | 39 +++++++++ ...dd_constraints_to_issue_assignees_table.rb | 37 +++++++++ db/schema.rb | 10 +-- 8 files changed, 207 insertions(+), 55 deletions(-) delete mode 100644 db/migrate/20170320171632_create_issue_assignees_table.rb create mode 100644 db/migrate/20170516153305_migrate_assignee_to_separate_table.rb create mode 100644 db/migrate/20170516183131_add_indices_to_issue_assignees.rb create mode 100644 db/post_migrate/20170516165238_cleanup_trigger_for_issues.rb create mode 100644 db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb diff --git a/app/services/members/authorized_destroy_service.rb b/app/services/members/authorized_destroy_service.rb index a85b9465c84..cd16ab7e52f 100644 --- a/app/services/members/authorized_destroy_service.rb +++ b/app/services/members/authorized_destroy_service.rb @@ -29,7 +29,7 @@ module Members issue_ids = IssuesFinder.new(user, group_id: member.source_id, assignee_id: member.user_id). execute.pluck(:id) - IssueAssignee.destroy_all(issue_id: issue_ids, user_id: member.user_id) + IssueAssignee.delete_all(issue_id: issue_ids, user_id: member.user_id) MergeRequestsFinder.new(user, group_id: member.source_id, assignee_id: member.user_id). execute. @@ -37,7 +37,7 @@ module Members else project = member.source - IssueAssignee.destroy_all( + IssueAssignee.delete_all( user_id: member.user_id, issue_id: project.issues.opened.assigned_to(member.user).select(:id) ) diff --git a/db/migrate/20170320171632_create_issue_assignees_table.rb b/db/migrate/20170320171632_create_issue_assignees_table.rb deleted file mode 100644 index 23b8da37b6d..00000000000 --- a/db/migrate/20170320171632_create_issue_assignees_table.rb +++ /dev/null @@ -1,40 +0,0 @@ -# See http://doc.gitlab.com/ce/development/migration_style_guide.html -# for more information on how to write migrations for GitLab. - -class CreateIssueAssigneesTable < ActiveRecord::Migration - include Gitlab::Database::MigrationHelpers - - INDEX_NAME = 'index_issue_assignees_on_issue_id_and_user_id' - - # Set this constant to true if this migration requires downtime. - DOWNTIME = false - - # When a migration requires downtime you **must** uncomment the following - # constant and define a short and easy to understand explanation as to why the - # migration requires downtime. - # DOWNTIME_REASON = '' - - # When using the methods "add_concurrent_index" or "add_column_with_default" - # you must disable the use of transactions as these methods can not run in an - # existing transaction. When using "add_concurrent_index" make sure that this - # method is the _only_ method called in the migration, any other changes - # should go in a separate migration. This ensures that upon failure _only_ the - # index creation fails and can be retried or reverted easily. - # - # To disable transactions uncomment the following line and remove these - # comments: - # disable_ddl_transaction! - - def up - create_table :issue_assignees do |t| - t.references :user, foreign_key: { on_delete: :cascade }, index: true, null: false - t.references :issue, foreign_key: { on_delete: :cascade }, null: false - end - - add_index :issue_assignees, [:issue_id, :user_id], unique: true, name: INDEX_NAME - end - - def down - drop_table :issue_assignees - end -end diff --git a/db/migrate/20170320173259_migrate_assignees.rb b/db/migrate/20170320173259_migrate_assignees.rb index ba8edbd7d32..23e7500a32d 100644 --- a/db/migrate/20170320173259_migrate_assignees.rb +++ b/db/migrate/20170320173259_migrate_assignees.rb @@ -37,16 +37,8 @@ class MigrateAssignees < ActiveRecord::Migration users.project("true").where(users[:id].eq(table[:assignee_id])).exists.not )) end - - execute <<-EOF - INSERT INTO issue_assignees(issue_id, user_id) - SELECT id, assignee_id FROM issues WHERE assignee_id IS NOT NULL - EOF end def down - execute <<-EOF - DELETE FROM issue_assignees - EOF end end diff --git a/db/migrate/20170516153305_migrate_assignee_to_separate_table.rb b/db/migrate/20170516153305_migrate_assignee_to_separate_table.rb new file mode 100644 index 00000000000..f269ca7fc34 --- /dev/null +++ b/db/migrate/20170516153305_migrate_assignee_to_separate_table.rb @@ -0,0 +1,83 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class MigrateAssigneeToSeparateTable < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + # When a migration requires downtime you **must** uncomment the following + # constant and define a short and easy to understand explanation as to why the + # migration requires downtime. + # DOWNTIME_REASON = '' + + # When using the methods "add_concurrent_index", "remove_concurrent_index" or + # "add_column_with_default" you must disable the use of transactions + # as these methods can not run in an existing transaction. + # When using "add_concurrent_index" or "remove_concurrent_index" methods make sure + # that either of them is the _only_ method called in the migration, + # any other changes should go in a separate migration. + # This ensures that upon failure _only_ the index creation or removing fails + # and can be retried or reverted easily. + # + # To disable transactions uncomment the following line and remove these + # comments: + # disable_ddl_transaction! + + def up + drop_table(:issue_assignees) if table_exists?(:issue_assignees) + + if Gitlab::Database.mysql? + execute <<-EOF + CREATE TABLE issue_assignees AS + SELECT assignee_id AS user_id, id AS issue_id FROM issues WHERE assignee_id IS NOT NULL + EOF + else + ActiveRecord::Base.transaction do + execute('LOCK TABLE issues IN EXCLUSIVE MODE') + + execute <<-EOF + CREATE TABLE issue_assignees AS + SELECT assignee_id AS user_id, id AS issue_id FROM issues WHERE assignee_id IS NOT NULL + EOF + + execute <<-EOF + CREATE OR REPLACE FUNCTION replicate_assignee_id() + RETURNS trigger AS + $BODY$ + BEGIN + if OLD.assignee_id IS NOT NULL THEN + DELETE FROM issue_assignees WHERE issue_id = OLD.id; + END IF; + + if NEW.assignee_id IS NOT NULL THEN + INSERT INTO issue_assignees (user_id, issue_id) VALUES (NEW.assignee_id, NEW.id); + END IF; + + RETURN NEW; + END; + $BODY$ + LANGUAGE 'plpgsql' + VOLATILE; + + CREATE TRIGGER replicate_assignee_id + BEFORE INSERT OR UPDATE OF assignee_id + ON issues + FOR EACH ROW EXECUTE PROCEDURE replicate_assignee_id(); + EOF + end + end + end + + def down + drop_table(:issue_assignees) if table_exists?(:issue_assignees) + + if Gitlab::Database.postgresql? + execute <<-EOF + DROP TRIGGER IF EXISTS replicate_assignee_id ON issues; + DROP FUNCTION IF EXISTS replicate_assignee_id(); + EOF + end + end +end diff --git a/db/migrate/20170516183131_add_indices_to_issue_assignees.rb b/db/migrate/20170516183131_add_indices_to_issue_assignees.rb new file mode 100644 index 00000000000..a1f064c6848 --- /dev/null +++ b/db/migrate/20170516183131_add_indices_to_issue_assignees.rb @@ -0,0 +1,41 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class AddIndicesToIssueAssignees < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + # When a migration requires downtime you **must** uncomment the following + # constant and define a short and easy to understand explanation as to why the + # migration requires downtime. + # DOWNTIME_REASON = '' + + # When using the methods "add_concurrent_index", "remove_concurrent_index" or + # "add_column_with_default" you must disable the use of transactions + # as these methods can not run in an existing transaction. + # When using "add_concurrent_index" or "remove_concurrent_index" methods make sure + # that either of them is the _only_ method called in the migration, + # any other changes should go in a separate migration. + # This ensures that upon failure _only_ the index creation or removing fails + # and can be retried or reverted easily. + # + # To disable transactions uncomment the following line and remove these + # comments: + disable_ddl_transaction! + + def up + add_concurrent_index :issue_assignees, [:issue_id, :user_id], unique: true, name: 'index_issue_assignees_on_issue_id_and_user_id' + add_concurrent_index :issue_assignees, :user_id, name: 'index_issue_assignees_on_user_id' + add_concurrent_foreign_key :issue_assignees, :users, column: :user_id, on_delete: :cascade + add_concurrent_foreign_key :issue_assignees, :issues, column: :issue_id, on_delete: :cascade + end + + def down + remove_foreign_key :issue_assignees, column: :user_id + remove_foreign_key :issue_assignees, column: :issue_id + remove_concurrent_index :issue_assignees, [:issue_id, :user_id] if index_exists?(:issue_assignees, [:issue_id, :user_id]) + remove_concurrent_index :issue_assignees, :user_id if index_exists?(:issue_assignees, :user_id) + end +end diff --git a/db/post_migrate/20170516165238_cleanup_trigger_for_issues.rb b/db/post_migrate/20170516165238_cleanup_trigger_for_issues.rb new file mode 100644 index 00000000000..378fe5603c3 --- /dev/null +++ b/db/post_migrate/20170516165238_cleanup_trigger_for_issues.rb @@ -0,0 +1,39 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class CleanupTriggerForIssues < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + # When a migration requires downtime you **must** uncomment the following + # constant and define a short and easy to understand explanation as to why the + # migration requires downtime. + # DOWNTIME_REASON = '' + + # When using the methods "add_concurrent_index", "remove_concurrent_index" or + # "add_column_with_default" you must disable the use of transactions + # as these methods can not run in an existing transaction. + # When using "add_concurrent_index" or "remove_concurrent_index" methods make sure + # that either of them is the _only_ method called in the migration, + # any other changes should go in a separate migration. + # This ensures that upon failure _only_ the index creation or removing fails + # and can be retried or reverted easily. + # + # To disable transactions uncomment the following line and remove these + # comments: + disable_ddl_transaction! + + def up + if Gitlab::Database.postgresql? + execute <<-EOF + DROP TRIGGER IF EXISTS replicate_assignee_id ON issues; + DROP FUNCTION IF EXISTS replicate_assignee_id(); + EOF + end + end + + def down + end +end diff --git a/db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb b/db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb new file mode 100644 index 00000000000..2aab1f4d14f --- /dev/null +++ b/db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb @@ -0,0 +1,37 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class AddConstraintsToIssueAssigneesTable < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + # When a migration requires downtime you **must** uncomment the following + # constant and define a short and easy to understand explanation as to why the + # migration requires downtime. + # DOWNTIME_REASON = '' + + # When using the methods "add_concurrent_index", "remove_concurrent_index" or + # "add_column_with_default" you must disable the use of transactions + # as these methods can not run in an existing transaction. + # When using "add_concurrent_index" or "remove_concurrent_index" methods make sure + # that either of them is the _only_ method called in the migration, + # any other changes should go in a separate migration. + # This ensures that upon failure _only_ the index creation or removing fails + # and can be retried or reverted easily. + # + # To disable transactions uncomment the following line and remove these + # comments: + # disable_ddl_transaction! + + def up + change_column :issue_assignees, :issue_id, :integer, null: false + change_column :issue_assignees, :user_id, :integer, null: false + end + + def down + change_column :issue_assignees, :issue_id, :integer + change_column :issue_assignees, :user_id, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index aa76017d759..0db78259319 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,8 +11,8 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170506185517) do - +ActiveRecord::Schema.define(version: 20170516183131) do + # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" enable_extension "pg_trgm" @@ -457,7 +457,7 @@ ActiveRecord::Schema.define(version: 20170506185517) do add_index "identities", ["user_id"], name: "index_identities_on_user_id", using: :btree - create_table "issue_assignees", force: :cascade do |t| + create_table "issue_assignees", id: false, force: :cascade do |t| t.integer "user_id", null: false t.integer "issue_id", null: false end @@ -1417,8 +1417,8 @@ ActiveRecord::Schema.define(version: 20170506185517) do add_foreign_key "ci_trigger_requests", "ci_triggers", column: "trigger_id", name: "fk_b8ec8b7245", on_delete: :cascade add_foreign_key "ci_triggers", "users", column: "owner_id", name: "fk_e8e10d1964", on_delete: :cascade add_foreign_key "container_repositories", "projects" - add_foreign_key "issue_assignees", "issues", on_delete: :cascade - add_foreign_key "issue_assignees", "users", on_delete: :cascade + add_foreign_key "issue_assignees", "issues", name: "fk_b7d881734a", on_delete: :cascade + add_foreign_key "issue_assignees", "users", name: "fk_5e0c8d9154", on_delete: :cascade add_foreign_key "issue_metrics", "issues", on_delete: :cascade add_foreign_key "label_priorities", "labels", on_delete: :cascade add_foreign_key "label_priorities", "projects", on_delete: :cascade -- GitLab From 49ed9060f7d3826a21c429684a01357d028735b5 Mon Sep 17 00:00:00 2001 From: Stan Hu <stanhu@gmail.com> Date: Wed, 17 May 2017 04:51:11 +0000 Subject: [PATCH 032/249] Merge branch 'sh-fix-delete-assignees-mysql' into 'master' Fix deletion of issue assignees for MySQL See merge request !11426 --- app/services/members/authorized_destroy_service.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/services/members/authorized_destroy_service.rb b/app/services/members/authorized_destroy_service.rb index cd16ab7e52f..1195cd2bdb9 100644 --- a/app/services/members/authorized_destroy_service.rb +++ b/app/services/members/authorized_destroy_service.rb @@ -37,10 +37,15 @@ module Members else project = member.source - IssueAssignee.delete_all( - user_id: member.user_id, - issue_id: project.issues.opened.assigned_to(member.user).select(:id) - ) + # SELECT 1 FROM issues WHERE issues.id = issue_assignees.issue_id AND issues.project_id = X + issues = Issue.unscoped.select(1). + where('issues.id = issue_assignees.issue_id'). + where(project_id: project.id) + + # DELETE FROM issue_assignees WHERE user_id = X AND EXISTS (...) + IssueAssignee.unscoped. + where('user_id = :user_id AND EXISTS (:sub)', user_id: member.user_id, sub: issues). + delete_all project.merge_requests.opened.assigned_to(member.user).update_all(assignee_id: nil) member.user.update_cache_counts -- GitLab From 436514d20909cf30ef272502f8b14d76f1dda2ac Mon Sep 17 00:00:00 2001 From: James Lopez <james@jameslopez.es> Date: Wed, 17 May 2017 14:51:09 +0200 Subject: [PATCH 033/249] Fix 9-2-stable propagate service spec --- .../projects/propagate_service_template_spec.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/spec/services/projects/propagate_service_template_spec.rb b/spec/services/projects/propagate_service_template_spec.rb index 90eff3bbc1e..8a6a9f09f74 100644 --- a/spec/services/projects/propagate_service_template_spec.rb +++ b/spec/services/projects/propagate_service_template_spec.rb @@ -71,14 +71,18 @@ describe Projects::PropagateServiceTemplate, services: true do end describe 'bulk update' do - it 'creates services for all projects' do - project_total = 5 + let(:project_total) { 5 } + + before do stub_const 'Projects::PropagateServiceTemplate::BATCH_SIZE', 3 project_total.times { create(:empty_project) } - expect { described_class.propagate(service_template) }. - to change { Service.count }.by(project_total + 1) + described_class.propagate(service_template) + end + + it 'creates services for all projects' do + expect(Service.all.reload.count).to eq(project_total + 2) end end -- GitLab From 12a58aafefab16cd447d7739f238a517fd28a3a7 Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Wed, 17 May 2017 15:27:28 +0000 Subject: [PATCH 034/249] Update VERSION to 9.2.0-rc3 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 935e79b48aa..e48b359e6e9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-rc2 +9.2.0-rc3 -- GitLab From 6dd88474bed70c2aa70c7fdf7ba6dbdc29dc8998 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" <lbennett@gitlab.com> Date: Mon, 15 May 2017 09:51:35 +0100 Subject: [PATCH 035/249] Remove unneeded media query hiding the edited timeago [ci skip] Add edited component for issue_show Added tests for issue_title_description use of edited and for edited itself Fix handling is_edited for realtime edit text Fix tests failures due to whitespace changes Update edited.vue to include required and default props --- .../issue_show/components/edited.vue | 55 ++++++++++++++++ app/assets/javascripts/issue_show/index.js | 3 +- .../issue_show/issue_title_description.vue | 27 +++++--- .../components/time_ago_tooltip.vue | 66 +++++++++++++++++++ app/assets/stylesheets/framework/mobile.scss | 5 -- app/controllers/projects/issues_controller.rb | 12 +++- app/helpers/application_helper.rb | 4 +- app/helpers/editable_helper.rb | 5 ++ app/views/projects/issues/show.html.haml | 3 +- .../issue_show/components/edited_spec.js | 49 ++++++++++++++ .../issue_title_description_spec.js | 15 ++++- spec/javascripts/issue_show/mock_data.js | 9 +++ 12 files changed, 233 insertions(+), 20 deletions(-) create mode 100644 app/assets/javascripts/issue_show/components/edited.vue create mode 100644 app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue create mode 100644 app/helpers/editable_helper.rb create mode 100644 spec/javascripts/issue_show/components/edited_spec.js diff --git a/app/assets/javascripts/issue_show/components/edited.vue b/app/assets/javascripts/issue_show/components/edited.vue new file mode 100644 index 00000000000..f5038e55c09 --- /dev/null +++ b/app/assets/javascripts/issue_show/components/edited.vue @@ -0,0 +1,55 @@ +<script> +import timeAgoTooltip from '../../vue_shared/components/time_ago_tooltip.vue'; + +export default { + props: { + updatedAt: { + type: String, + required: false, + default: '', + }, + updatedByName: { + type: String, + required: false, + default: '', + }, + updatedByPath: { + type: String, + required: false, + default: '', + }, + }, + components: { + timeAgoTooltip, + }, + computed: { + hasUpdatedBy() { + return this.updatedByName && this.updatedByPath; + }, + }, +}; +</script> + +<template> + <small + class="edited-text" + > + Edited + <time-ago-tooltip + v-if="updatedAt" + placement="bottom" + :time="updatedAt" + /> + <span + v-if="hasUpdatedBy" + > + by + <a + class="author_link" + :href="updatedByPath" + > + <span>{{updatedByName}}</span> + </a> + </span> + </small> +</template> diff --git a/app/assets/javascripts/issue_show/index.js b/app/assets/javascripts/issue_show/index.js index eb20a597bb5..6dba7b90716 100644 --- a/app/assets/javascripts/issue_show/index.js +++ b/app/assets/javascripts/issue_show/index.js @@ -4,7 +4,7 @@ import '../vue_shared/vue_resource_interceptor'; (() => { const issueTitleData = document.querySelector('.issue-title-data').dataset; - const { canUpdateTasksClass, endpoint } = issueTitleData; + const { canUpdateTasksClass, endpoint, isEdited } = issueTitleData; const vm = new Vue({ el: '.issue-title-entrypoint', @@ -12,6 +12,7 @@ import '../vue_shared/vue_resource_interceptor'; props: { canUpdateTasksClass, endpoint, + isEdited, }, }), }); diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue index dc3ba2550c5..3f77ba22d23 100644 --- a/app/assets/javascripts/issue_show/issue_title_description.vue +++ b/app/assets/javascripts/issue_show/issue_title_description.vue @@ -3,6 +3,7 @@ import Visibility from 'visibilityjs'; import Poll from './../lib/utils/poll'; import Service from './services/index'; import tasks from './actions/tasks'; +import edited from './components/edited.vue'; export default { props: { @@ -14,6 +15,11 @@ export default { required: true, type: String, }, + isEdited: { + type: Boolean, + default: false, + required: false, + }, }, data() { const resource = new Service(this.$http, this.endpoint); @@ -46,10 +52,13 @@ export default { pre: true, pulse: false, }, - timeAgoEl: $('.issue_edited_ago'), titleEl: document.querySelector('title'), + hasBeenEdited: this.isEdited, }; }, + components: { + edited, + }, methods: { updateFlag(key, toggle) { this[key].pre = toggle; @@ -57,6 +66,9 @@ export default { }, renderResponse(res) { this.apiData = res.json(); + + if (this.apiData.updated_at) this.hasBeenEdited = true; + this.triggerAnimation(); }, updateTaskHTML() { @@ -110,11 +122,6 @@ export default { this.elementsToVisualize(noTitleChange, noDescriptionChange); this.animate(title, description); }, - updateEditedTimeAgo() { - const toolTipTime = gl.utils.formatDate(this.apiData.updated_at); - this.timeAgoEl.attr('datetime', this.apiData.updated_at); - this.timeAgoEl.attr('title', toolTipTime).tooltip('fixTitle'); - }, }, created() { if (!Visibility.hidden()) { @@ -132,8 +139,6 @@ export default { updated() { // if new html is injected (description changed) - bind TaskList and call renderGFM if (this.descriptionChange) { - this.updateEditedTimeAgo(); - $(this.$refs['issue-content-container-gfm-entry']).renderGFM(); const tl = new gl.TaskList({ @@ -176,5 +181,11 @@ export default { v-if="descriptionText" >{{descriptionText}}</textarea> </div> + <edited + v-if="hasBeenEdited" + :updated-at="apiData.updated_at" + :updated-by-name="apiData.updated_by_name" + :updated-by-path="apiData.updated_by_path" + /> </div> </template> diff --git a/app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue b/app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue new file mode 100644 index 00000000000..934e7e8eacb --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue @@ -0,0 +1,66 @@ +<script> +import tooltipMixin from '../mixins/tooltip'; +import '../../lib/utils/datetime_utility'; + +/** + * Port of ruby helper time_ago_with_tooltip + */ + +export default { + props: { + time: { + type: String, + required: true, + }, + + tooltipPlacement: { + type: String, + required: false, + default: 'top', + }, + + shortFormat: { + type: Boolean, + required: false, + default: false, + }, + + htmlClass: { + type: String, + required: false, + default: '', + }, + }, + + mixins: [tooltipMixin], + + computed: { + cssClass() { + return this.shortFormat ? 'js-short-timeago' : 'js-timeago'; + }, + + tooltipTitle() { + return gl.utils.formatDate(this.time); + }, + + timeFormated() { + const timeago = gl.utils.getTimeago(); + + return timeago.format(this.time); + }, + }, +}; +</script> + +<template> + <time + :class="[cssClass, htmlClass]" + class="js-timeago js-timeago-render" + :title="tooltipTitle" + :data-placement="tooltipPlacement" + data-container="body" + ref="tooltip" + > + {{timeFormated}} + </time> +</template> diff --git a/app/assets/stylesheets/framework/mobile.scss b/app/assets/stylesheets/framework/mobile.scss index eb73f7cc794..0140dcf19c3 100644 --- a/app/assets/stylesheets/framework/mobile.scss +++ b/app/assets/stylesheets/framework/mobile.scss @@ -112,11 +112,6 @@ } } - .issue_edited_ago, - .note_edited_ago { - display: none; - } - aside:not(.right-sidebar) { display: none; } diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index bcd23d61519..5dfe00a35cd 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -5,6 +5,7 @@ class Projects::IssuesController < Projects::ApplicationController include ToggleAwardEmoji include IssuableCollections include SpammableActions + include EditableHelper prepend_before_action :authenticate_user!, only: [:new] @@ -202,15 +203,22 @@ class Projects::IssuesController < Projects::ApplicationController def rendered_title Gitlab::PollingInterval.set_header(response, interval: 3_000) - render json: { + response = { title: view_context.markdown_field(@issue, :title), title_text: @issue.title, description: view_context.markdown_field(@issue, :description), description_text: @issue.description, task_status: @issue.task_status, issue_number: @issue.iid, - updated_at: @issue.updated_at, } + + if is_edited?(@issue) + response[:updated_at] = @issue.updated_at + response[:updated_by_name] = @issue.last_edited_by.name + response[:updated_by_path] = user_path(@issue.last_edited_by) + end + + render json: response end def create_merge_request diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 6d6bcbaf88a..16734fe4c75 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2,6 +2,8 @@ require 'digest/md5' require 'uri' module ApplicationHelper + include EditableHelper + # Check if a particular controller is the current one # # args - One or more controller names to check @@ -181,7 +183,7 @@ module ApplicationHelper end def edited_time_ago_with_tooltip(object, placement: 'top', html_class: 'time_ago', exclude_author: false) - return if object.last_edited_at == object.created_at || object.last_edited_at.blank? + return unless is_edited?(object) content_tag :small, class: 'edited-text' do output = content_tag(:span, 'Edited ') diff --git a/app/helpers/editable_helper.rb b/app/helpers/editable_helper.rb new file mode 100644 index 00000000000..78d9998b97e --- /dev/null +++ b/app/helpers/editable_helper.rb @@ -0,0 +1,5 @@ +module EditableHelper + def is_edited?(object) + !object.last_edited_at.blank? && object.last_edited_at != object.created_at + end +end diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml index 9084883eb3e..144233b54bb 100644 --- a/app/views/projects/issues/show.html.haml +++ b/app/views/projects/issues/show.html.haml @@ -53,11 +53,10 @@ .detail-page-description.content-block .issue-title-data.hidden{ "data" => { "endpoint" => rendered_title_namespace_project_issue_path(@project.namespace, @project, @issue), "can-update-tasks-class" => can?(current_user, :update_issue, @issue) ? 'js-task-list-container' : '', + "is-edited": is_edited?(@issue), } } .issue-title-entrypoint - = edited_time_ago_with_tooltip(@issue, placement: 'bottom', html_class: 'issue_edited_ago') - #merge-requests{ data: { url: referenced_merge_requests_namespace_project_issue_url(@project.namespace, @project, @issue) } } // This element is filled in using JavaScript. diff --git a/spec/javascripts/issue_show/components/edited_spec.js b/spec/javascripts/issue_show/components/edited_spec.js new file mode 100644 index 00000000000..a0d0750ae34 --- /dev/null +++ b/spec/javascripts/issue_show/components/edited_spec.js @@ -0,0 +1,49 @@ +import Vue from 'vue'; +import edited from '~/issue_show/components/edited.vue'; + +function formatText(text) { + return text.trim().replace(/\s\s+/g, ' '); +} + +describe('edited', () => { + const EditedComponent = Vue.extend(edited); + + it('should render an edited at+by string', () => { + const editedComponent = new EditedComponent({ + propsData: { + updatedAt: '2017-05-15T12:31:04.428Z', + updatedByName: 'Some User', + updatedByPath: '/some_user', + }, + }).$mount(); + + expect(formatText(editedComponent.$el.innerText)).toMatch(/Edited[\s\S]+?by Some User/); + expect(editedComponent.$el.querySelector('.author_link').href).toMatch(/\/some_user$/); + expect(editedComponent.$el.querySelector('time')).toBeTruthy(); + }); + + it('if no updatedAt is provided, no time element will be rendered', () => { + const editedComponent = new EditedComponent({ + propsData: { + updatedByName: 'Some User', + updatedByPath: '/some_user', + }, + }).$mount(); + + expect(formatText(editedComponent.$el.innerText)).toMatch(/Edited by Some User/); + expect(editedComponent.$el.querySelector('.author_link').href).toMatch(/\/some_user$/); + expect(editedComponent.$el.querySelector('time')).toBeFalsy(); + }); + + it('if no updatedByName and updatedByPath is provided, no user element will be rendered', () => { + const editedComponent = new EditedComponent({ + propsData: { + updatedAt: '2017-05-15T12:31:04.428Z', + }, + }).$mount(); + + expect(formatText(editedComponent.$el.innerText)).not.toMatch(/by Some User/); + expect(editedComponent.$el.querySelector('.author_link')).toBeFalsy(); + expect(editedComponent.$el.querySelector('time')).toBeTruthy(); + }); +}); diff --git a/spec/javascripts/issue_show/issue_title_description_spec.js b/spec/javascripts/issue_show/issue_title_description_spec.js index 1ec4fe58b08..8180e67255c 100644 --- a/spec/javascripts/issue_show/issue_title_description_spec.js +++ b/spec/javascripts/issue_show/issue_title_description_spec.js @@ -7,6 +7,10 @@ import issueShowData from './mock_data'; window.$ = $; +function formatText(text) { + return text.trim().replace(/\s\s+/g, ' '); +} + const issueShowInterceptor = data => (request, next) => { next(request.respondWith(JSON.stringify(data), { status: 200, @@ -29,7 +33,7 @@ describe('Issue Title', () => { Vue.http.interceptors = _.without(Vue.http.interceptors, issueShowInterceptor); }); - it('should render a title/description and update title/description on update', (done) => { + it('should render a title/description/edited and update title/description/edited on update', (done) => { Vue.http.interceptors.push(issueShowInterceptor(issueShowData.initialRequest)); const issueShowComponent = new IssueTitleDescriptionComponent({ @@ -40,10 +44,15 @@ describe('Issue Title', () => { }).$mount(); setTimeout(() => { + const editedText = issueShowComponent.$el.querySelector('.edited-text'); + expect(document.querySelector('title').innerText).toContain('this is a title (#1)'); expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('<p>this is a title</p>'); expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('<p>this is a description!</p>'); expect(issueShowComponent.$el.querySelector('.js-task-list-field').innerText).toContain('this is a description'); + expect(formatText(editedText.innerText)).toMatch(/Edited[\s\S]+?by Some User/); + expect(editedText.querySelector('.author_link').href).toMatch(/\/some_user$/); + expect(editedText.querySelector('time')).toBeTruthy(); Vue.http.interceptors.push(issueShowInterceptor(issueShowData.secondRequest)); @@ -52,6 +61,10 @@ describe('Issue Title', () => { expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('<p>2</p>'); expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('<p>42</p>'); expect(issueShowComponent.$el.querySelector('.js-task-list-field').innerText).toContain('42'); + expect(issueShowComponent.$el.querySelector('.edited-text')).toBeTruthy(); + expect(formatText(issueShowComponent.$el.querySelector('.edited-text').innerText)).toMatch(/Edited[\s\S]+?by Other User/); + expect(editedText.querySelector('.author_link').href).toMatch(/\/other_user$/); + expect(editedText.querySelector('time')).toBeTruthy(); done(); }); diff --git a/spec/javascripts/issue_show/mock_data.js b/spec/javascripts/issue_show/mock_data.js index ad5a7b63470..a4562449ff1 100644 --- a/spec/javascripts/issue_show/mock_data.js +++ b/spec/javascripts/issue_show/mock_data.js @@ -6,6 +6,9 @@ export default { description_text: 'this is a description', issue_number: 1, task_status: '2 of 4 completed', + updated_at: '2015-05-15T12:31:04.428Z', + updated_by_name: 'Some User', + updated_by_path: '/some_user', }, secondRequest: { title: '<p>2</p>', @@ -14,6 +17,9 @@ export default { description_text: '42', issue_number: 1, task_status: '0 of 0 completed', + updated_at: '2016-05-15T12:31:04.428Z', + updated_by_name: 'Other User', + updated_by_path: '/other_user', }, issueSpecRequest: { title: '<p>this is a title</p>', @@ -22,5 +28,8 @@ export default { description_text: '- [ ] Task List Item', issue_number: 1, task_status: '0 of 1 completed', + updated_at: '2017-05-15T12:31:04.428Z', + updated_by_name: 'Last User', + updated_by_path: '/last_user', }, }; -- GitLab From dc857ab15020c5706405568d9a7d50a23f3e0459 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" <lbennett@gitlab.com> Date: Wed, 17 May 2017 17:09:03 +0100 Subject: [PATCH 036/249] Added editable concern --- app/controllers/projects/issues_controller.rb | 3 +-- app/helpers/application_helper.rb | 4 +--- app/helpers/editable_helper.rb | 5 ----- app/models/concerns/editable.rb | 7 +++++++ app/models/concerns/issuable.rb | 1 + app/models/note.rb | 1 + app/views/projects/issues/show.html.haml | 2 +- 7 files changed, 12 insertions(+), 11 deletions(-) delete mode 100644 app/helpers/editable_helper.rb create mode 100644 app/models/concerns/editable.rb diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 5dfe00a35cd..7b1e4a70232 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -5,7 +5,6 @@ class Projects::IssuesController < Projects::ApplicationController include ToggleAwardEmoji include IssuableCollections include SpammableActions - include EditableHelper prepend_before_action :authenticate_user!, only: [:new] @@ -212,7 +211,7 @@ class Projects::IssuesController < Projects::ApplicationController issue_number: @issue.iid, } - if is_edited?(@issue) + if @issue.is_edited? response[:updated_at] = @issue.updated_at response[:updated_by_name] = @issue.last_edited_by.name response[:updated_by_path] = user_path(@issue.last_edited_by) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 16734fe4c75..8c74d36ad81 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2,8 +2,6 @@ require 'digest/md5' require 'uri' module ApplicationHelper - include EditableHelper - # Check if a particular controller is the current one # # args - One or more controller names to check @@ -183,7 +181,7 @@ module ApplicationHelper end def edited_time_ago_with_tooltip(object, placement: 'top', html_class: 'time_ago', exclude_author: false) - return unless is_edited?(object) + return unless object.is_edited? content_tag :small, class: 'edited-text' do output = content_tag(:span, 'Edited ') diff --git a/app/helpers/editable_helper.rb b/app/helpers/editable_helper.rb deleted file mode 100644 index 78d9998b97e..00000000000 --- a/app/helpers/editable_helper.rb +++ /dev/null @@ -1,5 +0,0 @@ -module EditableHelper - def is_edited?(object) - !object.last_edited_at.blank? && object.last_edited_at != object.created_at - end -end diff --git a/app/models/concerns/editable.rb b/app/models/concerns/editable.rb new file mode 100644 index 00000000000..c62c7e1e936 --- /dev/null +++ b/app/models/concerns/editable.rb @@ -0,0 +1,7 @@ +module Editable + extend ActiveSupport::Concern + + def is_edited? + last_edited_at.present? && last_edited_at != created_at + end +end diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index 075ec575f9d..ea10d004c9c 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -15,6 +15,7 @@ module Issuable include Taskable include TimeTrackable include Importable + include Editable # This object is used to gather issuable meta data for displaying # upvotes, downvotes, notes and closing merge requests count for issues and merge requests diff --git a/app/models/note.rb b/app/models/note.rb index 46d0a4f159f..4cb3c6f062a 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -13,6 +13,7 @@ class Note < ActiveRecord::Base include AfterCommitQueue include ResolvableNote include IgnorableColumn + include Editable ignore_column :original_discussion_id diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml index 144233b54bb..0ad615535d7 100644 --- a/app/views/projects/issues/show.html.haml +++ b/app/views/projects/issues/show.html.haml @@ -53,7 +53,7 @@ .detail-page-description.content-block .issue-title-data.hidden{ "data" => { "endpoint" => rendered_title_namespace_project_issue_path(@project.namespace, @project, @issue), "can-update-tasks-class" => can?(current_user, :update_issue, @issue) ? 'js-task-list-container' : '', - "is-edited": is_edited?(@issue), + "is-edited": @issue.is_edited?, } } .issue-title-entrypoint -- GitLab From a82745716da1ea3429effeea2502c60116009b5f Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" <lbennett@gitlab.com> Date: Wed, 17 May 2017 17:26:55 +0100 Subject: [PATCH 037/249] Added editable concern spec --- spec/models/concerns/editable_spec.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 spec/models/concerns/editable_spec.rb diff --git a/spec/models/concerns/editable_spec.rb b/spec/models/concerns/editable_spec.rb new file mode 100644 index 00000000000..cd73af3b480 --- /dev/null +++ b/spec/models/concerns/editable_spec.rb @@ -0,0 +1,11 @@ +require 'spec_helper' + +describe Editable do + describe '#is_edited?' do + let(:issue) { create(:issue, last_edited_at: nil) } + let(:edited_issue) { create(:issue, created_at: 3.days.ago, last_edited_at: 2.days.ago) } + + it { expect(issue.is_edited?).to eq(false) } + it { expect(edited_issue.is_edited?).to eq(true) } + end +end -- GitLab From 3accc58d0507b84d6c531e24a6274dd226ed5da2 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" <lbennett@gitlab.com> Date: Wed, 17 May 2017 19:01:23 +0100 Subject: [PATCH 038/249] Snippet include Editable --- app/models/snippet.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/snippet.rb b/app/models/snippet.rb index 882e2fa0594..6c3358685fe 100644 --- a/app/models/snippet.rb +++ b/app/models/snippet.rb @@ -8,6 +8,7 @@ class Snippet < ActiveRecord::Base include Awardable include Mentionable include Spammable + include Editable cache_markdown_field :title, pipeline: :single_line cache_markdown_field :content -- GitLab From 962eb5551fd7a789640f479bffef6ec39131d8cf Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Wed, 17 May 2017 22:23:19 +0000 Subject: [PATCH 039/249] Merge branch 'zj-fix-migration' into 'master' Fix data migration from trigger schedules See merge request !11460 --- ...1605_migrate_trigger_schedules_to_pipeline_schedules.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/db/post_migrate/20170425121605_migrate_trigger_schedules_to_pipeline_schedules.rb b/db/post_migrate/20170425121605_migrate_trigger_schedules_to_pipeline_schedules.rb index a44b399c4de..dae9750558f 100644 --- a/db/post_migrate/20170425121605_migrate_trigger_schedules_to_pipeline_schedules.rb +++ b/db/post_migrate/20170425121605_migrate_trigger_schedules_to_pipeline_schedules.rb @@ -4,6 +4,13 @@ class MigrateTriggerSchedulesToPipelineSchedules < ActiveRecord::Migration DOWNTIME = false def up + connection.execute <<~SQL + DELETE FROM ci_trigger_schedules WHERE NOT EXISTS + (SELECT true FROM projects + WHERE ci_trigger_schedules.project_id = projects.id + ) + SQL + connection.execute <<-SQL INSERT INTO ci_pipeline_schedules ( project_id, -- GitLab From b9fc5bf0918d423843ce73c9c61fc6f83cab3b2b Mon Sep 17 00:00:00 2001 From: Stan Hu <stanhu@gmail.com> Date: Wed, 17 May 2017 23:15:41 +0000 Subject: [PATCH 040/249] Merge branch 'fix-issue-assignee-trigger' into 'master' Check if OLD is set when migrating issue assignees Closes #32439 See merge request !11461 --- db/migrate/20170516153305_migrate_assignee_to_separate_table.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20170516153305_migrate_assignee_to_separate_table.rb b/db/migrate/20170516153305_migrate_assignee_to_separate_table.rb index f269ca7fc34..eed9f00d8b2 100644 --- a/db/migrate/20170516153305_migrate_assignee_to_separate_table.rb +++ b/db/migrate/20170516153305_migrate_assignee_to_separate_table.rb @@ -47,7 +47,7 @@ class MigrateAssigneeToSeparateTable < ActiveRecord::Migration RETURNS trigger AS $BODY$ BEGIN - if OLD.assignee_id IS NOT NULL THEN + if OLD IS NOT NULL AND OLD.assignee_id IS NOT NULL THEN DELETE FROM issue_assignees WHERE issue_id = OLD.id; END IF; -- GitLab From 1ef529a68e7a3b2ffc9d4a152fb386a1e8739605 Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Thu, 18 May 2017 07:41:39 +0000 Subject: [PATCH 041/249] Update VERSION to 9.2.0-rc4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e48b359e6e9..43cd586a3b3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-rc3 +9.2.0-rc4 -- GitLab From 69e4b27c31c90d0835acf1bbd1c1497bb51abaea Mon Sep 17 00:00:00 2001 From: Yorick Peterse <yorickpeterse@gmail.com> Date: Thu, 18 May 2017 11:10:42 +0000 Subject: [PATCH 042/249] Merge branch 'fix_set_null_false_migration' into 'master' Adding NULL:false constraint with change_column_null instead of change_column Closes #32450 See merge request !11471 --- ...0516181025_add_constraints_to_issue_assignees_table.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb b/db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb index 2aab1f4d14f..6fa573c5b49 100644 --- a/db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb +++ b/db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb @@ -26,12 +26,12 @@ class AddConstraintsToIssueAssigneesTable < ActiveRecord::Migration # disable_ddl_transaction! def up - change_column :issue_assignees, :issue_id, :integer, null: false - change_column :issue_assignees, :user_id, :integer, null: false + change_column_null :issue_assignees, :issue_id, false + change_column_null :issue_assignees, :user_id, false end def down - change_column :issue_assignees, :issue_id, :integer - change_column :issue_assignees, :user_id, :integer + change_column_null :issue_assignees, :issue_id, true + change_column_null :issue_assignees, :user_id, true end end -- GitLab From 8c06fcc2241fd320ae7da9aaa88cff326c9d88fc Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 11 May 2017 09:05:08 +0000 Subject: [PATCH 043/249] Merge branch '32016-slash-command-strip-fix' into 'master' Fix slash commands detection in comments Closes #32016 See merge request !11265 --- app/assets/javascripts/notes.js | 2 +- spec/javascripts/notes_spec.js | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index d2e602a0763..c255f2d156a 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -26,7 +26,7 @@ const normalizeNewlines = function(str) { this.Notes = (function() { const MAX_VISIBLE_COMMIT_LIST_COUNT = 3; - const REGEX_SLASH_COMMANDS = /\/\w+/g; + const REGEX_SLASH_COMMANDS = /^\/\w+/gm; Notes.interval = null; diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index cfd599f793e..be4605a5b89 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -376,13 +376,20 @@ import '~/notes'; this.notes = new Notes('', []); }); - it('should return true when comment has slash commands', () => { - const sampleComment = '/wip /milestone %1.0 /merge /unassign Merging this'; + it('should return true when comment begins with a slash command', () => { + const sampleComment = '/wip \n/milestone %1.0 \n/merge \n/unassign Merging this'; const hasSlashCommands = this.notes.hasSlashCommands(sampleComment); expect(hasSlashCommands).toBeTruthy(); }); + it('should return false when comment does NOT begin with a slash command', () => { + const sampleComment = 'Hey, /unassign Merging this'; + const hasSlashCommands = this.notes.hasSlashCommands(sampleComment); + + expect(hasSlashCommands).toBeFalsy(); + }); + it('should return false when comment does NOT have any slash commands', () => { const sampleComment = 'Looking good, Awesome!'; const hasSlashCommands = this.notes.hasSlashCommands(sampleComment); @@ -392,14 +399,20 @@ import '~/notes'; }); describe('stripSlashCommands', () => { - const REGEX_SLASH_COMMANDS = /\/\w+/g; + it('should strip slash commands from the comment which begins with a slash command', () => { + this.notes = new Notes(); + const sampleComment = '/wip \n/milestone %1.0 \n/merge \n/unassign Merging this'; + const stripedComment = this.notes.stripSlashCommands(sampleComment); + + expect(stripedComment).not.toBe(sampleComment); + }); - it('should strip slash commands from the comment', () => { + it('should NOT strip string that has slashes within', () => { this.notes = new Notes(); - const sampleComment = '/wip /milestone %1.0 /merge /unassign Merging this'; + const sampleComment = 'http://127.0.0.1:3000/root/gitlab-shell/issues/1'; const stripedComment = this.notes.stripSlashCommands(sampleComment); - expect(REGEX_SLASH_COMMANDS.test(stripedComment)).toBeFalsy(); + expect(stripedComment).toBe(sampleComment); }); }); -- GitLab From 1a32193f6613ab79e6e35b9bbd3f36ef84051372 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Wed, 10 May 2017 15:47:01 +0000 Subject: [PATCH 044/249] Merge branch '32077-pipeline-graph-margins' into 'master' Fix broken margin in pipeline graph Closes #32077 See merge request !11239 --- app/assets/stylesheets/pages/pipelines.scss | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/assets/stylesheets/pages/pipelines.scss b/app/assets/stylesheets/pages/pipelines.scss index eaf3dd49567..4304e736b58 100644 --- a/app/assets/stylesheets/pages/pipelines.scss +++ b/app/assets/stylesheets/pages/pipelines.scss @@ -384,9 +384,9 @@ content: ''; position: absolute; top: 48%; - left: -48px; + left: -44px; border-top: 2px solid $border-color; - width: 48px; + width: 44px; height: 1px; } } @@ -486,7 +486,7 @@ color: $gl-text-color-secondary; // Action Icons in big pipeline-graph nodes - > div > .ci-action-icon-container .ci-action-icon-wrapper { + .ci-action-icon-container .ci-action-icon-wrapper { height: 30px; width: 30px; background: $white-light; @@ -511,7 +511,7 @@ } } - > div > .ci-action-icon-container { + .ci-action-icon-container { position: absolute; right: 5px; top: 5px; @@ -541,7 +541,7 @@ } } - > div > .build-content { + .build-content { display: inline-block; padding: 8px 10px 9px; width: 100%; -- GitLab From f57218411f9f45771f41c50399aa0d9507893749 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Wed, 10 May 2017 13:29:20 +0000 Subject: [PATCH 045/249] Merge branch 'patch-5' into 'master' Update tree_helper.rb to fix #31784, which broken file browse where paths deeper than 6:'/'. Closes #31784 See merge request !11197 --- app/helpers/tree_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/tree_helper.rb b/app/helpers/tree_helper.rb index a91e3da309c..e0d3e9b88f3 100644 --- a/app/helpers/tree_helper.rb +++ b/app/helpers/tree_helper.rb @@ -81,7 +81,7 @@ module TreeHelper part_path = "" parts = @path.split('/') - yield('..', nil) if parts.count > max_links + yield('..', File.join(*parts.first(parts.count - 2))) if parts.count > max_links parts.each do |part| part_path = File.join(part_path, part) unless part_path.empty? -- GitLab From bd0d73d8a2cd9ab3a07750f3a272d4033f136538 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Tue, 9 May 2017 22:30:58 +0000 Subject: [PATCH 046/249] Merge branch '31053-pipeline-ux' into 'master' Adds left connector class to the rendered graph Closes #31053 See merge request !11179 --- .../components/graph/graph_component.vue | 24 ++++++- .../graph/stage_column_component.vue | 23 ++++++- .../javascripts/vue_shared/ci_action_icons.js | 4 ++ .../pipelines/graph/graph_component_spec.js | 62 +++++++++++++++++++ .../vue_shared/ci_action_icons_spec.js | 5 ++ 5 files changed, 114 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/pipelines/components/graph/graph_component.vue b/app/assets/javascripts/pipelines/components/graph/graph_component.vue index a84161ef5e7..1f1b99ff401 100644 --- a/app/assets/javascripts/pipelines/components/graph/graph_component.vue +++ b/app/assets/javascripts/pipelines/components/graph/graph_component.vue @@ -64,6 +64,24 @@ capitalizeStageName(name) { return name.charAt(0).toUpperCase() + name.slice(1); }, + + isFirstColumn(index) { + return index === 0; + }, + + stageConnectorClass(index, stage) { + let className; + + // If it's the first stage column and only has one job + if (index === 0 && stage.groups.length === 1) { + className = 'no-margin'; + } else if (index > 0) { + // If it is not the first column + className = 'left-margin'; + } + + return className; + }, }, }; </script> @@ -82,10 +100,12 @@ v-if="!isLoading" class="stage-column-list"> <stage-column-component - v-for="stage in state.graph" + v-for="(stage, index) in state.graph" :title="capitalizeStageName(stage.name)" :jobs="stage.groups" - :key="stage.name"/> + :key="stage.name" + :stage-connector-class="stageConnectorClass(index, stage)" + :is-first-column="isFirstColumn(index)"/> </ul> </div> </div> diff --git a/app/assets/javascripts/pipelines/components/graph/stage_column_component.vue b/app/assets/javascripts/pipelines/components/graph/stage_column_component.vue index b7da185e280..9b1bbb0906f 100644 --- a/app/assets/javascripts/pipelines/components/graph/stage_column_component.vue +++ b/app/assets/javascripts/pipelines/components/graph/stage_column_component.vue @@ -13,6 +13,18 @@ export default { type: Array, required: true, }, + + isFirstColumn: { + type: Boolean, + required: false, + default: false, + }, + + stageConnectorClass: { + type: String, + required: false, + default: '', + }, }, components: { @@ -28,20 +40,27 @@ export default { jobId(job) { return `ci-badge-${job.name}`; }, + + buildConnnectorClass(index) { + return index === 0 && !this.isFirstColumn ? 'left-connector' : ''; + }, }, }; </script> <template> - <li class="stage-column"> + <li + class="stage-column" + :class="stageConnectorClass"> <div class="stage-name"> {{title}} </div> <div class="builds-container"> <ul> <li - v-for="job in jobs" + v-for="(job, index) in jobs" :key="job.id" class="build" + :class="buildConnnectorClass(index)" :id="jobId(job)"> <div class="curve"></div> diff --git a/app/assets/javascripts/vue_shared/ci_action_icons.js b/app/assets/javascripts/vue_shared/ci_action_icons.js index 734b3c6c45e..ee41dc95beb 100644 --- a/app/assets/javascripts/vue_shared/ci_action_icons.js +++ b/app/assets/javascripts/vue_shared/ci_action_icons.js @@ -1,6 +1,7 @@ import cancelSVG from 'icons/_icon_action_cancel.svg'; import retrySVG from 'icons/_icon_action_retry.svg'; import playSVG from 'icons/_icon_action_play.svg'; +import stopSVG from 'icons/_icon_action_stop.svg'; export default function getActionIcon(action) { let icon; @@ -14,6 +15,9 @@ export default function getActionIcon(action) { case 'icon_action_play': icon = playSVG; break; + case 'icon_action_stop': + icon = stopSVG; + break; default: icon = ''; } diff --git a/spec/javascripts/pipelines/graph/graph_component_spec.js b/spec/javascripts/pipelines/graph/graph_component_spec.js index a756617e65e..77f42312b40 100644 --- a/spec/javascripts/pipelines/graph/graph_component_spec.js +++ b/spec/javascripts/pipelines/graph/graph_component_spec.js @@ -52,6 +52,56 @@ describe('graph component', () => { }, }], }], + }, + { + name: 'test_1', + title: 'test_1: passed', + status: { + icon: 'icon_status_success', + text: 'passed', + label: 'passed', + details_path: '/root/ci-mock/pipelines/123#test', + }, + path: '/root/ci-mock/pipelines/123#test', + groups: [{ + name: 'test', + size: 1, + jobs: [{ + id: 4153, + name: 'test', + status: { + icon: 'icon_status_success', + text: 'passed', + label: 'passed', + details_path: '/root/ci-mock/builds/4153', + action: { + icon: 'icon_action_retry', + title: 'Retry', + path: '/root/ci-mock/builds/4153/retry', + method: 'post', + }, + }, + }], + }, { + name: 'test', + size: 1, + jobs: [{ + id: 4153, + name: 'test', + status: { + icon: 'icon_status_success', + text: 'passed', + label: 'passed', + details_path: '/root/ci-mock/builds/4153', + action: { + icon: 'icon_action_retry', + title: 'Retry', + path: '/root/ci-mock/builds/4153/retry', + method: 'post', + }, + }, + }], + }], }], }, }), { @@ -73,6 +123,18 @@ describe('graph component', () => { setTimeout(() => { expect(component.$el.classList.contains('js-pipeline-graph')).toEqual(true); + expect( + component.$el.querySelector('.stage-column:first-child').classList.contains('no-margin'), + ).toEqual(true); + + expect( + component.$el.querySelector('.stage-column:nth-child(2)').classList.contains('left-margin'), + ).toEqual(true); + + expect( + component.$el.querySelector('.stage-column:nth-child(2) .build:nth-child(1)').classList.contains('left-connector'), + ).toEqual(true); + expect(component.$el.querySelector('loading-icon')).toBe(null); expect(component.$el.querySelector('.stage-column-list')).toBeDefined(); diff --git a/spec/javascripts/vue_shared/ci_action_icons_spec.js b/spec/javascripts/vue_shared/ci_action_icons_spec.js index 2e89a07e76e..3d53a5ab24d 100644 --- a/spec/javascripts/vue_shared/ci_action_icons_spec.js +++ b/spec/javascripts/vue_shared/ci_action_icons_spec.js @@ -2,6 +2,7 @@ import getActionIcon from '~/vue_shared/ci_action_icons'; import cancelSVG from 'icons/_icon_action_cancel.svg'; import retrySVG from 'icons/_icon_action_retry.svg'; import playSVG from 'icons/_icon_action_play.svg'; +import stopSVG from 'icons/_icon_action_stop.svg'; describe('getActionIcon', () => { it('should return an empty string', () => { @@ -19,4 +20,8 @@ describe('getActionIcon', () => { it('should return play svg', () => { expect(getActionIcon('icon_action_play')).toEqual(playSVG); }); + + it('should render stop svg', () => { + expect(getActionIcon('icon_action_stop')).toEqual(stopSVG); + }); }); -- GitLab From 0ec452994464590032d3601b99be4ff976cea5dc Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Tue, 9 May 2017 08:18:48 +0000 Subject: [PATCH 047/249] Merge branch 'mrchrisw-fix-slack-notify' into 'master' Fix notify_only_default_branch check for Slack service See merge request !11154 --- .../project_services/chat_notification_service.rb | 2 +- .../unreleased/mrchrisw-fix-slack-notify.yml | 4 ++++ ...ack_mattermost_notifications_shared_examples.rb | 14 +++++++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/mrchrisw-fix-slack-notify.yml diff --git a/app/models/project_services/chat_notification_service.rb b/app/models/project_services/chat_notification_service.rb index fa782c6fbb7..6464bf3f4a4 100644 --- a/app/models/project_services/chat_notification_service.rb +++ b/app/models/project_services/chat_notification_service.rb @@ -150,7 +150,7 @@ class ChatNotificationService < Service def notify_for_ref?(data) return true if data[:object_attributes][:tag] - return true unless notify_only_default_branch + return true unless notify_only_default_branch? data[:object_attributes][:ref] == project.default_branch end diff --git a/changelogs/unreleased/mrchrisw-fix-slack-notify.yml b/changelogs/unreleased/mrchrisw-fix-slack-notify.yml new file mode 100644 index 00000000000..bb45a117be6 --- /dev/null +++ b/changelogs/unreleased/mrchrisw-fix-slack-notify.yml @@ -0,0 +1,4 @@ +--- +title: Fix notify_only_default_branch check for Slack service +merge_request: +author: diff --git a/spec/support/slack_mattermost_notifications_shared_examples.rb b/spec/support/slack_mattermost_notifications_shared_examples.rb index b902fe90707..7e35ebb6c97 100644 --- a/spec/support/slack_mattermost_notifications_shared_examples.rb +++ b/spec/support/slack_mattermost_notifications_shared_examples.rb @@ -328,7 +328,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do context 'only notify for the default branch' do context 'when enabled' do let(:pipeline) do - create(:ci_pipeline, project: project, status: 'failed', ref: 'not-the-default-branch') + create(:ci_pipeline, :failed, project: project, ref: 'not-the-default-branch') end before do @@ -342,6 +342,18 @@ RSpec.shared_examples 'slack or mattermost notifications' do expect(result).to be_falsy end end + + context 'when disabled' do + let(:pipeline) do + create(:ci_pipeline, :failed, project: project, ref: 'not-the-default-branch') + end + + before do + chat_service.notify_only_default_branch = false + end + + it_behaves_like 'call Slack/Mattermost API' + end end end end -- GitLab From 4619901632ddb6f2881897e95aa69028c2e6632a Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Wed, 17 May 2017 13:43:07 +0000 Subject: [PATCH 048/249] Merge branch 'dm-scroll-to-blob-user-content' into 'master' Scroll to anchor when blob content is loaded See merge request !11427 Conflicts: app/assets/javascripts/blob/viewer/index.js --- app/assets/javascripts/blob/viewer/index.js | 39 +++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index 07d67d49aa5..fe6d02b68e2 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -115,6 +115,45 @@ export default class BlobViewer { this.toggleCopyButtonState(); +<<<<<<< HEAD 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); + }); + }); +>>>>>>> b957df9... Merge branch 'dm-scroll-to-blob-user-content' into 'master' } } -- GitLab From 8f4bea8bcc8146099620995b278fe8be31f8fd17 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Tue, 16 May 2017 12:18:49 +0000 Subject: [PATCH 049/249] Merge branch 'add-right-margin-to-ci-error-icon' into 'master' Added ci-error class and applied a right margin to the ci error widget state See merge request !11353 --- .../vue_merge_request_widget/components/mr_widget_pipeline.js | 2 +- app/assets/stylesheets/pages/merge_requests.scss | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js index 801b9fb1ba1..c622e8ba2f6 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js @@ -28,7 +28,7 @@ export default { <div class="mr-widget-heading"> <div class="ci-widget"> <template v-if="hasCIError"> - <div class="ci-status-icon ci-status-icon-failed js-ci-error"> + <div class="ci-status-icon ci-status-icon-failed ci-error js-ci-error"> <span class="js-icon-link icon-link"> <span v-html="svg" diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 97019b19667..89cf57ee215 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -113,6 +113,10 @@ width: 22px; height: 22px; } + + .ci-error { + margin-right: $btn-side-margin; + } } .mr-widget-body, -- GitLab From 434c2517b18215e17d344e0a6b773178468e2b22 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Mon, 15 May 2017 15:07:44 +0000 Subject: [PATCH 050/249] Merge branch '32016-escape-instant-comments-and-slash-commands' into 'master' Improve slash command stripping, escape temporary note contents Closes #32016 See merge request !11341 --- app/assets/javascripts/notes.js | 5 ++-- spec/javascripts/notes_spec.js | 46 ++++++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index c255f2d156a..2deb2eed3ea 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -26,7 +26,7 @@ const normalizeNewlines = function(str) { this.Notes = (function() { const MAX_VISIBLE_COMMIT_LIST_COUNT = 3; - const REGEX_SLASH_COMMANDS = /^\/\w+/gm; + const REGEX_SLASH_COMMANDS = /^\/\w+.*$/gm; Notes.interval = null; @@ -1172,6 +1172,7 @@ const normalizeNewlines = function(str) { */ Notes.prototype.createPlaceholderNote = function({ formContent, uniqueId, isDiscussionNote, currentUsername, currentUserFullname }) { const discussionClass = isDiscussionNote ? 'discussion' : ''; + const escapedFormContent = _.escape(formContent); const $tempNote = $( `<li id="${uniqueId}" class="note being-posted fade-in-half timeline-entry"> <div class="timeline-entry-inner"> @@ -1192,7 +1193,7 @@ const normalizeNewlines = function(str) { </div> <div class="note-body"> <div class="note-text"> - <p>${formContent}</p> + <p>${escapedFormContent}</p> </div> </div> </div> diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index be4605a5b89..8243a9c991a 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -377,7 +377,7 @@ import '~/notes'; }); it('should return true when comment begins with a slash command', () => { - const sampleComment = '/wip \n/milestone %1.0 \n/merge \n/unassign Merging this'; + const sampleComment = '/wip\n/milestone %1.0\n/merge\n/unassign Merging this'; const hasSlashCommands = this.notes.hasSlashCommands(sampleComment); expect(hasSlashCommands).toBeTruthy(); @@ -401,10 +401,18 @@ import '~/notes'; describe('stripSlashCommands', () => { it('should strip slash commands from the comment which begins with a slash command', () => { this.notes = new Notes(); - const sampleComment = '/wip \n/milestone %1.0 \n/merge \n/unassign Merging this'; + const sampleComment = '/wip\n/milestone %1.0\n/merge\n/unassign Merging this'; const stripedComment = this.notes.stripSlashCommands(sampleComment); - expect(stripedComment).not.toBe(sampleComment); + expect(stripedComment).toBe(''); + }); + + it('should strip slash commands from the comment but leaves plain comment if it is present', () => { + this.notes = new Notes(); + const sampleComment = '/wip\n/milestone %1.0\n/merge\n/unassign\nMerging this'; + const stripedComment = this.notes.stripSlashCommands(sampleComment); + + expect(stripedComment).toBe('Merging this'); }); it('should NOT strip string that has slashes within', () => { @@ -424,6 +432,22 @@ import '~/notes'; beforeEach(() => { this.notes = new Notes('', []); + spyOn(_, 'escape').and.callFake((comment) => { + const escapedString = comment.replace(/["&'<>]/g, (a) => { + const escapedToken = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }[a]; + + return escapedToken; + }); + + return escapedString; + }); }); it('should return constructed placeholder element for regular note based on form contents', () => { @@ -444,7 +468,21 @@ import '~/notes'; expect($tempNote.find('.timeline-content').hasClass('discussion')).toBeFalsy(); expect($tempNoteHeader.find('.hidden-xs').text().trim()).toEqual(currentUserFullname); expect($tempNoteHeader.find('.note-headline-light').text().trim()).toEqual(`@${currentUsername}`); - expect($tempNote.find('.note-body .note-text').text().trim()).toEqual(sampleComment); + expect($tempNote.find('.note-body .note-text p').text().trim()).toEqual(sampleComment); + }); + + it('should escape HTML characters from note based on form contents', () => { + const commentWithHtml = '<script>alert("Boom!");</script>'; + const $tempNote = this.notes.createPlaceholderNote({ + formContent: commentWithHtml, + uniqueId, + isDiscussionNote: false, + currentUsername, + currentUserFullname + }); + + expect(_.escape).toHaveBeenCalledWith(commentWithHtml); + expect($tempNote.find('.note-body .note-text p').html()).toEqual('<script>alert("Boom!");</script>'); }); it('should return constructed placeholder element for discussion note based on form contents', () => { -- GitLab From 62ad2f429da8018472ab7fb6d269862a6118c6b2 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Mon, 15 May 2017 14:01:39 +0000 Subject: [PATCH 051/249] Merge branch 'fix-merge-request-show-component-z-indices' into 'master' MR zindex regression Closes #32216 See merge request !11344 Conflicts: app/assets/stylesheets/pages/merge_requests.scss --- app/assets/stylesheets/framework/sidebar.scss | 1 + app/assets/stylesheets/pages/issuable.scss | 2 +- app/assets/stylesheets/pages/merge_requests.scss | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/framework/sidebar.scss b/app/assets/stylesheets/framework/sidebar.scss index 746c9c25620..82b84f85a46 100644 --- a/app/assets/stylesheets/framework/sidebar.scss +++ b/app/assets/stylesheets/framework/sidebar.scss @@ -53,6 +53,7 @@ .right-sidebar-expanded { padding-right: 0; + z-index: 300; @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { &:not(.wiki-sidebar):not(.build-sidebar) .content-wrapper { diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss index c4210ffd823..2b9a7e43f0f 100644 --- a/app/assets/stylesheets/pages/issuable.scss +++ b/app/assets/stylesheets/pages/issuable.scss @@ -206,7 +206,7 @@ transition: width .3s; background: $gray-light; padding: 10px 20px; - z-index: 2; + z-index: 200; &.right-sidebar-expanded { width: $gutter_width; diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 89cf57ee215..2cefd5e1e83 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -129,6 +129,7 @@ .dropdown-menu { margin-top: 11px; + z-index: 200; } .ci-action-icon-wrapper { @@ -703,6 +704,11 @@ } .merge-request-tabs-holder { +<<<<<<< HEAD +======= + top: $header-height; + z-index: 100; +>>>>>>> 3460f36... Merge branch 'fix-merge-request-show-component-z-indices' into 'master' background-color: $white-light; &.affix { -- GitLab From c94eb9e11275f2d77ce2e799299bbc03b5a1a83d Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Mon, 15 May 2017 14:36:55 +0000 Subject: [PATCH 052/249] Merge branch '32184-retried-jobs' into 'master' Use fa-refresh on retried jobs Closes #32184 See merge request !11337 --- app/assets/stylesheets/pages/builds.scss | 2 +- app/views/projects/builds/_sidebar.html.haml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/pages/builds.scss b/app/assets/stylesheets/pages/builds.scss index 724b4080ee0..14a62b6cbf0 100644 --- a/app/assets/stylesheets/pages/builds.scss +++ b/app/assets/stylesheets/pages/builds.scss @@ -378,7 +378,7 @@ background-color: $row-hover; } - .fa-spinner { + .fa-refresh { font-size: 13px; margin-left: 3px; } diff --git a/app/views/projects/builds/_sidebar.html.haml b/app/views/projects/builds/_sidebar.html.haml index 43191fae9e6..26c892d0fd2 100644 --- a/app/views/projects/builds/_sidebar.html.haml +++ b/app/views/projects/builds/_sidebar.html.haml @@ -136,7 +136,7 @@ - else = build.id - if build.retried? - %i.fa.fa-spinner.has-tooltip{ data: { container: 'body', placement: 'bottom' }, title: 'Job was retried' } + %i.fa.fa-refresh.has-tooltip{ data: { container: 'body', placement: 'bottom' }, title: 'Job was retried' } :javascript new Sidebar(); -- GitLab From b6fdb7d232e2cfb725fabb62c08a92ef008f3c1b Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Fri, 12 May 2017 12:03:20 +0000 Subject: [PATCH 053/249] Merge branch '32178-prevent-merge-on-sha-change' into 'master' Add "SHA mismatch" state to the MR widget Closes #32178 See merge request !11316 --- .../states/mr_widget_sha_mismatch.js | 16 ++++++++++++++ .../vue_merge_request_widget/dependencies.js | 1 + .../mr_widget_options.js | 2 ++ .../stores/get_state_key.js | 2 ++ .../stores/mr_widget_store.js | 2 ++ .../stores/state_maps.js | 1 + .../32178-prevent-merge-on-sha-change.yml | 4 ++++ .../states/mr_widget_sha_mismatch_spec.js | 16 ++++++++++++++ .../stores/get_state_key_spec.js | 3 +++ .../stores/mr_widget_store_spec.js | 22 +++++++++++++++++++ 10 files changed, 69 insertions(+) create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_sha_mismatch.js create mode 100644 changelogs/unreleased/32178-prevent-merge-on-sha-change.yml create mode 100644 spec/javascripts/vue_mr_widget/components/states/mr_widget_sha_mismatch_spec.js create mode 100644 spec/javascripts/vue_mr_widget/stores/mr_widget_store_spec.js diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_sha_mismatch.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_sha_mismatch.js new file mode 100644 index 00000000000..79f8ef408e6 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_sha_mismatch.js @@ -0,0 +1,16 @@ +export default { + name: 'MRWidgetSHAMismatch', + template: ` + <div class="mr-widget-body"> + <button + type="button" + class="btn btn-success btn-small" + disabled="true"> + Merge + </button> + <span class="bold"> + The source branch HEAD has recently changed. Please reload the page and review the changes before merging. + </span> + </div> + `, +}; diff --git a/app/assets/javascripts/vue_merge_request_widget/dependencies.js b/app/assets/javascripts/vue_merge_request_widget/dependencies.js index b2eb32ead5f..bfe30ee4c08 100644 --- a/app/assets/javascripts/vue_merge_request_widget/dependencies.js +++ b/app/assets/javascripts/vue_merge_request_widget/dependencies.js @@ -27,6 +27,7 @@ export { default as NothingToMergeState } from './components/states/mr_widget_no export { default as MissingBranchState } from './components/states/mr_widget_missing_branch'; export { default as NotAllowedState } from './components/states/mr_widget_not_allowed'; export { default as ReadyToMergeState } from './components/states/mr_widget_ready_to_merge'; +export { default as SHAMismatchState } from './components/states/mr_widget_sha_mismatch'; export { default as UnresolvedDiscussionsState } from './components/states/mr_widget_unresolved_discussions'; export { default as PipelineBlockedState } from './components/states/mr_widget_pipeline_blocked'; export { default as PipelineFailedState } from './components/states/mr_widget_pipeline_failed'; diff --git a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js index 7c6c2d21714..5452e19bd8e 100644 --- a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js +++ b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js @@ -16,6 +16,7 @@ import { MissingBranchState, NotAllowedState, ReadyToMergeState, + SHAMismatchState, UnresolvedDiscussionsState, PipelineBlockedState, PipelineFailedState, @@ -203,6 +204,7 @@ export default { 'mr-widget-not-allowed': NotAllowedState, 'mr-widget-missing-branch': MissingBranchState, 'mr-widget-ready-to-merge': ReadyToMergeState, + 'mr-widget-sha-mismatch': SHAMismatchState, 'mr-widget-squash-before-merge': SquashBeforeMerge, 'mr-widget-checking': CheckingState, 'mr-widget-unresolved-discussions': UnresolvedDiscussionsState, diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js index fee4113f3c8..fb78ea92da1 100644 --- a/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js +++ b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js @@ -21,6 +21,8 @@ export default function deviseState(data) { return 'unresolvedDiscussions'; } else if (this.isPipelineBlocked) { return 'pipelineBlocked'; + } else if (this.hasSHAChanged) { + return 'shaMismatch'; } else if (this.canBeMerged) { return 'readyToMerge'; } diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js index faafeae5c5b..05e67706983 100644 --- a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js +++ b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js @@ -4,6 +4,7 @@ import { getStateKey } from '../dependencies'; export default class MergeRequestStore { constructor(data) { + this.startingSha = data.diff_head_sha; this.setData(data); } @@ -67,6 +68,7 @@ export default class MergeRequestStore { this.canMerge = !!data.merge_path; this.canCreateIssue = currentUser.can_create_issue || false; this.canCancelAutomaticMerge = !!data.cancel_merge_when_pipeline_succeeds_path; + this.hasSHAChanged = this.sha !== this.startingSha; this.canBeMerged = data.can_be_merged || false; // Cherry-pick and Revert actions related diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js b/app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js index 625d7a01c65..605dd3a1ff4 100644 --- a/app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js +++ b/app/assets/javascripts/vue_merge_request_widget/stores/state_maps.js @@ -16,6 +16,7 @@ const stateToComponentMap = { mergeWhenPipelineSucceeds: 'mr-widget-merge-when-pipeline-succeeds', failedToMerge: 'mr-widget-failed-to-merge', autoMergeFailed: 'mr-widget-auto-merge-failed', + shaMismatch: 'mr-widget-sha-mismatch', }; const statesToShowHelpWidget = [ diff --git a/changelogs/unreleased/32178-prevent-merge-on-sha-change.yml b/changelogs/unreleased/32178-prevent-merge-on-sha-change.yml new file mode 100644 index 00000000000..d3208973de6 --- /dev/null +++ b/changelogs/unreleased/32178-prevent-merge-on-sha-change.yml @@ -0,0 +1,4 @@ +--- +title: Add state to MR widget that prevent merges when branch changes after page load +merge_request: 11316 +author: diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_sha_mismatch_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_sha_mismatch_spec.js new file mode 100644 index 00000000000..5fb1d69a8b3 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_sha_mismatch_spec.js @@ -0,0 +1,16 @@ +import Vue from 'vue'; +import shaMismatchComponent from '~/vue_merge_request_widget/components/states/mr_widget_sha_mismatch'; + +describe('MRWidgetSHAMismatch', () => { + describe('template', () => { + const Component = Vue.extend(shaMismatchComponent); + const vm = new Component({ + el: document.createElement('div'), + }); + it('should have correct elements', () => { + expect(vm.$el.classList.contains('mr-widget-body')).toBeTruthy(); + expect(vm.$el.querySelector('button').getAttribute('disabled')).toBeTruthy(); + expect(vm.$el.innerText).toContain('The source branch HEAD has recently changed. Please reload the page and review the changes before merging.'); + }); + }); +}); diff --git a/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js index ee944f4d4e5..9a331d99865 100644 --- a/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js +++ b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js @@ -25,6 +25,9 @@ describe('getStateKey', () => { context.canBeMerged = true; expect(bound()).toEqual('readyToMerge'); + context.hasSHAChanged = true; + expect(bound()).toEqual('shaMismatch'); + context.isPipelineBlocked = true; expect(bound()).toEqual('pipelineBlocked'); diff --git a/spec/javascripts/vue_mr_widget/stores/mr_widget_store_spec.js b/spec/javascripts/vue_mr_widget/stores/mr_widget_store_spec.js new file mode 100644 index 00000000000..56dd0198ae2 --- /dev/null +++ b/spec/javascripts/vue_mr_widget/stores/mr_widget_store_spec.js @@ -0,0 +1,22 @@ +import MergeRequestStore from '~/vue_merge_request_widget/stores/mr_widget_store'; +import mockData from '../mock_data'; + +describe('MergeRequestStore', () => { + describe('setData', () => { + let store; + + beforeEach(() => { + store = new MergeRequestStore(mockData); + }); + + it('should set hasSHAChanged when the diff SHA changes', () => { + store.setData({ ...mockData, diff_head_sha: 'a-different-string' }); + expect(store.hasSHAChanged).toBe(true); + }); + + it('should not set hasSHAChanged when other data changes', () => { + store.setData({ ...mockData, work_in_progress: !mockData.work_in_progress }); + expect(store.hasSHAChanged).toBe(false); + }); + }); +}); -- GitLab From 91b4f8e30237b252059052686375f0ef7d7ec9c7 Mon Sep 17 00:00:00 2001 From: Clement Ho <clemmakesapps@gmail.com> Date: Thu, 11 May 2017 17:05:54 +0000 Subject: [PATCH 054/249] Merge branch 'use-common-vue-for-filtered-search' into 'master' Ensure filtered_search utilizes common_vue bundle See merge request !11273 --- app/views/projects/boards/_show.html.haml | 6 +++--- app/views/projects/issues/index.html.haml | 3 ++- app/views/projects/merge_requests/index.html.haml | 3 ++- config/webpack.config.js | 1 + 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/views/projects/boards/_show.html.haml b/app/views/projects/boards/_show.html.haml index 7ca0ec8ed2b..efec69662f3 100644 --- a/app/views/projects/boards/_show.html.haml +++ b/app/views/projects/boards/_show.html.haml @@ -3,9 +3,9 @@ - page_title "Boards" - content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('common_vue') - = page_specific_javascript_bundle_tag('filtered_search') - = page_specific_javascript_bundle_tag('boards') + = webpack_bundle_tag 'common_vue' + = webpack_bundle_tag 'filtered_search' + = webpack_bundle_tag 'boards' %script#js-board-template{ type: "text/x-template" }= render "projects/boards/components/board" %script#js-board-modal-filter{ type: "text/x-template" }= render "shared/issuable/search_bar", type: :boards_modal diff --git a/app/views/projects/issues/index.html.haml b/app/views/projects/issues/index.html.haml index 4ac0bc1d028..60900e9d660 100644 --- a/app/views/projects/issues/index.html.haml +++ b/app/views/projects/issues/index.html.haml @@ -7,7 +7,8 @@ = render "projects/issues/head" - content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('filtered_search') + = webpack_bundle_tag 'common_vue' + = webpack_bundle_tag 'filtered_search' = content_for :meta_tags do = auto_discovery_link_tag(:atom, params.merge(rss_url_options), title: "#{@project.name} issues") diff --git a/app/views/projects/merge_requests/index.html.haml b/app/views/projects/merge_requests/index.html.haml index 6bf0035e051..502220232a1 100644 --- a/app/views/projects/merge_requests/index.html.haml +++ b/app/views/projects/merge_requests/index.html.haml @@ -8,7 +8,8 @@ = render 'projects/last_push' - content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('filtered_search') + = webpack_bundle_tag 'common_vue' + = webpack_bundle_tag 'filtered_search' - if @project.merge_requests.exists? %div{ class: container_class } diff --git a/config/webpack.config.js b/config/webpack.config.js index 7e413c8493e..cb0ccdab74a 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -141,6 +141,7 @@ var config = { 'diff_notes', 'environments', 'environments_folder', + 'filtered_search', 'sidebar', 'issue_show', 'merge_conflicts', -- GitLab From 81f547a564693cf216d4a87afa5bcf042323b79d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Tue, 9 May 2017 10:20:58 +0000 Subject: [PATCH 055/249] Merge branch 'fix/gb/fix-skipped-manual-actions' into 'master' Fix skipped manual actions issue in pipeline processing Closes #30212 See merge request !11164 --- app/services/ci/process_pipeline_service.rb | 2 +- .../fix-gb-fix-skipped-manual-actions.yml | 4 ++++ .../ci/process_pipeline_service_spec.rb | 22 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml diff --git a/app/services/ci/process_pipeline_service.rb b/app/services/ci/process_pipeline_service.rb index 647836de384..55af193d717 100644 --- a/app/services/ci/process_pipeline_service.rb +++ b/app/services/ci/process_pipeline_service.rb @@ -52,7 +52,7 @@ module Ci when 'always' %w[success failed skipped] when 'manual' - %w[success] + %w[success skipped] else [] end diff --git a/changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml b/changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml new file mode 100644 index 00000000000..d8d4c668a44 --- /dev/null +++ b/changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml @@ -0,0 +1,4 @@ +--- +title: Fix skipped manual actions problem when processing the pipeline +merge_request: 11164 +author: diff --git a/spec/services/ci/process_pipeline_service_spec.rb b/spec/services/ci/process_pipeline_service_spec.rb index f1e1e1b6067..fc5de5d069a 100644 --- a/spec/services/ci/process_pipeline_service_spec.rb +++ b/spec/services/ci/process_pipeline_service_spec.rb @@ -268,6 +268,24 @@ describe Ci::ProcessPipelineService, '#execute', :services do end end + context 'when there are only manual actions in stages' do + before do + create_build('image', stage_idx: 0, when: 'manual', allow_failure: true) + create_build('build', stage_idx: 1, when: 'manual', allow_failure: true) + create_build('deploy', stage_idx: 2, when: 'manual') + create_build('check', stage_idx: 3) + + process_pipeline + end + + it 'processes all jobs until blocking actions encountered' do + expect(all_builds_statuses).to eq(%w[manual manual manual created]) + expect(all_builds_names).to eq(%w[image build deploy check]) + + expect(pipeline.reload).to be_blocked + end + end + context 'when blocking manual actions are defined' do before do create_build('code:test', stage_idx: 0) @@ -456,6 +474,10 @@ describe Ci::ProcessPipelineService, '#execute', :services do builds.pluck(:name) end + def all_builds_names + all_builds.pluck(:name) + end + def builds_statuses builds.pluck(:status) end -- GitLab From 3114147b0e72c35abd48110bc17fe1c8be5ab396 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Mon, 15 May 2017 17:43:42 +0000 Subject: [PATCH 056/249] Merge branch '31106-tabs-alignment' into 'master' fix Resolved Discussions counter wrapping to next line Closes #31106 See merge request !10775 --- app/assets/stylesheets/framework/nav.scss | 22 +++--- app/assets/stylesheets/pages/issuable.scss | 10 --- .../stylesheets/pages/merge_requests.scss | 20 ++++++ app/assets/stylesheets/pages/notes.scss | 9 +++ .../projects/merge_requests/_show.html.haml | 70 ++++++++++--------- .../unreleased/31106-tabs-alignment.yml | 4 ++ ...e_for_discussions_in_merge_request_spec.rb | 2 +- 7 files changed, 82 insertions(+), 55 deletions(-) create mode 100644 changelogs/unreleased/31106-tabs-alignment.yml diff --git a/app/assets/stylesheets/framework/nav.scss b/app/assets/stylesheets/framework/nav.scss index b6cf5101d60..a30364314cf 100644 --- a/app/assets/stylesheets/framework/nav.scss +++ b/app/assets/stylesheets/framework/nav.scss @@ -24,10 +24,10 @@ } @mixin scrolling-links() { - white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; + display: flex; &::-webkit-scrollbar { display: none; @@ -35,6 +35,7 @@ } .nav-links { + display: flex; padding: 0; margin: 0; list-style: none; @@ -42,17 +43,16 @@ border-bottom: 1px solid $border-color; li { - display: inline-block; + display: flex; a { - display: inline-block; padding: $gl-btn-padding; padding-bottom: 11px; - margin-bottom: -1px; font-size: 14px; line-height: 28px; color: $gl-text-color-secondary; border-bottom: 2px solid transparent; + white-space: nowrap; &:hover, &:active, @@ -85,10 +85,10 @@ .container-fluid { background-color: $gray-normal; margin-bottom: 0; + display: flex; } li { - &.active a { border-bottom: none; color: $link-underline-blue; @@ -137,9 +137,9 @@ } .nav-links { - display: inline-block; margin-bottom: 0; border-bottom: none; + float: left; &.wide { width: 100%; @@ -336,6 +336,10 @@ border-bottom: none; height: 51px; + @media (min-width: $screen-sm-min) { + justify-content: center; + } + li { a { padding-top: 10px; @@ -346,6 +350,7 @@ .scrolling-tabs-container { position: relative; + overflow: hidden; .nav-links { @include scrolling-links(); @@ -483,10 +488,7 @@ .inner-page-scroll-tabs { position: relative; - - .nav-links { - padding-bottom: 1px; - } + overflow: hidden; .fade-right { @include fade(left, $white-light); diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss index c4210ffd823..291f629c000 100644 --- a/app/assets/stylesheets/pages/issuable.scss +++ b/app/assets/stylesheets/pages/issuable.scss @@ -23,16 +23,6 @@ .merge-manually { @extend .fixed-width-container; } - - .merge-request-tabs-holder { - &.affix { - border-bottom: 1px solid $border-color; - - .nav-links { - border: 0; - } - } - } } .merge-request-details { diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 89cf57ee215..f08e27f198e 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -704,6 +704,7 @@ .merge-request-tabs-holder { background-color: $white-light; + border-bottom: 1px solid $border-color; &.affix { top: 0; @@ -720,6 +721,16 @@ padding-right: $gl-padding; } } + + .nav-links { + border: 0; + } +} + +.merge-request-tabs { + display: flex; + margin-bottom: 0; + padding: 0; } .limit-container-width { @@ -730,6 +741,15 @@ } } +.merge-request-tabs-container { + display: flex; + justify-content: space-between; + + @media (max-width: $screen-xs-max) { + flex-direction: column-reverse; + } +} + .limit-container-width:not(.container-limited) { .merge-request-tabs-holder:not(.affix) { .merge-request-tabs-container { diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss index 69c328d09ff..58533f4d00e 100644 --- a/app/assets/stylesheets/pages/notes.scss +++ b/app/assets/stylesheets/pages/notes.scss @@ -618,6 +618,15 @@ ul.notes { } .line-resolve-all-container { + @media (min-width: $screen-sm-min) { + margin-right: 0; + padding-left: $gl-padding; + } + + > div { + white-space: nowrap; + } + .btn-group { margin-left: -4px; } diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml index 25b8567b78f..b7515e1d91f 100644 --- a/app/views/projects/merge_requests/_show.html.haml +++ b/app/views/projects/merge_requests/_show.html.haml @@ -27,40 +27,42 @@ = render 'award_emoji/awards_block', awardable: @merge_request, inline: true .merge-request-tabs-holder{ class: ("js-tabs-affix" unless ENV['RAILS_ENV'] == 'test') } - .merge-request-tabs-container.scrolling-tabs-container.inner-page-scroll-tabs - .fade-left= icon('angle-left') - .fade-right= icon('angle-right') - %ul.merge-request-tabs.nav-links.scrolling-tabs - %li.notes-tab - = link_to namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#notes', action: 'notes', toggle: 'tab' } do - Discussion - %span.badge= @merge_request.related_notes.user.count - - if @merge_request.source_project - %li.commits-tab - = link_to commits_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#commits', action: 'commits', toggle: 'tab' } do - Commits - %span.badge= @commits_count - - if @pipelines.any? - %li.pipelines-tab - = link_to pipelines_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: '#pipelines', action: 'pipelines', toggle: 'tab' } do - Pipelines - %span.badge= @pipelines.size - %li.diffs-tab - = link_to diffs_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#diffs', action: 'diffs', toggle: 'tab' } do - Changes - %span.badge= @merge_request.diff_size - %li#resolve-count-app.line-resolve-all-container.pull-right.prepend-top-10.hidden-xs{ "v-cloak" => true } - %resolve-count{ "inline-template" => true, ":logged-out" => "#{current_user.nil?}" } - %div - .line-resolve-all{ "v-show" => "discussionCount > 0", - ":class" => "{ 'has-next-btn': !loggedOut && resolvedDiscussionCount !== discussionCount }" } - %span.line-resolve-btn.is-disabled{ type: "button", - ":class" => "{ 'is-active': resolvedDiscussionCount === discussionCount }" } - = render "shared/icons/icon_status_success.svg" - %span.line-resolve-text - {{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved - = render "discussions/new_issue_for_all_discussions", merge_request: @merge_request - = render "discussions/jump_to_next" + .merge-request-tabs-container + .scrolling-tabs-container.inner-page-scroll-tabs.is-smaller + .fade-left= icon('angle-left') + .fade-right= icon('angle-right') + .nav-links.scrolling-tabs + %ul.merge-request-tabs + %li.notes-tab + = link_to namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#notes', action: 'notes', toggle: 'tab' } do + Discussion + %span.badge= @merge_request.related_notes.user.count + - if @merge_request.source_project + %li.commits-tab + = link_to commits_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#commits', action: 'commits', toggle: 'tab' } do + Commits + %span.badge= @commits_count + - if @pipelines.any? + %li.pipelines-tab + = link_to pipelines_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: '#pipelines', action: 'pipelines', toggle: 'tab' } do + Pipelines + %span.badge= @pipelines.size + %li.diffs-tab + = link_to diffs_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#diffs', action: 'diffs', toggle: 'tab' } do + Changes + %span.badge= @merge_request.diff_size + #resolve-count-app.line-resolve-all-container.prepend-top-10{ "v-cloak" => true } + %resolve-count{ "inline-template" => true, ":logged-out" => "#{current_user.nil?}" } + %div + .line-resolve-all{ "v-show" => "discussionCount > 0", + ":class" => "{ 'has-next-btn': !loggedOut && resolvedDiscussionCount !== discussionCount }" } + %span.line-resolve-btn.is-disabled{ type: "button", + ":class" => "{ 'is-active': resolvedDiscussionCount === discussionCount }" } + = render "shared/icons/icon_status_success.svg" + %span.line-resolve-text + {{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved + = render "discussions/new_issue_for_all_discussions", merge_request: @merge_request + = render "discussions/jump_to_next" .tab-content#diff-notes-app #notes.notes.tab-pane.voting_notes diff --git a/changelogs/unreleased/31106-tabs-alignment.yml b/changelogs/unreleased/31106-tabs-alignment.yml new file mode 100644 index 00000000000..53da08cc32d --- /dev/null +++ b/changelogs/unreleased/31106-tabs-alignment.yml @@ -0,0 +1,4 @@ +--- +title: prevent nav tabs from wrapping to new line +merge_request: +author: diff --git a/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb b/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb index dc13cab2cd1..24e2419b5ce 100644 --- a/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb +++ b/spec/features/issues/create_issue_for_discussions_in_merge_request_spec.rb @@ -14,7 +14,7 @@ feature 'Resolving all open discussions in a merge request from an issue', featu end it 'shows a button to resolve all discussions by creating a new issue' do - within('li#resolve-count-app') do + within('#resolve-count-app') do expect(page).to have_link "Resolve all discussions in new issue", href: new_namespace_project_issue_path(project.namespace, project, merge_request_to_resolve_discussions_of: merge_request.iid) end end -- GitLab From 5a0cc1b34913b1f2242e474560ae6e9def1ff282 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 18 May 2017 16:15:57 +0100 Subject: [PATCH 057/249] Initial render of issue title & description Instead of wait for Vue for data which can cause a flash of no content depending on how quickly the API returns data. This renders the data with HAML & then passes this over to Vue to render --- app/assets/javascripts/issue_show/index.js | 4 ++++ .../issue_show/issue_title_description.vue | 16 ++++++++++++---- app/views/projects/issues/show.html.haml | 5 +++++ .../issue_show/issue_title_description_spec.js | 5 +++++ 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/issue_show/index.js b/app/assets/javascripts/issue_show/index.js index 6dba7b90716..9056f978df9 100644 --- a/app/assets/javascripts/issue_show/index.js +++ b/app/assets/javascripts/issue_show/index.js @@ -4,6 +4,8 @@ import '../vue_shared/vue_resource_interceptor'; (() => { const issueTitleData = document.querySelector('.issue-title-data').dataset; + const initialTitle = document.querySelector('.js-issue-title').innerHTML; + const initialDescription = document.querySelector('.js-issue-description').innerHTML; const { canUpdateTasksClass, endpoint, isEdited } = issueTitleData; const vm = new Vue({ @@ -13,6 +15,8 @@ import '../vue_shared/vue_resource_interceptor'; canUpdateTasksClass, endpoint, isEdited, + initialTitle, + initialDescription, }, }), }); diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue index 3f77ba22d23..920fbdfea6b 100644 --- a/app/assets/javascripts/issue_show/issue_title_description.vue +++ b/app/assets/javascripts/issue_show/issue_title_description.vue @@ -20,6 +20,14 @@ export default { default: false, required: false, }, + initialTitle: { + type: String, + required: true, + }, + initialDescription: { + type: String, + required: true, + }, }, data() { const resource = new Service(this.$http, this.endpoint); @@ -39,17 +47,17 @@ export default { poll, apiData: {}, tasks: '0 of 0', - title: null, + title: this.initialTitle, titleText: '', titleFlag: { - pre: true, + pre: false, pulse: false, }, - description: null, + description: this.initialDescription, descriptionText: '', descriptionChange: false, descriptionFlag: { - pre: true, + pre: false, pulse: false, }, titleEl: document.querySelector('title'), diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml index 0ad615535d7..ce6e0f91999 100644 --- a/app/views/projects/issues/show.html.haml +++ b/app/views/projects/issues/show.html.haml @@ -56,6 +56,11 @@ "is-edited": @issue.is_edited?, } } .issue-title-entrypoint + %h2.title.js-issue-title= markdown_field(@issue, :title) + - if @issue.description.present? + .description{ class: can?(current_user, :update_issue, @issue) ? 'js-task-list-container' : '' } + .wiki.js-issue-description= markdown_field(@issue, :description) + %textarea.hidden.js-task-list-field= @issue.description #merge-requests{ data: { url: referenced_merge_requests_namespace_project_issue_url(@project.namespace, @project, @issue) } } // This element is filled in using JavaScript. diff --git a/spec/javascripts/issue_show/issue_title_description_spec.js b/spec/javascripts/issue_show/issue_title_description_spec.js index 8180e67255c..992ff1a331f 100644 --- a/spec/javascripts/issue_show/issue_title_description_spec.js +++ b/spec/javascripts/issue_show/issue_title_description_spec.js @@ -40,9 +40,14 @@ describe('Issue Title', () => { propsData: { canUpdateIssue: '.css-stuff', endpoint: '/gitlab-org/gitlab-shell/issues/9/rendered_title', + initialTitle: 'test', + initialDescription: 'testing', }, }).$mount(); + expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('test'); + expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('testing'); + setTimeout(() => { const editedText = issueShowComponent.$el.querySelector('.edited-text'); -- GitLab From afcfbdac82d36ba919f2de8ff6885b65220ca49a Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" <lbennett@gitlab.com> Date: Thu, 18 May 2017 15:26:16 +0000 Subject: [PATCH 058/249] Resolve merge_requests.scss conflict --- app/assets/stylesheets/pages/merge_requests.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 2cefd5e1e83..fb99a23edf9 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -704,11 +704,7 @@ } .merge-request-tabs-holder { -<<<<<<< HEAD -======= - top: $header-height; z-index: 100; ->>>>>>> 3460f36... Merge branch 'fix-merge-request-show-component-z-indices' into 'master' background-color: $white-light; &.affix { -- GitLab From 042f0a3088e4271e67888f8794203999fd94e697 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 18 May 2017 17:00:39 +0100 Subject: [PATCH 059/249] fixed JS issue when description doesnt exist on the page --- app/assets/javascripts/issue_show/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/issue_show/index.js b/app/assets/javascripts/issue_show/index.js index 9056f978df9..3401fc8d83b 100644 --- a/app/assets/javascripts/issue_show/index.js +++ b/app/assets/javascripts/issue_show/index.js @@ -5,7 +5,7 @@ import '../vue_shared/vue_resource_interceptor'; (() => { const issueTitleData = document.querySelector('.issue-title-data').dataset; const initialTitle = document.querySelector('.js-issue-title').innerHTML; - const initialDescription = document.querySelector('.js-issue-description').innerHTML; + const initialDescription = document.querySelector('.js-issue-description'); const { canUpdateTasksClass, endpoint, isEdited } = issueTitleData; const vm = new Vue({ @@ -16,7 +16,7 @@ import '../vue_shared/vue_resource_interceptor'; endpoint, isEdited, initialTitle, - initialDescription, + initialDescription: initialDescription ? initialDescription.innerHTML : '', }, }), }); -- GitLab From fb6aeee2ecec8621314db5b22a1b3c715ecb8a99 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Sun, 14 May 2017 16:32:23 +0000 Subject: [PATCH 060/249] Merge branch 'use-common-vue-for-pipeline-schedule-bundles' into 'master' Ensure schedule_form and schedules_index both utilize common_vue bundle See merge request !11274 --- app/views/projects/pipeline_schedules/_form.html.haml | 3 ++- app/views/projects/pipeline_schedules/index.html.haml | 4 ++-- config/webpack.config.js | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/views/projects/pipeline_schedules/_form.html.haml b/app/views/projects/pipeline_schedules/_form.html.haml index 4a21cce024e..1de9610c17e 100644 --- a/app/views/projects/pipeline_schedules/_form.html.haml +++ b/app/views/projects/pipeline_schedules/_form.html.haml @@ -1,5 +1,6 @@ - content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('schedule_form') + = webpack_bundle_tag 'common_vue' + = webpack_bundle_tag 'schedule_form' = form_for [@project.namespace.becomes(Namespace), @project, @schedule], as: :schedule, html: { id: "new-pipeline-schedule-form", class: "form-horizontal js-pipeline-schedule-form" } do |f| = form_errors(@schedule) diff --git a/app/views/projects/pipeline_schedules/index.html.haml b/app/views/projects/pipeline_schedules/index.html.haml index dd35c3055f2..a2f3ee31d3d 100644 --- a/app/views/projects/pipeline_schedules/index.html.haml +++ b/app/views/projects/pipeline_schedules/index.html.haml @@ -1,5 +1,6 @@ - content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('schedules_index') + = webpack_bundle_tag 'common_vue' + = webpack_bundle_tag 'schedules_index' - @no_container = true - page_title "Pipeline Schedules" @@ -21,4 +22,3 @@ - else .light-well .nothing-here-block No schedules - diff --git a/config/webpack.config.js b/config/webpack.config.js index cb0ccdab74a..786148ebd0e 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -142,7 +142,6 @@ var config = { 'environments', 'environments_folder', 'filtered_search', - 'sidebar', 'issue_show', 'merge_conflicts', 'notebook_viewer', @@ -150,6 +149,9 @@ var config = { 'pipelines', 'balsamiq_viewer', 'pipelines_graph', + 'schedule_form', + 'schedules_index', + 'sidebar', ], minChunks: function(module, count) { return module.resource && (/vue_shared/).test(module.resource); -- GitLab From 622c71ef370ecd8435d0d4ea7093094e594dce1e Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Tue, 16 May 2017 20:09:14 +0000 Subject: [PATCH 061/249] Merge branch 'use-common-vue-for-merge-request-widget' into 'master' Ensure vue_merge_request_widget utilizes common_vue bundle See merge request !11269 --- app/views/projects/merge_requests/_show.html.haml | 3 ++- config/webpack.config.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml index 25b8567b78f..e9e8d947c42 100644 --- a/app/views/projects/merge_requests/_show.html.haml +++ b/app/views/projects/merge_requests/_show.html.haml @@ -21,7 +21,8 @@ #js-vue-mr-widget.mr-widget - content_for :page_specific_javascripts do - = page_specific_javascript_bundle_tag('vue_merge_request_widget') + = webpack_bundle_tag 'common_vue' + = webpack_bundle_tag 'vue_merge_request_widget' .content-block.content-block-small.emoji-list-container = render 'award_emoji/awards_block', awardable: @merge_request, inline: true diff --git a/config/webpack.config.js b/config/webpack.config.js index 786148ebd0e..75bc3c5fdbb 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -152,6 +152,7 @@ var config = { 'schedule_form', 'schedules_index', 'sidebar', + 'vue_merge_request_widget', ], minChunks: function(module, count) { return module.resource && (/vue_shared/).test(module.resource); -- GitLab From 4d23dd6788b67741dcfa5c516c1ab36fc48f94fe Mon Sep 17 00:00:00 2001 From: Andrew Newdigate <andrew@gitlab.com> Date: Thu, 18 May 2017 17:38:32 +0000 Subject: [PATCH 062/249] Gitaly reuse stubs --- app/models/repository.rb | 2 - config/initializers/8_gitaly.rb | 6 ++- lib/gitlab/git/repository.rb | 14 +++-- lib/gitlab/gitaly_client.rb | 64 +++++++++-------------- lib/gitlab/gitaly_client/commit.rb | 7 +-- lib/gitlab/gitaly_client/notifications.rb | 2 +- lib/gitlab/gitaly_client/ref.rb | 2 +- lib/gitlab/workhorse.rb | 2 +- spec/lib/gitlab/gitaly_client_spec.rb | 21 +++++--- spec/lib/gitlab/workhorse_spec.rb | 2 +- spec/support/test_env.rb | 5 +- spec/tasks/gitlab/backup_rake_spec.rb | 1 - 12 files changed, 61 insertions(+), 67 deletions(-) diff --git a/app/models/repository.rb b/app/models/repository.rb index 0c797dd5814..00b11ecef9f 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -1150,8 +1150,6 @@ class Repository @project.repository_storage_path end - delegate :gitaly_channel, :gitaly_repository, to: :raw_repository - def initialize_raw_repository Gitlab::Git::Repository.new(project.repository_storage, path_with_namespace + '.git') end diff --git a/config/initializers/8_gitaly.rb b/config/initializers/8_gitaly.rb index 42ec7240b0f..31c7c91d78f 100644 --- a/config/initializers/8_gitaly.rb +++ b/config/initializers/8_gitaly.rb @@ -1,6 +1,8 @@ require 'uri' -# Make sure we initialize our Gitaly channels before Sidekiq starts multi-threaded execution. if Gitlab.config.gitaly.enabled || Rails.env.test? - Gitlab::GitalyClient.configure_channels + Gitlab.config.repositories.storages.keys.each do |storage| + # Force validation of each address + Gitlab::GitalyClient.address(storage) + end end diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 6a0f12b7e50..9386f06e6a6 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -27,13 +27,15 @@ module Gitlab # Rugged repo object attr_reader :rugged + attr_reader :storage + # 'path' must be the path to a _bare_ git repository, e.g. # /path/to/my-repo.git - def initialize(repository_storage, relative_path) - @repository_storage = repository_storage + def initialize(storage, relative_path) + @storage = storage @relative_path = relative_path - storage_path = Gitlab.config.repositories.storages[@repository_storage]['path'] + storage_path = Gitlab.config.repositories.storages[@storage]['path'] @path = File.join(storage_path, @relative_path) @name = @relative_path.split("/").last @attributes = Gitlab::Git::Attributes.new(path) @@ -965,11 +967,7 @@ module Gitlab end def gitaly_repository - Gitlab::GitalyClient::Util.repository(@repository_storage, @relative_path) - end - - def gitaly_channel - Gitlab::GitalyClient.get_channel(@repository_storage) + Gitlab::GitalyClient::Util.repository(@storage, @relative_path) end private diff --git a/lib/gitlab/gitaly_client.rb b/lib/gitlab/gitaly_client.rb index c69676a1dac..72466700c05 100644 --- a/lib/gitlab/gitaly_client.rb +++ b/lib/gitlab/gitaly_client.rb @@ -4,56 +4,42 @@ module Gitlab module GitalyClient SERVER_VERSION_FILE = 'GITALY_SERVER_VERSION'.freeze - # This function is not thread-safe because it updates Hashes in instance variables. - def self.configure_channels - @addresses = {} - @channels = {} - Gitlab.config.repositories.storages.each do |name, params| - address = params['gitaly_address'] - unless address.present? - raise "storage #{name.inspect} is missing a gitaly_address" - end + MUTEX = Mutex.new + private_constant :MUTEX - unless URI(address).scheme.in?(%w(tcp unix)) - raise "Unsupported Gitaly address: #{address.inspect} does not use URL scheme 'tcp' or 'unix'" + def self.stub(name, storage) + MUTEX.synchronize do + @stubs ||= {} + @stubs[storage] ||= {} + @stubs[storage][name] ||= begin + klass = Gitaly.const_get(name.to_s.camelcase.to_sym).const_get(:Stub) + addr = address(storage) + addr = addr.sub(%r{^tcp://}, '') if URI(addr).scheme == 'tcp' + klass.new(addr, :this_channel_is_insecure) end - - @addresses[name] = address - @channels[name] = new_channel(address) end end - def self.new_channel(address) - address = address.sub(%r{^tcp://}, '') if URI(address).scheme == 'tcp' - # NOTE: When Gitaly runs on a Unix socket, permissions are - # handled using the file system and no additional authentication is - # required (therefore the :this_channel_is_insecure flag) - # TODO: Add authentication support when Gitaly is running on a TCP socket. - GRPC::Core::Channel.new(address, {}, :this_channel_is_insecure) + def self.clear_stubs! + MUTEX.synchronize do + @stubs = nil + end end - def self.get_channel(storage) - if !Rails.env.production? && @channels.nil? - # In development mode the Rails auto-loader may reset the instance - # variables of this class. What we do here is not thread-safe. In normal - # circumstances (including production) these instance variables have - # been initialized from config/initializers. - configure_channels - end + def self.address(storage) + params = Gitlab.config.repositories.storages[storage] + raise "storage not found: #{storage.inspect}" if params.nil? - @channels[storage] - end + address = params['gitaly_address'] + unless address.present? + raise "storage #{storage.inspect} is missing a gitaly_address" + end - def self.get_address(storage) - if !Rails.env.production? && @addresses.nil? - # In development mode the Rails auto-loader may reset the instance - # variables of this class. What we do here is not thread-safe. In normal - # circumstances (including development) these instance variables have - # been initialized from config/initializers. - configure_channels + unless URI(address).scheme.in?(%w(tcp unix)) + raise "Unsupported Gitaly address: #{address.inspect} does not use URL scheme 'tcp' or 'unix'" end - @addresses[storage] + address end def self.enabled? diff --git a/lib/gitlab/gitaly_client/commit.rb b/lib/gitlab/gitaly_client/commit.rb index 0b001a9903d..01cdc1ac14f 100644 --- a/lib/gitlab/gitaly_client/commit.rb +++ b/lib/gitlab/gitaly_client/commit.rb @@ -9,24 +9,25 @@ module Gitlab def initialize(repository) @gitaly_repo = repository.gitaly_repository - @stub = Gitaly::Commit::Stub.new(nil, nil, channel_override: repository.gitaly_channel) + @repository = repository end def is_ancestor(ancestor_id, child_id) + stub = GitalyClient.stub(:commit, @repository.storage) request = Gitaly::CommitIsAncestorRequest.new( repository: @gitaly_repo, ancestor_id: ancestor_id, child_id: child_id ) - @stub.commit_is_ancestor(request).value + stub.commit_is_ancestor(request).value end class << self def diff_from_parent(commit, options = {}) repository = commit.project.repository gitaly_repo = repository.gitaly_repository - stub = Gitaly::Diff::Stub.new(nil, nil, channel_override: repository.gitaly_channel) + stub = GitalyClient.stub(:diff, repository.storage) parent = commit.parents[0] parent_id = parent ? parent.id : EMPTY_TREE_ID request = Gitaly::CommitDiffRequest.new( diff --git a/lib/gitlab/gitaly_client/notifications.rb b/lib/gitlab/gitaly_client/notifications.rb index a94a54883db..719554eac52 100644 --- a/lib/gitlab/gitaly_client/notifications.rb +++ b/lib/gitlab/gitaly_client/notifications.rb @@ -6,7 +6,7 @@ module Gitlab # 'repository' is a Gitlab::Git::Repository def initialize(repository) @gitaly_repo = repository.gitaly_repository - @stub = Gitaly::Notifications::Stub.new(nil, nil, channel_override: repository.gitaly_channel) + @stub = GitalyClient.stub(:notifications, repository.storage) end def post_receive diff --git a/lib/gitlab/gitaly_client/ref.rb b/lib/gitlab/gitaly_client/ref.rb index f6c77ef1a3e..bf04e1fa50b 100644 --- a/lib/gitlab/gitaly_client/ref.rb +++ b/lib/gitlab/gitaly_client/ref.rb @@ -6,7 +6,7 @@ module Gitlab # 'repository' is a Gitlab::Git::Repository def initialize(repository) @gitaly_repo = repository.gitaly_repository - @stub = Gitaly::Ref::Stub.new(nil, nil, channel_override: repository.gitaly_channel) + @stub = GitalyClient.stub(:ref, repository.storage) end def default_branch_name diff --git a/lib/gitlab/workhorse.rb b/lib/gitlab/workhorse.rb index 8c5ad01e8c2..72875bdaa17 100644 --- a/lib/gitlab/workhorse.rb +++ b/lib/gitlab/workhorse.rb @@ -26,7 +26,7 @@ module Gitlab } if Gitlab.config.gitaly.enabled - address = Gitlab::GitalyClient.get_address(project.repository_storage) + address = Gitlab::GitalyClient.address(project.repository_storage) params[:Repository] = repository.gitaly_repository.to_h feature_enabled = case action.to_s diff --git a/spec/lib/gitlab/gitaly_client_spec.rb b/spec/lib/gitlab/gitaly_client_spec.rb index 55fcf91fb6e..08ee0dff6b2 100644 --- a/spec/lib/gitlab/gitaly_client_spec.rb +++ b/spec/lib/gitlab/gitaly_client_spec.rb @@ -1,14 +1,19 @@ require 'spec_helper' describe Gitlab::GitalyClient, lib: true do - describe '.new_channel' do + describe '.stub' do + before { described_class.clear_stubs! } + context 'when passed a UNIX socket address' do - it 'passes the address as-is to GRPC::Core::Channel initializer' do + it 'passes the address as-is to GRPC' do address = 'unix:/tmp/gitaly.sock' + allow(Gitlab.config.repositories).to receive(:storages).and_return({ + 'default' => { 'gitaly_address' => address } + }) - expect(GRPC::Core::Channel).to receive(:new).with(address, any_args) + expect(Gitaly::Commit::Stub).to receive(:new).with(address, any_args) - described_class.new_channel(address) + described_class.stub(:commit, 'default') end end @@ -17,9 +22,13 @@ describe Gitlab::GitalyClient, lib: true do address = 'localhost:9876' prefixed_address = "tcp://#{address}" - expect(GRPC::Core::Channel).to receive(:new).with(address, any_args) + allow(Gitlab.config.repositories).to receive(:storages).and_return({ + 'default' => { 'gitaly_address' => prefixed_address } + }) + + expect(Gitaly::Commit::Stub).to receive(:new).with(address, any_args) - described_class.new_channel(prefixed_address) + described_class.stub(:commit, 'default') end end end diff --git a/spec/lib/gitlab/workhorse_spec.rb b/spec/lib/gitlab/workhorse_spec.rb index beb1791a429..093f9301603 100644 --- a/spec/lib/gitlab/workhorse_spec.rb +++ b/spec/lib/gitlab/workhorse_spec.rb @@ -202,7 +202,7 @@ describe Gitlab::Workhorse, lib: true do context 'when Gitaly is enabled' do let(:gitaly_params) do { - GitalyAddress: Gitlab::GitalyClient.get_address('default'), + GitalyAddress: Gitlab::GitalyClient.address('default') } end diff --git a/spec/support/test_env.rb b/spec/support/test_env.rb index 8e31c26591b..9bf9dc5d4b2 100644 --- a/spec/support/test_env.rb +++ b/spec/support/test_env.rb @@ -120,7 +120,7 @@ module TestEnv end def setup_gitaly - socket_path = Gitlab::GitalyClient.get_address('default').sub(/\Aunix:/, '') + socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '') gitaly_dir = File.dirname(socket_path) unless File.directory?(gitaly_dir) || system('rake', "gitlab:gitaly:install[#{gitaly_dir}]") @@ -133,7 +133,8 @@ module TestEnv def start_gitaly(gitaly_dir) gitaly_exec = File.join(gitaly_dir, 'gitaly') gitaly_config = File.join(gitaly_dir, 'config.toml') - @gitaly_pid = spawn(gitaly_exec, gitaly_config, [:out, :err] => '/dev/null') + log_file = Rails.root.join('log/gitaly-test.log').to_s + @gitaly_pid = spawn(gitaly_exec, gitaly_config, [:out, :err] => log_file) end def stop_gitaly diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb index 4def113dd77..0ff1a988a9e 100644 --- a/spec/tasks/gitlab/backup_rake_spec.rb +++ b/spec/tasks/gitlab/backup_rake_spec.rb @@ -236,7 +236,6 @@ describe 'gitlab:app namespace rake task' do 'custom' => { 'path' => Settings.absolute('tmp/tests/custom_storage'), 'gitaly_address' => gitaly_address } } allow(Gitlab.config.repositories).to receive(:storages).and_return(storages) - Gitlab::GitalyClient.configure_channels # Create the projects now, after mocking the settings but before doing the backup project_a -- GitLab From 8cba1f51668d11918a963ca46f78e26b9c8d0836 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Thu, 18 May 2017 15:27:11 +0000 Subject: [PATCH 063/249] Merge branch 'mk-fix-issue-1843' into 'master' Fix root groups redirecting to group owner Closes #32474 See merge request !11465 --- app/models/namespace.rb | 2 +- app/models/user.rb | 2 +- spec/models/user_spec.rb | 16 +++++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/models/namespace.rb b/app/models/namespace.rb index 397dc7a25ab..d6b0ab0e52c 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -46,7 +46,7 @@ class Namespace < ActiveRecord::Base before_destroy(prepend: true) { prepare_for_destroy } after_destroy :rm_dir - scope :root, -> { where('type IS NULL') } + scope :for_user, -> { where('type IS NULL') } scope :with_statistics, -> do joins('LEFT JOIN project_statistics ps ON ps.namespace_id = namespaces.id') diff --git a/app/models/user.rb b/app/models/user.rb index 4e5f94683b8..3228081a999 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -338,7 +338,7 @@ class User < ActiveRecord::Base end def find_by_full_path(path, follow_redirects: false) - namespace = Namespace.find_by_full_path(path, follow_redirects: follow_redirects) + namespace = Namespace.for_user.find_by_full_path(path, follow_redirects: follow_redirects) namespace&.owner end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 63e71f5ff2f..9be4996192b 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -900,10 +900,20 @@ describe User, models: true do end context 'with a group route matching the given path' do - let!(:group) { create(:group, path: 'group_path') } + context 'when the group namespace has an owner_id (legacy data)' do + let!(:group) { create(:group, path: 'group_path', owner: user) } - it 'returns nil' do - expect(User.find_by_full_path('group_path')).to eq(nil) + it 'returns nil' do + expect(User.find_by_full_path('group_path')).to eq(nil) + end + end + + context 'when the group namespace does not have an owner_id' do + let!(:group) { create(:group, path: 'group_path') } + + it 'returns nil' do + expect(User.find_by_full_path('group_path')).to eq(nil) + end end end end -- GitLab From 229b1e2e603fb45df32a7e3fe0e90438a9ff7c4f Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Tue, 16 May 2017 19:37:16 +0000 Subject: [PATCH 064/249] Merge branch '32326-scrollable-tabs-overflow' into 'master' prevent dropdowns from being cut-off by scrollable tab container Closes #32328 and #32326 See merge request !11399 Conflicts: app/assets/stylesheets/framework/nav.scss --- app/assets/javascripts/diff_notes/diff_notes_bundle.js | 2 ++ app/assets/stylesheets/framework/nav.scss | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/diff_notes/diff_notes_bundle.js b/app/assets/javascripts/diff_notes/diff_notes_bundle.js index b6b47e2da6f..fdd27534e0e 100644 --- a/app/assets/javascripts/diff_notes/diff_notes_bundle.js +++ b/app/assets/javascripts/diff_notes/diff_notes_bundle.js @@ -65,4 +65,6 @@ $(() => { 'resolve-count': ResolveCount } }); + + $(window).trigger('resize.nav'); }); diff --git a/app/assets/stylesheets/framework/nav.scss b/app/assets/stylesheets/framework/nav.scss index a30364314cf..b1b9b680cfe 100644 --- a/app/assets/stylesheets/framework/nav.scss +++ b/app/assets/stylesheets/framework/nav.scss @@ -352,6 +352,10 @@ position: relative; overflow: hidden; + .merge-request-tabs-container & { + overflow: hidden; + } + .nav-links { @include scrolling-links(); } @@ -488,7 +492,10 @@ .inner-page-scroll-tabs { position: relative; - overflow: hidden; + + .nav-links { + padding-bottom: 1px; + } .fade-right { @include fade(left, $white-light); -- GitLab From 57e4f68ff8b9fffb80b2188db1f8d3a16ac5a7e6 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Thu, 18 May 2017 09:41:49 -0500 Subject: [PATCH 065/249] Fix conflicts --- app/assets/stylesheets/framework/nav.scss | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/assets/stylesheets/framework/nav.scss b/app/assets/stylesheets/framework/nav.scss index b1b9b680cfe..c5460d280ce 100644 --- a/app/assets/stylesheets/framework/nav.scss +++ b/app/assets/stylesheets/framework/nav.scss @@ -350,7 +350,6 @@ .scrolling-tabs-container { position: relative; - overflow: hidden; .merge-request-tabs-container & { overflow: hidden; @@ -493,10 +492,6 @@ .inner-page-scroll-tabs { position: relative; - .nav-links { - padding-bottom: 1px; - } - .fade-right { @include fade(left, $white-light); right: 0; -- GitLab From a975cb8d837a124810f51f8eaf074e2de489ceea Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Thu, 18 May 2017 13:56:58 -0600 Subject: [PATCH 066/249] Update VERSION to 9.2.0-rc5 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 43cd586a3b3..c031d301d79 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-rc4 +9.2.0-rc5 -- GitLab From b8ca5c784ca8c5eea886f04c0b03cdac729bae9c Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@selenight.nl> Date: Thu, 18 May 2017 15:49:38 -0500 Subject: [PATCH 067/249] Stop MR conflict code from blowing up when branches are missing --- app/models/merge_request.rb | 3 +++ lib/gitlab/diff/position_tracer.rb | 2 +- spec/models/merge_request_spec.rb | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 1b6904aa077..e88a86ea0f0 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -299,6 +299,8 @@ class MergeRequest < ActiveRecord::Base attr_writer :target_branch_sha, :source_branch_sha def source_branch_head + return unless source_project + source_branch_ref = @source_branch_sha || source_branch source_project.repository.commit(source_branch_ref) if source_branch_ref end @@ -919,6 +921,7 @@ class MergeRequest < ActiveRecord::Base return @conflicts_can_be_resolved_in_ui = false unless cannot_be_merged? return @conflicts_can_be_resolved_in_ui = false unless has_complete_diff_refs? + return @conflicts_can_be_resolved_in_ui = false if branch_missing? begin # Try to parse each conflict. If the MR's mergeable status hasn't been updated, diff --git a/lib/gitlab/diff/position_tracer.rb b/lib/gitlab/diff/position_tracer.rb index c7542a8fabc..e89ff238ec7 100644 --- a/lib/gitlab/diff/position_tracer.rb +++ b/lib/gitlab/diff/position_tracer.rb @@ -16,7 +16,7 @@ module Gitlab end def trace(old_position) - return unless old_diff_refs.complete? && new_diff_refs.complete? + return unless old_diff_refs&.complete? && new_diff_refs&.complete? return unless old_position.diff_refs == old_diff_refs # Suppose we have an MR with source branch `feature` and target branch `master`. diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 6cf3dd30ead..a6fd89c8e5d 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -1335,6 +1335,13 @@ describe MergeRequest, models: true do expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey end + it 'returns a falsey value when one of the MR branches is missing' do + merge_request = create_merge_request('conflict-resolvable') + merge_request.project.repository.rm_branch(merge_request.author, 'conflict-resolvable') + + expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey + end + it 'returns a falsey value when the MR has a missing ref after a force push' do merge_request = create_merge_request('conflict-resolvable') allow(merge_request.conflicts).to receive(:merge_index).and_raise(Rugged::OdbError) -- GitLab From a72a3cc25140b68f0868e834c2e246982fa9f44d Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Tue, 16 May 2017 20:13:02 +0000 Subject: [PATCH 068/249] Merge branch 'reenable-gitaly-ref-name' into 'master' Re-enable gitaly migration for ref_name_for_sha after bugfixes See merge request !11310 --- lib/gitlab/git/repository.rb | 26 ++++++++++---------- lib/gitlab/gitaly_client/ref.rb | 2 +- spec/lib/gitlab/git/repository_spec.rb | 25 +++++++++++++++++++ spec/models/repository_spec.rb | 33 +++++++++++--------------- 4 files changed, 53 insertions(+), 33 deletions(-) diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 9386f06e6a6..239dc663598 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -471,19 +471,19 @@ module Gitlab # Returns a RefName for a given SHA def ref_name_for_sha(ref_path, sha) - # NOTE: This feature is intentionally disabled until - # https://gitlab.com/gitlab-org/gitaly/issues/180 is resolved - # Gitlab::GitalyClient.migrate(:find_ref_name) do |is_enabled| - # if is_enabled - # gitaly_ref_client.find_ref_name(sha, ref_path) - # else - args = %W(#{Gitlab.config.git.bin_path} for-each-ref --count=1 #{ref_path} --contains #{sha}) - - # Not found -> ["", 0] - # Found -> ["b8d95eb4969eefacb0a58f6a28f6803f8070e7b9 commit\trefs/environments/production/77\n", 0] - Gitlab::Popen.popen(args, @path).first.split.last - # end - # end + raise ArgumentError, "sha can't be empty" unless sha.present? + + gitaly_migrate(:find_ref_name) do |is_enabled| + if is_enabled + gitaly_ref_client.find_ref_name(sha, ref_path) + else + args = %W(#{Gitlab.config.git.bin_path} for-each-ref --count=1 #{ref_path} --contains #{sha}) + + # Not found -> ["", 0] + # Found -> ["b8d95eb4969eefacb0a58f6a28f6803f8070e7b9 commit\trefs/environments/production/77\n", 0] + Gitlab::Popen.popen(args, @path).first.split.last + end + end end # Returns commits collection diff --git a/lib/gitlab/gitaly_client/ref.rb b/lib/gitlab/gitaly_client/ref.rb index bf04e1fa50b..53c43e28df8 100644 --- a/lib/gitlab/gitaly_client/ref.rb +++ b/lib/gitlab/gitaly_client/ref.rb @@ -28,7 +28,7 @@ module Gitlab def find_ref_name(commit_id, ref_prefix) request = Gitaly::FindRefNameRequest.new( - repository: @repository, + repository: @gitaly_repo, commit_id: commit_id, prefix: ref_prefix ) diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index fea186fd4f4..53d492b8f74 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -26,6 +26,7 @@ describe Gitlab::Git::Repository, seed_helper: true do context 'with gitaly enabled' do before { stub_gitaly } + after { Gitlab::GitalyClient.clear_stubs! } it 'gets the branch name from GitalyClient' do expect_any_instance_of(Gitlab::GitalyClient::Ref).to receive(:default_branch_name) @@ -120,6 +121,7 @@ describe Gitlab::Git::Repository, seed_helper: true do context 'with gitaly enabled' do before { stub_gitaly } + after { Gitlab::GitalyClient.clear_stubs! } it 'gets the branch names from GitalyClient' do expect_any_instance_of(Gitlab::GitalyClient::Ref).to receive(:branch_names) @@ -157,6 +159,7 @@ describe Gitlab::Git::Repository, seed_helper: true do context 'with gitaly enabled' do before { stub_gitaly } + after { Gitlab::GitalyClient.clear_stubs! } it 'gets the tag names from GitalyClient' do expect_any_instance_of(Gitlab::GitalyClient::Ref).to receive(:tag_names) @@ -1046,6 +1049,28 @@ describe Gitlab::Git::Repository, seed_helper: true do end end + describe '#ref_name_for_sha' do + let(:ref_path) { 'refs/heads' } + let(:sha) { repository.find_branch('master').dereferenced_target.id } + let(:ref_name) { 'refs/heads/master' } + + it 'returns the ref name for the given sha' do + expect(repository.ref_name_for_sha(ref_path, sha)).to eq(ref_name) + end + + it "returns an empty name if the ref doesn't exist" do + expect(repository.ref_name_for_sha(ref_path, "000000")).to eq("") + end + + it "raise an exception if the ref is empty" do + expect { repository.ref_name_for_sha(ref_path, "") }.to raise_error(ArgumentError) + end + + it "raise an exception if the ref is nil" do + expect { repository.ref_name_for_sha(ref_path, nil) }.to raise_error(ArgumentError) + end + end + describe '#find_commits' do it 'should return a return a collection of commits' do commits = repository.find_commits diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index dd6514b3b50..3209589ca52 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -110,22 +110,11 @@ describe Repository, models: true do end describe '#ref_name_for_sha' do - context 'ref found' do - it 'returns the ref' do - allow_any_instance_of(Gitlab::Popen).to receive(:popen). - and_return(["b8d95eb4969eefacb0a58f6a28f6803f8070e7b9 commit\trefs/environments/production/77\n", 0]) + it 'returns the ref' do + allow(repository.raw_repository).to receive(:ref_name_for_sha). + and_return('refs/environments/production/77') - expect(repository.ref_name_for_sha('bla', '0' * 40)).to eq 'refs/environments/production/77' - end - end - - context 'ref not found' do - it 'returns nil' do - allow_any_instance_of(Gitlab::Popen).to receive(:popen). - and_return(["", 0]) - - expect(repository.ref_name_for_sha('bla', '0' * 40)).to eq nil - end + expect(repository.ref_name_for_sha('bla', '0' * 40)).to eq 'refs/environments/production/77' end end @@ -1873,12 +1862,18 @@ describe Repository, models: true do describe '#is_ancestor?' do context 'Gitaly is_ancestor feature enabled' do - it "asks Gitaly server if it's an ancestor" do - commit = repository.commit - expect(repository.raw_repository).to receive(:is_ancestor?).and_call_original + let(:commit) { repository.commit } + let(:ancestor) { commit.parents.first } + + before do + allow(Gitlab::GitalyClient).to receive(:enabled?).and_return(true) allow(Gitlab::GitalyClient).to receive(:feature_enabled?).with(:is_ancestor).and_return(true) + end + + it "asks Gitaly server if it's an ancestor" do + expect_any_instance_of(Gitlab::GitalyClient::Commit).to receive(:is_ancestor).with(ancestor.id, commit.id) - expect(repository.is_ancestor?(commit.id, commit.id)).to be true + repository.is_ancestor?(ancestor.id, commit.id) end end end -- GitLab From d1ed9640eae8b839b82a99c87d5f2eddbb42b37f Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Fri, 12 May 2017 23:48:38 +0000 Subject: [PATCH 069/249] Merge branch 'dm-wait-for-requests' into 'master' Wait for requests after each Spinach scenario instead of feature See merge request !11349 --- features/support/env.rb | 4 ++-- spec/support/wait_for_requests.rb | 7 +------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/features/support/env.rb b/features/support/env.rb index 568eeae4479..23a1f702068 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -30,8 +30,8 @@ Spinach.hooks.before_run do include FactoryGirl::Syntax::Methods end -Spinach.hooks.after_feature do |feature_data| - if feature_data.scenarios.flat_map(&:tags).include?('javascript') +Spinach.hooks.after_scenario do |scenario_data, step_definitions| + if scenario_data.tags.include?('javascript') include WaitForRequests wait_for_requests_complete end diff --git a/spec/support/wait_for_requests.rb b/spec/support/wait_for_requests.rb index a18c8e03aa6..d41e83ae128 100644 --- a/spec/support/wait_for_requests.rb +++ b/spec/support/wait_for_requests.rb @@ -10,17 +10,12 @@ module WaitForRequests def wait_for_requests_complete Gitlab::Testing::RequestBlockerMiddleware.block_requests! wait_for('pending AJAX requests complete') do - Gitlab::Testing::RequestBlockerMiddleware.num_active_requests.zero? && - finished_all_requests? + Gitlab::Testing::RequestBlockerMiddleware.num_active_requests.zero? end ensure Gitlab::Testing::RequestBlockerMiddleware.allow_requests! end - def finished_all_requests? - finished_all_ajax_requests? && finished_all_vue_resource_requests? - end - # Waits until the passed block returns true def wait_for(condition_name, max_wait_time: Capybara.default_max_wait_time, polling_interval: 0.01) wait_until = Time.now + max_wait_time.seconds -- GitLab From 538fb03a80202fc90d4119c48b6672b842d07865 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Thu, 18 May 2017 22:39:28 -0600 Subject: [PATCH 070/249] Update VERSION to 9.2.0-rc6 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c031d301d79..161a459e88e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-rc5 +9.2.0-rc6 -- GitLab From d3cc3516a9765741c0a639d158cc183ae80cc99f Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Thu, 18 May 2017 20:25:31 +0000 Subject: [PATCH 071/249] Merge branch 'tc-fix-broken-plain-readme' into 'master' Fix ProjectCacheWorker for plain READMEs Closes #32540 See merge request !11506 --- app/helpers/markup_helper.rb | 3 +++ spec/workers/project_cache_worker_spec.rb | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/app/helpers/markup_helper.rb b/app/helpers/markup_helper.rb index b636233c426..4f55c12466a 100644 --- a/app/helpers/markup_helper.rb +++ b/app/helpers/markup_helper.rb @@ -1,6 +1,9 @@ require 'nokogiri' module MarkupHelper + include ActionView::Helpers::TagHelper + include ActionView::Context + def plain?(filename) Gitlab::MarkupHelper.plain?(filename) end diff --git a/spec/workers/project_cache_worker_spec.rb b/spec/workers/project_cache_worker_spec.rb index c23ffdf99c0..a4ba5f7c943 100644 --- a/spec/workers/project_cache_worker_spec.rb +++ b/spec/workers/project_cache_worker_spec.rb @@ -45,6 +45,18 @@ describe ProjectCacheWorker do worker.perform(project.id, %w(readme)) end + + context 'with plain readme' do + it 'refreshes the method caches' do + allow(MarkupHelper).to receive(:gitlab_markdown?).and_return(false) + allow(MarkupHelper).to receive(:plain?).and_return(true) + + expect_any_instance_of(Repository).to receive(:refresh_method_caches). + with(%i(readme)). + and_call_original + worker.perform(project.id, %w(readme)) + end + end end end -- GitLab From 6a4d079edee03fa3de8bdc1b215f5dd72898881d Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Thu, 18 May 2017 22:01:37 +0000 Subject: [PATCH 072/249] Merge branch 'dm-catch-uri-errors' into 'master' Catch all URI errors in ExternalLinkFilter Closes #32076 See merge request !11494 --- changelogs/unreleased/dm-catch-uri-errors.yml | 4 ++++ lib/banzai/filter/external_link_filter.rb | 2 +- spec/lib/banzai/filter/external_link_filter_spec.rb | 7 +++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/dm-catch-uri-errors.yml diff --git a/changelogs/unreleased/dm-catch-uri-errors.yml b/changelogs/unreleased/dm-catch-uri-errors.yml new file mode 100644 index 00000000000..8b635d321b3 --- /dev/null +++ b/changelogs/unreleased/dm-catch-uri-errors.yml @@ -0,0 +1,4 @@ +--- +title: Catch all URI errors in ExternalLinkFilter +merge_request: +author: diff --git a/lib/banzai/filter/external_link_filter.rb b/lib/banzai/filter/external_link_filter.rb index 7d15a0f6d44..d6327ef31cb 100644 --- a/lib/banzai/filter/external_link_filter.rb +++ b/lib/banzai/filter/external_link_filter.rb @@ -24,7 +24,7 @@ module Banzai def uri(href) URI.parse(href) - rescue URI::InvalidURIError + rescue URI::Error nil end diff --git a/spec/lib/banzai/filter/external_link_filter_spec.rb b/spec/lib/banzai/filter/external_link_filter_spec.rb index 6f6c215be87..0f8ec8de7a0 100644 --- a/spec/lib/banzai/filter/external_link_filter_spec.rb +++ b/spec/lib/banzai/filter/external_link_filter_spec.rb @@ -55,6 +55,13 @@ describe Banzai::Filter::ExternalLinkFilter, lib: true do expect(doc.to_html).to eq(expected) end + + it 'skips improperly formatted mailtos' do + doc = filter %q(<p><a href="mailto://jblogs@example.com">Email</a></p>) + expected = %q(<p><a href="mailto://jblogs@example.com">Email</a></p>) + + expect(doc.to_html).to eq(expected) + end end context 'for links with a username' do -- GitLab From af81730b5a47e1e2df5c0877160d9ca991963adc Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 18 May 2017 20:53:16 +0000 Subject: [PATCH 073/249] Merge branch 'disable-clicking-disabled-clipboard-button' into 'master' Fix clicking disabled clipboard button toolip Closes #32518 See merge request !11493 --- app/assets/javascripts/blob/viewer/index.js | 4 +-- spec/javascripts/blob/viewer/index_spec.js | 31 ++++++++++++++++++--- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index 07d67d49aa5..5ca8270919d 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -29,9 +29,9 @@ export default class BlobViewer { if (this.copySourceBtn) { this.copySourceBtn.addEventListener('click', () => { - if (this.copySourceBtn.classList.contains('disabled')) return; + if (this.copySourceBtn.classList.contains('disabled')) return this.copySourceBtn.blur(); - this.switchToViewer('simple'); + return this.switchToViewer('simple'); }); } } diff --git a/spec/javascripts/blob/viewer/index_spec.js b/spec/javascripts/blob/viewer/index_spec.js index 13f122b68b2..af04e7c1e72 100644 --- a/spec/javascripts/blob/viewer/index_spec.js +++ b/spec/javascripts/blob/viewer/index_spec.js @@ -83,25 +83,48 @@ describe('Blob viewer', () => { }); describe('copy blob button', () => { + let copyButton; + + beforeEach(() => { + copyButton = document.querySelector('.js-copy-blob-source-btn'); + }); + it('disabled on load', () => { expect( - document.querySelector('.js-copy-blob-source-btn').classList.contains('disabled'), + copyButton.classList.contains('disabled'), ).toBeTruthy(); }); it('has tooltip when disabled', () => { expect( - document.querySelector('.js-copy-blob-source-btn').getAttribute('data-original-title'), + copyButton.getAttribute('data-original-title'), ).toBe('Switch to the source to copy it to the clipboard'); }); + it('is blurred when clicked and disabled', () => { + spyOn(copyButton, 'blur'); + + copyButton.click(); + + expect(copyButton.blur).toHaveBeenCalled(); + }); + + it('is not blurred when clicked and not disabled', () => { + spyOn(copyButton, 'blur'); + + copyButton.classList.remove('disabled'); + copyButton.click(); + + expect(copyButton.blur).not.toHaveBeenCalled(); + }); + it('enables after switching to simple view', (done) => { document.querySelector('.js-blob-viewer-switch-btn[data-viewer="simple"]').click(); setTimeout(() => { expect($.ajax).toHaveBeenCalled(); expect( - document.querySelector('.js-copy-blob-source-btn').classList.contains('disabled'), + copyButton.classList.contains('disabled'), ).toBeFalsy(); done(); @@ -115,7 +138,7 @@ describe('Blob viewer', () => { expect($.ajax).toHaveBeenCalled(); expect( - document.querySelector('.js-copy-blob-source-btn').getAttribute('data-original-title'), + copyButton.getAttribute('data-original-title'), ).toBe('Copy source to clipboard'); done(); -- GitLab From acbc5c2058a2086ea2a3b170f6e19f91aa4faeaa Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Thu, 18 May 2017 20:08:33 +0000 Subject: [PATCH 074/249] Merge branch 'bvl-fix-incorrectly-renamed-routes' into 'master' Fixes for the rename reserved paths helpers Closes #32528 See merge request !11492 --- .../v1/migration_classes.rb | 8 ++++++ .../v1/rename_base.rb | 3 ++- .../v1/rename_namespaces.rb | 6 +++++ .../v1/rename_base_spec.rb | 9 +++++++ .../v1/rename_namespaces_spec.rb | 27 ++++++++++++++++++- 5 files changed, 51 insertions(+), 2 deletions(-) diff --git a/lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb b/lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb index 4fdcb682c2f..5481024db8e 100644 --- a/lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb +++ b/lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb @@ -48,6 +48,14 @@ module Gitlab def self.name 'Namespace' end + + def kind + type == 'Group' ? 'group' : 'user' + end + end + + class User < ActiveRecord::Base + self.table_name = 'users' end class Route < ActiveRecord::Base diff --git a/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb b/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb index 5397877b5d5..d60fd4bb551 100644 --- a/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb +++ b/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb @@ -41,7 +41,8 @@ module Gitlab new_full_path) update_column_in_batches(:routes, :path, replace_statement) do |table, query| - query.where(MigrationClasses::Route.arel_table[:path].matches("#{old_full_path}%")) + path_or_children = table[:path].matches_any([old_full_path, "#{old_full_path}/%"]) + query.where(path_or_children) end end diff --git a/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb b/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb index b9f4f3cff3c..2958ad4b8e5 100644 --- a/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb +++ b/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb @@ -29,9 +29,15 @@ module Gitlab move_repositories(namespace, old_full_path, new_full_path) move_uploads(old_full_path, new_full_path) move_pages(old_full_path, new_full_path) + rename_user(old_full_path, new_full_path) if namespace.kind == 'user' remove_cached_html_for_projects(projects_for_namespace(namespace).map(&:id)) end + def rename_user(old_username, new_username) + MigrationClasses::User.where(username: old_username) + .update_all(username: new_username) + end + def move_repositories(namespace, old_full_path, new_full_path) repo_paths_for_namespace(namespace).each do |repository_storage_path| # Ensure old directory exists before moving it diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb index 64bc5fc0429..a3ab4e3dd9e 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb @@ -107,6 +107,15 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase do expect(new_path).to eq('the-path0') end + it "doesn't rename routes that start with a similar name" do + other_namespace = create(:namespace, path: 'the-path-but-not-really') + project = create(:empty_project, path: 'the-project', namespace: other_namespace) + + subject.rename_path_for_routable(migration_namespace(namespace)) + + expect(project.route.reload.path).to eq('the-path-but-not-really/the-project') + end + context "the-path namespace -> subgroup -> the-path0 project" do it "updates the route of the project correctly" do subgroup = create(:group, path: "subgroup", parent: namespace) diff --git a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb index ec444942804..c56fded7516 100644 --- a/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb +++ b/spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb @@ -137,7 +137,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do end describe "#rename_namespace" do - let(:namespace) { create(:namespace, path: 'the-path') } + let(:namespace) { create(:group, name: 'the-path') } it 'renames paths & routes for the namespace' do expect(subject).to receive(:rename_path_for_routable). @@ -177,6 +177,31 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces do subject.rename_namespace(namespace) end + + it "doesn't rename users for other namespaces" do + expect(subject).not_to receive(:rename_user) + + subject.rename_namespace(namespace) + end + + it 'renames the username of a namespace for a user' do + user = create(:user, username: 'the-path') + + expect(subject).to receive(:rename_user).with('the-path', 'the-path0') + + subject.rename_namespace(user.namespace) + end + end + + describe '#rename_user' do + it 'renames a username' do + subject = described_class.new([], migration) + user = create(:user, username: 'broken') + + subject.rename_user('broken', 'broken0') + + expect(user.reload.username).to eq('broken0') + end end describe '#rename_namespaces' do -- GitLab From f674b6011af6529b6517f1e9c884d7b5b4d98904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Thu, 18 May 2017 15:10:08 +0000 Subject: [PATCH 075/249] Merge branch 'fix_removing_invited_member' into 'master' Fix: Deleting an invited member causes 500 error Closes #32504 See merge request !11481 --- .../members/authorized_destroy_service.rb | 2 +- spec/factories/group_members.rb | 6 ++++++ spec/factories/project_members.rb | 6 ++++++ .../authorized_destroy_service_spec.rb | 21 +++++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/app/services/members/authorized_destroy_service.rb b/app/services/members/authorized_destroy_service.rb index 1195cd2bdb9..451614e6fe5 100644 --- a/app/services/members/authorized_destroy_service.rb +++ b/app/services/members/authorized_destroy_service.rb @@ -10,7 +10,7 @@ module Members return false if member.is_a?(GroupMember) && member.source.last_owner?(member.user) Member.transaction do - unassign_issues_and_merge_requests(member) + unassign_issues_and_merge_requests(member) unless member.invite? member.destroy end diff --git a/spec/factories/group_members.rb b/spec/factories/group_members.rb index 080b2e75ea1..32cbfe28a60 100644 --- a/spec/factories/group_members.rb +++ b/spec/factories/group_members.rb @@ -10,5 +10,11 @@ FactoryGirl.define do trait(:master) { access_level GroupMember::MASTER } trait(:owner) { access_level GroupMember::OWNER } trait(:access_request) { requested_at Time.now } + + trait(:invited) do + user_id nil + invite_token 'xxx' + invite_email 'email@email.com' + end end end diff --git a/spec/factories/project_members.rb b/spec/factories/project_members.rb index d62799a5a47..fe4518caadf 100644 --- a/spec/factories/project_members.rb +++ b/spec/factories/project_members.rb @@ -9,5 +9,11 @@ FactoryGirl.define do trait(:developer) { access_level ProjectMember::DEVELOPER } trait(:master) { access_level ProjectMember::MASTER } trait(:access_request) { requested_at Time.now } + + trait(:invited) do + user_id nil + invite_token 'xxx' + invite_email 'email@email.com' + end end end diff --git a/spec/services/members/authorized_destroy_service_spec.rb b/spec/services/members/authorized_destroy_service_spec.rb index ab440d18e9f..8a6732faa19 100644 --- a/spec/services/members/authorized_destroy_service_spec.rb +++ b/spec/services/members/authorized_destroy_service_spec.rb @@ -10,6 +10,27 @@ describe Members::AuthorizedDestroyService, services: true do Issue.assigned_to(user).count + MergeRequest.assigned_to(user).count end + context 'Invited users' do + # Regression spec for issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/32504 + it 'destroys invited project member' do + project.team << [member_user, :developer] + + member = create :project_member, :invited, project: project + + expect { described_class.new(member, member_user).execute } + .to change { Member.count }.from(2).to(1) + end + + it 'destroys invited group member' do + group.add_developer(member_user) + + member = create :group_member, :invited, group: group + + expect { described_class.new(member, member_user).execute } + .to change { Member.count }.from(2).to(1) + end + end + context 'Group member' do it "unassigns issues and merge requests" do group.add_developer(member_user) -- GitLab From 05b80594274a626cec7035c7ce811b901957d785 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 18 May 2017 09:39:29 +0000 Subject: [PATCH 076/249] Merge branch '32449-fix-note-comparison-trailing-newline-edge-case' into 'master' Fix note flicker with note you can't edit and trailing new line edge case Closes #32449 See merge request !11472 --- app/assets/javascripts/notes.js | 42 ++++----- app/views/shared/notes/_edit.html.haml | 2 - app/views/shared/notes/_note.html.haml | 2 + spec/features/issues/note_polling_spec.rb | 101 +++++++++++++++------- spec/javascripts/notes_spec.js | 60 +++++++++++-- 5 files changed, 144 insertions(+), 63 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 2deb2eed3ea..e9ebb7230df 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -307,7 +307,7 @@ const normalizeNewlines = function(str) { } const $note = $notesList.find(`#note_${noteEntity.id}`); - if (this.isNewNote(noteEntity)) { + if (Notes.isNewNote(noteEntity, this.note_ids)) { this.note_ids.push(noteEntity.id); const $newNote = Notes.animateAppendNote(noteEntity.html, $notesList); @@ -320,7 +320,7 @@ const normalizeNewlines = function(str) { return this.updateNotesCount(1); } // The server can send the same update multiple times so we need to make sure to only update once per actual update. - else if (this.isUpdatedNote(noteEntity, $note)) { + else if (Notes.isUpdatedNote(noteEntity, $note)) { const isEditing = $note.hasClass('is-editing'); const initialContent = normalizeNewlines( $note.find('.original-note-content').text().trim() @@ -348,23 +348,6 @@ const normalizeNewlines = function(str) { } }; - /* - Check if note does not exists on page - */ - - Notes.prototype.isNewNote = function(noteEntity) { - return $.inArray(noteEntity.id, this.note_ids) === -1; - }; - - Notes.prototype.isUpdatedNote = function(noteEntity, $note) { - // There can be CRLF vs LF mismatches if we don't sanitize and compare the same way - const sanitizedNoteNote = normalizeNewlines(noteEntity.note); - const currentNoteText = normalizeNewlines( - $note.find('.original-note-content').text().trim() - ); - return sanitizedNoteNote !== currentNoteText; - }; - Notes.prototype.isParallelView = function() { return Cookies.get('diff_view') === 'parallel'; }; @@ -377,7 +360,7 @@ const normalizeNewlines = function(str) { Notes.prototype.renderDiscussionNote = function(noteEntity, $form) { var discussionContainer, form, row, lineType, diffAvatarContainer; - if (!this.isNewNote(noteEntity)) { + if (!Notes.isNewNote(noteEntity, this.note_ids)) { return; } this.note_ids.push(noteEntity.id); @@ -1117,6 +1100,25 @@ const normalizeNewlines = function(str) { return $form; }; + /** + * Check if note does not exists on page + */ + Notes.isNewNote = function(noteEntity, noteIds) { + return $.inArray(noteEntity.id, noteIds) === -1; + }; + + /** + * Check if $note already contains the `noteEntity` content + */ + Notes.isUpdatedNote = function(noteEntity, $note) { + // There can be CRLF vs LF mismatches if we don't sanitize and compare the same way + const sanitizedNoteEntityText = normalizeNewlines(noteEntity.note.trim()); + const currentNoteText = normalizeNewlines( + $note.find('.original-note-content').text().trim() + ); + return sanitizedNoteEntityText !== currentNoteText; + }; + Notes.checkMergeRequestStatus = function() { if (gl.utils.getPagePath(1) === 'merge_requests') { gl.mrWidget.checkStatus(); diff --git a/app/views/shared/notes/_edit.html.haml b/app/views/shared/notes/_edit.html.haml index 4a020865828..f4b3aac29b4 100644 --- a/app/views/shared/notes/_edit.html.haml +++ b/app/views/shared/notes/_edit.html.haml @@ -1,3 +1 @@ -.original-note-content.hidden{ data: { post_url: note_url(note), target_id: note.noteable.id, target_type: note.noteable.class.name.underscore } } - #{note.note} %textarea.hidden.js-task-list-field.original-task-list{ data: {update_url: note_url(note) } }= note.note diff --git a/app/views/shared/notes/_note.html.haml b/app/views/shared/notes/_note.html.haml index 5c1156b06fb..a7bf610b9c7 100644 --- a/app/views/shared/notes/_note.html.haml +++ b/app/views/shared/notes/_note.html.haml @@ -41,6 +41,8 @@ .note-text.md = note.redacted_note_html = edited_time_ago_with_tooltip(note, placement: 'bottom', html_class: 'note_edited_ago') + .original-note-content.hidden{ data: { post_url: note_url(note), target_id: note.noteable.id, target_type: note.noteable.class.name.underscore } } + #{note.note} - if note_editable = render 'shared/notes/edit', note: note .note-awards diff --git a/spec/features/issues/note_polling_spec.rb b/spec/features/issues/note_polling_spec.rb index 58b3215f14c..da81fa4e367 100644 --- a/spec/features/issues/note_polling_spec.rb +++ b/spec/features/issues/note_polling_spec.rb @@ -18,58 +18,93 @@ feature 'Issue notes polling', :feature, :js do end describe 'updates' do - let(:user) { create(:user) } - let(:note_text) { "Hello World" } - let(:updated_text) { "Bye World" } - let!(:existing_note) { create(:note, noteable: issue, project: project, author: user, note: note_text) } + context 'when from own user' do + let(:user) { create(:user) } + let(:note_text) { "Hello World" } + let(:updated_text) { "Bye World" } + let!(:existing_note) { create(:note, noteable: issue, project: project, author: user, note: note_text) } - before do - login_as(user) - visit namespace_project_issue_path(project.namespace, project, issue) - end + before do + login_as(user) + visit namespace_project_issue_path(project.namespace, project, issue) + end - it 'displays the updated content' do - expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) + it 'has .original-note-content to compare against' do + expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) - update_note(existing_note, updated_text) + update_note(existing_note, updated_text) - expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) - end + expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + end - it 'when editing but have not changed anything, and an update comes in, show the updated content in the textarea' do - find("#note_#{existing_note.id} .js-note-edit").click + it 'displays the updated content' do + expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) - expect(page).to have_field("note[note]", with: note_text) + update_note(existing_note, updated_text) - update_note(existing_note, updated_text) + expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) + end - expect(page).to have_field("note[note]", with: updated_text) - end + it 'when editing but have not changed anything, and an update comes in, show the updated content in the textarea' do + find("#note_#{existing_note.id} .js-note-edit").click - it 'when editing but you changed some things, and an update comes in, show a warning' do - find("#note_#{existing_note.id} .js-note-edit").click + expect(page).to have_field("note[note]", with: note_text) - expect(page).to have_field("note[note]", with: note_text) + update_note(existing_note, updated_text) - find("#note_#{existing_note.id} .js-note-text").set('something random') + expect(page).to have_field("note[note]", with: updated_text) + end - update_note(existing_note, updated_text) + it 'when editing but you changed some things, and an update comes in, show a warning' do + find("#note_#{existing_note.id} .js-note-edit").click - expect(page).to have_selector(".alert") - end + expect(page).to have_field("note[note]", with: note_text) + + find("#note_#{existing_note.id} .js-note-text").set('something random') + + update_note(existing_note, updated_text) - it 'when editing but you changed some things, an update comes in, and you press cancel, show the updated content' do - find("#note_#{existing_note.id} .js-note-edit").click + expect(page).to have_selector(".alert") + end + + it 'when editing but you changed some things, an update comes in, and you press cancel, show the updated content' do + find("#note_#{existing_note.id} .js-note-edit").click + + expect(page).to have_field("note[note]", with: note_text) + + find("#note_#{existing_note.id} .js-note-text").set('something random') + + update_note(existing_note, updated_text) + + find("#note_#{existing_note.id} .note-edit-cancel").click + + expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) + end + end - expect(page).to have_field("note[note]", with: note_text) + context 'when from another user' do + let(:user1) { create(:user) } + let(:user2) { create(:user) } + let(:note_text) { "Hello World" } + let(:updated_text) { "Bye World" } + let!(:existing_note) { create(:note, noteable: issue, project: project, author: user1, note: note_text) } - find("#note_#{existing_note.id} .js-note-text").set('something random') + before do + login_as(user2) + visit namespace_project_issue_path(project.namespace, project, issue) + end - update_note(existing_note, updated_text) + it 'has .original-note-content to compare against' do + expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) - find("#note_#{existing_note.id} .note-edit-cancel").click + update_note(existing_note, updated_text) - expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) + expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + end end end diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index 8243a9c991a..632751a2114 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -98,8 +98,6 @@ import '~/notes'; notes = jasmine.createSpyObj('notes', [ 'refresh', - 'isNewNote', - 'isUpdatedNote', 'collapseLongCommitList', 'updateNotesCount', 'putConflictEditWarningInPlace' @@ -109,13 +107,15 @@ import '~/notes'; notes.updatedNotesTrackingMap = {}; spyOn(gl.utils, 'localTimeAgo'); + spyOn(Notes, 'isNewNote').and.callThrough(); + spyOn(Notes, 'isUpdatedNote').and.callThrough(); spyOn(Notes, 'animateAppendNote').and.callThrough(); spyOn(Notes, 'animateUpdateNote').and.callThrough(); }); describe('when adding note', () => { it('should call .animateAppendNote', () => { - notes.isNewNote.and.returnValue(true); + Notes.isNewNote.and.returnValue(true); Notes.prototype.renderNote.call(notes, note, null, $notesList); expect(Notes.animateAppendNote).toHaveBeenCalledWith(note.html, $notesList); @@ -124,7 +124,8 @@ import '~/notes'; describe('when note was edited', () => { it('should call .animateUpdateNote', () => { - notes.isUpdatedNote.and.returnValue(true); + Notes.isNewNote.and.returnValue(false); + Notes.isUpdatedNote.and.returnValue(true); const $note = $('<div>'); $notesList.find.and.returnValue($note); Notes.prototype.renderNote.call(notes, note, null, $notesList); @@ -134,7 +135,8 @@ import '~/notes'; describe('while editing', () => { it('should update textarea if nothing has been touched', () => { - notes.isUpdatedNote.and.returnValue(true); + Notes.isNewNote.and.returnValue(false); + Notes.isUpdatedNote.and.returnValue(true); const $note = $(`<div class="is-editing"> <div class="original-note-content">initial</div> <textarea class="js-note-text">initial</textarea> @@ -146,7 +148,8 @@ import '~/notes'; }); it('should call .putConflictEditWarningInPlace', () => { - notes.isUpdatedNote.and.returnValue(true); + Notes.isNewNote.and.returnValue(false); + Notes.isUpdatedNote.and.returnValue(true); const $note = $(`<div class="is-editing"> <div class="original-note-content">initial</div> <textarea class="js-note-text">different</textarea> @@ -160,6 +163,47 @@ import '~/notes'; }); }); + describe('isUpdatedNote', () => { + it('should consider same note text as the same', () => { + const result = Notes.isUpdatedNote( + { + note: 'initial' + }, + $(`<div> + <div class="original-note-content">initial</div> + </div>`) + ); + + expect(result).toEqual(false); + }); + + it('should consider same note with trailing newline as the same', () => { + const result = Notes.isUpdatedNote( + { + note: 'initial\n' + }, + $(`<div> + <div class="original-note-content">initial\n</div> + </div>`) + ); + + expect(result).toEqual(false); + }); + + it('should consider different notes as different', () => { + const result = Notes.isUpdatedNote( + { + note: 'foo' + }, + $(`<div> + <div class="original-note-content">bar</div> + </div>`) + ); + + expect(result).toEqual(true); + }); + }); + describe('renderDiscussionNote', () => { let discussionContainer; let note; @@ -179,15 +223,15 @@ import '~/notes'; row = jasmine.createSpyObj('row', ['prevAll', 'first', 'find']); notes = jasmine.createSpyObj('notes', [ - 'isNewNote', 'isParallelView', 'updateNotesCount', ]); notes.note_ids = []; spyOn(gl.utils, 'localTimeAgo'); + spyOn(Notes, 'isNewNote'); spyOn(Notes, 'animateAppendNote'); - notes.isNewNote.and.returnValue(true); + Notes.isNewNote.and.returnValue(true); notes.isParallelView.and.returnValue(false); row.prevAll.and.returnValue(row); row.first.and.returnValue(row); -- GitLab From 0de662b7401fcf6930fb5a9d103c3b1810f3951b Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Wed, 10 May 2017 15:38:54 +0000 Subject: [PATCH 077/249] Merge branch 'fix-reassigned-mr-email' into 'master' Fix reassigned MR HTML email See merge request !11238 --- .../_reassigned_issuable_email.html.haml | 10 ---------- .../reassigned_merge_request_email.html.haml | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 19 deletions(-) delete mode 100644 app/views/notify/_reassigned_issuable_email.html.haml diff --git a/app/views/notify/_reassigned_issuable_email.html.haml b/app/views/notify/_reassigned_issuable_email.html.haml deleted file mode 100644 index fd35713f79c..00000000000 --- a/app/views/notify/_reassigned_issuable_email.html.haml +++ /dev/null @@ -1,10 +0,0 @@ -%p - Assignee changed - - if @previous_assignee - from - %strong= @previous_assignee.name - to - - if issuable.assignee_id - %strong= issuable.assignee_name - - else - %strong Unassigned diff --git a/app/views/notify/reassigned_merge_request_email.html.haml b/app/views/notify/reassigned_merge_request_email.html.haml index 841df872857..24c2b08810b 100644 --- a/app/views/notify/reassigned_merge_request_email.html.haml +++ b/app/views/notify/reassigned_merge_request_email.html.haml @@ -1,9 +1,10 @@ -Reassigned Merge Request #{ @merge_request.iid } - -= url_for([@merge_request.project.namespace.becomes(Namespace), @merge_request.project, @merge_request, { only_path: false }]) - -Assignee changed -- if @previous_assignee - from #{@previous_assignee.name} -to -= @merge_request.assignee_id ? @merge_request.assignee_name : 'Unassigned' +%p + Assignee changed + - if @previous_assignee + from + %strong= @previous_assignee.name + to + - if @merge_request.assignee_id + %strong= @merge_request.assignee_name + - else + %strong Unassigned -- GitLab From 4e3b2f2b9bc5904773297343005f715c64d04c6e Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Fri, 12 May 2017 10:25:49 +0000 Subject: [PATCH 078/249] Merge branch '31978-cross-reference-fix' into 'master' Fix cross referencing for private and internal projects Closes #31978 See merge request !11243 --- app/models/concerns/mentionable.rb | 13 ++-- .../unreleased/31978-cross-reference-fix.yml | 4 + spec/features/issues/notes_on_issues_spec.rb | 77 +++++++++++++++++++ 3 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 changelogs/unreleased/31978-cross-reference-fix.yml create mode 100644 spec/features/issues/notes_on_issues_spec.rb diff --git a/app/models/concerns/mentionable.rb b/app/models/concerns/mentionable.rb index 7e56e371b27..85505d235b7 100644 --- a/app/models/concerns/mentionable.rb +++ b/app/models/concerns/mentionable.rb @@ -44,14 +44,15 @@ module Mentionable end def all_references(current_user = nil, extractor: nil) + @extractors ||= {} + # Use custom extractor if it's passed in the function parameters. if extractor - @extractor = extractor + @extractors[current_user] = extractor else - @extractor ||= Gitlab::ReferenceExtractor. - new(project, current_user) + extractor = @extractors[current_user] ||= Gitlab::ReferenceExtractor.new(project, current_user) - @extractor.reset_memoized_values + extractor.reset_memoized_values end self.class.mentionable_attrs.each do |attr, options| @@ -62,10 +63,10 @@ module Mentionable skip_project_check: skip_project_check? ) - @extractor.analyze(text, options) + extractor.analyze(text, options) end - @extractor + extractor end def mentioned_users(current_user = nil) diff --git a/changelogs/unreleased/31978-cross-reference-fix.yml b/changelogs/unreleased/31978-cross-reference-fix.yml new file mode 100644 index 00000000000..fbcb3d5d482 --- /dev/null +++ b/changelogs/unreleased/31978-cross-reference-fix.yml @@ -0,0 +1,4 @@ +--- +title: Fix cross referencing for private and internal projects +merge_request: 11243 +author: diff --git a/spec/features/issues/notes_on_issues_spec.rb b/spec/features/issues/notes_on_issues_spec.rb new file mode 100644 index 00000000000..a4035324d2b --- /dev/null +++ b/spec/features/issues/notes_on_issues_spec.rb @@ -0,0 +1,77 @@ +require 'spec_helper' + +describe 'Create notes on issues', :js, :feature do + let(:user) { create(:user) } + + shared_examples 'notes with reference' do + let(:issue) { create(:issue, project: project) } + let(:note_text) { "Check #{mention.to_reference}" } + + before do + project.team << [user, :developer] + login_as(user) + visit namespace_project_issue_path(project.namespace, project, issue) + + fill_in 'note[note]', with: note_text + click_button 'Comment' + + wait_for_ajax + end + + it 'creates a note with reference and cross references the issue' do + page.within('div#notes li.note div.note-text') do + expect(page).to have_content(note_text) + expect(page.find('a')).to have_content(mention.to_reference) + end + + find('div#notes li.note div.note-text a').click + + page.within('div#notes li.note .system-note-message') do + expect(page).to have_content('mentioned in issue') + expect(page.find('a')).to have_content(issue.to_reference) + end + end + end + + context 'mentioning issue on a private project' do + it_behaves_like 'notes with reference' do + let(:project) { create(:project, :private) } + let(:mention) { create(:issue, project: project) } + end + end + + context 'mentioning issue on an internal project' do + it_behaves_like 'notes with reference' do + let(:project) { create(:project, :internal) } + let(:mention) { create(:issue, project: project) } + end + end + + context 'mentioning issue on a public project' do + it_behaves_like 'notes with reference' do + let(:project) { create(:project, :public) } + let(:mention) { create(:issue, project: project) } + end + end + + context 'mentioning merge request on a private project' do + it_behaves_like 'notes with reference' do + let(:project) { create(:project, :private) } + let(:mention) { create(:merge_request, source_project: project) } + end + end + + context 'mentioning merge request on an internal project' do + it_behaves_like 'notes with reference' do + let(:project) { create(:project, :internal) } + let(:mention) { create(:merge_request, source_project: project) } + end + end + + context 'mentioning merge request on a public project' do + it_behaves_like 'notes with reference' do + let(:project) { create(:project, :public) } + let(:mention) { create(:merge_request, source_project: project) } + end + end +end -- GitLab From accdca5f397bfbcdbb54868ac45e3502942e1569 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 11 May 2017 07:57:38 +0000 Subject: [PATCH 079/249] Merge branch '32087-fix-flickering-system-notes' into 'master' Fix flickering of system notes Closes #32087 See merge request !11281 --- app/views/shared/notes/_note.html.haml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/shared/notes/_note.html.haml b/app/views/shared/notes/_note.html.haml index 5c1156b06fb..87aae793966 100644 --- a/app/views/shared/notes/_note.html.haml +++ b/app/views/shared/notes/_note.html.haml @@ -29,6 +29,8 @@ - if note.system %span.system-note-message = note.redacted_note_html + .original-note-content.hidden + = note.note %a{ href: "##{dom_id(note)}" } = time_ago_with_tooltip(note.created_at, placement: 'bottom', html_class: 'note-created-ago') - unless note.system? -- GitLab From 0ec6ff5a26d496120d81c5b0fddb7f552cd91be0 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Tue, 16 May 2017 09:22:52 +0000 Subject: [PATCH 080/249] Merge branch '32125-fix-link-to-note-in-diff' into 'master' Fix linking to resolved note in diff Closes #32125 See merge request !11327 --- .../components/diff_note_avatars.js | 2 +- app/assets/javascripts/merge_request_tabs.js | 18 ++- app/assets/javascripts/notes.js | 103 ++++++++++-------- .../stylesheets/framework/timeline.scss | 63 +++++------ 4 files changed, 108 insertions(+), 78 deletions(-) diff --git a/app/assets/javascripts/diff_notes/components/diff_note_avatars.js b/app/assets/javascripts/diff_notes/components/diff_note_avatars.js index f3a688fbf2f..5f533b5761c 100644 --- a/app/assets/javascripts/diff_notes/components/diff_note_avatars.js +++ b/app/assets/javascripts/diff_notes/components/diff_note_avatars.js @@ -120,7 +120,7 @@ const DiffNoteAvatars = Vue.extend({ }, methods: { clickedAvatar(e) { - notes.addDiffNote(e); + notes.onAddDiffNote(e); // Toggle the active state of the toggle all button this.toggleDiscussionsToggleState(); diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js index 93c30c54a8e..efbfdbcee0c 100644 --- a/app/assets/javascripts/merge_request_tabs.js +++ b/app/assets/javascripts/merge_request_tabs.js @@ -1,6 +1,7 @@ /* eslint-disable no-new, class-methods-use-this */ /* global Breakpoints */ /* global Flash */ +/* global notes */ import Cookies from 'js-cookie'; import './breakpoints'; @@ -251,7 +252,8 @@ import BlobForkSuggestion from './blob/blob_fork_suggestion'; this.ajaxGet({ url: `${urlPathname}.json${location.search}`, success: (data) => { - $('#diffs').html(data.html); + const $container = $('#diffs'); + $container.html(data.html); if (typeof gl.diffNotesCompileComponents !== 'undefined') { gl.diffNotesCompileComponents(); @@ -278,6 +280,20 @@ import BlobForkSuggestion from './blob/blob_fork_suggestion'; }) .init(); }); + + // Scroll any linked note into view + // Similar to `toggler_behavior` in the discussion tab + const hash = window.gl.utils.getLocationHash(); + const anchor = hash && $container.find(`[id="${hash}"]`); + if (anchor) { + const notesContent = anchor.closest('.notes_content'); + const lineType = notesContent.hasClass('new') ? 'new' : 'old'; + notes.addDiffNote(anchor, lineType, false); + anchor[0].scrollIntoView(); + // We have multiple elements on the page with `#note_xxx` + // (discussion and diff tabs) and `:target` only applies to the first + anchor.addClass('target'); + } }, }); } diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 2deb2eed3ea..ea8e1af08a9 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -31,24 +31,25 @@ const normalizeNewlines = function(str) { Notes.interval = null; function Notes(notes_url, note_ids, last_fetched_at, view) { - this.updateTargetButtons = bind(this.updateTargetButtons, this); - this.updateComment = bind(this.updateComment, this); - this.visibilityChange = bind(this.visibilityChange, this); - this.cancelDiscussionForm = bind(this.cancelDiscussionForm, this); - this.addDiffNote = bind(this.addDiffNote, this); - this.setupDiscussionNoteForm = bind(this.setupDiscussionNoteForm, this); - this.replyToDiscussionNote = bind(this.replyToDiscussionNote, this); - this.removeNote = bind(this.removeNote, this); - this.cancelEdit = bind(this.cancelEdit, this); - this.updateNote = bind(this.updateNote, this); - this.addDiscussionNote = bind(this.addDiscussionNote, this); - this.addNoteError = bind(this.addNoteError, this); - this.addNote = bind(this.addNote, this); - this.resetMainTargetForm = bind(this.resetMainTargetForm, this); - this.refresh = bind(this.refresh, this); - this.keydownNoteText = bind(this.keydownNoteText, this); - this.toggleCommitList = bind(this.toggleCommitList, this); - this.postComment = bind(this.postComment, this); + this.updateTargetButtons = this.updateTargetButtons.bind(this); + this.updateComment = this.updateComment.bind(this); + this.visibilityChange = this.visibilityChange.bind(this); + this.cancelDiscussionForm = this.cancelDiscussionForm.bind(this); + this.onAddDiffNote = this.onAddDiffNote.bind(this); + this.setupDiscussionNoteForm = this.setupDiscussionNoteForm.bind(this); + this.onReplyToDiscussionNote = this.onReplyToDiscussionNote.bind(this); + this.removeNote = this.removeNote.bind(this); + this.cancelEdit = this.cancelEdit.bind(this); + this.updateNote = this.updateNote.bind(this); + this.addDiscussionNote = this.addDiscussionNote.bind(this); + this.addNoteError = this.addNoteError.bind(this); + this.addNote = this.addNote.bind(this); + this.resetMainTargetForm = this.resetMainTargetForm.bind(this); + this.refresh = this.refresh.bind(this); + this.keydownNoteText = this.keydownNoteText.bind(this); + this.toggleCommitList = this.toggleCommitList.bind(this); + this.postComment = this.postComment.bind(this); + this.clearFlashWrapper = this.clearFlash.bind(this); this.notes_url = notes_url; this.note_ids = note_ids; @@ -102,9 +103,9 @@ const normalizeNewlines = function(str) { // update the file name when an attachment is selected $(document).on("change", ".js-note-attachment-input", this.updateFormAttachment); // reply to diff/discussion notes - $(document).on("click", ".js-discussion-reply-button", this.replyToDiscussionNote); + $(document).on("click", ".js-discussion-reply-button", this.onReplyToDiscussionNote); // add diff note - $(document).on("click", ".js-add-diff-note-button", this.addDiffNote); + $(document).on("click", ".js-add-diff-note-button", this.onAddDiffNote); // hide diff note form $(document).on("click", ".js-close-discussion-note-form", this.cancelDiscussionForm); // toggle commit list @@ -796,10 +797,14 @@ const normalizeNewlines = function(str) { Shows the note form below the notes. */ - Notes.prototype.replyToDiscussionNote = function(e) { + Notes.prototype.onReplyToDiscussionNote = function(e) { + this.replyToDiscussionNote(e.target); + }; + + Notes.prototype.replyToDiscussionNote = function(target) { var form, replyLink; form = this.cleanForm(this.formClone.clone()); - replyLink = $(e.target).closest(".js-discussion-reply-button"); + replyLink = $(target).closest(".js-discussion-reply-button"); // insert the form after the button replyLink .closest('.discussion-reply-holder') @@ -869,35 +874,43 @@ const normalizeNewlines = function(str) { Sets up the form and shows it. */ - Notes.prototype.addDiffNote = function(e) { - var $link, addForm, hasNotes, lineType, newForm, nextRow, noteForm, notesContent, notesContentSelector, replyButton, row, rowCssToAdd, targetContent, isDiffCommentAvatar; + Notes.prototype.onAddDiffNote = function(e) { e.preventDefault(); - $link = $(e.currentTarget || e.target); + const $link = $(e.currentTarget || e.target); + const showReplyInput = !$link.hasClass('js-diff-comment-avatar'); + this.addDiffNote($link, $link.data('lineType'), showReplyInput); + }; + + Notes.prototype.addDiffNote = function(target, lineType, showReplyInput) { + var $link, addForm, hasNotes, newForm, noteForm, replyButton, row, rowCssToAdd, targetContent, isDiffCommentAvatar; + $link = $(target); row = $link.closest("tr"); - nextRow = row.next(); - hasNotes = nextRow.is(".notes_holder"); + const nextRow = row.next(); + let targetRow = row; + if (nextRow.is('.notes_holder')) { + targetRow = nextRow; + } + + hasNotes = targetRow.is(".notes_holder"); addForm = false; - notesContentSelector = ".notes_content"; + let lineTypeSelector = ''; rowCssToAdd = "<tr class=\"notes_holder js-temp-notes-holder\"><td class=\"notes_line\" colspan=\"2\"></td><td class=\"notes_content\"><div class=\"content\"></div></td></tr>"; - isDiffCommentAvatar = $link.hasClass('js-diff-comment-avatar'); // In parallel view, look inside the correct left/right pane if (this.isParallelView()) { - lineType = $link.data("lineType"); - notesContentSelector += "." + lineType; + lineTypeSelector = `.${lineType}`; rowCssToAdd = "<tr class=\"notes_holder js-temp-notes-holder\"><td class=\"notes_line old\"></td><td class=\"notes_content parallel old\"><div class=\"content\"></div></td><td class=\"notes_line new\"></td><td class=\"notes_content parallel new\"><div class=\"content\"></div></td></tr>"; } - notesContentSelector += " .content"; - notesContent = nextRow.find(notesContentSelector); + const notesContentSelector = `.notes_content${lineTypeSelector} .content`; + let notesContent = targetRow.find(notesContentSelector); - if (hasNotes && !isDiffCommentAvatar) { - nextRow.show(); - notesContent = nextRow.find(notesContentSelector); + if (hasNotes && showReplyInput) { + targetRow.show(); + notesContent = targetRow.find(notesContentSelector); if (notesContent.length) { notesContent.show(); replyButton = notesContent.find(".js-discussion-reply-button:visible"); if (replyButton.length) { - e.target = replyButton[0]; - $.proxy(this.replyToDiscussionNote, replyButton[0], e).call(); + this.replyToDiscussionNote(replyButton[0]); } else { // In parallel view, the form may not be present in one of the panes noteForm = notesContent.find(".js-discussion-note-form"); @@ -906,18 +919,18 @@ const normalizeNewlines = function(str) { } } } - } else if (!isDiffCommentAvatar) { + } else if (showReplyInput) { // add a notes row and insert the form row.after(rowCssToAdd); - nextRow = row.next(); - notesContent = nextRow.find(notesContentSelector); + targetRow = row.next(); + notesContent = targetRow.find(notesContentSelector); addForm = true; } else { - nextRow.show(); + targetRow.show(); notesContent.toggle(!notesContent.is(':visible')); - if (!nextRow.find('.content:not(:empty)').is(':visible')) { - nextRow.hide(); + if (!targetRow.find('.content:not(:empty)').is(':visible')) { + targetRow.hide(); } } @@ -1323,7 +1336,7 @@ const normalizeNewlines = function(str) { // Show form again on UI on failure if (isDiscussionForm && $notesContainer.length) { const replyButton = $notesContainer.parent().find('.js-discussion-reply-button'); - $.proxy(this.replyToDiscussionNote, replyButton[0], { target: replyButton[0] }).call(); + this.replyToDiscussionNote(replyButton[0]); $form = $notesContainer.parent().find('form'); } diff --git a/app/assets/stylesheets/framework/timeline.scss b/app/assets/stylesheets/framework/timeline.scss index d2164a1d333..aa0c512a277 100644 --- a/app/assets/stylesheets/framework/timeline.scss +++ b/app/assets/stylesheets/framework/timeline.scss @@ -3,30 +3,6 @@ margin: 0; padding: 0; - .timeline-entry { - padding: $gl-padding $gl-btn-padding 0; - border-color: $white-normal; - color: $gl-text-color; - border-bottom: 1px solid $border-white-light; - - .timeline-entry-inner { - position: relative; - } - - &:target { - background: $line-target-blue; - } - - .avatar { - margin-right: 15px; - } - - .controls { - padding-top: 10px; - float: right; - } - } - .note-text { p:last-child { margin-bottom: 0; @@ -46,20 +22,45 @@ } } +.timeline-entry { + padding: $gl-padding $gl-btn-padding 0; + border-color: $white-normal; + color: $gl-text-color; + border-bottom: 1px solid $border-white-light; + + .timeline-entry-inner { + position: relative; + } + + &:target, + &.target { + background: $line-target-blue; + } + + .avatar { + margin-right: 15px; + } + + .controls { + padding-top: 10px; + float: right; + } +} + @media (max-width: $screen-xs-max) { .timeline { &::before { background: none; } + } - .timeline-entry .timeline-entry-inner { - .timeline-icon { - display: none; - } + .timeline-entry .timeline-entry-inner { + .timeline-icon { + display: none; + } - .timeline-content { - margin-left: 0; - } + .timeline-content { + margin-left: 0; } } } -- GitLab From ac2b602c206bfa2099d578c9a833fcf1993a0601 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 18 May 2017 18:05:02 +0000 Subject: [PATCH 081/249] Merge branch '32425-fix-diff-notes-instant-editing' into 'master' Fix ability to edit diff notes multiple times Closes #32425 See merge request !11456 --- app/assets/javascripts/notes.js | 6 ++--- spec/javascripts/notes_spec.js | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index e9ebb7230df..4946daa521e 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -578,12 +578,12 @@ const normalizeNewlines = function(str) { Updates the current note field. */ - Notes.prototype.updateNote = function(_xhr, noteEntity, _status) { + Notes.prototype.updateNote = function(noteEntity, $targetNote) { var $noteEntityEl, $note_li; // Convert returned HTML to a jQuery object so we can modify it further $noteEntityEl = $(noteEntity.html); $noteEntityEl.addClass('fade-in-full'); - this.revertNoteEditForm(); + this.revertNoteEditForm($targetNote); gl.utils.localTimeAgo($('.js-timeago', $noteEntityEl)); $noteEntityEl.renderGFM(); $noteEntityEl.find('.js-task-list-container').taskList('enable'); @@ -1375,7 +1375,7 @@ const normalizeNewlines = function(str) { gl.utils.ajaxPost(formAction, formData) .then((note) => { // Submission successful! render final note element - this.updateNote(null, note, null); + this.updateNote(note, $editingNote); }) .fail(() => { // Submission failed, revert back to original note diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index 632751a2114..83a151f908f 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -78,6 +78,47 @@ import '~/notes'; }); }); + describe('updateNote', () => { + let sampleComment; + let noteEntity; + let $form; + let $notesContainer; + + beforeEach(() => { + this.notes = new Notes('', []); + window.gon.current_username = 'root'; + window.gon.current_user_fullname = 'Administrator'; + sampleComment = 'foo'; + noteEntity = { + id: 1234, + html: `<li class="note note-row-1234 timeline-entry" id="note_1234"> + <div class="note-text">${sampleComment}</div> + </li>`, + note: sampleComment, + valid: true + }; + $form = $('form.js-main-target-form'); + $notesContainer = $('ul.main-notes-list'); + $form.find('textarea.js-note-text').val(sampleComment); + }); + + it('updates note and resets edit form', () => { + const deferred = $.Deferred(); + spyOn($, 'ajax').and.returnValue(deferred.promise()); + spyOn(this.notes, 'revertNoteEditForm'); + + $('.js-comment-button').click(); + deferred.resolve(noteEntity); + + const $targetNote = $notesContainer.find(`#note_${noteEntity.id}`); + const updatedNote = Object.assign({}, noteEntity); + updatedNote.note = 'bar'; + this.notes.updateNote(updatedNote, $targetNote); + + expect(this.notes.revertNoteEditForm).toHaveBeenCalledWith($targetNote); + }); + }); + describe('renderNote', () => { let notes; let note; -- GitLab From 08f179dbfc80213a4e2eb4d64da5c2bd5abfda06 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Fri, 12 May 2017 12:36:10 +0000 Subject: [PATCH 082/249] Merge branch 'acet-mr-widget-fix-link' into 'master' MRWidget: Fix target branch link. See merge request !11267 --- .../components/mr_widget_header.js | 2 +- .../components/states/mr_widget_closed.js | 2 +- .../components/states/mr_widget_locked.js | 2 +- .../mr_widget_merge_when_pipeline_succeeds.js | 2 +- .../components/mr_widget_header_spec.js | 13 ++++++++++--- .../components/states/mr_widget_closed_spec.js | 4 ++-- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js index 4a1fd881169..fb648d66a30 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js @@ -83,7 +83,7 @@ export default { :title="isBranchTitleLong(mr.targetBranch) ? mr.targetBranch : ''" data-placement="bottom"> <a - :href="mr.targetBranchCommitsPath"> + :href="mr.targetBranchPath"> {{mr.targetBranch}} </a> </span> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js index 7e66441e5ff..fc2e42c6821 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_closed.js @@ -20,7 +20,7 @@ export default { <p> The changes were not merged into <a - :href="mr.targetBranchCommitsPath" + :href="mr.targetBranchPath" class="label-branch"> {{mr.targetBranch}}</a>. </p> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js index e3c27dfb76d..0bd31731a0b 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_locked.js @@ -16,7 +16,7 @@ export default { The changes will be merged into <span class="label-branch"> <a :href="mr.targetBranchPath">{{mr.targetBranch}}</a> - </span> + </span>. </p> </section> </div> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js index bcdbedcd46b..419d174f3ff 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_merge_when_pipeline_succeeds.js @@ -87,7 +87,7 @@ export default { :href="mr.targetBranchPath" class="label-branch"> {{mr.targetBranch}} - </a> + </a>. </p> <p v-if="mr.shouldRemoveSourceBranch"> The source branch will be removed. diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js index 48f816c8460..7f3eea7d2e5 100644 --- a/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js @@ -48,10 +48,12 @@ describe('MRWidgetHeader', () => { describe('template', () => { let vm; let el; + const sourceBranchPath = '/foo/bar/mr-widget-refactor'; const mr = { divergedCommitsCount: 12, sourceBranch: 'mr-widget-refactor', - sourceBranchLink: '/foo/bar/mr-widget-refactor', + sourceBranchLink: `<a href="${sourceBranchPath}">mr-widget-refactor</a>`, + targetBranchPath: 'foo/bar/commits-path', targetBranch: 'master', isOpen: true, emailPatchesPath: '/mr/email-patches', @@ -65,8 +67,13 @@ describe('MRWidgetHeader', () => { it('should render template elements correctly', () => { expect(el.classList.contains('mr-source-target')).toBeTruthy(); - expect(el.querySelectorAll('.label-branch')[0].textContent).toContain(mr.sourceBranch); - expect(el.querySelectorAll('.label-branch')[1].textContent).toContain(mr.targetBranch); + const sourceBranchLink = el.querySelectorAll('.label-branch')[0]; + const targetBranchLink = el.querySelectorAll('.label-branch')[1]; + + expect(sourceBranchLink.textContent).toContain(mr.sourceBranch); + expect(targetBranchLink.textContent).toContain(mr.targetBranch); + expect(sourceBranchLink.querySelector('a').getAttribute('href')).toEqual(sourceBranchPath); + expect(targetBranchLink.querySelector('a').getAttribute('href')).toEqual(mr.targetBranchPath); expect(el.querySelector('.diverged-commits-count').textContent).toContain('12 commits behind'); expect(el.textContent).toContain('Check out branch'); diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js index 78a70725e94..47303d1e80f 100644 --- a/spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_closed_spec.js @@ -3,7 +3,7 @@ import closedComponent from '~/vue_merge_request_widget/components/states/mr_wid const mr = { targetBranch: 'good-branch', - targetBranchCommitsPath: '/good-branch', + targetBranchPath: '/good-branch', closedBy: { name: 'Fatih Acet', username: 'fatihacet', @@ -44,7 +44,7 @@ describe('MRWidgetClosed', () => { expect(el.querySelector('h4').textContent).toContain('Closed by'); expect(el.querySelector('h4').textContent).toContain(mr.closedBy.name); expect(el.textContent).toContain('The changes were not merged into'); - expect(el.querySelector('.label-branch').getAttribute('href')).toEqual(mr.targetBranchCommitsPath); + expect(el.querySelector('.label-branch').getAttribute('href')).toEqual(mr.targetBranchPath); expect(el.querySelector('.label-branch').textContent).toContain(mr.targetBranch); }); }); -- GitLab From f12d7db1f5b8758e9fee2b6a9b372cda61c9f985 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Wed, 17 May 2017 15:26:53 +0000 Subject: [PATCH 083/249] Merge branch 'fix-unassigned-checkmark' into 'master' Fix unassigned checkmark Closes #31843 See merge request !11391 Conflicts: app/assets/javascripts/users_select.js --- .../boards/components/board_sidebar.js | 6 + app/assets/javascripts/users_select.js | 142 ++++++++++++++++++ .../components/sidebar/_assignee.html.haml | 3 +- spec/features/dashboard/issues_spec.rb | 11 ++ 4 files changed, 160 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/boards/components/board_sidebar.js b/app/assets/javascripts/boards/components/board_sidebar.js index 317cef9f227..60b58b6fd41 100644 --- a/app/assets/javascripts/boards/components/board_sidebar.js +++ b/app/assets/javascripts/boards/components/board_sidebar.js @@ -42,6 +42,12 @@ gl.issueBoards.BoardSidebar = Vue.extend({ detail: { handler () { if (this.issue.id !== this.detail.issue.id) { + $('.block.assignee') + .find('input:not(.js-vue)[name="issue[assignee_ids][]"]') + .each((i, el) => { + $(el).remove(); + }); + $('.js-issue-board-sidebar', this.$el).each((i, el) => { $(el).data('glDropdown').clearMenu(); }); diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index be29b08c343..1b5c14734c5 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -1,5 +1,85 @@ /* eslint-disable func-names, space-before-function-paren, one-var, no-var, prefer-rest-params, wrap-iife, quotes, max-len, one-var-declaration-per-line, vars-on-top, prefer-arrow-callback, consistent-return, comma-dangle, object-shorthand, no-shadow, no-unused-vars, no-else-return, no-self-compare, prefer-template, no-unused-expressions, no-lonely-if, yoda, prefer-spread, no-void, camelcase, no-param-reassign */ /* global Issuable */ +<<<<<<< HEAD +======= +/* global emitSidebarEvent */ + +// TODO: remove eventHub hack after code splitting refactor +window.emitSidebarEvent = window.emitSidebarEvent || $.noop; + +function UsersSelect(currentUser, els) { + var $els; + this.users = this.users.bind(this); + this.user = this.user.bind(this); + this.usersPath = "/autocomplete/users.json"; + this.userPath = "/autocomplete/users/:id.json"; + if (currentUser != null) { + if (typeof currentUser === 'object') { + this.currentUser = currentUser; + } else { + this.currentUser = JSON.parse(currentUser); + } + } + + $els = $(els); + + if (!els) { + $els = $('.js-user-search'); + } + + $els.each((function(_this) { + return function(i, dropdown) { + var options = {}; + var $block, $collapsedSidebar, $dropdown, $loading, $selectbox, $value, abilityName, assignTo, assigneeTemplate, collapsedAssigneeTemplate, defaultLabel, defaultNullUser, firstUser, issueURL, selectedId, selectedIdDefault, showAnyUser, showNullUser, showMenuAbove; + $dropdown = $(dropdown); + options.projectId = $dropdown.data('project-id'); + options.groupId = $dropdown.data('group-id'); + options.showCurrentUser = $dropdown.data('current-user'); + options.todoFilter = $dropdown.data('todo-filter'); + options.todoStateFilter = $dropdown.data('todo-state-filter'); + showNullUser = $dropdown.data('null-user'); + defaultNullUser = $dropdown.data('null-user-default'); + showMenuAbove = $dropdown.data('showMenuAbove'); + showAnyUser = $dropdown.data('any-user'); + firstUser = $dropdown.data('first-user'); + options.authorId = $dropdown.data('author-id'); + defaultLabel = $dropdown.data('default-label'); + issueURL = $dropdown.data('issueUpdate'); + $selectbox = $dropdown.closest('.selectbox'); + $block = $selectbox.closest('.block'); + abilityName = $dropdown.data('ability-name'); + $value = $block.find('.value'); + $collapsedSidebar = $block.find('.sidebar-collapsed-user'); + $loading = $block.find('.block-loading').fadeOut(); + selectedIdDefault = (defaultNullUser && showNullUser) ? 0 : null; + selectedId = $dropdown.data('selected'); + + if (selectedId === undefined) { + selectedId = selectedIdDefault; + } + + const assignYourself = function () { + const unassignedSelected = $dropdown.closest('.selectbox') + .find(`input[name='${$dropdown.data('field-name')}'][value=0]`); + + if (unassignedSelected) { + unassignedSelected.remove(); + } + + // Save current selected user to the DOM + const input = document.createElement('input'); + input.type = 'hidden'; + input.name = $dropdown.data('field-name'); + + const currentUserInfo = $dropdown.data('currentUserInfo'); + + if (currentUserInfo) { + input.value = currentUserInfo.id; + input.dataset.meta = currentUserInfo.name; + } else if (_this.currentUser) { + input.value = _this.currentUser.id; + } +>>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' import eventHub from './sidebar/event_hub'; @@ -382,9 +462,40 @@ import eventHub from './sidebar/event_hub'; this.addInput($dropdown.data('field-name'), 0, {}); } +<<<<<<< HEAD // User unselected eventHub.$emit('sidebar.removeAssignee', user); } +======= + if (selectedId === gon.current_user_id) { + $('.assign-to-me-link').hide(); + } else { + $('.assign-to-me-link').show(); + } + return; + } + if ($el.closest('.add-issues-modal').length) { + gl.issueBoards.ModalStore.store.filter[$dropdown.data('field-name')] = user.id; + } else if ($dropdown.hasClass('js-filter-submit') && (isIssueIndex || isMRIndex)) { + return Issuable.filterResults($dropdown.closest('form')); + } else if ($dropdown.hasClass('js-filter-submit')) { + return $dropdown.closest('form').submit(); + } else if (!$dropdown.hasClass('js-multiselect')) { + selected = $dropdown.closest('.selectbox').find("input[name='" + ($dropdown.data('field-name')) + "']").val(); + return assignTo(selected); + } + }, + id: function (user) { + return user.id; + }, + opened: function(e) { + const $el = $(e.currentTarget); + const selected = getSelected(); + if ($dropdown.hasClass('js-issue-board-sidebar') && selected.length === 0) { + this.addInput($dropdown.data('field-name'), 0, {}); + } + $el.find('.is-active').removeClass('is-active'); +>>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' if (getSelected().find(u => u === gon.current_user_id)) { $('.assign-to-me-link').hide(); @@ -393,6 +504,7 @@ import eventHub from './sidebar/event_hub'; } } +<<<<<<< HEAD var isIssueIndex, isMRIndex, page, selected; page = $('body').data('page'); isIssueIndex = page === 'projects:issues:index'; @@ -434,6 +546,36 @@ import eventHub from './sidebar/event_hub'; function highlightSelected(id) { $el.find(`li[data-user-id="${id}"] .dropdown-menu-user-link`).addClass('is-active'); } +======= + if (selected.length > 0) { + getSelected().forEach(selectedId => highlightSelected(selectedId)); + } else if ($dropdown.hasClass('js-issue-board-sidebar')) { + highlightSelected(0); + } else { + highlightSelected(selectedId); + } + }, + updateLabel: $dropdown.data('dropdown-title'), + renderRow: function(user) { + var avatar, img, listClosingTags, listWithName, listWithUserName, username; + username = user.username ? "@" + user.username : ""; + avatar = user.avatar_url ? user.avatar_url : false; + + let selected = false; + + if (this.multiSelect) { + selected = getSelected().find(u => user.id === u); + + const fieldName = this.fieldName; + const field = $dropdown.closest('.selectbox').find("input[name='" + fieldName + "'][value='" + user.id + "']"); + + if (field.length) { + selected = true; + } + } else { + selected = user.id === selectedId; + } +>>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' if ($selectbox[0]) { getSelected().forEach(selectedId => highlightSelected(selectedId)); diff --git a/app/views/projects/boards/components/sidebar/_assignee.html.haml b/app/views/projects/boards/components/sidebar/_assignee.html.haml index 642da679f97..48f8c656080 100644 --- a/app/views/projects/boards/components/sidebar/_assignee.html.haml +++ b/app/views/projects/boards/components/sidebar/_assignee.html.haml @@ -10,7 +10,7 @@ - if can?(current_user, :admin_issue, @project) .selectbox.hide-collapsed - %input{ type: "hidden", + %input.js-vue{ type: "hidden", name: "issue[assignee_ids][]", ":value" => "assignee.id", "v-if" => "issue.assignees", @@ -18,7 +18,6 @@ .dropdown %button.dropdown-menu-toggle.js-user-search.js-author-search.js-multiselect.js-save-user-data.js-issue-board-sidebar{ type: "button", ref: "assigneeDropdown", data: { toggle: "dropdown", field_name: "issue[assignee_ids][]", first_user: (current_user.username if current_user), current_user: "true", project_id: @project.id, null_user: "true", multi_select: "true", 'max-select' => 1, dropdown: { header: 'Assignee' } }, ":data-issuable-id" => "issue.id", - ":data-selected" => "assigneeId", ":data-issue-update" => "'#{namespace_project_issues_path(@project.namespace, @project)}/' + issue.id + '.json'" } Select assignee = icon("chevron-down") diff --git a/spec/features/dashboard/issues_spec.rb b/spec/features/dashboard/issues_spec.rb index 86c7954e60c..7a132dba1e9 100644 --- a/spec/features/dashboard/issues_spec.rb +++ b/spec/features/dashboard/issues_spec.rb @@ -26,9 +26,20 @@ RSpec.describe 'Dashboard Issues', feature: true do expect(page).not_to have_content(other_issue.title) end + it 'shows checkmark when unassigned is selected for assignee', js: true do + find('.js-assignee-search').click + find('li', text: 'Unassigned').click + find('.js-assignee-search').click + + expect(find('li[data-user-id="0"] a.is-active')).to be_visible + end + it 'shows issues when current user is author', js: true do find('#assignee_id', visible: false).set('') find('.js-author-search', match: :first).click + + expect(find('li[data-user-id="null"] a.is-active')).to be_visible + find('.dropdown-menu-author li a', match: :first, text: current_user.to_reference).click find('.js-author-search', match: :first).click -- GitLab From 690197972ea346217a3279b466f5b30aeea3750e Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 18 May 2017 07:41:14 +0000 Subject: [PATCH 084/249] Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' Automatically close user dropdown for CE Closes #31987 See merge request !11189 Conflicts: spec/features/issues/form_spec.rb --- app/assets/javascripts/users_select.js | 9 +++++++ spec/features/boards/sidebar_spec.rb | 1 - spec/features/issues/form_spec.rb | 34 ++++++++++++++++++++------ spec/features/issues_spec.rb | 4 --- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index 1b5c14734c5..6dbdd0153f5 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -484,6 +484,15 @@ import eventHub from './sidebar/event_hub'; selected = $dropdown.closest('.selectbox').find("input[name='" + ($dropdown.data('field-name')) + "']").val(); return assignTo(selected); } + + // Automatically close dropdown after assignee is selected + // since CE has no multiple assignees + // EE does not have a max-select + if ($dropdown.data('max-select') && + getSelected().length === $dropdown.data('max-select')) { + // Close the dropdown + $dropdown.dropdown('toggle'); + } }, id: function (user) { return user.id; diff --git a/spec/features/boards/sidebar_spec.rb b/spec/features/boards/sidebar_spec.rb index 7c53d2b47d9..a5ef280a60f 100644 --- a/spec/features/boards/sidebar_spec.rb +++ b/spec/features/boards/sidebar_spec.rb @@ -115,7 +115,6 @@ describe 'Issue Boards', feature: true, js: true do click_link 'Unassigned' end - find('.dropdown-menu-toggle').click wait_for_vue_resource expect(page).to have_content('No assignee') diff --git a/spec/features/issues/form_spec.rb b/spec/features/issues/form_spec.rb index 87adce3cddd..568faaad364 100644 --- a/spec/features/issues/form_spec.rb +++ b/spec/features/issues/form_spec.rb @@ -23,9 +23,14 @@ describe 'New/edit issue', feature: true, js: true do visit new_namespace_project_issue_path(project.namespace, project) end - describe 'multiple assignees' do + describe 'single assignee' do before do click_button 'Unassigned' +<<<<<<< HEAD +======= + + wait_for_ajax +>>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' end it 'unselects other assignees when unassigned is selected' do @@ -33,14 +38,12 @@ describe 'New/edit issue', feature: true, js: true do click_link user2.name end + click_button user2.name + page.within '.dropdown-menu-user' do click_link 'Unassigned' end - page.within '.js-assignee-search' do - expect(page).to have_content 'Unassigned' - end - expect(find('input[name="issue[assignee_ids][]"]', visible: false).value).to match('0') end @@ -51,11 +54,13 @@ describe 'New/edit issue', feature: true, js: true do expect(find('a', text: 'Assign to me', visible: false)).not_to be_visible - page.within '.dropdown-menu-user' do + click_button user.name + + page.within('.dropdown-menu-user') do click_link user.name end - expect(find('a', text: 'Assign to me')).to be_visible + expect(page.find('.dropdown-menu-user', visible: false)).not_to be_visible end end @@ -148,10 +153,17 @@ describe 'New/edit issue', feature: true, js: true do it 'correctly updates the selected user when changing assignee' do click_button 'Unassigned' +<<<<<<< HEAD +======= + + wait_for_ajax + +>>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' page.within '.dropdown-menu-user' do click_link user.name end +<<<<<<< HEAD expect(find('input[name="issue[assignee_ids][]"]', visible: false).value).to match(user.id.to_s) click_button user.name @@ -161,16 +173,24 @@ describe 'New/edit issue', feature: true, js: true do # check the ::before pseudo element to ensure checkmark icon is present expect(before_for_selector('.dropdown-menu-selectable a.is-active')).not_to eq('') expect(before_for_selector('.dropdown-menu-selectable a:not(.is-active)')).to eq('') +======= + expect(find('.js-assignee-search')).to have_content(user.name) + click_button user.name +>>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' page.within '.dropdown-menu-user' do click_link user2.name end +<<<<<<< HEAD expect(find('input[name="issue[assignee_ids][]"]', visible: false).value).to match(user2.id.to_s) click_button user2.name expect(find('.dropdown-menu-user a.is-active').first(:xpath, '..')['data-user-id']).to eq(user2.id.to_s) +======= + expect(find('.js-assignee-search')).to have_content(user2.name) +>>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' end end diff --git a/spec/features/issues_spec.rb b/spec/features/issues_spec.rb index 5285dda361b..396a923082d 100644 --- a/spec/features/issues_spec.rb +++ b/spec/features/issues_spec.rb @@ -465,8 +465,6 @@ describe 'Issues', feature: true do click_link 'Edit' click_link @user.name - find('.dropdown-menu-toggle').click - page.within '.value .author' do expect(page).to have_content @user.name end @@ -474,8 +472,6 @@ describe 'Issues', feature: true do click_link 'Edit' click_link @user.name - find('.dropdown-menu-toggle').click - page.within '.value .assign-yourself' do expect(page).to have_content "No assignee" end -- GitLab From 40b78c536f1c03b668da2211f14d82e8ba9d512a Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Fri, 12 May 2017 11:28:27 +0000 Subject: [PATCH 085/249] Merge branch '30286-ci-badge-component' into 'master' Uniform CI status components in vue Closes #30286 See merge request !11235 --- .../javascripts/pipelines/components/stage.js | 104 ------------------ .../pipelines/components/status.js | 60 ---------- .../components/mr_widget_deployment.js | 4 +- .../components/mr_widget_pipeline.js | 21 +++- .../javascripts/vue_shared/ci_status_icons.js | 12 -- .../vue_shared/components/ci_badge_link.vue | 52 +++++++++ .../vue_shared/components/ci_icon.vue | 25 ++++- .../components/pipeline_status_icon.js | 23 ---- .../components/pipelines_table_row.js | 15 ++- .../vue_shared/pipeline_svg_icons.js | 43 -------- .../stylesheets/pages/merge_requests.scss | 8 +- .../unreleased/30286-ci-badge-component.yml | 4 + .../components/mr_widget_deployment_spec.js | 4 +- .../components/mr_widget_pipeline_spec.js | 6 +- .../components/ci_badge_link_spec.js | 89 +++++++++++++++ .../vue_shared/components/ci_icon_spec.js | 9 ++ 16 files changed, 213 insertions(+), 266 deletions(-) delete mode 100644 app/assets/javascripts/pipelines/components/stage.js delete mode 100644 app/assets/javascripts/pipelines/components/status.js create mode 100644 app/assets/javascripts/vue_shared/components/ci_badge_link.vue delete mode 100644 app/assets/javascripts/vue_shared/components/pipeline_status_icon.js delete mode 100644 app/assets/javascripts/vue_shared/pipeline_svg_icons.js create mode 100644 changelogs/unreleased/30286-ci-badge-component.yml create mode 100644 spec/javascripts/vue_shared/components/ci_badge_link_spec.js diff --git a/app/assets/javascripts/pipelines/components/stage.js b/app/assets/javascripts/pipelines/components/stage.js deleted file mode 100644 index 034e8d3280e..00000000000 --- a/app/assets/javascripts/pipelines/components/stage.js +++ /dev/null @@ -1,104 +0,0 @@ -/* global Flash */ -import { borderlessStatusIconEntityMap } from '../../vue_shared/ci_status_icons'; - -export default { - data() { - return { - builds: '', - spinner: '<span class="fa fa-spinner fa-spin"></span>', - }; - }, - - props: { - stage: { - type: Object, - required: true, - }, - }, - - updated() { - if (this.builds) { - this.stopDropdownClickPropagation(); - } - }, - - methods: { - fetchBuilds(e) { - const ariaExpanded = e.currentTarget.attributes['aria-expanded']; - - if (ariaExpanded && (ariaExpanded.textContent === 'true')) return null; - - return this.$http.get(this.stage.dropdown_path) - .then((response) => { - this.builds = JSON.parse(response.body).html; - }, () => { - const flash = new Flash('Something went wrong on our end.'); - return flash; - }); - }, - - /** - * When the user right clicks or cmd/ctrl + click in the job name - * the dropdown should not be closed and the link should open in another tab, - * so we stop propagation of the click event inside the dropdown. - * - * Since this component is rendered multiple times per page we need to guarantee we only - * target the click event of this component. - */ - stopDropdownClickPropagation() { - $(this.$el.querySelectorAll('.js-builds-dropdown-list a.mini-pipeline-graph-dropdown-item')).on('click', (e) => { - e.stopPropagation(); - }); - }, - }, - computed: { - buildsOrSpinner() { - return this.builds ? this.builds : this.spinner; - }, - dropdownClass() { - if (this.builds) return 'js-builds-dropdown-container'; - return 'js-builds-dropdown-loading builds-dropdown-loading'; - }, - buildStatus() { - return `Build: ${this.stage.status.label}`; - }, - tooltip() { - return `has-tooltip ci-status-icon ci-status-icon-${this.stage.status.group}`; - }, - triggerButtonClass() { - return `mini-pipeline-graph-dropdown-toggle has-tooltip js-builds-dropdown-button ci-status-icon-${this.stage.status.group}`; - }, - svgHTML() { - return borderlessStatusIconEntityMap[this.stage.status.icon]; - }, - }, - watch: { - 'stage.title': function stageTitle() { - $(this.$refs.button).tooltip('destroy').tooltip(); - }, - }, - template: ` - <div> - <button - @click="fetchBuilds($event)" - :class="triggerButtonClass" - :title="stage.title" - data-placement="top" - data-toggle="dropdown" - type="button" - ref="button" - :aria-label="stage.title"> - <span v-html="svgHTML" aria-hidden="true"></span> - <i class="fa fa-caret-down" aria-hidden="true"></i> - </button> - <ul class="dropdown-menu mini-pipeline-graph-dropdown-menu js-builds-dropdown-container"> - <div class="arrow-up" aria-hidden="true"></div> - <div - :class="dropdownClass" - class="js-builds-dropdown-list scrollable-menu" - v-html="buildsOrSpinner"> - </div> - </ul> - </div> - `, -}; diff --git a/app/assets/javascripts/pipelines/components/status.js b/app/assets/javascripts/pipelines/components/status.js deleted file mode 100644 index 21a281af438..00000000000 --- a/app/assets/javascripts/pipelines/components/status.js +++ /dev/null @@ -1,60 +0,0 @@ -import canceledSvg from 'icons/_icon_status_canceled.svg'; -import createdSvg from 'icons/_icon_status_created.svg'; -import failedSvg from 'icons/_icon_status_failed.svg'; -import manualSvg from 'icons/_icon_status_manual.svg'; -import pendingSvg from 'icons/_icon_status_pending.svg'; -import runningSvg from 'icons/_icon_status_running.svg'; -import skippedSvg from 'icons/_icon_status_skipped.svg'; -import successSvg from 'icons/_icon_status_success.svg'; -import warningSvg from 'icons/_icon_status_warning.svg'; - -export default { - props: { - pipeline: { - type: Object, - required: true, - }, - }, - - data() { - const svgsDictionary = { - icon_status_canceled: canceledSvg, - icon_status_created: createdSvg, - icon_status_failed: failedSvg, - icon_status_manual: manualSvg, - icon_status_pending: pendingSvg, - icon_status_running: runningSvg, - icon_status_skipped: skippedSvg, - icon_status_success: successSvg, - icon_status_warning: warningSvg, - }; - - return { - svg: svgsDictionary[this.pipeline.details.status.icon], - }; - }, - - computed: { - cssClasses() { - return `ci-status ci-${this.pipeline.details.status.group}`; - }, - - detailsPath() { - const { status } = this.pipeline.details; - return status.has_details ? status.details_path : false; - }, - - content() { - return `${this.svg} ${this.pipeline.details.status.text}`; - }, - }, - template: ` - <td class="commit-link"> - <a - :class="cssClasses" - :href="detailsPath" - v-html="content"> - </a> - </td> - `, -}; diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js index 3c23b8e472b..8b59e018836 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js @@ -1,7 +1,7 @@ /* global Flash */ import '~/lib/utils/datetime_utility'; -import { statusClassToSvgMap } from '../../vue_shared/pipeline_svg_icons'; +import { statusIconEntityMap } from '../../vue_shared/ci_status_icons'; import MemoryUsage from './mr_widget_memory_usage'; import MRWidgetService from '../services/mr_widget_service'; @@ -16,7 +16,7 @@ export default { }, computed: { svg() { - return statusClassToSvgMap.icon_status_success; + return statusIconEntityMap.icon_status_success; }, }, methods: { diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js index c622e8ba2f6..281b74f2701 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.js @@ -1,6 +1,6 @@ -import PipelineStage from '../../pipelines/components/stage'; -import pipelineStatusIcon from '../../vue_shared/components/pipeline_status_icon'; -import { statusClassToSvgMap } from '../../vue_shared/pipeline_svg_icons'; +import PipelineStage from '../../pipelines/components/stage.vue'; +import ciIcon from '../../vue_shared/components/ci_icon.vue'; +import { statusIconEntityMap } from '../../vue_shared/ci_status_icons'; export default { name: 'MRWidgetPipeline', @@ -9,7 +9,7 @@ export default { }, components: { 'pipeline-stage': PipelineStage, - 'pipeline-status-icon': pipelineStatusIcon, + ciIcon, }, computed: { hasCIError() { @@ -18,11 +18,14 @@ export default { return hasCI && !ciStatus; }, svg() { - return statusClassToSvgMap.icon_status_failed; + return statusIconEntityMap.icon_status_failed; }, stageText() { return this.mr.pipeline.details.stages.length > 1 ? 'stages' : 'stage'; }, + status() { + return this.mr.pipeline.details.status || {}; + }, }, template: ` <div class="mr-widget-heading"> @@ -38,7 +41,13 @@ export default { <span>Could not connect to the CI server. Please check your settings and try again.</span> </template> <template v-else> - <pipeline-status-icon :pipelineStatus="mr.pipelineDetailedStatus" /> + <div> + <a + class="icon-link" + :href="this.status.details_path"> + <ci-icon :status="status" /> + </a> + </div> <span> Pipeline <a diff --git a/app/assets/javascripts/vue_shared/ci_status_icons.js b/app/assets/javascripts/vue_shared/ci_status_icons.js index 48ad9214ac8..d9d0cad38e4 100644 --- a/app/assets/javascripts/vue_shared/ci_status_icons.js +++ b/app/assets/javascripts/vue_shared/ci_status_icons.js @@ -41,15 +41,3 @@ export const statusIconEntityMap = { icon_status_success: SUCCESS_SVG, icon_status_warning: WARNING_SVG, }; - -export const statusCssClasses = { - icon_status_canceled: 'canceled', - icon_status_created: 'created', - icon_status_failed: 'failed', - icon_status_manual: 'manual', - icon_status_pending: 'pending', - icon_status_running: 'running', - icon_status_skipped: 'skipped', - icon_status_success: 'success', - icon_status_warning: 'warning', -}; diff --git a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue new file mode 100644 index 00000000000..caa28bff6db --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue @@ -0,0 +1,52 @@ +<script> +import ciIcon from './ci_icon.vue'; +/** + * Renders CI Badge link with CI icon and status text based on + * API response shared between all places where it is used. + * + * Receives status object containing: + * status: { + * details_path: "/gitlab-org/gitlab-ce/pipelines/8150156" // url + * group:"running" // used for CSS class + * icon: "icon_status_running" // used to render the icon + * label:"running" // used for potential tooltip + * text:"running" // text rendered + * } + * + * Used in: + * - Pipelines table - first column + * - Jobs table - first column + * - Pipeline show view - header + * - Job show view - header + * - MR widget + */ + +export default { + props: { + status: { + type: Object, + required: true, + }, + }, + + components: { + ciIcon, + }, + + computed: { + cssClass() { + const className = this.status.group; + + return className ? `ci-status ci-${this.status.group}` : 'ci-status'; + }, + }, +}; +</script> +<template> + <a + :href="status.details_path" + :class="cssClass"> + <ci-icon :status="status" /> + {{status.text}} + </a> +</template> diff --git a/app/assets/javascripts/vue_shared/components/ci_icon.vue b/app/assets/javascripts/vue_shared/components/ci_icon.vue index 4d44baaa3c4..ec88119e16c 100644 --- a/app/assets/javascripts/vue_shared/components/ci_icon.vue +++ b/app/assets/javascripts/vue_shared/components/ci_icon.vue @@ -1,6 +1,27 @@ <script> - import { statusIconEntityMap, statusCssClasses } from '../../vue_shared/ci_status_icons'; + import { statusIconEntityMap } from '../ci_status_icons'; + /** + * Renders CI icon based on API response shared between all places where it is used. + * + * Receives status object containing: + * status: { + * details_path: "/gitlab-org/gitlab-ce/pipelines/8150156" // url + * group:"running" // used for CSS class + * icon: "icon_status_running" // used to render the icon + * label:"running" // used for potential tooltip + * text:"running" // text rendered + * } + * + * Used in: + * - Pipelines table Badge + * - Pipelines table mini graph + * - Pipeline graph + * - Pipeline show view badge + * - Jobs table + * - Jobs show view header + * - Jobs show view sidebar + */ export default { props: { status: { @@ -15,7 +36,7 @@ }, cssClass() { - const status = statusCssClasses[this.status.icon]; + const status = this.status.group; return `ci-status-icon ci-status-icon-${status} js-ci-status-icon-${status}`; }, }, diff --git a/app/assets/javascripts/vue_shared/components/pipeline_status_icon.js b/app/assets/javascripts/vue_shared/components/pipeline_status_icon.js deleted file mode 100644 index ae246ada01b..00000000000 --- a/app/assets/javascripts/vue_shared/components/pipeline_status_icon.js +++ /dev/null @@ -1,23 +0,0 @@ -import { statusClassToSvgMap } from '../pipeline_svg_icons'; - -export default { - name: 'PipelineStatusIcon', - props: { - pipelineStatus: { type: Object, required: true, default: () => ({}) }, - }, - computed: { - svg() { - return statusClassToSvgMap[this.pipelineStatus.icon]; - }, - statusClass() { - return `ci-status-icon ci-status-icon-${this.pipelineStatus.group}`; - }, - }, - template: ` - <div :class="statusClass"> - <a class="icon-link" :href="pipelineStatus.details_path"> - <span v-html="svg" aria-hidden="true"></span> - </a> - </div> - `, -}; diff --git a/app/assets/javascripts/vue_shared/components/pipelines_table_row.js b/app/assets/javascripts/vue_shared/components/pipelines_table_row.js index fbae85c85f6..73e70766494 100644 --- a/app/assets/javascripts/vue_shared/components/pipelines_table_row.js +++ b/app/assets/javascripts/vue_shared/components/pipelines_table_row.js @@ -2,7 +2,7 @@ import AsyncButtonComponent from '../../pipelines/components/async_button.vue'; import PipelinesActionsComponent from '../../pipelines/components/pipelines_actions'; import PipelinesArtifactsComponent from '../../pipelines/components/pipelines_artifacts'; -import PipelinesStatusComponent from '../../pipelines/components/status'; +import ciBadge from './ci_badge_link.vue'; import PipelinesStageComponent from '../../pipelines/components/stage.vue'; import PipelinesUrlComponent from '../../pipelines/components/pipeline_url'; import PipelinesTimeagoComponent from '../../pipelines/components/time_ago'; @@ -39,7 +39,7 @@ export default { 'commit-component': CommitComponent, 'dropdown-stage': PipelinesStageComponent, 'pipeline-url': PipelinesUrlComponent, - 'status-scope': PipelinesStatusComponent, + ciBadge, 'time-ago': PipelinesTimeagoComponent, }, @@ -197,11 +197,20 @@ export default { return ''; }, + + pipelineStatus() { + if (this.pipeline.details && this.pipeline.details.status) { + return this.pipeline.details.status; + } + return {}; + }, }, template: ` <tr class="commit"> - <status-scope :pipeline="pipeline"/> + <td class="commit-link"> + <ci-badge :status="pipelineStatus"/> + </td> <pipeline-url :pipeline="pipeline"></pipeline-url> diff --git a/app/assets/javascripts/vue_shared/pipeline_svg_icons.js b/app/assets/javascripts/vue_shared/pipeline_svg_icons.js deleted file mode 100644 index 5af30ae74f0..00000000000 --- a/app/assets/javascripts/vue_shared/pipeline_svg_icons.js +++ /dev/null @@ -1,43 +0,0 @@ -import canceledSvg from 'icons/_icon_status_canceled.svg'; -import createdSvg from 'icons/_icon_status_created.svg'; -import failedSvg from 'icons/_icon_status_failed.svg'; -import manualSvg from 'icons/_icon_status_manual.svg'; -import pendingSvg from 'icons/_icon_status_pending.svg'; -import runningSvg from 'icons/_icon_status_running.svg'; -import skippedSvg from 'icons/_icon_status_skipped.svg'; -import successSvg from 'icons/_icon_status_success.svg'; -import warningSvg from 'icons/_icon_status_warning.svg'; - -import canceledBorderlessSvg from 'icons/_icon_status_canceled_borderless.svg'; -import createdBorderlessSvg from 'icons/_icon_status_created_borderless.svg'; -import failedBorderlessSvg from 'icons/_icon_status_failed_borderless.svg'; -import manualBorderlessSvg from 'icons/_icon_status_manual_borderless.svg'; -import pendingBorderlessSvg from 'icons/_icon_status_pending_borderless.svg'; -import runningBorderlessSvg from 'icons/_icon_status_running_borderless.svg'; -import skippedBorderlessSvg from 'icons/_icon_status_skipped_borderless.svg'; -import successBorderlessSvg from 'icons/_icon_status_success_borderless.svg'; -import warningBorderlessSvg from 'icons/_icon_status_warning_borderless.svg'; - -export const statusClassToSvgMap = { - icon_status_canceled: canceledSvg, - icon_status_created: createdSvg, - icon_status_failed: failedSvg, - icon_status_manual: manualSvg, - icon_status_pending: pendingSvg, - icon_status_running: runningSvg, - icon_status_skipped: skippedSvg, - icon_status_success: successSvg, - icon_status_warning: warningSvg, -}; - -export const statusClassToBorderlessSvgMap = { - icon_status_canceled: canceledBorderlessSvg, - icon_status_created: createdBorderlessSvg, - icon_status_failed: failedBorderlessSvg, - icon_status_manual: manualBorderlessSvg, - icon_status_pending: pendingBorderlessSvg, - icon_status_running: runningBorderlessSvg, - icon_status_skipped: skippedBorderlessSvg, - icon_status_success: successBorderlessSvg, - icon_status_warning: warningBorderlessSvg, -}; diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index f08e27f198e..80b07941864 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -90,11 +90,6 @@ align-items: center; padding: $gl-padding-top $gl-padding 0; - i, - svg { - margin-right: 8px; - } - svg { position: relative; top: 1px; @@ -109,9 +104,10 @@ flex-wrap: wrap; } - .ci-status-icon > .icon-link svg { + .icon-link > .ci-status-icon > svg { width: 22px; height: 22px; + margin-right: 8px; } .ci-error { diff --git a/changelogs/unreleased/30286-ci-badge-component.yml b/changelogs/unreleased/30286-ci-badge-component.yml new file mode 100644 index 00000000000..13c2a4598c8 --- /dev/null +++ b/changelogs/unreleased/30286-ci-badge-component.yml @@ -0,0 +1,4 @@ +--- +title: Refactor all CI vue badges to use the same vue component +merge_request: +author: diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js index 2f971b39d16..d4b200875df 100644 --- a/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_deployment_spec.js @@ -1,7 +1,7 @@ import Vue from 'vue'; import deploymentComponent from '~/vue_merge_request_widget/components/mr_widget_deployment'; import MRWidgetService from '~/vue_merge_request_widget/services/mr_widget_service'; -import { statusClassToSvgMap } from '~/vue_shared/pipeline_svg_icons'; +import { statusIconEntityMap } from '~/vue_shared/ci_status_icons'; const deploymentMockData = [ { @@ -46,7 +46,7 @@ describe('MRWidgetDeployment', () => { describe('svg', () => { it('should have the proper SVG icon', () => { const vm = createComponent(deploymentMockData); - expect(vm.svg).toEqual(statusClassToSvgMap.icon_status_success); + expect(vm.svg).toEqual(statusIconEntityMap.icon_status_success); }); }); }); diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js index 1b418c7dfcf..647b59520f8 100644 --- a/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js @@ -1,5 +1,5 @@ import Vue from 'vue'; -import { statusClassToSvgMap } from '~/vue_shared/pipeline_svg_icons'; +import { statusIconEntityMap } from '~/vue_shared/ci_status_icons'; import pipelineComponent from '~/vue_merge_request_widget/components/mr_widget_pipeline'; import mockData from '../mock_data'; @@ -24,7 +24,7 @@ describe('MRWidgetPipeline', () => { describe('components', () => { it('should have components added', () => { expect(pipelineComponent.components['pipeline-stage']).toBeDefined(); - expect(pipelineComponent.components['pipeline-status-icon']).toBeDefined(); + expect(pipelineComponent.components.ciIcon).toBeDefined(); }); }); @@ -33,7 +33,7 @@ describe('MRWidgetPipeline', () => { it('should have the proper SVG icon', () => { const vm = createComponent({ pipeline: mockData.pipeline }); - expect(vm.svg).toEqual(statusClassToSvgMap.icon_status_failed); + expect(vm.svg).toEqual(statusIconEntityMap.icon_status_failed); }); }); diff --git a/spec/javascripts/vue_shared/components/ci_badge_link_spec.js b/spec/javascripts/vue_shared/components/ci_badge_link_spec.js new file mode 100644 index 00000000000..daed4da3e15 --- /dev/null +++ b/spec/javascripts/vue_shared/components/ci_badge_link_spec.js @@ -0,0 +1,89 @@ +import Vue from 'vue'; +import ciBadge from '~/vue_shared/components/ci_badge_link.vue'; + +describe('CI Badge Link Component', () => { + let CIBadge; + + const statuses = { + canceled: { + text: 'canceled', + label: 'canceled', + group: 'canceled', + icon: 'icon_status_canceled', + details_path: 'status/canceled', + }, + created: { + text: 'created', + label: 'created', + group: 'created', + icon: 'icon_status_created', + details_path: 'status/created', + }, + failed: { + text: 'failed', + label: 'failed', + group: 'failed', + icon: 'icon_status_failed', + details_path: 'status/failed', + }, + manual: { + text: 'manual', + label: 'manual action', + group: 'manual', + icon: 'icon_status_manual', + details_path: 'status/manual', + }, + pending: { + text: 'pending', + label: 'pending', + group: 'pending', + icon: 'icon_status_pending', + details_path: 'status/pending', + }, + running: { + text: 'running', + label: 'running', + group: 'running', + icon: 'icon_status_running', + details_path: 'status/running', + }, + skipped: { + text: 'skipped', + label: 'skipped', + group: 'skipped', + icon: 'icon_status_skipped', + details_path: 'status/skipped', + }, + success_warining: { + text: 'passed', + label: 'passed', + group: 'success_with_warnings', + icon: 'icon_status_warning', + details_path: 'status/warning', + }, + success: { + text: 'passed', + label: 'passed', + group: 'passed', + icon: 'icon_status_success', + details_path: 'status/passed', + }, + }; + + it('should render each status badge', () => { + CIBadge = Vue.extend(ciBadge); + Object.keys(statuses).map((status) => { + const vm = new CIBadge({ + propsData: { + status: statuses[status], + }, + }).$mount(); + + expect(vm.$el.getAttribute('href')).toEqual(statuses[status].details_path); + expect(vm.$el.textContent.trim()).toEqual(statuses[status].text); + expect(vm.$el.getAttribute('class')).toEqual(`ci-status ci-${statuses[status].group}`); + expect(vm.$el.querySelector('svg')).toBeDefined(); + return vm; + }); + }); +}); diff --git a/spec/javascripts/vue_shared/components/ci_icon_spec.js b/spec/javascripts/vue_shared/components/ci_icon_spec.js index 98dc6caa622..d8664408595 100644 --- a/spec/javascripts/vue_shared/components/ci_icon_spec.js +++ b/spec/javascripts/vue_shared/components/ci_icon_spec.js @@ -25,6 +25,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_success', + group: 'success', }, }, }).$mount(); @@ -37,6 +38,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_failed', + group: 'failed', }, }, }).$mount(); @@ -49,6 +51,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_warning', + group: 'warning', }, }, }).$mount(); @@ -61,6 +64,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_pending', + group: 'pending', }, }, }).$mount(); @@ -73,6 +77,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_running', + group: 'running', }, }, }).$mount(); @@ -85,6 +90,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_created', + group: 'created', }, }, }).$mount(); @@ -97,6 +103,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_skipped', + group: 'skipped', }, }, }).$mount(); @@ -109,6 +116,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_canceled', + group: 'canceled', }, }, }).$mount(); @@ -121,6 +129,7 @@ describe('CI Icon component', () => { propsData: { status: { icon: 'icon_status_manual', + group: 'manual', }, }, }).$mount(); -- GitLab From e0e2197465112072c4649acd65bf88f8dca6b549 Mon Sep 17 00:00:00 2001 From: "Sean Packham (GitLab)" <sean@seanpackham.com> Date: Thu, 18 May 2017 10:55:29 +0000 Subject: [PATCH 086/249] Merge branch 'docs/refactor-pipeline-schedules' into 'master' Refactor pipeline schedules docs See merge request !11470 --- doc/ci/README.md | 3 +- doc/ci/img/pipeline_schedules_list.png | Bin 67555 -> 0 bytes doc/ci/pipeline_schedules.md | 40 ----------- doc/ci/triggers/README.md | 20 +++++- .../pipelines/img/pipeline_schedules_list.png | Bin 0 -> 14665 bytes .../img/pipeline_schedules_new_form.png | Bin .../img/pipeline_schedules_ownership.png | Bin 0 -> 12043 bytes doc/user/project/pipelines/schedules.md | 62 ++++++++++++++++++ 8 files changed, 81 insertions(+), 44 deletions(-) delete mode 100644 doc/ci/img/pipeline_schedules_list.png delete mode 100644 doc/ci/pipeline_schedules.md create mode 100644 doc/user/project/pipelines/img/pipeline_schedules_list.png rename doc/{ci => user/project/pipelines}/img/pipeline_schedules_new_form.png (100%) create mode 100644 doc/user/project/pipelines/img/pipeline_schedules_ownership.png create mode 100644 doc/user/project/pipelines/schedules.md diff --git a/doc/ci/README.md b/doc/ci/README.md index c4f9a3cb573..84533ea1d48 100644 --- a/doc/ci/README.md +++ b/doc/ci/README.md @@ -66,7 +66,8 @@ learn how to leverage its potential even more. submodules are involved - [Auto deploy](autodeploy/index.md) - [Use SSH keys in your build environment](ssh_keys/README.md) -- [Trigger jobs through the GitLab API](triggers/README.md) +- [Trigger pipelines through the GitLab API](triggers/README.md) +- [Trigger pipelines on a schedule](../user/project/pipelines/schedules.md) ## Review Apps diff --git a/doc/ci/img/pipeline_schedules_list.png b/doc/ci/img/pipeline_schedules_list.png deleted file mode 100644 index 9388fac98ebcfbb6d57e81f8620d9759b2900eaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67555 zcmdS9Rajh2vw(|hfB?aL(BOgKPH>0dGU(v$ZUKV36Wrb1J-83<?(TMyfA6#H`|r-x znWryib*-xEs;*wEdp&Q6f}A)C5<U_H1O$qtgoqLZ1oR681f)Fz+@BtafGKwf2&7W8 zZ{HLozkMTBu(vTbvjqJSgd`-wD}P_a4w`5`jKFqBX-Aw!B&EEW%>NM)tsso}<)ffw z(TB(l^^fR6AVK)gNRhD7-NK6WAE1yH;Efa%2D<%=ibi3HH^)4V+Z)$9!Q-#sasKBs zhuB&$8pI=U*o3@4C4|IYJ|Yy~FSAYbn6E3$zP=P$P`Jre3&oydg1%^ibq_DC{2xf? zg3s{BZlCVY-%BaDz7$(RWI+VvauuH#1x%1n_3R-}LkM2Rv>A)x`$Qt6Ct{OA1GL!& z?T}Yk2B(l$SamT85Bx9AAvT8S6G>4arYT|z^J}-G`HhSky8;F`uRb~pFZdBnY?1zo zxTx9LiRa=EtODK$+=e`BO_(amW7Em?A$z3YtR<uk%Ntld2t;lB&~ZsNJ)ojc{Jw;m z=xXL8H&IPU-eNES)@8l}9JsD;uL+rMK4=&@mq_mb9Mmh;!sul_=+m=ESJfq^4SWC^ z2}xxY2`~*!h|dZHecnn|Zp;#m+-+gS;iBW`w2YZ)&h`%bm5RI5uDlHxMh@`HNil>y z%i*IcWE>kXW@x8l;9qbs3$mT!{e`Q>p_qXKDA_OM3Uj}TgG$_!zxufQeddRV#Z0uo z0)V=z4Jz>oCU_j4S@0u*kUt!hFDo-N*f#?^E`^<=N*c-Mhc5w6rkEiq2UXC(PIW}m z)ToS1Ib?FH53;~{>+|(JQfxodE=Ke%wu8xLLwpzmbe0o71Y(bpTq_Yo4;REzMopmq zO(3EB88mdTAYqCEWD%5X7JPX0P?;~0EtGW^^1~0kkC0#}_F(uSK?s&Esw$Knf6pp3 zLKw=d4}|b48(%q*@r960VduN8CZV6Y$(doqy6Kn^`F-&a{B1wN<_IH2<L9B^2^)VT zviDsfC87Bk>YJ0r84Qn@Ejx)yLqh8-m1SRq|Ag0qP%q4p4LpGS`XS<*P4)yc5>@YX z6;c^A)6YX@=)0gFn{2j(ZN%gL4jX*7U$h}J{RuWyAJ|vW(7G!(K7SI7QK+GDiboHP zv=@5J1t?b2K$;`dqNxOw2+n1vDyA2;7Lm=u9AV;z737$ilGhO}VG{Wp=g#LgX1U}_ zPpTZiIl@0Ny5sVNyai?J#eWIH)%t*m85z=Rq-Xy{G+AmCc9cy<!1&WOWLW>Ofm1bD zUEUIg9kLa@mB8bZR#bcFX@8_%p)KbxsPT^`QP+djwq{M*EBY&+SFp56tUukO%lDLS zj$NERNbsU{66pq1cIyt@Z|ZKCAYi~)`7?B9c9B_<o>2ZG{fc?^Q4En)L^6kQDg#$W zhSZuI8}m4LJ~%4mT!JDNZYZcOwvQ4N7b<BY!6DI`CvWt*268d5EtQ_)oGg<<mr{VV zGgpCz`xCVk1!Y9dPbFEiLf(AOPr0FZVPE<=4Yc~D`tkdo`ha1Wef9l#TNeGbePMkQ zA?xUw(WDXw5=|0S6b%ybQrhvj@yW4yQmIl;(p1uCiDfZupSh?4<ECTm<F+JrC5V#D zlkl^1ic*zvXwzDLxcj?DaMMO4fD??Rs3rELGZW7eGvZ@ntD_MUhT=abG*hrrgvHLq zfQG4t&Jy_Ocu1c$<U}LMaL5~_E95HVtu=v?Ym)q8{PG>Z4&Ap}DA{gVGDZDP;oKff z(YhSJEvfzw{f43QpQz*W5>Db5q}-%T5{PMghvA0(h6xg)=v+R_7Z;Vd7G0>Ime!TZ z6b+Yf7gH5smjG3X)N)I>itOf)<|>NX^M)pI>nJq8l>cBat|&VzW>jWUJ6Fw|nw&$J zTBuO0ycCHmlAI5pqo1{$`8BIFb2Yb=r&4;Wkd`GoA34vTw_40so?D7pQ2V`5(L_cK zm{gpWuT}c29+k6S)CjB;KF{D+&8)~Q@=@*_gkZ1w8q7h%)?|o4powRX5`}-q*h^ol zF`%VdZ8;fi*~cu!QNo7Lp2&9hWzBlU^u@gyeD!<xImw0b-Pph^*2unRC#E>QIO))N z#(1XD7|z(TR;kuw?~{Yeb@`s`o(=s61_Sy?jg`hc%_q&XI?LJ@bC4BfRY@&=Be*8A zhTnisBB=m=(q+bGLC^A+Rl`!<f@e*AjchHS#dBeLj82YD#OealD%KY|xiZ}9`6`pe zq-8X&Nx~dLZ%15vWfvnZRZf0~X~!*274CMu16B;&Lfp!9*<Y~ZIKK*YEOpphwVgzp z-JABBom(ZF1Dg_>_?+f#qZ}%oGH<GG77py@Ft-m+o7Wwpi+hY%OH<;2U|?E1ciYgK z&>H31gy#oO82+)2s>-Bu$n`<*C2!tNF`tcz8-a~?3PBD%uP!FKYC34u#0pPhQ~ajS zRjk4Ib&N$+2j8k3F4i{0$=u0$q8k)0C+D)~vS;)w^kMbCZI1ME{9KPz2;UI<D!K*u zMovdwsM=i4-DK`qzk9SY2W{avZ&cCTtZHX9y(E3yH(w1-59<*L6rB_C(toU_RsTLU zdO$uEXNhx1c1IV9Ss2YqY)JC`<23-x-$3e2KhA$9xZ>Jo=&ASuGasnc;}y4&qL9d( zevs+PV#ofOzL*~`lQ6+EhPq#R$0@I<z^LHn3gxl+CHuDF7_B1nlPfaq_v~4=Vp+54 z;Hg85Bg9Tj)Iy%TqynE&gfY&f&nZJACrf%&`tw0J8fO{;Rw6b=HkQkI9cIe~n`7Z) zyINTcQ(8+6=GJ42+^MHAI`t7v40g+v%d!nPmOh>2mf{YPQgY7Yzg>ve=k`K(k?i4J zmQLxPiC_8dpU-smT2arR5(kG`6KrC2<KICX9{1%WGCnkK`p)tv8E5UP9#N;gXWOR) z3+GLpC4x1irFuKQ=YB!Ln)<-a=O4$YYxFfVv^*lb6ue)RPrk1>svlo;^y*4&Nk2)a zOCLwkkSsbGJ<;r&u74>sbOO<W9zmHtJ8!O?E4gji!i6~poOiBIm;2Ph@{VsJ@5L=j z)hwM?$C7J9*(F^ik><xoNBFy`?e(_hRn9N7N8kAhb>unb@a7WcN5K1;kR|~pz&FC% z>n@G+TC4qo{iAV<OaXg8cd|-I^My&~Mcj4H*-ulm9#h8#TD3aYfx6*7T#GqtO74<- z(`zGrBV0))l}0)#EyJDMQ~2}T(+w4;iXN`d?U4yYtMhG@t4(L#?d@?>Zo5IR5s7IH z987CD>*j4%POaG^HOD=biJicMh9m1HL$AW(!GgkO7t!-w{=p7#YlTbYy5U;u>iPUS z&qo$pAKTlFNw4wOYIsSsHC`DX&TE?IFMD=tm?6}n@(G!$F9q*fuhDap`TFyl6(&Lx z#1U2Ez}JkY=cK7$`|<mtOtV1csFaBM@YbmNHtk#c8?5)aQIRu}SRX>S^82TkOgSHC z*&zAI4)nGZuh!@Ep4PZ?hP6gnSQ)<8=ofus?(^K9!4ml!`Si?Q{?6o~2mfcK7nOI5 zYmRf9D3dr7lSg_;i#4RIXkSA^NLLRG2q_o{<vtF~e(aaawk%kA0r?GqOaGr4NmvkU zix4p6o98fsTo~L4m@y_07~OIZ>>N1#0`d43)(w+kv%%_dIg5)f!AyOJ&=*d&&dvpP z&UY4+EGOR}D!kP%cCYz^kbTeWAd<9?c$Cvn-b8&Mt+e1&?}7<L|LkEi%#_s~)n#S4 z4Q;F#^^I%{K#Z<dwtu#@5D>hs+<*RBfgJToU9Bvw9k^Zj0ROs!`_KQs-An+|f8F9} z!3R*6RUrLlV-F%_WBkg<4B$s1B_-vxH!|i{5)u1P^*>j908>XtTW%&M7Z(>s7gk0a zdlRNFTwGjC%q&bSEDV3{U~q7=cGP!euy!E-4<rAt9TAX&p}m={qnV90>0i701~yKP zd;q{-NB{Nvk8y%r&HmeywZngg^(R24zY?Y|jLb~`W&4jR@84c-1v6KWrMifj70BA* zj}QJY%q+~j|5Ese=)Yb54^@r-R%PY*Uz-0z@}HW#On)Qz9})dWy8hMsCtv(XyiEU< zdwwL?D8)Po2tf!*5g}z)$dh(tZ55TL_jhzODEy+LB6v)!PckwLm$8zP#rd*(`LWY@ z>5S{CLoeL7V?HiK_1>zHhN|plKO*oF8>^><QARAJ@+px%xsq`qQPEQGI`_TT-tohu z+A@-6*+0+&e|c%#-?yB+mfe=s6JTLs>A;{MMnn9g`HG`oTotV_vr-5`{j=diBE6I$ z{Ij28!w-h$!b2~cMf%?e1^qIed|@R1(RiaFV7<}km5oFGjgaP|7WLna4;~|{>)bDJ zm_Fv8ga2a=42ePdk9Hvl_344HN+E^v-w2sMLjGqK)akK{-eY4iPCEhUOiWBgK0ms% zUe)UM*$|rm8x`K4JIf3!5T+ylbFhpNg1I?4IblhA2_63t+Yt{W<pvHm_Et|IvdXyB z_CUnu_I56!smh(mPn6iM{8=X0P^U5>RUG5gf7!@FMNr7^M9pIPO(&8?Lt<RJcqTxS z7@Jy1N$tj0z$77J%@Ck+J*&(BGs5M8der8uuFP;((o{qGcnzz50diL%)Sa`wnn<<C z&(H~xDbbj}-k(sDUQjz!{sBFld8Jz@R)1LgIG#&W9sD{s_<m&LGadsj7|RDUB?OJA z3=$?J@Igz<u@uNheLK>4Ze`<S`a*tqEkejw*i$t4nibbjc*(1lty|@w6;sGXj)*9b zObAte0M5?UY%=557k*+ol$c;9YcyEW3DS)knE-W^7`q*=lwf<eTa&1a0ajzWKmfsn zw-K1ssaZb1UtV;~HcsaG!9nt=k;!L%31@1zVsD?(rDXlC%vE`)-WT{S`P@;0(2z>g zA?N}Py4NUct4pSN;?cJYUhou&Ug#d1UN}NyTE}3%Ppq?5z_}r=HGV;y{}3*we(gTX zpdsUWo&X!1$_>wfcdXcw-!(UCAtWRe5ej^?S*kNjAG=vzy7~Q?_2X)HrIM!X^4fqu z3RQSZ$;155J2ga5J^|ZlVTp3*EDHvn1lw1;HRq#-NG`fk1Q~B*06-H@K|7kxQb|#v zC<9`AMguXcmVok6VlC14qGJldOf{Rtac|$eP1hBsR#zkZK$1z%$Yq(8l0@sBp8zp< z0J$<Upwmg}^ZSD8s5cKJW@cL0BognnJSDjuo9!~nfRv*}x|e9AD3^q*9We&oN>rp5 z61fMwO4ISd)o^^~;ZG4lGvdHBVXGCQ{BqRuxnzQkDjzNr;jIRG5tOhRa5`OYBkIr> zQ;a4981v0Tr~c{jV96|ANDZwI+ca$#t^&A>pGG#S@XXfB#9yYH5!{U#0a^(zz`4?B ztpbBHJv$xgCuZXr4vCjDZ1jiHRR5#a>%@DA?O^eXd7*R#ZF>6gOtEPk<SO$`T9}EH za5|>6Co=alZ8wIx6wi~@Sl{0S29_L0gHt0AZ1Fof(oWm<#+t>Kt*nEc&rE9?_k3qw zTOjRq@a48};P$?n2CfT^bHWMA6Y}X(<&5o2z}haXe=On2Cw<+N(unuD^|zIoN;84o z7H<vPgXM%^EuYEM=woKPrS=1C*T-Y^{+gO!V?E<hIOJ#bFfusVY*mI|_r@8Hi&x?t zwtJS;TrI|F?|xXn0A<16-MAnaFwqzz=EDR?zcX>5oYURi=#cgPM&HSWQ#cjcdyMWv zS=4&gOnEdz*Q&PiqtFvO<;lp#c->{NDYaMfhk-n64Zo%bH-s}@oOa6gim`;xorHMI zQuw%T{V;E-4$y>mOiDf&4HV=`h%fjLbiMOVDKm*MN7Q};OdStf;ZG@!1*tH@n4B&z z@F&A3H2!ty{A+6$cV<D(I!jyXTh{6=sDh2`{1Wf>c+R^|8!vAY%s!V$bq8E9-Se(w z)F5hpw{3>9g*Lo2v<%Vb$aM6b%FcjfAIZMf^^9-p)<UW&0wjk#>;`Ac=Z3XS0(RLb zEskdJnPLq$@r?qB`#&1U$S!Q4@_ev<Hu4M5%eNX4@;2cWdU|AQwHmWW)jQI6hqQ-q z67j-t0FTjZ`g4i}gqP~O_jGi(mw@gWpzu{UekuEyhdrcUr<2&!4Q~Y3>$-H>k=deY z%rNjz@dc~`)K~-p-bCk>AFb1(x(mIu0$>uxxOa?CdP_jpms6VQ7HO#SIXb>)y44F# z{J5*0-l8kvE=H&*oUS*d?C1Ppz}KEh8P}E%@0PS%{7=N*9fg;R1U3f!l~&A6+cvHq z#!#AQ2Z7T@nnu_rn;1K|9-B*hk-GHKtjeo#Vfz=oYONo?Ua*%F7vl`vv@chkWS$$8 z&qf%!MNHi-jbAhZ9EQKSQX`!ESMZ_F&eEd)k`-U+jQzNxrmk+YI6w1ak<xU%8B_B? zogvJ=`uzAd`MnaY&fN`Mic)cEq{}qIQm9;B@0V4hl`vtCwpE``Q2)I8w2G8lhbg|d z)gP9hR?byZIn?g32wzR75%Ba&I{+0|LA3y*h|7yZ^(8tRc3t|Rv9^FofLiBhN4s5) znAeYefYEebn+d`}3c$bgO7P+>KXCl69d0=0ku7h_nk;&}7suJ2K|E>^bT|L2XDJ^Z zeY%qMrR;Qx^4UJ6Eby+d=es5oVy1+^ZA|>WP~E{SdSRTZzKsw<kN-<_TCDHAGtR=T zwEKGvo%~XKxqM7YQ@XCFf8&~NcA(;P3181rBaLi%?bAV7W=(Lz%)CY7=IZV=iG+vE zN&y3RBb~*0gYW8G<qW()e-0b<7rP_n6%Vx!+@C6XY7#ng*UQmOm6oEGgrScrB2^ga zGA*E{ioYXMct69o+>(TX19zA8pOWk(XibrAW>nj_b@`xCbBf$N91*P**{M!KTW|25 zPoBc3y_qF4puzlOohp#vP8Kv0Gq2z%giJD1)g`CqgGN{lm64+Gv-}LV-0Jx+Cu@@k z&_T{Y=K6cNlIrh2c-Q+L98Us|>)ey0UXS^|Ep=_;E{Yxj1HDgIF1@Z+tfQ9U>Si8x zDX0yG+A8g2nGTT|e$w9hX>QbC843-|hj1>q(-^?(mi}D$O;FAgnC*3}SBGj|C{Vkb zPA2&j;Ga2fxCWTRo^xPS&v1BhXjOWAJ*KWZ-3d%T?+op~TH$%HK-6?O3=q_9e=k#f zRh-yu!h1MJ*H5?q1kX{}rN&tw2Om(|piNga46DRuU9rYQc*}Gue?A}`#vhmL-8&Wk zW8rm~O>^D(_g#j<+?_suXg~sqUiDG#j?S5;A?8b+JJGmP9lzEpZ|(>v0f%Bk2!^n; z+f4y3B>_%O&{%H{M%cPT6W+4>ypz)K_=vNw5LSO>K^^9qAezqNW}iXlXIuC7#qZoW z^zF<55VEn}I-*X9!26A2GRrU+o!W;VI!s_SG`Sk{3zsv6ePf^D-E^K(f=`;)%_`<) zlDMHC-*NTE`EflT#8MDi-$h1=Opfh{6(;)G21sKO99qn*Vf>l9683n%Tx((akeP%M z+bBf|z0($Q3;9{SInQ9uqc+B<hSB<?$|&CTR@EHgkB}&Sf4gtKw<Fkki)dW#R})l* zXC9YT0fPo5Z3|K62^5=SVkH_H(i#+n03FI9CIslg0aNcB_jUh}#=xW8XX~EEPuQev z4Cr>!YGkH;oPDSt{B5pDQ|#miDs;=tq7|-Xb6Ct-$cj{m#)K_C&-;wRV^%+G!-%ZB zBNWJ`e0b+WRA=_!8>KWj5Be$Tx*x_8G^UOuPp&d;r6pxhT8PVn8b>X;x|$j6Vm#QZ zocAp8YRS08k^1FqvpAXC>{BeeRJ*p8TS%DwsrRWDr1NOhV8p%LKzmF{oi@S!X7k<o ztSWF^FI+f&io!qO6(0*7z)sP%z@)ji@2g~~nXVCD&XUGyH*FMt5*_x?IC5m^?TxL} zST4LWNEJ@Vg9;6D3)}7E9|ht@8NK7mB)Svs#s#>nMdI9P&?xLu4G?*(ssyg5)(Mbx zoaZhECoNW(9-0uR;0CHl=UG`vijKRrf2Dt{q4<*xTC4BiCkS*@a9GP#ixpgW8Yf;g zxqr;VB~S3O;qE~WKle%DY}TwrSd79aKk)*Y{+(77iC~=a>`&!FNh58?PYS-7Tb+Za zQEzywn$N>sL6ECKo#CCb?XdQ{vrVWo#f{Q6%z{Z3$XB2tp=Rfz46<U0c<;0H2hTqK z7X*W!Fuz%MiRf$XoCe#qLr<QBnr)6}ushp7bXP~|UA^|kP)|g;T|P^BHJ>$>0>$zn z!5b7sxsIqgU71$pP#OZ1P`y;!G1cf2v3DhNvw$haI9d)CZM7JtiCTL5Iqg|*uIoff zQkjg>7@;7flaUqhcnV~9c1}(-c9hCG1-bZL^Hg|Jr)lbKkYe2atxJ%|)Pwq+Mb#Z4 z;To%ahQoCgllbnq&|^y8MCLo{XuIL%?>sw%Xp`A3HOp5=l;bEh2moB<j~wfhdH6<I zLWJD5-X`ycgT<2e^%C13CsW%md_#)wTR5Nm?0V~dWl!i$`JNC{oLi$l&}NJ;{rqso zl=g~>aSyMzk|)kwT}iUFmdH<6ezJIUg{R{Yjf;V(?F2*H7OU-aXy`AIl?oGDpXBqy zT~Up^nFmAU1=`@->`0J`<(J65@Zzb-K7m{N2Fud6ykK8vtz>L9^@9%&AzdV$<XG*4 z!_X2Il;A@wH%VZFED%^Q8pGD_eyv#IJF{OYd{xYUU?nkkVrZnZZF}4@5F(FPWeLQv zm(%(<MF!PQP99@RE5l=s4xWm_z>b2G%#aR{1Y$QZXi<Mb5jUmdY8nxjw#b2#@B7sX zV1r?2EOpKYNHtOTw96o$2Nr*6@g>F&A{B5$f8#`KZWjj#5*U2}>|wjPVJr+FI!u0M zEp%+qazj#>`idwbvQ8sXAt$1Kzjl>VIC#qLxr!(DrUG_xp~u{VNBx1YdicAOOoDDZ zR}xWhLfvti+NiAKXfN6ai1IaD_y$E^b7kAO-M0wyajChVC`w9l`uLaXNM6QSth+fO znLn7}DwdXNOND%NV!U_!2N&)<&qvsr;$*u%TM;LfJF!u>3QYSex`__jPIIq%I)|r1 zrb|le!RvXK?ulic=GoJgz<qug6UMx^2BcnDjwi$J>Ga<*Ld~RXGG4SO$0EVWo<1ZL z=P`E{Y{eyV!!;RPJ{^)a4XeE$ZSUOrsHw=M5@8Mog2jQU;mj6Z5<nuR#-H1P0?S92 z%H_mNYo=CD){9znWo(Yi*<z>iPcaX#u_Zrs1!dIQKkW141jAPLE&4YSOBZ_GT4<%k z(p`7!uw3Z(&1zth#c3M=@`(0E_^ErU&pBaQilW{kpFV2<^3Csm>(@*KEy-v1inL8G z2D})9tmON1!bhG+H;qEm?iK|M7CkbzO?I<iNqM;sQR|dJ$9+v7W<oMc*2d`?_zChf z)UO<>OlnIo6%S~Hsl970e&$0CY!s{gJa($Kz|}1Ao*15+K)IKy@2?oO>`uBh(?_Ty zOkf!S!=b#2vX1Uv7dGb)gN(vTsl>l21XFn$@9dC|>fTW;kUKd`;r68dM(8?fXZgKK z;MYmyCwa8lo|BN17Rnn~?NdE^Gz?L2W4Aj$q2{O+H>-MQL5Ld`(>dPzgu)WmDYQrc zdVOFBCY~e!BYLjJ-F#-HTFJZJ)=!7FQ+`@4`~G-PezlYJl0!XA3;~AMSdeA_b@^1^ z%rsBSTgdYwUQZuKReOAL4+<-g-$xM9+^#YuNNaHgA2k=%>o%^ewCi#n=>}LUpJ%Ao z+c5#$k$uXUqMZ+YD{Jo*f3>Ns-Jd+)Gq;g~zIueTL90iUn$(S<L{V&nz|^@&%8%k+ z&wfPw9oJol#9B~EoAmg*_1%9>>bFXP1o2@Gz{=y+chsnqAw|p?1zdJZA`oz!;MRL? zWa81<dNiA3wF09EE92W7I9H>PDa)@*bB7a;Mh@VX)GQnL_$g$_VeWUmH9bZl%TePv zewKUpI(C$ck!{W_t|9a7Ca%tdV;ovq=E3C0)~`rOem$V1Er5^t{1G~M(Y5sFMunn% zV!>EA9Q*fNII1>QLv8>(n)t*dLcmXg&HamfU?2@^JwAbGzt_W4>35i(*(GV78OZ>T z-zRs9*RsK;i9d9%Fz~NUi*)!;2<NYgb)_jSE91D6157o3;^Gqr1xJF_Jk@x$N7eyC zhqtrwmssF5D*}Z*^AS=&olZVV(|~D!Sud2#I!?%@mj@unf-@XzVWH+&$(5En@*!b; zn^>dq+<agTJCVEP!^GNV{x9h?6r^)<|9;++G2F;a07M~mh#*xexxP?`1TD&pKNOp! ziPX2A{X*&Uy}Y5~YV}gxCE0CR=N|&@e5{ed3g-#=R81Bn#oxqlEgDax+Y{1ft6mqM zVicZH*wf&13;XnBRW!8a#;-sjKh1q~t+XpoS+jrbjznHdUCgr&JE)NKtK@qRkD!s+ z`@HtxEiAL*E6xW3=y`M6^eFCzo669p->{Btz^~yRBx#WzT6^1F1ss=arCm2EE?q;z z==1vK)xfQ&_=LmnW*nJ`_X1~?z34P%a~>8vJjGGCga%j=H_zQVHnDL=5v4q5Aoq7? z{X`x%K%T5dCiViEw&l!Mzx4^7PMruATAbZ{pet-nl=3i0TyDDo+&qmP@eqbj@g+cl zK`St~Q}PEd6^g==b~O9J4h>+)Vu`jbcj+)%yrfAZBiEL36BtJ-BA*;a<G^Si2?A_y z04aXglACRFu+VU-kbH{2V!u06z8lZ_3K8BVCrh4H_UptDtsQKwUZ_F6IH_VT9#c;x z>B?3r0Jc4$E$EijYLM3||JAw)9@61U5K%tTo#k6j(x1DY-1P95YQMhAW`9?KcB+vo zoqcdYVBk}uX3U)0)xPqF;SCc^A0o&I3~4SVftg+Qt}9Br^J^S6r`w)qQ3r1&RqjEm zCOD7zy%g;iES*oR;nsz~dO3H$b)51_5Fg}YVk3y1)O+2yDr59<-WM;=KUTU+Hft%j zf&`%Rm(m_iv?=P$wGMYz%=pU?%lbsOl@ob#QA_A~fFS1!v|erWyYJtXV%p?q9~&uy zdGNe^gn)S``K2uD3FF#9HcnPW7Y2F=NC}Uaq=!X#`hJIiPvQnf5?JJA@%~4v7w6oB ztQm(Pb+fMv&#T;)t2A$-xjTWMr!HLjd++>}$e6GUqoVQZv!+9F0v4Xh^{UQNJ~|I7 z%S6eDn%lF)@<-r^YK1JxIpiCtk5{01U86?2wBqnBN$4kiB7JYFLk~OI)3uKXOJX+3 zp6l^)`^oA$6!yrxk&c2F{8oy--0)jwD|eG6m^^c*6gRL46&^OB-4=eGB#i&czl6hX zcc~&$^EGuC8}`7(lC{HGztzBIUq+zZ?0M!X2Evu20c}xX7c!Ye7rh3oKJPenhG&RA zy{xtlxvb*lIIAr(8RF&y2bi9&(uK)&BC(nCCwwb1B~vzOv~^2STO|0Z|Fr@wkvq`B zcKdgy-o49tm*X3%<M&3!!kC(#4fPk%)8Ps}jyCj#@uKo|=hW~}BEx*=WB=9}K`U&? zi`vSZpn}xESMp)AP8}_fk#y*Cu26tJ-p;Gk6VW^Up{=!W71hEqG^EG(X@y@gwB`ro zrR*CmAU-8{InjXSv8xrTGELN%7ie^V?iC_BO06ICz5al|tC7+0b#5!;B>cnTOcI}6 zp4Y<O5s|3!WlG*k5^KGVPswuP2<6^1(=WSYqjWtxO?f6hsmsF(FJ)JN`Z}zYVvDDk zn)x8RE^n;hE4AKw*xdUHGd#*KU&osPJw*;Ivc?iIZr59Sxu@N_@SbI{V+Kyz<B?6K zT2HL-?k6bXPmIT*%Zv1Lja{NvS^@0eV$7AUWY^;!nU`iq=iua)mC)&rBiNe1^F_(* zTV))dsB>45)iOhq5QPNXZ&kB>3($Ata!Eqd%28sit;bV&)oePcwTo#--^m}nSw-I& z$?}iTwk}8&n!T4*ST`K6eIVO{OEF7&x7&{lHQ(lu;8DE;fWqLxcxPMFDc1L!Nl)dD zTT%QqL5^z~=?jazioiV*zf{K-LaKL5Mta$Z0|ps)H2lby(emWWJ9ncLQIw?(e{nTF zC*#@=%8M8l)urT0@>qtoWe(v-YE+|pBOC`)GUipI!f8GuKQg~SafGz&$hw60PT6dI zg<RyND7(2<XNLm<fpW$&44kiFP23$A4nUxp18N%&jxOpuvhnIl$4SO&3Q{Fw#Giv# zJN0ncGfSDKe!S2x)9|A*^y)Cxqwp4$PxRrIN6+>Qx0BkM-%fv76aqx(ei10?Cu(TD zvKlB&_$)GUl&5|=TTuHj?XDAdXEF)ny|^u`oFCCJfgW1orle7F6C?G#q9b4kf8VVb zmEACU5m@|X$sSLKPnD73Q2{fKHnU>6aJD$~HU432tiFpzIOd6j9~@qeY;5Qym3Z?x z=h4vQ*F2M*(S^7;*8*kztcf2x@=;SY7(^8I@iaLa6?9tiRVY#}Ua*xCbB`xaN8{9i zHD9;x&f~0U`H5RxsI_&!VZA~OuQ{x=<j!wC^e*)?>WJ#dO34XVR#FCJHpc*|ckxLe z8D#$&XhzEZQ^_pM6gY*om>k1MkNYg)wnp2)hzkWtyu;j6zT>J|O8I)s5R{_aS>pmH zfJgeho~uxSO?WP-#D=Aw5>>Ucroyw*lnK{TM@jZLij6COL}6#iN~^*f``2?36i4H& zav-qUNAdpaCU4~xX+=$`|7F~(uLwM%_{8uUBUmVRMaIieEzL!3!ZeK}O^aBvD-L1y zR4bJ_#sGMP0(nbVToaShn|2mCshmB3E-5Y-iTG@!wx)9BOYGK~DpaPY8EE*cji4-* z<fm5+@v0{{p#0q%*dfkKpb@y$kYLG6j-PzIp5d3?nH=o^APONF9?&3Q-6@51S7%SC zNgq1=JvUoT*QW@d<eja!L>-T@wp?sQjNtMZ{k3QwYesCbOyZ8EYM<o=TZfO|V1vf4 z3iaG81LnIN>a>qUbbUc_O(d^ooW?a8wcZ&WYjl-7_%U=cfstT8nPN065fzvt!l_uP zeT?C<b%2PTy1SzDu+>+Lc*L(hD}q@KoP8Wzog6A|U26Cp9dT_uq3-KN#d<ZyB@vgR zkS|O`^FxTyEjX{_D)S;^)HcOFnp~Gdy+JR1r5Y?~!6&Q3hlVJS*Go@ZR1BD$h<0z3 zzC(bxie|Q9H0Di%i2J~wlE0Q;(w%bAfSRPhiIef+;P&F$_08?|eHW*28x`^OPT(Dd zX?;h10ms5B$=j*yyP=iV(6elCQ)^U#wT`0e^ijBF57zxI|ITl{;Ljksf)ST)6Q8v0 zuV(tM2K|iawV67BUPI5(G^bqFVI{??+llRC+1G~k%eo3pVBkEHr#u{aK1mD;k=jra z{fQDtMOL=Uz4fm6j;-oe!*6~_FfCZ?8k_2OmmgkpjT>m?nw8nZIhMWmtcG7omG<`g zJ`1zUnxza*gR#bYW?YP4JBF@^0!V+{?Nuq<(@y6kV&QVrm~fab8s~l8&h}Z8aFF3( zx+n2zm|o|n#-dmKneuUVwy<2+37SifV-NUzNN~T(PqTAB(xZMFw689m)9T%d4>H1W z9FqeTONO%rFk4j;zUIgzaN`ev$468g%Hg;{dhR<8al7_(dtP<tv4Q*+N-HFJI^s9b zN@`4kJ;ZJU>9KsYGKUfm6Hr#s0NUAG2!)I=T#U6ezw*x|tBHXelPzZ1XXRA4;tcDt z;^&3BLp;H}TKNV|79)(YnqH+Pwhn6YlwhgXuoc##Zj1U4W<M=+XgnyC2aE1DE2#{2 zaPNnqDBh~jBx`!#SMpg7Y)rKIa!-F<#>4PN`lbOFwy#D$xP65z9&h-JWAbRJwAjNb z;oRNuf)l1zy4vo<YCrvbm))Q4nv!7T<@WPVWioZEPiZqU2(WvtwEZz>s2Wb>)s8!K zo}rg}QALZRrM<&0k)ryWd>^hTu1*84hn4xgYLb)7#Ww*(D<Cyb<vF)&oF&c9IX4Mq z%hKt^g8I(j;LwrTYTt@Ly|ULl=~3DY3EUo|Mj-66<8u*u4eJwwd4A>2b<5^eGdb%P zh}veEoP)}_#8j-vdJyV|mqswH`NXrK5zghUtI0c1CY=>ajAQe-7D29s`CTtOUL8DA zY8rr@DW$lI`}|2H@(npBY)z<b)bof6qx!p1F4yjFN;IDpb}N9)brPAiU+Q3jU#KLe zzIsdJO}|=Y;bjfkrU9Kid60bk)ugfSs}cE-dNQc-5w=p@>?hjb>@%HbD-c-&SSFG` zyI8RwMAeZmoJ&jnZmoo~QyYmjr(7;%29E_?#YJqalO_1*_AG%HKGL<ZX6`By{y}4T zu<U5(dmR1M97>ADr+Oa{;HPXnlf=Op3h=JN$>W=X&8XWRzUOT}dmmHS{E7gZ411#% zjYW+Uwe8s2(eK^t)KmGOWovgw+R^hN#s{#s$SGKW#SPE$TIEeA_lsRH;s}4jL|<_e z=v!|Hxro+KVkDKAjHfxv)~+;u*uKWGh<q_-ZaG0>OIcLpQ?Y~$5kUlO&CsSL!7^EO zQ=tv0`?t!g(vXGQDqpf^n&+2|TQ2Y{ka}IXbMElTYq#j^D47jW4mIH^1%S7Miyijc z)6C-9Ngln1LhmJ-`L&10#V+4GyKz<rbn@ISWp^kSPiOJ$aQ$*w>W-HHr?ZXe6M)JJ zurq`a)>?w4^17fgb3PXSHZlfQ8_%6I1?luo@<K5MvoBdri9Orci-*q);L<f}w5pps z;&VO0hF@z0s$A_7FSAOaOb)y`5dth<BVQec85;yGYEDMv8?oOpdqrFI{dj%iV~#&> zOLHKqJR{82y}{^`gdsd~E4(ZZ;j%fQTHDVg-a5{$ReD%k9~D#dZ+b-g1h=t@kOJ8i zW!5-Q9SZJ>fzQ$1!FCP><VM%-Coh~pxVHRG4_Y|gF^|Hp*MH6h`4z6hP#NM`ii(O; zq7x(74kA!Vf>|OjMY7xR3VL36-?Mj4(EVK0@_0RSh7oZ9UqS>)nGD9)#3|^l9Ow&C z8Ob7?Hv1L%MXZ?QW{Jo%V^Jb@ynvXffnndW<?S#r@R50}^Chu7>V=}HEV*i!oDO#S zbRHtxH0Dri8JB&f0!5l=JveyjrOGvq!oPuO@zZ=vZif}!R3$Q6Mw2v_kZ~9}tBTjk z2O<c1Cno&BVz>UqI`iyeSW7jz5?7!*-p7CsR5yuZyyds7CKD`Es*o9}tksTzfqV1V z6|8rW09%&{9k<2B^XGfVlL${K<>=D@OAyl`%U3%vx+GLQ0nTZo=IP9^;BB1Tagm5d z!V~B-&E)j%G3_Y^c<%e)jzdTeq>?6_GibXiS;x-hARC`Ur(dU^r9{j!<5XFF4~Lck z+U9UXyN;aW6Ft}S#Y<az4TV07GIIG!#ZlAS!c!sbjfZuO65H{gXP%0DDYo>SPC6#a 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%0Awu3(>L%!h$VB+8K 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 D(*ymN diff --git a/doc/ci/pipeline_schedules.md b/doc/ci/pipeline_schedules.md deleted file mode 100644 index 0a9b0e7173f..00000000000 --- a/doc/ci/pipeline_schedules.md +++ /dev/null @@ -1,40 +0,0 @@ -# Pipeline Schedules - -> **Note**: -- This feature was introduced in 9.1 as [Trigger Schedule][ce-105533] -- In 9.2, the feature was [renamed to Pipeline Schedule][ce-10853] - -Pipeline schedules can be used to run pipelines only once, or for example every -month on the 22nd for a certain branch. - -## Using Pipeline Schedules - -In order to schedule pipelines, navigate to your their pages **Pipelines âž” Schedules** -and click the **New Schedule** button. - - - -After entering the form, hit **Save Schedule** for the changes to have effect. -You can check a next execution date of the scheduled trigger, which is automatically calculated by a server. - -## Taking ownership - - - -Pipelines are executed as a user, which owns a schedule. This influences what -projects and other resources the pipeline has access to. If a user does not own -a pipeline, you can take ownership by clicking the **Take ownership** button. -The next time a pipeline is scheduled, your credentials will be used. - -> **Notes**: -- Those pipelines won't be executed precicely. Because schedules are handled by -Sidekiq, which runs according to its interval. For exmaple, if you set a schedule to -create a pipeline every minute (`* * * * *`) and the Sidekiq worker performs 00:00 -and 12:00 o'clock every day (`0 */12 * * *`), only 2 pipelines will be created per day. -To change the Sidekiq worker's frequency, you have to edit the `trigger_schedule_worker_cron` -value in your `gitlab.rb` and restart GitLab. The Sidekiq worker's configuration -on GiLab.com is able to be looked up at [here](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/gitlab.yml.example#L185). -- Cron notation is parsed by [Rufus-Scheduler](https://github.com/jmettraux/rufus-scheduler). - -[ce-10533]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10533 -[ce-10853]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10853 diff --git a/doc/ci/triggers/README.md b/doc/ci/triggers/README.md index 1251313cd14..27cdaa9978b 100644 --- a/doc/ci/triggers/README.md +++ b/doc/ci/triggers/README.md @@ -1,6 +1,6 @@ -# Triggering jobs through the API +# Triggering pipelines through the API -> **Note**: +> **Notes**: - [Introduced][ci-229] in GitLab CE 7.14. - GitLab 8.12 has a completely redesigned job permissions system. Read all about the [new model and its implications](../../user/project/new_ci_build_permissions_model.md#job-triggers). @@ -208,7 +208,7 @@ curl --request POST \ https://gitlab.example.com/api/v4/projects/9/trigger/pipeline ``` -### Using webhook to trigger job +### Using a webhook to trigger a pipeline You can add the following webhook to another project in order to trigger a job: @@ -216,4 +216,18 @@ You can add the following webhook to another project in order to trigger a job: https://gitlab.example.com/api/v4/projects/9/ref/master/trigger/pipeline?token=TOKEN&variables[UPLOAD_TO_S3]=true ``` +### Using cron to trigger nightly pipelines + +>**Note:** +The following behavior can also be achieved through GitLab's UI with +[pipeline schedules](../../user/project/pipelines/schedules.md). + +Whether you craft a script or just run cURL directly, you can trigger jobs +in conjunction with cron. The example below triggers a job on the `master` +branch of project with ID `9` every night at `00:30`: + +```bash +30 0 * * * curl --request POST --form token=TOKEN --form ref=master https://gitlab.example.com/api/v4/projects/9/trigger/pipeline +``` + [ci-229]: https://gitlab.com/gitlab-org/gitlab-ci/merge_requests/229 diff --git a/doc/user/project/pipelines/img/pipeline_schedules_list.png b/doc/user/project/pipelines/img/pipeline_schedules_list.png new file mode 100644 index 0000000000000000000000000000000000000000..50d9d184b05147f1804a40dfb16703d867c77bb4 GIT binary patch literal 14665 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 literal 0 HcmV?d00001 diff --git a/doc/ci/img/pipeline_schedules_new_form.png b/doc/user/project/pipelines/img/pipeline_schedules_new_form.png similarity index 100% rename from doc/ci/img/pipeline_schedules_new_form.png rename to doc/user/project/pipelines/img/pipeline_schedules_new_form.png diff --git a/doc/user/project/pipelines/img/pipeline_schedules_ownership.png b/doc/user/project/pipelines/img/pipeline_schedules_ownership.png new file mode 100644 index 0000000000000000000000000000000000000000..31ed83abb4d02e793efad18c85e27c83ee21af6c GIT binary patch literal 12043 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/pipelines/schedules.md b/doc/user/project/pipelines/schedules.md new file mode 100644 index 00000000000..641876f948f --- /dev/null +++ b/doc/user/project/pipelines/schedules.md @@ -0,0 +1,62 @@ +# Pipeline Schedules + +> **Notes**: +- This feature was introduced in 9.1 as [Trigger Schedule][ce-10533]. +- In 9.2, the feature was [renamed to Pipeline Schedule][ce-10853]. +- Cron notation is parsed by [Rufus-Scheduler](https://github.com/jmettraux/rufus-scheduler). + +Pipeline schedules can be used to run pipelines only once, or for example every +month on the 22nd for a certain branch. + +## Using Pipeline schedules + +In order to schedule a pipeline: + +1. Navigate to your project's **Pipelines âž” Schedules** and click the + **New Schedule** button. +1. Fill in the form +1. Hit **Save pipeline schedule** for the changes to take effect. + + + +>**Attention:** +The pipelines won't be executed precisely, because schedules are handled by +Sidekiq, which runs according to its interval. +See [advanced admin configuration](#advanced-admin-configuration) for more +information. + +In the **Schedules** index page you can see a list of the pipelines that are +scheduled to run. The next run is automatically calculated by the server GitLab +is installed on. + + + +## Taking ownership + +Pipelines are executed as a user, who owns a schedule. This influences what +projects and other resources the pipeline has access to. If a user does not own +a pipeline, you can take ownership by clicking the **Take ownership** button. +The next time a pipeline is scheduled, your credentials will be used. + + + +>**Note:** +When the owner of the schedule doesn't have the ability to create pipelines +anymore, due to e.g., being blocked or removed from the project, the schedule +is deactivated. Another user can take ownership and activate it, so the +schedule can be run again. + +## Advanced admin configuration + +The pipelines won't be executed precisely, because schedules are handled by +Sidekiq, which runs according to its interval. For example, if you set a +schedule to create a pipeline every minute (`* * * * *`) and the Sidekiq worker +runs on 00:00 and 12:00 every day (`0 */12 * * *`), only 2 pipelines will be +created per day. To change the Sidekiq worker's frequency, you have to edit the +`trigger_schedule_worker_cron` value in your `gitlab.rb` and restart GitLab. +For GitLab.com, you can check the [dedicated settings page][settings]. If you +don't have admin access to the server, ask your administrator. + +[ce-10533]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10533 +[ce-10853]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10853 +[settings]: https://about.gitlab.com/gitlab-com/settings/#cron-jobs -- GitLab From 6c61f56c56f0d60fca7004c5d11278b4483f2cc4 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Wed, 17 May 2017 10:42:55 +0000 Subject: [PATCH 087/249] Merge branch 'bvl-docs-dynamic-path-validator' into 'master' Update documentation on reserved words for groups and projects See merge request !11432 --- doc/user/group/subgroups/index.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/user/group/subgroups/index.md b/doc/user/group/subgroups/index.md index ce5da07c61a..a4726673fc4 100644 --- a/doc/user/group/subgroups/index.md +++ b/doc/user/group/subgroups/index.md @@ -71,8 +71,10 @@ structure. - You need to be an Owner of a group in order to be able to create a subgroup. For more information check the [permissions table][permissions]. - For a list of words that are not allowed to be used as group names see the - [`namespace_validator.rb` file][reserved] under the `RESERVED` and - `WILDCARD_ROUTES` lists. + [`dynamic_path_validator.rb` file][reserved] under the `TOP_LEVEL_ROUTES`, `WILDCARD_ROUTES` and `GROUP_ROUTES` lists: + - `TOP_LEVEL_ROUTES`: are names that are reserved as usernames or top level groups + - `WILDCARD_ROUTES`: are names that are reserved for child groups or projects. + - `GROUP_ROUTES`: are names that are reserved for all groups or projects. To create a subgroup: @@ -161,4 +163,4 @@ Here's a list of what you can't do with subgroups: [ce-2772]: https://gitlab.com/gitlab-org/gitlab-ce/issues/2772 [permissions]: ../../permissions.md#group -[reserved]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/validators/namespace_validator.rb +[reserved]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/validators/dynamic_path_validator.rb -- GitLab From 258c33ae4ca58b65fee9cedf4dc03eaf60162673 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Tue, 16 May 2017 18:26:12 +0000 Subject: [PATCH 088/249] Merge branch 'i18n-docs' into 'master' Add guide to collaborate with i18n. See merge request !11196 --- doc/development/README.md | 4 + doc/development/i18n_guide.md | 239 ++++++++++++++++++++++++++++++++++ 2 files changed, 243 insertions(+) create mode 100644 doc/development/i18n_guide.md diff --git a/doc/development/README.md b/doc/development/README.md index d04380e5b33..e7dd746b9bf 100644 --- a/doc/development/README.md +++ b/doc/development/README.md @@ -49,6 +49,10 @@ - [Adding database indexes](adding_database_indexes.md) - [Post Deployment Migrations](post_deployment_migrations.md) +## i18n + +- [Internationalization for GitLab](i18n_guide.md) + ## Compliance - [Licensing](licensing.md) for ensuring license compliance diff --git a/doc/development/i18n_guide.md b/doc/development/i18n_guide.md new file mode 100644 index 00000000000..44eca68aaca --- /dev/null +++ b/doc/development/i18n_guide.md @@ -0,0 +1,239 @@ +# Internationalization for GitLab + +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10669) in GitLab 9.2. + +For working with internationalization (i18n) we use +[GNU gettext](https://www.gnu.org/software/gettext/) given it's the most used +tool for this task and we have a lot of applications that will help us to work +with it. + +## Tools + +We use a couple of gems: + +1. [`gettext_i18n_rails`](https://github.com/grosser/gettext_i18n_rails): this + gem allow us to translate content from models, views and controllers. Also + it gives us access to the following raketasks: + - `rake gettext:find`: Parses almost all the files from the + Rails application looking for content that has been marked for + translation. Finally, it updates the PO files with the new content that + it has found. + - `rake gettext:pack`: Processes the PO files and generates the + MO files that are binary and are finally used by the application. + +1. [`gettext_i18n_rails_js`](https://github.com/webhippie/gettext_i18n_rails_js): + this gem is useful to make the translations available in JavaScript. It + provides the following raketask: + - `rake gettext:po_to_json`: Reads the contents from the PO files and + generates JSON files containing all the available translations. + +1. PO editor: there are multiple applications that can help us to work with PO + files, a good option is [Poedit](https://poedit.net/download) which is + available for macOS, GNU/Linux and Windows. + +## Preparing a page for translation + +We basically have 4 types of files: + +1. Ruby files: basically Models and Controllers. +1. HAML files: these are the view files. +1. ERB files: used for email templates. +1. JavaScript files: we mostly need to work with VUE JS templates. + +### Ruby files + +If there is a method or variable that works with a raw string, for instance: + +```ruby +def hello + "Hello world!" +end +``` + +Or: + +```ruby +hello = "Hello world!" +``` + +You can easily mark that content for translation with: + +```ruby +def hello + _("Hello world!") +end +``` + +Or: + +```ruby +hello = _("Hello world!") +``` + +### HAML files + +Given the following content in HAML: + +```haml +%h1 Hello world! +``` + +You can mark that content for translation with: + +```haml +%h1= _("Hello world!") +``` + +### ERB files + +Given the following content in ERB: + +```erb +<h1>Hello world!</h1> +``` + +You can mark that content for translation with: + +```erb +<h1><%= _("Hello world!") %></h1> +``` + +### JavaScript files + +In JavaScript we added the `__()` (double underscore parenthesis) function +for translations. + +### Updating the PO files with the new content + +Now that the new content is marked for translation, we need to update the PO +files with the following command: + +```sh +bundle exec rake gettext:find +``` + +This command will update the `locale/**/gitlab.edit.po` file with the +new content that the parser has found. + +New translations will be added with their default content and will be marked +fuzzy. To use the translation, look for the `#, fuzzy` mention in `gitlab.edit.po` +and remove it. + +Translations that aren't used in the source code anymore will be marked with +`~#`; these can be removed to keep our translation files clutter-free. + +## Working with special content + +### Interpolation + +- In Ruby/HAML: + + ```ruby + _("Hello %{name}") % { name: 'Joe' } + ``` + +- In JavaScript: Not supported at this moment. + +### Plurals + +- In Ruby/HAML: + + ```ruby + n_('Apple', 'Apples', 3) => 'Apples' + ``` + + Using interpolation: + ```ruby + n_("There is a mouse.", "There are %d mice.", size) % size + ``` + +- In JavaScript: + + ```js + n__('Apple', 'Apples', 3) => 'Apples' + ``` + + Using interpolation: + + ```js + n__('Last day', 'Last %d days', 30) => 'Last 30 days' + ``` + +### Namespaces + +Sometimes you need to add some context to the text that you want to translate +(if the word occurs in a sentence and/or the word is ambiguous). + +- In Ruby/HAML: + + ```ruby + s_('OpenedNDaysAgo|Opened') + ``` + + In case the translation is not found it will return `Opened`. + +- In JavaScript: + + ```js + s__('OpenedNDaysAgo|Opened') + ``` + +### Just marking content for parsing + +Sometimes there are some dynamic translations that can't be found by the +parser when running `bundle exec rake gettext:find`. For these scenarios you can +use the [`_N` method](https://github.com/grosser/gettext_i18n_rails/blob/c09e38d481e0899ca7d3fc01786834fa8e7aab97/Readme.md#unfound-translations-with-rake-gettextfind). + +There is also and alternative method to [translate messages from validation errors](https://github.com/grosser/gettext_i18n_rails/blob/c09e38d481e0899ca7d3fc01786834fa8e7aab97/Readme.md#option-a). + +## Adding a new language + +Let's suppose you want to add translations for a new language, let's say French. + +1. The first step is to register the new language in `lib/gitlab/i18n.rb`: + + ```ruby + ... + AVAILABLE_LANGUAGES = { + ..., + 'fr' => 'Français' + }.freeze + ... + ``` + +1. Next, you need to add the language: + + ```sh + bundle exec rake gettext:add_language[fr] + ``` + + If you want to add a new language for a specific region, the command is similar, + you just need to separate the region with an underscore (`_`). For example: + + ```sh + bundle exec rake gettext:add_language[en_gb] + ``` + +1. Now that the language is added, a new directory has been created under the + path: `locale/fr/`. You can now start using your PO editor to edit the PO file + located in: `locale/fr/gitlab.edit.po`. + +1. After you're done updating the translations, you need to process the PO files + in order to generate the binary MO files and finally update the JSON files + containing the translations: + + ```sh + bundle exec rake gettext:pack + bundle exec rake gettext:po_to_json + ``` + +1. In order to see the translated content we need to change our preferred language + which can be found under the user's **Settings** (`/profile`). + +1. After checking that the changes are ok, you can proceed to commit the new files. + For example: + + ```sh + git add locale/fr/ app/assets/javascripts/locale/fr/ + git commit -m "Add French translations for Cycle Analytics page" + ``` -- GitLab From cf4b74041daabfe49a3a8e04af626fe38f0a385f Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 15 May 2017 14:39:55 +0000 Subject: [PATCH 089/249] Merge branch '32236-fix-typo-in-helm-chart-installation-doc' into 'master' Fix typo See merge request !11361 --- doc/install/kubernetes/gitlab_chart.md | 436 +++++++++++++++++++++++++ 1 file changed, 436 insertions(+) create mode 100644 doc/install/kubernetes/gitlab_chart.md diff --git a/doc/install/kubernetes/gitlab_chart.md b/doc/install/kubernetes/gitlab_chart.md new file mode 100644 index 00000000000..2d7edbe16e4 --- /dev/null +++ b/doc/install/kubernetes/gitlab_chart.md @@ -0,0 +1,436 @@ +# GitLab Helm Chart + +The `gitlab` Helm chart deploys GitLab into your Kubernetes cluster. + +This chart includes the following: + +- Deployment using the [gitlab-ce](https://hub.docker.com/r/gitlab/gitlab-ce) or [gitlab-ee](https://hub.docker.com/r/gitlab/gitlab-ee) container image +- ConfigMap containing the `gitlab.rb` contents that configure [Omnibus GitLab](https://docs.gitlab.com/omnibus/settings/configuration.html#configuration-options) +- Persistent Volume Claims for Data, Config, Logs, and Registry Storage +- A Kubernetes service +- Optional Redis deployment using the [Redis Chart](https://github.com/kubernetes/charts/tree/master/stable/redis) (defaults to enabled) +- Optional PostgreSQL deployment using the [PostgreSQL Chart](https://github.com/kubernetes/charts/tree/master/stable/postgresql) (defaults to enabled) +- Optional Ingress (defaults to disabled) + +## Prerequisites + +- _At least_ 3 GB of RAM available on your cluster, in chunks of 1 GB +- Kubernetes 1.4+ with Beta APIs enabled +- [Persistent Volume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) provisioner support in the underlying infrastructure +- The ability to point a DNS entry or URL at your GitLab install +- The `kubectl` CLI installed locally and authenticated for the cluster +- The Helm Client installed locally +- The Helm Server (Tiller) already installed and running in the cluster, by running `helm init` +- The GitLab Helm Repo [added to your Helm Client](index.md#add-the-gitlab-helm-repository) + +## Configuring GitLab + +Create a `values.yaml` file for your GitLab configuration. See the +[Helm docs](https://github.com/kubernetes/helm/blob/master/docs/chart_template_guide/values_files.md) +for information on how your values file will override the defaults. + +The default configuration can always be [found in the `values.yaml`](https://gitlab.com/charts/charts.gitlab.io/blob/master/charts/gitlab/values.yaml), in the chart repository. + +### Required configuration + +In order for GitLab to function, your config file **must** specify the following: + +- An `externalUrl` that GitLab will be reachable at. + +### Choosing GitLab Edition + +The Helm chart defaults to installing GitLab CE. This can be controlled by setting the `edition` variable in your values. + +Setting `edition` to GitLab Enterprise Edition (EE) in your `values.yaml` + +```yaml +edition: EE + +externalUrl: 'http://gitlab.example.com' +``` + +### Choosing a different GitLab release version + +The version of GitLab installed is based on the `edition` setting (see [section](#choosing-gitlab-edition) above), and +the value of the corresponding helm setting: `ceImage` or `eeImage`. + +```yaml +## GitLab Edition +## ref: https://about.gitlab.com/products/ +## - CE - Community Edition +## - EE - Enterprise Edition - (requires license issued by GitLab Inc) +## +edition: CE + +## GitLab CE image +## ref: https://hub.docker.com/r/gitlab/gitlab-ce/tags/ +## +ceImage: gitlab/gitlab-ce:9.1.2-ce.0 + +## GitLab EE image +## ref: https://hub.docker.com/r/gitlab/gitlab-ee/tags/ +## +eeImage: gitlab/gitlab-ee:9.1.2-ee.0 +``` + +The different images can be found in the [gitlab-ce](https://hub.docker.com/r/gitlab/gitlab-ce/tags/) and [gitlab-ee](https://hub.docker.com/r/gitlab/gitlab-ee/tags/) +repositories on Docker Hub + +> **Note:** +There is no guarantee that other release versions of GitLab, other than what are +used by default in the chart, will be supported by a chart install. + + +### Custom Omnibus GitLab configuration + +In addition to the configuration options provided for GitLab in the Helm Chart, you can also pass any custom configuration +that is valid for the [Omnibus GitLab Configuration](https://docs.gitlab.com/omnibus/settings/configuration.html). + +The setting to pass these values in is `omnibusConfigRuby`. It accepts any valid +Ruby code that could used in the Omnibus `/etc/gitlab/gitlab.rb` file. In +Kubernetes, the contents will be stored in a ConfigMap. + +Example setting: + +```yaml +omnibusConfigRuby: | + unicorn['worker_processes'] = 2; + gitlab_rails['trusted_proxies'] = ["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16"]; +``` + +### Persistent storage + +By default, persistent storage is enabled for GitLab and the charts it depends +on (Redis and PostgreSQL). + +Components can have their claim size set from your `values.yaml`, and each +component allows you to optionally configure the `storageClass` variable so you +can take advantage of faster drives on your cloud provider. + +Basic configuration: + +```yaml +## Enable persistence using Persistent Volume Claims +## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +## ref: https://docs.gitlab.com/ce/install/requirements.html#storage +## +persistence: + ## This volume persists generated configuration files, keys, and certs. + ## + gitlabEtc: + enabled: true + size: 1Gi + ## If defined, volume.beta.kubernetes.io/storage-class: <storageClass> + ## Default: volume.alpha.kubernetes.io/storage-class: default + ## + # storageClass: + accessMode: ReadWriteOnce + ## This volume is used to store git data and other project files. + ## ref: https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory + ## + gitlabData: + enabled: true + size: 10Gi + ## If defined, volume.beta.kubernetes.io/storage-class: <storageClass> + ## Default: volume.alpha.kubernetes.io/storage-class: default + ## + # storageClass: + accessMode: ReadWriteOnce + gitlabRegistry: + enabled: true + size: 10Gi + ## If defined, volume.beta.kubernetes.io/storage-class: <storageClass> + ## Default: volume.alpha.kubernetes.io/storage-class: default + ## + # storageClass: + + postgresql: + persistence: + # storageClass: + size: 10Gi + ## Configuration values for the Redis dependency. + ## ref: https://github.com/kubernetes/charts/blob/master/stable/redis/README.md + ## + redis: + persistence: + # storageClass: + size: 10Gi +``` + +>**Note:** +You can make use of faster SSD drives by adding a [StorageClass] to your cluster +and using the `storageClass` setting in the above config to the name of +your new storage class. + +### Routing + +By default, the GitLab chart uses a service type of `LoadBalancer` which will +result in the GitLab service being exposed externally using your cloud provider's +load balancer. + +This field is configurable in your `values.yml` by setting the top-level +`serviceType` field. See the [Service documentation][kube-srv] for more +information on the possible values. + +#### Ingress routing + +Optionally, you can enable the Chart's ingress for use by an ingress controller +deployed in your cluster. + +To enable the ingress, edit its section in your `values.yaml`: + +```yaml +ingress: + ## If true, gitlab Ingress will be created + ## + enabled: true + + ## gitlab Ingress hostnames + ## Must be provided if Ingress is enabled + ## + hosts: + - gitlab.example.com + + ## gitlab Ingress annotations + ## + annotations: + kubernetes.io/ingress.class: nginx +``` + +You must also provide the list of hosts that the ingress will use. In order for +you ingress controller to work with the GitLab Ingress, you will need to specify +its class in an annotation. + +>**Note:** +The Ingress alone doesn't expose GitLab externally. You need to have a Ingress controller setup to do that. +Setting up an Ingress controller can be as simple as installing the `nginx-ingress` helm chart. But be sure +to read the [documentation](https://github.com/kubernetes/charts/blob/master/stable/nginx-ingress/README.md) + +### External database + +You can configure the GitLab Helm chart to connect to an external PostgreSQL +database. + +>**Note:** +This is currently our recommended approach for a Production setup. + +To use an external database, in your `values.yaml`, disable the included +PostgreSQL dependency, then configure access to your database: + +```yaml +dbHost: "<reachable postgres hostname>" +dbPassword: "<password for the user with access to the db>" +dbUsername: "<user with read/write access to the database>" +dbDatabase: "<database name on postgres to connect to for GitLab>" + +postgresql: + # Sets whether the PostgreSQL helm chart is used as a dependency + enabled: false +``` + +Be sure to check the GitLab documentation on how to +[configure the external database](../requirements.md#postgresql-requirements) + +You can also configure the chart to use an external Redis server, but this is +not required for basic production use: + +```yaml +dbHost: "<reachable redis hostname>" +dbPassword: "<password>" + +redis: + # Sets whether the Redis helm chart is used as a dependency + enabled: false +``` + +### Sending email + +By default, the GitLab container will not be able to send email from your cluster. +In order to send email, you should configure SMTP settings in the +`omnibusConfigRuby` section, as per the [GitLab Omnibus documentation](https://docs.gitlab.com/omnibus/settings/smtp.html). + +>**Note:** +Some cloud providers restrict emails being sent out on SMTP, so you will have +to use a SMTP service that is supported by your provider. See this +[Google Cloud Platform page](https://cloud.google.com/compute/docs/tutorials/sending-mail/) +as and example. + +Here is an example configuration for Mailgun SMTP support: + +```yaml +omnibusConfigRuby: | + # This is example config of what you may already have in your omnibusConfigRuby object + unicorn['worker_processes'] = 2; + gitlab_rails['trusted_proxies'] = ["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16"]; + + # SMTP settings + gitlab_rails['smtp_enable'] = true + gitlab_rails['smtp_address'] = "smtp.mailgun.org" + gitlab_rails['smtp_port'] = 2525 # High port needed for Google Cloud + gitlab_rails['smtp_authentication'] = "plain" + gitlab_rails['smtp_enable_starttls_auto'] = false + gitlab_rails['smtp_user_name'] = "postmaster@mg.your-mail-domain" + gitlab_rails['smtp_password'] = "you-password" + gitlab_rails['smtp_domain'] = "mg.your-mail-domain" +``` + +### HTTPS configuration + +To setup HTTPS access to your GitLab server, first you need to configure the +chart to use the [ingress](#ingress-routing). + +GitLab's config should be updated to support [proxied SSL](https://docs.gitlab.com/omnibus/settings/nginx.html#supporting-proxied-ssl). + +In addition to having a Ingress Controller deployed and the basic ingress +settings configured, you will also need to specify in the ingress settings +which hosts to use HTTPS for. + +Make sure `externalUrl` now includes `https://` instead of `http://` in its +value, and update the `omnibusConfigRuby` section: + +```yaml +externalUrl: 'https://gitlab.example.com' + +omnibusConfigRuby: | + # This is example config of what you may already have in your omnibusConfigRuby object + unicorn['worker_processes'] = 2; + gitlab_rails['trusted_proxies'] = ["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16"]; + + # These are the settings needed to support proxied SSL + nginx['listen_port'] = 80 + nginx['listen_https'] = false + nginx['proxy_set_headers'] = { + "X-Forwarded-Proto" => "https", + "X-Forwarded-Ssl" => "on" + } + +ingress: + enabled: true + annotations: + kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: 'true' Annotation used for letsencrypt support + + hosts: + - gitlab.example.com + + ## gitlab Ingress TLS configuration + ## Secrets must be created in the namespace, and is not done for you in this chart + ## + tls: + - secretName: gitlab-tls + hosts: + - gitlab.example.com +``` + +You will need to create the named secret in your cluster, specifying the private +and public certificate pair using the format outlined in the +[ingress documentation](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). + +Alternatively, you can use the `kubernetes.io/tls-acme` annotation, and install +the `kube-lego` chart to your cluster to have Let's Encrypt issue your +certificate. See the [kube-lego documentation](https://github.com/kubernetes/charts/blob/master/stable/kube-lego/README.md) +for more information. + +### Enabling the GitLab Container Registry + +The GitLab Registry is disabled by default but can be enabled by providing an +external URL for it in the configuration. In order for the Registry to be easily +used by GitLab CI and your Kubernetes cluster, you will need to set it up with +a TLS certificate, so these examples will include the ingress settings for that +as well. See the [HTTPS Configuration section](#https-configuration) +for more explanation on some of these settings. + +Example config: + +```yaml +externalUrl: 'https://gitlab.example.com' + +omnibusConfigRuby: | + # This is example config of what you may already have in your omnibusConfigRuby object + unicorn['worker_processes'] = 2; + gitlab_rails['trusted_proxies'] = ["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16"]; + + registry_external_url 'https://registry.example.com'; + + # These are the settings needed to support proxied SSL + nginx['listen_port'] = 80 + nginx['listen_https'] = false + nginx['proxy_set_headers'] = { + "X-Forwarded-Proto" => "https", + "X-Forwarded-Ssl" => "on" + } + registry_nginx['listen_port'] = 80 + registry_nginx['listen_https'] = false + registry_nginx['proxy_set_headers'] = { + "X-Forwarded-Proto" => "https", + "X-Forwarded-Ssl" => "on" + } + +ingress: + enabled: true + annotations: + kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: 'true' Annotation used for letsencrypt support + + hosts: + - gitlab.example.com + - registry.example.com + + ## gitlab Ingress TLS configuration + ## Secrets must be created in the namespace, and is not done for you in this chart + ## + tls: + - secretName: gitlab-tls + hosts: + - gitlab.example.com + - registry.example.com +``` + +## Installing GitLab using the Helm Chart + +Once you [have configured](#configuration) GitLab in your `values.yml` file, +run the following: + +```bash +helm install --namespace <NAMESPACE> --name gitlab -f <CONFIG_VALUES_FILE> gitlab/gitlab +``` + +where: + +- `<NAMESPACE>` is the Kubernetes namespace where you want to install GitLab. +- `<CONFIG_VALUES_FILE>` is the path to values file containing your custom + configuration. See the [Configuration](#configuration) section to create it. + +## Updating GitLab using the Helm Chart + +Once your GitLab Chart is installed, configuration changes and chart updates +should we done using `helm upgrade` + +```bash +helm upgrade --namespace <NAMESPACE> -f <CONFIG_VALUES_FILE> <RELEASE-NAME> gitlab/gitlab +``` + +where: + +- `<NAMESPACE>` is the Kubernetes namespace where GitLab is installed. +- `<CONFIG_VALUES_FILE>` is the path to values file containing your custom + [configuration] (#configuration). +- `<RELEASE-NAME>` is the name you gave the chart when installing it. + In the [Install section](#installing) we called it `gitlab`. + +## Uninstalling GitLab using the Helm Chart + +To uninstall the GitLab Chart, run the following: + +```bash +helm delete --namespace <NAMESPACE> <RELEASE-NAME> +``` + +where: + +- `<NAMESPACE>` is the Kubernetes namespace where GitLab is installed. +- `<RELEASE-NAME>` is the name you gave the chart when installing it. + In the [Install section](#installing) we called it `gitlab`. + +[kube-srv]: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types +[storageclass]: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#storageclasses -- GitLab From 3a4a841aa2dcf59ca98a66dd4cad6148e7ae724f Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Tue, 9 May 2017 17:33:10 +0000 Subject: [PATCH 090/249] Merge branch 'helm-documentation' into 'master' Kubernetes Helm Chart Install docs See merge request !11139 --- doc/install/README.md | 2 + doc/install/kubernetes/gitlab_runner_chart.md | 175 ++++++++++++++++++ doc/install/kubernetes/index.md | 44 +++++ 3 files changed, 221 insertions(+) create mode 100644 doc/install/kubernetes/gitlab_runner_chart.md create mode 100644 doc/install/kubernetes/index.md diff --git a/doc/install/README.md b/doc/install/README.md index 58cc7d312fd..3bf7923a9ee 100644 --- a/doc/install/README.md +++ b/doc/install/README.md @@ -20,6 +20,8 @@ the hardware requirements. - [Docker](https://docs.gitlab.com/omnibus/docker/) - Install GitLab using Docker. - [Installation on Google Cloud Platform](google_cloud_platform/index.md) - Install GitLab on Google Cloud Platform using our official image. +- [Installing in Kubernetes](kubernetes/index.md) - Install GitLab into a Kubernetes + Cluster using our official Helm Chart Repository. - Testing only! [DigitalOcean and Docker Machine](digitaloceandocker.md) - Quickly test any version of GitLab on DigitalOcean using Docker Machine. diff --git a/doc/install/kubernetes/gitlab_runner_chart.md b/doc/install/kubernetes/gitlab_runner_chart.md new file mode 100644 index 00000000000..dbd9ae3f70c --- /dev/null +++ b/doc/install/kubernetes/gitlab_runner_chart.md @@ -0,0 +1,175 @@ +# GitLab Runner Helm Chart + +The `gitlab-runner` Helm chart deploys a GitLab Runner instance into your +Kubernetes cluster. + +This chart configures the Runner to: + +- Run using the GitLab Runner [Kubernetes executor](https://docs.gitlab.com/runner/install/kubernetes.html) +- For each new job it receives from [GitLab CI](https://about.gitlab.com/features/gitlab-ci-cd/), it will provision a + new pod within the specified namespace to run it. + +## Prerequisites + +- Your GitLab Server's API is reachable from the cluster +- Kubernetes 1.4+ with Beta APIs enabled +- The `kubectl` CLI installed locally and authenticated for the cluster +- The Helm Client installed locally +- The Helm Server (Tiller) already installed and running in the cluster, by running `helm init` +- The GitLab Helm Repo added to your Helm Client. See [Adding GitLab Helm Repo](index.md#add-the-gitlab-helm-repository) + +## Configuring GitLab Runner using the Helm Chart + +Create a `values.yaml` file for your GitLab Runner configuration. See [Helm docs](https://github.com/kubernetes/helm/blob/master/docs/chart_template_guide/values_files.md) +for information on how your values file will override the defaults. + +The default configuration can always be found in the [values.yaml](https://gitlab.com/charts/charts.gitlab.io/blob/master/charts/gitlab-runner/values.yaml) in the chart repository. + +### Required configuration + +In order for GitLab Runner to function, your config file **must** specify the following: + + - `gitlabURL` - the GitLab Server URL (with protocol) to register the runner against + - `runnerRegistrationToken` - The Registration Token for adding new Runners to the GitLab Server. This must be + retrieved from your GitLab Instance. See the [GitLab Runner Documentation](../../ci/runners/README.md#creating-and-registering-a-runner) for more information. + +### Other configuration + +The rest of the configuration is [documented in the `values.yaml`](https://gitlab.com/charts/charts.gitlab.io/blob/master/charts/gitlab-runner/values.yaml) in the chart repository. + +Here is a snippet of the important settings: + +```yaml +## The GitLab Server URL (with protocol) that want to register the runner against +## ref: https://docs.gitlab.com/runner/commands/README.html#gitlab-runner-register +## +gitlabURL: http://gitlab.your-domain.com/ + +## The Registration Token for adding new Runners to the GitLab Server. This must +## be retreived from your GitLab Instance. +## ref: https://docs.gitlab.com/ce/ci/runners/README.html#creating-and-registering-a-runner +## +runnerRegistrationToken: "" + +## Configure the maximum number of concurrent jobs +## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section +## +concurrent: 10 + +## Defines in seconds how often to check GitLab for a new builds +## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section +## +checkInterval: 30 + +## Configuration for the Pods that that the runner launches for each new job +## +runners: + ## Default container image to use for builds when none is specified + ## + image: ubuntu:16.04 + + ## Run all containers with the privileged flag enabled + ## This will allow the docker:dind image to run if you need to run Docker + ## commands. Please read the docs before turning this on: + ## ref: https://docs.gitlab.com/runner/executors/kubernetes.html#using-docker-dind + ## + privileged: false + + ## Namespace to run Kubernetes jobs in (defaults to 'default') + ## + # namespace: + + ## Build Container specific configuration + ## + builds: + # cpuLimit: 200m + # memoryLimit: 256Mi + cpuRequests: 100m + memoryRequests: 128Mi + + ## Service Container specific configuration + ## + services: + # cpuLimit: 200m + # memoryLimit: 256Mi + cpuRequests: 100m + memoryRequests: 128Mi + + ## Helper Container specific configuration + ## + helpers: + # cpuLimit: 200m + # memoryLimit: 256Mi + cpuRequests: 100m + memoryRequests: 128Mi + +``` + +### Running Docker-in-Docker containers with GitLab Runners + +See [Running Privileged Containers for the Runners](#running-privileged-containers-for-the-runners) for how to enable it, +and the [GitLab CI Runner documentation](https://docs.gitlab.com/runner/executors/kubernetes.html#using-docker-in-your-builds) on running dind. + +### Running privileged containers for the Runners + +You can tell the GitLab Runner to run using privileged containers. You may need +this enabled if you need to use the Docker executable within your GitLab CI jobs. + +This comes with several risks that you can read about in the +[GitLab CI Runner documentation](https://docs.gitlab.com/runner/executors/kubernetes.html#using-docker-in-your-builds). + +If you are okay with the risks, and your GitLab CI Runner instance is registered +against a specific project in GitLab that you trust the CI jobs of, you can +enable privileged mode in `values.yaml`: + +```yaml +runners: + ## Run all containers with the privileged flag enabled + ## This will allow the docker:dind image to run if you need to run Docker + ## commands. Please read the docs before turning this on: + ## ref: https://docs.gitlab.com/runner/executors/kubernetes.html#using-docker-dind + ## + privileged: true +``` + +## Installing GitLab Runner using the Helm Chart + +Once you [have configured](#configuration) GitLab Runner in your `values.yml` file, +run the following: + +```bash +helm install --namepace <NAMEPACE> --name gitlab-runner -f <CONFIG_VALUES_FILE> gitlab/gitlab-runner +``` + +- `<NAMESPACE>` is the Kubernetes namespace where you want to install the GitLab Runner. +- `<CONFIG_VALUES_FILE>` is the path to values file containing your custom configuration. See the + [Configuration](#configuration) section to create it. + +## Updating GitLab Runner using the Helm Chart + +Once your GitLab Runner Chart is installed, configuration changes and chart updates should we done using `helm upgrade` + +```bash +helm upgrade --namepace <NAMEPACE> -f <CONFIG_VALUES_FILE> <RELEASE-NAME> gitlab/gitlab-runner +``` + +Where: +- `<NAMESPACE>` is the Kubernetes namespace where GitLab Runner is installed +- `<CONFIG_VALUES_FILE>` is the path to values file containing your custom configuration. See the + [Configuration](#configuration) section to create it. +- `<RELEASE-NAME>` is the name you gave the chart when installing it. + In the [Install section](#installing) we called it `gitlab-runner`. + +## Uninstalling GitLab Runner using the Helm Chart + +To uninstall the GitLab Runner Chart, run the following: + +```bash +helm delete --namespace <NAMESPACE> <RELEASE-NAME> +``` + +where: + +- `<NAMESPACE>` is the Kubernetes namespace where GitLab Runner is installed +- `<RELEASE-NAME>` is the name you gave the chart when installing it. + In the [Install section](#installing) we called it `gitlab-runner`. diff --git a/doc/install/kubernetes/index.md b/doc/install/kubernetes/index.md new file mode 100644 index 00000000000..db0430fc27b --- /dev/null +++ b/doc/install/kubernetes/index.md @@ -0,0 +1,44 @@ +# Installing GitLab in Kubernetes + +The easiest method to deploy GitLab in [Kubernetes](https://kubernetes.io/) is +to take advantage of the official GitLab Helm charts. [Helm] is a package +management tool for Kubernetes, allowing apps to be easily managed via their +Charts. A [Chart] is a detailed description of the application including how it +should be deployed, upgraded, and configured. + +The GitLab Helm repository is located at https://charts.gitlab.io. +You can report any issues related to GitLab's Helm Charts at +https://gitlab.com/charts/charts.gitlab.io/issues. +Contributions and improvements are also very welcome. + +## Prerequisites + +To use the charts, the Helm tool must be installed and initialized. The best +place to start is by reviewing the [Helm Quick Start Guide][helm-quick]. + +## Add the GitLab Helm repository + +Once Helm has been installed, the GitLab chart repository must be added: + +```bash +helm repo add gitlab https://charts.gitlab.io +``` + +After adding the repository, Helm must be re-initialized: + +```bash +helm init +``` + +## Using the GitLab Helm Charts + +GitLab makes available two Helm Charts, one for the GitLab server and another +for the Runner. More detailed information on installing and configuring each +Chart can be found below: + +- [Install GitLab](gitlab_chart.md) +- [Install GitLab Runner](gitlab_runner_chart.md) + +[chart]: https://github.com/kubernetes/charts +[helm-quick]: https://github.com/kubernetes/helm/blob/master/docs/quickstart.md +[helm]: https://github.com/kubernetes/helm/blob/master/README.md -- GitLab From 2cbd0b31d7f1024da2edc6ca711e4911487ff4e2 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Thu, 11 May 2017 08:32:10 +0000 Subject: [PATCH 091/249] Merge branch 'issue_api_change' into 'master' Issue API change: assignee_id parameter and assignee object in a response See merge request !11271 --- changelogs/unreleased/issue_api_change.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/issue_api_change.yml diff --git a/changelogs/unreleased/issue_api_change.yml b/changelogs/unreleased/issue_api_change.yml new file mode 100644 index 00000000000..3ad2d57317c --- /dev/null +++ b/changelogs/unreleased/issue_api_change.yml @@ -0,0 +1,5 @@ +--- +title: 'Issue API change: assignee_id parameter and assignee object in a response + have been deprecated' +merge_request: +author: -- GitLab From cfab4e9fee8ff6d47f3f3d6bc237b3e38a9c5a53 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Tue, 9 May 2017 15:00:42 +0000 Subject: [PATCH 092/249] Merge branch '31888-follow-up-from-backport-of-multiple-assignees-feature' into 'master' Resolve "Follow-up from "Backport of Multiple Assignees feature"" See merge request !11185 --- app/views/shared/issuable/_sidebar.html.haml | 50 +------------------ .../issuable/_sidebar_assignees.html.haml | 49 ++++++++++++++++++ .../shared/issuable/form/_metadata.html.haml | 21 +------- .../form/_metadata_issue_assignee.html.haml | 11 ++++ ..._metadata_merge_request_assignee.html.haml | 8 +++ 5 files changed, 71 insertions(+), 68 deletions(-) create mode 100644 app/views/shared/issuable/_sidebar_assignees.html.haml create mode 100644 app/views/shared/issuable/form/_metadata_issue_assignee.html.haml create mode 100644 app/views/shared/issuable/form/_metadata_merge_request_assignee.html.haml diff --git a/app/views/shared/issuable/_sidebar.html.haml b/app/views/shared/issuable/_sidebar.html.haml index 44e624c15a7..3a66880e177 100644 --- a/app/views/shared/issuable/_sidebar.html.haml +++ b/app/views/shared/issuable/_sidebar.html.haml @@ -20,55 +20,7 @@ .block.todo.hide-expanded = render "shared/issuable/sidebar_todo", todo: todo, issuable: issuable, is_collapsed: true .block.assignee - - if issuable.instance_of?(Issue) - #js-vue-sidebar-assignees{ data: { field: "#{issuable.to_ability_name}[assignee_ids]" } } - - else - .sidebar-collapsed-icon.sidebar-collapsed-user{ data: { toggle: "tooltip", placement: "left", container: "body" }, title: (issuable.assignee.name if issuable.assignee) } - - if issuable.assignee - = link_to_member(@project, issuable.assignee, size: 24) - - else - = icon('user', 'aria-hidden': 'true') - .title.hide-collapsed - Assignee - = icon('spinner spin', class: 'hidden block-loading', 'aria-hidden': 'true') - - if can_edit_issuable - = link_to 'Edit', '#', class: 'edit-link pull-right' - .value.hide-collapsed - - if issuable.assignee - = link_to_member(@project, issuable.assignee, size: 32, extra_class: 'bold') do - - if issuable.instance_of?(MergeRequest) && !issuable.can_be_merged_by?(issuable.assignee) - %span.pull-right.cannot-be-merged{ data: { toggle: 'tooltip', placement: 'left' }, title: 'Not allowed to merge' } - = icon('exclamation-triangle', 'aria-hidden': 'true') - %span.username - = issuable.assignee.to_reference - - else - %span.assign-yourself.no-value - No assignee - - if can_edit_issuable - \- - %a.js-assign-yourself{ href: '#' } - assign yourself - - .selectbox.hide-collapsed - - issuable.assignees.each do |assignee| - = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", assignee.id, id: nil - - - options = { toggle_class: 'js-user-search js-author-search', title: 'Assign to', filter: true, dropdown_class: 'dropdown-menu-user dropdown-menu-selectable dropdown-menu-author', placeholder: 'Search users', data: { first_user: (current_user.username if current_user), current_user: true, project_id: (@project.id if @project), author_id: issuable.author_id, field_name: "#{issuable.to_ability_name}[assignee_ids][]", issue_update: issuable_json_path(issuable), ability_name: issuable.to_ability_name, null_user: true } } - - - if issuable.instance_of?(Issue) - - if issuable.assignees.length == 0 - = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", 0, id: nil - - title = 'Select assignee' - - options[:toggle_class] += ' js-multiselect js-save-user-data' - - options[:data][:field_name] = "#{issuable.to_ability_name}[assignee_ids][]" - - options[:data][:multi_select] = true - - options[:data]['dropdown-title'] = title - - options[:data]['dropdown-header'] = 'Assignee' - - options[:data]['max-select'] = 1 - - else - - title = 'Select assignee' - - = dropdown_tag(title, options: options) + = render "shared/issuable/sidebar_assignees", issuable: issuable, can_edit_issuable: can_edit_issuable .block.milestone .sidebar-collapsed-icon = icon('clock-o', 'aria-hidden': 'true') diff --git a/app/views/shared/issuable/_sidebar_assignees.html.haml b/app/views/shared/issuable/_sidebar_assignees.html.haml new file mode 100644 index 00000000000..c36a45098a8 --- /dev/null +++ b/app/views/shared/issuable/_sidebar_assignees.html.haml @@ -0,0 +1,49 @@ +- if issuable.instance_of?(Issue) + #js-vue-sidebar-assignees{ data: { field: "#{issuable.to_ability_name}[assignee_ids]" } } +- else + .sidebar-collapsed-icon.sidebar-collapsed-user{ data: { toggle: "tooltip", placement: "left", container: "body" }, title: (issuable.assignee.name if issuable.assignee) } + - if issuable.assignee + = link_to_member(@project, issuable.assignee, size: 24) + - else + = icon('user', 'aria-hidden': 'true') + .title.hide-collapsed + Assignee + = icon('spinner spin', class: 'hidden block-loading', 'aria-hidden': 'true') + - if can_edit_issuable + = link_to 'Edit', '#', class: 'edit-link pull-right' + .value.hide-collapsed + - if issuable.assignee + = link_to_member(@project, issuable.assignee, size: 32, extra_class: 'bold') do + - if !issuable.can_be_merged_by?(issuable.assignee) + %span.pull-right.cannot-be-merged{ data: { toggle: 'tooltip', placement: 'left' }, title: 'Not allowed to merge' } + = icon('exclamation-triangle', 'aria-hidden': 'true') + %span.username + = issuable.assignee.to_reference + - else + %span.assign-yourself.no-value + No assignee + - if can_edit_issuable + \- + %a.js-assign-yourself{ href: '#' } + assign yourself + +.selectbox.hide-collapsed + - issuable.assignees.each do |assignee| + = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", assignee.id, id: nil + + - options = { toggle_class: 'js-user-search js-author-search', title: 'Assign to', filter: true, dropdown_class: 'dropdown-menu-user dropdown-menu-selectable dropdown-menu-author', placeholder: 'Search users', data: { first_user: (current_user.username if current_user), current_user: true, project_id: (@project.id if @project), author_id: issuable.author_id, field_name: "#{issuable.to_ability_name}[assignee_ids][]", issue_update: issuable_json_path(issuable), ability_name: issuable.to_ability_name, null_user: true } } + + - if issuable.instance_of?(Issue) + - if issuable.assignees.length == 0 + = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", 0, id: nil + - title = 'Select assignee' + - options[:toggle_class] += ' js-multiselect js-save-user-data' + - options[:data][:field_name] = "#{issuable.to_ability_name}[assignee_ids][]" + - options[:data][:multi_select] = true + - options[:data]['dropdown-title'] = title + - options[:data]['dropdown-header'] = 'Assignee' + - options[:data]['max-select'] = 1 + - else + - title = 'Select assignee' + + = dropdown_tag(title, options: options) diff --git a/app/views/shared/issuable/form/_metadata.html.haml b/app/views/shared/issuable/form/_metadata.html.haml index 9281a515744..1608bd59cf1 100644 --- a/app/views/shared/issuable/form/_metadata.html.haml +++ b/app/views/shared/issuable/form/_metadata.html.haml @@ -11,26 +11,9 @@ %div{ class: (has_due_date ? "col-lg-6" : "col-sm-12") } .form-group.issue-assignee - if issuable.is_a?(Issue) - = form.label :assignee_ids, "Assignee", class: "control-label #{"col-lg-4" if has_due_date}" - .col-sm-10{ class: ("col-lg-8" if has_due_date) } - .issuable-form-select-holder.selectbox - - issuable.assignees.each do |assignee| - = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", assignee.id, id: nil, data: { meta: assignee.name } - - - if issuable.assignees.length === 0 - = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", 0, id: nil, data: { meta: '' } - - = dropdown_tag(users_dropdown_label(issuable.assignees), options: issue_dropdown_options(issuable,false)) - = link_to 'Assign to me', '#', class: "assign-to-me-link #{'hide' if issuable.assignees.include?(current_user)}" + = render "shared/issuable/form/metadata_issue_assignee", issuable: issuable, form: form, has_due_date: has_due_date - else - = form.label :assignee_id, "Assignee", class: "control-label #{"col-lg-4" if has_due_date}" - .col-sm-10{ class: ("col-lg-8" if has_due_date) } - .issuable-form-select-holder - = form.hidden_field :assignee_id - - = dropdown_tag(user_dropdown_label(issuable.assignee_id, "Assignee"), options: { toggle_class: "js-dropdown-keep-input js-user-search js-issuable-form-dropdown js-assignee-search", title: "Select assignee", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable dropdown-menu-assignee js-filter-submit", - placeholder: "Search assignee", data: { first_user: current_user.try(:username), null_user: true, current_user: true, project_id: issuable.project.try(:id), selected: issuable.assignee_id, field_name: "#{issuable.class.model_name.param_key}[assignee_id]", default_label: "Assignee"} }) - = link_to 'Assign to me', '#', class: "assign-to-me-link #{'hide' if issuable.assignee_id == current_user.id}" + = render "shared/issuable/form/metadata_merge_request_assignee", issuable: issuable, form: form, has_due_date: has_due_date .form-group.issue-milestone = form.label :milestone_id, "Milestone", class: "control-label #{"col-lg-4" if has_due_date}" .col-sm-10{ class: ("col-lg-8" if has_due_date) } diff --git a/app/views/shared/issuable/form/_metadata_issue_assignee.html.haml b/app/views/shared/issuable/form/_metadata_issue_assignee.html.haml new file mode 100644 index 00000000000..8119f19291b --- /dev/null +++ b/app/views/shared/issuable/form/_metadata_issue_assignee.html.haml @@ -0,0 +1,11 @@ += form.label :assignee_ids, "Assignee", class: "control-label #{"col-lg-4" if has_due_date}" +.col-sm-10{ class: ("col-lg-8" if has_due_date) } + .issuable-form-select-holder.selectbox + - issuable.assignees.each do |assignee| + = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", assignee.id, id: nil, data: { meta: assignee.name } + + - if issuable.assignees.length === 0 + = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", 0, id: nil, data: { meta: '' } + + = dropdown_tag(users_dropdown_label(issuable.assignees), options: issue_dropdown_options(issuable,false)) + = link_to 'Assign to me', '#', class: "assign-to-me-link #{'hide' if issuable.assignees.include?(current_user)}" diff --git a/app/views/shared/issuable/form/_metadata_merge_request_assignee.html.haml b/app/views/shared/issuable/form/_metadata_merge_request_assignee.html.haml new file mode 100644 index 00000000000..d0ea4e149df --- /dev/null +++ b/app/views/shared/issuable/form/_metadata_merge_request_assignee.html.haml @@ -0,0 +1,8 @@ += form.label :assignee_id, "Assignee", class: "control-label #{"col-lg-4" if has_due_date}" +.col-sm-10{ class: ("col-lg-8" if has_due_date) } + .issuable-form-select-holder + = form.hidden_field :assignee_id + + = dropdown_tag(user_dropdown_label(issuable.assignee_id, "Assignee"), options: { toggle_class: "js-dropdown-keep-input js-user-search js-issuable-form-dropdown js-assignee-search", title: "Select assignee", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable dropdown-menu-assignee js-filter-submit", + placeholder: "Search assignee", data: { first_user: current_user.try(:username), null_user: true, current_user: true, project_id: issuable.project.try(:id), selected: issuable.assignee_id, field_name: "#{issuable.class.model_name.param_key}[assignee_id]", default_label: "Assignee"} }) + = link_to 'Assign to me', '#', class: "assign-to-me-link #{'hide' if issuable.assignee_id == current_user.id}" -- GitLab From f9a347fdcae0c4da4b2a8c3a03a7e2c6863d308d Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Fri, 12 May 2017 09:29:29 +0000 Subject: [PATCH 093/249] Merge branch 'fixes_for_multiple_issue_assignees' into 'master' Fix for Follow-up from "Backport of Multiple Assignees feature Closes #31888 See merge request !11178 --- app/controllers/concerns/issuable_actions.rb | 13 ++++++++--- app/helpers/issuables_helper.rb | 5 +++-- app/services/issuable/bulk_update_service.rb | 14 +++++++++++- app/services/system_note_service.rb | 2 +- .../shared/issuable/_assignees.html.haml | 5 ++--- .../issuable/_sidebar_assignees.html.haml | 22 +++++++++---------- .../issuable/form/_issue_assignee.html.haml | 9 ++++---- doc/api/issues.md | 22 +++++++++---------- lib/api/helpers/common_helpers.rb | 8 +++---- spec/requests/api/issues_spec.rb | 2 +- .../issuable/bulk_update_service_spec.rb | 4 ++-- spec/services/system_note_service_spec.rb | 2 +- 12 files changed, 64 insertions(+), 44 deletions(-) diff --git a/app/controllers/concerns/issuable_actions.rb b/app/controllers/concerns/issuable_actions.rb index b199f18da1e..4cf645d6341 100644 --- a/app/controllers/concerns/issuable_actions.rb +++ b/app/controllers/concerns/issuable_actions.rb @@ -60,17 +60,24 @@ module IssuableActions end def bulk_update_params - params.require(:update).permit( + permitted_keys = [ :issuable_ids, :assignee_id, :milestone_id, :state_event, :subscription_event, - assignee_ids: [], label_ids: [], add_label_ids: [], remove_label_ids: [] - ) + ] + + if resource_name == 'issue' + permitted_keys << { assignee_ids: [] } + else + permitted_keys.unshift(:assignee_id) + end + + params.require(:update).permit(permitted_keys) end def resource_name diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index fbbce6876c2..f7d0ebcb16f 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -67,9 +67,10 @@ module IssuablesHelper end def users_dropdown_label(selected_users) - if selected_users.length == 0 + case selected_users.length + when 0 "Unassigned" - elsif selected_users.length == 1 + when 1 selected_users[0].name else "#{selected_users[0].name} + #{selected_users.length - 1} more" diff --git a/app/services/issuable/bulk_update_service.rb b/app/services/issuable/bulk_update_service.rb index 40ff9b8b867..5d42a89fced 100644 --- a/app/services/issuable/bulk_update_service.rb +++ b/app/services/issuable/bulk_update_service.rb @@ -7,7 +7,7 @@ module Issuable ids = params.delete(:issuable_ids).split(",") items = model_class.where(id: ids) - %i(state_event milestone_id assignee_id assignee_ids add_label_ids remove_label_ids subscription_event).each do |key| + permitted_attrs(type).each do |key| params.delete(key) unless params[key].present? end @@ -26,5 +26,17 @@ module Issuable success: !items.count.zero? } end + + private + + def permitted_attrs(type) + attrs = %i(state_event milestone_id assignee_id assignee_ids add_label_ids remove_label_ids subscription_event) + + if type == 'issue' + attrs.push(:assignee_ids) + else + attrs.push(:assignee_id) + end + end end end diff --git a/app/services/system_note_service.rb b/app/services/system_note_service.rb index 174e7c6e95b..0766df50ed2 100644 --- a/app/services/system_note_service.rb +++ b/app/services/system_note_service.rb @@ -79,7 +79,7 @@ module SystemNoteService text_parts.join(' and ') elsif old_assignees.any? - "removed all assignees" + "removed assignee" elsif issue.assignees.any? "assigned to #{issue.assignees.map(&:to_reference).to_sentence}" end diff --git a/app/views/shared/issuable/_assignees.html.haml b/app/views/shared/issuable/_assignees.html.haml index 36bbb1148d4..217af7c9fac 100644 --- a/app/views/shared/issuable/_assignees.html.haml +++ b/app/views/shared/issuable/_assignees.html.haml @@ -1,9 +1,8 @@ - max_render = 3 - max = [max_render, issue.assignees.length].min -- issue.assignees.each_with_index do |assignee, index| - - if index < max - = link_to_member(@project, assignee, name: false, title: "Assigned to :name") +- issue.assignees.take(max).each do |assignee| + = link_to_member(@project, assignee, name: false, title: "Assigned to :name") - if issue.assignees.length > max_render - counter = issue.assignees.length - max_render diff --git a/app/views/shared/issuable/_sidebar_assignees.html.haml b/app/views/shared/issuable/_sidebar_assignees.html.haml index c36a45098a8..e9ce7b7ce9c 100644 --- a/app/views/shared/issuable/_sidebar_assignees.html.haml +++ b/app/views/shared/issuable/_sidebar_assignees.html.haml @@ -1,4 +1,4 @@ -- if issuable.instance_of?(Issue) +- if issuable.is_a?(Issue) #js-vue-sidebar-assignees{ data: { field: "#{issuable.to_ability_name}[assignee_ids]" } } - else .sidebar-collapsed-icon.sidebar-collapsed-user{ data: { toggle: "tooltip", placement: "left", container: "body" }, title: (issuable.assignee.name if issuable.assignee) } @@ -33,17 +33,17 @@ - options = { toggle_class: 'js-user-search js-author-search', title: 'Assign to', filter: true, dropdown_class: 'dropdown-menu-user dropdown-menu-selectable dropdown-menu-author', placeholder: 'Search users', data: { first_user: (current_user.username if current_user), current_user: true, project_id: (@project.id if @project), author_id: issuable.author_id, field_name: "#{issuable.to_ability_name}[assignee_ids][]", issue_update: issuable_json_path(issuable), ability_name: issuable.to_ability_name, null_user: true } } - - if issuable.instance_of?(Issue) - - if issuable.assignees.length == 0 + - title = 'Select assignee' + + - if issuable.is_a?(Issue) + - unless issuable.assignees.any? = hidden_field_tag "#{issuable.to_ability_name}[assignee_ids][]", 0, id: nil - - title = 'Select assignee' - options[:toggle_class] += ' js-multiselect js-save-user-data' - - options[:data][:field_name] = "#{issuable.to_ability_name}[assignee_ids][]" - - options[:data][:multi_select] = true - - options[:data]['dropdown-title'] = title - - options[:data]['dropdown-header'] = 'Assignee' - - options[:data]['max-select'] = 1 - - else - - title = 'Select assignee' + - data = { field_name: "#{issuable.to_ability_name}[assignee_ids][]" } + - data[:multi_select] = true + - data['dropdown-title'] = title + - data['dropdown-header'] = 'Assignee' + - data['max-select'] = 1 + - options[:data].merge!(data) = dropdown_tag(title, options: options) diff --git a/app/views/shared/issuable/form/_issue_assignee.html.haml b/app/views/shared/issuable/form/_issue_assignee.html.haml index c33474ac3b4..66091d95a91 100644 --- a/app/views/shared/issuable/form/_issue_assignee.html.haml +++ b/app/views/shared/issuable/form/_issue_assignee.html.haml @@ -1,8 +1,9 @@ - issue = issuable +- assignees = issue.assignees .block.assignee .sidebar-collapsed-icon.sidebar-collapsed-user{ data: { toggle: "tooltip", placement: "left", container: "body" }, title: (issuable.assignee_list) } - - if issue.assignees.any? - - issue.assignees.each do |assignee| + - if assignees.any? + - assignees.each do |assignee| = link_to_member(@project, assignee, size: 24) - else = icon('user', 'aria-hidden': 'true') @@ -12,8 +13,8 @@ - if can_edit_issuable = link_to 'Edit', '#', class: 'edit-link pull-right' .value.hide-collapsed - - if issue.assignees.any? - - issue.assignees.each do |assignee| + - if assignees.any? + - assignees.each do |assignee| = link_to_member(@project, assignee, size: 32, extra_class: 'bold') do %span.username = assignee.to_reference diff --git a/doc/api/issues.md b/doc/api/issues.md index 1d43b1298b9..9798a845e6f 100644 --- a/doc/api/issues.md +++ b/doc/api/issues.md @@ -100,7 +100,7 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## List group issues @@ -192,7 +192,7 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## List project issues @@ -284,7 +284,7 @@ Example response: ] ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## Single issue @@ -359,7 +359,7 @@ Example response: } ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## New issue @@ -375,7 +375,7 @@ POST /projects/:id/issues | `title` | string | yes | The title of an issue | | `description` | string | no | The description of an issue | | `confidential` | boolean | no | Set an issue to be confidential. Default is `false`. | -| `assignee_ids` | Array[integer] | no | The ID of a user to assign issue | +| `assignee_ids` | Array[integer] | no | The ID of the users to assign issue | | `milestone_id` | integer | no | The ID of a milestone to assign issue | | `labels` | string | no | Comma-separated label names for an issue | | `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) | @@ -421,7 +421,7 @@ Example response: } ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## Edit issue @@ -439,7 +439,7 @@ PUT /projects/:id/issues/:issue_iid | `title` | string | no | The title of an issue | | `description` | string | no | The description of an issue | | `confidential` | boolean | no | Updates an issue to be confidential | -| `assignee_ids` | Array[integer] | no | The ID of a user to assign the issue to | +| `assignee_ids` | Array[integer] | no | The ID of the users to assign the issue to | | `milestone_id` | integer | no | The ID of a milestone to assign the issue to | | `labels` | string | no | Comma-separated label names for an issue | | `state_event` | string | no | The state event of an issue. Set `close` to close the issue and `reopen` to reopen it | @@ -484,7 +484,7 @@ Example response: } ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## Delete an issue @@ -570,7 +570,7 @@ Example response: } ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## Subscribe to an issue @@ -635,7 +635,7 @@ Example response: } ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## Unsubscribe from an issue @@ -757,7 +757,7 @@ Example response: } ``` -**Note**: `assignee` column is deprecated, it shows the first assignee only. +**Note**: `assignee` column is deprecated, now we show it as a single-sized array `assignees` to conform to the GitLab EE API. ## Set a time estimate for an issue diff --git a/lib/api/helpers/common_helpers.rb b/lib/api/helpers/common_helpers.rb index 6236fdd43ca..322624c6092 100644 --- a/lib/api/helpers/common_helpers.rb +++ b/lib/api/helpers/common_helpers.rb @@ -2,11 +2,11 @@ module API module Helpers module CommonHelpers def convert_parameters_from_legacy_format(params) - if params[:assignee_id].present? - params[:assignee_ids] = [params.delete(:assignee_id)] + params.tap do |params| + if params[:assignee_id].present? + params[:assignee_ids] = [params.delete(:assignee_id)] + end end - - params end end end diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index da2b56c040b..79cac721202 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -1124,7 +1124,7 @@ describe API::Issues do end context 'CE restrictions' do - it 'updates an issue with several assignee but only one has been applied' do + it 'updates an issue with several assignees but only one has been applied' do put api("/projects/#{project.id}/issues/#{issue.iid}", user), assignee_ids: [user2.id, guest.id] diff --git a/spec/services/issuable/bulk_update_service_spec.rb b/spec/services/issuable/bulk_update_service_spec.rb index 5b1639ca0d6..8fd56214752 100644 --- a/spec/services/issuable/bulk_update_service_spec.rb +++ b/spec/services/issuable/bulk_update_service_spec.rb @@ -62,7 +62,7 @@ describe Issuable::BulkUpdateService, services: true do expect(result[:count]).to eq(1) end - it 'updates the assignee to the use ID passed' do + it 'updates the assignee to the user ID passed' do assignee = create(:user) project.team << [assignee, :developer] @@ -100,7 +100,7 @@ describe Issuable::BulkUpdateService, services: true do expect(result[:count]).to eq(1) end - it 'updates the assignee to the use ID passed' do + it 'updates the assignee to the user ID passed' do assignee = create(:user) project.team << [assignee, :developer] expect { bulk_update(issue, assignee_ids: [assignee.id]) } diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb index 516566eddef..7a9cd7553b1 100644 --- a/spec/services/system_note_service_spec.rb +++ b/spec/services/system_note_service_spec.rb @@ -178,7 +178,7 @@ describe SystemNoteService, services: true do end it 'builds a correct phrase when assignee removed' do - expect(build_note([assignee1], [])).to eq 'removed all assignees' + expect(build_note([assignee1], [])).to eq 'removed assignee' end it 'builds a correct phrase when assignees changed' do -- GitLab From fdc7d7039b83c2d9b3578338408ce28c6423a483 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Fri, 12 May 2017 20:37:30 +0000 Subject: [PATCH 094/249] Merge branch 'fix-conflict-resolution-with-corrupt-repos' into 'master' Fix conflict resolution from corrupted upstream Closes gitlab-ee#2128 See merge request !11298 Conflicts: app/models/merge_request.rb spec/models/merge_request_spec.rb --- .../projects/merge_requests_controller.rb | 18 +++-- app/models/merge_request.rb | 3 + app/presenters/merge_request_presenter.rb | 6 +- .../merge_requests/conflicts/base_service.rb | 11 +++ .../merge_requests/conflicts/list_service.rb | 35 +++++++++ .../conflicts/resolve_service.rb | 53 ++++++++++++++ .../merge_requests/resolve_service.rb | 65 ----------------- ...conflict-resolution-with-corrupt-repos.yml | 5 ++ lib/gitlab/conflict/file_collection.rb | 42 +++++++++-- .../merge_requests_controller_spec.rb | 10 ++- .../gitlab/conflict/file_collection_spec.rb | 2 +- spec/models/merge_request_spec.rb | 3 + .../merge_request_presenter_spec.rb | 14 ++-- .../conflicts/list_service_spec.rb | 73 +++++++++++++++++++ .../{ => conflicts}/resolve_service_spec.rb | 41 +++++++---- 15 files changed, 274 insertions(+), 107 deletions(-) create mode 100644 app/services/merge_requests/conflicts/base_service.rb create mode 100644 app/services/merge_requests/conflicts/list_service.rb create mode 100644 app/services/merge_requests/conflicts/resolve_service.rb delete mode 100644 app/services/merge_requests/resolve_service.rb create mode 100644 changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml create mode 100644 spec/services/merge_requests/conflicts/list_service_spec.rb rename spec/services/merge_requests/{ => conflicts}/resolve_service_spec.rb (85%) diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 207fbad7856..b99ccd453b8 100755 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -155,8 +155,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController format.html { define_discussion_vars } format.json do - if @merge_request.conflicts_can_be_resolved_in_ui? - render json: @merge_request.conflicts + if @conflicts_list.can_be_resolved_in_ui? + render json: @conflicts_list elsif @merge_request.can_be_merged? render json: { message: 'The merge conflicts for this merge request have already been resolved. Please return to the merge request.', @@ -173,9 +173,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController end def conflict_for_path - return render_404 unless @merge_request.conflicts_can_be_resolved_in_ui? + return render_404 unless @conflicts_list.can_be_resolved_in_ui? - file = @merge_request.conflicts.file_for_path(params[:old_path], params[:new_path]) + file = @conflicts_list.file_for_path(params[:old_path], params[:new_path]) return render_404 unless file @@ -183,7 +183,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController end def resolve_conflicts - return render_404 unless @merge_request.conflicts_can_be_resolved_in_ui? + return render_404 unless @conflicts_list.can_be_resolved_in_ui? if @merge_request.can_be_merged? render status: :bad_request, json: { message: 'The merge conflicts for this merge request have already been resolved.' } @@ -191,7 +191,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController end begin - MergeRequests::ResolveService.new(@merge_request.source_project, current_user, params).execute(@merge_request) + MergeRequests::Conflicts::ResolveService. + new(merge_request). + execute(current_user, params) flash[:notice] = 'All merge conflicts were resolved. The merge request can now be merged.' @@ -459,7 +461,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController end def authorize_can_resolve_conflicts! - return render_404 unless @merge_request.conflicts_can_be_resolved_by?(current_user) + @conflicts_list = MergeRequests::Conflicts::ListService.new(@merge_request) + + return render_404 unless @conflicts_list.can_be_resolved_by?(current_user) end def module_enabled diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index e88a86ea0f0..417a13da812 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -905,6 +905,7 @@ class MergeRequest < ActiveRecord::Base project.repository.keep_around(self.merge_commit_sha) end +<<<<<<< HEAD def conflicts @conflicts ||= Gitlab::Conflict::FileCollection.new(self) end @@ -934,6 +935,8 @@ class MergeRequest < ActiveRecord::Base end end +======= +>>>>>>> e4261fe3... Merge branch 'fix-conflict-resolution-with-corrupt-repos' into 'master' def has_commits? merge_request_diff && commits_count > 0 end diff --git a/app/presenters/merge_request_presenter.rb b/app/presenters/merge_request_presenter.rb index 255f63db5c2..0db9e31031c 100644 --- a/app/presenters/merge_request_presenter.rb +++ b/app/presenters/merge_request_presenter.rb @@ -76,7 +76,7 @@ class MergeRequestPresenter < Gitlab::View::Presenter::Delegated end def conflict_resolution_path - if conflicts_can_be_resolved_in_ui? && conflicts_can_be_resolved_by?(current_user) + if conflicts.can_be_resolved_in_ui? && conflicts.can_be_resolved_by?(current_user) conflicts_namespace_project_merge_request_path(project.namespace, project, merge_request) end end @@ -141,6 +141,10 @@ class MergeRequestPresenter < Gitlab::View::Presenter::Delegated private + def conflicts + @conflicts ||= MergeRequests::Conflicts::ListService.new(merge_request) + end + def closing_issues @closing_issues ||= closes_issues(current_user) end diff --git a/app/services/merge_requests/conflicts/base_service.rb b/app/services/merge_requests/conflicts/base_service.rb new file mode 100644 index 00000000000..b50875347d9 --- /dev/null +++ b/app/services/merge_requests/conflicts/base_service.rb @@ -0,0 +1,11 @@ +module MergeRequests + module Conflicts + class BaseService + attr_reader :merge_request + + def initialize(merge_request) + @merge_request = merge_request + end + end + end +end diff --git a/app/services/merge_requests/conflicts/list_service.rb b/app/services/merge_requests/conflicts/list_service.rb new file mode 100644 index 00000000000..9bf82518643 --- /dev/null +++ b/app/services/merge_requests/conflicts/list_service.rb @@ -0,0 +1,35 @@ +module MergeRequests + module Conflicts + class ListService < MergeRequests::Conflicts::BaseService + delegate :file_for_path, :to_json, to: :conflicts + + def can_be_resolved_by?(user) + return false unless merge_request.source_project + + access = ::Gitlab::UserAccess.new(user, project: merge_request.source_project) + access.can_push_to_branch?(merge_request.source_branch) + end + + def can_be_resolved_in_ui? + return @conflicts_can_be_resolved_in_ui if defined?(@conflicts_can_be_resolved_in_ui) + + return @conflicts_can_be_resolved_in_ui = false unless merge_request.cannot_be_merged? + return @conflicts_can_be_resolved_in_ui = false unless merge_request.has_complete_diff_refs? + + begin + # Try to parse each conflict. If the MR's mergeable status hasn't been + # updated, ensure that we don't say there are conflicts to resolve + # when there are no conflict files. + conflicts.files.each(&:lines) + @conflicts_can_be_resolved_in_ui = conflicts.files.length > 0 + rescue Rugged::OdbError, Gitlab::Conflict::Parser::UnresolvableError, Gitlab::Conflict::FileCollection::ConflictSideMissing + @conflicts_can_be_resolved_in_ui = false + end + end + + def conflicts + @conflicts ||= Gitlab::Conflict::FileCollection.read_only(merge_request) + end + end + end +end diff --git a/app/services/merge_requests/conflicts/resolve_service.rb b/app/services/merge_requests/conflicts/resolve_service.rb new file mode 100644 index 00000000000..d74a82effd6 --- /dev/null +++ b/app/services/merge_requests/conflicts/resolve_service.rb @@ -0,0 +1,53 @@ +module MergeRequests + module Conflicts + class ResolveService < MergeRequests::Conflicts::BaseService + MissingFiles = Class.new(Gitlab::Conflict::ResolutionError) + + def execute(current_user, params) + rugged = merge_request.source_project.repository.rugged + + Gitlab::Conflict::FileCollection.for_resolution(merge_request) do |conflicts_for_resolution| + merge_index = conflicts_for_resolution.merge_index + + params[:files].each do |file_params| + conflict_file = conflicts_for_resolution.file_for_path(file_params[:old_path], file_params[:new_path]) + + write_resolved_file_to_index(merge_index, rugged, conflict_file, file_params) + end + + unless merge_index.conflicts.empty? + missing_files = merge_index.conflicts.map { |file| file[:ours][:path] } + + raise MissingFiles, "Missing resolutions for the following files: #{missing_files.join(', ')}" + end + + commit_params = { + message: params[:commit_message] || conflicts_for_resolution.default_commit_message, + parents: [conflicts_for_resolution.our_commit, conflicts_for_resolution.their_commit].map(&:oid), + tree: merge_index.write_tree(rugged) + } + + conflicts_for_resolution. + project. + repository. + resolve_conflicts(current_user, merge_request.source_branch, commit_params) + end + end + + private + + def write_resolved_file_to_index(merge_index, rugged, file, params) + new_file = if params[:sections] + file.resolve_lines(params[:sections]).map(&:text).join("\n") + elsif params[:content] + file.resolve_content(params[:content]) + end + + our_path = file.our_path + + merge_index.add(path: our_path, oid: rugged.write(new_file, :blob), mode: file.our_mode) + merge_index.conflict_remove(our_path) + end + end + end +end diff --git a/app/services/merge_requests/resolve_service.rb b/app/services/merge_requests/resolve_service.rb deleted file mode 100644 index 82cd89d9a0b..00000000000 --- a/app/services/merge_requests/resolve_service.rb +++ /dev/null @@ -1,65 +0,0 @@ -module MergeRequests - class ResolveService < MergeRequests::BaseService - MissingFiles = Class.new(Gitlab::Conflict::ResolutionError) - - attr_accessor :conflicts, :rugged, :merge_index, :merge_request - - def execute(merge_request) - @conflicts = merge_request.conflicts - @rugged = project.repository.rugged - @merge_index = conflicts.merge_index - @merge_request = merge_request - - fetch_their_commit! - - params[:files].each do |file_params| - conflict_file = merge_request.conflicts.file_for_path(file_params[:old_path], file_params[:new_path]) - - write_resolved_file_to_index(conflict_file, file_params) - end - - unless merge_index.conflicts.empty? - missing_files = merge_index.conflicts.map { |file| file[:ours][:path] } - - raise MissingFiles, "Missing resolutions for the following files: #{missing_files.join(', ')}" - end - - commit_params = { - message: params[:commit_message] || conflicts.default_commit_message, - parents: [conflicts.our_commit, conflicts.their_commit].map(&:oid), - tree: merge_index.write_tree(rugged) - } - - project.repository.resolve_conflicts(current_user, merge_request.source_branch, commit_params) - end - - def write_resolved_file_to_index(file, params) - new_file = if params[:sections] - file.resolve_lines(params[:sections]).map(&:text).join("\n") - elsif params[:content] - file.resolve_content(params[:content]) - end - - our_path = file.our_path - - merge_index.add(path: our_path, oid: rugged.write(new_file, :blob), mode: file.our_mode) - merge_index.conflict_remove(our_path) - end - - # If their commit (in the target project) doesn't exist in the source project, it - # can't be a parent for the merge commit we're about to create. If that's the case, - # fetch the target branch ref into the source project so the commit exists in both. - # - def fetch_their_commit! - return if rugged.include?(conflicts.their_commit.oid) - - random_string = SecureRandom.hex - - project.repository.fetch_ref( - merge_request.target_project.repository.path_to_repo, - "refs/heads/#{merge_request.target_branch}", - "refs/tmp/#{random_string}/head" - ) - end - end -end diff --git a/changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml b/changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml new file mode 100644 index 00000000000..19a3c56e478 --- /dev/null +++ b/changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml @@ -0,0 +1,5 @@ +--- +title: Prevent further repository corruption when resolving conflicts from a fork + where both the fork and upstream projects require housekeeping +merge_request: +author: diff --git a/lib/gitlab/conflict/file_collection.rb b/lib/gitlab/conflict/file_collection.rb index 990b719ecfd..6e73361cad1 100644 --- a/lib/gitlab/conflict/file_collection.rb +++ b/lib/gitlab/conflict/file_collection.rb @@ -3,16 +3,33 @@ module Gitlab class FileCollection ConflictSideMissing = Class.new(StandardError) - attr_reader :merge_request, :our_commit, :their_commit + attr_reader :merge_request, :our_commit, :their_commit, :project - def initialize(merge_request) - @merge_request = merge_request - @our_commit = merge_request.source_branch_head.raw.raw_commit - @their_commit = merge_request.target_branch_head.raw.raw_commit - end + delegate :repository, to: :project + + class << self + # We can only write when getting the merge index from the source + # project, because we will write to that project. We don't use this all + # the time because this fetches a ref into the source project, which + # isn't needed for reading. + def for_resolution(merge_request) + project = merge_request.source_project + + new(merge_request, project).tap do |file_collection| + project. + repository. + with_repo_branch_commit(merge_request.target_project.repository, merge_request.target_branch) do + + yield file_collection + end + end + end - def repository - merge_request.project.repository + # We don't need to do `with_repo_branch_commit` here, because the target + # project always fetches source refs when creating merge request diffs. + def read_only(merge_request) + new(merge_request, merge_request.target_project) + end end def merge_index @@ -55,6 +72,15 @@ Merge branch '#{merge_request.target_branch}' into '#{merge_request.source_branc #{conflict_filenames.join("\n")} EOM end + + private + + def initialize(merge_request, project) + @merge_request = merge_request + @our_commit = merge_request.source_branch_head.raw.raw_commit + @their_commit = merge_request.target_branch_head.raw.raw_commit + @project = project + end end end end diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index 964246b580c..fdee8c6e970 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -915,7 +915,9 @@ describe Projects::MergeRequestsController do end it 'returns the file in JSON format' do - content = merge_request_with_conflicts.conflicts.file_for_path(path, path).content + content = MergeRequests::Conflicts::ListService.new(merge_request_with_conflicts). + file_for_path(path, path). + content expect(json_response).to include('old_path' => path, 'new_path' => path, @@ -1039,11 +1041,15 @@ describe Projects::MergeRequestsController do context 'when a file has identical content to the conflict' do before do + content = MergeRequests::Conflicts::ListService.new(merge_request_with_conflicts). + file_for_path('files/ruby/popen.rb', 'files/ruby/popen.rb'). + content + resolved_files = [ { 'new_path' => 'files/ruby/popen.rb', 'old_path' => 'files/ruby/popen.rb', - 'content' => merge_request_with_conflicts.conflicts.file_for_path('files/ruby/popen.rb', 'files/ruby/popen.rb').content + 'content' => content }, { 'new_path' => 'files/ruby/regex.rb', 'old_path' => 'files/ruby/regex.rb', diff --git a/spec/lib/gitlab/conflict/file_collection_spec.rb b/spec/lib/gitlab/conflict/file_collection_spec.rb index 39d892c18c0..27f23ea70dc 100644 --- a/spec/lib/gitlab/conflict/file_collection_spec.rb +++ b/spec/lib/gitlab/conflict/file_collection_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' describe Gitlab::Conflict::FileCollection, lib: true do let(:merge_request) { create(:merge_request, source_branch: 'conflict-resolvable', target_branch: 'conflict-start') } - let(:file_collection) { Gitlab::Conflict::FileCollection.new(merge_request) } + let(:file_collection) { described_class.read_only(merge_request) } describe '#files' do it 'returns an array of Conflict::Files' do diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index a6fd89c8e5d..bbdf758cc61 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -1315,6 +1315,7 @@ describe MergeRequest, models: true do end end +<<<<<<< HEAD describe '#conflicts_can_be_resolved_in_ui?' do def create_merge_request(source_branch) create(:merge_request, source_branch: source_branch, target_branch: 'conflict-start') do |mr| @@ -1387,6 +1388,8 @@ describe MergeRequest, models: true do end end +======= +>>>>>>> e4261fe3... Merge branch 'fix-conflict-resolution-with-corrupt-repos' into 'master' describe "#source_project_missing?" do let(:project) { create(:empty_project) } let(:fork_project) { create(:empty_project, forked_from_project: project) } diff --git a/spec/presenters/merge_request_presenter_spec.rb b/spec/presenters/merge_request_presenter_spec.rb index e599ddaf943..44720fc4448 100644 --- a/spec/presenters/merge_request_presenter_spec.rb +++ b/spec/presenters/merge_request_presenter_spec.rb @@ -73,12 +73,12 @@ describe MergeRequestPresenter do describe '#conflict_resolution_path' do let(:project) { create :empty_project } let(:user) { create :user } - let(:path) { described_class.new(resource, current_user: user).conflict_resolution_path } + let(:presenter) { described_class.new(resource, current_user: user) } + let(:path) { presenter.conflict_resolution_path } context 'when MR cannot be resolved in UI' do it 'does not return conflict resolution path' do - allow(resource).to receive(:conflicts_can_be_resolved_in_ui?) { true } - allow(resource).to receive(:conflicts_can_be_resolved_by?).with(user) { false } + allow(presenter).to receive_message_chain(:conflicts, :can_be_resolved_in_ui?) { false } expect(path).to be_nil end @@ -86,8 +86,8 @@ describe MergeRequestPresenter do context 'when conflicts cannot be resolved by user' do it 'does not return conflict resolution path' do - allow(resource).to receive(:conflicts_can_be_resolved_in_ui?) { false } - allow(resource).to receive(:conflicts_can_be_resolved_by?).with(user) { true } + allow(presenter).to receive_message_chain(:conflicts, :can_be_resolved_in_ui?) { true } + allow(presenter).to receive_message_chain(:conflicts, :can_be_resolved_by?).with(user) { false } expect(path).to be_nil end @@ -95,8 +95,8 @@ describe MergeRequestPresenter do context 'when able to access conflict resolution UI' do it 'does return conflict resolution path' do - allow(resource).to receive(:conflicts_can_be_resolved_in_ui?) { true } - allow(resource).to receive(:conflicts_can_be_resolved_by?).with(user) { true } + allow(presenter).to receive_message_chain(:conflicts, :can_be_resolved_in_ui?) { true } + allow(presenter).to receive_message_chain(:conflicts, :can_be_resolved_by?).with(user) { true } expect(path) .to eq("/#{project.full_path}/merge_requests/#{resource.iid}/conflicts") diff --git a/spec/services/merge_requests/conflicts/list_service_spec.rb b/spec/services/merge_requests/conflicts/list_service_spec.rb new file mode 100644 index 00000000000..e8a305d6130 --- /dev/null +++ b/spec/services/merge_requests/conflicts/list_service_spec.rb @@ -0,0 +1,73 @@ +require 'spec_helper' + +describe MergeRequests::Conflicts::ListService do + describe '#can_be_resolved_in_ui?' do + def create_merge_request(source_branch) + create(:merge_request, source_branch: source_branch, target_branch: 'conflict-start') do |mr| + mr.mark_as_unmergeable + end + end + + def conflicts_service(merge_request) + described_class.new(merge_request) + end + + it 'returns a falsey value when the MR can be merged without conflicts' do + merge_request = create_merge_request('master') + merge_request.mark_as_mergeable + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey + end + + it 'returns a falsey value when the MR is marked as having conflicts, but has none' do + merge_request = create_merge_request('master') + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey + end + + it 'returns a falsey value when the MR has a missing ref after a force push' do + merge_request = create_merge_request('conflict-resolvable') + service = conflicts_service(merge_request) + allow(service.conflicts).to receive(:merge_index).and_raise(Rugged::OdbError) + + expect(service.can_be_resolved_in_ui?).to be_falsey + end + + it 'returns a falsey value when the MR does not support new diff notes' do + merge_request = create_merge_request('conflict-resolvable') + merge_request.merge_request_diff.update_attributes(start_commit_sha: nil) + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey + end + + it 'returns a falsey value when the conflicts contain a large file' do + merge_request = create_merge_request('conflict-too-large') + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey + end + + it 'returns a falsey value when the conflicts contain a binary file' do + merge_request = create_merge_request('conflict-binary-file') + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey + end + + it 'returns a falsey value when the conflicts contain a file edited in one branch and deleted in another' do + merge_request = create_merge_request('conflict-missing-side') + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey + end + + it 'returns a truthy value when the conflicts are resolvable in the UI' do + merge_request = create_merge_request('conflict-resolvable') + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_truthy + end + + it 'returns a truthy value when the conflicts have to be resolved in an editor' do + merge_request = create_merge_request('conflict-contains-conflict-markers') + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_truthy + end + end +end diff --git a/spec/services/merge_requests/resolve_service_spec.rb b/spec/services/merge_requests/conflicts/resolve_service_spec.rb similarity index 85% rename from spec/services/merge_requests/resolve_service_spec.rb rename to spec/services/merge_requests/conflicts/resolve_service_spec.rb index 3afd6b92900..19e8d5cc5f1 100644 --- a/spec/services/merge_requests/resolve_service_spec.rb +++ b/spec/services/merge_requests/conflicts/resolve_service_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe MergeRequests::ResolveService do +describe MergeRequests::Conflicts::ResolveService do let(:user) { create(:user) } let(:project) { create(:project, :repository) } @@ -24,6 +24,8 @@ describe MergeRequests::ResolveService do end describe '#execute' do + let(:service) { described_class.new(merge_request) } + context 'with section params' do let(:params) do { @@ -50,7 +52,7 @@ describe MergeRequests::ResolveService do context 'when the source and target project are the same' do before do - described_class.new(project, user, params).execute(merge_request) + service.execute(user, params) end it 'creates a commit with the message' do @@ -74,15 +76,26 @@ describe MergeRequests::ResolveService do branch_name: 'conflict-start') end - before do - described_class.new(fork_project, user, params).execute(merge_request_from_fork) + def resolve_conflicts + described_class.new(merge_request_from_fork).execute(user, params) + end + + it 'gets conflicts from the source project' do + expect(fork_project.repository.rugged).to receive(:merge_commits).and_call_original + expect(project.repository.rugged).not_to receive(:merge_commits) + + resolve_conflicts end it 'creates a commit with the message' do + resolve_conflicts + expect(merge_request_from_fork.source_branch_head.message).to eq(params[:commit_message]) end it 'creates a commit with the correct parents' do + resolve_conflicts + expect(merge_request_from_fork.source_branch_head.parents.map(&:id)). to eq(['404fa3fc7c2c9b5dacff102f353bdf55b1be2813', target_head]) @@ -115,7 +128,7 @@ describe MergeRequests::ResolveService do end before do - described_class.new(project, user, params).execute(merge_request) + service.execute(user, params) end it 'creates a commit with the message' do @@ -154,15 +167,15 @@ describe MergeRequests::ResolveService do } end - let(:service) { described_class.new(project, user, invalid_params) } - it 'raises a MissingResolution error' do - expect { service.execute(merge_request) }. + expect { service.execute(user, invalid_params) }. to raise_error(Gitlab::Conflict::File::MissingResolution) end end context 'when the content of a file is unchanged' do + let(:list_service) { MergeRequests::Conflicts::ListService.new(merge_request) } + let(:invalid_params) do { files: [ @@ -173,17 +186,15 @@ describe MergeRequests::ResolveService do }, { old_path: 'files/ruby/regex.rb', new_path: 'files/ruby/regex.rb', - content: merge_request.conflicts.file_for_path('files/ruby/regex.rb', 'files/ruby/regex.rb').content + content: list_service.conflicts.file_for_path('files/ruby/regex.rb', 'files/ruby/regex.rb').content } ], commit_message: 'This is a commit message!' } end - let(:service) { described_class.new(project, user, invalid_params) } - it 'raises a MissingResolution error' do - expect { service.execute(merge_request) }. + expect { service.execute(user, invalid_params) }. to raise_error(Gitlab::Conflict::File::MissingResolution) end end @@ -202,11 +213,9 @@ describe MergeRequests::ResolveService do } end - let(:service) { described_class.new(project, user, invalid_params) } - it 'raises a MissingFiles error' do - expect { service.execute(merge_request) }. - to raise_error(MergeRequests::ResolveService::MissingFiles) + expect { service.execute(user, invalid_params) }. + to raise_error(described_class::MissingFiles) end end end -- GitLab From 3eda0c4ff936321c1ac797af92c69e46e70be69a Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Fri, 19 May 2017 06:04:32 +0000 Subject: [PATCH 095/249] Merge branch 'fix-js-translations' into 'master' Fix JavaScript translations that are using a namespace See merge request !11522 --- .../cycle_analytics/components/stage_code_component.js | 4 ++-- .../cycle_analytics/components/stage_issue_component.js | 4 ++-- .../cycle_analytics/components/stage_plan_component.js | 6 +++--- .../components/stage_production_component.js | 4 ++-- .../cycle_analytics/components/stage_review_component.js | 4 ++-- .../cycle_analytics/components/stage_staging_component.js | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/cycle_analytics/components/stage_code_component.js b/app/assets/javascripts/cycle_analytics/components/stage_code_component.js index 0d9ad197abf..e9a30476945 100644 --- a/app/assets/javascripts/cycle_analytics/components/stage_code_component.js +++ b/app/assets/javascripts/cycle_analytics/components/stage_code_component.js @@ -28,11 +28,11 @@ global.cycleAnalytics.StageCodeComponent = Vue.extend({ <a :href="mergeRequest.url" class="issue-link">!{{ mergeRequest.iid }}</a> · <span> - {{ __('OpenedNDaysAgo|Opened') }} + {{ s__('OpenedNDaysAgo|Opened') }} <a :href="mergeRequest.url" class="issue-date">{{ mergeRequest.createdAt }}</a> </span> <span> - {{ __('ByAuthor|by') }} + {{ s__('ByAuthor|by') }} <a :href="mergeRequest.author.webUrl" class="issue-author-link">{{ mergeRequest.author.name }}</a> </span> </div> diff --git a/app/assets/javascripts/cycle_analytics/components/stage_issue_component.js b/app/assets/javascripts/cycle_analytics/components/stage_issue_component.js index ad285874643..3626a9ce943 100644 --- a/app/assets/javascripts/cycle_analytics/components/stage_issue_component.js +++ b/app/assets/javascripts/cycle_analytics/components/stage_issue_component.js @@ -28,11 +28,11 @@ global.cycleAnalytics.StageIssueComponent = Vue.extend({ <a :href="issue.url" class="issue-link">#{{ issue.iid }}</a> · <span> - {{ __('OpenedNDaysAgo|Opened') }} + {{ s__('OpenedNDaysAgo|Opened') }} <a :href="issue.url" class="issue-date">{{ issue.createdAt }}</a> </span> <span> - {{ __('ByAuthor|by') }} + {{ s__('ByAuthor|by') }} <a :href="issue.author.webUrl" class="issue-author-link"> {{ issue.author.name }} </a> diff --git a/app/assets/javascripts/cycle_analytics/components/stage_plan_component.js b/app/assets/javascripts/cycle_analytics/components/stage_plan_component.js index 222084deee9..c99bb8e9a13 100644 --- a/app/assets/javascripts/cycle_analytics/components/stage_plan_component.js +++ b/app/assets/javascripts/cycle_analytics/components/stage_plan_component.js @@ -31,10 +31,10 @@ global.cycleAnalytics.StagePlanComponent = Vue.extend({ </a> </h5> <span> - {{ __('FirstPushedBy|First') }} + {{ s__('FirstPushedBy|First') }} <span class="commit-icon">${iconCommit}</span> - <a :href="commit.commitUrl" class="commit-hash-link monospace">{{ commit.shortSha }}</a> - {{ __('FirstPushedBy|pushed by') }} + <a :href="commit.commitUrl" class="commit-hash-link commit-sha">{{ commit.shortSha }}</a> + {{ s__('FirstPushedBy|pushed by') }} <a :href="commit.author.webUrl" class="commit-author-link"> {{ commit.author.name }} </a> diff --git a/app/assets/javascripts/cycle_analytics/components/stage_production_component.js b/app/assets/javascripts/cycle_analytics/components/stage_production_component.js index a14ebc3ece9..779458578ab 100644 --- a/app/assets/javascripts/cycle_analytics/components/stage_production_component.js +++ b/app/assets/javascripts/cycle_analytics/components/stage_production_component.js @@ -28,11 +28,11 @@ global.cycleAnalytics.StageProductionComponent = Vue.extend({ <a :href="issue.url" class="issue-link">#{{ issue.iid }}</a> · <span> - {{ __('OpenedNDaysAgo|Opened') }} + {{ s__('OpenedNDaysAgo|Opened') }} <a :href="issue.url" class="issue-date">{{ issue.createdAt }}</a> </span> <span> - {{ __('ByAuthor|by') }} + {{ s__('ByAuthor|by') }} <a :href="issue.author.webUrl" class="issue-author-link"> {{ issue.author.name }} </a> diff --git a/app/assets/javascripts/cycle_analytics/components/stage_review_component.js b/app/assets/javascripts/cycle_analytics/components/stage_review_component.js index 1a5bf9bc0b5..2b00593561f 100644 --- a/app/assets/javascripts/cycle_analytics/components/stage_review_component.js +++ b/app/assets/javascripts/cycle_analytics/components/stage_review_component.js @@ -28,11 +28,11 @@ global.cycleAnalytics.StageReviewComponent = Vue.extend({ <a :href="mergeRequest.url" class="issue-link">!{{ mergeRequest.iid }}</a> · <span> - {{ __('OpenedNDaysAgo|Opened') }} + {{ s__('OpenedNDaysAgo|Opened') }} <a :href="mergeRequest.url" class="issue-date">{{ mergeRequest.createdAt }}</a> </span> <span> - {{ __('ByAuthor|by') }} + {{ s__('ByAuthor|by') }} <a :href="mergeRequest.author.webUrl" class="issue-author-link">{{ mergeRequest.author.name }}</a> </span> <template v-if="mergeRequest.state === 'closed'"> diff --git a/app/assets/javascripts/cycle_analytics/components/stage_staging_component.js b/app/assets/javascripts/cycle_analytics/components/stage_staging_component.js index b1e9362434f..acbde35eb55 100644 --- a/app/assets/javascripts/cycle_analytics/components/stage_staging_component.js +++ b/app/assets/javascripts/cycle_analytics/components/stage_staging_component.js @@ -32,7 +32,7 @@ global.cycleAnalytics.StageStagingComponent = Vue.extend({ </h5> <span> <a :href="build.url" class="build-date">{{ build.date }}</a> - {{ __('ByAuthor|by') }} + {{ s__('ByAuthor|by') }} <a :href="build.author.webUrl" class="issue-author-link"> {{ build.author.name }} </a> -- GitLab From 08bba8e51a3dc48e08a1ec270e506788d36dd610 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Thu, 18 May 2017 13:24:14 +0000 Subject: [PATCH 096/249] Merge branch '32465-center' into 'master' recenter profile page nav links Closes #32465 See merge request !11464 --- app/views/users/show.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml index 03e5dd97405..dbb9216f7d0 100644 --- a/app/views/users/show.html.haml +++ b/app/views/users/show.html.haml @@ -10,7 +10,7 @@ = auto_discovery_link_tag(:atom, user_url(@user, format: :atom), title: "#{@user.name} activity") .user-profile - .cover-block.user-cover-block + .cover-block.user-cover-block.layout-nav .cover-controls - if @user == current_user = link_to profile_path, class: 'btn btn-gray has-tooltip', title: 'Edit profile', 'aria-label': 'Edit profile' do @@ -82,7 +82,7 @@ .scrolling-tabs-container .fade-left= icon('angle-left') .fade-right= icon('angle-right') - %ul.nav-links.center.user-profile-nav.scrolling-tabs + %ul.nav-links.user-profile-nav.scrolling-tabs %li.js-activity-tab = link_to user_path, data: { target: 'div#activity', action: 'activity', toggle: 'tab' } do Activity -- GitLab From 75f0600b48e2b2be5ec3e2d4a1d18b084f53fcf2 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 18 May 2017 14:13:37 +0000 Subject: [PATCH 097/249] Merge branch '32424-fix-linking-to-unresolved-expanded-diff-note' into 'master' Fix linking to unresolved/expanded diff note Closes #32424 See merge request !11458 --- app/assets/javascripts/merge_request_tabs.js | 6 ++++- app/assets/javascripts/notes.js | 23 +++++++++++----- spec/features/merge_requests/diffs_spec.rb | 28 ++++++++++++++++++++ 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js index efbfdbcee0c..c709730f78f 100644 --- a/app/assets/javascripts/merge_request_tabs.js +++ b/app/assets/javascripts/merge_request_tabs.js @@ -288,7 +288,11 @@ import BlobForkSuggestion from './blob/blob_fork_suggestion'; if (anchor) { const notesContent = anchor.closest('.notes_content'); const lineType = notesContent.hasClass('new') ? 'new' : 'old'; - notes.addDiffNote(anchor, lineType, false); + notes.toggleDiffNote({ + target: anchor, + lineType, + forceShow: true, + }); anchor[0].scrollIntoView(); // We have multiple elements on the page with `#note_xxx` // (discussion and diff tabs) and `:target` only applies to the first diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 78b62a99f98..43a81eac832 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -861,10 +861,19 @@ const normalizeNewlines = function(str) { e.preventDefault(); const $link = $(e.currentTarget || e.target); const showReplyInput = !$link.hasClass('js-diff-comment-avatar'); - this.addDiffNote($link, $link.data('lineType'), showReplyInput); + this.toggleDiffNote({ + target: $link, + lineType: $link.data('lineType'), + showReplyInput + }); }; - Notes.prototype.addDiffNote = function(target, lineType, showReplyInput) { + Notes.prototype.toggleDiffNote = function({ + target, + lineType, + forceShow, + showReplyInput = false, + }) { var $link, addForm, hasNotes, newForm, noteForm, replyButton, row, rowCssToAdd, targetContent, isDiffCommentAvatar; $link = $(target); row = $link.closest("tr"); @@ -909,12 +918,12 @@ const normalizeNewlines = function(str) { notesContent = targetRow.find(notesContentSelector); addForm = true; } else { - targetRow.show(); - notesContent.toggle(!notesContent.is(':visible')); + const isCurrentlyShown = targetRow.find('.content:not(:empty)').is(':visible'); + const isForced = forceShow === true || forceShow === false; + const showNow = forceShow === true || (!isCurrentlyShown && !isForced); - if (!targetRow.find('.content:not(:empty)').is(':visible')) { - targetRow.hide(); - } + targetRow.toggle(showNow); + notesContent.toggle(showNow); } if (addForm) { diff --git a/spec/features/merge_requests/diffs_spec.rb b/spec/features/merge_requests/diffs_spec.rb index 7dee3b852ca..4860a2a7498 100644 --- a/spec/features/merge_requests/diffs_spec.rb +++ b/spec/features/merge_requests/diffs_spec.rb @@ -20,6 +20,34 @@ feature 'Diffs URL', js: true, feature: true do end end + context 'when linking to note' do + describe 'with unresolved note' do + let(:note) { create :diff_note_on_merge_request, project: project, noteable: merge_request } + let(:fragment) { "#note_#{note.id}" } + + before do + visit "#{diffs_namespace_project_merge_request_path(project.namespace, project, merge_request)}#{fragment}" + end + + it 'shows expanded note' do + expect(page).to have_selector(fragment, visible: true) + end + end + + describe 'with resolved note' do + let(:note) { create :diff_note_on_merge_request, :resolved, project: project, noteable: merge_request } + let(:fragment) { "#note_#{note.id}" } + + before do + visit "#{diffs_namespace_project_merge_request_path(project.namespace, project, merge_request)}#{fragment}" + end + + it 'shows expanded note' do + expect(page).to have_selector(fragment, visible: true) + end + end + end + context 'when merge request has overflow' do it 'displays warning' do allow(Commit).to receive(:max_diff_options).and_return(max_files: 3) -- GitLab From 2ca0ef8fcf136838bb20dae1a4ece6d9f27f75fc Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 18 May 2017 10:24:07 +0000 Subject: [PATCH 098/249] Merge branch '32359-align-resolve-btn' into 'master' Align resolve comment btn Closes #32359 See merge request !11457 --- app/assets/stylesheets/pages/notes.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss index 58533f4d00e..c7569f71c19 100644 --- a/app/assets/stylesheets/pages/notes.scss +++ b/app/assets/stylesheets/pages/notes.scss @@ -678,7 +678,7 @@ ul.notes { .line-resolve-btn { position: relative; - top: 2px; + top: 0; padding: 0; background-color: transparent; border: none; @@ -699,8 +699,8 @@ ul.notes { svg { fill: $gray-darkest; - height: 15px; - width: 15px; + height: 16px; + width: 16px; } .loading { -- GitLab From f0caffe9934a14b0b9d6fb7bc12bca64e294a4c7 Mon Sep 17 00:00:00 2001 From: Yorick Peterse <yorickpeterse@gmail.com> Date: Wed, 17 May 2017 15:32:28 +0000 Subject: [PATCH 099/249] Merge branch 'get_rid_of_pluck' into 'master' Get rid of pluck in app/services/members/authorized_destroy_service.rb Closes #32372 See merge request !11433 --- app/services/members/authorized_destroy_service.rb | 10 +++++++--- changelogs/unreleased/get_rid_of_pluck.yml | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 changelogs/unreleased/get_rid_of_pluck.yml diff --git a/app/services/members/authorized_destroy_service.rb b/app/services/members/authorized_destroy_service.rb index 451614e6fe5..6e987b3b6cd 100644 --- a/app/services/members/authorized_destroy_service.rb +++ b/app/services/members/authorized_destroy_service.rb @@ -26,10 +26,14 @@ module Members def unassign_issues_and_merge_requests(member) if member.is_a?(GroupMember) - issue_ids = IssuesFinder.new(user, group_id: member.source_id, assignee_id: member.user_id). - execute.pluck(:id) + issues = Issue.unscoped.select(1). + joins(:project). + where('issues.id = issue_assignees.issue_id AND projects.namespace_id = ?', member.source_id) - IssueAssignee.delete_all(issue_id: issue_ids, user_id: member.user_id) + # DELETE FROM issue_assignees WHERE user_id = X AND EXISTS (...) + IssueAssignee.unscoped. + where('user_id = :user_id AND EXISTS (:sub)', user_id: member.user_id, sub: issues). + delete_all MergeRequestsFinder.new(user, group_id: member.source_id, assignee_id: member.user_id). execute. diff --git a/changelogs/unreleased/get_rid_of_pluck.yml b/changelogs/unreleased/get_rid_of_pluck.yml new file mode 100644 index 00000000000..987af5e9317 --- /dev/null +++ b/changelogs/unreleased/get_rid_of_pluck.yml @@ -0,0 +1,4 @@ +--- +title: Issue assignees are now removed without loading unnecessary data into memory +merge_request: +author: -- GitLab From 7e6ed320d5d4f289d17d2cf06afe9de02111186d Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Fri, 19 May 2017 08:01:28 +0000 Subject: [PATCH 100/249] Fix 9.2 conflicts for "Polish UI on pipeline schedules form" --- .../components/interval_pattern_input.js | 118 +++++++++--------- .../components/target_branch_dropdown.js | 16 ++- .../components/timezone_dropdown.js | 18 ++- .../stylesheets/pages/pipeline_schedules.scss | 21 ++-- .../pipeline_schedules/_form.html.haml | 14 +-- .../projects/pipeline_schedules_spec.rb | 9 +- .../interval_pattern_input_spec.js | 42 ------- 7 files changed, 114 insertions(+), 124 deletions(-) diff --git a/app/assets/javascripts/pipeline_schedules/components/interval_pattern_input.js b/app/assets/javascripts/pipeline_schedules/components/interval_pattern_input.js index 152e75b747e..4d623763ca7 100644 --- a/app/assets/javascripts/pipeline_schedules/components/interval_pattern_input.js +++ b/app/assets/javascripts/pipeline_schedules/components/interval_pattern_input.js @@ -24,9 +24,6 @@ export default { }; }, computed: { - showUnsetWarning() { - return this.cronInterval === ''; - }, intervalIsPreset() { return _.contains(this.cronIntervalPresets, this.cronInterval); }, @@ -63,67 +60,75 @@ export default { }, template: ` <div class="interval-pattern-form-group"> - <input - id="custom" - class="label-light" - type="radio" - :name="inputNameAttribute" - :value="cronInterval" - :checked="isEditable" - @click="toggleCustomInput(true)" - /> + <div class="cron-preset-radio-input"> + <input + id="custom" + class="label-light" + type="radio" + :name="inputNameAttribute" + :value="cronInterval" + :checked="isEditable" + @click="toggleCustomInput(true)" + /> - <label for="custom"> - Custom - </label> + <label for="custom"> + Custom + </label> - <span class="cron-syntax-link-wrap"> - (<a :href="cronSyntaxUrl" target="_blank">Cron syntax</a>) - </span> + <span class="cron-syntax-link-wrap"> + (<a :href="cronSyntaxUrl" target="_blank">Cron syntax</a>) + </span> + </div> - <input - id="every-day" - class="label-light" - type="radio" - v-model="cronInterval" - :name="inputNameAttribute" - :value="cronIntervalPresets.everyDay" - @click="toggleCustomInput(false)" - /> + <div class="cron-preset-radio-input"> + <input + id="every-day" + class="label-light" + type="radio" + v-model="cronInterval" + :name="inputNameAttribute" + :value="cronIntervalPresets.everyDay" + @click="toggleCustomInput(false)" + /> - <label class="label-light" for="every-day"> - Every day (at 4:00am) - </label> + <label class="label-light" for="every-day"> + Every day (at 4:00am) + </label> + </div> - <input - id="every-week" - class="label-light" - type="radio" - v-model="cronInterval" - :name="inputNameAttribute" - :value="cronIntervalPresets.everyWeek" - @click="toggleCustomInput(false)" - /> + <div class="cron-preset-radio-input"> + <input + id="every-week" + class="label-light" + type="radio" + v-model="cronInterval" + :name="inputNameAttribute" + :value="cronIntervalPresets.everyWeek" + @click="toggleCustomInput(false)" + /> - <label class="label-light" for="every-week"> - Every week (Sundays at 4:00am) - </label> + <label class="label-light" for="every-week"> + Every week (Sundays at 4:00am) + </label> + </div> - <input - id="every-month" - class="label-light" - type="radio" - v-model="cronInterval" - :name="inputNameAttribute" - :value="cronIntervalPresets.everyMonth" - @click="toggleCustomInput(false)" - /> + <div class="cron-preset-radio-input"> + <input + id="every-month" + class="label-light" + type="radio" + v-model="cronInterval" + :name="inputNameAttribute" + :value="cronIntervalPresets.everyMonth" + @click="toggleCustomInput(false)" + /> - <label class="label-light" for="every-month"> - Every month (on the 1st at 4:00am) - </label> + <label class="label-light" for="every-month"> + Every month (on the 1st at 4:00am) + </label> + </div> - <div class="cron-interval-input-wrapper col-md-6"> + <div class="cron-interval-input-wrapper"> <input id="schedule_cron" class="form-control inline cron-interval-input" @@ -135,9 +140,6 @@ export default { :disabled="!isEditable" /> </div> - <span class="cron-unset-status col-md-3" v-if="showUnsetWarning"> - Schedule not yet set - </span> </div> `, }; diff --git a/app/assets/javascripts/pipeline_schedules/components/target_branch_dropdown.js b/app/assets/javascripts/pipeline_schedules/components/target_branch_dropdown.js index 22e746ad2c3..0c3926d76b5 100644 --- a/app/assets/javascripts/pipeline_schedules/components/target_branch_dropdown.js +++ b/app/assets/javascripts/pipeline_schedules/components/target_branch_dropdown.js @@ -3,7 +3,7 @@ export default class TargetBranchDropdown { this.$dropdown = $('.js-target-branch-dropdown'); this.$dropdownToggle = this.$dropdown.find('.dropdown-toggle-text'); this.$input = $('#schedule_ref'); - this.initialValue = this.$input.val(); + this.initDefaultBranch(); this.initDropdown(); } @@ -29,13 +29,23 @@ export default class TargetBranchDropdown { } setDropdownToggle() { - if (this.initialValue) { - this.$dropdownToggle.text(this.initialValue); + const initialValue = this.$input.val(); + + this.$dropdownToggle.text(initialValue); + } + + initDefaultBranch() { + const initialValue = this.$input.val(); + const defaultBranch = this.$dropdown.data('defaultBranch'); + + if (!initialValue) { + this.$input.val(defaultBranch); } } updateInputValue({ selectedObj, e }) { e.preventDefault(); + this.$input.val(selectedObj.name); gl.pipelineScheduleFieldErrors.updateFormValidityState(); } diff --git a/app/assets/javascripts/pipeline_schedules/components/timezone_dropdown.js b/app/assets/javascripts/pipeline_schedules/components/timezone_dropdown.js index c70e0502cf8..95ed9c7dc21 100644 --- a/app/assets/javascripts/pipeline_schedules/components/timezone_dropdown.js +++ b/app/assets/javascripts/pipeline_schedules/components/timezone_dropdown.js @@ -1,12 +1,14 @@ /* eslint-disable class-methods-use-this */ +const defaultTimezone = 'UTC'; + export default class TimezoneDropdown { constructor() { this.$dropdown = $('.js-timezone-dropdown'); this.$dropdownToggle = this.$dropdown.find('.dropdown-toggle-text'); this.$input = $('#schedule_cron_timezone'); this.timezoneData = this.$dropdown.data('data'); - this.initialValue = this.$input.val(); + this.initDefaultTimezone(); this.initDropdown(); } @@ -42,12 +44,20 @@ export default class TimezoneDropdown { return `[UTC ${this.formatUtcOffset(item.offset)}] ${item.name}`; } - setDropdownToggle() { - if (this.initialValue) { - this.$dropdownToggle.text(this.initialValue); + initDefaultTimezone() { + const initialValue = this.$input.val(); + + if (!initialValue) { + this.$input.val(defaultTimezone); } } + setDropdownToggle() { + const initialValue = this.$input.val(); + + this.$dropdownToggle.text(initialValue); + } + updateInputValue({ selectedObj, e }) { e.preventDefault(); this.$input.val(selectedObj.identifier); diff --git a/app/assets/stylesheets/pages/pipeline_schedules.scss b/app/assets/stylesheets/pages/pipeline_schedules.scss index 0fee54a0d19..ab417948931 100644 --- a/app/assets/stylesheets/pages/pipeline_schedules.scss +++ b/app/assets/stylesheets/pages/pipeline_schedules.scss @@ -31,14 +31,6 @@ margin-right: 10px; font-size: 12px; } - - .cron-unset-status { - padding-top: 16px; - margin-left: -16px; - color: $gl-text-color-secondary; - font-size: 12px; - font-weight: 600; - } } .pipeline-schedule-table-row { @@ -69,3 +61,16 @@ color: $gl-text-color; } } + +.cron-preset-radio-input { + display: inline-block; + + @media (max-width: $screen-md-max) { + display: block; + margin: 0 0 5px 5px; + } + + input { + margin-right: 3px; + } +} diff --git a/app/views/projects/pipeline_schedules/_form.html.haml b/app/views/projects/pipeline_schedules/_form.html.haml index 1de9610c17e..bbed10039af 100644 --- a/app/views/projects/pipeline_schedules/_form.html.haml +++ b/app/views/projects/pipeline_schedules/_form.html.haml @@ -5,29 +5,29 @@ = form_for [@project.namespace.becomes(Namespace), @project, @schedule], as: :schedule, html: { id: "new-pipeline-schedule-form", class: "form-horizontal js-pipeline-schedule-form" } do |f| = form_errors(@schedule) .form-group - .col-md-6 + .col-md-9 = f.label :description, 'Description', class: 'label-light' = f.text_field :description, class: 'form-control', required: true, autofocus: true, placeholder: 'Provide a short description for this pipeline' .form-group - .col-md-12 + .col-md-9 = f.label :cron, 'Interval Pattern', class: 'label-light' #interval-pattern-input{ data: { initial_interval: @schedule.cron } } .form-group - .col-md-6 + .col-md-9 = f.label :cron_timezone, 'Cron Timezone', class: 'label-light' = dropdown_tag("Select a timezone", options: { toggle_class: 'btn js-timezone-dropdown', title: "Select a timezone", filter: true, placeholder: "Filter", data: { data: timezone_data } } ) = f.text_field :cron_timezone, value: @schedule.cron_timezone, id: 'schedule_cron_timezone', class: 'hidden', name: 'schedule[cron_timezone]', required: true .form-group - .col-md-6 + .col-md-9 = f.label :ref, 'Target Branch', class: 'label-light' - = dropdown_tag("Select target branch", options: { toggle_class: 'btn js-target-branch-dropdown', title: "Select target branch", filter: true, placeholder: "Filter", data: { data: @project.repository.branch_names } } ) + = dropdown_tag("Select target branch", options: { toggle_class: 'btn js-target-branch-dropdown git-revision-dropdown-toggle', dropdown_class: 'git-revision-dropdown', title: "Select target branch", filter: true, placeholder: "Filter", data: { data: @project.repository.branch_names, default_branch: @project.default_branch } } ) = f.text_field :ref, value: @schedule.ref, id: 'schedule_ref', class: 'hidden', name: 'schedule[ref]', required: true .form-group - .col-md-6 + .col-md-9 = f.label :active, 'Activated', class: 'label-light' %div = f.check_box :active, required: false, value: @schedule.active? - active + Active .footer-block.row-content-block = f.submit 'Save pipeline schedule', class: 'btn btn-create', tabindex: 3 = link_to 'Cancel', pipeline_schedules_path(@project), class: 'btn btn-cancel' diff --git a/spec/features/projects/pipeline_schedules_spec.rb b/spec/features/projects/pipeline_schedules_spec.rb index cdac4fe2111..c47248353e5 100644 --- a/spec/features/projects/pipeline_schedules_spec.rb +++ b/spec/features/projects/pipeline_schedules_spec.rb @@ -69,6 +69,11 @@ feature 'Pipeline Schedules', :feature do describe 'POST /projects/pipeline_schedules/new', js: true do let(:visit_page) { visit_new_pipeline_schedule } + it 'sets defaults for timezone and target branch' do + expect(page).to have_button('master') + expect(page).to have_button('UTC') + end + it 'it creates a new scheduled pipeline' do fill_in_schedule_form save_pipeline_schedule @@ -117,12 +122,12 @@ feature 'Pipeline Schedules', :feature do end def select_timezone - click_button 'Select a timezone' + find('.js-timezone-dropdown').click click_link 'American Samoa' end def select_target_branch - click_button 'Select target branch' + find('.js-target-branch-dropdown').click click_link 'master' end diff --git a/spec/javascripts/pipeline_schedules/interval_pattern_input_spec.js b/spec/javascripts/pipeline_schedules/interval_pattern_input_spec.js index 08fa6ca9057..845b371d90c 100644 --- a/spec/javascripts/pipeline_schedules/interval_pattern_input_spec.js +++ b/spec/javascripts/pipeline_schedules/interval_pattern_input_spec.js @@ -36,20 +36,6 @@ describe('Interval Pattern Input Component', function () { expect(this.intervalPatternComponent.initialCronInterval).toBe(this.initialCronInterval); }); - it('sets showUnsetWarning to false', function (done) { - Vue.nextTick(() => { - expect(this.intervalPatternComponent.showUnsetWarning).toBe(false); - done(); - }); - }); - - it('does not render showUnsetWarning', function (done) { - Vue.nextTick(() => { - expect(this.intervalPatternComponent.$el.outerHTML).not.toContain('Schedule not yet set'); - done(); - }); - }); - it('sets isEditable to true', function (done) { Vue.nextTick(() => { expect(this.intervalPatternComponent.isEditable).toBe(true); @@ -72,20 +58,6 @@ describe('Interval Pattern Input Component', function () { expect(this.intervalPatternComponent).toBeDefined(); }); - it('sets showUnsetWarning to false', function (done) { - Vue.nextTick(() => { - expect(this.intervalPatternComponent.showUnsetWarning).toBe(false); - done(); - }); - }); - - it('does not render showUnsetWarning', function (done) { - Vue.nextTick(() => { - expect(this.intervalPatternComponent.$el.outerHTML).not.toContain('Schedule not yet set'); - done(); - }); - }); - it('sets isEditable to false', function (done) { Vue.nextTick(() => { expect(this.intervalPatternComponent.isEditable).toBe(false); @@ -113,20 +85,6 @@ describe('Interval Pattern Input Component', function () { expect(this.intervalPatternComponent.initialCronInterval).toBe(defaultInitialCronInterval); }); - it('sets showUnsetWarning to true', function (done) { - Vue.nextTick(() => { - expect(this.intervalPatternComponent.showUnsetWarning).toBe(true); - done(); - }); - }); - - it('renders showUnsetWarning to true', function (done) { - Vue.nextTick(() => { - expect(this.intervalPatternComponent.$el.outerHTML).toContain('Schedule not yet set'); - done(); - }); - }); - it('sets isEditable to true', function (done) { Vue.nextTick(() => { expect(this.intervalPatternComponent.isEditable).toBe(true); -- GitLab From 6af215f0f29e9695f7ba4673ff51ccb5728b6c30 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Tue, 16 May 2017 15:36:55 +0000 Subject: [PATCH 101/249] Merge branch 'environments-button-open-same-tab' into 'master' Removed the target=_blank from the monitoring component Closes #32243 See merge request !11386 --- .../environments/components/environment_monitoring.vue | 1 - changelogs/unreleased/environments-button-open-same-tab.yml | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/environments-button-open-same-tab.yml diff --git a/app/assets/javascripts/environments/components/environment_monitoring.vue b/app/assets/javascripts/environments/components/environment_monitoring.vue index 4b030a27900..79c019b3491 100644 --- a/app/assets/javascripts/environments/components/environment_monitoring.vue +++ b/app/assets/javascripts/environments/components/environment_monitoring.vue @@ -21,7 +21,6 @@ export default { <a class="btn monitoring-url has-tooltip" data-container="body" - target="_blank" rel="noopener noreferrer nofollow" :href="monitoringUrl" :title="title" diff --git a/changelogs/unreleased/environments-button-open-same-tab.yml b/changelogs/unreleased/environments-button-open-same-tab.yml new file mode 100644 index 00000000000..60b0d389e7f --- /dev/null +++ b/changelogs/unreleased/environments-button-open-same-tab.yml @@ -0,0 +1,5 @@ +--- +title: Removed the target=_blank from the monitoring component to prevent opening + a new tab +merge_request: +author: -- GitLab From c5247a596d0dded76e4f9589a6c5e284583affa9 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Thu, 11 May 2017 23:54:05 +0000 Subject: [PATCH 102/249] Merge branch 'mk-fix-routable-redirect-message' into 'master' Fix redirect message for groups and users See merge request !11313 --- app/controllers/concerns/routable_actions.rb | 8 ++++---- spec/controllers/groups_controller_spec.rb | 8 ++++++-- spec/controllers/projects_controller_spec.rb | 8 ++++++-- spec/controllers/users_controller_spec.rb | 12 ++++++++---- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/app/controllers/concerns/routable_actions.rb b/app/controllers/concerns/routable_actions.rb index d4ab6782444..afd110adcad 100644 --- a/app/controllers/concerns/routable_actions.rb +++ b/app/controllers/concerns/routable_actions.rb @@ -4,7 +4,7 @@ module RoutableActions def find_routable!(routable_klass, requested_full_path, extra_authorization_proc: nil) routable = routable_klass.find_by_full_path(requested_full_path, follow_redirects: request.get?) - if routable_authorized?(routable_klass, routable, extra_authorization_proc) + if routable_authorized?(routable, extra_authorization_proc) ensure_canonical_path(routable, requested_full_path) routable else @@ -13,8 +13,8 @@ module RoutableActions end end - def routable_authorized?(routable_klass, routable, extra_authorization_proc) - action = :"read_#{routable_klass.to_s.underscore}" + def routable_authorized?(routable, extra_authorization_proc) + action = :"read_#{routable.class.to_s.underscore}" return false unless can?(current_user, action, routable) if extra_authorization_proc @@ -30,7 +30,7 @@ module RoutableActions canonical_path = routable.full_path if canonical_path != requested_path if canonical_path.casecmp(requested_path) != 0 - flash[:notice] = "Project '#{requested_path}' was moved to '#{canonical_path}'. Please update any links and bookmarks that may still have the old path." + flash[:notice] = "#{routable.class.to_s.titleize} '#{requested_path}' was moved to '#{canonical_path}'. Please update any links and bookmarks that may still have the old path." end redirect_to request.original_url.sub(requested_path, canonical_path) end diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index 4c8d82a1677..a635742c989 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -101,7 +101,7 @@ describe GroupsController do get :issues, id: redirect_route.path expect(response).to redirect_to(issues_group_path(group.to_param)) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) end end end @@ -146,7 +146,7 @@ describe GroupsController do get :merge_requests, id: redirect_route.path expect(response).to redirect_to(merge_requests_group_path(group.to_param)) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) end end end @@ -249,4 +249,8 @@ describe GroupsController do end end end + + def group_moved_message(redirect_route, group) + "Group '#{redirect_route.path}' was moved to '#{group.full_path}'. Please update any links and bookmarks that may still have the old path." + end end diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index e46ef447df2..e230944d52e 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -227,7 +227,7 @@ describe ProjectsController do get :show, namespace_id: 'foo', id: 'bar' expect(response).to redirect_to(public_project) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(project_moved_message(redirect_route, public_project)) end end end @@ -473,7 +473,7 @@ describe ProjectsController do get :refs, namespace_id: 'foo', id: 'bar' expect(response).to redirect_to(refs_namespace_project_path(namespace_id: public_project.namespace, id: public_project)) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(project_moved_message(redirect_route, public_project)) end end end @@ -487,4 +487,8 @@ describe ProjectsController do expect(JSON.parse(response.body).keys).to match_array(%w(body references)) end end + + def project_moved_message(redirect_route, project) + "Project '#{redirect_route.path}' was moved to '#{project.full_path}'. Please update any links and bookmarks that may still have the old path." + end end diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index 74c5aa44ba9..1d61719f1d0 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -83,7 +83,7 @@ describe UsersController do get :show, username: redirect_route.path expect(response).to redirect_to(user) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) end end @@ -162,7 +162,7 @@ describe UsersController do get :calendar, username: redirect_route.path expect(response).to redirect_to(user_calendar_path(user)) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) end end end @@ -216,7 +216,7 @@ describe UsersController do get :calendar_activities, username: redirect_route.path expect(response).to redirect_to(user_calendar_activities_path(user)) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) end end end @@ -270,7 +270,7 @@ describe UsersController do get :snippets, username: redirect_route.path expect(response).to redirect_to(user_snippets_path(user)) - expect(controller).to set_flash[:notice].to(/moved/) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) end end end @@ -320,4 +320,8 @@ describe UsersController do end end end + + def user_moved_message(redirect_route, user) + "User '#{redirect_route.path}' was moved to '#{user.full_path}'. Please update any links and bookmarks that may still have the old path." + end end -- GitLab From 05aad53440547306771390d2958b4bd4b831b8aa Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Tue, 16 May 2017 10:32:55 +0000 Subject: [PATCH 103/249] Merge branch 'winh-autocomplete-error' into 'master' Replace broken autocomplete field for new tags with dropdown Closes #32127 See merge request !11290 --- app/assets/javascripts/dispatcher.js | 3 ++ app/assets/javascripts/new_branch_form.js | 47 ++----------------- app/assets/javascripts/ref_select_dropdown.js | 46 ++++++++++++++++++ app/views/projects/tags/new.html.haml | 19 ++++---- spec/features/tags/master_creates_tag_spec.rb | 16 ++++++- 5 files changed, 77 insertions(+), 54 deletions(-) create mode 100644 app/assets/javascripts/ref_select_dropdown.js diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index c316ff64219..38c1c4c45b4 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -51,6 +51,8 @@ import ShortcutsWiki from './shortcuts_wiki'; import Pipelines from './pipelines'; import BlobViewer from './blob/viewer/index'; import AutoWidthDropdownSelect from './issuable/auto_width_dropdown_select'; +import UsersSelect from './users_select'; +import RefSelectDropdown from './ref_select_dropdown'; const ShortcutsBlob = require('./shortcuts_blob'); @@ -204,6 +206,7 @@ const ShortcutsBlob = require('./shortcuts_blob'); case 'projects:tags:new': new ZenMode(); new gl.GLForm($('.tag-form')); + new RefSelectDropdown($('.js-branch-select'), window.gl.availableRefs); break; case 'projects:releases:edit': new ZenMode(); diff --git a/app/assets/javascripts/new_branch_form.js b/app/assets/javascripts/new_branch_form.js index 67046d52a65..4903875dfa0 100644 --- a/app/assets/javascripts/new_branch_form.js +++ b/app/assets/javascripts/new_branch_form.js @@ -1,4 +1,6 @@ /* eslint-disable func-names, space-before-function-paren, no-var, one-var, prefer-rest-params, max-len, vars-on-top, wrap-iife, consistent-return, comma-dangle, one-var-declaration-per-line, quotes, no-return-assign, prefer-arrow-callback, prefer-template, no-shadow, no-else-return, max-len, object-shorthand */ +import RefSelectDropdown from '~/ref_select_dropdown'; + (function() { var bind = function(fn, me) { return function() { return fn.apply(me, arguments); }; }, indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i += 1) { if (i in this && this[i] === item) return i; } return -1; }; @@ -9,7 +11,7 @@ this.branchNameError = form.find('.js-branch-name-error'); this.name = form.find('.js-branch-name'); this.ref = form.find('#ref'); - this.setupAvailableRefs(availableRefs); + new RefSelectDropdown($('.js-branch-select'), availableRefs); // eslint-disable-line no-new this.setupRestrictions(); this.addBinding(); this.init(); @@ -25,49 +27,6 @@ } }; - NewBranchForm.prototype.setupAvailableRefs = function(availableRefs) { - var $branchSelect = $('.js-branch-select'); - - $branchSelect.glDropdown({ - data: availableRefs, - filterable: true, - filterByText: true, - remote: false, - fieldName: $branchSelect.data('field-name'), - filterInput: 'input[type="search"]', - selectable: true, - isSelectable: function(branch, $el) { - return !$el.hasClass('is-active'); - }, - text: function(branch) { - return branch; - }, - id: function(branch) { - return branch; - }, - toggleLabel: function(branch) { - if (branch) { - return branch; - } - } - }); - - const $dropdownContainer = $branchSelect.closest('.dropdown'); - const $fieldInput = $(`input[name="${$branchSelect.data('field-name')}"]`, $dropdownContainer); - const $filterInput = $('input[type="search"]', $dropdownContainer); - - $filterInput.on('keyup', (e) => { - const keyCode = e.keyCode || e.which; - if (keyCode !== 13) return; - - const text = $filterInput.val(); - $fieldInput.val(text); - $('.dropdown-toggle-text', $branchSelect).text(text); - - $dropdownContainer.removeClass('open'); - }); - }; - NewBranchForm.prototype.setupRestrictions = function() { var endsWith, invalid, single, startsWith; startsWith = { diff --git a/app/assets/javascripts/ref_select_dropdown.js b/app/assets/javascripts/ref_select_dropdown.js new file mode 100644 index 00000000000..215cd6fbdfd --- /dev/null +++ b/app/assets/javascripts/ref_select_dropdown.js @@ -0,0 +1,46 @@ +class RefSelectDropdown { + constructor($dropdownButton, availableRefs) { + $dropdownButton.glDropdown({ + data: availableRefs, + filterable: true, + filterByText: true, + remote: false, + fieldName: $dropdownButton.data('field-name'), + filterInput: 'input[type="search"]', + selectable: true, + isSelectable(branch, $el) { + return !$el.hasClass('is-active'); + }, + text(branch) { + return branch; + }, + id(branch) { + return branch; + }, + toggleLabel(branch) { + return branch; + }, + }); + + const $dropdownContainer = $dropdownButton.closest('.dropdown'); + const $fieldInput = $(`input[name="${$dropdownButton.data('field-name')}"]`, $dropdownContainer); + const $filterInput = $('input[type="search"]', $dropdownContainer); + + $filterInput.on('keyup', (e) => { + const keyCode = e.keyCode || e.which; + if (keyCode !== 13) return; + + const ref = $filterInput.val().trim(); + if (ref === '') { + return; + } + + $fieldInput.val(ref); + $('.dropdown-toggle-text', $dropdownButton).text(ref); + + $dropdownContainer.removeClass('open'); + }); + } +} + +export default RefSelectDropdown; diff --git a/app/views/projects/tags/new.html.haml b/app/views/projects/tags/new.html.haml index 7c607d2956b..ce0eaff3060 100644 --- a/app/views/projects/tags/new.html.haml +++ b/app/views/projects/tags/new.html.haml @@ -1,4 +1,5 @@ - page_title "New Tag" +- default_ref = params[:ref] || @project.default_branch - if @error .alert.alert-danger @@ -16,9 +17,13 @@ = text_field_tag :tag_name, params[:tag_name], required: true, tabindex: 1, autofocus: true, class: 'form-control' .form-group = label_tag :ref, 'Create from', class: 'control-label' - .col-sm-10 - = text_field_tag :ref, params[:ref] || @project.default_branch, required: true, tabindex: 2, class: 'form-control' - .help-block Branch name or commit SHA + .col-sm-10.create-from + .dropdown + = hidden_field_tag :ref, default_ref + = button_tag type: 'button', title: default_ref, class: 'dropdown-menu-toggle wide form-control js-branch-select', required: true, data: { toggle: 'dropdown', selected: default_ref, field_name: 'ref' } do + .text-left.dropdown-toggle-text= default_ref + = render 'shared/ref_dropdown', dropdown_class: 'wide' + .help-block Existing branch name, tag, or commit SHA .form-group = label_tag :message, nil, class: 'control-label' .col-sm-10 @@ -37,9 +42,5 @@ = link_to 'Cancel', namespace_project_tags_path(@project.namespace, @project), class: 'btn btn-cancel' :javascript - var availableRefs = #{@project.repository.ref_names.to_json}; - - $("#ref").autocomplete({ - source: availableRefs, - minLength: 1 - }); + window.gl = window.gl || { }; + window.gl.availableRefs = #{@project.repository.ref_names.to_json}; diff --git a/spec/features/tags/master_creates_tag_spec.rb b/spec/features/tags/master_creates_tag_spec.rb index ca25c696f75..af25eebed13 100644 --- a/spec/features/tags/master_creates_tag_spec.rb +++ b/spec/features/tags/master_creates_tag_spec.rb @@ -51,10 +51,24 @@ feature 'Master creates tag', feature: true do end end + scenario 'opens dropdown for ref', js: true do + click_link 'New tag' + ref_row = find('.form-group:nth-of-type(2) .col-sm-10') + page.within ref_row do + ref_input = find('[name="ref"]', visible: false) + expect(ref_input.value).to eq 'master' + expect(find('.dropdown-toggle-text')).to have_content 'master' + + find('.js-branch-select').trigger('click') + + expect(find('.dropdown-menu')).to have_content 'empty-branch' + end + end + def create_tag_in_form(tag:, ref:, message: nil, desc: nil) click_link 'New tag' fill_in 'tag_name', with: tag - fill_in 'ref', with: ref + find('#ref', visible: false).set(ref) fill_in 'message', with: message unless message.nil? fill_in 'release_description', with: desc unless desc.nil? click_button 'Create tag' -- GitLab From aa7f474c4de8c7c183101b88d8e128abeffbe2bf Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Fri, 12 May 2017 07:42:25 +0000 Subject: [PATCH 104/249] Merge branch '32096-fix-new-branch-dropdown-position-size' into 'master' Fix new branch dropdown position and size Closes #32096 See merge request !11279 --- app/views/projects/branches/new.html.haml | 12 +++++++----- .../branches/new_branch_ref_dropdown_spec.rb | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/views/projects/branches/new.html.haml b/app/views/projects/branches/new.html.haml index 796ecdfd014..55575c5e412 100644 --- a/app/views/projects/branches/new.html.haml +++ b/app/views/projects/branches/new.html.haml @@ -17,11 +17,13 @@ .help-block.text-danger.js-branch-name-error .form-group = label_tag :ref, 'Create from', class: 'control-label' - .col-sm-10.dropdown.create-from - = hidden_field_tag :ref, default_ref - = button_tag type: 'button', title: default_ref, class: 'dropdown-toggle form-control js-branch-select', required: true, data: { toggle: 'dropdown', selected: default_ref, field_name: 'ref' } do - .text-left.dropdown-toggle-text= default_ref - = render 'shared/ref_dropdown', dropdown_class: 'wide' + .col-sm-10.create-from + .dropdown + = hidden_field_tag :ref, default_ref + = button_tag type: 'button', title: default_ref, class: 'dropdown-menu-toggle wide form-control js-branch-select', required: true, data: { toggle: 'dropdown', selected: default_ref, field_name: 'ref' } do + .text-left.dropdown-toggle-text= default_ref + = icon('chevron-down') + = render 'shared/ref_dropdown', dropdown_class: 'wide' .help-block Existing branch name, tag, or commit SHA .form-actions = button_tag 'Create branch', class: 'btn btn-create', tabindex: 3 diff --git a/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb b/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb index cfc782c98ad..c5e0a0f0517 100644 --- a/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb +++ b/spec/features/projects/branches/new_branch_ref_dropdown_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'New Branch Ref Dropdown', :js, :feature do let(:user) { create(:user) } let(:project) { create(:project, :public) } - let(:toggle) { find('.create-from .dropdown-toggle') } + let(:toggle) { find('.create-from .dropdown-menu-toggle') } before do project.add_master(user) -- GitLab From f0c0bdc047aa050698bebd30a7790eebe460d031 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Fri, 12 May 2017 12:37:18 +0000 Subject: [PATCH 105/249] Merge branch 'update_assignee_cache_counts_refactoring' into 'master' Rework update_assignee_cache_counts Closes #31873 See merge request !11270 --- app/models/issue_assignee.rb | 7 ---- app/models/merge_request.rb | 8 ---- app/models/user.rb | 5 +++ app/services/issuable_base_service.rb | 6 +++ .../members/authorized_destroy_service.rb | 3 +- .../dashboard/issuables_counter_spec.rb | 4 +- spec/models/issue_spec.rb | 40 ------------------ spec/models/merge_request_spec.rb | 42 ------------------- spec/services/issues/create_service_spec.rb | 16 +++++++ spec/services/issues/update_service_spec.rb | 7 ++++ .../merge_requests/create_service_spec.rb | 20 +++++++++ .../merge_requests/update_service_spec.rb | 9 ++++ 12 files changed, 68 insertions(+), 99 deletions(-) diff --git a/app/models/issue_assignee.rb b/app/models/issue_assignee.rb index 0663d3aaef8..06d760b6a89 100644 --- a/app/models/issue_assignee.rb +++ b/app/models/issue_assignee.rb @@ -3,11 +3,4 @@ class IssueAssignee < ActiveRecord::Base belongs_to :issue belongs_to :assignee, class_name: "User", foreign_key: :user_id - - after_create :update_assignee_cache_counts - after_destroy :update_assignee_cache_counts - - def update_assignee_cache_counts - assignee&.update_cache_counts - end end diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index e88a86ea0f0..e13e795dbed 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -123,7 +123,6 @@ class MergeRequest < ActiveRecord::Base participant :assignee after_save :keep_around_commit - after_save :update_assignee_cache_counts, if: :assignee_id_changed? def self.reference_prefix '!' @@ -185,13 +184,6 @@ class MergeRequest < ActiveRecord::Base work_in_progress?(title) ? title : "WIP: #{title}" end - def update_assignee_cache_counts - # make sure we flush the cache for both the old *and* new assignees(if they exist) - previous_assignee = User.find_by_id(assignee_id_was) if assignee_id_was - previous_assignee&.update_cache_counts - assignee&.update_cache_counts - end - # Returns a Hash of attributes to be used for Twitter card metadata def card_attributes { diff --git a/app/models/user.rb b/app/models/user.rb index 3228081a999..ad24ec0ec08 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -919,6 +919,11 @@ class User < ActiveRecord::Base assigned_open_issues_count(force: true) end + def invalidate_cache_counts + Rails.cache.delete(['users', id, 'assigned_open_merge_requests_count']) + Rails.cache.delete(['users', id, 'assigned_open_issues_count']) + end + def todos_done_count(force: false) Rails.cache.fetch(['users', id, 'todos_done_count'], force: force) do TodosFinder.new(self, state: :done).execute.count diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index c1e532b504a..dc2ab99b982 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -178,6 +178,7 @@ class IssuableBaseService < BaseService after_create(issuable) issuable.create_cross_references!(current_user) execute_hooks(issuable) + issuable.assignees.each(&:invalidate_cache_counts) end issuable @@ -234,6 +235,11 @@ class IssuableBaseService < BaseService old_assignees: old_assignees ) + if old_assignees != issuable.assignees + assignees = old_assignees + issuable.assignees.to_a + assignees.compact.each(&:invalidate_cache_counts) + end + after_update(issuable) issuable.create_new_cross_references!(current_user) execute_hooks(issuable, 'update') diff --git a/app/services/members/authorized_destroy_service.rb b/app/services/members/authorized_destroy_service.rb index 6e987b3b6cd..f846d72498f 100644 --- a/app/services/members/authorized_destroy_service.rb +++ b/app/services/members/authorized_destroy_service.rb @@ -52,8 +52,9 @@ module Members delete_all project.merge_requests.opened.assigned_to(member.user).update_all(assignee_id: nil) - member.user.update_cache_counts end + + member.user.invalidate_cache_counts end end end diff --git a/spec/features/dashboard/issuables_counter_spec.rb b/spec/features/dashboard/issuables_counter_spec.rb index 6f7bf0eba6e..354267dbee7 100644 --- a/spec/features/dashboard/issuables_counter_spec.rb +++ b/spec/features/dashboard/issuables_counter_spec.rb @@ -19,7 +19,7 @@ describe 'Navigation bar counter', feature: true, caching: true do issue.assignees = [] - user.update_cache_counts + user.invalidate_cache_counts Timecop.travel(3.minutes.from_now) do visit issues_path @@ -35,6 +35,8 @@ describe 'Navigation bar counter', feature: true, caching: true do merge_request.update(assignee: nil) + user.invalidate_cache_counts + Timecop.travel(3.minutes.from_now) do visit merge_requests_path diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 725f5c2311f..bb4e70db2e9 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -38,46 +38,6 @@ describe Issue, models: true do end end - describe "before_save" do - describe "#update_cache_counts when an issue is reassigned" do - let(:issue) { create(:issue) } - let(:assignee) { create(:user) } - - context "when previous assignee exists" do - before do - issue.project.team << [assignee, :developer] - issue.assignees << assignee - end - - it "updates cache counts for new assignee" do - user = create(:user) - - expect(user).to receive(:update_cache_counts) - - issue.assignees << user - end - - it "updates cache counts for previous assignee" do - issue.assignees.first - - expect_any_instance_of(User).to receive(:update_cache_counts) - - issue.assignees.destroy_all - end - end - - context "when previous assignee does not exist" do - it "updates cache count for the new assignee" do - issue.assignees = [] - - expect_any_instance_of(User).to receive(:update_cache_counts) - - issue.assignees << assignee - end - end - end - end - describe '#card_attributes' do it 'includes the author name' do allow(subject).to receive(:author).and_return(double(name: 'Robert')) diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index a6fd89c8e5d..277952153a8 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -87,48 +87,6 @@ describe MergeRequest, models: true do end end - describe "before_save" do - describe "#update_cache_counts when a merge request is reassigned" do - let(:project) { create :project } - let(:merge_request) { create(:merge_request, source_project: project, target_project: project) } - let(:assignee) { create :user } - - context "when previous assignee exists" do - before do - project.team << [assignee, :developer] - merge_request.update(assignee: assignee) - end - - it "updates cache counts for new assignee" do - user = create(:user) - - expect(user).to receive(:update_cache_counts) - - merge_request.update(assignee: user) - end - - it "updates cache counts for previous assignee" do - old_assignee = merge_request.assignee - allow(User).to receive(:find_by_id).with(old_assignee.id).and_return(old_assignee) - - expect(old_assignee).to receive(:update_cache_counts) - - merge_request.update(assignee: nil) - end - end - - context "when previous assignee does not exist" do - it "updates cache count for the new assignee" do - merge_request.update(assignee: nil) - - expect_any_instance_of(User).to receive(:update_cache_counts) - - merge_request.update(assignee: assignee) - end - end - end - end - describe '#card_attributes' do it 'includes the author name' do allow(subject).to receive(:author).and_return(double(name: 'Robert')) diff --git a/spec/services/issues/create_service_spec.rb b/spec/services/issues/create_service_spec.rb index 01edc46496d..dab1a3469f7 100644 --- a/spec/services/issues/create_service_spec.rb +++ b/spec/services/issues/create_service_spec.rb @@ -118,6 +118,22 @@ describe Issues::CreateService, services: true do end end + context 'when assignee is set' do + let(:opts) do + { title: 'Title', + description: 'Description', + assignees: [assignee] } + end + + it 'invalidates open issues counter for assignees when issue is assigned' do + project.team << [assignee, :master] + + described_class.new(project, user, opts).execute + + expect(assignee.assigned_open_issues_count).to eq 1 + end + end + it 'executes issue hooks when issue is not confidential' do opts = { title: 'Title', description: 'Description', confidential: false } diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb index 1954d8739f6..5184c1d5f19 100644 --- a/spec/services/issues/update_service_spec.rb +++ b/spec/services/issues/update_service_spec.rb @@ -59,6 +59,13 @@ describe Issues::UpdateService, services: true do expect(issue.due_date).to eq Date.tomorrow end + it 'updates open issue counter for assignees when issue is reassigned' do + update_issue(assignee_ids: [user2.id]) + + expect(user3.assigned_open_issues_count).to eq 0 + expect(user2.assigned_open_issues_count).to eq 1 + end + it 'sorts issues as specified by parameters' do issue1 = create(:issue, project: project, assignees: [user3]) issue2 = create(:issue, project: project, assignees: [user3]) diff --git a/spec/services/merge_requests/create_service_spec.rb b/spec/services/merge_requests/create_service_spec.rb index ace82380cc9..41752f1a01a 100644 --- a/spec/services/merge_requests/create_service_spec.rb +++ b/spec/services/merge_requests/create_service_spec.rb @@ -144,6 +144,26 @@ describe MergeRequests::CreateService, services: true do expect(merge_request.assignee).to eq(assignee) end + context 'when assignee is set' do + let(:opts) do + { + title: 'Title', + description: 'Description', + assignee_id: assignee.id, + source_branch: 'feature', + target_branch: 'master' + } + end + + it 'invalidates open merge request counter for assignees when merge request is assigned' do + project.team << [assignee, :master] + + described_class.new(project, user, opts).execute + + expect(assignee.assigned_open_merge_requests_count).to eq 1 + end + end + context "when issuable feature is private" do before do project.project_feature.update(issues_access_level: ProjectFeature::PRIVATE, diff --git a/spec/services/merge_requests/update_service_spec.rb b/spec/services/merge_requests/update_service_spec.rb index 31487c0f794..2bd5c3531cb 100644 --- a/spec/services/merge_requests/update_service_spec.rb +++ b/spec/services/merge_requests/update_service_spec.rb @@ -297,6 +297,15 @@ describe MergeRequests::UpdateService, services: true do end end + context 'when the assignee changes' do + it 'updates open merge request counter for assignees when merge request is reassigned' do + update_merge_request(assignee_id: user2.id) + + expect(user3.assigned_open_merge_requests_count).to eq 0 + expect(user2.assigned_open_merge_requests_count).to eq 1 + end + end + context 'when the target branch change' do before do update_merge_request({ target_branch: 'target' }) -- GitLab From 84e21cd4c913a7fd7a4b00d46dd29c9cd46dc9c6 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Mon, 15 May 2017 14:13:00 +0000 Subject: [PATCH 106/249] Merge branch '31886-remover-comment-load-spinner' into 'master' 31886 Remove spinner from loading comment Closes #31886 See merge request !11339 --- app/assets/javascripts/notes.js | 3 --- changelogs/unreleased/31886-remover-comment-load-spinner.yml | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 changelogs/unreleased/31886-remover-comment-load-spinner.yml diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 43a81eac832..6b6193f4634 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -1210,9 +1210,6 @@ const normalizeNewlines = function(str) { <span class="hidden-xs">${currentUserFullname}</span> <span class="note-headline-light">@${currentUsername}</span> </a> - <span class="note-headline-light"> - <i class="fa fa-spinner fa-spin" aria-label="Comment is being posted" aria-hidden="true"></i> - </span> </div> </div> <div class="note-body"> diff --git a/changelogs/unreleased/31886-remover-comment-load-spinner.yml b/changelogs/unreleased/31886-remover-comment-load-spinner.yml new file mode 100644 index 00000000000..4b36538064a --- /dev/null +++ b/changelogs/unreleased/31886-remover-comment-load-spinner.yml @@ -0,0 +1,4 @@ +--- +title: Remove spinner from loading comment +merge_request: +author: -- GitLab From 757bc45fc5241d9e191e6b5479173bf57d0780bf Mon Sep 17 00:00:00 2001 From: Stan Hu <stanhu@gmail.com> Date: Thu, 18 May 2017 18:23:57 +0000 Subject: [PATCH 107/249] Merge branch 'remove-services-count-from-usage-ping-data' into 'master' Remove Services count from usage ping payload. Closes gitlab-ee#2241 See merge request !11499 --- lib/gitlab/usage_data.rb | 1 - spec/lib/gitlab/usage_data_spec.rb | 1 - 2 files changed, 2 deletions(-) diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb index 14d8e925d0e..72cc4143690 100644 --- a/lib/gitlab/usage_data.rb +++ b/lib/gitlab/usage_data.rb @@ -40,7 +40,6 @@ module Gitlab projects_prometheus_active: PrometheusService.active.count, protected_branches: ProtectedBranch.count, releases: Release.count, - services: Service.where(active: true).count, snippets: Snippet.count, todos: Todo.count, uploads: Upload.count, diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb index 9046d5c413f..b148d5dae1d 100644 --- a/spec/lib/gitlab/usage_data_spec.rb +++ b/spec/lib/gitlab/usage_data_spec.rb @@ -49,7 +49,6 @@ describe Gitlab::UsageData do pages_domains protected_branches releases - services snippets todos uploads -- GitLab From d516c85d15c84cc64c44ec4a0f74ea83977906ef Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Tue, 16 May 2017 16:17:51 +0000 Subject: [PATCH 108/249] Merge branch 'disable-css-and-jquery-animations-for-capybara' into 'master' disable animations for tests Closes #32194 See merge request !11324 --- app/assets/javascripts/test.js | 1 + app/assets/stylesheets/test.scss | 17 +++++++++++++++++ app/views/layouts/_head.html.haml | 2 ++ config/application.rb | 1 + config/webpack.config.js | 1 + 5 files changed, 22 insertions(+) create mode 100644 app/assets/javascripts/test.js create mode 100644 app/assets/stylesheets/test.scss diff --git a/app/assets/javascripts/test.js b/app/assets/javascripts/test.js new file mode 100644 index 00000000000..c4c7918a68f --- /dev/null +++ b/app/assets/javascripts/test.js @@ -0,0 +1 @@ +$.fx.off = true; diff --git a/app/assets/stylesheets/test.scss b/app/assets/stylesheets/test.scss new file mode 100644 index 00000000000..7d9f3da79c5 --- /dev/null +++ b/app/assets/stylesheets/test.scss @@ -0,0 +1,17 @@ +* { + -o-transition: none !important; + -moz-transition: none !important; + -ms-transition: none !important; + -webkit-transition: none !important; + transition: none !important; + -o-transform: none !important; + -moz-transform: none !important; + -ms-transform: none !important; + -webkit-transform: none !important; + transform: none !important; + -webkit-animation: none !important; + -moz-animation: none !important; + -o-animation: none !important; + -ms-animation: none !important; + animation: none !important; +} diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index afcc2b6e4f3..9e354987401 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -27,6 +27,7 @@ = stylesheet_link_tag "application", media: "all" = stylesheet_link_tag "print", media: "print" + = stylesheet_link_tag "test", media: "all" if Rails.env.test? = Gon::Base.render_data @@ -34,6 +35,7 @@ = webpack_bundle_tag "common" = webpack_bundle_tag "main" = webpack_bundle_tag "raven" if current_application_settings.clientside_sentry_enabled + = webpack_bundle_tag "test" if Rails.env.test? - if content_for?(:page_specific_javascripts) = yield :page_specific_javascripts diff --git a/config/application.rb b/config/application.rb index 32ad2393648..85dfbafb975 100644 --- a/config/application.rb +++ b/config/application.rb @@ -107,6 +107,7 @@ module Gitlab config.assets.precompile << "xterm/xterm.css" config.assets.precompile << "lib/ace.js" config.assets.precompile << "vendor/assets/fonts/*" + config.assets.precompile << "test.css" # Version of your assets, change this if you want to expire all your assets config.assets.version = '1.0' diff --git a/config/webpack.config.js b/config/webpack.config.js index 75bc3c5fdbb..8ca2e88907f 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -63,6 +63,7 @@ var config = { users: './users/users_bundle.js', raven: './raven/index.js', vue_merge_request_widget: './vue_merge_request_widget/index.js', + test: './test.js', }, output: { -- GitLab From f4b251e57056e8b090038f20462cc197408cd533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Fri, 12 May 2017 12:45:07 +0000 Subject: [PATCH 109/249] Merge branch '32103-last-scheduled-pipeline-link-only-showing-ci-status-icon' into 'master' Adds pipeline id to 'Last Pipeline' link in pipeline schedules Closes #32103 See merge request !11258 --- .../projects/pipeline_schedules/_pipeline_schedule.html.haml | 1 + spec/features/projects/pipeline_schedules_spec.rb | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/projects/pipeline_schedules/_pipeline_schedule.html.haml b/app/views/projects/pipeline_schedules/_pipeline_schedule.html.haml index 1406868488f..075ecee4343 100644 --- a/app/views/projects/pipeline_schedules/_pipeline_schedule.html.haml +++ b/app/views/projects/pipeline_schedules/_pipeline_schedule.html.haml @@ -10,6 +10,7 @@ .status-icon-container{ class: "ci-status-icon-#{pipeline_schedule.last_pipeline.status}" } = link_to namespace_project_pipeline_path(@project.namespace, @project, pipeline_schedule.last_pipeline.id) do = ci_icon_for_status(pipeline_schedule.last_pipeline.status) + %span ##{pipeline_schedule.last_pipeline.id} - else None %td.next-run-cell diff --git a/spec/features/projects/pipeline_schedules_spec.rb b/spec/features/projects/pipeline_schedules_spec.rb index c47248353e5..03a30bfb996 100644 --- a/spec/features/projects/pipeline_schedules_spec.rb +++ b/spec/features/projects/pipeline_schedules_spec.rb @@ -6,6 +6,7 @@ feature 'Pipeline Schedules', :feature do let!(:project) { create(:project) } let!(:pipeline_schedule) { create(:ci_pipeline_schedule, project: project) } + let!(:pipeline) { create(:ci_pipeline, pipeline_schedule: pipeline_schedule) } let(:scope) { nil } let!(:user) { create(:user) } @@ -32,7 +33,7 @@ feature 'Pipeline Schedules', :feature do page.within('.pipeline-schedule-table-row') do expect(page).to have_content('pipeline schedule') expect(page).to have_link('master') - expect(page).to have_content('None') + expect(page).to have_link("##{pipeline.id}") end end -- GitLab From 07f2f7289a00bded8420dd7ad6738ac4e0b6cca9 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Wed, 10 May 2017 17:03:04 +0000 Subject: [PATCH 110/249] Merge branch 'cycle-analytics-stage-title-translation-fix' into 'master' Fixed the stage title translation in cycle analytics See merge request !11252 --- app/views/projects/cycle_analytics/show.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/cycle_analytics/show.html.haml b/app/views/projects/cycle_analytics/show.html.haml index b158a81471c..74255167352 100644 --- a/app/views/projects/cycle_analytics/show.html.haml +++ b/app/views/projects/cycle_analytics/show.html.haml @@ -51,7 +51,7 @@ %ul %li.stage-header %span.stage-name - {{ __('ProjectLifecycle|Stage') }} + {{ s__('ProjectLifecycle|Stage') }} %i.has-tooltip.fa.fa-question-circle{ "data-placement" => "top", title: _("The phase of the development lifecycle."), "aria-hidden" => "true" } %li.median-header %span.stage-name -- GitLab From 4bdf735854b25d41717356cc37b6c2edbd2efaab Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 11 May 2017 18:35:27 +0000 Subject: [PATCH 111/249] Merge branch 'pipeline-schedules-callout-docs-url' into 'master' Set correct docsUrl in pipeline schedules callout component. Closes #31957 See merge request !11216 --- .../components/pipeline_schedules_callout.js | 12 ++++++++---- .../pipeline_schedules_index_bundle.js | 15 +++++++++------ .../projects/pipeline_schedules/index.html.haml | 2 +- .../pipeline-schedules-callout-docs-url.yml | 4 ++++ .../pipeline_schedule_callout_spec.js | 15 +++++++++++++++ 5 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 changelogs/unreleased/pipeline-schedules-callout-docs-url.yml diff --git a/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js b/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js index 27ffe6ea304..5109b110b31 100644 --- a/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js +++ b/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js @@ -4,8 +4,10 @@ import illustrationSvg from '../icons/intro_illustration.svg'; const cookieKey = 'pipeline_schedules_callout_dismissed'; export default { + name: 'PipelineSchedulesCallout', data() { return { + docsUrl: document.getElementById('pipeline-schedules-callout').dataset.docsUrl, illustrationSvg, calloutDismissed: Cookies.get(cookieKey) === 'true', }; @@ -28,13 +30,15 @@ export default { <div class="svg-container" v-html="illustrationSvg"></div> <div class="user-callout-copy"> <h4>Scheduling Pipelines</h4> - <p> - The pipelines schedule runs pipelines in the future, repeatedly, for specific branches or tags. + <p> + The pipelines schedule runs pipelines in the future, repeatedly, for specific branches or tags. Those scheduled pipelines will inherit limited project access based on their associated user. </p> <p> Learn more in the - <!-- FIXME --> - <a href="random.com">pipeline schedules documentation</a>. + <a + :href="docsUrl" + target="_blank" + rel="nofollow">pipeline schedules documentation</a>. <!-- oneline to prevent extra space before period --> </p> </div> </div> diff --git a/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js b/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js index e36dc5db2ab..6584549ad06 100644 --- a/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js +++ b/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js @@ -1,9 +1,12 @@ import Vue from 'vue'; import PipelineSchedulesCallout from './components/pipeline_schedules_callout'; -const PipelineSchedulesCalloutComponent = Vue.extend(PipelineSchedulesCallout); - -document.addEventListener('DOMContentLoaded', () => { - new PipelineSchedulesCalloutComponent() - .$mount('#scheduling-pipelines-callout'); -}); +document.addEventListener('DOMContentLoaded', () => new Vue({ + el: '#pipeline-schedules-callout', + components: { + 'pipeline-schedules-callout': PipelineSchedulesCallout, + }, + render(createElement) { + return createElement('pipeline-schedules-callout'); + }, +})); diff --git a/app/views/projects/pipeline_schedules/index.html.haml b/app/views/projects/pipeline_schedules/index.html.haml index a2f3ee31d3d..25c52175e3d 100644 --- a/app/views/projects/pipeline_schedules/index.html.haml +++ b/app/views/projects/pipeline_schedules/index.html.haml @@ -7,7 +7,7 @@ = render "projects/pipelines/head" %div{ class: container_class } - #scheduling-pipelines-callout + #pipeline-schedules-callout{ data: { docs_url: help_page_path('ci/pipeline_schedules') } } .top-area - schedule_path_proc = ->(scope) { pipeline_schedules_path(@project, scope: scope) } = render "tabs", schedule_path_proc: schedule_path_proc, all_schedules: @all_schedules, scope: @scope diff --git a/changelogs/unreleased/pipeline-schedules-callout-docs-url.yml b/changelogs/unreleased/pipeline-schedules-callout-docs-url.yml new file mode 100644 index 00000000000..b21bb162380 --- /dev/null +++ b/changelogs/unreleased/pipeline-schedules-callout-docs-url.yml @@ -0,0 +1,4 @@ +--- +title: Pass docsUrl to pipeline schedules callout component. +merge_request: !1126 +author: diff --git a/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js b/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js index 1d05f37cb36..6120d224ac0 100644 --- a/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js +++ b/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js @@ -4,8 +4,15 @@ import PipelineSchedulesCallout from '~/pipeline_schedules/components/pipeline_s const PipelineSchedulesCalloutComponent = Vue.extend(PipelineSchedulesCallout); const cookieKey = 'pipeline_schedules_callout_dismissed'; +const docsUrl = 'help/ci/scheduled_pipelines'; describe('Pipeline Schedule Callout', () => { + beforeEach(() => { + setFixtures(` + <div id='pipeline-schedules-callout' data-docs-url=${docsUrl}></div> + `); + }); + describe('independent of cookies', () => { beforeEach(() => { this.calloutComponent = new PipelineSchedulesCalloutComponent().$mount(); @@ -18,6 +25,10 @@ describe('Pipeline Schedule Callout', () => { it('correctly sets illustrationSvg', () => { expect(this.calloutComponent.illustrationSvg).toContain('<svg'); }); + + it('correctly sets docsUrl', () => { + expect(this.calloutComponent.docsUrl).toContain(docsUrl); + }); }); describe(`when ${cookieKey} cookie is set`, () => { @@ -61,6 +72,10 @@ describe('Pipeline Schedule Callout', () => { expect(this.calloutComponent.$el.outerHTML).toContain('runs pipelines in the future'); }); + it('renders the documentation url', () => { + expect(this.calloutComponent.$el.outerHTML).toContain(docsUrl); + }); + it('updates calloutDismissed when close button is clicked', (done) => { this.calloutComponent.$el.querySelector('#dismiss-callout-btn').click(); -- GitLab From d55048a50a1b6de0a3eab8d719971e22c6bcc940 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Tue, 9 May 2017 22:29:33 +0000 Subject: [PATCH 112/249] Merge branch '32021-job-component-test-failure' into 'master' Fix test failure in job vue componenFix test failure in job vue componentt Closes #32021 See merge request !11208 --- .../pipelines/graph/graph_component_spec.js | 74 ++++++++++++------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/spec/javascripts/pipelines/graph/graph_component_spec.js b/spec/javascripts/pipelines/graph/graph_component_spec.js index 77f42312b40..024426acf05 100644 --- a/spec/javascripts/pipelines/graph/graph_component_spec.js +++ b/spec/javascripts/pipelines/graph/graph_component_spec.js @@ -19,38 +19,52 @@ describe('graph component', () => { }); describe('with a successfull response', () => { - const interceptor = (request, next) => { - next(request.respondWith(JSON.stringify({ - details: { - stages: [{ - name: 'test', - title: 'test: passed', + const graphJSON = { + details: { + stages: [{ + name: 'review', + title: 'review: passed', + groups: [{ + name: 'review_1', + size: 1, status: { icon: 'icon_status_success', text: 'passed', label: 'passed', - details_path: '/root/ci-mock/pipelines/123#test', + group: 'success', + has_details: true, + details_path: '/root/review-app/builds/4374', + favicon: '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + action: { + icon: 'icon_action_retry', + title: 'Retry', + path: '/root/review-app/builds/4374/retry', + method: 'post', + }, }, - path: '/root/ci-mock/pipelines/123#test', - groups: [{ - name: 'test', - size: 1, - jobs: [{ - id: 4153, - name: 'test', - status: { - icon: 'icon_status_success', - text: 'passed', - label: 'passed', - details_path: '/root/ci-mock/builds/4153', - action: { - icon: 'icon_action_retry', - title: 'Retry', - path: '/root/ci-mock/builds/4153/retry', - method: 'post', - }, + jobs: [{ + id: 4374, + name: 'review_1', + build_path: '/root/review-app/builds/4374', + retry_path: '/root/review-app/builds/4374/retry', + playable: false, + created_at: '2017-05-08T14:57:39.880Z', + updated_at: '2017-05-08T14:57:52.639Z', + status: { + icon: 'icon_status_success', + text: 'passed', + label: 'passed', + group: 'success', + has_details: true, + details_path: '/root/review-app/builds/4374', + favicon: '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + action: { + icon: 'icon_action_retry', + title: 'Retry', + path: '/root/review-app/builds/4374/retry', + method: 'post', }, - }], + }, }], }, { @@ -103,8 +117,12 @@ describe('graph component', () => { }], }], }], - }, - }), { + }], + }, + }; + + const interceptor = (request, next) => { + next(request.respondWith(JSON.stringify(graphJSON), { status: 200, })); }; -- GitLab From 9f968cbe75ee9a37cf76a97ce9521c999e4be4ab Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Tue, 9 May 2017 20:06:27 +0000 Subject: [PATCH 113/249] Merge branch 'winh-german-cycle-analytics' into 'master' Add German translation for Cycle Analytics See merge request !11161 --- app/assets/javascripts/locale/de/app.js | 2 +- .../winh-german-cycle-analytics.yml | 4 + locale/de/gitlab.po | 138 +++++++++--------- 3 files changed, 74 insertions(+), 70 deletions(-) create mode 100644 changelogs/unreleased/winh-german-cycle-analytics.yml diff --git a/app/assets/javascripts/locale/de/app.js b/app/assets/javascripts/locale/de/app.js index e96090da80e..9411f078ecf 100644 --- a/app/assets/javascripts/locale/de/app.js +++ b/app/assets/javascripts/locale/de/app.js @@ -1 +1 @@ -var locales = locales || {}; locales['de'] = {"domain":"app","locale_data":{"app":{"":{"Project-Id-Version":"gitlab 1.0.0","Report-Msgid-Bugs-To":"","PO-Revision-Date":"2017-04-12 22:37-0500","Last-Translator":"FULL NAME <EMAIL@ADDRESS>","Language-Team":"German","Language":"de","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=n != 1;","lang":"de","domain":"app","plural_forms":"nplurals=2; plural=n != 1;"},"ByAuthor|by":[""],"Commit":["",""],"Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project.":[""],"CycleAnalyticsStage|Code":[""],"CycleAnalyticsStage|Issue":[""],"CycleAnalyticsStage|Plan":[""],"CycleAnalyticsStage|Production":[""],"CycleAnalyticsStage|Review":[""],"CycleAnalyticsStage|Staging":[""],"CycleAnalyticsStage|Test":[""],"Deploy":["",""],"FirstPushedBy|First":[""],"FirstPushedBy|pushed by":[""],"From issue creation until deploy to production":[""],"From merge request merge until deploy to production":[""],"Introducing Cycle Analytics":[""],"Last %d day":["",""],"Limited to showing %d event at most":["",""],"Median":[""],"New Issue":["",""],"Not available":[""],"Not enough data":[""],"OpenedNDaysAgo|Opened":[""],"Pipeline Health":[""],"ProjectLifecycle|Stage":[""],"Read more":[""],"Related Commits":[""],"Related Deployed Jobs":[""],"Related Issues":[""],"Related Jobs":[""],"Related Merge Requests":[""],"Related Merged Requests":[""],"Showing %d event":["",""],"The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request.":[""],"The collection of events added to the data gathered for that stage.":[""],"The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage.":[""],"The phase of the development lifecycle.":[""],"The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit.":[""],"The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle.":[""],"The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request.":[""],"The staging stage shows the time between merging the MR and deploying code to the production environment. The data will be automatically added once you deploy to production for the first time.":[""],"The testing stage shows the time GitLab CI takes to run every pipeline for the related merge request. The data will automatically be added after your first pipeline finishes running.":[""],"The time taken by each data entry gathered by that stage.":[""],"The value lying at the midpoint of a series of observed values. E.g., between 3, 5, 9, the median is 5. Between 3, 5, 7, 8, the median is (5+7)/2 = 6.":[""],"Time before an issue gets scheduled":[""],"Time before an issue starts implementation":[""],"Time between merge request creation and merge/close":[""],"Time until first merge request":[""],"Time|hr":["",""],"Time|min":["",""],"Time|s":[""],"Total Time":[""],"Total test time for all commits/merges":[""],"Want to see the data? Please ask an administrator for access.":[""],"We don't have enough data to show this stage.":[""],"You need permission.":[""],"day":["",""]}}}; \ No newline at end of file +var locales = locales || {}; locales['de'] = {"domain":"app","locale_data":{"app":{"":{"Project-Id-Version":"gitlab 1.0.0","Report-Msgid-Bugs-To":"","PO-Revision-Date":"2017-05-09 13:44+0200","Language-Team":"German","Language":"de","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Plural-Forms":"nplurals=2; plural=n != 1;","Last-Translator":"","X-Generator":"Poedit 2.0.1","lang":"de","domain":"app","plural_forms":"nplurals=2; plural=n != 1;"},"ByAuthor|by":["Von"],"Commit":["Commit","Commits"],"Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project.":["Cycle Analytics liefern einen Ãœberblick darüber, wie viel Zeit in Ihrem Projekt von einer Idee bis zum Produktivdeployment vergeht."],"CycleAnalyticsStage|Code":["Code"],"CycleAnalyticsStage|Issue":["Issue"],"CycleAnalyticsStage|Plan":["Planung"],"CycleAnalyticsStage|Production":["Produktiv"],"CycleAnalyticsStage|Review":["Review"],"CycleAnalyticsStage|Staging":["Staging"],"CycleAnalyticsStage|Test":["Test"],"Deploy":["Deployment","Deployments"],"FirstPushedBy|First":["Erster"],"FirstPushedBy|pushed by":["gepusht von"],"From issue creation until deploy to production":["Vom Anlegen des Issues bis zum Produktivdeployment"],"From merge request merge until deploy to production":["Vom Merge Request bis zum Produktivdeployment"],"Introducing Cycle Analytics":["Was sind Cycle Analytics?"],"Last %d day":["Letzter %d Tag","Letzten %d Tage"],"Limited to showing %d event at most":["Eingeschränkt auf maximal %d Ereignis","Eingeschränkt auf maximal %d Ereignisse"],"Median":["Median"],"New Issue":["Neues Issue","Neue Issues"],"Not available":["Nicht verfügbar"],"Not enough data":["Nicht genügend Daten"],"OpenedNDaysAgo|Opened":["Erstellt"],"Pipeline Health":["Pipeline Kennzahlen"],"ProjectLifecycle|Stage":["Phase"],"Read more":["Mehr"],"Related Commits":["Zugehörige Commits"],"Related Deployed Jobs":["Zugehörige Deploymentjobs"],"Related Issues":["Zugehörige Issues"],"Related Jobs":["Zugehörige Jobs"],"Related Merge Requests":["Zugehörige Merge Requests"],"Related Merged Requests":["Zugehörige abgeschlossene Merge Requests"],"Showing %d event":["Zeige %d Ereignis","Zeige %d Ereignisse"],"The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request.":["Die Code-Phase stellt die Zeit vom ersten Commit bis zum Erstellen eines Merge Requests dar. Sobald Sie Ihren ersten Merge Request anlegen, werden dessen Daten automatisch ergänzt."],"The collection of events added to the data gathered for that stage.":["Ereignisse, die für diese Phase ausgewertet wurden."],"The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage.":["Die Issue-Phase stellt die Zeit vom Anlegen eines Issues bis zum Zuweisen eines Meilensteins oder Hinzufügen zum Issue Board dar. Erstellen Sie einen Issue, damit dessen Daten hier erscheinen."],"The phase of the development lifecycle.":["Die Phase im Entwicklungsprozess."],"The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit.":["Die Planungsphase stellt die Zeit von der vorherigen Phase bis zum Pushen des ersten Commits dar. Sobald Sie den ersten Commit pushen, werden dessen Daten hier erscheinen."],"The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle.":["Die Produktiv-Phase stellt die Gesamtzeit vom Anlegen eines Issues bis zum Deployment auf dem Produktivsystem dar. Sobald Sie den vollständigen Entwicklungszyklus von einer Idee bis zum Produktivdeployment durchlaufen haben, erscheinen die zugehörigen Daten hier."],"The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request.":["Die Review-Phase stellt die Zeit vom Anlegen eines Merge Requests bis zum Mergen dar. Sobald Sie Ihren ersten Merge Request abschließen, werden dessen Daten hier automatisch angezeigt."],"The staging stage shows the time between merging the MR and deploying code to the production environment. The data will be automatically added once you deploy to production for the first time.":["Die Staging-Phase stellt die Zeit zwischen Mergen eines Merge Requests und dem Produktivdeployment dar. Sobald Sie das erste Produktivdeployment durchgeführt haben, werden dessen Daten hier automatisch angezeigt."],"The testing stage shows the time GitLab CI takes to run every pipeline for the related merge request. The data will automatically be added after your first pipeline finishes running.":["Die Test-Phase stellt die Zeit dar, die GitLab CI benötigt um die Pipelines von Merge Requests abzuarbeiten. Sobald die erste Pipeline abgeschlossen ist, werden deren Daten hier automatisch angezeigt."],"The time taken by each data entry gathered by that stage.":["Zeit die für das jeweilige Ereignis in der Phase ermittelt wurde."],"The value lying at the midpoint of a series of observed values. E.g., between 3, 5, 9, the median is 5. Between 3, 5, 7, 8, the median is (5+7)/2 = 6.":["Der mittlere aller erfassten Werte. Zum Beispiel ist für 3, 5, 9 der Median 5. Bei 3, 5, 7, 8 ist der Median (5+7)/2 = 6."],"Time before an issue gets scheduled":["Zeit bis ein Issue geplant wird"],"Time before an issue starts implementation":["Zeit bis die Implementierung für ein Issue beginnt"],"Time between merge request creation and merge/close":["Zeit zwischen Anlegen und Mergen/Schließen eines Merge Requests"],"Time until first merge request":["Zeit bis zum ersten Merge Request"],"Time|hr":["h","h"],"Time|min":["min","min"],"Time|s":["s"],"Total Time":["Gesamtzeit"],"Total test time for all commits/merges":["Gesamte Testlaufzeit für alle Commits/Merges"],"Want to see the data? Please ask an administrator for access.":["Um diese Daten einsehen zu können, wenden Sie sich bitte an Ihren Administrator."],"We don't have enough data to show this stage.":["Es liegen nicht genügend Daten vor, um diese Phase anzuzeigen."],"You need permission.":["Sie benötigen Zugriffsrechte."],"day":["Tag","Tage"]}}}; \ No newline at end of file diff --git a/changelogs/unreleased/winh-german-cycle-analytics.yml b/changelogs/unreleased/winh-german-cycle-analytics.yml new file mode 100644 index 00000000000..14b2d672bd0 --- /dev/null +++ b/changelogs/unreleased/winh-german-cycle-analytics.yml @@ -0,0 +1,4 @@ +--- +title: Add German translation for Cycle Analytics +merge_request: 11161 +author: diff --git a/locale/de/gitlab.po b/locale/de/gitlab.po index b804dc0436f..1c44ed4b77c 100644 --- a/locale/de/gitlab.po +++ b/locale/de/gitlab.po @@ -7,201 +7,201 @@ msgid "" msgstr "" "Project-Id-Version: gitlab 1.0.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2017-04-12 22:37-0500\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"PO-Revision-Date: 2017-05-09 13:44+0200\n" "Language-Team: German\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"\n" +"Last-Translator: \n" +"X-Generator: Poedit 2.0.1\n" msgid "ByAuthor|by" -msgstr "" +msgstr "Von" msgid "Commit" msgid_plural "Commits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Commit" +msgstr[1] "Commits" msgid "Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project." -msgstr "" +msgstr "Cycle Analytics liefern einen Ãœberblick darüber, wie viel Zeit in Ihrem Projekt von einer Idee bis zum Produktivdeployment vergeht." msgid "CycleAnalyticsStage|Code" -msgstr "" +msgstr "Code" msgid "CycleAnalyticsStage|Issue" -msgstr "" +msgstr "Issue" msgid "CycleAnalyticsStage|Plan" -msgstr "" +msgstr "Planung" msgid "CycleAnalyticsStage|Production" -msgstr "" +msgstr "Produktiv" msgid "CycleAnalyticsStage|Review" -msgstr "" +msgstr "Review" msgid "CycleAnalyticsStage|Staging" -msgstr "" +msgstr "Staging" msgid "CycleAnalyticsStage|Test" -msgstr "" +msgstr "Test" msgid "Deploy" msgid_plural "Deploys" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Deployment" +msgstr[1] "Deployments" msgid "FirstPushedBy|First" -msgstr "" +msgstr "Erster" msgid "FirstPushedBy|pushed by" -msgstr "" +msgstr "gepusht von" msgid "From issue creation until deploy to production" -msgstr "" +msgstr "Vom Anlegen des Issues bis zum Produktivdeployment" msgid "From merge request merge until deploy to production" -msgstr "" +msgstr "Vom Merge Request bis zum Produktivdeployment" msgid "Introducing Cycle Analytics" -msgstr "" +msgstr "Was sind Cycle Analytics?" msgid "Last %d day" msgid_plural "Last %d days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Letzter %d Tag" +msgstr[1] "Letzten %d Tage" msgid "Limited to showing %d event at most" msgid_plural "Limited to showing %d events at most" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Eingeschränkt auf maximal %d Ereignis" +msgstr[1] "Eingeschränkt auf maximal %d Ereignisse" msgid "Median" -msgstr "" +msgstr "Median" msgid "New Issue" msgid_plural "New Issues" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Neues Issue" +msgstr[1] "Neue Issues" msgid "Not available" -msgstr "" +msgstr "Nicht verfügbar" msgid "Not enough data" -msgstr "" +msgstr "Nicht genügend Daten" msgid "OpenedNDaysAgo|Opened" -msgstr "" +msgstr "Erstellt" msgid "Pipeline Health" -msgstr "" +msgstr "Pipeline Kennzahlen" msgid "ProjectLifecycle|Stage" -msgstr "" +msgstr "Phase" msgid "Read more" -msgstr "" +msgstr "Mehr" msgid "Related Commits" -msgstr "" +msgstr "Zugehörige Commits" msgid "Related Deployed Jobs" -msgstr "" +msgstr "Zugehörige Deploymentjobs" msgid "Related Issues" -msgstr "" +msgstr "Zugehörige Issues" msgid "Related Jobs" -msgstr "" +msgstr "Zugehörige Jobs" msgid "Related Merge Requests" -msgstr "" +msgstr "Zugehörige Merge Requests" msgid "Related Merged Requests" -msgstr "" +msgstr "Zugehörige abgeschlossene Merge Requests" msgid "Showing %d event" msgid_plural "Showing %d events" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Zeige %d Ereignis" +msgstr[1] "Zeige %d Ereignisse" msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." -msgstr "" +msgstr "Die Code-Phase stellt die Zeit vom ersten Commit bis zum Erstellen eines Merge Requests dar. Sobald Sie Ihren ersten Merge Request anlegen, werden dessen Daten automatisch ergänzt." msgid "The collection of events added to the data gathered for that stage." -msgstr "" +msgstr "Ereignisse, die für diese Phase ausgewertet wurden." msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." -msgstr "" +msgstr "Die Issue-Phase stellt die Zeit vom Anlegen eines Issues bis zum Zuweisen eines Meilensteins oder Hinzufügen zum Issue Board dar. Erstellen Sie einen Issue, damit dessen Daten hier erscheinen." msgid "The phase of the development lifecycle." -msgstr "" +msgstr "Die Phase im Entwicklungsprozess." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." -msgstr "" +msgstr "Die Planungsphase stellt die Zeit von der vorherigen Phase bis zum Pushen des ersten Commits dar. Sobald Sie den ersten Commit pushen, werden dessen Daten hier erscheinen." msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." -msgstr "" +msgstr "Die Produktiv-Phase stellt die Gesamtzeit vom Anlegen eines Issues bis zum Deployment auf dem Produktivsystem dar. Sobald Sie den vollständigen Entwicklungszyklus von einer Idee bis zum Produktivdeployment durchlaufen haben, erscheinen die zugehörigen Daten hier." msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." -msgstr "" +msgstr "Die Review-Phase stellt die Zeit vom Anlegen eines Merge Requests bis zum Mergen dar. Sobald Sie Ihren ersten Merge Request abschließen, werden dessen Daten hier automatisch angezeigt." msgid "The staging stage shows the time between merging the MR and deploying code to the production environment. The data will be automatically added once you deploy to production for the first time." -msgstr "" +msgstr "Die Staging-Phase stellt die Zeit zwischen Mergen eines Merge Requests und dem Produktivdeployment dar. Sobald Sie das erste Produktivdeployment durchgeführt haben, werden dessen Daten hier automatisch angezeigt." msgid "The testing stage shows the time GitLab CI takes to run every pipeline for the related merge request. The data will automatically be added after your first pipeline finishes running." -msgstr "" +msgstr "Die Test-Phase stellt die Zeit dar, die GitLab CI benötigt um die Pipelines von Merge Requests abzuarbeiten. Sobald die erste Pipeline abgeschlossen ist, werden deren Daten hier automatisch angezeigt." msgid "The time taken by each data entry gathered by that stage." -msgstr "" +msgstr "Zeit die für das jeweilige Ereignis in der Phase ermittelt wurde." msgid "The value lying at the midpoint of a series of observed values. E.g., between 3, 5, 9, the median is 5. Between 3, 5, 7, 8, the median is (5+7)/2 = 6." -msgstr "" +msgstr "Der mittlere aller erfassten Werte. Zum Beispiel ist für 3, 5, 9 der Median 5. Bei 3, 5, 7, 8 ist der Median (5+7)/2 = 6." msgid "Time before an issue gets scheduled" -msgstr "" +msgstr "Zeit bis ein Issue geplant wird" msgid "Time before an issue starts implementation" -msgstr "" +msgstr "Zeit bis die Implementierung für ein Issue beginnt" msgid "Time between merge request creation and merge/close" -msgstr "" +msgstr "Zeit zwischen Anlegen und Mergen/Schließen eines Merge Requests" msgid "Time until first merge request" -msgstr "" +msgstr "Zeit bis zum ersten Merge Request" msgid "Time|hr" msgid_plural "Time|hrs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "h" +msgstr[1] "h" msgid "Time|min" msgid_plural "Time|mins" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "min" +msgstr[1] "min" msgid "Time|s" -msgstr "" +msgstr "s" msgid "Total Time" -msgstr "" +msgstr "Gesamtzeit" msgid "Total test time for all commits/merges" -msgstr "" +msgstr "Gesamte Testlaufzeit für alle Commits/Merges" msgid "Want to see the data? Please ask an administrator for access." -msgstr "" +msgstr "Um diese Daten einsehen zu können, wenden Sie sich bitte an Ihren Administrator." msgid "We don't have enough data to show this stage." -msgstr "" +msgstr "Es liegen nicht genügend Daten vor, um diese Phase anzuzeigen." msgid "You need permission." -msgstr "" +msgstr "Sie benötigen Zugriffsrechte." msgid "day" msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Tag" +msgstr[1] "Tage" -- GitLab From 58fa8351fc16fda12b3ab638f05aa8155db12cf2 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Wed, 10 May 2017 14:17:46 +0000 Subject: [PATCH 114/249] Merge branch 'fix-search-not-highlighting' into 'master' Fixed search terms not highlight Closes #31997 See merge request !11198 --- app/assets/javascripts/gl_dropdown.js | 7 ++++- .../fix-search-not-highlighting.yml | 4 +++ spec/javascripts/gl_dropdown_spec.js | 28 ++++++++++++++++--- 3 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 changelogs/unreleased/fix-search-not-highlighting.yml diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js index ef423691ece..6227722b99b 100644 --- a/app/assets/javascripts/gl_dropdown.js +++ b/app/assets/javascripts/gl_dropdown.js @@ -610,7 +610,12 @@ GitLabDropdown = (function() { var link = document.createElement('a'); link.href = url; - link.textContent = text; + + if (this.highlight) { + link.innerHTML = text; + } else { + link.textContent = text; + } if (selected) { link.className = 'is-active'; diff --git a/changelogs/unreleased/fix-search-not-highlighting.yml b/changelogs/unreleased/fix-search-not-highlighting.yml new file mode 100644 index 00000000000..a624530ebd1 --- /dev/null +++ b/changelogs/unreleased/fix-search-not-highlighting.yml @@ -0,0 +1,4 @@ +--- +title: Fixed search terms not correctly highlighting +merge_request: +author: diff --git a/spec/javascripts/gl_dropdown_spec.js b/spec/javascripts/gl_dropdown_spec.js index 42c6e328fac..eb532dff5a1 100644 --- a/spec/javascripts/gl_dropdown_spec.js +++ b/spec/javascripts/gl_dropdown_spec.js @@ -44,8 +44,8 @@ require('~/lib/utils/url_utility'); preloadFixtures('static/gl_dropdown.html.raw'); loadJSONFixtures('projects.json'); - function initDropDown(hasRemote, isFilterable) { - this.dropdownButtonElement = $('#js-project-dropdown', this.dropdownContainerElement).glDropdown({ + function initDropDown(hasRemote, isFilterable, extraOpts = {}) { + const options = Object.assign({ selectable: true, filterable: isFilterable, data: hasRemote ? remoteMock.bind({}, this.projectsData) : this.projectsData, @@ -53,8 +53,9 @@ require('~/lib/utils/url_utility'); fields: ['name'] }, text: project => (project.name_with_namespace || project.name), - id: project => project.id - }); + id: project => project.id, + }, extraOpts); + this.dropdownButtonElement = $('#js-project-dropdown', this.dropdownContainerElement).glDropdown(options); } beforeEach(() => { @@ -88,6 +89,25 @@ require('~/lib/utils/url_utility'); ).toBe('<script>alert("testing");</script>'); }); + it('should output HTML when highlighting', () => { + this.projectsData[0].name_with_namespace = 'testing'; + $('.dropdown-input .dropdown-input-field').val('test'); + + initDropDown.call(this, false, true, { + highlight: true, + }); + + this.dropdownButtonElement.click(); + + expect( + $('.dropdown-content li:first-child').text(), + ).toBe('testing'); + + expect( + $('.dropdown-content li:first-child a').html(), + ).toBe('<b>t</b><b>e</b><b>s</b><b>t</b>ing'); + }); + describe('that is open', () => { beforeEach(() => { initDropDown.call(this, false, false); -- GitLab From e25bb36f793f93aa2d38a6cf18cf52219ef16b38 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Wed, 10 May 2017 14:09:00 +0000 Subject: [PATCH 115/249] Merge branch 'issue-boards-sidebar-create-new-label-404-error' into 'master' Fixed create label form not working on issue boards in a sub-group project Closes #31862 See merge request !11182 --- .../components/sidebar/_labels.html.haml | 2 +- ...rds-sidebar-create-new-label-404-error.yml | 4 ++ .../features/boards/sub_group_project_spec.rb | 45 +++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml create mode 100644 spec/features/boards/sub_group_project_spec.rb diff --git a/app/views/projects/boards/components/sidebar/_labels.html.haml b/app/views/projects/boards/components/sidebar/_labels.html.haml index 0f0a84c156d..bee0f3dd065 100644 --- a/app/views/projects/boards/components/sidebar/_labels.html.haml +++ b/app/views/projects/boards/components/sidebar/_labels.html.haml @@ -19,7 +19,7 @@ ":value" => "label.id" } .dropdown %button.dropdown-menu-toggle.js-label-select.js-multiselect.js-issue-board-sidebar{ type: "button", - data: { toggle: "dropdown", field_name: "issue[label_names][]", show_no: "true", show_any: "true", project_id: @project.id, labels: namespace_project_labels_path(@project.namespace, @project, :json), namespace_path: @project.try(:namespace).try(:path), project_path: @project.try(:path) }, + data: { toggle: "dropdown", field_name: "issue[label_names][]", show_no: "true", show_any: "true", project_id: @project.id, labels: namespace_project_labels_path(@project.namespace, @project, :json), namespace_path: @project.try(:namespace).try(:full_path), project_path: @project.try(:path) }, ":data-issue-update" => "'#{namespace_project_issues_path(@project.namespace, @project)}/' + issue.id + '.json'" } %span.dropdown-toggle-text Label diff --git a/changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml b/changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml new file mode 100644 index 00000000000..b935ef14786 --- /dev/null +++ b/changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml @@ -0,0 +1,4 @@ +--- +title: Fixed create new label form in issue boards sidebar +merge_request: +author: diff --git a/spec/features/boards/sub_group_project_spec.rb b/spec/features/boards/sub_group_project_spec.rb new file mode 100644 index 00000000000..6cd7fddd288 --- /dev/null +++ b/spec/features/boards/sub_group_project_spec.rb @@ -0,0 +1,45 @@ +require 'rails_helper' + +describe 'Sub-group project issue boards', :feature, :js do + include WaitForVueResource + + let(:group) { create(:group) } + let(:nested_group_1) { create(:group, parent: group) } + let(:project) { create(:empty_project, group: nested_group_1) } + let(:board) { create(:board, project: project) } + let(:label) { create(:label, project: project) } + let(:user) { create(:user) } + let!(:list1) { create(:list, board: board, label: label, position: 0) } + let!(:issue) { create(:labeled_issue, project: project, labels: [label]) } + + before do + project.add_master(user) + + login_as(user) + + visit namespace_project_board_path(project.namespace, project, board) + wait_for_vue_resource + end + + it 'creates new label from sidebar' do + find('.card').click + + page.within '.labels' do + click_link 'Edit' + click_link 'Create new label' + end + + page.within '.dropdown-new-label' do + fill_in 'new_label_name', with: 'test label' + first('.suggest-colors-dropdown a').click + + click_button 'Create' + + wait_for_ajax + end + + page.within '.labels' do + expect(page).to have_link 'test label' + end + end +end -- GitLab From 49ecd4ff02e19ac662bd1205b43ff84f404d06f7 Mon Sep 17 00:00:00 2001 From: Clement Ho <clemmakesapps@gmail.com> Date: Tue, 9 May 2017 13:43:09 +0000 Subject: [PATCH 116/249] Merge branch 'fix-main-bundle-sans-vue' into 'master' Prevent vue.esm.js from being bundled into the primary JS bundle Closes #31966 See merge request !11177 --- app/assets/javascripts/sidebar/event_hub.js | 7 ++++++- app/assets/javascripts/users_select.js | 14 ++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/sidebar/event_hub.js b/app/assets/javascripts/sidebar/event_hub.js index 0948c2e5352..f35506fd5de 100644 --- a/app/assets/javascripts/sidebar/event_hub.js +++ b/app/assets/javascripts/sidebar/event_hub.js @@ -1,3 +1,8 @@ import Vue from 'vue'; -export default new Vue(); +const eventHub = new Vue(); + +// TODO: remove eventHub hack after code splitting refactor +window.emitSidebarEvent = (...args) => eventHub.$emit(...args); + +export default eventHub; diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index be29b08c343..38462782007 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -1,7 +1,9 @@ /* eslint-disable func-names, space-before-function-paren, one-var, no-var, prefer-rest-params, wrap-iife, quotes, max-len, one-var-declaration-per-line, vars-on-top, prefer-arrow-callback, consistent-return, comma-dangle, object-shorthand, no-shadow, no-unused-vars, no-else-return, no-self-compare, prefer-template, no-unused-expressions, no-lonely-if, yoda, prefer-spread, no-void, camelcase, no-param-reassign */ /* global Issuable */ +/* global emitSidebarEvent */ -import eventHub from './sidebar/event_hub'; +// TODO: remove eventHub hack after code splitting refactor +window.emitSidebarEvent = window.emitSidebarEvent || $.noop; (function() { var bind = function(fn, me) { return function() { return fn.apply(me, arguments); }; }, @@ -110,7 +112,7 @@ import eventHub from './sidebar/event_hub'; .find(`input[name='${$dropdown.data('field-name')}'][value=${firstSelectedId}]`); firstSelected.remove(); - eventHub.$emit('sidebar.removeAssignee', { + emitSidebarEvent('sidebar.removeAssignee', { id: firstSelectedId, }); } @@ -330,7 +332,7 @@ import eventHub from './sidebar/event_hub'; defaultLabel: defaultLabel, hidden: function(e) { if ($dropdown.hasClass('js-multiselect')) { - eventHub.$emit('sidebar.saveAssignees'); + emitSidebarEvent('sidebar.saveAssignees'); } if (!$dropdown.data('always-show-selectbox')) { @@ -364,10 +366,10 @@ import eventHub from './sidebar/event_hub'; const id = parseInt(element.value, 10); element.remove(); }); - eventHub.$emit('sidebar.removeAllAssignees'); + emitSidebarEvent('sidebar.removeAllAssignees'); } else if (isActive) { // user selected - eventHub.$emit('sidebar.addAssignee', user); + emitSidebarEvent('sidebar.addAssignee', user); // Remove unassigned selection (if it was previously selected) const unassignedSelected = $dropdown.closest('.selectbox') @@ -383,7 +385,7 @@ import eventHub from './sidebar/event_hub'; } // User unselected - eventHub.$emit('sidebar.removeAssignee', user); + emitSidebarEvent('sidebar.removeAssignee', user); } if (getSelected().find(u => u === gon.current_user_id)) { -- GitLab From b5eba31ef530e3d32f2a794db0e0f0bcb496a042 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Fri, 19 May 2017 11:30:52 +0200 Subject: [PATCH 117/249] Remove line referencing an non-existing class in the 9-2-stable branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable <remy@rymai.me> --- app/assets/javascripts/notes.js | 1 - 1 file changed, 1 deletion(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 6b6193f4634..963d535889f 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -49,7 +49,6 @@ const normalizeNewlines = function(str) { this.keydownNoteText = this.keydownNoteText.bind(this); this.toggleCommitList = this.toggleCommitList.bind(this); this.postComment = this.postComment.bind(this); - this.clearFlashWrapper = this.clearFlash.bind(this); this.notes_url = notes_url; this.note_ids = note_ids; -- GitLab From ed6c949a06522779cc2c52d8d53f4c0f7563d41f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Fri, 19 May 2017 09:20:52 +0000 Subject: [PATCH 118/249] Merge branch 'fix/allow-accessing-appearance-images' into 'master' Fixes the 500 for custom apearance header logo and logo See merge request !11479 --- app/controllers/uploads_controller.rb | 2 + .../fix-allow-accessing-appearance-images.yml | 4 ++ spec/controllers/uploads_controller_spec.rb | 40 +++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 changelogs/unreleased/fix-allow-accessing-appearance-images.yml diff --git a/app/controllers/uploads_controller.rb b/app/controllers/uploads_controller.rb index 21a964fb391..eef53730291 100644 --- a/app/controllers/uploads_controller.rb +++ b/app/controllers/uploads_controller.rb @@ -21,6 +21,8 @@ class UploadsController < ApplicationController can?(current_user, :read_project, model.project) when User true + when Appearance + true else permission = "read_#{model.class.to_s.underscore}".to_sym diff --git a/changelogs/unreleased/fix-allow-accessing-appearance-images.yml b/changelogs/unreleased/fix-allow-accessing-appearance-images.yml new file mode 100644 index 00000000000..81118162bab --- /dev/null +++ b/changelogs/unreleased/fix-allow-accessing-appearance-images.yml @@ -0,0 +1,4 @@ +--- +title: Fixes the 500 when accessing customized appearance logos +merge_request: 11479 +author: Alexis Reigel diff --git a/spec/controllers/uploads_controller_spec.rb b/spec/controllers/uploads_controller_spec.rb index 7dedfe160a6..8000c9dec61 100644 --- a/spec/controllers/uploads_controller_spec.rb +++ b/spec/controllers/uploads_controller_spec.rb @@ -473,5 +473,45 @@ describe UploadsController do end end end + + context 'Appearance' do + context 'when viewing a custom header logo' do + let!(:appearance) { create :appearance, header_logo: fixture_file_upload(Rails.root.join('spec/fixtures/dk.png'), 'image/png') } + + context 'when not signed in' do + it 'responds with status 200' do + get :show, model: 'appearance', mounted_as: 'header_logo', id: appearance.id, filename: 'dk.png' + + expect(response).to have_http_status(200) + end + + it_behaves_like 'content not cached without revalidation' do + subject do + get :show, model: 'appearance', mounted_as: 'header_logo', id: appearance.id, filename: 'dk.png' + response + end + end + end + end + + context 'when viewing a custom logo' do + let!(:appearance) { create :appearance, logo: fixture_file_upload(Rails.root.join('spec/fixtures/dk.png'), 'image/png') } + + context 'when not signed in' do + it 'responds with status 200' do + get :show, model: 'appearance', mounted_as: 'logo', id: appearance.id, filename: 'dk.png' + + expect(response).to have_http_status(200) + end + + it_behaves_like 'content not cached without revalidation' do + subject do + get :show, model: 'appearance', mounted_as: 'logo', id: appearance.id, filename: 'dk.png' + response + end + end + end + end + end end end -- GitLab From 64ef506c9f04d57d1eaa1302b7b42fbcbdc4e4d7 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Wed, 10 May 2017 11:58:32 +0000 Subject: [PATCH 119/249] Merge branch '32074-failed-build' into 'master' Fix broken test - load correct data Closes #32074 See merge request !11237 --- .../pipelines/graph/graph_component_spec.js | 103 +------- spec/javascripts/pipelines/graph/mock_data.js | 232 ++++++++++++++++++ 2 files changed, 233 insertions(+), 102 deletions(-) create mode 100644 spec/javascripts/pipelines/graph/mock_data.js diff --git a/spec/javascripts/pipelines/graph/graph_component_spec.js b/spec/javascripts/pipelines/graph/graph_component_spec.js index 024426acf05..6bd0eb86263 100644 --- a/spec/javascripts/pipelines/graph/graph_component_spec.js +++ b/spec/javascripts/pipelines/graph/graph_component_spec.js @@ -1,5 +1,6 @@ import Vue from 'vue'; import graphComponent from '~/pipelines/components/graph/graph_component.vue'; +import graphJSON from './mock_data'; describe('graph component', () => { preloadFixtures('static/graph.html.raw'); @@ -19,108 +20,6 @@ describe('graph component', () => { }); describe('with a successfull response', () => { - const graphJSON = { - details: { - stages: [{ - name: 'review', - title: 'review: passed', - groups: [{ - name: 'review_1', - size: 1, - status: { - icon: 'icon_status_success', - text: 'passed', - label: 'passed', - group: 'success', - has_details: true, - details_path: '/root/review-app/builds/4374', - favicon: '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', - action: { - icon: 'icon_action_retry', - title: 'Retry', - path: '/root/review-app/builds/4374/retry', - method: 'post', - }, - }, - jobs: [{ - id: 4374, - name: 'review_1', - build_path: '/root/review-app/builds/4374', - retry_path: '/root/review-app/builds/4374/retry', - playable: false, - created_at: '2017-05-08T14:57:39.880Z', - updated_at: '2017-05-08T14:57:52.639Z', - status: { - icon: 'icon_status_success', - text: 'passed', - label: 'passed', - group: 'success', - has_details: true, - details_path: '/root/review-app/builds/4374', - favicon: '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', - action: { - icon: 'icon_action_retry', - title: 'Retry', - path: '/root/review-app/builds/4374/retry', - method: 'post', - }, - }, - }], - }, - { - name: 'test_1', - title: 'test_1: passed', - status: { - icon: 'icon_status_success', - text: 'passed', - label: 'passed', - details_path: '/root/ci-mock/pipelines/123#test', - }, - path: '/root/ci-mock/pipelines/123#test', - groups: [{ - name: 'test', - size: 1, - jobs: [{ - id: 4153, - name: 'test', - status: { - icon: 'icon_status_success', - text: 'passed', - label: 'passed', - details_path: '/root/ci-mock/builds/4153', - action: { - icon: 'icon_action_retry', - title: 'Retry', - path: '/root/ci-mock/builds/4153/retry', - method: 'post', - }, - }, - }], - }, { - name: 'test', - size: 1, - jobs: [{ - id: 4153, - name: 'test', - status: { - icon: 'icon_status_success', - text: 'passed', - label: 'passed', - details_path: '/root/ci-mock/builds/4153', - action: { - icon: 'icon_action_retry', - title: 'Retry', - path: '/root/ci-mock/builds/4153/retry', - method: 'post', - }, - }, - }], - }], - }], - }], - }, - }; - const interceptor = (request, next) => { next(request.respondWith(JSON.stringify(graphJSON), { status: 200, diff --git a/spec/javascripts/pipelines/graph/mock_data.js b/spec/javascripts/pipelines/graph/mock_data.js new file mode 100644 index 00000000000..56c522b7f77 --- /dev/null +++ b/spec/javascripts/pipelines/graph/mock_data.js @@ -0,0 +1,232 @@ +/* eslint-disable quote-props, quotes, comma-dangle */ +export default { + "id": 123, + "user": { + "name": "Root", + "username": "root", + "id": 1, + "state": "active", + "avatar_url": null, + "web_url": "http://localhost:3000/root" + }, + "active": false, + "coverage": null, + "path": "/root/ci-mock/pipelines/123", + "details": { + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/pipelines/123", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico" + }, + "duration": 9, + "finished_at": "2017-04-19T14:30:27.542Z", + "stages": [{ + "name": "test", + "title": "test: passed", + "groups": [{ + "name": "test", + "size": 1, + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/builds/4153", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico", + "action": { + "icon": "icon_action_retry", + "title": "Retry", + "path": "/root/ci-mock/builds/4153/retry", + "method": "post" + } + }, + "jobs": [{ + "id": 4153, + "name": "test", + "build_path": "/root/ci-mock/builds/4153", + "retry_path": "/root/ci-mock/builds/4153/retry", + "playable": false, + "created_at": "2017-04-13T09:25:18.959Z", + "updated_at": "2017-04-13T09:25:23.118Z", + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/builds/4153", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico", + "action": { + "icon": "icon_action_retry", + "title": "Retry", + "path": "/root/ci-mock/builds/4153/retry", + "method": "post" + } + } + }] + }], + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/pipelines/123#test", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico" + }, + "path": "/root/ci-mock/pipelines/123#test", + "dropdown_path": "/root/ci-mock/pipelines/123/stage.json?stage=test" + }, { + "name": "deploy", + "title": "deploy: passed", + "groups": [{ + "name": "deploy to production", + "size": 1, + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/builds/4166", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico", + "action": { + "icon": "icon_action_retry", + "title": "Retry", + "path": "/root/ci-mock/builds/4166/retry", + "method": "post" + } + }, + "jobs": [{ + "id": 4166, + "name": "deploy to production", + "build_path": "/root/ci-mock/builds/4166", + "retry_path": "/root/ci-mock/builds/4166/retry", + "playable": false, + "created_at": "2017-04-19T14:29:46.463Z", + "updated_at": "2017-04-19T14:30:27.498Z", + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/builds/4166", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico", + "action": { + "icon": "icon_action_retry", + "title": "Retry", + "path": "/root/ci-mock/builds/4166/retry", + "method": "post" + } + } + }] + }, { + "name": "deploy to staging", + "size": 1, + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/builds/4159", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico", + "action": { + "icon": "icon_action_retry", + "title": "Retry", + "path": "/root/ci-mock/builds/4159/retry", + "method": "post" + } + }, + "jobs": [{ + "id": 4159, + "name": "deploy to staging", + "build_path": "/root/ci-mock/builds/4159", + "retry_path": "/root/ci-mock/builds/4159/retry", + "playable": false, + "created_at": "2017-04-18T16:32:08.420Z", + "updated_at": "2017-04-18T16:32:12.631Z", + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/builds/4159", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico", + "action": { + "icon": "icon_action_retry", + "title": "Retry", + "path": "/root/ci-mock/builds/4159/retry", + "method": "post" + } + } + }] + }], + "status": { + "icon": "icon_status_success", + "text": "passed", + "label": "passed", + "group": "success", + "has_details": true, + "details_path": "/root/ci-mock/pipelines/123#deploy", + "favicon": "/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico" + }, + "path": "/root/ci-mock/pipelines/123#deploy", + "dropdown_path": "/root/ci-mock/pipelines/123/stage.json?stage=deploy" + }], + "artifacts": [], + "manual_actions": [{ + "name": "deploy to production", + "path": "/root/ci-mock/builds/4166/play", + "playable": false + }] + }, + "flags": { + "latest": true, + "triggered": false, + "stuck": false, + "yaml_errors": false, + "retryable": false, + "cancelable": false + }, + "ref": { + "name": "master", + "path": "/root/ci-mock/tree/master", + "tag": false, + "branch": true + }, + "commit": { + "id": "798e5f902592192afaba73f4668ae30e56eae492", + "short_id": "798e5f90", + "title": "Merge branch 'new-branch' into 'master'\r", + "created_at": "2017-04-13T10:25:17.000+01:00", + "parent_ids": ["54d483b1ed156fbbf618886ddf7ab023e24f8738", "c8e2d38a6c538822e81c57022a6e3a0cfedebbcc"], + "message": "Merge branch 'new-branch' into 'master'\r\n\r\nAdd new file\r\n\r\nSee merge request !1", + "author_name": "Root", + "author_email": "admin@example.com", + "authored_date": "2017-04-13T10:25:17.000+01:00", + "committer_name": "Root", + "committer_email": "admin@example.com", + "committed_date": "2017-04-13T10:25:17.000+01:00", + "author": { + "name": "Root", + "username": "root", + "id": 1, + "state": "active", + "avatar_url": null, + "web_url": "http://localhost:3000/root" + }, + "author_gravatar_url": null, + "commit_url": "http://localhost:3000/root/ci-mock/commit/798e5f902592192afaba73f4668ae30e56eae492", + "commit_path": "/root/ci-mock/commit/798e5f902592192afaba73f4668ae30e56eae492" + }, + "created_at": "2017-04-13T09:25:18.881Z", + "updated_at": "2017-04-19T14:30:27.561Z" +}; -- GitLab From bd15e52f2b172506401ec8992bff33599fefb252 Mon Sep 17 00:00:00 2001 From: kushalpandya <kushal@gitlab.com> Date: Fri, 19 May 2017 17:20:10 +0530 Subject: [PATCH 120/249] Fix incorrect import for `UsersSelect` on 9-2-stable branch --- app/assets/javascripts/dispatcher.js | 1 - 1 file changed, 1 deletion(-) diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index 38c1c4c45b4..a2b2ddfefc8 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -51,7 +51,6 @@ import ShortcutsWiki from './shortcuts_wiki'; import Pipelines from './pipelines'; import BlobViewer from './blob/viewer/index'; import AutoWidthDropdownSelect from './issuable/auto_width_dropdown_select'; -import UsersSelect from './users_select'; import RefSelectDropdown from './ref_select_dropdown'; const ShortcutsBlob = require('./shortcuts_blob'); -- GitLab From ab612235b5e3d55a59d2f7bc227eb5bfaa50ee3e Mon Sep 17 00:00:00 2001 From: kushalpandya <kushal@gitlab.com> Date: Fri, 19 May 2017 17:56:53 +0530 Subject: [PATCH 121/249] Fix deployment status icon and alignment on 9-2-stable branch --- .../vue_merge_request_widget/components/mr_widget_deployment.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js index 8b59e018836..e8e22ad93a5 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_deployment.js @@ -56,7 +56,7 @@ export default { <div class="ci-widget"> <div class="ci-status-icon ci-status-icon-success"> <span class="js-icon-link icon-link"> - <span + <span class="ci-status-icon" v-html="svg" aria-hidden="true"></span> </span> -- GitLab From e49090dc3ec472db6783655c1114918acae169c3 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Fri, 19 May 2017 11:59:00 +0000 Subject: [PATCH 122/249] Merge branch 'mr-widget-refresh-failed' into 'master' Add refresh button into MR widget failed state. Closes #32543 See merge request !11519 --- .../states/mr_widget_auto_merge_failed.js | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js index fcccb17f58d..4063859d5d0 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_auto_merge_failed.js @@ -1,8 +1,23 @@ +import eventHub from '../../event_hub'; + export default { name: 'MRWidgetAutoMergeFailed', props: { mr: { type: Object, required: true }, }, + data() { + return { + isRefreshing: false, + }; + }, + methods: { + refreshWidget() { + this.isRefreshing = true; + eventHub.$emit('MRWidgetUpdateRequested', () => { + this.isRefreshing = false; + }); + }, + }, template: ` <div class="mr-widget-body"> <button @@ -13,8 +28,19 @@ export default { </button> <span class="bold danger"> This merge request failed to be merged automatically. + <button + @click="refreshWidget" + :class="{ disabled: isRefreshing }" + type="button" + class="btn btn-xs btn-default"> + <i + v-if="isRefreshing" + class="fa fa-spinner fa-spin" + aria-hidden="true" /> + Refresh + </button> </span> - <div class="merge-error-text"> + <div class="merge-error-text danger bold"> {{mr.mergeError}} </div> </div> -- GitLab From 9515e7145281941508ccb7fe223298e6b2415dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Fri, 19 May 2017 12:49:21 +0000 Subject: [PATCH 123/249] Merge branch 'zj-increase-accuracy-ps' into 'master' Run the schedule worker once an hour by default See merge request !11476 --- config/initializers/1_settings.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 6097ae6534e..9a0e2d7df0c 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -324,7 +324,7 @@ Settings.cron_jobs['stuck_ci_jobs_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['stuck_ci_jobs_worker']['cron'] ||= '0 * * * *' Settings.cron_jobs['stuck_ci_jobs_worker']['job_class'] = 'StuckCiJobsWorker' Settings.cron_jobs['pipeline_schedule_worker'] ||= Settingslogic.new({}) -Settings.cron_jobs['pipeline_schedule_worker']['cron'] ||= '0 */12 * * *' +Settings.cron_jobs['pipeline_schedule_worker']['cron'] ||= '19 * * * *' Settings.cron_jobs['pipeline_schedule_worker']['job_class'] = 'PipelineScheduleWorker' Settings.cron_jobs['expire_build_artifacts_worker'] ||= Settingslogic.new({}) Settings.cron_jobs['expire_build_artifacts_worker']['cron'] ||= '50 * * * *' -- GitLab From 16c37592835dbd62ef47a7f149a3fe391611ea91 Mon Sep 17 00:00:00 2001 From: Tim Zallmann <tzallmann@gitlab.com> Date: Fri, 19 May 2017 14:02:18 +0200 Subject: [PATCH 124/249] Fixed merging conflict on the blob load viewer --- app/assets/javascripts/blob/viewer/index.js | 40 +-------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/app/assets/javascripts/blob/viewer/index.js b/app/assets/javascripts/blob/viewer/index.js index fe6d02b68e2..28913ae4741 100644 --- a/app/assets/javascripts/blob/viewer/index.js +++ b/app/assets/javascripts/blob/viewer/index.js @@ -83,6 +83,7 @@ export default class BlobViewer { viewer.setAttribute('data-loaded', 'true'); this.$fileHolder.trigger('highlight:line'); + gl.utils.handleLocationHash(); this.toggleCopyButtonState(); }); @@ -115,45 +116,6 @@ export default class BlobViewer { this.toggleCopyButtonState(); -<<<<<<< HEAD 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); - }); - }); ->>>>>>> b957df9... Merge branch 'dm-scroll-to-blob-user-content' into 'master' } } -- GitLab From c215461cfc2923c9db2bf9794e7954fcf343e6c9 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@selenight.nl> Date: Fri, 19 May 2017 08:16:56 -0500 Subject: [PATCH 125/249] Fix 9.2 conflicts for 'Fix conflict resolution from corrupted upstream' --- app/models/merge_request.rb | 32 -------- .../merge_requests/conflicts/list_service.rb | 1 + spec/models/merge_request_spec.rb | 75 ------------------- .../conflicts/list_service_spec.rb | 7 ++ 4 files changed, 8 insertions(+), 107 deletions(-) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 417a13da812..f5fdf990907 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -905,38 +905,6 @@ class MergeRequest < ActiveRecord::Base project.repository.keep_around(self.merge_commit_sha) end -<<<<<<< HEAD - def conflicts - @conflicts ||= Gitlab::Conflict::FileCollection.new(self) - end - - def conflicts_can_be_resolved_by?(user) - return false unless source_project - - access = ::Gitlab::UserAccess.new(user, project: source_project) - access.can_push_to_branch?(source_branch) - end - - def conflicts_can_be_resolved_in_ui? - return @conflicts_can_be_resolved_in_ui if defined?(@conflicts_can_be_resolved_in_ui) - - return @conflicts_can_be_resolved_in_ui = false unless cannot_be_merged? - return @conflicts_can_be_resolved_in_ui = false unless has_complete_diff_refs? - return @conflicts_can_be_resolved_in_ui = false if branch_missing? - - begin - # Try to parse each conflict. If the MR's mergeable status hasn't been updated, - # ensure that we don't say there are conflicts to resolve when there are no conflict - # files. - conflicts.files.each(&:lines) - @conflicts_can_be_resolved_in_ui = conflicts.files.length > 0 - rescue Rugged::OdbError, Gitlab::Conflict::Parser::UnresolvableError, Gitlab::Conflict::FileCollection::ConflictSideMissing - @conflicts_can_be_resolved_in_ui = false - end - end - -======= ->>>>>>> e4261fe3... Merge branch 'fix-conflict-resolution-with-corrupt-repos' into 'master' def has_commits? merge_request_diff && commits_count > 0 end diff --git a/app/services/merge_requests/conflicts/list_service.rb b/app/services/merge_requests/conflicts/list_service.rb index 9bf82518643..9835606812c 100644 --- a/app/services/merge_requests/conflicts/list_service.rb +++ b/app/services/merge_requests/conflicts/list_service.rb @@ -15,6 +15,7 @@ module MergeRequests return @conflicts_can_be_resolved_in_ui = false unless merge_request.cannot_be_merged? return @conflicts_can_be_resolved_in_ui = false unless merge_request.has_complete_diff_refs? + return @conflicts_can_be_resolved_in_ui = false if merge_request.branch_missing? begin # Try to parse each conflict. If the MR's mergeable status hasn't been diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index bbdf758cc61..096d6d3673f 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -1315,81 +1315,6 @@ describe MergeRequest, models: true do end end -<<<<<<< HEAD - describe '#conflicts_can_be_resolved_in_ui?' do - def create_merge_request(source_branch) - create(:merge_request, source_branch: source_branch, target_branch: 'conflict-start') do |mr| - mr.mark_as_unmergeable - end - end - - it 'returns a falsey value when the MR can be merged without conflicts' do - merge_request = create_merge_request('master') - merge_request.mark_as_mergeable - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a falsey value when the MR is marked as having conflicts, but has none' do - merge_request = create_merge_request('master') - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a falsey value when one of the MR branches is missing' do - merge_request = create_merge_request('conflict-resolvable') - merge_request.project.repository.rm_branch(merge_request.author, 'conflict-resolvable') - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a falsey value when the MR has a missing ref after a force push' do - merge_request = create_merge_request('conflict-resolvable') - allow(merge_request.conflicts).to receive(:merge_index).and_raise(Rugged::OdbError) - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a falsey value when the MR does not support new diff notes' do - merge_request = create_merge_request('conflict-resolvable') - merge_request.merge_request_diff.update_attributes(start_commit_sha: nil) - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a falsey value when the conflicts contain a large file' do - merge_request = create_merge_request('conflict-too-large') - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a falsey value when the conflicts contain a binary file' do - merge_request = create_merge_request('conflict-binary-file') - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a falsey value when the conflicts contain a file edited in one branch and deleted in another' do - merge_request = create_merge_request('conflict-missing-side') - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey - end - - it 'returns a truthy value when the conflicts are resolvable in the UI' do - merge_request = create_merge_request('conflict-resolvable') - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_truthy - end - - it 'returns a truthy value when the conflicts have to be resolved in an editor' do - merge_request = create_merge_request('conflict-contains-conflict-markers') - - expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_truthy - end - end - -======= ->>>>>>> e4261fe3... Merge branch 'fix-conflict-resolution-with-corrupt-repos' into 'master' describe "#source_project_missing?" do let(:project) { create(:empty_project) } let(:fork_project) { create(:empty_project, forked_from_project: project) } diff --git a/spec/services/merge_requests/conflicts/list_service_spec.rb b/spec/services/merge_requests/conflicts/list_service_spec.rb index e8a305d6130..23982b9e6e1 100644 --- a/spec/services/merge_requests/conflicts/list_service_spec.rb +++ b/spec/services/merge_requests/conflicts/list_service_spec.rb @@ -25,6 +25,13 @@ describe MergeRequests::Conflicts::ListService do expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey end + it 'returns a falsey value when one of the MR branches is missing' do + merge_request = create_merge_request('conflict-resolvable') + merge_request.project.repository.rm_branch(merge_request.author, 'conflict-resolvable') + + expect(conflicts_service(merge_request).can_be_resolved_in_ui?).to be_falsey + end + it 'returns a falsey value when the MR has a missing ref after a force push' do merge_request = create_merge_request('conflict-resolvable') service = conflicts_service(merge_request) -- GitLab From d0b92f929ff71a92877d39ea21335be125f4323f Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Fri, 19 May 2017 13:11:01 +0000 Subject: [PATCH 126/249] Merge branch '32583-update-prometheus-merge-request-widget-documentation' into 'master' Update Prometheus Merge Request widget documentation Closes #32583 See merge request !11531 --- .../img/merge_request_performance.png | Bin 0 -> 66775 bytes doc/user/project/integrations/prometheus.md | 10 +++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 doc/user/project/integrations/img/merge_request_performance.png diff --git a/doc/user/project/integrations/img/merge_request_performance.png b/doc/user/project/integrations/img/merge_request_performance.png new file mode 100644 index 0000000000000000000000000000000000000000..93b2626fed7868a36cec5138cc4f5f245edaa331 GIT binary patch literal 66775 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¬~i(9e`ktY?3$|E$6`1)W=5g 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 XnoW2Y>Jm^yszB<Mym-FYyN~||4Osb} literal 0 HcmV?d00001 diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md index b71d6981d1e..7aa6d070a1b 100644 --- a/doc/user/project/integrations/prometheus.md +++ b/doc/user/project/integrations/prometheus.md @@ -171,11 +171,15 @@ after initial deployment. ## Determining performance impact of a merge -> [Introduced][ce-10408] in GitLab 9.1. +> [Introduced][ce-10408] in GitLab 9.2. -After a merge request has been approved, a sparkline will appear on the merge request page displaying the average memory usage of the application. The sparkline includes thirty minutes of data prior to the merge, a dot to indicate the merge itself, and then will begin capturing thirty minutes of data after the merge. +Developers can view the performance impact of their changes within the merge request workflow. When a source branch has been deployed to an environment, a sparkline will appear showing the average memory consumption of the app. The dot indicates when the current changes were deployed, with up to 30 minutes of performance data displayed before and after. The sparkline will be updated after each commit has been deployed. -This sparkline serves as a quick indicator of the impact on memory consumption of the recently merged changes. If there is a problem, action can then be taken to troubleshoot or revert the merge. +Once merged and the target branch has been redeployed, the sparkline will switch to show the new environments this revision has been deployed to. + +Performance data will be available for the duration it is persisted on the Prometheus server. + + ## Troubleshooting -- GitLab From f5c924c7e80bd99e75c46f4ce871274867d61210 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Thu, 18 May 2017 16:18:09 +0000 Subject: [PATCH 127/249] Merge branch 'fix-trailing-space-mr-widget' into 'master' Refactored the anchor tag to remove the trailing space in the target branch Closes #32445 See merge request !11463 Conflicts: app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js --- .../components/mr_widget_header.js | 28 +++++++++++++++++++ .../fix-trailing-space-mr-widget.yml | 4 +++ 2 files changed, 32 insertions(+) create mode 100644 changelogs/unreleased/fix-trailing-space-mr-widget.yml diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js index fb648d66a30..1455641cfff 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js @@ -61,6 +61,7 @@ export default { </span> </div> <div class="normal"> +<<<<<<< HEAD <b>Request to merge</b> <span class="label-branch" @@ -87,6 +88,33 @@ export default { {{mr.targetBranch}} </a> </span> +======= + <strong> + Request to merge + <span + class="label-branch" + :class="{'label-truncated has-tooltip': isBranchTitleLong(mr.sourceBranch)}" + :title="isBranchTitleLong(mr.sourceBranch) ? mr.sourceBranch : ''" + data-placement="bottom" + v-html="mr.sourceBranchLink"></span> + <button + class="btn btn-transparent btn-clipboard has-tooltip" + data-title="Copy branch name to clipboard" + :data-clipboard-text="branchNameClipboardData"> + <i + aria-hidden="true" + class="fa fa-clipboard"></i> + </button> + into + <span + class="label-branch" + :class="{'label-truncated has-tooltip': isBranchTitleLong(mr.targetBranch)}" + :title="isBranchTitleLong(mr.targetBranch) ? mr.targetBranch : ''" + data-placement="bottom"> + <a :href="mr.targetBranchPath">{{mr.targetBranch}}</a> + </span> + </strong> +>>>>>>> 4de3d0b... Merge branch 'fix-trailing-space-mr-widget' into 'master' <span v-if="shouldShowCommitsBehindText" class="diverged-commits-count"> diff --git a/changelogs/unreleased/fix-trailing-space-mr-widget.yml b/changelogs/unreleased/fix-trailing-space-mr-widget.yml new file mode 100644 index 00000000000..86be36f3cf4 --- /dev/null +++ b/changelogs/unreleased/fix-trailing-space-mr-widget.yml @@ -0,0 +1,4 @@ +--- +title: Refactored the anchor tag to remove the trailing space in the target branch +merge_request: +author: -- GitLab From 9941930af6171b20cf64e88c533dc8c7ed9171cc Mon Sep 17 00:00:00 2001 From: Jose Ivan Vargas <jvargas@gitlab.com> Date: Fri, 19 May 2017 00:52:59 -0500 Subject: [PATCH 128/249] Resolve mr_widget_header conflict --- .../components/mr_widget_header.js | 29 ------------------- 1 file changed, 29 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js index 1455641cfff..272dae25455 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js @@ -61,34 +61,6 @@ export default { </span> </div> <div class="normal"> -<<<<<<< HEAD - <b>Request to merge</b> - <span - class="label-branch" - :class="{'label-truncated has-tooltip': isBranchTitleLong(mr.sourceBranch)}" - :title="isBranchTitleLong(mr.sourceBranch) ? mr.sourceBranch : ''" - data-placement="bottom" - v-html="mr.sourceBranchLink"></span> - <button - class="btn btn-transparent btn-clipboard has-tooltip" - data-title="Copy branch name to clipboard" - :data-clipboard-text="mr.sourceBranch"> - <i - aria-hidden="true" - class="fa fa-clipboard"></i> - </button> - <b>into</b> - <span - class="label-branch" - :class="{'label-truncated has-tooltip': isBranchTitleLong(mr.targetBranch)}" - :title="isBranchTitleLong(mr.targetBranch) ? mr.targetBranch : ''" - data-placement="bottom"> - <a - :href="mr.targetBranchPath"> - {{mr.targetBranch}} - </a> - </span> -======= <strong> Request to merge <span @@ -114,7 +86,6 @@ export default { <a :href="mr.targetBranchPath">{{mr.targetBranch}}</a> </span> </strong> ->>>>>>> 4de3d0b... Merge branch 'fix-trailing-space-mr-widget' into 'master' <span v-if="shouldShowCommitsBehindText" class="diverged-commits-count"> -- GitLab From b54faeb9527d61a89c999dc77c2af119942110ec Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Fri, 12 May 2017 19:16:40 +0000 Subject: [PATCH 129/249] Merge branch 'disable-usage-ping' into 'master' Usage ping updates Closes #31741 and #31453 See merge request !11231 --- app/models/application_setting.rb | 10 ++- .../application_settings/_form.html.haml | 21 +++-- .../unreleased/disable-usage-ping-2.yml | 4 + changelogs/unreleased/disable-usage-ping.yml | 4 + config/initializers/1_settings.rb | 1 + .../admin_area/settings/usage_statistics.md | 81 +++++-------------- lib/gitlab/usage_data.rb | 1 + spec/lib/gitlab/usage_data_spec.rb | 1 + spec/models/application_setting_spec.rb | 62 ++++++++++++++ 9 files changed, 118 insertions(+), 67 deletions(-) create mode 100644 changelogs/unreleased/disable-usage-ping-2.yml create mode 100644 changelogs/unreleased/disable-usage-ping.yml diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 54f01f8637e..043f57241a3 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -246,7 +246,7 @@ class ApplicationSetting < ActiveRecord::Base two_factor_grace_period: 48, user_default_external: false, polling_interval_multiplier: 1, - usage_ping_enabled: true + usage_ping_enabled: Settings.gitlab['usage_ping_enabled'] } end @@ -349,6 +349,14 @@ class ApplicationSetting < ActiveRecord::Base sidekiq_throttling_enabled end + def usage_ping_can_be_configured? + Settings.gitlab.usage_ping_enabled + end + + def usage_ping_enabled + usage_ping_can_be_configured? && super + end + private def ensure_uuid! diff --git a/app/views/admin/application_settings/_form.html.haml b/app/views/admin/application_settings/_form.html.haml index 4b6628169ef..e1b4e34cd2b 100644 --- a/app/views/admin/application_settings/_form.html.haml +++ b/app/views/admin/application_settings/_form.html.haml @@ -502,17 +502,24 @@ Let GitLab inform you when an update is available. .form-group .col-sm-offset-2.col-sm-10 + - can_be_configured = @application_setting.usage_ping_can_be_configured? .checkbox = f.label :usage_ping_enabled do - = f.check_box :usage_ping_enabled + = f.check_box :usage_ping_enabled, disabled: !can_be_configured Usage ping enabled - = link_to icon('question-circle'), help_page_path("user/admin_area/settings/usage_statistics", anchor: "usage-data") + = link_to icon('question-circle'), help_page_path("user/admin_area/settings/usage_statistics", anchor: "usage-ping") .help-block - Every week GitLab will report license usage back to GitLab, Inc. - Disable this option if you do not want this to occur. To see the - JSON payload that will be sent, visit the - = succeed '.' do - = link_to "Cohorts page", admin_cohorts_path(anchor: 'usage-ping') + - if can_be_configured + Every week GitLab will report license usage back to GitLab, Inc. + Disable this option if you do not want this to occur. To see the + JSON payload that will be sent, visit the + = succeed '.' do + = link_to "Cohorts page", admin_cohorts_path(anchor: 'usage-ping') + - else + The usage ping is disabled, and cannot be configured through this + form. For more information, see the documentation on + = succeed '.' do + = link_to 'deactivating the usage ping', help_page_path('user/admin_area/settings/usage_statistics', anchor: 'deactivate-the-usage-ping') %fieldset %legend Email diff --git a/changelogs/unreleased/disable-usage-ping-2.yml b/changelogs/unreleased/disable-usage-ping-2.yml new file mode 100644 index 00000000000..4abd325f120 --- /dev/null +++ b/changelogs/unreleased/disable-usage-ping-2.yml @@ -0,0 +1,4 @@ +--- +title: Add hostname to usage ping +merge_request: +author: diff --git a/changelogs/unreleased/disable-usage-ping.yml b/changelogs/unreleased/disable-usage-ping.yml new file mode 100644 index 00000000000..5438eb56dba --- /dev/null +++ b/changelogs/unreleased/disable-usage-ping.yml @@ -0,0 +1,4 @@ +--- +title: Allow usage ping to be disabled completely in gitlab.yml +merge_request: +author: diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 9a0e2d7df0c..5a90830b5b3 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -241,6 +241,7 @@ Settings.gitlab['domain_whitelist'] ||= [] Settings.gitlab['import_sources'] ||= %w[github bitbucket gitlab google_code fogbugz git gitlab_project gitea] Settings.gitlab['trusted_proxies'] ||= [] Settings.gitlab['no_todos_messages'] ||= YAML.load_file(Rails.root.join('config', 'no_todos_messages.yml')) +Settings.gitlab['usage_ping_enabled'] = true if Settings.gitlab['usage_ping_enabled'].nil? # # CI diff --git a/doc/user/admin_area/settings/usage_statistics.md b/doc/user/admin_area/settings/usage_statistics.md index 733e70ca9bf..375e7f08e8b 100644 --- a/doc/user/admin_area/settings/usage_statistics.md +++ b/doc/user/admin_area/settings/usage_statistics.md @@ -28,60 +28,13 @@ for all signed in users. [were added][ee-735] in GitLab Enterprise Edition 8.12. [Moved to GitLab Community Edition][ce-23361] in 9.1. -GitLab Inc. can collect non-sensitive information about how GitLab users -use their GitLab instance upon the activation of a ping feature -located in the admin panel (`/admin/application_settings`). - -You can see the **exact** JSON payload that your instance sends to GitLab -in the "Usage statistics" section of the admin panel. - -Nothing qualitative is collected. Only quantitative. That means no project -names, author names, comment bodies, names of labels, etc. - -The usage ping is sent in order for GitLab Inc. to have a better understanding -of how our users use our product, and to be more data-driven when creating or -changing features. - -The total number of the following is sent back to GitLab Inc.: - -- Comments -- Groups -- Users -- Projects -- Issues -- Labels -- CI builds -- Snippets -- Milestones -- Todos -- Pushes -- Merge requests -- Environments -- Triggers -- Deploy keys -- Pages -- Project Services -- Projects using the Prometheus service -- Issue Boards -- CI Runners -- Deployments -- Geo Nodes -- LDAP Groups -- LDAP Keys -- LDAP Users -- LFS objects -- Protected branches -- Releases -- Remote mirrors -- Uploads -- Web hooks - -Also, we track if you've installed Mattermost with GitLab. -For example: `"mattermost_enabled":true"`. - -More data will be added over time. The goal of this ping is to be as light as -possible, so it won't have any performance impact on your installation when -the calculation is made. +GitLab sends a weekly payload containing usage data to GitLab Inc. The usage +ping uses high-level data to help our product, support, and sales teams. It does +not send any project names, usernames, or any other specific data. The +information from the usage ping is not anonymous, it is linked to the hostname +of the instance. + +You can view the exact JSON payload in the administration panel. ### Deactivate the usage ping @@ -89,13 +42,23 @@ By default, usage ping is opt-out. If you want to deactivate this feature, go to the Settings page of your administration panel and uncheck the Usage ping checkbox. -## Privacy policy +To disable the usage ping and prevent it from being configured in future through +the administration panel, Omnibus installs can set the following in +[`gitlab.rb`](https://docs.gitlab.com/omnibus/settings/configuration.html#configuration-options): + +```ruby +gitlab_rails['usage_ping_enabled'] = false +``` -GitLab Inc. does **not** collect any sensitive information, like project names -or the content of the comments. GitLab Inc. does not disclose or otherwise make -available any of the data collected on a customer specific basis. +And source installs can set the following in `gitlab.yml`: -Read more about this in the [Privacy policy](https://about.gitlab.com/privacy). +```yaml +production: &base + # ... + gitlab: + # ... + usage_ping_enabled: false +``` [ee-557]: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/557 [ee-735]: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/735 diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb index 72cc4143690..bcba2e3e1b6 100644 --- a/lib/gitlab/usage_data.rb +++ b/lib/gitlab/usage_data.rb @@ -51,6 +51,7 @@ module Gitlab def license_usage_data usage_data = { uuid: current_application_settings.uuid, + hostname: Gitlab.config.gitlab.host, version: Gitlab::VERSION, active_user_count: User.active.count, recorded_at: Time.now, diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb index b148d5dae1d..b47e1b56fa9 100644 --- a/spec/lib/gitlab/usage_data_spec.rb +++ b/spec/lib/gitlab/usage_data_spec.rb @@ -17,6 +17,7 @@ describe Gitlab::UsageData do edition version uuid + hostname )) end diff --git a/spec/models/application_setting_spec.rb b/spec/models/application_setting_spec.rb index c2c19c62048..119482b5f32 100644 --- a/spec/models/application_setting_spec.rb +++ b/spec/models/application_setting_spec.rb @@ -211,4 +211,66 @@ describe ApplicationSetting, models: true do expect(setting.domain_blacklist).to contain_exactly('example.com', 'test.com', 'foo.bar') end end + + describe 'usage ping settings' do + context 'when the usage ping is disabled in gitlab.yml' do + before do + allow(Settings.gitlab).to receive(:usage_ping_enabled).and_return(false) + end + + it 'does not allow the usage ping to be configured' do + expect(setting.usage_ping_can_be_configured?).to be_falsey + end + + context 'when the usage ping is disabled in the DB' do + before do + setting.usage_ping_enabled = false + end + + it 'returns false for usage_ping_enabled' do + expect(setting.usage_ping_enabled).to be_falsey + end + end + + context 'when the usage ping is enabled in the DB' do + before do + setting.usage_ping_enabled = true + end + + it 'returns false for usage_ping_enabled' do + expect(setting.usage_ping_enabled).to be_falsey + end + end + end + + context 'when the usage ping is enabled in gitlab.yml' do + before do + allow(Settings.gitlab).to receive(:usage_ping_enabled).and_return(true) + end + + it 'allows the usage ping to be configured' do + expect(setting.usage_ping_can_be_configured?).to be_truthy + end + + context 'when the usage ping is disabled in the DB' do + before do + setting.usage_ping_enabled = false + end + + it 'returns false for usage_ping_enabled' do + expect(setting.usage_ping_enabled).to be_falsey + end + end + + context 'when the usage ping is enabled in the DB' do + before do + setting.usage_ping_enabled = true + end + + it 'returns true for usage_ping_enabled' do + expect(setting.usage_ping_enabled).to be_truthy + end + end + end + end end -- GitLab From 1098020d2dd301e18c0b68a814ebe15bffb56ba4 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Fri, 19 May 2017 15:59:36 +0100 Subject: [PATCH 130/249] Correctly set title_text with API data --- app/assets/javascripts/issue_show/issue_title_description.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue index 920fbdfea6b..8a7a813efd8 100644 --- a/app/assets/javascripts/issue_show/issue_title_description.vue +++ b/app/assets/javascripts/issue_show/issue_title_description.vue @@ -84,7 +84,7 @@ export default { }, elementsToVisualize(noTitleChange, noDescriptionChange) { if (!noTitleChange) { - this.titleText = this.apiData.title_text; + this.setTabTitle(); this.updateFlag('titleFlag', true); } @@ -104,7 +104,6 @@ export default { animate(title, description) { this.title = title; this.description = description; - this.setTabTitle(); this.$nextTick(() => { this.updateFlag('titleFlag', false); @@ -117,6 +116,7 @@ export default { const { title, description } = this.apiData; this.descriptionText = this.apiData.description_text; + this.titleText = this.apiData.title_text; const noTitleChange = this.title === title; const noDescriptionChange = this.description === description; -- GitLab From 334d44be50aeaded55f95eea4a9d7b1e75e7a191 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Fri, 19 May 2017 11:31:32 -0500 Subject: [PATCH 131/249] Fix conflicts --- app/assets/javascripts/users_select.js | 163 +++---------------------- 1 file changed, 16 insertions(+), 147 deletions(-) diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index 1b5c14734c5..192f8cf951e 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -1,85 +1,5 @@ /* eslint-disable func-names, space-before-function-paren, one-var, no-var, prefer-rest-params, wrap-iife, quotes, max-len, one-var-declaration-per-line, vars-on-top, prefer-arrow-callback, consistent-return, comma-dangle, object-shorthand, no-shadow, no-unused-vars, no-else-return, no-self-compare, prefer-template, no-unused-expressions, no-lonely-if, yoda, prefer-spread, no-void, camelcase, no-param-reassign */ /* global Issuable */ -<<<<<<< HEAD -======= -/* global emitSidebarEvent */ - -// TODO: remove eventHub hack after code splitting refactor -window.emitSidebarEvent = window.emitSidebarEvent || $.noop; - -function UsersSelect(currentUser, els) { - var $els; - this.users = this.users.bind(this); - this.user = this.user.bind(this); - this.usersPath = "/autocomplete/users.json"; - this.userPath = "/autocomplete/users/:id.json"; - if (currentUser != null) { - if (typeof currentUser === 'object') { - this.currentUser = currentUser; - } else { - this.currentUser = JSON.parse(currentUser); - } - } - - $els = $(els); - - if (!els) { - $els = $('.js-user-search'); - } - - $els.each((function(_this) { - return function(i, dropdown) { - var options = {}; - var $block, $collapsedSidebar, $dropdown, $loading, $selectbox, $value, abilityName, assignTo, assigneeTemplate, collapsedAssigneeTemplate, defaultLabel, defaultNullUser, firstUser, issueURL, selectedId, selectedIdDefault, showAnyUser, showNullUser, showMenuAbove; - $dropdown = $(dropdown); - options.projectId = $dropdown.data('project-id'); - options.groupId = $dropdown.data('group-id'); - options.showCurrentUser = $dropdown.data('current-user'); - options.todoFilter = $dropdown.data('todo-filter'); - options.todoStateFilter = $dropdown.data('todo-state-filter'); - showNullUser = $dropdown.data('null-user'); - defaultNullUser = $dropdown.data('null-user-default'); - showMenuAbove = $dropdown.data('showMenuAbove'); - showAnyUser = $dropdown.data('any-user'); - firstUser = $dropdown.data('first-user'); - options.authorId = $dropdown.data('author-id'); - defaultLabel = $dropdown.data('default-label'); - issueURL = $dropdown.data('issueUpdate'); - $selectbox = $dropdown.closest('.selectbox'); - $block = $selectbox.closest('.block'); - abilityName = $dropdown.data('ability-name'); - $value = $block.find('.value'); - $collapsedSidebar = $block.find('.sidebar-collapsed-user'); - $loading = $block.find('.block-loading').fadeOut(); - selectedIdDefault = (defaultNullUser && showNullUser) ? 0 : null; - selectedId = $dropdown.data('selected'); - - if (selectedId === undefined) { - selectedId = selectedIdDefault; - } - - const assignYourself = function () { - const unassignedSelected = $dropdown.closest('.selectbox') - .find(`input[name='${$dropdown.data('field-name')}'][value=0]`); - - if (unassignedSelected) { - unassignedSelected.remove(); - } - - // Save current selected user to the DOM - const input = document.createElement('input'); - input.type = 'hidden'; - input.name = $dropdown.data('field-name'); - - const currentUserInfo = $dropdown.data('currentUserInfo'); - - if (currentUserInfo) { - input.value = currentUserInfo.id; - input.dataset.meta = currentUserInfo.name; - } else if (_this.currentUser) { - input.value = _this.currentUser.id; - } ->>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' import eventHub from './sidebar/event_hub'; @@ -133,7 +53,11 @@ import eventHub from './sidebar/event_hub'; $collapsedSidebar = $block.find('.sidebar-collapsed-user'); $loading = $block.find('.block-loading').fadeOut(); selectedIdDefault = (defaultNullUser && showNullUser) ? 0 : null; - selectedId = $dropdown.data('selected') || selectedIdDefault; + selectedId = $dropdown.data('selected'); + + if (selectedId === undefined) { + selectedId = selectedIdDefault; + } const assignYourself = function () { const unassignedSelected = $dropdown.closest('.selectbox') @@ -462,40 +386,9 @@ import eventHub from './sidebar/event_hub'; this.addInput($dropdown.data('field-name'), 0, {}); } -<<<<<<< HEAD // User unselected eventHub.$emit('sidebar.removeAssignee', user); } -======= - if (selectedId === gon.current_user_id) { - $('.assign-to-me-link').hide(); - } else { - $('.assign-to-me-link').show(); - } - return; - } - if ($el.closest('.add-issues-modal').length) { - gl.issueBoards.ModalStore.store.filter[$dropdown.data('field-name')] = user.id; - } else if ($dropdown.hasClass('js-filter-submit') && (isIssueIndex || isMRIndex)) { - return Issuable.filterResults($dropdown.closest('form')); - } else if ($dropdown.hasClass('js-filter-submit')) { - return $dropdown.closest('form').submit(); - } else if (!$dropdown.hasClass('js-multiselect')) { - selected = $dropdown.closest('.selectbox').find("input[name='" + ($dropdown.data('field-name')) + "']").val(); - return assignTo(selected); - } - }, - id: function (user) { - return user.id; - }, - opened: function(e) { - const $el = $(e.currentTarget); - const selected = getSelected(); - if ($dropdown.hasClass('js-issue-board-sidebar') && selected.length === 0) { - this.addInput($dropdown.data('field-name'), 0, {}); - } - $el.find('.is-active').removeClass('is-active'); ->>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' if (getSelected().find(u => u === gon.current_user_id)) { $('.assign-to-me-link').hide(); @@ -504,7 +397,6 @@ import eventHub from './sidebar/event_hub'; } } -<<<<<<< HEAD var isIssueIndex, isMRIndex, page, selected; page = $('body').data('page'); isIssueIndex = page === 'projects:issues:index'; @@ -538,47 +430,20 @@ import eventHub from './sidebar/event_hub'; }, opened: function(e) { const $el = $(e.currentTarget); - if ($dropdown.hasClass('js-issue-board-sidebar')) { - selectedId = parseInt($dropdown[0].dataset.selected, 10) || selectedIdDefault; + const selected = getSelected(); + if ($dropdown.hasClass('js-issue-board-sidebar') && selected.length === 0) { + this.addInput($dropdown.data('field-name'), 0, {}); } $el.find('.is-active').removeClass('is-active'); function highlightSelected(id) { $el.find(`li[data-user-id="${id}"] .dropdown-menu-user-link`).addClass('is-active'); } -======= - if (selected.length > 0) { - getSelected().forEach(selectedId => highlightSelected(selectedId)); - } else if ($dropdown.hasClass('js-issue-board-sidebar')) { - highlightSelected(0); - } else { - highlightSelected(selectedId); - } - }, - updateLabel: $dropdown.data('dropdown-title'), - renderRow: function(user) { - var avatar, img, listClosingTags, listWithName, listWithUserName, username; - username = user.username ? "@" + user.username : ""; - avatar = user.avatar_url ? user.avatar_url : false; - - let selected = false; - if (this.multiSelect) { - selected = getSelected().find(u => user.id === u); - - const fieldName = this.fieldName; - const field = $dropdown.closest('.selectbox').find("input[name='" + fieldName + "'][value='" + user.id + "']"); - - if (field.length) { - selected = true; - } - } else { - selected = user.id === selectedId; - } ->>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' - - if ($selectbox[0]) { + if (selected.length > 0) { getSelected().forEach(selectedId => highlightSelected(selectedId)); + } else if ($dropdown.hasClass('js-issue-board-sidebar')) { + highlightSelected(0); } else { highlightSelected(selectedId); } @@ -589,15 +454,19 @@ import eventHub from './sidebar/event_hub'; username = user.username ? "@" + user.username : ""; avatar = user.avatar_url ? user.avatar_url : false; - let selected = user.id === parseInt(selectedId, 10); + let selected = false; if (this.multiSelect) { + selected = getSelected().find(u => user.id === u); + const fieldName = this.fieldName; const field = $dropdown.closest('.selectbox').find("input[name='" + fieldName + "'][value='" + user.id + "']"); if (field.length) { selected = true; } + } else { + selected = user.id === selectedId; } img = ""; -- GitLab From 06867f30598eaed32e03a6af0139482418df878a Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Fri, 19 May 2017 14:55:49 +0000 Subject: [PATCH 132/249] Merge branch 'fix-header-z-index' into 'master' Replaced duplicate z-index with index of 400 Closes #32609 See merge request !11547 Conflicts: app/assets/stylesheets/framework/header.scss --- app/assets/stylesheets/framework/header.scss | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss index 6d9218310eb..14d71342fb1 100644 --- a/app/assets/stylesheets/framework/header.scss +++ b/app/assets/stylesheets/framework/header.scss @@ -24,12 +24,19 @@ header { &.navbar-gitlab { padding: 0 16px; - z-index: 100; + z-index: 400; margin-bottom: 0; min-height: $header-height; background-color: $gray-light; border: none; border-bottom: 1px solid $border-color; +<<<<<<< HEAD +======= + position: fixed; + top: 0; + left: 0; + right: 0; +>>>>>>> 3c45906... Merge branch 'fix-header-z-index' into 'master' @media (max-width: $screen-xs-min) { padding: 0 16px; -- GitLab From cf86e2e37729a28a20c9415d6fa40333422ad09c Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Fri, 19 May 2017 15:37:06 +0000 Subject: [PATCH 133/249] Merge branch '32602-add-docs-for-remove-filter-in-search-bar' into 'master' Add docs for "Remove Filter in Search Bar" Closes #32602 See merge request !11541 --- doc/user/search/img/filter_issues_project.gif | Bin 1430218 -> 0 bytes doc/user/search/img/issue_search_filter.png | Bin 0 -> 69559 bytes doc/user/search/index.md | 8 ++++++-- 3 files changed, 6 insertions(+), 2 deletions(-) delete mode 100644 doc/user/search/img/filter_issues_project.gif create mode 100644 doc/user/search/img/issue_search_filter.png diff --git a/doc/user/search/img/filter_issues_project.gif b/doc/user/search/img/filter_issues_project.gif deleted file mode 100644 index d547588be5d1250322096abeac88305b0936ac81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430218 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�J7`O+1o>&NWX!`v%Y7BiFhr+hk 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 z�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�ql&S;lYk(kY_(LS^-vo|fiV69n1olE@%A}@ae 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%0AaX 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%0AKU9K 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%0D%2ur_P5 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�O9*XsndJ7Pg1>LhugJ7w7JJqau2s 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%0DPyI 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%0AQN< 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 z%0D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⪚yokQ}ogZxAuLFJQA+5vNN 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%0A3e~sk;tjA%m`jT*3z0 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	)IA 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%0Af&DmH#(<f@f+!mzT+* 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 diff --git a/doc/user/search/img/issue_search_filter.png b/doc/user/search/img/issue_search_filter.png new file mode 100644 index 0000000000000000000000000000000000000000..f357abd6bacad1721ae8a887b12270d73ed395b6 GIT binary patch literal 69559 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%0D)<VFVr;5l)rodTB84% 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¥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 CGlwGp literal 0 HcmV?d00001 diff --git a/doc/user/search/index.md b/doc/user/search/index.md index 45f443819ec..6d59dcc6c75 100644 --- a/doc/user/search/index.md +++ b/doc/user/search/index.md @@ -34,18 +34,22 @@ a project's **Issues** tab, and click on the field **Search or filter results... display a dropdown menu, from which you can add filters per author, assignee, milestone, label, and weight. When done, press **Enter** on your keyboard to filter the issues. - + The same process is valid for merge requests. Navigate to your project's **Merge Requests** tab, and click **Search or filter results...**. Merge requests can be filtered by author, assignee, milestone, and label. -## Search History +## Search history You can view recent searches by clicking on the little arrow-clock icon, which is to the left of the search input. Click the search entry to run that search again. This feature is available for issues and merge requests. Searches are stored locally in your browser.  +## Removing search filters + +Individual filters can be removed by clicking on the filter's (x) button or backspacing. The entire search filter can be cleared by clicking on the search box's (x) button. + ### Shortcut You'll also find a shortcut on the search field on the top-right of the project's dashboard to -- GitLab From 95979035460193641d75cb755f574ce5574e1fef Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Fri, 19 May 2017 16:30:42 +0000 Subject: [PATCH 134/249] Merge branch '32551-fix-system-note-comparison-and-standardize-note-setup' into 'master' Fix system note comparison and standardize note setup Closes #32551 See merge request !11532 --- app/assets/javascripts/notes.js | 22 ++++++++++----------- app/views/shared/notes/_note.html.haml | 2 -- spec/features/issues/note_polling_spec.rb | 24 +++++++++++++++++++---- spec/javascripts/notes_spec.js | 1 + 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 963d535889f..c2a0cb60f45 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -287,6 +287,13 @@ const normalizeNewlines = function(str) { } }; + Notes.prototype.setupNewNote = function($note) { + // Update datetime format on the recent note + gl.utils.localTimeAgo($note.find('.js-timeago'), false); + this.collapseLongCommitList(); + this.taskList.init(); + }; + /* Render note in main comments area. @@ -312,10 +319,7 @@ const normalizeNewlines = function(str) { const $newNote = Notes.animateAppendNote(noteEntity.html, $notesList); - // Update datetime format on the recent note - gl.utils.localTimeAgo($newNote.find('.js-timeago'), false); - this.collapseLongCommitList(); - this.taskList.init(); + this.setupNewNote($newNote); this.refresh(); return this.updateNotesCount(1); } @@ -341,9 +345,7 @@ const normalizeNewlines = function(str) { } else { const $updatedNote = Notes.animateUpdateNote(noteEntity.html, $note); - - // Update datetime format on the recent note - gl.utils.localTimeAgo($updatedNote.find('.js-timeago'), false); + this.setupNewNote($updatedNote); } } }; @@ -665,10 +667,8 @@ const normalizeNewlines = function(str) { if (this.updatedNotesTrackingMap[noteId]) { const $newNote = $(this.updatedNotesTrackingMap[noteId].html); $note.replaceWith($newNote); + this.setupNewNote($newNote); this.updatedNotesTrackingMap[noteId] = null; - - // Update datetime format on the recent note - gl.utils.localTimeAgo($newNote.find('.js-timeago'), false); } else { $note.find('.js-finish-edit-warning').hide(); @@ -1135,7 +1135,7 @@ const normalizeNewlines = function(str) { // There can be CRLF vs LF mismatches if we don't sanitize and compare the same way const sanitizedNoteEntityText = normalizeNewlines(noteEntity.note.trim()); const currentNoteText = normalizeNewlines( - $note.find('.original-note-content').text().trim() + $note.find('.original-note-content').first().text().trim() ); return sanitizedNoteEntityText !== currentNoteText; }; diff --git a/app/views/shared/notes/_note.html.haml b/app/views/shared/notes/_note.html.haml index 53d0e837aa0..a7bf610b9c7 100644 --- a/app/views/shared/notes/_note.html.haml +++ b/app/views/shared/notes/_note.html.haml @@ -29,8 +29,6 @@ - if note.system %span.system-note-message = note.redacted_note_html - .original-note-content.hidden - = note.note %a{ href: "##{dom_id(note)}" } = time_ago_with_tooltip(note.created_at, placement: 'bottom', html_class: 'note-created-ago') - unless note.system? diff --git a/spec/features/issues/note_polling_spec.rb b/spec/features/issues/note_polling_spec.rb index da81fa4e367..80f57906506 100644 --- a/spec/features/issues/note_polling_spec.rb +++ b/spec/features/issues/note_polling_spec.rb @@ -31,12 +31,12 @@ feature 'Issue notes polling', :feature, :js do it 'has .original-note-content to compare against' do expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) update_note(existing_note, updated_text) expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) end it 'displays the updated content' do @@ -98,12 +98,28 @@ feature 'Issue notes polling', :feature, :js do it 'has .original-note-content to compare against' do expect(page).to have_selector("#note_#{existing_note.id}", text: note_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) update_note(existing_note, updated_text) expect(page).to have_selector("#note_#{existing_note.id}", text: updated_text) - expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", visible: false) + expect(page).to have_selector("#note_#{existing_note.id} .original-note-content", count: 1, visible: false) + end + end + + context 'system notes' do + let(:user) { create(:user) } + let(:note_text) { "Some system note" } + let!(:system_note) { create(:system_note, noteable: issue, project: project, author: user, note: note_text) } + + before do + login_as(user) + visit namespace_project_issue_path(project.namespace, project, issue) + end + + it 'has .original-note-content to compare against' do + expect(page).to have_selector("#note_#{system_note.id}", text: note_text) + expect(page).to have_selector("#note_#{system_note.id} .original-note-content", count: 1, visible: false) end end end diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index 83a151f908f..bcee0498d64 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -138,6 +138,7 @@ import '~/notes'; ]); notes = jasmine.createSpyObj('notes', [ + 'setupNewNote', 'refresh', 'collapseLongCommitList', 'updateNotesCount', -- GitLab From a1348c166656d59412239092fd0df8ba1efa8fb8 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Fri, 19 May 2017 15:27:12 +0000 Subject: [PATCH 135/249] Merge branch '32556-side-by-side-mr-discussion-should-stretch-to-max-width' into 'master' Resolve "Side by side MR discussion should stretch to max width" Closes #32556 See merge request !11508 --- app/assets/stylesheets/pages/issuable.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss index 0184208ab82..0d40d6d2dae 100644 --- a/app/assets/stylesheets/pages/issuable.scss +++ b/app/assets/stylesheets/pages/issuable.scss @@ -10,7 +10,6 @@ .page-content-header, .commit-box, .info-well, - .notes, .commit-ci-menu, .files-changed { @extend .fixed-width-container; -- GitLab From 233947caca8e0781cc6eed1ed88a3be07a602173 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Fri, 19 May 2017 12:00:43 -0500 Subject: [PATCH 136/249] Fix conflicts --- app/assets/javascripts/users_select.js | 181 ++++--------------------- spec/features/issues/form_spec.rb | 26 ---- 2 files changed, 25 insertions(+), 182 deletions(-) diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index 6dbdd0153f5..b3ff7edaee9 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -1,85 +1,5 @@ /* eslint-disable func-names, space-before-function-paren, one-var, no-var, prefer-rest-params, wrap-iife, quotes, max-len, one-var-declaration-per-line, vars-on-top, prefer-arrow-callback, consistent-return, comma-dangle, object-shorthand, no-shadow, no-unused-vars, no-else-return, no-self-compare, prefer-template, no-unused-expressions, no-lonely-if, yoda, prefer-spread, no-void, camelcase, no-param-reassign */ /* global Issuable */ -<<<<<<< HEAD -======= -/* global emitSidebarEvent */ - -// TODO: remove eventHub hack after code splitting refactor -window.emitSidebarEvent = window.emitSidebarEvent || $.noop; - -function UsersSelect(currentUser, els) { - var $els; - this.users = this.users.bind(this); - this.user = this.user.bind(this); - this.usersPath = "/autocomplete/users.json"; - this.userPath = "/autocomplete/users/:id.json"; - if (currentUser != null) { - if (typeof currentUser === 'object') { - this.currentUser = currentUser; - } else { - this.currentUser = JSON.parse(currentUser); - } - } - - $els = $(els); - - if (!els) { - $els = $('.js-user-search'); - } - - $els.each((function(_this) { - return function(i, dropdown) { - var options = {}; - var $block, $collapsedSidebar, $dropdown, $loading, $selectbox, $value, abilityName, assignTo, assigneeTemplate, collapsedAssigneeTemplate, defaultLabel, defaultNullUser, firstUser, issueURL, selectedId, selectedIdDefault, showAnyUser, showNullUser, showMenuAbove; - $dropdown = $(dropdown); - options.projectId = $dropdown.data('project-id'); - options.groupId = $dropdown.data('group-id'); - options.showCurrentUser = $dropdown.data('current-user'); - options.todoFilter = $dropdown.data('todo-filter'); - options.todoStateFilter = $dropdown.data('todo-state-filter'); - showNullUser = $dropdown.data('null-user'); - defaultNullUser = $dropdown.data('null-user-default'); - showMenuAbove = $dropdown.data('showMenuAbove'); - showAnyUser = $dropdown.data('any-user'); - firstUser = $dropdown.data('first-user'); - options.authorId = $dropdown.data('author-id'); - defaultLabel = $dropdown.data('default-label'); - issueURL = $dropdown.data('issueUpdate'); - $selectbox = $dropdown.closest('.selectbox'); - $block = $selectbox.closest('.block'); - abilityName = $dropdown.data('ability-name'); - $value = $block.find('.value'); - $collapsedSidebar = $block.find('.sidebar-collapsed-user'); - $loading = $block.find('.block-loading').fadeOut(); - selectedIdDefault = (defaultNullUser && showNullUser) ? 0 : null; - selectedId = $dropdown.data('selected'); - - if (selectedId === undefined) { - selectedId = selectedIdDefault; - } - - const assignYourself = function () { - const unassignedSelected = $dropdown.closest('.selectbox') - .find(`input[name='${$dropdown.data('field-name')}'][value=0]`); - - if (unassignedSelected) { - unassignedSelected.remove(); - } - - // Save current selected user to the DOM - const input = document.createElement('input'); - input.type = 'hidden'; - input.name = $dropdown.data('field-name'); - - const currentUserInfo = $dropdown.data('currentUserInfo'); - - if (currentUserInfo) { - input.value = currentUserInfo.id; - input.dataset.meta = currentUserInfo.name; - } else if (_this.currentUser) { - input.value = _this.currentUser.id; - } ->>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' import eventHub from './sidebar/event_hub'; @@ -133,7 +53,11 @@ import eventHub from './sidebar/event_hub'; $collapsedSidebar = $block.find('.sidebar-collapsed-user'); $loading = $block.find('.block-loading').fadeOut(); selectedIdDefault = (defaultNullUser && showNullUser) ? 0 : null; - selectedId = $dropdown.data('selected') || selectedIdDefault; + selectedId = $dropdown.data('selected'); + + if (selectedId === undefined) { + selectedId = selectedIdDefault; + } const assignYourself = function () { const unassignedSelected = $dropdown.closest('.selectbox') @@ -462,49 +386,9 @@ import eventHub from './sidebar/event_hub'; this.addInput($dropdown.data('field-name'), 0, {}); } -<<<<<<< HEAD // User unselected eventHub.$emit('sidebar.removeAssignee', user); } -======= - if (selectedId === gon.current_user_id) { - $('.assign-to-me-link').hide(); - } else { - $('.assign-to-me-link').show(); - } - return; - } - if ($el.closest('.add-issues-modal').length) { - gl.issueBoards.ModalStore.store.filter[$dropdown.data('field-name')] = user.id; - } else if ($dropdown.hasClass('js-filter-submit') && (isIssueIndex || isMRIndex)) { - return Issuable.filterResults($dropdown.closest('form')); - } else if ($dropdown.hasClass('js-filter-submit')) { - return $dropdown.closest('form').submit(); - } else if (!$dropdown.hasClass('js-multiselect')) { - selected = $dropdown.closest('.selectbox').find("input[name='" + ($dropdown.data('field-name')) + "']").val(); - return assignTo(selected); - } - - // Automatically close dropdown after assignee is selected - // since CE has no multiple assignees - // EE does not have a max-select - if ($dropdown.data('max-select') && - getSelected().length === $dropdown.data('max-select')) { - // Close the dropdown - $dropdown.dropdown('toggle'); - } - }, - id: function (user) { - return user.id; - }, - opened: function(e) { - const $el = $(e.currentTarget); - const selected = getSelected(); - if ($dropdown.hasClass('js-issue-board-sidebar') && selected.length === 0) { - this.addInput($dropdown.data('field-name'), 0, {}); - } - $el.find('.is-active').removeClass('is-active'); ->>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' if (getSelected().find(u => u === gon.current_user_id)) { $('.assign-to-me-link').hide(); @@ -513,7 +397,6 @@ import eventHub from './sidebar/event_hub'; } } -<<<<<<< HEAD var isIssueIndex, isMRIndex, page, selected; page = $('body').data('page'); isIssueIndex = page === 'projects:issues:index'; @@ -541,53 +424,35 @@ import eventHub from './sidebar/event_hub'; selected = $dropdown.closest('.selectbox').find("input[name='" + ($dropdown.data('field-name')) + "']").val(); return assignTo(selected); } + + // Automatically close dropdown after assignee is selected + // since CE has no multiple assignees + // EE does not have a max-select + if ($dropdown.data('max-select') && + getSelected().length === $dropdown.data('max-select')) { + // Close the dropdown + $dropdown.dropdown('toggle'); + } }, id: function (user) { return user.id; }, opened: function(e) { const $el = $(e.currentTarget); - if ($dropdown.hasClass('js-issue-board-sidebar')) { - selectedId = parseInt($dropdown[0].dataset.selected, 10) || selectedIdDefault; + const selected = getSelected(); + if ($dropdown.hasClass('js-issue-board-sidebar') && selected.length === 0) { + this.addInput($dropdown.data('field-name'), 0, {}); } $el.find('.is-active').removeClass('is-active'); function highlightSelected(id) { $el.find(`li[data-user-id="${id}"] .dropdown-menu-user-link`).addClass('is-active'); } -======= - if (selected.length > 0) { - getSelected().forEach(selectedId => highlightSelected(selectedId)); - } else if ($dropdown.hasClass('js-issue-board-sidebar')) { - highlightSelected(0); - } else { - highlightSelected(selectedId); - } - }, - updateLabel: $dropdown.data('dropdown-title'), - renderRow: function(user) { - var avatar, img, listClosingTags, listWithName, listWithUserName, username; - username = user.username ? "@" + user.username : ""; - avatar = user.avatar_url ? user.avatar_url : false; - let selected = false; - - if (this.multiSelect) { - selected = getSelected().find(u => user.id === u); - - const fieldName = this.fieldName; - const field = $dropdown.closest('.selectbox').find("input[name='" + fieldName + "'][value='" + user.id + "']"); - - if (field.length) { - selected = true; - } - } else { - selected = user.id === selectedId; - } ->>>>>>> 2242a2d... Merge branch 'fix-unassigned-checkmark' into 'master' - - if ($selectbox[0]) { + if (selected.length > 0) { getSelected().forEach(selectedId => highlightSelected(selectedId)); + } else if ($dropdown.hasClass('js-issue-board-sidebar')) { + highlightSelected(0); } else { highlightSelected(selectedId); } @@ -598,15 +463,19 @@ import eventHub from './sidebar/event_hub'; username = user.username ? "@" + user.username : ""; avatar = user.avatar_url ? user.avatar_url : false; - let selected = user.id === parseInt(selectedId, 10); + let selected = false; if (this.multiSelect) { + selected = getSelected().find(u => user.id === u); + const fieldName = this.fieldName; const field = $dropdown.closest('.selectbox').find("input[name='" + fieldName + "'][value='" + user.id + "']"); if (field.length) { selected = true; } + } else { + selected = user.id === selectedId; } img = ""; diff --git a/spec/features/issues/form_spec.rb b/spec/features/issues/form_spec.rb index 568faaad364..677a725f107 100644 --- a/spec/features/issues/form_spec.rb +++ b/spec/features/issues/form_spec.rb @@ -26,11 +26,8 @@ describe 'New/edit issue', feature: true, js: true do describe 'single assignee' do before do click_button 'Unassigned' -<<<<<<< HEAD -======= wait_for_ajax ->>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' end it 'unselects other assignees when unassigned is selected' do @@ -153,44 +150,21 @@ describe 'New/edit issue', feature: true, js: true do it 'correctly updates the selected user when changing assignee' do click_button 'Unassigned' -<<<<<<< HEAD -======= wait_for_ajax ->>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' page.within '.dropdown-menu-user' do click_link user.name end -<<<<<<< HEAD - expect(find('input[name="issue[assignee_ids][]"]', visible: false).value).to match(user.id.to_s) - - click_button user.name - - expect(find('.dropdown-menu-user a.is-active').first(:xpath, '..')['data-user-id']).to eq(user.id.to_s) - - # check the ::before pseudo element to ensure checkmark icon is present - expect(before_for_selector('.dropdown-menu-selectable a.is-active')).not_to eq('') - expect(before_for_selector('.dropdown-menu-selectable a:not(.is-active)')).to eq('') -======= expect(find('.js-assignee-search')).to have_content(user.name) click_button user.name ->>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' page.within '.dropdown-menu-user' do click_link user2.name end -<<<<<<< HEAD - expect(find('input[name="issue[assignee_ids][]"]', visible: false).value).to match(user2.id.to_s) - - click_button user2.name - - expect(find('.dropdown-menu-user a.is-active').first(:xpath, '..')['data-user-id']).to eq(user2.id.to_s) -======= expect(find('.js-assignee-search')).to have_content(user2.name) ->>>>>>> a493377... Merge branch '31987-automatically-close-assignee-select-dropdown-after-selection-when-multiple-assignees-is-disabled' into 'master' end end -- GitLab From 2f4cdca6f94a51f578b3d067c8c48b9e06b537b4 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" <lbennett@gitlab.com> Date: Fri, 19 May 2017 18:30:23 +0000 Subject: [PATCH 137/249] Resolve header.scss conflicts --- app/assets/stylesheets/framework/header.scss | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss index 14d71342fb1..f4ecabd55da 100644 --- a/app/assets/stylesheets/framework/header.scss +++ b/app/assets/stylesheets/framework/header.scss @@ -30,13 +30,10 @@ header { background-color: $gray-light; border: none; border-bottom: 1px solid $border-color; -<<<<<<< HEAD -======= position: fixed; top: 0; left: 0; right: 0; ->>>>>>> 3c45906... Merge branch 'fix-header-z-index' into 'master' @media (max-width: $screen-xs-min) { padding: 0 16px; -- GitLab From 125e1151f85fb1d5ace3213e86a85c3afe99808b Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Fri, 12 May 2017 17:26:20 +0000 Subject: [PATCH 138/249] Merge branch 'dm-copy-mr-source-branch-as-gfm' into 'master' Paste a copied MR source branch name as code when pasted into a GFM form See merge request !11315 --- .../components/mr_widget_header.js | 9 +++++++++ .../unreleased/dm-copy-mr-source-branch-as-gfm.yml | 4 ++++ 2 files changed, 13 insertions(+) create mode 100644 changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js index 272dae25455..cfd34970f11 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.js @@ -12,6 +12,15 @@ export default { commitsText() { return gl.text.pluralize('commit', this.mr.divergedCommitsCount); }, + branchNameClipboardData() { + // This supports code in app/assets/javascripts/copy_to_clipboard.js that + // works around ClipboardJS limitations to allow the context-specific + // copy/pasting of plain text or GFM. + return JSON.stringify({ + text: this.mr.sourceBranch, + gfm: `\`${this.mr.sourceBranch}\``, + }); + }, }, methods: { isBranchTitleLong(branchTitle) { diff --git a/changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml b/changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml new file mode 100644 index 00000000000..708c82604ad --- /dev/null +++ b/changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml @@ -0,0 +1,4 @@ +--- +title: Paste a copied MR source branch name as code when pasted into a GFM form +merge_request: +author: -- GitLab From 6c3413326d758e07552bc0b5af416a84c0fb4f02 Mon Sep 17 00:00:00 2001 From: kushalpandya <kushal@gitlab.com> Date: Sat, 20 May 2017 01:35:08 +0530 Subject: [PATCH 139/249] Remove incorrectly picked styles --- app/assets/stylesheets/framework/header.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss index f4ecabd55da..07566fd8c77 100644 --- a/app/assets/stylesheets/framework/header.scss +++ b/app/assets/stylesheets/framework/header.scss @@ -30,10 +30,6 @@ header { background-color: $gray-light; border: none; border-bottom: 1px solid $border-color; - position: fixed; - top: 0; - left: 0; - right: 0; @media (max-width: $screen-xs-min) { padding: 0 16px; -- GitLab From 8087c70cac3de440cef55fcd64f516736e06b4dc Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Thu, 11 May 2017 18:28:31 +0000 Subject: [PATCH 140/249] Merge branch '28558-update-copy' into 'master' Update copy on Create merge request dropdown See merge request !11304 --- app/views/projects/issues/_new_branch.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/projects/issues/_new_branch.html.haml b/app/views/projects/issues/_new_branch.html.haml index 6bc6bf76e18..dba092c8844 100644 --- a/app/views/projects/issues/_new_branch.html.haml +++ b/app/views/projects/issues/_new_branch.html.haml @@ -17,7 +17,7 @@ .description %strong Create a merge request %span - Creates a branch named after this issue and a merge request. The source branch is '#{@project.default_branch}' by default. + Creates a merge request named after this issue, with source branch created from '#{@project.default_branch}'. %li.divider.droplab-item-ignore %li{ role: 'button', data: { value: 'create-branch', 'text' => 'Create a branch' } } .menu-item @@ -26,4 +26,4 @@ .description %strong Create a branch %span - Creates a branch named after this issue. The source branch is '#{@project.default_branch}' by default. + Creates a branch named after this issue, from '#{@project.default_branch}'. -- GitLab From 996aa1e67d125a9a93fd7ed335e8352b2a9df09f Mon Sep 17 00:00:00 2001 From: Filipa Lacerda <filipa@gitlab.com> Date: Fri, 19 May 2017 17:08:08 +0000 Subject: [PATCH 141/249] Merge branch '32595-fix-vertical-misalignment-mr-widget' into 'master' Refine MR widget styling for buttons and info text Closes #32595 See merge request !11548 --- .../states/mr_widget_ready_to_merge.js | 2 +- app/assets/stylesheets/pages/merge_requests.scss | 16 ++++++++++++++++ .../states/mr_widget_ready_to_merge_spec.js | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js index ebcc03e531b..74613a1089e 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js @@ -33,7 +33,7 @@ export default { return this.useCommitMessageWithDescription ? withoutDesc : withDesc; }, mergeButtonClass() { - const defaultClass = 'btn btn-success accept-merge-request'; + const defaultClass = 'btn btn-small btn-success accept-merge-request'; const failedClass = `${defaultClass} btn-danger`; const inActionClass = `${defaultClass} btn-info`; const { pipeline, isPipelineActive, isPipelineFailed, hasCI, ciStatus } = this.mr; diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 2572df0bf25..af084deeaff 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -194,6 +194,16 @@ } } + .mr-widget-body { + .btn { + font-size: 15px; + } + + .btn-group .btn { + padding: 5px 10px; + } + } + .mr-widget-body { h4 { font-weight: 600; @@ -226,6 +236,7 @@ .bold { margin-left: 5px; font-weight: bold; + font-size: 15px; color: $gl-gray-light; } @@ -249,6 +260,11 @@ margin-bottom: 24px; } + .spacing, + .bold { + vertical-align: middle; + } + .dropdown-menu { li a { padding: 5px; diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js index 74df99415c9..d043ad38b8b 100644 --- a/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js +++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js @@ -80,7 +80,7 @@ describe('MRWidgetReadyToMerge', () => { }); describe('mergeButtonClass', () => { - const defaultClass = 'btn btn-success accept-merge-request'; + const defaultClass = 'btn btn-small btn-success accept-merge-request'; const failedClass = `${defaultClass} btn-danger`; const inActionClass = `${defaultClass} btn-info`; -- GitLab From ee712af72674c48a1465b5665da9d0edd71337ad Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Fri, 19 May 2017 19:28:38 +0000 Subject: [PATCH 142/249] Merge branch 'fix-issue-32506' into 'master' Fix redirects modifying the host Closes #32506 See merge request !11498 --- app/controllers/concerns/routable_actions.rb | 10 +- .../groups/application_controller.rb | 6 + app/controllers/groups_controller.rb | 8 + .../projects/application_controller.rb | 7 + app/controllers/projects_controller.rb | 7 + app/controllers/users_controller.rb | 4 + .../groups/milestones_controller_spec.rb | 135 ++++++++- spec/controllers/groups_controller_spec.rb | 257 ++++++++++++------ .../projects/labels_controller_spec.rb | 70 +++++ spec/controllers/projects_controller_spec.rb | 199 +++++++------- spec/controllers/users_controller_spec.rb | 253 +++++++++-------- spec/support/milestone_tabs_examples.rb | 2 +- 12 files changed, 645 insertions(+), 313 deletions(-) diff --git a/app/controllers/concerns/routable_actions.rb b/app/controllers/concerns/routable_actions.rb index afd110adcad..4199da9cdf5 100644 --- a/app/controllers/concerns/routable_actions.rb +++ b/app/controllers/concerns/routable_actions.rb @@ -24,15 +24,15 @@ module RoutableActions end end - def ensure_canonical_path(routable, requested_path) + def ensure_canonical_path(routable, requested_full_path) return unless request.get? canonical_path = routable.full_path - if canonical_path != requested_path - if canonical_path.casecmp(requested_path) != 0 - flash[:notice] = "#{routable.class.to_s.titleize} '#{requested_path}' was moved to '#{canonical_path}'. Please update any links and bookmarks that may still have the old path." + if canonical_path != requested_full_path + if canonical_path.casecmp(requested_full_path) != 0 + flash[:notice] = "#{routable.class.to_s.titleize} '#{requested_full_path}' was moved to '#{canonical_path}'. Please update any links and bookmarks that may still have the old path." end - redirect_to request.original_url.sub(requested_path, canonical_path) + redirect_to build_canonical_path(routable) end end end diff --git a/app/controllers/groups/application_controller.rb b/app/controllers/groups/application_controller.rb index afffb813b44..c0ac47e363d 100644 --- a/app/controllers/groups/application_controller.rb +++ b/app/controllers/groups/application_controller.rb @@ -31,4 +31,10 @@ class Groups::ApplicationController < ApplicationController return render_403 end end + + def build_canonical_path(group) + params[:group_id] = group.to_param + + url_for(params) + end end diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 1515173d0ac..965ced4d372 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -169,4 +169,12 @@ class GroupsController < Groups::ApplicationController @notification_setting = current_user.notification_settings_for(group) end end + + def build_canonical_path(group) + return group_path(group) if action_name == 'show' # root group path + + params[:id] = group.to_param + + url_for(params) + end end diff --git a/app/controllers/projects/application_controller.rb b/app/controllers/projects/application_controller.rb index 12e4a6999ae..cb4bd0ad5f5 100644 --- a/app/controllers/projects/application_controller.rb +++ b/app/controllers/projects/application_controller.rb @@ -29,6 +29,13 @@ class Projects::ApplicationController < ApplicationController @project = find_routable!(Project, path, extra_authorization_proc: auth_proc) end + def build_canonical_path(project) + params[:namespace_id] = project.namespace.to_param + params[:project_id] = project.to_param + + url_for(params) + end + def repository @repository ||= project.repository end diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 69310b26e76..ed1c9f1b620 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -365,4 +365,11 @@ class ProjectsController < Projects::ApplicationController def project_view_files_allowed? !project.empty_repo? && can?(current_user, :download_code, project) end + + def build_canonical_path(project) + params[:namespace_id] = project.namespace.to_param + params[:id] = project.to_param + + url_for(params) + end end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index ba22b2f9d29..19fc1e5de49 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -138,4 +138,8 @@ class UsersController < ApplicationController def projects_for_current_user ProjectsFinder.new(current_user: current_user).execute end + + def build_canonical_path(user) + url_for(params.merge(username: user.to_param)) + end end diff --git a/spec/controllers/groups/milestones_controller_spec.rb b/spec/controllers/groups/milestones_controller_spec.rb index 7cf2996ffd0..f3263bc177d 100644 --- a/spec/controllers/groups/milestones_controller_spec.rb +++ b/spec/controllers/groups/milestones_controller_spec.rb @@ -21,7 +21,6 @@ describe Groups::MilestonesController do sign_in(user) group.add_owner(user) project.team << [user, :master] - controller.instance_variable_set(:@group, group) end it_behaves_like 'milestone tabs' @@ -29,7 +28,7 @@ describe Groups::MilestonesController do describe "#create" do it "creates group milestone with Chinese title" do post :create, - group_id: group.id, + group_id: group.to_param, milestone: { project_ids: [project.id, project2.id], title: title } expect(response).to redirect_to(group_milestone_path(group, title.to_slug.to_s, title: title)) @@ -37,9 +36,139 @@ describe Groups::MilestonesController do end it "redirects to new when there are no project ids" do - post :create, group_id: group.id, milestone: { title: title, project_ids: [""] } + post :create, group_id: group.to_param, milestone: { title: title, project_ids: [""] } expect(response).to render_template :new expect(assigns(:milestone).errors).not_to be_nil end end + + describe '#ensure_canonical_path' do + before do + sign_in(user) + end + + context 'for a GET request' do + context 'when requesting the canonical path' do + context 'non-show path' do + context 'with exactly matching casing' do + it 'does not redirect' do + get :index, group_id: group.to_param + + expect(response).not_to have_http_status(301) + end + end + + context 'with different casing' do + it 'redirects to the correct casing' do + get :index, group_id: group.to_param.upcase + + expect(response).to redirect_to(group_milestones_path(group.to_param)) + expect(controller).not_to set_flash[:notice] + end + end + end + + context 'show path' do + context 'with exactly matching casing' do + it 'does not redirect' do + get :show, group_id: group.to_param, id: title + + expect(response).not_to have_http_status(301) + end + end + + context 'with different casing' do + it 'redirects to the correct casing' do + get :show, group_id: group.to_param.upcase, id: title + + expect(response).to redirect_to(group_milestone_path(group.to_param, title)) + expect(controller).not_to set_flash[:notice] + end + end + end + end + + context 'when requesting a redirected path' do + let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } + + it 'redirects to the canonical path' do + get :merge_requests, group_id: redirect_route.path, id: title + + expect(response).to redirect_to(merge_requests_group_milestone_path(group.to_param, title)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + + context 'when the old group path is a substring of the scheme or host' do + let(:redirect_route) { group.redirect_routes.create(path: 'http') } + + it 'does not modify the requested host' do + get :merge_requests, group_id: redirect_route.path, id: title + + expect(response).to redirect_to(merge_requests_group_milestone_path(group.to_param, title)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + + context 'when the old group path is substring of groups' do + # I.e. /groups/oups should not become /grfoo/oups + let(:redirect_route) { group.redirect_routes.create(path: 'oups') } + + it 'does not modify the /groups part of the path' do + get :merge_requests, group_id: redirect_route.path, id: title + + expect(response).to redirect_to(merge_requests_group_milestone_path(group.to_param, title)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + + context 'when the old group path is substring of groups plus the new path' do + # I.e. /groups/oups/oup should not become /grfoos + let(:redirect_route) { group.redirect_routes.create(path: 'oups/oup') } + + it 'does not modify the /groups part of the path' do + get :merge_requests, group_id: redirect_route.path, id: title + + expect(response).to redirect_to(merge_requests_group_milestone_path(group.to_param, title)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + end + end + end + + context 'for a non-GET request' do + context 'when requesting the canonical path with different casing' do + it 'does not 404' do + post :create, + group_id: group.to_param, + milestone: { project_ids: [project.id, project2.id], title: title } + + expect(response).not_to have_http_status(404) + end + + it 'does not redirect to the correct casing' do + post :create, + group_id: group.to_param, + milestone: { project_ids: [project.id, project2.id], title: title } + + expect(response).not_to have_http_status(301) + end + end + + context 'when requesting a redirected path' do + let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } + + it 'returns not found' do + post :create, + group_id: redirect_route.path, + milestone: { project_ids: [project.id, project2.id], title: title } + + expect(response).to have_http_status(404) + end + end + end + + def group_moved_message(redirect_route, group) + "Group '#{redirect_route.path}' was moved to '#{group.full_path}'. Please update any links and bookmarks that may still have the old path." + end end diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index a635742c989..6b65e1c6cc5 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -84,26 +84,6 @@ describe GroupsController do expect(assigns(:issues)).to eq [issue_2, issue_1] end end - - context 'when requesting the canonical path with different casing' do - it 'redirects to the correct casing' do - get :issues, id: group.to_param.upcase - - expect(response).to redirect_to(issues_group_path(group.to_param)) - expect(controller).not_to set_flash[:notice] - end - end - - context 'when requesting a redirected path' do - let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } - - it 'redirects to the canonical path' do - get :issues, id: redirect_route.path - - expect(response).to redirect_to(issues_group_path(group.to_param)) - expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) - end - end end describe 'GET #merge_requests' do @@ -129,26 +109,6 @@ describe GroupsController do expect(assigns(:merge_requests)).to eq [merge_request_2, merge_request_1] end end - - context 'when requesting the canonical path with different casing' do - it 'redirects to the correct casing' do - get :merge_requests, id: group.to_param.upcase - - expect(response).to redirect_to(merge_requests_group_path(group.to_param)) - expect(controller).not_to set_flash[:notice] - end - end - - context 'when requesting a redirected path' do - let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } - - it 'redirects to the canonical path' do - get :merge_requests, id: redirect_route.path - - expect(response).to redirect_to(merge_requests_group_path(group.to_param)) - expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) - end - end end describe 'DELETE #destroy' do @@ -178,30 +138,6 @@ describe GroupsController do expect(response).to redirect_to(root_path) end - - context 'when requesting the canonical path with different casing' do - it 'does not 404' do - delete :destroy, id: group.to_param.upcase - - expect(response).not_to have_http_status(404) - end - - it 'does not redirect to the correct casing' do - delete :destroy, id: group.to_param.upcase - - expect(response).not_to redirect_to(group_path(group.to_param)) - end - end - - context 'when requesting a redirected path' do - let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } - - it 'returns not found' do - delete :destroy, id: redirect_route.path - - expect(response).to have_http_status(404) - end - end end end @@ -224,28 +160,197 @@ describe GroupsController do expect(assigns(:group).errors).not_to be_empty expect(assigns(:group).path).not_to eq('new_path') end + end + + describe '#ensure_canonical_path' do + before do + sign_in(user) + end + + context 'for a GET request' do + context 'when requesting groups at the root path' do + before do + allow(request).to receive(:original_fullpath).and_return("/#{group_full_path}") + get :show, id: group_full_path + end + + context 'when requesting the canonical path with different casing' do + let(:group_full_path) { group.to_param.upcase } + + it 'redirects to the correct casing' do + expect(response).to redirect_to(group) + expect(controller).not_to set_flash[:notice] + end + end + + context 'when requesting a redirected path' do + let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } + let(:group_full_path) { redirect_route.path } + + it 'redirects to the canonical path' do + expect(response).to redirect_to(group) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + + context 'when the old group path is a substring of the scheme or host' do + let(:redirect_route) { group.redirect_routes.create(path: 'http') } + + it 'does not modify the requested host' do + expect(response).to redirect_to(group) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + + context 'when the old group path is substring of groups' do + # I.e. /groups/oups should not become /grfoo/oups + let(:redirect_route) { group.redirect_routes.create(path: 'oups') } + + it 'does not modify the /groups part of the path' do + expect(response).to redirect_to(group) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + end + end + + context 'when requesting groups under the /groups path' do + context 'when requesting the canonical path' do + context 'non-show path' do + context 'with exactly matching casing' do + it 'does not redirect' do + get :issues, id: group.to_param + + expect(response).not_to have_http_status(301) + end + end + + context 'with different casing' do + it 'redirects to the correct casing' do + get :issues, id: group.to_param.upcase + + expect(response).to redirect_to(issues_group_path(group.to_param)) + expect(controller).not_to set_flash[:notice] + end + end + end + + context 'show path' do + context 'with exactly matching casing' do + it 'does not redirect' do + get :show, id: group.to_param + + expect(response).not_to have_http_status(301) + end + end + + context 'with different casing' do + it 'redirects to the correct casing at the root path' do + get :show, id: group.to_param.upcase + + expect(response).to redirect_to(group) + expect(controller).not_to set_flash[:notice] + end + end + end + end + + context 'when requesting a redirected path' do + let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } + + it 'redirects to the canonical path' do + get :issues, id: redirect_route.path + + expect(response).to redirect_to(issues_group_path(group.to_param)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + + context 'when the old group path is a substring of the scheme or host' do + let(:redirect_route) { group.redirect_routes.create(path: 'http') } + + it 'does not modify the requested host' do + get :issues, id: redirect_route.path + + expect(response).to redirect_to(issues_group_path(group.to_param)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + + context 'when the old group path is substring of groups' do + # I.e. /groups/oups should not become /grfoo/oups + let(:redirect_route) { group.redirect_routes.create(path: 'oups') } + + it 'does not modify the /groups part of the path' do + get :issues, id: redirect_route.path + + expect(response).to redirect_to(issues_group_path(group.to_param)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + + context 'when the old group path is substring of groups plus the new path' do + # I.e. /groups/oups/oup should not become /grfoos + let(:redirect_route) { group.redirect_routes.create(path: 'oups/oup') } + + it 'does not modify the /groups part of the path' do + get :issues, id: redirect_route.path + + expect(response).to redirect_to(issues_group_path(group.to_param)) + expect(controller).to set_flash[:notice].to(group_moved_message(redirect_route, group)) + end + end + end + end + end - context 'when requesting the canonical path with different casing' do - it 'does not 404' do - post :update, id: group.to_param.upcase, group: { path: 'new_path' } + context 'for a POST request' do + context 'when requesting the canonical path with different casing' do + it 'does not 404' do + post :update, id: group.to_param.upcase, group: { path: 'new_path' } + + expect(response).not_to have_http_status(404) + end + + it 'does not redirect to the correct casing' do + post :update, id: group.to_param.upcase, group: { path: 'new_path' } - expect(response).not_to have_http_status(404) + expect(response).not_to have_http_status(301) + end end - it 'does not redirect to the correct casing' do - post :update, id: group.to_param.upcase, group: { path: 'new_path' } + context 'when requesting a redirected path' do + let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } - expect(response).not_to redirect_to(group_path(group.to_param)) + it 'returns not found' do + post :update, id: redirect_route.path, group: { path: 'new_path' } + + expect(response).to have_http_status(404) + end end end - context 'when requesting a redirected path' do - let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } + context 'for a DELETE request' do + context 'when requesting the canonical path with different casing' do + it 'does not 404' do + delete :destroy, id: group.to_param.upcase + + expect(response).not_to have_http_status(404) + end + + it 'does not redirect to the correct casing' do + delete :destroy, id: group.to_param.upcase - it 'returns not found' do - post :update, id: redirect_route.path, group: { path: 'new_path' } + expect(response).not_to have_http_status(301) + end + end - expect(response).to have_http_status(404) + context 'when requesting a redirected path' do + let(:redirect_route) { group.redirect_routes.create(path: 'old-path') } + + it 'returns not found' do + delete :destroy, id: redirect_route.path + + expect(response).to have_http_status(404) + end end end end diff --git a/spec/controllers/projects/labels_controller_spec.rb b/spec/controllers/projects/labels_controller_spec.rb index 05999431d8f..130b0b744b5 100644 --- a/spec/controllers/projects/labels_controller_spec.rb +++ b/spec/controllers/projects/labels_controller_spec.rb @@ -157,4 +157,74 @@ describe Projects::LabelsController do end end end + + describe '#ensure_canonical_path' do + before do + sign_in(user) + end + + context 'for a GET request' do + context 'when requesting the canonical path' do + context 'non-show path' do + context 'with exactly matching casing' do + it 'does not redirect' do + get :index, namespace_id: project.namespace, project_id: project.to_param + + expect(response).not_to have_http_status(301) + end + end + + context 'with different casing' do + it 'redirects to the correct casing' do + get :index, namespace_id: project.namespace, project_id: project.to_param.upcase + + expect(response).to redirect_to(namespace_project_labels_path(project.namespace, project)) + expect(controller).not_to set_flash[:notice] + end + end + end + end + + context 'when requesting a redirected path' do + let!(:redirect_route) { project.redirect_routes.create(path: project.full_path + 'old') } + + it 'redirects to the canonical path' do + get :index, namespace_id: project.namespace, project_id: project.to_param + 'old' + + expect(response).to redirect_to(namespace_project_labels_path(project.namespace, project)) + expect(controller).to set_flash[:notice].to(project_moved_message(redirect_route, project)) + end + end + end + end + + context 'for a non-GET request' do + context 'when requesting the canonical path with different casing' do + it 'does not 404' do + post :generate, namespace_id: project.namespace, project_id: project + + expect(response).not_to have_http_status(404) + end + + it 'does not redirect to the correct casing' do + post :generate, namespace_id: project.namespace, project_id: project + + expect(response).not_to have_http_status(301) + end + end + + context 'when requesting a redirected path' do + let!(:redirect_route) { project.redirect_routes.create(path: project.full_path + 'old') } + + it 'returns not found' do + post :generate, namespace_id: project.namespace, project_id: project.to_param + 'old' + + expect(response).to have_http_status(404) + end + end + end + + def project_moved_message(redirect_route, project) + "Project '#{redirect_route.path}' was moved to '#{project.full_path}'. Please update any links and bookmarks that may still have the old path." + end end diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index e230944d52e..a8be6768a47 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -169,27 +169,6 @@ describe ProjectsController do end end - context "when requested with case sensitive namespace and project path" do - context "when there is a match with the same casing" do - it "loads the project" do - get :show, namespace_id: public_project.namespace, id: public_project - - expect(assigns(:project)).to eq(public_project) - expect(response).to have_http_status(200) - end - end - - context "when there is a match with different casing" do - it "redirects to the normalized path" do - get :show, namespace_id: public_project.namespace, id: public_project.path.upcase - - expect(assigns(:project)).to eq(public_project) - expect(response).to redirect_to("/#{public_project.full_path}") - expect(controller).not_to set_flash[:notice] - end - end - end - context "when the url contains .atom" do let(:public_project_with_dot_atom) { build(:empty_project, :public, name: 'my.atom', path: 'my.atom') } @@ -219,17 +198,6 @@ describe ProjectsController do expect(response).to redirect_to(namespace_project_path) end end - - context 'when requesting a redirected path' do - let!(:redirect_route) { public_project.redirect_routes.create!(path: "foo/bar") } - - it 'redirects to the canonical path' do - get :show, namespace_id: 'foo', id: 'bar' - - expect(response).to redirect_to(public_project) - expect(controller).to set_flash[:notice].to(project_moved_message(redirect_route, public_project)) - end - end end describe "#update" do @@ -256,34 +224,6 @@ describe ProjectsController do expect(assigns(:repository).path).to eq(project.repository.path) expect(response).to have_http_status(302) end - - context 'when requesting the canonical path' do - it "is case-insensitive" do - controller.instance_variable_set(:@project, project) - - put :update, - namespace_id: 'FOo', - id: 'baR', - project: project_params - - expect(project.repository.path).to include(new_path) - expect(assigns(:repository).path).to eq(project.repository.path) - expect(response).to have_http_status(302) - end - end - - context 'when requesting a redirected path' do - let!(:redirect_route) { project.redirect_routes.create!(path: "foo/bar") } - - it 'returns not found' do - put :update, - namespace_id: 'foo', - id: 'bar', - project: project_params - - expect(response).to have_http_status(404) - end - end end describe "#destroy" do @@ -319,31 +259,6 @@ describe ProjectsController do expect(merge_request.reload.state).to eq('closed') end end - - context 'when requesting the canonical path' do - it "is case-insensitive" do - controller.instance_variable_set(:@project, project) - sign_in(admin) - - orig_id = project.id - delete :destroy, namespace_id: project.namespace, id: project.path.upcase - - expect { Project.find(orig_id) }.to raise_error(ActiveRecord::RecordNotFound) - expect(response).to have_http_status(302) - expect(response).to redirect_to(dashboard_projects_path) - end - end - - context 'when requesting a redirected path' do - let!(:redirect_route) { project.redirect_routes.create!(path: "foo/bar") } - - it 'returns not found' do - sign_in(admin) - delete :destroy, namespace_id: 'foo', id: 'bar' - - expect(response).to have_http_status(404) - end - end end describe 'PUT #new_issue_address' do @@ -465,17 +380,6 @@ describe ProjectsController do expect(parsed_body["Tags"]).to include("v1.0.0") expect(parsed_body["Commits"]).to include("123456") end - - context 'when requesting a redirected path' do - let!(:redirect_route) { public_project.redirect_routes.create!(path: "foo/bar") } - - it 'redirects to the canonical path' do - get :refs, namespace_id: 'foo', id: 'bar' - - expect(response).to redirect_to(refs_namespace_project_path(namespace_id: public_project.namespace, id: public_project)) - expect(controller).to set_flash[:notice].to(project_moved_message(redirect_route, public_project)) - end - end end describe 'POST #preview_markdown' do @@ -488,6 +392,109 @@ describe ProjectsController do end end + describe '#ensure_canonical_path' do + before do + sign_in(user) + end + + context 'for a GET request' do + context 'when requesting the canonical path' do + context "with exactly matching casing" do + it "loads the project" do + get :show, namespace_id: public_project.namespace, id: public_project + + expect(assigns(:project)).to eq(public_project) + expect(response).to have_http_status(200) + end + end + + context "with different casing" do + it "redirects to the normalized path" do + get :show, namespace_id: public_project.namespace, id: public_project.path.upcase + + expect(assigns(:project)).to eq(public_project) + expect(response).to redirect_to("/#{public_project.full_path}") + expect(controller).not_to set_flash[:notice] + end + end + end + + context 'when requesting a redirected path' do + let!(:redirect_route) { public_project.redirect_routes.create!(path: "foo/bar") } + + it 'redirects to the canonical path' do + get :show, namespace_id: 'foo', id: 'bar' + + expect(response).to redirect_to(public_project) + expect(controller).to set_flash[:notice].to(project_moved_message(redirect_route, public_project)) + end + + it 'redirects to the canonical path (testing non-show action)' do + get :refs, namespace_id: 'foo', id: 'bar' + + expect(response).to redirect_to(refs_namespace_project_path(namespace_id: public_project.namespace, id: public_project)) + expect(controller).to set_flash[:notice].to(project_moved_message(redirect_route, public_project)) + end + end + end + + context 'for a POST request' do + context 'when requesting the canonical path with different casing' do + it 'does not 404' do + post :toggle_star, namespace_id: public_project.namespace, id: public_project.path.upcase + + expect(response).not_to have_http_status(404) + end + + it 'does not redirect to the correct casing' do + post :toggle_star, namespace_id: public_project.namespace, id: public_project.path.upcase + + expect(response).not_to have_http_status(301) + end + end + + context 'when requesting a redirected path' do + let!(:redirect_route) { public_project.redirect_routes.create!(path: "foo/bar") } + + it 'returns not found' do + post :toggle_star, namespace_id: 'foo', id: 'bar' + + expect(response).to have_http_status(404) + end + end + end + + context 'for a DELETE request' do + before do + sign_in(create(:admin)) + end + + context 'when requesting the canonical path with different casing' do + it 'does not 404' do + delete :destroy, namespace_id: project.namespace, id: project.path.upcase + + expect(response).not_to have_http_status(404) + end + + it 'does not redirect to the correct casing' do + delete :destroy, namespace_id: project.namespace, id: project.path.upcase + + expect(response).not_to have_http_status(301) + end + end + + context 'when requesting a redirected path' do + let!(:redirect_route) { project.redirect_routes.create!(path: "foo/bar") } + + it 'returns not found' do + delete :destroy, namespace_id: 'foo', id: 'bar' + + expect(response).to have_http_status(404) + end + end + end + end + def project_moved_message(redirect_route, project) "Project '#{redirect_route.path}' was moved to '#{project.full_path}'. Please update any links and bookmarks that may still have the old path." end diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index 1d61719f1d0..d33e2ba1e53 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -53,40 +53,6 @@ describe UsersController do end end - context 'when requesting the canonical path' do - let(:user) { create(:user, username: 'CamelCaseUser') } - - before { sign_in(user) } - - context 'with exactly matching casing' do - it 'responds with success' do - get :show, username: user.username - - expect(response).to be_success - end - end - - context 'with different casing' do - it 'redirects to the correct casing' do - get :show, username: user.username.downcase - - expect(response).to redirect_to(user) - expect(controller).not_to set_flash[:notice] - end - end - end - - context 'when requesting a redirected path' do - let(:redirect_route) { user.namespace.redirect_routes.create(path: 'old-username') } - - it 'redirects to the canonical path' do - get :show, username: redirect_route.path - - expect(response).to redirect_to(user) - expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) - end - end - context 'when a user by that username does not exist' do context 'when logged out' do it 'redirects to login page' do @@ -131,40 +97,6 @@ describe UsersController do expect(assigns(:contributions_calendar).projects.count).to eq(2) end end - - context 'when requesting the canonical path' do - let(:user) { create(:user, username: 'CamelCaseUser') } - - before { sign_in(user) } - - context 'with exactly matching casing' do - it 'responds with success' do - get :calendar, username: user.username - - expect(response).to be_success - end - end - - context 'with different casing' do - it 'redirects to the correct casing' do - get :calendar, username: user.username.downcase - - expect(response).to redirect_to(user_calendar_path(user)) - expect(controller).not_to set_flash[:notice] - end - end - end - - context 'when requesting a redirected path' do - let(:redirect_route) { user.namespace.redirect_routes.create(path: 'old-username') } - - it 'redirects to the canonical path' do - get :calendar, username: redirect_route.path - - expect(response).to redirect_to(user_calendar_path(user)) - expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) - end - end end describe 'GET #calendar_activities' do @@ -187,38 +119,6 @@ describe UsersController do get :calendar_activities, username: user.username expect(response).to render_template('calendar_activities') end - - context 'when requesting the canonical path' do - let(:user) { create(:user, username: 'CamelCaseUser') } - - context 'with exactly matching casing' do - it 'responds with success' do - get :calendar_activities, username: user.username - - expect(response).to be_success - end - end - - context 'with different casing' do - it 'redirects to the correct casing' do - get :calendar_activities, username: user.username.downcase - - expect(response).to redirect_to(user_calendar_activities_path(user)) - expect(controller).not_to set_flash[:notice] - end - end - end - - context 'when requesting a redirected path' do - let(:redirect_route) { user.namespace.redirect_routes.create(path: 'old-username') } - - it 'redirects to the canonical path' do - get :calendar_activities, username: redirect_route.path - - expect(response).to redirect_to(user_calendar_activities_path(user)) - expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) - end - end end describe 'GET #snippets' do @@ -241,38 +141,6 @@ describe UsersController do expect(JSON.parse(response.body)).to have_key('html') end end - - context 'when requesting the canonical path' do - let(:user) { create(:user, username: 'CamelCaseUser') } - - context 'with exactly matching casing' do - it 'responds with success' do - get :snippets, username: user.username - - expect(response).to be_success - end - end - - context 'with different casing' do - it 'redirects to the correct casing' do - get :snippets, username: user.username.downcase - - expect(response).to redirect_to(user_snippets_path(user)) - expect(controller).not_to set_flash[:notice] - end - end - end - - context 'when requesting a redirected path' do - let(:redirect_route) { user.namespace.redirect_routes.create(path: 'old-username') } - - it 'redirects to the canonical path' do - get :snippets, username: redirect_route.path - - expect(response).to redirect_to(user_snippets_path(user)) - expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) - end - end end describe 'GET #exists' do @@ -321,6 +189,127 @@ describe UsersController do end end + describe '#ensure_canonical_path' do + before do + sign_in(user) + end + + context 'for a GET request' do + context 'when requesting users at the root path' do + context 'when requesting the canonical path' do + let(:user) { create(:user, username: 'CamelCaseUser') } + + context 'with exactly matching casing' do + it 'responds with success' do + get :show, username: user.username + + expect(response).to be_success + end + end + + context 'with different casing' do + it 'redirects to the correct casing' do + get :show, username: user.username.downcase + + expect(response).to redirect_to(user) + expect(controller).not_to set_flash[:notice] + end + end + end + + context 'when requesting a redirected path' do + let(:redirect_route) { user.namespace.redirect_routes.create(path: 'old-path') } + + it 'redirects to the canonical path' do + get :show, username: redirect_route.path + + expect(response).to redirect_to(user) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) + end + + context 'when the old path is a substring of the scheme or host' do + let(:redirect_route) { user.namespace.redirect_routes.create(path: 'http') } + + it 'does not modify the requested host' do + get :show, username: redirect_route.path + + expect(response).to redirect_to(user) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) + end + end + + context 'when the old path is substring of users' do + let(:redirect_route) { user.namespace.redirect_routes.create(path: 'ser') } + + it 'redirects to the canonical path' do + get :show, username: redirect_route.path + + expect(response).to redirect_to(user) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) + end + end + end + end + + context 'when requesting users under the /users path' do + context 'when requesting the canonical path' do + let(:user) { create(:user, username: 'CamelCaseUser') } + + context 'with exactly matching casing' do + it 'responds with success' do + get :projects, username: user.username + + expect(response).to be_success + end + end + + context 'with different casing' do + it 'redirects to the correct casing' do + get :projects, username: user.username.downcase + + expect(response).to redirect_to(user_projects_path(user)) + expect(controller).not_to set_flash[:notice] + end + end + end + + context 'when requesting a redirected path' do + let(:redirect_route) { user.namespace.redirect_routes.create(path: 'old-path') } + + it 'redirects to the canonical path' do + get :projects, username: redirect_route.path + + expect(response).to redirect_to(user_projects_path(user)) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) + end + + context 'when the old path is a substring of the scheme or host' do + let(:redirect_route) { user.namespace.redirect_routes.create(path: 'http') } + + it 'does not modify the requested host' do + get :projects, username: redirect_route.path + + expect(response).to redirect_to(user_projects_path(user)) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) + end + end + + context 'when the old path is substring of users' do + let(:redirect_route) { user.namespace.redirect_routes.create(path: 'ser') } + + # I.e. /users/ser should not become /ufoos/ser + it 'does not modify the /users part of the path' do + get :projects, username: redirect_route.path + + expect(response).to redirect_to(user_projects_path(user)) + expect(controller).to set_flash[:notice].to(user_moved_message(redirect_route, user)) + end + end + end + end + end + end + def user_moved_message(redirect_route, user) "User '#{redirect_route.path}' was moved to '#{user.full_path}'. Please update any links and bookmarks that may still have the old path." end diff --git a/spec/support/milestone_tabs_examples.rb b/spec/support/milestone_tabs_examples.rb index c69f8e11008..4ad8b0a16e1 100644 --- a/spec/support/milestone_tabs_examples.rb +++ b/spec/support/milestone_tabs_examples.rb @@ -1,7 +1,7 @@ shared_examples 'milestone tabs' do def go(path, extra_params = {}) params = if milestone.is_a?(GlobalMilestone) - { group_id: group.id, id: milestone.safe_title, title: milestone.title } + { group_id: group.to_param, id: milestone.safe_title, title: milestone.title } else { namespace_id: project.namespace.to_param, project_id: project, id: milestone.iid } end -- GitLab From f2768ed6f2066ecec8d57d9194e34601794de0e3 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Fri, 19 May 2017 23:00:56 +0000 Subject: [PATCH 143/249] Merge branch 'bvl-fix-already-renamed-paths' into 'master' Fix incorrect renaming migrations Closes #32526 and #32530 See merge request !11515 --- ...835_rename_users_with_renamed_namespace.rb | 50 +++++++++ ...170518231126_fix_wrongly_renamed_routes.rb | 104 ++++++++++++++++++ db/schema.rb | 3 +- .../fix_wrongly_renamed_routes_spec.rb | 73 ++++++++++++ ...ename_users_with_renamed_namespace_spec.rb | 22 ++++ 5 files changed, 250 insertions(+), 2 deletions(-) create mode 100644 db/post_migrate/20170518200835_rename_users_with_renamed_namespace.rb create mode 100644 db/post_migrate/20170518231126_fix_wrongly_renamed_routes.rb create mode 100644 spec/migrations/fix_wrongly_renamed_routes_spec.rb create mode 100644 spec/migrations/rename_users_with_renamed_namespace_spec.rb diff --git a/db/post_migrate/20170518200835_rename_users_with_renamed_namespace.rb b/db/post_migrate/20170518200835_rename_users_with_renamed_namespace.rb new file mode 100644 index 00000000000..da0fcda87a6 --- /dev/null +++ b/db/post_migrate/20170518200835_rename_users_with_renamed_namespace.rb @@ -0,0 +1,50 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class RenameUsersWithRenamedNamespace < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + DISALLOWED_ROOT_PATHS = %w[ + abuse_reports + api + autocomplete + explore + health_check + import + invites + jwt + koding + member + notification_settings + oauth + sent_notifications + unicorn_test + uploads + users + ] + + def up + DISALLOWED_ROOT_PATHS.each do |path| + users = Arel::Table.new(:users) + namespaces = Arel::Table.new(:namespaces) + predicate = namespaces[:owner_id].eq(users[:id]) + .and(namespaces[:type].eq(nil)) + .and(users[:username].matches(path)) + update_sql = if Gitlab::Database.postgresql? + "UPDATE users SET username = namespaces.path "\ + "FROM namespaces WHERE #{predicate.to_sql}" + else + "UPDATE users INNER JOIN namespaces "\ + "ON namespaces.owner_id = users.id "\ + "SET username = namespaces.path "\ + "WHERE #{predicate.to_sql}" + end + + connection.execute(update_sql) + end + end + + def down + end +end diff --git a/db/post_migrate/20170518231126_fix_wrongly_renamed_routes.rb b/db/post_migrate/20170518231126_fix_wrongly_renamed_routes.rb new file mode 100644 index 00000000000..c78beda9d21 --- /dev/null +++ b/db/post_migrate/20170518231126_fix_wrongly_renamed_routes.rb @@ -0,0 +1,104 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class FixWronglyRenamedRoutes < ActiveRecord::Migration + include Gitlab::Database::RenameReservedPathsMigration::V1 + + DOWNTIME = false + + disable_ddl_transaction! + + DISALLOWED_ROOT_PATHS = %w[ + - + abuse_reports + api + autocomplete + explore + health_check + import + invites + jwt + koding + member + notification_settings + oauth + sent_notifications + unicorn_test + uploads + users + ] + + FIXED_PATHS = DISALLOWED_ROOT_PATHS.map { |p| "#{p}0" } + + class Route < Gitlab::Database::RenameReservedPathsMigration::V1::MigrationClasses::Route + self.table_name = 'routes' + end + + def routes + @routes ||= Route.arel_table + end + + def namespaces + @namespaces ||= Arel::Table.new(:namespaces) + end + + def wildcard_collection(collection) + collection.map { |word| "#{word}%" } + end + + # The routes that got incorrectly renamed before, still have a namespace that + # contains the correct path. + # This query fetches all rows from the `routes` table that meet the following + # conditions using `api` as an example: + # - route.path ILIKE `api0%` + # - route.source_type = `Namespace` + # - namespace.parent_id IS NULL + # - namespace.path ILIKE `api%` + # - NOT(namespace.path ILIKE `api0%`) + # This gives us all root-routes, that were renamed, but their namespace was not. + # + def wrongly_renamed + Route.joins("INNER JOIN namespaces ON routes.source_id = namespaces.id") + .where( + routes[:source_type].eq('Namespace') + .and(namespaces[:parent_id].eq(nil)) + ) + .where(namespaces[:path].matches_any(wildcard_collection(DISALLOWED_ROOT_PATHS))) + .where.not(namespaces[:path].matches_any(wildcard_collection(FIXED_PATHS))) + .where(routes[:path].matches_any(wildcard_collection(FIXED_PATHS))) + end + + # Using the query above, we just fetch the `route.path` & the `namespace.path` + # `route.path` is the part of the route that is now incorrect + # `namespace.path` is what it should be + # We can use `route.path` to find all the namespaces that need to be fixed + # And we can use `namespace.path` to apply the correct name. + # + def paths_and_corrections + connection.select_all( + wrongly_renamed.select(routes[:path], namespaces[:path].as('namespace_path')).to_sql + ) + end + + # This can be used to limit the `update_in_batches` call to all routes for a + # single namespace, note the `/` that's what went wrong in the initial migration. + # + def routes_in_namespace_query(namespace) + routes[:path].matches_any([namespace, "#{namespace}/%"]) + end + + def up + paths_and_corrections.each do |root_namespace| + wrong_path = root_namespace['path'] + correct_path = root_namespace['namespace_path'] + replace_statement = replace_sql(Route.arel_table[:path], wrong_path, correct_path) + + update_column_in_batches(:routes, :path, replace_statement) do |table, query| + query.where(routes_in_namespace_query(wrong_path)) + end + end + end + + def down + end +end diff --git a/db/schema.rb b/db/schema.rb index 0db78259319..f7f0599a237 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,8 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170516183131) do - +ActiveRecord::Schema.define(version: 20170518231126) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" enable_extension "pg_trgm" diff --git a/spec/migrations/fix_wrongly_renamed_routes_spec.rb b/spec/migrations/fix_wrongly_renamed_routes_spec.rb new file mode 100644 index 00000000000..148290b0e7d --- /dev/null +++ b/spec/migrations/fix_wrongly_renamed_routes_spec.rb @@ -0,0 +1,73 @@ +require 'spec_helper' +require Rails.root.join('db', 'post_migrate', '20170518231126_fix_wrongly_renamed_routes.rb') + +describe FixWronglyRenamedRoutes, truncate: true do + let(:subject) { described_class.new } + let(:broken_namespace) do + namespace = create(:group, name: 'apiis') + namespace.route.update_attribute(:path, 'api0is') + namespace + end + + describe '#wrongly_renamed' do + it "includes routes that have names that don't match their namespace" do + broken_namespace + _other_namespace = create(:group, name: 'api0') + + expect(subject.wrongly_renamed.map(&:id)) + .to contain_exactly(broken_namespace.route.id) + end + end + + describe "#paths_and_corrections" do + it 'finds the wrong path and gets the correction from the namespace' do + broken_namespace + namespace = create(:group, name: 'uploads-test') + namespace.route.update_attribute(:path, 'uploads0-test') + + expected_result = [ + { 'namespace_path' => 'apiis', 'path' => 'api0is' }, + { 'namespace_path' => 'uploads-test', 'path' => 'uploads0-test' } + ] + + expect(subject.paths_and_corrections).to include(*expected_result) + end + end + + describe '#routes_in_namespace_query' do + it 'includes only the required routes' do + namespace = create(:group, path: 'hello') + project = create(:empty_project, namespace: namespace) + _other_namespace = create(:group, path: 'hello0') + + result = Route.where(subject.routes_in_namespace_query('hello')) + + expect(result).to contain_exactly(namespace.route, project.route) + end + end + + describe '#up' do + let(:broken_project) do + project = create(:empty_project, namespace: broken_namespace, path: 'broken-project') + project.route.update_attribute(:path, 'api0is/broken-project') + project + end + + it 'renames incorrectly named routes' do + broken_project + + subject.up + + expect(broken_project.route.reload.path).to eq('apiis/broken-project') + expect(broken_namespace.route.reload.path).to eq('apiis') + end + + it "doesn't touch namespaces that look like something that should be renamed" do + namespace = create(:group, path: 'api0') + + subject.up + + expect(namespace.route.reload.path).to eq('api0') + end + end +end diff --git a/spec/migrations/rename_users_with_renamed_namespace_spec.rb b/spec/migrations/rename_users_with_renamed_namespace_spec.rb new file mode 100644 index 00000000000..1e9aab3d9a1 --- /dev/null +++ b/spec/migrations/rename_users_with_renamed_namespace_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' +require Rails.root.join('db', 'post_migrate', '20170518200835_rename_users_with_renamed_namespace.rb') + +describe RenameUsersWithRenamedNamespace, truncate: true do + it 'renames a user that had their namespace renamed to the namespace path' do + other_user = create(:user, username: 'kodingu') + other_user1 = create(:user, username: 'api0') + + user = create(:user, username: "Users0") + user.update_attribute(:username, 'Users') + user1 = create(:user, username: "import0") + user1.update_attribute(:username, 'import') + + described_class.new.up + + expect(user.reload.username).to eq('Users0') + expect(user1.reload.username).to eq('import0') + + expect(other_user.reload.username).to eq('kodingu') + expect(other_user1.reload.username).to eq('api0') + end +end -- GitLab From add9abadbdfac7e4c03b06b47d3afc296e00ac97 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Fri, 19 May 2017 22:02:11 -0600 Subject: [PATCH 144/249] Update VERSION to 9.2.0-rc7 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 161a459e88e..adaca40bf1a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-rc6 +9.2.0-rc7 -- GitLab From 2f097402599dc8c734759e1bef3ec2c4534f594d Mon Sep 17 00:00:00 2001 From: Yorick Peterse <yorickpeterse@gmail.com> Date: Mon, 15 May 2017 22:06:52 +0000 Subject: [PATCH 145/249] [ci skip] Conflicts while picking !11396 into 9-2-stable --- lib/gitlab/database/migration_helpers.rb | 18 ++++++++++++++++++ .../gitlab/database/migration_helpers_spec.rb | 10 ++++++++++ 2 files changed, 28 insertions(+) diff --git a/lib/gitlab/database/migration_helpers.rb b/lib/gitlab/database/migration_helpers.rb index 298b1a1f4e6..73d2bc2a66c 100644 --- a/lib/gitlab/database/migration_helpers.rb +++ b/lib/gitlab/database/migration_helpers.rb @@ -278,6 +278,22 @@ module Gitlab raise 'rename_column_concurrently can not be run inside a transaction' end +<<<<<<< HEAD +======= + old_col = column_for(table, old) + new_type = type || old_col.type + + add_column(table, new, new_type, + limit: old_col.limit, + precision: old_col.precision, + scale: old_col.scale) + + # We set the default value _after_ adding the column so we don't end up + # updating any existing data with the default value. This isn't + # necessary since we copy over old values further down. + change_column_default(table, new, old_col.default) if old_col.default + +>>>>>>> c53d06c4d8... Merge branch 'dm-rename-column-concurrently-with-null' into 'master' trigger_name = rename_trigger_name(table, old, new) quoted_table = quote_table_name(table) quoted_old = quote_column_name(old) @@ -303,6 +319,8 @@ module Gitlab update_column_in_batches(table, new, Arel::Table.new(table)[old]) + change_column_null(table, new, false) unless old_col.null + copy_indexes(table, old, new) copy_foreign_keys(table, old, new) end diff --git a/spec/lib/gitlab/database/migration_helpers_spec.rb b/spec/lib/gitlab/database/migration_helpers_spec.rb index 737fac14f92..942635d3dae 100644 --- a/spec/lib/gitlab/database/migration_helpers_spec.rb +++ b/spec/lib/gitlab/database/migration_helpers_spec.rb @@ -382,13 +382,18 @@ describe Gitlab::Database::MigrationHelpers, lib: true do expect(model).to receive(:add_column). with(:users, :new, :integer, limit: old_column.limit, +<<<<<<< HEAD default: old_column.default, null: old_column.null, +======= +>>>>>>> c53d06c4d8... Merge branch 'dm-rename-column-concurrently-with-null' into 'master' precision: old_column.precision, scale: old_column.scale) expect(model).to receive(:update_column_in_batches) + expect(model).to receive(:change_column_null).with(:users, :new, false) + expect(model).to receive(:copy_indexes).with(:users, :old, :new) expect(model).to receive(:copy_foreign_keys).with(:users, :old, :new) @@ -406,13 +411,18 @@ describe Gitlab::Database::MigrationHelpers, lib: true do expect(model).to receive(:add_column). with(:users, :new, :integer, limit: old_column.limit, +<<<<<<< HEAD default: old_column.default, null: old_column.null, +======= +>>>>>>> c53d06c4d8... Merge branch 'dm-rename-column-concurrently-with-null' into 'master' precision: old_column.precision, scale: old_column.scale) expect(model).to receive(:update_column_in_batches) + expect(model).to receive(:change_column_null).with(:users, :new, false) + expect(model).to receive(:copy_indexes).with(:users, :old, :new) expect(model).to receive(:copy_foreign_keys).with(:users, :old, :new) -- GitLab From 0007e5bde3fdb87982f16eaf530ae0ea7d90f512 Mon Sep 17 00:00:00 2001 From: Bob Van Landuyt <bob@gitlab.com> Date: Fri, 19 May 2017 07:48:33 +0200 Subject: [PATCH 146/249] Resolve migration helper conflicts From `master` --- lib/gitlab/database/migration_helpers.rb | 13 ------------- .../gitlab/database/migration_helpers_spec.rb | 16 ++++++---------- 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/lib/gitlab/database/migration_helpers.rb b/lib/gitlab/database/migration_helpers.rb index 73d2bc2a66c..e76c9abbe04 100644 --- a/lib/gitlab/database/migration_helpers.rb +++ b/lib/gitlab/database/migration_helpers.rb @@ -278,8 +278,6 @@ module Gitlab raise 'rename_column_concurrently can not be run inside a transaction' end -<<<<<<< HEAD -======= old_col = column_for(table, old) new_type = type || old_col.type @@ -293,7 +291,6 @@ module Gitlab # necessary since we copy over old values further down. change_column_default(table, new, old_col.default) if old_col.default ->>>>>>> c53d06c4d8... Merge branch 'dm-rename-column-concurrently-with-null' into 'master' trigger_name = rename_trigger_name(table, old, new) quoted_table = quote_table_name(table) quoted_old = quote_column_name(old) @@ -307,16 +304,6 @@ module Gitlab quoted_old, quoted_new) end - old_col = column_for(table, old) - new_type = type || old_col.type - - add_column(table, new, new_type, - limit: old_col.limit, - default: old_col.default, - null: old_col.null, - precision: old_col.precision, - scale: old_col.scale) - update_column_in_batches(table, new, Arel::Table.new(table)[old]) change_column_null(table, new, false) unless old_col.null diff --git a/spec/lib/gitlab/database/migration_helpers_spec.rb b/spec/lib/gitlab/database/migration_helpers_spec.rb index 942635d3dae..dfa3ae9142e 100644 --- a/spec/lib/gitlab/database/migration_helpers_spec.rb +++ b/spec/lib/gitlab/database/migration_helpers_spec.rb @@ -382,14 +382,12 @@ describe Gitlab::Database::MigrationHelpers, lib: true do expect(model).to receive(:add_column). with(:users, :new, :integer, limit: old_column.limit, -<<<<<<< HEAD - default: old_column.default, - null: old_column.null, -======= ->>>>>>> c53d06c4d8... Merge branch 'dm-rename-column-concurrently-with-null' into 'master' precision: old_column.precision, scale: old_column.scale) + expect(model).to receive(:change_column_default). + with(:users, :new, old_column.default) + expect(model).to receive(:update_column_in_batches) expect(model).to receive(:change_column_null).with(:users, :new, false) @@ -411,14 +409,12 @@ describe Gitlab::Database::MigrationHelpers, lib: true do expect(model).to receive(:add_column). with(:users, :new, :integer, limit: old_column.limit, -<<<<<<< HEAD - default: old_column.default, - null: old_column.null, -======= ->>>>>>> c53d06c4d8... Merge branch 'dm-rename-column-concurrently-with-null' into 'master' precision: old_column.precision, scale: old_column.scale) + expect(model).to receive(:change_column_default). + with(:users, :new, old_column.default) + expect(model).to receive(:update_column_in_batches) expect(model).to receive(:change_column_null).with(:users, :new, false) -- GitLab From 539d9a0044ec82b5526031eed2e749476022e7e8 Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Mon, 22 May 2017 11:59:10 +0000 Subject: [PATCH 147/249] Merge branch 'fix-retried-for-mysql' into 'master' Fixes broken MySQL migration for retried Closes #32647 See merge request !11593 Conflicts: db/post_migrate/20170503004427_upate_retried_for_ci_build.rb --- ...170503004427_upate_retried_for_ci_build.rb | 57 +++++++++++++++++++ .../upate_retried_for_ci_builds_spec.rb | 17 ++++++ 2 files changed, 74 insertions(+) create mode 100644 spec/migrations/upate_retried_for_ci_builds_spec.rb diff --git a/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb b/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb index 80215d662e4..ab43dd923d2 100644 --- a/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb +++ b/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb @@ -8,6 +8,7 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration def up disable_statement_timeout +<<<<<<< HEAD latest_id = <<-SQL.strip_heredoc SELECT MAX(ci_builds2.id) FROM ci_builds ci_builds2 @@ -25,5 +26,61 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration end def down +======= + if Gitlab::Database.mysql? + up_mysql + else + up_postgres + end + end + + def down + end + + private + + def up_mysql + # This is a trick to overcome MySQL limitation: + # Mysql2::Error: Table 'ci_builds' is specified twice, both as a target for 'UPDATE' and as a separate source for data + # However, this leads to create a temporary table from `max(ci_builds.id)` which is slow and do full database update + execute <<-SQL.strip_heredoc + UPDATE ci_builds SET retried= + (id NOT IN ( + SELECT * FROM (SELECT MAX(ci_builds.id) FROM ci_builds GROUP BY commit_id, name) AS latest_jobs + )) + WHERE retried IS NULL + SQL + end + + def up_postgres + with_temporary_partial_index do + latest_id = <<-SQL.strip_heredoc + SELECT MAX(ci_builds2.id) + FROM ci_builds ci_builds2 + WHERE ci_builds.commit_id=ci_builds2.commit_id + AND ci_builds.name=ci_builds2.name + SQL + + # This is slow update as it does single-row query + # This is designed to be run as idle, or a post deployment migration + is_retried = Arel.sql("((#{latest_id}) != ci_builds.id)") + + update_column_in_batches(:ci_builds, :retried, is_retried) do |table, query| + query.where(table[:retried].eq(nil)) + end + end + end + + def with_temporary_partial_index + if Gitlab::Database.postgresql? + execute 'CREATE INDEX CONCURRENTLY IF NOT EXISTS index_for_ci_builds_retried_migration ON ci_builds (id) WHERE retried IS NULL;' + end + + yield + + if Gitlab::Database.postgresql? + execute 'DROP INDEX CONCURRENTLY IF EXISTS index_for_ci_builds_retried_migration' + end +>>>>>>> 7f31768... Merge branch 'fix-retried-for-mysql' into 'master' end end diff --git a/spec/migrations/upate_retried_for_ci_builds_spec.rb b/spec/migrations/upate_retried_for_ci_builds_spec.rb new file mode 100644 index 00000000000..5cdb8a3c7da --- /dev/null +++ b/spec/migrations/upate_retried_for_ci_builds_spec.rb @@ -0,0 +1,17 @@ +require 'spec_helper' +require Rails.root.join('db', 'post_migrate', '20170503004427_upate_retried_for_ci_build.rb') + +describe UpateRetriedForCiBuild, truncate: true do + let(:pipeline) { create(:ci_pipeline) } + let!(:build_old) { create(:ci_build, pipeline: pipeline, name: 'test') } + let!(:build_new) { create(:ci_build, pipeline: pipeline, name: 'test') } + + before do + described_class.new.up + end + + it 'updates ci_builds.is_retried' do + expect(build_old.reload).to be_retried + expect(build_new.reload).not_to be_retried + end +end -- GitLab From c2bd48fadf505c83c90b3e10a1385e9be0d803e0 Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin <godfat@godfat.org> Date: Mon, 22 May 2017 20:07:28 +0800 Subject: [PATCH 148/249] Resolve conflicts, using changes from master --- ...170503004427_upate_retried_for_ci_build.rb | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb b/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb index ab43dd923d2..3096c54acb7 100644 --- a/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb +++ b/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb @@ -2,31 +2,12 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration include Gitlab::Database::MigrationHelpers DOWNTIME = false - + disable_ddl_transaction! def up disable_statement_timeout -<<<<<<< HEAD - latest_id = <<-SQL.strip_heredoc - SELECT MAX(ci_builds2.id) - FROM ci_builds ci_builds2 - WHERE ci_builds.commit_id=ci_builds2.commit_id - AND ci_builds.name=ci_builds2.name - SQL - - # This is slow update as it does single-row query - # This is designed to be run as idle, or a post deployment migration - is_retried = Arel.sql("((#{latest_id}) != ci_builds.id)") - - update_column_in_batches(:ci_builds, :retried, is_retried) do |table, query| - query.where(table[:retried].eq(nil)) - end - end - - def down -======= if Gitlab::Database.mysql? up_mysql else @@ -40,7 +21,7 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration private def up_mysql - # This is a trick to overcome MySQL limitation: + # This is a trick to overcome MySQL limitation: # Mysql2::Error: Table 'ci_builds' is specified twice, both as a target for 'UPDATE' and as a separate source for data # However, this leads to create a temporary table from `max(ci_builds.id)` which is slow and do full database update execute <<-SQL.strip_heredoc @@ -81,6 +62,5 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration if Gitlab::Database.postgresql? execute 'DROP INDEX CONCURRENTLY IF EXISTS index_for_ci_builds_retried_migration' end ->>>>>>> 7f31768... Merge branch 'fix-retried-for-mysql' into 'master' end end -- GitLab From 6118b3d2155f7daa7eda8f5b985ca08713e60aed Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin <godfat@godfat.org> Date: Mon, 22 May 2017 15:27:43 +0000 Subject: [PATCH 149/249] Update CHANGELOG.md for 9.2.0 [ci skip] --- CHANGELOG.md | 200 ++++++++++++++++++ .../12910-personal-snippet-prep-2.yml | 4 - .../12910-personal-snippets-notes-show.yml | 4 - .../12910-personal-snippets-notes.yml | 4 - .../12910-uploader-pers-snippet.yml | 4 - .../unreleased/1440-db-backup-ssl-support.yml | 4 - .../17361-redirect-renamed-paths.yml | 4 - changelogs/unreleased/19364-webhook-edit.yml | 4 - .../20378-natural-sort-issue-numbers.yml | 4 - .../21683-show-created-group-name-flash.yml | 4 - ...arded-to-service-desk-email-don-t-come.yml | 4 - ...714-update-all-instances-of-fa-refresh.yml | 4 - ...t-files-views-find-file-button-missing.yml | 4 - ...51-add-contribution-graph-key-tooltips.yml | 4 - .../24883-build-failure-summary-page.yml | 4 - .../25226-realtime-pipelines-fe.yml | 4 - .../unreleased/26208-animate-drodowns.yml | 4 - changelogs/unreleased/26437-closed-by.yml | 4 - .../unreleased/26488-target-disabled-mr.yml | 4 - .../unreleased/26509-show-update-time.yml | 4 - .../26585-remove-readme-view-caching.yml | 4 - ...26883-members-page-layout-looks-broken.yml | 4 - ...27376-bvl-load-pipelinestatus-in-batch.yml | 4 - .../unreleased/27614-instant-comments.yml | 4 - ...655-clear-emoji-search-after-selection.yml | 4 - .../27729-improve-webpack-dev-environment.yml | 4 - .../unreleased/27827-cleanup-markdown.yml | 4 - .../28017-separate-ce-params-on-api.yml | 4 - ...ove-todo-list-when-comes-from-yourself.yml | 4 - .../28202_decrease_abc_threshold_step1.yml | 4 - ...nclude-search-options-to-pipelines-api.yml | 4 - .../28457-slash-command-board-move.yml | 4 - ...8558-create-new-branch-from-issue-page.yml | 4 - .../unreleased/28575-expand-collapse-look.yml | 4 - ...es-if-they-don-have-permission-to-push.yml | 4 - ...9056-backport-ee-cleanup-database-file.yml | 4 - changelogs/unreleased/29145-oauth-422.yml | 4 - ...ers-projects-builds-controller-spec-rb.yml | 4 - ...505-allow-admins-sudo-to-blocked-users.yml | 4 - .../29595-customize-experience-callout.yml | 4 - ...-deploy-key-more-than-once-through-api.yml | 4 - .../29712-unnecessary-wait-for-ajax.yml | 4 - ...plays-button-to-control-manual-actions.yml | 4 - ...01-add-slash-slack-commands-to-api-doc.yml | 5 - ...eyboard-shortcut-for-editing-wiki-page.yml | 4 - ...903-remove-user-is-admin-flag-from-api.yml | 4 - ...onger-send-absolute-paths-to-gitlab-ce.yml | 4 - ...nts-and-system-notes-real-time-updates.yml | 4 - .../30007-done-todo-hover-state.yml | 4 - .../30272-bvl-reject-more-namespaces.yml | 4 - .../unreleased/30286-ci-badge-component.yml | 4 - .../30305-oauth-token-push-code.yml | 4 - .../30349-create-users-build-service.yml | 4 - .../unreleased/30458-real-time-note-edits.yml | 4 - .../30466-click-x-to-remove-filter.yml | 4 - .../30484-profile-dropdown-account-name.yml | 4 - ...emove-pages-tab-if-pages-isn-t-enabled.yml | 4 - ...ages-is-enabled-in-the-admin-dashboard.yml | 4 - ...ing-new-label-on-new-issue-causing-bug.yml | 4 - .../30672-versioned-markdown-cache.yml | 4 - .../30678-improve-dev-server-process.yml | 4 - .../30903-vertically-align-mini-pipeline.yml | 4 - ...-network-graph-sorted-by-date-and-topo.yml | 4 - ...s-on-services-when-repository-is-empty.yml | 4 - ...-along-left-side-of-assignees-dropdown.yml | 4 - .../unreleased/31106-tabs-alignment.yml | 4 - ...ettings-for-services-in-empty-projects.yml | 4 - .../31156-environments-vue-service.yml | 4 - ...espect-project-features-in-wiki-search.yml | 4 - changelogs/unreleased/31193-ff-copy.yml | 4 - ...-git-commit-command-in-existing-folder.yml | 4 - ...http-500-when-accessing-settings-ci_cd.yml | 4 - ..._cyclomatic_complexity_threshold_step1.yml | 4 - ...31383-admin-remove-user-text-incorrect.yml | 4 - .../31544-size-of-project-from-api.yml | 4 - changelogs/unreleased/31558-job-dropdown.yml | 4 - .../31560-workhose-gitaly-from-mirror.yml | 4 - .../31647-fix-snippet-content_html.yml | 4 - ...uest-message-contains-carriage-returns.yml | 4 - .../31689-request-access-spacing.yml | 4 - ...31704-misaligned-buttons-in-wiki-pages.yml | 4 - .../31760-add-tooltips-to-note-actions.yml | 4 - changelogs/unreleased/31810-commit-link.yml | 4 - .../31886-remover-comment-load-spinner.yml | 4 - .../unreleased/31978-cross-reference-fix.yml | 4 - .../32178-prevent-merge-on-sha-change.yml | 4 - .../6260-frontend-prevent-authored-votes.yml | 4 - changelogs/unreleased/add-aria-to-icon.yml | 4 - .../add-tanuki-ci-status-favicons.yml | 4 - .../add-username-to-activity-feed.yml | 4 - changelogs/unreleased/add-vue-loader.yml | 4 - .../add_index_on_ci_builds_user_id.yml | 4 - .../add_system_note_for_editing_issuable.yml | 4 - ...ays-show-latest-pipeline-in-commit-box.yml | 4 - .../unreleased/async-milestone-tabs.yml | 4 - changelogs/unreleased/balsalmiq-support.yml | 4 - changelogs/unreleased/bb_save_trace.yml | 5 - .../unreleased/boards-done-add-tooltip.yml | 4 - changelogs/unreleased/branch-name-escape.yml | 4 - changelogs/unreleased/bvl-markup-pipeline.yml | 4 - ...vl-validate-urls-in-markdown-using-uri.yml | 4 - .../commit-limited-container-width.yml | 4 - .../unreleased/deploy-keys-load-async.yml | 4 - .../diff-discussion-buttons-spacing.yml | 4 - .../unreleased/disable-usage-ping-2.yml | 4 - changelogs/unreleased/disable-usage-ping.yml | 4 - .../unreleased/dm-artifact-blob-viewer.yml | 4 - .../unreleased/dm-artifact-browser-header.yml | 4 - .../unreleased/dm-blob-download-button.yml | 4 - changelogs/unreleased/dm-blob-viewers.yml | 5 - changelogs/unreleased/dm-catch-uri-errors.yml | 4 - .../dm-comment-on-diff-versions.yml | 4 - .../dm-copy-mr-source-branch-as-gfm.yml | 4 - ...m-fix-position-tracer-for-hidden-lines.yml | 5 - .../dm-link-discussion-to-outdated-diff.yml | 4 - changelogs/unreleased/dm-sidekiq-5.yml | 4 - .../unreleased/dm-snippet-blob-viewers.yml | 4 - .../unreleased/dm-snippet-download-button.yml | 4 - changelogs/unreleased/dm-video-viewer.yml | 4 - ...up-when-email-has-no-references-header.yml | 5 - .../unreleased/dz-cleanup-add-users.yml | 4 - .../dz-refactor-admin-group-members.yml | 4 - .../unreleased/dz-refactor-create-members.yml | 4 - .../unreleased/dz-remove-repo-version.yml | 4 - changelogs/unreleased/emoji-button-titles.yml | 4 - .../unreleased/empty-task-list-alignment.yml | 4 - .../environments-button-open-same-tab.yml | 5 - ...actions-protected-branches-permissions.yml | 4 - .../unreleased/fix-admin-integrations.yml | 4 - .../fix-allow-accessing-appearance-images.yml | 4 - ...conflict-resolution-with-corrupt-repos.yml | 5 - .../fix-gb-fix-skipped-manual-actions.yml | 4 - ...ent-external-url-btn-when-not-provided.yml | 4 - .../fix-import-export-missing-attributes.yml | 4 - ...link-prometheus-opening-outside-gitlab.yml | 4 - .../fix-n-plus-one-project-features.yml | 4 - .../unreleased/fix-notify-post-receive.yml | 4 - .../fix-search-not-highlighting.yml | 4 - .../fix-trailing-space-mr-widget.yml | 4 - ...-profile-tabs-showing-raw-json-instead.yml | 5 - changelogs/unreleased/fix-web_hooks-index.yml | 4 - .../fix_build_header_line_height.yml | 4 - .../fix_cache_expiration_in_repository.yml | 4 - changelogs/unreleased/fix_emoji_parser.yml | 4 - changelogs/unreleased/fix_link_in_readme.yml | 4 - .../unreleased/fix_spaces_in_label_title.yml | 4 - .../form-focus-previous-incorrect-form.yml | 4 - changelogs/unreleased/get_rid_of_pluck.yml | 4 - .../unreleased/gl-version-backup-file.yml | 4 - .../group-assignee-dropdown-send-group-id.yml | 4 - changelogs/unreleased/hamlit-xss-fix.yml | 4 - .../unreleased/implement-i18n-support.yml | 4 - .../unreleased/issue-boards-no-avatar.yml | 4 - ...rds-sidebar-create-new-label-404-error.yml | 4 - .../issue-title-description-realtime.yml | 4 - changelogs/unreleased/issue_api_change.yml | 5 - .../make_markdown_tables_thinner.yml | 4 - .../merge-request-poll-json-endpoint.yml | 4 - .../unreleased/metrics-graph-error-fix.yml | 4 - .../milestone-not-showing-correctly-title.yml | 4 - changelogs/unreleased/more-mr-filters.yml | 4 - changelogs/unreleased/move-search-labels.yml | 4 - .../unreleased/mr-diff-size-overflow.yml | 4 - .../unreleased/mrchrisw-22740-merge-api.yml | 4 - .../unreleased/mrchrisw-fix-slack-notify.yml | 4 - .../mrchrisw-import-shell-timeout.yml | 4 - ...-shell-repositories-path-group-is-root.yml | 4 - .../unreleased/optimise-pipelines-json.yml | 4 - .../pipeline-schedules-callout-docs-url.yml | 4 - .../preview-separate-slash-commands.yml | 4 - ...rometheus-integration-test-setting-fix.yml | 4 - .../unreleased/query-users-by-extern-uid.yml | 4 - ...elated-branch-ci-status-icon-alignment.yml | 4 - ...-double-newline-for-single-attachments.yml | 4 - .../unreleased/replace_header_mr_icon.yml | 4 - .../unreleased/reset-new-branch-button.yml | 4 - .../right-sidebar-closed-default-mobile.yml | 4 - .../unreleased/rs-sanitize-submodule-urls.yml | 4 - .../unreleased/sh-bump-sidekiq-version.yml | 4 - ...-optimize-duplicate-routable-full-path.yml | 4 - .../unreleased/snippets-finder-visibility.yml | 4 - changelogs/unreleased/snippets_visibility.yml | 4 - changelogs/unreleased/spec_for_schema.yml | 4 - ...tore-retried-in-database-for-ci-builds.yml | 4 - .../unreleased/submodules-no-dotgit.yml | 4 - changelogs/unreleased/tags-sort-default.yml | 4 - .../tc-fix-private-subgroups-shown.yml | 4 - changelogs/unreleased/tc-job-page-mr-bold.yml | 4 - .../tc-make-user-master-project-by-admin.yml | 4 - .../unreleased/uassign_on_member_removing.yml | 4 - .../use-hashie-forbidden_attributes.yml | 4 - .../unreleased/user-activity-scroll-bar.yml | 4 - .../winh-german-cycle-analytics.yml | 4 - .../unreleased/winh-visual-token-labels.yml | 4 - .../zj-better-view-pipeline-schedule.yml | 4 - .../zj-chat-message-pretty-time.yml | 4 - changelogs/unreleased/zj-dockerfiles.yml | 4 - .../unreleased/zj-real-time-pipelines.yml | 4 - 198 files changed, 200 insertions(+), 797 deletions(-) delete mode 100644 changelogs/unreleased/12910-personal-snippet-prep-2.yml delete mode 100644 changelogs/unreleased/12910-personal-snippets-notes-show.yml delete mode 100644 changelogs/unreleased/12910-personal-snippets-notes.yml delete mode 100644 changelogs/unreleased/12910-uploader-pers-snippet.yml delete mode 100644 changelogs/unreleased/1440-db-backup-ssl-support.yml delete mode 100644 changelogs/unreleased/17361-redirect-renamed-paths.yml delete mode 100644 changelogs/unreleased/19364-webhook-edit.yml delete mode 100644 changelogs/unreleased/20378-natural-sort-issue-numbers.yml delete mode 100644 changelogs/unreleased/21683-show-created-group-name-flash.yml delete mode 100644 changelogs/unreleased/2247-emails-forwarded-to-service-desk-email-don-t-come.yml delete mode 100644 changelogs/unreleased/22714-update-all-instances-of-fa-refresh.yml delete mode 100644 changelogs/unreleased/22826-ui-inconsistency-different-files-views-find-file-button-missing.yml delete mode 100644 changelogs/unreleased/23751-add-contribution-graph-key-tooltips.yml delete mode 100644 changelogs/unreleased/24883-build-failure-summary-page.yml delete mode 100644 changelogs/unreleased/25226-realtime-pipelines-fe.yml delete mode 100644 changelogs/unreleased/26208-animate-drodowns.yml delete mode 100644 changelogs/unreleased/26437-closed-by.yml delete mode 100644 changelogs/unreleased/26488-target-disabled-mr.yml delete mode 100644 changelogs/unreleased/26509-show-update-time.yml delete mode 100644 changelogs/unreleased/26585-remove-readme-view-caching.yml delete mode 100644 changelogs/unreleased/26883-members-page-layout-looks-broken.yml delete mode 100644 changelogs/unreleased/27376-bvl-load-pipelinestatus-in-batch.yml delete mode 100644 changelogs/unreleased/27614-instant-comments.yml delete mode 100644 changelogs/unreleased/27655-clear-emoji-search-after-selection.yml delete mode 100644 changelogs/unreleased/27729-improve-webpack-dev-environment.yml delete mode 100644 changelogs/unreleased/27827-cleanup-markdown.yml delete mode 100644 changelogs/unreleased/28017-separate-ce-params-on-api.yml delete mode 100644 changelogs/unreleased/28020-improve-todo-list-when-comes-from-yourself.yml delete mode 100644 changelogs/unreleased/28202_decrease_abc_threshold_step1.yml delete mode 100644 changelogs/unreleased/28408-feature-proposal-include-search-options-to-pipelines-api.yml delete mode 100644 changelogs/unreleased/28457-slash-command-board-move.yml delete mode 100644 changelogs/unreleased/28558-create-new-branch-from-issue-page.yml delete mode 100644 changelogs/unreleased/28575-expand-collapse-look.yml delete mode 100644 changelogs/unreleased/28968-prevent-people-from-creating-branches-if-they-don-have-permission-to-push.yml delete mode 100644 changelogs/unreleased/29056-backport-ee-cleanup-database-file.yml delete mode 100644 changelogs/unreleased/29145-oauth-422.yml delete mode 100644 changelogs/unreleased/29181-add-more-tests-for-spec-controllers-projects-builds-controller-spec-rb.yml delete mode 100644 changelogs/unreleased/29505-allow-admins-sudo-to-blocked-users.yml delete mode 100644 changelogs/unreleased/29595-customize-experience-callout.yml delete mode 100644 changelogs/unreleased/29673-500-internal-server-error-when-enabling-a-deploy-key-more-than-once-through-api.yml delete mode 100644 changelogs/unreleased/29712-unnecessary-wait-for-ajax.yml delete mode 100644 changelogs/unreleased/29734-prometheus-monitoring-page-displays-button-to-control-manual-actions.yml delete mode 100644 changelogs/unreleased/29801-add-slash-slack-commands-to-api-doc.yml delete mode 100644 changelogs/unreleased/29816-create-keyboard-shortcut-for-editing-wiki-page.yml delete mode 100644 changelogs/unreleased/29903-remove-user-is-admin-flag-from-api.yml delete mode 100644 changelogs/unreleased/29925-gitlab-shell-hooks-can-no-longer-send-absolute-paths-to-gitlab-ce.yml delete mode 100644 changelogs/unreleased/29977-style-comments-and-system-notes-real-time-updates.yml delete mode 100644 changelogs/unreleased/30007-done-todo-hover-state.yml delete mode 100644 changelogs/unreleased/30272-bvl-reject-more-namespaces.yml delete mode 100644 changelogs/unreleased/30286-ci-badge-component.yml delete mode 100644 changelogs/unreleased/30305-oauth-token-push-code.yml delete mode 100644 changelogs/unreleased/30349-create-users-build-service.yml delete mode 100644 changelogs/unreleased/30458-real-time-note-edits.yml delete mode 100644 changelogs/unreleased/30466-click-x-to-remove-filter.yml delete mode 100644 changelogs/unreleased/30484-profile-dropdown-account-name.yml delete mode 100644 changelogs/unreleased/30529-remove-pages-tab-if-pages-isn-t-enabled.yml delete mode 100644 changelogs/unreleased/30535-display-whether-pages-is-enabled-in-the-admin-dashboard.yml delete mode 100644 changelogs/unreleased/30667-creating-new-label-on-new-issue-causing-bug.yml delete mode 100644 changelogs/unreleased/30672-versioned-markdown-cache.yml delete mode 100644 changelogs/unreleased/30678-improve-dev-server-process.yml delete mode 100644 changelogs/unreleased/30903-vertically-align-mini-pipeline.yml delete mode 100644 changelogs/unreleased/30973-network-graph-sorted-by-date-and-topo.yml delete mode 100644 changelogs/unreleased/31009-disable-test-settings-on-services-when-repository-is-empty.yml delete mode 100644 changelogs/unreleased/31057-unnecessary-padding-along-left-side-of-assignees-dropdown.yml delete mode 100644 changelogs/unreleased/31106-tabs-alignment.yml delete mode 100644 changelogs/unreleased/31138-improve-test-settings-for-services-in-empty-projects.yml delete mode 100644 changelogs/unreleased/31156-environments-vue-service.yml delete mode 100644 changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml delete mode 100644 changelogs/unreleased/31193-ff-copy.yml delete mode 100644 changelogs/unreleased/31254-change-git-commit-command-in-existing-folder.yml delete mode 100644 changelogs/unreleased/31274-creating-schedule-trigger--causes-http-500-when-accessing-settings-ci_cd.yml delete mode 100644 changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step1.yml delete mode 100644 changelogs/unreleased/31383-admin-remove-user-text-incorrect.yml delete mode 100644 changelogs/unreleased/31544-size-of-project-from-api.yml delete mode 100644 changelogs/unreleased/31558-job-dropdown.yml delete mode 100644 changelogs/unreleased/31560-workhose-gitaly-from-mirror.yml delete mode 100644 changelogs/unreleased/31647-fix-snippet-content_html.yml delete mode 100644 changelogs/unreleased/31671-merge-request-message-contains-carriage-returns.yml delete mode 100644 changelogs/unreleased/31689-request-access-spacing.yml delete mode 100644 changelogs/unreleased/31704-misaligned-buttons-in-wiki-pages.yml delete mode 100644 changelogs/unreleased/31760-add-tooltips-to-note-actions.yml delete mode 100644 changelogs/unreleased/31810-commit-link.yml delete mode 100644 changelogs/unreleased/31886-remover-comment-load-spinner.yml delete mode 100644 changelogs/unreleased/31978-cross-reference-fix.yml delete mode 100644 changelogs/unreleased/32178-prevent-merge-on-sha-change.yml delete mode 100644 changelogs/unreleased/6260-frontend-prevent-authored-votes.yml delete mode 100644 changelogs/unreleased/add-aria-to-icon.yml delete mode 100644 changelogs/unreleased/add-tanuki-ci-status-favicons.yml delete mode 100644 changelogs/unreleased/add-username-to-activity-feed.yml delete mode 100644 changelogs/unreleased/add-vue-loader.yml delete mode 100644 changelogs/unreleased/add_index_on_ci_builds_user_id.yml delete mode 100644 changelogs/unreleased/add_system_note_for_editing_issuable.yml delete mode 100644 changelogs/unreleased/always-show-latest-pipeline-in-commit-box.yml delete mode 100644 changelogs/unreleased/async-milestone-tabs.yml delete mode 100644 changelogs/unreleased/balsalmiq-support.yml delete mode 100644 changelogs/unreleased/bb_save_trace.yml delete mode 100644 changelogs/unreleased/boards-done-add-tooltip.yml delete mode 100644 changelogs/unreleased/branch-name-escape.yml delete mode 100644 changelogs/unreleased/bvl-markup-pipeline.yml delete mode 100644 changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml delete mode 100644 changelogs/unreleased/commit-limited-container-width.yml delete mode 100644 changelogs/unreleased/deploy-keys-load-async.yml delete mode 100644 changelogs/unreleased/diff-discussion-buttons-spacing.yml delete mode 100644 changelogs/unreleased/disable-usage-ping-2.yml delete mode 100644 changelogs/unreleased/disable-usage-ping.yml delete mode 100644 changelogs/unreleased/dm-artifact-blob-viewer.yml delete mode 100644 changelogs/unreleased/dm-artifact-browser-header.yml delete mode 100644 changelogs/unreleased/dm-blob-download-button.yml delete mode 100644 changelogs/unreleased/dm-blob-viewers.yml delete mode 100644 changelogs/unreleased/dm-catch-uri-errors.yml delete mode 100644 changelogs/unreleased/dm-comment-on-diff-versions.yml delete mode 100644 changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml delete mode 100644 changelogs/unreleased/dm-fix-position-tracer-for-hidden-lines.yml delete mode 100644 changelogs/unreleased/dm-link-discussion-to-outdated-diff.yml delete mode 100644 changelogs/unreleased/dm-sidekiq-5.yml delete mode 100644 changelogs/unreleased/dm-snippet-blob-viewers.yml delete mode 100644 changelogs/unreleased/dm-snippet-download-button.yml delete mode 100644 changelogs/unreleased/dm-video-viewer.yml delete mode 100644 changelogs/unreleased/dont-blow-up-when-email-has-no-references-header.yml delete mode 100644 changelogs/unreleased/dz-cleanup-add-users.yml delete mode 100644 changelogs/unreleased/dz-refactor-admin-group-members.yml delete mode 100644 changelogs/unreleased/dz-refactor-create-members.yml delete mode 100644 changelogs/unreleased/dz-remove-repo-version.yml delete mode 100644 changelogs/unreleased/emoji-button-titles.yml delete mode 100644 changelogs/unreleased/empty-task-list-alignment.yml delete mode 100644 changelogs/unreleased/environments-button-open-same-tab.yml delete mode 100644 changelogs/unreleased/feature-gb-manual-actions-protected-branches-permissions.yml delete mode 100644 changelogs/unreleased/fix-admin-integrations.yml delete mode 100644 changelogs/unreleased/fix-allow-accessing-appearance-images.yml delete mode 100644 changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml delete mode 100644 changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml delete mode 100644 changelogs/unreleased/fix-gb-hide-environment-external-url-btn-when-not-provided.yml delete mode 100644 changelogs/unreleased/fix-import-export-missing-attributes.yml delete mode 100644 changelogs/unreleased/fix-link-prometheus-opening-outside-gitlab.yml delete mode 100644 changelogs/unreleased/fix-n-plus-one-project-features.yml delete mode 100644 changelogs/unreleased/fix-notify-post-receive.yml delete mode 100644 changelogs/unreleased/fix-search-not-highlighting.yml delete mode 100644 changelogs/unreleased/fix-trailing-space-mr-widget.yml delete mode 100644 changelogs/unreleased/fix-user-profile-tabs-showing-raw-json-instead.yml delete mode 100644 changelogs/unreleased/fix-web_hooks-index.yml delete mode 100644 changelogs/unreleased/fix_build_header_line_height.yml delete mode 100644 changelogs/unreleased/fix_cache_expiration_in_repository.yml delete mode 100644 changelogs/unreleased/fix_emoji_parser.yml delete mode 100644 changelogs/unreleased/fix_link_in_readme.yml delete mode 100644 changelogs/unreleased/fix_spaces_in_label_title.yml delete mode 100644 changelogs/unreleased/form-focus-previous-incorrect-form.yml delete mode 100644 changelogs/unreleased/get_rid_of_pluck.yml delete mode 100644 changelogs/unreleased/gl-version-backup-file.yml delete mode 100644 changelogs/unreleased/group-assignee-dropdown-send-group-id.yml delete mode 100644 changelogs/unreleased/hamlit-xss-fix.yml delete mode 100644 changelogs/unreleased/implement-i18n-support.yml delete mode 100644 changelogs/unreleased/issue-boards-no-avatar.yml delete mode 100644 changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml delete mode 100644 changelogs/unreleased/issue-title-description-realtime.yml delete mode 100644 changelogs/unreleased/issue_api_change.yml delete mode 100644 changelogs/unreleased/make_markdown_tables_thinner.yml delete mode 100644 changelogs/unreleased/merge-request-poll-json-endpoint.yml delete mode 100644 changelogs/unreleased/metrics-graph-error-fix.yml delete mode 100644 changelogs/unreleased/milestone-not-showing-correctly-title.yml delete mode 100644 changelogs/unreleased/more-mr-filters.yml delete mode 100644 changelogs/unreleased/move-search-labels.yml delete mode 100644 changelogs/unreleased/mr-diff-size-overflow.yml delete mode 100644 changelogs/unreleased/mrchrisw-22740-merge-api.yml delete mode 100644 changelogs/unreleased/mrchrisw-fix-slack-notify.yml delete mode 100644 changelogs/unreleased/mrchrisw-import-shell-timeout.yml delete mode 100644 changelogs/unreleased/omnibus-gitlab-1993-check-shell-repositories-path-group-is-root.yml delete mode 100644 changelogs/unreleased/optimise-pipelines-json.yml delete mode 100644 changelogs/unreleased/pipeline-schedules-callout-docs-url.yml delete mode 100644 changelogs/unreleased/preview-separate-slash-commands.yml delete mode 100644 changelogs/unreleased/prometheus-integration-test-setting-fix.yml delete mode 100644 changelogs/unreleased/query-users-by-extern-uid.yml delete mode 100644 changelogs/unreleased/related-branch-ci-status-icon-alignment.yml delete mode 100644 changelogs/unreleased/remove-double-newline-for-single-attachments.yml delete mode 100644 changelogs/unreleased/replace_header_mr_icon.yml delete mode 100644 changelogs/unreleased/reset-new-branch-button.yml delete mode 100644 changelogs/unreleased/right-sidebar-closed-default-mobile.yml delete mode 100644 changelogs/unreleased/rs-sanitize-submodule-urls.yml delete mode 100644 changelogs/unreleased/sh-bump-sidekiq-version.yml delete mode 100644 changelogs/unreleased/sh-optimize-duplicate-routable-full-path.yml delete mode 100644 changelogs/unreleased/snippets-finder-visibility.yml delete mode 100644 changelogs/unreleased/snippets_visibility.yml delete mode 100644 changelogs/unreleased/spec_for_schema.yml delete mode 100644 changelogs/unreleased/store-retried-in-database-for-ci-builds.yml delete mode 100644 changelogs/unreleased/submodules-no-dotgit.yml delete mode 100644 changelogs/unreleased/tags-sort-default.yml delete mode 100644 changelogs/unreleased/tc-fix-private-subgroups-shown.yml delete mode 100644 changelogs/unreleased/tc-job-page-mr-bold.yml delete mode 100644 changelogs/unreleased/tc-make-user-master-project-by-admin.yml delete mode 100644 changelogs/unreleased/uassign_on_member_removing.yml delete mode 100644 changelogs/unreleased/use-hashie-forbidden_attributes.yml delete mode 100644 changelogs/unreleased/user-activity-scroll-bar.yml delete mode 100644 changelogs/unreleased/winh-german-cycle-analytics.yml delete mode 100644 changelogs/unreleased/winh-visual-token-labels.yml delete mode 100644 changelogs/unreleased/zj-better-view-pipeline-schedule.yml delete mode 100644 changelogs/unreleased/zj-chat-message-pretty-time.yml delete mode 100644 changelogs/unreleased/zj-dockerfiles.yml delete mode 100644 changelogs/unreleased/zj-real-time-pipelines.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index e625278a796..20e701c6b22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,206 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 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) +- 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. +- 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.3 (2017-05-05) - Do not show private groups on subgroups page if user doesn't have access to. diff --git a/changelogs/unreleased/12910-personal-snippet-prep-2.yml b/changelogs/unreleased/12910-personal-snippet-prep-2.yml deleted file mode 100644 index bd9527c30c8..00000000000 --- a/changelogs/unreleased/12910-personal-snippet-prep-2.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Support Markdown previews for personal snippets -merge_request: 10810 -author: diff --git a/changelogs/unreleased/12910-personal-snippets-notes-show.yml b/changelogs/unreleased/12910-personal-snippets-notes-show.yml deleted file mode 100644 index 15c6f3c5e6a..00000000000 --- a/changelogs/unreleased/12910-personal-snippets-notes-show.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Display comments for personal snippets -merge_request: -author: diff --git a/changelogs/unreleased/12910-personal-snippets-notes.yml b/changelogs/unreleased/12910-personal-snippets-notes.yml deleted file mode 100644 index 7f1576c3513..00000000000 --- a/changelogs/unreleased/12910-personal-snippets-notes.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Support comments for personal snippets -merge_request: -author: diff --git a/changelogs/unreleased/12910-uploader-pers-snippet.yml b/changelogs/unreleased/12910-uploader-pers-snippet.yml deleted file mode 100644 index 1c163632fc6..00000000000 --- a/changelogs/unreleased/12910-uploader-pers-snippet.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Support uploaders for personal snippets comments -merge_request: -author: diff --git a/changelogs/unreleased/1440-db-backup-ssl-support.yml b/changelogs/unreleased/1440-db-backup-ssl-support.yml deleted file mode 100644 index c78bb4fd351..00000000000 --- a/changelogs/unreleased/1440-db-backup-ssl-support.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Database SSL support for backup script. -merge_request: 9715 -author: Guillaume Simon diff --git a/changelogs/unreleased/17361-redirect-renamed-paths.yml b/changelogs/unreleased/17361-redirect-renamed-paths.yml deleted file mode 100644 index 7a33c9fb3ec..00000000000 --- a/changelogs/unreleased/17361-redirect-renamed-paths.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Redirect old links after renaming a user/group/project. -merge_request: 10370 -author: diff --git a/changelogs/unreleased/19364-webhook-edit.yml b/changelogs/unreleased/19364-webhook-edit.yml deleted file mode 100644 index 60e154b8b83..00000000000 --- a/changelogs/unreleased/19364-webhook-edit.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Implement ability to edit hooks -merge_request: 10816 -author: Alexander Randa diff --git a/changelogs/unreleased/20378-natural-sort-issue-numbers.yml b/changelogs/unreleased/20378-natural-sort-issue-numbers.yml deleted file mode 100644 index 2ebc8485ddf..00000000000 --- a/changelogs/unreleased/20378-natural-sort-issue-numbers.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Change issues list in MR to natural sorting -merge_request: 7110 -author: Jeff Stubler diff --git a/changelogs/unreleased/21683-show-created-group-name-flash.yml b/changelogs/unreleased/21683-show-created-group-name-flash.yml deleted file mode 100644 index 06ef5e972fc..00000000000 --- a/changelogs/unreleased/21683-show-created-group-name-flash.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Show group name on flash container when group is created from Admin area. -merge_request: 10905 -author: diff --git a/changelogs/unreleased/2247-emails-forwarded-to-service-desk-email-don-t-come.yml b/changelogs/unreleased/2247-emails-forwarded-to-service-desk-email-don-t-come.yml deleted file mode 100644 index f062143960e..00000000000 --- a/changelogs/unreleased/2247-emails-forwarded-to-service-desk-email-don-t-come.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Handle incoming emails from aliases correctly -merge_request: -author: diff --git a/changelogs/unreleased/22714-update-all-instances-of-fa-refresh.yml b/changelogs/unreleased/22714-update-all-instances-of-fa-refresh.yml deleted file mode 100644 index ad7c011933f..00000000000 --- a/changelogs/unreleased/22714-update-all-instances-of-fa-refresh.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Update all instances of the old loading icon -merge_request: 10490 -author: Andrew Torres diff --git a/changelogs/unreleased/22826-ui-inconsistency-different-files-views-find-file-button-missing.yml b/changelogs/unreleased/22826-ui-inconsistency-different-files-views-find-file-button-missing.yml deleted file mode 100644 index c42fbd4e1f1..00000000000 --- a/changelogs/unreleased/22826-ui-inconsistency-different-files-views-find-file-button-missing.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix UI inconsistency different files view (find file button missing) -merge_request: 9847 -author: TM Lee diff --git a/changelogs/unreleased/23751-add-contribution-graph-key-tooltips.yml b/changelogs/unreleased/23751-add-contribution-graph-key-tooltips.yml deleted file mode 100644 index 7c4c6fb46a0..00000000000 --- a/changelogs/unreleased/23751-add-contribution-graph-key-tooltips.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add tooltips to user contribution graph key -merge_request: 11138 -author: diff --git a/changelogs/unreleased/24883-build-failure-summary-page.yml b/changelogs/unreleased/24883-build-failure-summary-page.yml deleted file mode 100644 index 214cd3e2bc7..00000000000 --- a/changelogs/unreleased/24883-build-failure-summary-page.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Added build failures summary page for pipelines -merge_request: 10719 -author: diff --git a/changelogs/unreleased/25226-realtime-pipelines-fe.yml b/changelogs/unreleased/25226-realtime-pipelines-fe.yml deleted file mode 100644 index 1149c8f0eac..00000000000 --- a/changelogs/unreleased/25226-realtime-pipelines-fe.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Re-rewrites pipeline graph in vue to support realtime data updates -merge_request: -author: diff --git a/changelogs/unreleased/26208-animate-drodowns.yml b/changelogs/unreleased/26208-animate-drodowns.yml deleted file mode 100644 index 580f6c12f67..00000000000 --- a/changelogs/unreleased/26208-animate-drodowns.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add animations to all the dropdowns -merge_request: 8419 -author: diff --git a/changelogs/unreleased/26437-closed-by.yml b/changelogs/unreleased/26437-closed-by.yml deleted file mode 100644 index 6325d3576bc..00000000000 --- a/changelogs/unreleased/26437-closed-by.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add issues/:iid/closed_by api endpoint -merge_request: -author: mhasbini diff --git a/changelogs/unreleased/26488-target-disabled-mr.yml b/changelogs/unreleased/26488-target-disabled-mr.yml deleted file mode 100644 index 02058481ccf..00000000000 --- a/changelogs/unreleased/26488-target-disabled-mr.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Disallow merge requests from fork when source project have disabled merge requests -merge_request: -author: mhasbini diff --git a/changelogs/unreleased/26509-show-update-time.yml b/changelogs/unreleased/26509-show-update-time.yml deleted file mode 100644 index 012fd00dd87..00000000000 --- a/changelogs/unreleased/26509-show-update-time.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add update time to project lists. -merge_request: 8514 -author: Jeff Stubler diff --git a/changelogs/unreleased/26585-remove-readme-view-caching.yml b/changelogs/unreleased/26585-remove-readme-view-caching.yml deleted file mode 100644 index 6aefae982bf..00000000000 --- a/changelogs/unreleased/26585-remove-readme-view-caching.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 'Remove view fragment caching for project READMEs' -merge_request: 8838 -author: diff --git a/changelogs/unreleased/26883-members-page-layout-looks-broken.yml b/changelogs/unreleased/26883-members-page-layout-looks-broken.yml deleted file mode 100644 index e0e3a529c3e..00000000000 --- a/changelogs/unreleased/26883-members-page-layout-looks-broken.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Improved UX on project members settings view -merge_request: -author: diff --git a/changelogs/unreleased/27376-bvl-load-pipelinestatus-in-batch.yml b/changelogs/unreleased/27376-bvl-load-pipelinestatus-in-batch.yml deleted file mode 100644 index 3d615f5d8a7..00000000000 --- a/changelogs/unreleased/27376-bvl-load-pipelinestatus-in-batch.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fetch pipeline status in batch from redis -merge_request: 10785 -author: diff --git a/changelogs/unreleased/27614-instant-comments.yml b/changelogs/unreleased/27614-instant-comments.yml deleted file mode 100644 index 7b2592f46ed..00000000000 --- a/changelogs/unreleased/27614-instant-comments.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add support for instantly updating comments -merge_request: 10760 -author: diff --git a/changelogs/unreleased/27655-clear-emoji-search-after-selection.yml b/changelogs/unreleased/27655-clear-emoji-search-after-selection.yml deleted file mode 100644 index 5fd02696323..00000000000 --- a/changelogs/unreleased/27655-clear-emoji-search-after-selection.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Clear emoji search in awards menu after picking emoji -merge_request: -author: diff --git a/changelogs/unreleased/27729-improve-webpack-dev-environment.yml b/changelogs/unreleased/27729-improve-webpack-dev-environment.yml deleted file mode 100644 index d04ea70ab1c..00000000000 --- a/changelogs/unreleased/27729-improve-webpack-dev-environment.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add webpack_bundle_tag helper to improve non-localhost GDK configurations -merge_request: 10604 -author: diff --git a/changelogs/unreleased/27827-cleanup-markdown.yml b/changelogs/unreleased/27827-cleanup-markdown.yml deleted file mode 100644 index a8890b78763..00000000000 --- a/changelogs/unreleased/27827-cleanup-markdown.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Cleanup markdown spacing -merge_request: -author: diff --git a/changelogs/unreleased/28017-separate-ce-params-on-api.yml b/changelogs/unreleased/28017-separate-ce-params-on-api.yml deleted file mode 100644 index 039a8d207b0..00000000000 --- a/changelogs/unreleased/28017-separate-ce-params-on-api.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Separate CE params on Grape API -merge_request: -author: diff --git a/changelogs/unreleased/28020-improve-todo-list-when-comes-from-yourself.yml b/changelogs/unreleased/28020-improve-todo-list-when-comes-from-yourself.yml deleted file mode 100644 index 14aecc35bd2..00000000000 --- a/changelogs/unreleased/28020-improve-todo-list-when-comes-from-yourself.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Improve text on todo list when the todo action comes from yourself -merge_request: 10594 -author: Jacopo Beschi @jacopo-beschi diff --git a/changelogs/unreleased/28202_decrease_abc_threshold_step1.yml b/changelogs/unreleased/28202_decrease_abc_threshold_step1.yml deleted file mode 100644 index 8f1520c8b42..00000000000 --- a/changelogs/unreleased/28202_decrease_abc_threshold_step1.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Decrease ABC threshold to 57.08 -merge_request: 10724 -author: Rydkin Maxim diff --git a/changelogs/unreleased/28408-feature-proposal-include-search-options-to-pipelines-api.yml b/changelogs/unreleased/28408-feature-proposal-include-search-options-to-pipelines-api.yml deleted file mode 100644 index 9b9f0032810..00000000000 --- a/changelogs/unreleased/28408-feature-proposal-include-search-options-to-pipelines-api.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 'API: Add parameters to allow filtering project pipelines' -merge_request: 9367 -author: dosuken123 diff --git a/changelogs/unreleased/28457-slash-command-board-move.yml b/changelogs/unreleased/28457-slash-command-board-move.yml deleted file mode 100644 index cec0f89ed91..00000000000 --- a/changelogs/unreleased/28457-slash-command-board-move.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add board_move slash command -merge_request: 10433 -author: Alex Sanford diff --git a/changelogs/unreleased/28558-create-new-branch-from-issue-page.yml b/changelogs/unreleased/28558-create-new-branch-from-issue-page.yml deleted file mode 100644 index e43b043d6c5..00000000000 --- a/changelogs/unreleased/28558-create-new-branch-from-issue-page.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Allow to create new branch and empty WIP merge request from issue page -merge_request: -author: diff --git a/changelogs/unreleased/28575-expand-collapse-look.yml b/changelogs/unreleased/28575-expand-collapse-look.yml deleted file mode 100644 index d8943316300..00000000000 --- a/changelogs/unreleased/28575-expand-collapse-look.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Expand/collapse button -> Change to make it look like a toggle -merge_request: 10720 -author: Jacopo Beschi @jacopo-beschi diff --git a/changelogs/unreleased/28968-prevent-people-from-creating-branches-if-they-don-have-permission-to-push.yml b/changelogs/unreleased/28968-prevent-people-from-creating-branches-if-they-don-have-permission-to-push.yml deleted file mode 100644 index 6612cfd8866..00000000000 --- a/changelogs/unreleased/28968-prevent-people-from-creating-branches-if-they-don-have-permission-to-push.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Prevent people from creating branches if they don't have persmission to push -merge_request: -author: diff --git a/changelogs/unreleased/29056-backport-ee-cleanup-database-file.yml b/changelogs/unreleased/29056-backport-ee-cleanup-database-file.yml deleted file mode 100644 index 0ebb9d57611..00000000000 --- a/changelogs/unreleased/29056-backport-ee-cleanup-database-file.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Turns true value and false value database methods from instance to class methods -merge_request: 10583 -author: diff --git a/changelogs/unreleased/29145-oauth-422.yml b/changelogs/unreleased/29145-oauth-422.yml deleted file mode 100644 index 94e4cd84ad1..00000000000 --- a/changelogs/unreleased/29145-oauth-422.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Redesign auth 422 page -merge_request: -author: diff --git a/changelogs/unreleased/29181-add-more-tests-for-spec-controllers-projects-builds-controller-spec-rb.yml b/changelogs/unreleased/29181-add-more-tests-for-spec-controllers-projects-builds-controller-spec-rb.yml deleted file mode 100644 index 7a3d687d73f..00000000000 --- a/changelogs/unreleased/29181-add-more-tests-for-spec-controllers-projects-builds-controller-spec-rb.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Resolve "Add more tests for spec/controllers/projects/builds_controller_spec.rb" -merge_request: 10244 -author: dosuken123 diff --git a/changelogs/unreleased/29505-allow-admins-sudo-to-blocked-users.yml b/changelogs/unreleased/29505-allow-admins-sudo-to-blocked-users.yml deleted file mode 100644 index 42fd71ccd5f..00000000000 --- a/changelogs/unreleased/29505-allow-admins-sudo-to-blocked-users.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Allow admins to sudo to blocked users via the API -merge_request: 10842 -author: diff --git a/changelogs/unreleased/29595-customize-experience-callout.yml b/changelogs/unreleased/29595-customize-experience-callout.yml deleted file mode 100644 index ec8393142c6..00000000000 --- a/changelogs/unreleased/29595-customize-experience-callout.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 29595 Update callout design -merge_request: -author: diff --git a/changelogs/unreleased/29673-500-internal-server-error-when-enabling-a-deploy-key-more-than-once-through-api.yml b/changelogs/unreleased/29673-500-internal-server-error-when-enabling-a-deploy-key-more-than-once-through-api.yml deleted file mode 100644 index 3e62ede1521..00000000000 --- a/changelogs/unreleased/29673-500-internal-server-error-when-enabling-a-deploy-key-more-than-once-through-api.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Detect already enabled DeployKeys in EnableDeployKeyService -merge_request: -author: diff --git a/changelogs/unreleased/29712-unnecessary-wait-for-ajax.yml b/changelogs/unreleased/29712-unnecessary-wait-for-ajax.yml deleted file mode 100644 index 8dc657a4aba..00000000000 --- a/changelogs/unreleased/29712-unnecessary-wait-for-ajax.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove unnecessary test helpers includes -merge_request: 10567 -author: Jacopo Beschi @jacopo-beschi diff --git a/changelogs/unreleased/29734-prometheus-monitoring-page-displays-button-to-control-manual-actions.yml b/changelogs/unreleased/29734-prometheus-monitoring-page-displays-button-to-control-manual-actions.yml deleted file mode 100644 index ca4a8889454..00000000000 --- a/changelogs/unreleased/29734-prometheus-monitoring-page-displays-button-to-control-manual-actions.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove pipeline controls for last deployment from Environment monitoring page -merge_request: 10769 -author: diff --git a/changelogs/unreleased/29801-add-slash-slack-commands-to-api-doc.yml b/changelogs/unreleased/29801-add-slash-slack-commands-to-api-doc.yml deleted file mode 100644 index 9c5df690085..00000000000 --- a/changelogs/unreleased/29801-add-slash-slack-commands-to-api-doc.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add Slack slash command api to services documentation and rearrange order and - cases -merge_request: 10757 -author: TM Lee diff --git a/changelogs/unreleased/29816-create-keyboard-shortcut-for-editing-wiki-page.yml b/changelogs/unreleased/29816-create-keyboard-shortcut-for-editing-wiki-page.yml deleted file mode 100644 index a165c70a6d3..00000000000 --- a/changelogs/unreleased/29816-create-keyboard-shortcut-for-editing-wiki-page.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add keyboard edit shotcut for wiki -merge_request: 10245 -author: George Andrinopoulos diff --git a/changelogs/unreleased/29903-remove-user-is-admin-flag-from-api.yml b/changelogs/unreleased/29903-remove-user-is-admin-flag-from-api.yml deleted file mode 100644 index a0d497ac1e9..00000000000 --- a/changelogs/unreleased/29903-remove-user-is-admin-flag-from-api.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Don't display the is_admin flag in most API responses -merge_request: 10846 -author: diff --git a/changelogs/unreleased/29925-gitlab-shell-hooks-can-no-longer-send-absolute-paths-to-gitlab-ce.yml b/changelogs/unreleased/29925-gitlab-shell-hooks-can-no-longer-send-absolute-paths-to-gitlab-ce.yml deleted file mode 100644 index 1df8f695ef1..00000000000 --- a/changelogs/unreleased/29925-gitlab-shell-hooks-can-no-longer-send-absolute-paths-to-gitlab-ce.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Generate and handle a gl_repository param to pass around components -merge_request: 10992 -author: diff --git a/changelogs/unreleased/29977-style-comments-and-system-notes-real-time-updates.yml b/changelogs/unreleased/29977-style-comments-and-system-notes-real-time-updates.yml deleted file mode 100644 index c1640777e12..00000000000 --- a/changelogs/unreleased/29977-style-comments-and-system-notes-real-time-updates.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Added quick-update (fade-in) animation to newly rendered notes -merge_request: 10623 -author: diff --git a/changelogs/unreleased/30007-done-todo-hover-state.yml b/changelogs/unreleased/30007-done-todo-hover-state.yml deleted file mode 100644 index bfbde7a49c8..00000000000 --- a/changelogs/unreleased/30007-done-todo-hover-state.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add transparent top-border to the hover state of done todos -merge_request: -author: diff --git a/changelogs/unreleased/30272-bvl-reject-more-namespaces.yml b/changelogs/unreleased/30272-bvl-reject-more-namespaces.yml deleted file mode 100644 index 56bce084546..00000000000 --- a/changelogs/unreleased/30272-bvl-reject-more-namespaces.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Improve validation of namespace & project paths -merge_request: 10413 -author: diff --git a/changelogs/unreleased/30286-ci-badge-component.yml b/changelogs/unreleased/30286-ci-badge-component.yml deleted file mode 100644 index 13c2a4598c8..00000000000 --- a/changelogs/unreleased/30286-ci-badge-component.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Refactor all CI vue badges to use the same vue component -merge_request: -author: diff --git a/changelogs/unreleased/30305-oauth-token-push-code.yml b/changelogs/unreleased/30305-oauth-token-push-code.yml deleted file mode 100644 index aadfb5ca419..00000000000 --- a/changelogs/unreleased/30305-oauth-token-push-code.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Allow OAuth clients to push code -merge_request: 10677 -author: diff --git a/changelogs/unreleased/30349-create-users-build-service.yml b/changelogs/unreleased/30349-create-users-build-service.yml deleted file mode 100644 index 49b571f5646..00000000000 --- a/changelogs/unreleased/30349-create-users-build-service.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Implement Users::BuildService -merge_request: 30349 -author: George Andrinopoulos diff --git a/changelogs/unreleased/30458-real-time-note-edits.yml b/changelogs/unreleased/30458-real-time-note-edits.yml deleted file mode 100644 index f67348c5302..00000000000 --- a/changelogs/unreleased/30458-real-time-note-edits.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Update note edits in real-time -merge_request: -author: diff --git a/changelogs/unreleased/30466-click-x-to-remove-filter.yml b/changelogs/unreleased/30466-click-x-to-remove-filter.yml deleted file mode 100644 index 2cf08e84ed1..00000000000 --- a/changelogs/unreleased/30466-click-x-to-remove-filter.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add button to delete filters from filtered search bar -merge_request: -author: diff --git a/changelogs/unreleased/30484-profile-dropdown-account-name.yml b/changelogs/unreleased/30484-profile-dropdown-account-name.yml deleted file mode 100644 index 71aa1ce139b..00000000000 --- a/changelogs/unreleased/30484-profile-dropdown-account-name.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Added profile name to user dropdown -merge_request: -author: diff --git a/changelogs/unreleased/30529-remove-pages-tab-if-pages-isn-t-enabled.yml b/changelogs/unreleased/30529-remove-pages-tab-if-pages-isn-t-enabled.yml deleted file mode 100644 index 16938f05326..00000000000 --- a/changelogs/unreleased/30529-remove-pages-tab-if-pages-isn-t-enabled.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Disable navigation to Project-level pages configuration when Pages disabled -merge_request: 11008 -author: diff --git a/changelogs/unreleased/30535-display-whether-pages-is-enabled-in-the-admin-dashboard.yml b/changelogs/unreleased/30535-display-whether-pages-is-enabled-in-the-admin-dashboard.yml deleted file mode 100644 index 4452b13037b..00000000000 --- a/changelogs/unreleased/30535-display-whether-pages-is-enabled-in-the-admin-dashboard.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Display GitLab Pages status in Admin Dashboard -merge_request: -author: diff --git a/changelogs/unreleased/30667-creating-new-label-on-new-issue-causing-bug.yml b/changelogs/unreleased/30667-creating-new-label-on-new-issue-causing-bug.yml deleted file mode 100644 index ce0ea69211e..00000000000 --- a/changelogs/unreleased/30667-creating-new-label-on-new-issue-causing-bug.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix label creation from issuable for subgroup projects -merge_request: -author: diff --git a/changelogs/unreleased/30672-versioned-markdown-cache.yml b/changelogs/unreleased/30672-versioned-markdown-cache.yml deleted file mode 100644 index d8f977b01de..00000000000 --- a/changelogs/unreleased/30672-versioned-markdown-cache.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Replace rake cache:clear:db with an automatic mechanism -merge_request: 10597 -author: diff --git a/changelogs/unreleased/30678-improve-dev-server-process.yml b/changelogs/unreleased/30678-improve-dev-server-process.yml deleted file mode 100644 index efa2fc210e3..00000000000 --- a/changelogs/unreleased/30678-improve-dev-server-process.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Keep webpack-dev-server process functional across branch changes -merge_request: 10581 -author: diff --git a/changelogs/unreleased/30903-vertically-align-mini-pipeline.yml b/changelogs/unreleased/30903-vertically-align-mini-pipeline.yml deleted file mode 100644 index af87e5ce39f..00000000000 --- a/changelogs/unreleased/30903-vertically-align-mini-pipeline.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Vertically align mini pipeline stage container -merge_request: -author: diff --git a/changelogs/unreleased/30973-network-graph-sorted-by-date-and-topo.yml b/changelogs/unreleased/30973-network-graph-sorted-by-date-and-topo.yml deleted file mode 100644 index 42426c1865e..00000000000 --- a/changelogs/unreleased/30973-network-graph-sorted-by-date-and-topo.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Sort the network graph both by commit date and topographically -merge_request: 11057 -author: diff --git a/changelogs/unreleased/31009-disable-test-settings-on-services-when-repository-is-empty.yml b/changelogs/unreleased/31009-disable-test-settings-on-services-when-repository-is-empty.yml deleted file mode 100644 index 6e43a032f20..00000000000 --- a/changelogs/unreleased/31009-disable-test-settings-on-services-when-repository-is-empty.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Disable test settings on chat notification services when repository is empty -merge_request: 10759 -author: diff --git a/changelogs/unreleased/31057-unnecessary-padding-along-left-side-of-assignees-dropdown.yml b/changelogs/unreleased/31057-unnecessary-padding-along-left-side-of-assignees-dropdown.yml deleted file mode 100644 index 0d82bf878c7..00000000000 --- a/changelogs/unreleased/31057-unnecessary-padding-along-left-side-of-assignees-dropdown.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Show checkmark on current assignee in assignee dropdown -merge_request: 10767 -author: diff --git a/changelogs/unreleased/31106-tabs-alignment.yml b/changelogs/unreleased/31106-tabs-alignment.yml deleted file mode 100644 index 53da08cc32d..00000000000 --- a/changelogs/unreleased/31106-tabs-alignment.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: prevent nav tabs from wrapping to new line -merge_request: -author: diff --git a/changelogs/unreleased/31138-improve-test-settings-for-services-in-empty-projects.yml b/changelogs/unreleased/31138-improve-test-settings-for-services-in-empty-projects.yml deleted file mode 100644 index cb1de425d66..00000000000 --- a/changelogs/unreleased/31138-improve-test-settings-for-services-in-empty-projects.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Improves test settings for chat notification services for empty projects -merge_request: 10886 -author: diff --git a/changelogs/unreleased/31156-environments-vue-service.yml b/changelogs/unreleased/31156-environments-vue-service.yml deleted file mode 100644 index 8b899ed9861..00000000000 --- a/changelogs/unreleased/31156-environments-vue-service.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix environments vue architecture to match documentation -merge_request: -author: diff --git a/changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml b/changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml deleted file mode 100644 index 721bb435a2e..00000000000 --- a/changelogs/unreleased/31157-respect-project-features-in-wiki-search.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Enforce project features when searching blobs and wikis -merge_request: -author: diff --git a/changelogs/unreleased/31193-ff-copy.yml b/changelogs/unreleased/31193-ff-copy.yml deleted file mode 100644 index 4d44d83d458..00000000000 --- a/changelogs/unreleased/31193-ff-copy.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: fix inline diff copy in firefox -merge_request: -author: diff --git a/changelogs/unreleased/31254-change-git-commit-command-in-existing-folder.yml b/changelogs/unreleased/31254-change-git-commit-command-in-existing-folder.yml deleted file mode 100644 index 950336ea932..00000000000 --- a/changelogs/unreleased/31254-change-git-commit-command-in-existing-folder.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Change Git commit command in Existing folder to git commit -m -merge_request: 10900 -author: TM Lee diff --git a/changelogs/unreleased/31274-creating-schedule-trigger--causes-http-500-when-accessing-settings-ci_cd.yml b/changelogs/unreleased/31274-creating-schedule-trigger--causes-http-500-when-accessing-settings-ci_cd.yml deleted file mode 100644 index b0c33ab3fa4..00000000000 --- a/changelogs/unreleased/31274-creating-schedule-trigger--causes-http-500-when-accessing-settings-ci_cd.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix error on CI/CD Settings page related to invalid pipeline trigger -merge_request: 10948 -author: dosuken123 diff --git a/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step1.yml b/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step1.yml deleted file mode 100644 index fedf4de04d3..00000000000 --- a/changelogs/unreleased/31362_decrease_cyclomatic_complexity_threshold_step1.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Decrease Cyclomatic Complexity threshold to 16 -merge_request: 10928 -author: Rydkin Maxim diff --git a/changelogs/unreleased/31383-admin-remove-user-text-incorrect.yml b/changelogs/unreleased/31383-admin-remove-user-text-incorrect.yml deleted file mode 100644 index a2a2c0c42bd..00000000000 --- a/changelogs/unreleased/31383-admin-remove-user-text-incorrect.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Note Ghost user and refer to user deletion documentation -merge_request: -author: diff --git a/changelogs/unreleased/31544-size-of-project-from-api.yml b/changelogs/unreleased/31544-size-of-project-from-api.yml deleted file mode 100644 index a707d49aecd..00000000000 --- a/changelogs/unreleased/31544-size-of-project-from-api.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Expose project statistics on single requests via the API -merge_request: -author: diff --git a/changelogs/unreleased/31558-job-dropdown.yml b/changelogs/unreleased/31558-job-dropdown.yml deleted file mode 100644 index acd7b2addb6..00000000000 --- a/changelogs/unreleased/31558-job-dropdown.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Job dropdown of pipeline mini graph updates in realtime when its opened -merge_request: -author: diff --git a/changelogs/unreleased/31560-workhose-gitaly-from-mirror.yml b/changelogs/unreleased/31560-workhose-gitaly-from-mirror.yml deleted file mode 100644 index 02c048cb3b4..00000000000 --- a/changelogs/unreleased/31560-workhose-gitaly-from-mirror.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: rickettm Add repo parameter to gitaly:install and workhorse:install rake tasks -merge_request: 10979 -author: M. Ricketts diff --git a/changelogs/unreleased/31647-fix-snippet-content_html.yml b/changelogs/unreleased/31647-fix-snippet-content_html.yml deleted file mode 100644 index db6d45926fd..00000000000 --- a/changelogs/unreleased/31647-fix-snippet-content_html.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix caching large snippet HTML content on MySQL databases -merge_request: 11024 -author: diff --git a/changelogs/unreleased/31671-merge-request-message-contains-carriage-returns.yml b/changelogs/unreleased/31671-merge-request-message-contains-carriage-returns.yml deleted file mode 100644 index c33fa944a83..00000000000 --- a/changelogs/unreleased/31671-merge-request-message-contains-carriage-returns.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove carriage returns from commit messages -merge_request: 11077 -author: diff --git a/changelogs/unreleased/31689-request-access-spacing.yml b/changelogs/unreleased/31689-request-access-spacing.yml deleted file mode 100644 index 66076b44f46..00000000000 --- a/changelogs/unreleased/31689-request-access-spacing.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add default margin-top to user request table on project members page -merge_request: -author: diff --git a/changelogs/unreleased/31704-misaligned-buttons-in-wiki-pages.yml b/changelogs/unreleased/31704-misaligned-buttons-in-wiki-pages.yml deleted file mode 100644 index 46368b4510e..00000000000 --- a/changelogs/unreleased/31704-misaligned-buttons-in-wiki-pages.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix misaligned buttons in wiki pages -merge_request: 11043 -author: diff --git a/changelogs/unreleased/31760-add-tooltips-to-note-actions.yml b/changelogs/unreleased/31760-add-tooltips-to-note-actions.yml deleted file mode 100644 index 9bbf43d652e..00000000000 --- a/changelogs/unreleased/31760-add-tooltips-to-note-actions.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add tooltips to note action buttons -merge_request: -author: diff --git a/changelogs/unreleased/31810-commit-link.yml b/changelogs/unreleased/31810-commit-link.yml deleted file mode 100644 index 857c9cb95c5..00000000000 --- a/changelogs/unreleased/31810-commit-link.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove `#` being added on commit sha in MR widget -merge_request: -author: diff --git a/changelogs/unreleased/31886-remover-comment-load-spinner.yml b/changelogs/unreleased/31886-remover-comment-load-spinner.yml deleted file mode 100644 index 4b36538064a..00000000000 --- a/changelogs/unreleased/31886-remover-comment-load-spinner.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove spinner from loading comment -merge_request: -author: diff --git a/changelogs/unreleased/31978-cross-reference-fix.yml b/changelogs/unreleased/31978-cross-reference-fix.yml deleted file mode 100644 index fbcb3d5d482..00000000000 --- a/changelogs/unreleased/31978-cross-reference-fix.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix cross referencing for private and internal projects -merge_request: 11243 -author: diff --git a/changelogs/unreleased/32178-prevent-merge-on-sha-change.yml b/changelogs/unreleased/32178-prevent-merge-on-sha-change.yml deleted file mode 100644 index d3208973de6..00000000000 --- a/changelogs/unreleased/32178-prevent-merge-on-sha-change.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add state to MR widget that prevent merges when branch changes after page load -merge_request: 11316 -author: diff --git a/changelogs/unreleased/6260-frontend-prevent-authored-votes.yml b/changelogs/unreleased/6260-frontend-prevent-authored-votes.yml deleted file mode 100644 index 82e852fa197..00000000000 --- a/changelogs/unreleased/6260-frontend-prevent-authored-votes.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 'Frontend prevent authored votes' -merge_request: 6260 -author: Barthc diff --git a/changelogs/unreleased/add-aria-to-icon.yml b/changelogs/unreleased/add-aria-to-icon.yml deleted file mode 100644 index fd6a25784c6..00000000000 --- a/changelogs/unreleased/add-aria-to-icon.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixes an issue preventing screen readers from reading some icons -merge_request: -author: diff --git a/changelogs/unreleased/add-tanuki-ci-status-favicons.yml b/changelogs/unreleased/add-tanuki-ci-status-favicons.yml deleted file mode 100644 index b60ad81947a..00000000000 --- a/changelogs/unreleased/add-tanuki-ci-status-favicons.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Updated CI status favicons to include the tanuki -merge_request: 10923 -author: diff --git a/changelogs/unreleased/add-username-to-activity-feed.yml b/changelogs/unreleased/add-username-to-activity-feed.yml deleted file mode 100644 index f4c216a3954..00000000000 --- a/changelogs/unreleased/add-username-to-activity-feed.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add username to activity atom feed -merge_request: 10802 -author: winniehell diff --git a/changelogs/unreleased/add-vue-loader.yml b/changelogs/unreleased/add-vue-loader.yml deleted file mode 100644 index 382ef61ff21..00000000000 --- a/changelogs/unreleased/add-vue-loader.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: add support for .vue templates -merge_request: 10517 -author: diff --git a/changelogs/unreleased/add_index_on_ci_builds_user_id.yml b/changelogs/unreleased/add_index_on_ci_builds_user_id.yml deleted file mode 100644 index 655ebdb76fa..00000000000 --- a/changelogs/unreleased/add_index_on_ci_builds_user_id.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add index on ci_builds.user_id -merge_request: 10874 -author: blackst0ne diff --git a/changelogs/unreleased/add_system_note_for_editing_issuable.yml b/changelogs/unreleased/add_system_note_for_editing_issuable.yml deleted file mode 100644 index 3cbc7f91bf0..00000000000 --- a/changelogs/unreleased/add_system_note_for_editing_issuable.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add system note on description change of issue/merge request -merge_request: 10392 -author: blackst0ne diff --git a/changelogs/unreleased/always-show-latest-pipeline-in-commit-box.yml b/changelogs/unreleased/always-show-latest-pipeline-in-commit-box.yml deleted file mode 100644 index 6aa0c89f6f7..00000000000 --- a/changelogs/unreleased/always-show-latest-pipeline-in-commit-box.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Always show the latest pipeline information in the commit box -merge_request: 11038 -author: diff --git a/changelogs/unreleased/async-milestone-tabs.yml b/changelogs/unreleased/async-milestone-tabs.yml deleted file mode 100644 index c199a95610c..00000000000 --- a/changelogs/unreleased/async-milestone-tabs.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Load milestone tabs asynchronously to increase initial load performance -merge_request: -author: diff --git a/changelogs/unreleased/balsalmiq-support.yml b/changelogs/unreleased/balsalmiq-support.yml deleted file mode 100644 index 56a0b4c83fa..00000000000 --- a/changelogs/unreleased/balsalmiq-support.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Added balsamiq file viewer -merge_request: 10564 -author: diff --git a/changelogs/unreleased/bb_save_trace.yml b/changelogs/unreleased/bb_save_trace.yml deleted file mode 100644 index 6ff31f4f111..00000000000 --- a/changelogs/unreleased/bb_save_trace.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "[BB Importer] Save the error trace and the whole raw document to debug problems - easier" -merge_request: -author: diff --git a/changelogs/unreleased/boards-done-add-tooltip.yml b/changelogs/unreleased/boards-done-add-tooltip.yml deleted file mode 100644 index 139f1efc8ee..00000000000 --- a/changelogs/unreleased/boards-done-add-tooltip.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add tooltip to header of Done board -merge_request: 10574 -author: Andy Brown diff --git a/changelogs/unreleased/branch-name-escape.yml b/changelogs/unreleased/branch-name-escape.yml deleted file mode 100644 index bf46235fd79..00000000000 --- a/changelogs/unreleased/branch-name-escape.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed branches dropdown rendering branch names as HTML -merge_request: -author: diff --git a/changelogs/unreleased/bvl-markup-pipeline.yml b/changelogs/unreleased/bvl-markup-pipeline.yml deleted file mode 100644 index d73bad03340..00000000000 --- a/changelogs/unreleased/bvl-markup-pipeline.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Make Asciidoc & other markup go through pipeline to prevent XSS -merge_request: -author: diff --git a/changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml b/changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml deleted file mode 100644 index 03c4e531d73..00000000000 --- a/changelogs/unreleased/bvl-validate-urls-in-markdown-using-uri.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Validate URLs in markdown using URI to detect the host correctly -merge_request: -author: diff --git a/changelogs/unreleased/commit-limited-container-width.yml b/changelogs/unreleased/commit-limited-container-width.yml deleted file mode 100644 index 253646b13da..00000000000 --- a/changelogs/unreleased/commit-limited-container-width.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Side-by-side view in commits correcly expands full window width -merge_request: -author: diff --git a/changelogs/unreleased/deploy-keys-load-async.yml b/changelogs/unreleased/deploy-keys-load-async.yml deleted file mode 100644 index e90910278e8..00000000000 --- a/changelogs/unreleased/deploy-keys-load-async.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Deploy keys load are loaded async -merge_request: -author: diff --git a/changelogs/unreleased/diff-discussion-buttons-spacing.yml b/changelogs/unreleased/diff-discussion-buttons-spacing.yml deleted file mode 100644 index dc76973e55b..00000000000 --- a/changelogs/unreleased/diff-discussion-buttons-spacing.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed spacing of discussion submit buttons -merge_request: -author: diff --git a/changelogs/unreleased/disable-usage-ping-2.yml b/changelogs/unreleased/disable-usage-ping-2.yml deleted file mode 100644 index 4abd325f120..00000000000 --- a/changelogs/unreleased/disable-usage-ping-2.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add hostname to usage ping -merge_request: -author: diff --git a/changelogs/unreleased/disable-usage-ping.yml b/changelogs/unreleased/disable-usage-ping.yml deleted file mode 100644 index 5438eb56dba..00000000000 --- a/changelogs/unreleased/disable-usage-ping.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Allow usage ping to be disabled completely in gitlab.yml -merge_request: -author: diff --git a/changelogs/unreleased/dm-artifact-blob-viewer.yml b/changelogs/unreleased/dm-artifact-blob-viewer.yml deleted file mode 100644 index 38f5cbb73e1..00000000000 --- a/changelogs/unreleased/dm-artifact-blob-viewer.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add artifact file page that uses the blob viewer -merge_request: -author: diff --git a/changelogs/unreleased/dm-artifact-browser-header.yml b/changelogs/unreleased/dm-artifact-browser-header.yml deleted file mode 100644 index b88ab2ac7e5..00000000000 --- a/changelogs/unreleased/dm-artifact-browser-header.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add breadcrumb, build header and pipelines submenu to artifacts browser -merge_request: -author: diff --git a/changelogs/unreleased/dm-blob-download-button.yml b/changelogs/unreleased/dm-blob-download-button.yml deleted file mode 100644 index bd31137b670..00000000000 --- a/changelogs/unreleased/dm-blob-download-button.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Show Raw button as Download for binary files -merge_request: -author: diff --git a/changelogs/unreleased/dm-blob-viewers.yml b/changelogs/unreleased/dm-blob-viewers.yml deleted file mode 100644 index 5e0d41f3f29..00000000000 --- a/changelogs/unreleased/dm-blob-viewers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add Source/Rendered switch to blobs for SVG, Markdown, Asciidoc and other text - files that can be rendered -merge_request: -author: diff --git a/changelogs/unreleased/dm-catch-uri-errors.yml b/changelogs/unreleased/dm-catch-uri-errors.yml deleted file mode 100644 index 8b635d321b3..00000000000 --- a/changelogs/unreleased/dm-catch-uri-errors.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Catch all URI errors in ExternalLinkFilter -merge_request: -author: diff --git a/changelogs/unreleased/dm-comment-on-diff-versions.yml b/changelogs/unreleased/dm-comment-on-diff-versions.yml deleted file mode 100644 index af299713ad3..00000000000 --- a/changelogs/unreleased/dm-comment-on-diff-versions.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Allow commenting on older versions of the diff and comparisons between diff versions -merge_request: -author: diff --git a/changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml b/changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml deleted file mode 100644 index 708c82604ad..00000000000 --- a/changelogs/unreleased/dm-copy-mr-source-branch-as-gfm.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Paste a copied MR source branch name as code when pasted into a GFM form -merge_request: -author: diff --git a/changelogs/unreleased/dm-fix-position-tracer-for-hidden-lines.yml b/changelogs/unreleased/dm-fix-position-tracer-for-hidden-lines.yml deleted file mode 100644 index d9ba26a0657..00000000000 --- a/changelogs/unreleased/dm-fix-position-tracer-for-hidden-lines.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix commenting on an existing discussion on an unchanged line that is no longer - in the diff -merge_request: -author: diff --git a/changelogs/unreleased/dm-link-discussion-to-outdated-diff.yml b/changelogs/unreleased/dm-link-discussion-to-outdated-diff.yml deleted file mode 100644 index d489bada7ea..00000000000 --- a/changelogs/unreleased/dm-link-discussion-to-outdated-diff.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Link to outdated diff in older MR version from outdated diff discussion -merge_request: -author: diff --git a/changelogs/unreleased/dm-sidekiq-5.yml b/changelogs/unreleased/dm-sidekiq-5.yml deleted file mode 100644 index 69c94b18929..00000000000 --- a/changelogs/unreleased/dm-sidekiq-5.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Bump Sidekiq to 5.0.0 -merge_request: -author: diff --git a/changelogs/unreleased/dm-snippet-blob-viewers.yml b/changelogs/unreleased/dm-snippet-blob-viewers.yml deleted file mode 100644 index f218095f401..00000000000 --- a/changelogs/unreleased/dm-snippet-blob-viewers.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Use blob viewers for snippets -merge_request: -author: diff --git a/changelogs/unreleased/dm-snippet-download-button.yml b/changelogs/unreleased/dm-snippet-download-button.yml deleted file mode 100644 index 09ece1e7f98..00000000000 --- a/changelogs/unreleased/dm-snippet-download-button.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add download button to project snippets -merge_request: -author: diff --git a/changelogs/unreleased/dm-video-viewer.yml b/changelogs/unreleased/dm-video-viewer.yml deleted file mode 100644 index 1c42b16e967..00000000000 --- a/changelogs/unreleased/dm-video-viewer.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Display video blobs in-line like images -merge_request: -author: diff --git a/changelogs/unreleased/dont-blow-up-when-email-has-no-references-header.yml b/changelogs/unreleased/dont-blow-up-when-email-has-no-references-header.yml deleted file mode 100644 index a4345b70744..00000000000 --- a/changelogs/unreleased/dont-blow-up-when-email-has-no-references-header.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Gracefully handle failures for incoming emails which do not match on the To - header, and have no References header -merge_request: -author: diff --git a/changelogs/unreleased/dz-cleanup-add-users.yml b/changelogs/unreleased/dz-cleanup-add-users.yml deleted file mode 100644 index ba1e2d609f9..00000000000 --- a/changelogs/unreleased/dz-cleanup-add-users.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Refactor add_users method for project and group -merge_request: 10850 -author: diff --git a/changelogs/unreleased/dz-refactor-admin-group-members.yml b/changelogs/unreleased/dz-refactor-admin-group-members.yml deleted file mode 100644 index 993a6cac0df..00000000000 --- a/changelogs/unreleased/dz-refactor-admin-group-members.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Refactor Admin::GroupsController#members_update method and add some specs -merge_request: 10735 -author: diff --git a/changelogs/unreleased/dz-refactor-create-members.yml b/changelogs/unreleased/dz-refactor-create-members.yml deleted file mode 100644 index 8cff21eabb1..00000000000 --- a/changelogs/unreleased/dz-refactor-create-members.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Refactor code that creates project/group members -merge_request: 10735 -author: diff --git a/changelogs/unreleased/dz-remove-repo-version.yml b/changelogs/unreleased/dz-remove-repo-version.yml deleted file mode 100644 index f9e51a920f9..00000000000 --- a/changelogs/unreleased/dz-remove-repo-version.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove Repository#version method and tests -merge_request: 10734 -author: diff --git a/changelogs/unreleased/emoji-button-titles.yml b/changelogs/unreleased/emoji-button-titles.yml deleted file mode 100644 index c8e1b2c6c6b..00000000000 --- a/changelogs/unreleased/emoji-button-titles.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Added title to award emoji buttons -merge_request: -author: diff --git a/changelogs/unreleased/empty-task-list-alignment.yml b/changelogs/unreleased/empty-task-list-alignment.yml deleted file mode 100644 index ca04e1cab5a..00000000000 --- a/changelogs/unreleased/empty-task-list-alignment.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed alignment of empty task list items -merge_request: -author: diff --git a/changelogs/unreleased/environments-button-open-same-tab.yml b/changelogs/unreleased/environments-button-open-same-tab.yml deleted file mode 100644 index 60b0d389e7f..00000000000 --- a/changelogs/unreleased/environments-button-open-same-tab.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Removed the target=_blank from the monitoring component to prevent opening - a new tab -merge_request: -author: diff --git a/changelogs/unreleased/feature-gb-manual-actions-protected-branches-permissions.yml b/changelogs/unreleased/feature-gb-manual-actions-protected-branches-permissions.yml deleted file mode 100644 index 6f8e80e7d64..00000000000 --- a/changelogs/unreleased/feature-gb-manual-actions-protected-branches-permissions.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Implement protected manual actions -merge_request: 10494 -author: diff --git a/changelogs/unreleased/fix-admin-integrations.yml b/changelogs/unreleased/fix-admin-integrations.yml deleted file mode 100644 index 7689623501f..00000000000 --- a/changelogs/unreleased/fix-admin-integrations.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix new admin integrations not taking effect on existing projects -merge_request: -author: diff --git a/changelogs/unreleased/fix-allow-accessing-appearance-images.yml b/changelogs/unreleased/fix-allow-accessing-appearance-images.yml deleted file mode 100644 index 81118162bab..00000000000 --- a/changelogs/unreleased/fix-allow-accessing-appearance-images.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixes the 500 when accessing customized appearance logos -merge_request: 11479 -author: Alexis Reigel diff --git a/changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml b/changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml deleted file mode 100644 index 19a3c56e478..00000000000 --- a/changelogs/unreleased/fix-conflict-resolution-with-corrupt-repos.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Prevent further repository corruption when resolving conflicts from a fork - where both the fork and upstream projects require housekeeping -merge_request: -author: diff --git a/changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml b/changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml deleted file mode 100644 index d8d4c668a44..00000000000 --- a/changelogs/unreleased/fix-gb-fix-skipped-manual-actions.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix skipped manual actions problem when processing the pipeline -merge_request: 11164 -author: diff --git a/changelogs/unreleased/fix-gb-hide-environment-external-url-btn-when-not-provided.yml b/changelogs/unreleased/fix-gb-hide-environment-external-url-btn-when-not-provided.yml deleted file mode 100644 index 66158e337fd..00000000000 --- a/changelogs/unreleased/fix-gb-hide-environment-external-url-btn-when-not-provided.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Hide external environment URL button on terminal page if URL is not defined -merge_request: 11029 -author: diff --git a/changelogs/unreleased/fix-import-export-missing-attributes.yml b/changelogs/unreleased/fix-import-export-missing-attributes.yml deleted file mode 100644 index a1338b4eb48..00000000000 --- a/changelogs/unreleased/fix-import-export-missing-attributes.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add missing project attributes to Import/Export -merge_request: -author: diff --git a/changelogs/unreleased/fix-link-prometheus-opening-outside-gitlab.yml b/changelogs/unreleased/fix-link-prometheus-opening-outside-gitlab.yml deleted file mode 100644 index e684a1f6684..00000000000 --- a/changelogs/unreleased/fix-link-prometheus-opening-outside-gitlab.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Removed target blank from the metrics action inside the environments list -merge_request: 10726 -author: diff --git a/changelogs/unreleased/fix-n-plus-one-project-features.yml b/changelogs/unreleased/fix-n-plus-one-project-features.yml deleted file mode 100644 index 1b19bd65224..00000000000 --- a/changelogs/unreleased/fix-n-plus-one-project-features.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove N+1 queries in processing MR references -merge_request: -author: diff --git a/changelogs/unreleased/fix-notify-post-receive.yml b/changelogs/unreleased/fix-notify-post-receive.yml deleted file mode 100644 index 6b68396d5c5..00000000000 --- a/changelogs/unreleased/fix-notify-post-receive.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed wrong method call on notify_post_receive -merge_request: -author: Luigi Leoni diff --git a/changelogs/unreleased/fix-search-not-highlighting.yml b/changelogs/unreleased/fix-search-not-highlighting.yml deleted file mode 100644 index a624530ebd1..00000000000 --- a/changelogs/unreleased/fix-search-not-highlighting.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed search terms not correctly highlighting -merge_request: -author: diff --git a/changelogs/unreleased/fix-trailing-space-mr-widget.yml b/changelogs/unreleased/fix-trailing-space-mr-widget.yml deleted file mode 100644 index 86be36f3cf4..00000000000 --- a/changelogs/unreleased/fix-trailing-space-mr-widget.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Refactored the anchor tag to remove the trailing space in the target branch -merge_request: -author: diff --git a/changelogs/unreleased/fix-user-profile-tabs-showing-raw-json-instead.yml b/changelogs/unreleased/fix-user-profile-tabs-showing-raw-json-instead.yml deleted file mode 100644 index 410172864e3..00000000000 --- a/changelogs/unreleased/fix-user-profile-tabs-showing-raw-json-instead.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Prevent user profile tabs to display raw json when going back and forward in - browser history -merge_request: -author: diff --git a/changelogs/unreleased/fix-web_hooks-index.yml b/changelogs/unreleased/fix-web_hooks-index.yml deleted file mode 100644 index 16f233e2e7c..00000000000 --- a/changelogs/unreleased/fix-web_hooks-index.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add index to webhooks type column -merge_request: -author: diff --git a/changelogs/unreleased/fix_build_header_line_height.yml b/changelogs/unreleased/fix_build_header_line_height.yml deleted file mode 100644 index 95b6221f8d2..00000000000 --- a/changelogs/unreleased/fix_build_header_line_height.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Change line-height on build-header so elements don't overlap -merge_request: -author: Dino Maric diff --git a/changelogs/unreleased/fix_cache_expiration_in_repository.yml b/changelogs/unreleased/fix_cache_expiration_in_repository.yml deleted file mode 100644 index 5f34f2bd040..00000000000 --- a/changelogs/unreleased/fix_cache_expiration_in_repository.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix redundant cache expiration in Repository -merge_request: 10575 -author: blackst0ne diff --git a/changelogs/unreleased/fix_emoji_parser.yml b/changelogs/unreleased/fix_emoji_parser.yml deleted file mode 100644 index 2b1fffe2457..00000000000 --- a/changelogs/unreleased/fix_emoji_parser.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix rendering emoji inside a string -merge_request: 10647 -author: blackst0ne diff --git a/changelogs/unreleased/fix_link_in_readme.yml b/changelogs/unreleased/fix_link_in_readme.yml deleted file mode 100644 index be5ceac8656..00000000000 --- a/changelogs/unreleased/fix_link_in_readme.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix dead link to GDK on the README page -merge_request: -author: Dino Maric diff --git a/changelogs/unreleased/fix_spaces_in_label_title.yml b/changelogs/unreleased/fix_spaces_in_label_title.yml deleted file mode 100644 index 51f07438edb..00000000000 --- a/changelogs/unreleased/fix_spaces_in_label_title.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Remove heading and trailing spaces from label's color and title -merge_request: 10603 -author: blackst0ne diff --git a/changelogs/unreleased/form-focus-previous-incorrect-form.yml b/changelogs/unreleased/form-focus-previous-incorrect-form.yml deleted file mode 100644 index efabb78de6b..00000000000 --- a/changelogs/unreleased/form-focus-previous-incorrect-form.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixued preview shortcut focusing wrong preview tab -merge_request: -author: diff --git a/changelogs/unreleased/get_rid_of_pluck.yml b/changelogs/unreleased/get_rid_of_pluck.yml deleted file mode 100644 index 987af5e9317..00000000000 --- a/changelogs/unreleased/get_rid_of_pluck.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Issue assignees are now removed without loading unnecessary data into memory -merge_request: -author: diff --git a/changelogs/unreleased/gl-version-backup-file.yml b/changelogs/unreleased/gl-version-backup-file.yml deleted file mode 100644 index 9b5abd58ae7..00000000000 --- a/changelogs/unreleased/gl-version-backup-file.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Refactor backup/restore docs -merge_request: -author: diff --git a/changelogs/unreleased/group-assignee-dropdown-send-group-id.yml b/changelogs/unreleased/group-assignee-dropdown-send-group-id.yml deleted file mode 100644 index 4f153f9817d..00000000000 --- a/changelogs/unreleased/group-assignee-dropdown-send-group-id.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed group issues assignee dropdown loading all users -merge_request: -author: diff --git a/changelogs/unreleased/hamlit-xss-fix.yml b/changelogs/unreleased/hamlit-xss-fix.yml deleted file mode 100644 index ba4713846e9..00000000000 --- a/changelogs/unreleased/hamlit-xss-fix.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix for XSS in project import view caused by Hamlit filter usage. -merge_request: -author: diff --git a/changelogs/unreleased/implement-i18n-support.yml b/changelogs/unreleased/implement-i18n-support.yml deleted file mode 100644 index d304fbecf90..00000000000 --- a/changelogs/unreleased/implement-i18n-support.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add support for i18n on Cycle Analytics page -merge_request: 10669 -author: diff --git a/changelogs/unreleased/issue-boards-no-avatar.yml b/changelogs/unreleased/issue-boards-no-avatar.yml deleted file mode 100644 index a2dd53b3f2f..00000000000 --- a/changelogs/unreleased/issue-boards-no-avatar.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed avatar not display on issue boards when Gravatar is disabled -merge_request: -author: diff --git a/changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml b/changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml deleted file mode 100644 index b935ef14786..00000000000 --- a/changelogs/unreleased/issue-boards-sidebar-create-new-label-404-error.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed create new label form in issue boards sidebar -merge_request: -author: diff --git a/changelogs/unreleased/issue-title-description-realtime.yml b/changelogs/unreleased/issue-title-description-realtime.yml deleted file mode 100644 index 003e1a4ab33..00000000000 --- a/changelogs/unreleased/issue-title-description-realtime.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add realtime descriptions to issue show pages -merge_request: -author: diff --git a/changelogs/unreleased/issue_api_change.yml b/changelogs/unreleased/issue_api_change.yml deleted file mode 100644 index 3ad2d57317c..00000000000 --- a/changelogs/unreleased/issue_api_change.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'Issue API change: assignee_id parameter and assignee object in a response - have been deprecated' -merge_request: -author: diff --git a/changelogs/unreleased/make_markdown_tables_thinner.yml b/changelogs/unreleased/make_markdown_tables_thinner.yml deleted file mode 100644 index d03a26bdeb3..00000000000 --- a/changelogs/unreleased/make_markdown_tables_thinner.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Make markdown tables thinner -merge_request: 10909 -author: blackst0ne diff --git a/changelogs/unreleased/merge-request-poll-json-endpoint.yml b/changelogs/unreleased/merge-request-poll-json-endpoint.yml deleted file mode 100644 index 6c41984e9b7..00000000000 --- a/changelogs/unreleased/merge-request-poll-json-endpoint.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed bug where merge request JSON would be displayed -merge_request: -author: diff --git a/changelogs/unreleased/metrics-graph-error-fix.yml b/changelogs/unreleased/metrics-graph-error-fix.yml deleted file mode 100644 index 2698b92e1f1..00000000000 --- a/changelogs/unreleased/metrics-graph-error-fix.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed Prometheus monitoring graphs not showing empty states in certain scenarios -merge_request: -author: diff --git a/changelogs/unreleased/milestone-not-showing-correctly-title.yml b/changelogs/unreleased/milestone-not-showing-correctly-title.yml deleted file mode 100644 index 7c21094d737..00000000000 --- a/changelogs/unreleased/milestone-not-showing-correctly-title.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Removed the milestone references from the milestone views -merge_request: -author: diff --git a/changelogs/unreleased/more-mr-filters.yml b/changelogs/unreleased/more-mr-filters.yml deleted file mode 100644 index 3c2114f6614..00000000000 --- a/changelogs/unreleased/more-mr-filters.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 'API: Filter merge requests by milestone and labels' -merge_request: Robert Schilling -author: 10924 diff --git a/changelogs/unreleased/move-search-labels.yml b/changelogs/unreleased/move-search-labels.yml deleted file mode 100644 index 3a1d23d622e..00000000000 --- a/changelogs/unreleased/move-search-labels.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Move labels of search results from bottom to title -merge_request: 10705 -author: dr diff --git a/changelogs/unreleased/mr-diff-size-overflow.yml b/changelogs/unreleased/mr-diff-size-overflow.yml deleted file mode 100644 index 87449930cf2..00000000000 --- a/changelogs/unreleased/mr-diff-size-overflow.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Show sizes correctly in merge requests when diffs overflow -merge_request: -author: diff --git a/changelogs/unreleased/mrchrisw-22740-merge-api.yml b/changelogs/unreleased/mrchrisw-22740-merge-api.yml deleted file mode 100644 index e75160aec70..00000000000 --- a/changelogs/unreleased/mrchrisw-22740-merge-api.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix updating merge_when_build_succeeds via merge API endpoint -merge_request: 10873 -author: diff --git a/changelogs/unreleased/mrchrisw-fix-slack-notify.yml b/changelogs/unreleased/mrchrisw-fix-slack-notify.yml deleted file mode 100644 index bb45a117be6..00000000000 --- a/changelogs/unreleased/mrchrisw-fix-slack-notify.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix notify_only_default_branch check for Slack service -merge_request: -author: diff --git a/changelogs/unreleased/mrchrisw-import-shell-timeout.yml b/changelogs/unreleased/mrchrisw-import-shell-timeout.yml deleted file mode 100644 index e43409109d6..00000000000 --- a/changelogs/unreleased/mrchrisw-import-shell-timeout.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add configurable timeout for git fetch and clone operations -merge_request: 10697 -author: diff --git a/changelogs/unreleased/omnibus-gitlab-1993-check-shell-repositories-path-group-is-root.yml b/changelogs/unreleased/omnibus-gitlab-1993-check-shell-repositories-path-group-is-root.yml deleted file mode 100644 index 3b9284258cb..00000000000 --- a/changelogs/unreleased/omnibus-gitlab-1993-check-shell-repositories-path-group-is-root.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "Make the `gitlab:gitlab_shell:check` task check that the repositories storage path are owned by the `root` group" -merge_request: -author: diff --git a/changelogs/unreleased/optimise-pipelines-json.yml b/changelogs/unreleased/optimise-pipelines-json.yml deleted file mode 100644 index 948679dcbeb..00000000000 --- a/changelogs/unreleased/optimise-pipelines-json.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Optimise pipelines.json endpoint -merge_request: -author: diff --git a/changelogs/unreleased/pipeline-schedules-callout-docs-url.yml b/changelogs/unreleased/pipeline-schedules-callout-docs-url.yml deleted file mode 100644 index b21bb162380..00000000000 --- a/changelogs/unreleased/pipeline-schedules-callout-docs-url.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Pass docsUrl to pipeline schedules callout component. -merge_request: !1126 -author: diff --git a/changelogs/unreleased/preview-separate-slash-commands.yml b/changelogs/unreleased/preview-separate-slash-commands.yml deleted file mode 100644 index 6240ccc957c..00000000000 --- a/changelogs/unreleased/preview-separate-slash-commands.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Display slash commands outcome when previewing Markdown -merge_request: 10054 -author: Rares Sfirlogea diff --git a/changelogs/unreleased/prometheus-integration-test-setting-fix.yml b/changelogs/unreleased/prometheus-integration-test-setting-fix.yml deleted file mode 100644 index 45b7c2263e6..00000000000 --- a/changelogs/unreleased/prometheus-integration-test-setting-fix.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Prevent 500 errors caused by testing the Prometheus service -merge_request: 10994 -author: diff --git a/changelogs/unreleased/query-users-by-extern-uid.yml b/changelogs/unreleased/query-users-by-extern-uid.yml deleted file mode 100644 index 39d1cf8d3f3..00000000000 --- a/changelogs/unreleased/query-users-by-extern-uid.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Implement search by extern_uid in Users API -merge_request: 10509 -author: Robin Bobbitt diff --git a/changelogs/unreleased/related-branch-ci-status-icon-alignment.yml b/changelogs/unreleased/related-branch-ci-status-icon-alignment.yml deleted file mode 100644 index 198b6ce15ae..00000000000 --- a/changelogs/unreleased/related-branch-ci-status-icon-alignment.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed alignment of CI icon in issues related branches -merge_request: -author: diff --git a/changelogs/unreleased/remove-double-newline-for-single-attachments.yml b/changelogs/unreleased/remove-double-newline-for-single-attachments.yml deleted file mode 100644 index 98a28e1ede1..00000000000 --- a/changelogs/unreleased/remove-double-newline-for-single-attachments.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Only add newlines between multiple uploads -merge_request: 10545 -author: diff --git a/changelogs/unreleased/replace_header_mr_icon.yml b/changelogs/unreleased/replace_header_mr_icon.yml deleted file mode 100644 index 2ef6500f88a..00000000000 --- a/changelogs/unreleased/replace_header_mr_icon.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Replace header merge request icon -merge_request: 10932 -author: blackst0ne diff --git a/changelogs/unreleased/reset-new-branch-button.yml b/changelogs/unreleased/reset-new-branch-button.yml deleted file mode 100644 index 318ee46298f..00000000000 --- a/changelogs/unreleased/reset-new-branch-button.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Reset New branch button when issue state changes -merge_request: 5962 -author: winniehell diff --git a/changelogs/unreleased/right-sidebar-closed-default-mobile.yml b/changelogs/unreleased/right-sidebar-closed-default-mobile.yml deleted file mode 100644 index cf0ec418f0e..00000000000 --- a/changelogs/unreleased/right-sidebar-closed-default-mobile.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Set the issuable sidebar to remain closed for mobile devices -merge_request: -author: diff --git a/changelogs/unreleased/rs-sanitize-submodule-urls.yml b/changelogs/unreleased/rs-sanitize-submodule-urls.yml deleted file mode 100644 index 463b3695687..00000000000 --- a/changelogs/unreleased/rs-sanitize-submodule-urls.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Sanitize submodule URLs before linking to them in the file tree view -merge_request: -author: diff --git a/changelogs/unreleased/sh-bump-sidekiq-version.yml b/changelogs/unreleased/sh-bump-sidekiq-version.yml deleted file mode 100644 index 5369b78b76a..00000000000 --- a/changelogs/unreleased/sh-bump-sidekiq-version.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Upgrade Sidekiq to 4.2.10 -merge_request: -author: diff --git a/changelogs/unreleased/sh-optimize-duplicate-routable-full-path.yml b/changelogs/unreleased/sh-optimize-duplicate-routable-full-path.yml deleted file mode 100644 index b1ef00f09b2..00000000000 --- a/changelogs/unreleased/sh-optimize-duplicate-routable-full-path.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Cache Routable#full_path in RequestStore to reduce duplicate route loads -merge_request: -author: diff --git a/changelogs/unreleased/snippets-finder-visibility.yml b/changelogs/unreleased/snippets-finder-visibility.yml deleted file mode 100644 index fde2262cc8d..00000000000 --- a/changelogs/unreleased/snippets-finder-visibility.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Refactor snippets finder & dont return internal snippets for external users -merge_request: -author: diff --git a/changelogs/unreleased/snippets_visibility.yml b/changelogs/unreleased/snippets_visibility.yml deleted file mode 100644 index 4c10c6882ab..00000000000 --- a/changelogs/unreleased/snippets_visibility.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix snippets visibility for show action - external users can not see internal snippets -merge_request: -author: diff --git a/changelogs/unreleased/spec_for_schema.yml b/changelogs/unreleased/spec_for_schema.yml deleted file mode 100644 index 7ea0b8672ce..00000000000 --- a/changelogs/unreleased/spec_for_schema.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add spec for schema.rb -merge_request: 10580 -author: blackst0ne diff --git a/changelogs/unreleased/store-retried-in-database-for-ci-builds.yml b/changelogs/unreleased/store-retried-in-database-for-ci-builds.yml deleted file mode 100644 index 9185113f51c..00000000000 --- a/changelogs/unreleased/store-retried-in-database-for-ci-builds.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Store retried in database for CI Builds -merge_request: -author: diff --git a/changelogs/unreleased/submodules-no-dotgit.yml b/changelogs/unreleased/submodules-no-dotgit.yml deleted file mode 100644 index 2ff0ee997fa..00000000000 --- a/changelogs/unreleased/submodules-no-dotgit.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: 'repository browser: handle submodule urls that don''t end with .git' -merge_request: -author: David Turner diff --git a/changelogs/unreleased/tags-sort-default.yml b/changelogs/unreleased/tags-sort-default.yml deleted file mode 100644 index 265b765d540..00000000000 --- a/changelogs/unreleased/tags-sort-default.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fixed tags sort from defaulting to empty -merge_request: -author: diff --git a/changelogs/unreleased/tc-fix-private-subgroups-shown.yml b/changelogs/unreleased/tc-fix-private-subgroups-shown.yml deleted file mode 100644 index 82e03921854..00000000000 --- a/changelogs/unreleased/tc-fix-private-subgroups-shown.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "Do not show private groups on subgroups page if user doesn't have access to" -merge_request: -author: diff --git a/changelogs/unreleased/tc-job-page-mr-bold.yml b/changelogs/unreleased/tc-job-page-mr-bold.yml deleted file mode 100644 index 0243a259119..00000000000 --- a/changelogs/unreleased/tc-job-page-mr-bold.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Make MR link in build sidebar bold -merge_request: -author: diff --git a/changelogs/unreleased/tc-make-user-master-project-by-admin.yml b/changelogs/unreleased/tc-make-user-master-project-by-admin.yml deleted file mode 100644 index 459d6178bdd..00000000000 --- a/changelogs/unreleased/tc-make-user-master-project-by-admin.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Ensure namespace owner is Master of project upon creation -merge_request: 10910 -author: diff --git a/changelogs/unreleased/uassign_on_member_removing.yml b/changelogs/unreleased/uassign_on_member_removing.yml deleted file mode 100644 index cd60bdf5b3d..00000000000 --- a/changelogs/unreleased/uassign_on_member_removing.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Unassign all Issues and Merge Requests when member leaves a team -merge_request: -author: diff --git a/changelogs/unreleased/use-hashie-forbidden_attributes.yml b/changelogs/unreleased/use-hashie-forbidden_attributes.yml deleted file mode 100644 index 4f429b03a0d..00000000000 --- a/changelogs/unreleased/use-hashie-forbidden_attributes.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add hashie-forbidden_attributes gem -merge_request: 10579 -author: Andy Brown diff --git a/changelogs/unreleased/user-activity-scroll-bar.yml b/changelogs/unreleased/user-activity-scroll-bar.yml deleted file mode 100644 index 97cccee42cb..00000000000 --- a/changelogs/unreleased/user-activity-scroll-bar.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix preemptive scroll bar on user activity calendar. -merge_request: !10636 -author: diff --git a/changelogs/unreleased/winh-german-cycle-analytics.yml b/changelogs/unreleased/winh-german-cycle-analytics.yml deleted file mode 100644 index 14b2d672bd0..00000000000 --- a/changelogs/unreleased/winh-german-cycle-analytics.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Add German translation for Cycle Analytics -merge_request: 11161 -author: diff --git a/changelogs/unreleased/winh-visual-token-labels.yml b/changelogs/unreleased/winh-visual-token-labels.yml deleted file mode 100644 index d4952e910b4..00000000000 --- a/changelogs/unreleased/winh-visual-token-labels.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Colorize labels in search field -merge_request: 11047 -author: diff --git a/changelogs/unreleased/zj-better-view-pipeline-schedule.yml b/changelogs/unreleased/zj-better-view-pipeline-schedule.yml deleted file mode 100644 index 6d6fa0784f2..00000000000 --- a/changelogs/unreleased/zj-better-view-pipeline-schedule.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Pipeline schedules got a new and improved UI -merge_request: 10853 -author: diff --git a/changelogs/unreleased/zj-chat-message-pretty-time.yml b/changelogs/unreleased/zj-chat-message-pretty-time.yml deleted file mode 100644 index 68bc647bab2..00000000000 --- a/changelogs/unreleased/zj-chat-message-pretty-time.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Pipeline chat notifications convert seconds to minutes and hours -merge_request: -author: diff --git a/changelogs/unreleased/zj-dockerfiles.yml b/changelogs/unreleased/zj-dockerfiles.yml deleted file mode 100644 index 40cb7dcfb76..00000000000 --- a/changelogs/unreleased/zj-dockerfiles.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Dockerfiles templates are imported from gitlab.com/gitlab-org/Dockerfile -merge_request: 10663 -author: diff --git a/changelogs/unreleased/zj-real-time-pipelines.yml b/changelogs/unreleased/zj-real-time-pipelines.yml deleted file mode 100644 index eec22e67467..00000000000 --- a/changelogs/unreleased/zj-real-time-pipelines.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Pipeline view updates in near real time -merge_request: 10777 -author: -- GitLab From 27cff7db3efa6c1987103ae8f93e40036206925d Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin <godfat@godfat.org> Date: Mon, 22 May 2017 15:27:54 +0000 Subject: [PATCH 150/249] Update VERSION to 9.2.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index adaca40bf1a..deeb3d66ef0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0-rc7 +9.2.0 -- GitLab From 7727f193a16b1b272a75b466bb20e80c0797c552 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Mon, 22 May 2017 18:40:01 +0000 Subject: [PATCH 151/249] Merge branch '32657-fix-mr-widget-styles' into 'master' MR widget styling fixes Closes #32657 See merge request !11591 --- .../states/mr_widget_ready_to_merge.js | 2 +- .../stylesheets/pages/merge_requests.scss | 20 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js index 74613a1089e..d866d4e94b0 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_ready_to_merge.js @@ -210,7 +210,7 @@ export default { v-if="shouldShowMergeOptionsDropdown" :disabled="isMergeButtonDisabled" type="button" - class="btn btn-info dropdown-toggle" + class="btn btn-small btn-info dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-caret-down" diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index af084deeaff..f747e7b1660 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -187,8 +187,7 @@ } } - .mr-widget-heading, - .mr-widget-body { + .mr-widget-heading { .btn-default.btn-xs { margin-left: 5px; } @@ -201,13 +200,17 @@ .btn-group .btn { padding: 5px 10px; + + &.dropdown-toggle { + padding: 5px 7px; + } } } .mr-widget-body { h4 { - font-weight: 600; - font-size: 16px; + font-weight: bold; + font-size: 15px; margin: 5px 0; color: $gl-text-color; @@ -234,7 +237,6 @@ } .bold { - margin-left: 5px; font-weight: bold; font-size: 15px; color: $gl-gray-light; @@ -367,6 +369,12 @@ } } +.mr-state-widget .mr-widget-body { + .approve-btn { + margin-right: 5px; + } +} + .mr_source_commit, .mr_target_commit { margin-bottom: 0; @@ -537,7 +545,7 @@ p { float: left; - padding-left: 20px; + padding-left: 21px; &::before { top: 13px; -- GitLab From af4e5ddc166bbbe5961f7da2ef668acca2bb61e5 Mon Sep 17 00:00:00 2001 From: "Sean Packham (GitLab)" <sean@seanpackham.com> Date: Sat, 20 May 2017 11:10:41 +0000 Subject: [PATCH 152/249] Merge branch 'docs/add-comment-snippets' into 'master' Adds "comments on snippets" to doc Closes #32575 See merge request !11563 --- doc/user/img/gitlab_snippet.png | Bin 0 -> 34355 bytes doc/user/snippets.md | 10 ++++++++++ 2 files changed, 10 insertions(+) create mode 100644 doc/user/img/gitlab_snippet.png diff --git a/doc/user/img/gitlab_snippet.png b/doc/user/img/gitlab_snippet.png new file mode 100644 index 0000000000000000000000000000000000000000..718347fc2d428625e439cad9bbe3501b2e5e8936 GIT binary patch literal 34355 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 literal 0 HcmV?d00001 diff --git a/doc/user/snippets.md b/doc/user/snippets.md index 417360e08ac..78861625f8a 100644 --- a/doc/user/snippets.md +++ b/doc/user/snippets.md @@ -2,8 +2,18 @@ Snippets are little bits of code or text. + + There are 2 types of snippets - project snippets and personal snippets. +## Comments + +With GitLab Snippets you engage in a conversation about that piece of code, +facilitating the collaboration among users. + +> **Note:** +Comments on snippets was [introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/12910) in [GitLab Community Edition 9.2](https://about.gitlab.com/2017/05/22/gitlab-9-2-released/#comments-for-personal-snippets). + ## Project snippets Project snippets are always related to a specific project - see [Project features](../workflow/project_features.md) for more information. -- GitLab From 1ccd2fc3d498498cbb084ad085b5c2f7bfa1dd2c Mon Sep 17 00:00:00 2001 From: "Sean Packham (GitLab)" <sean@seanpackham.com> Date: Sat, 20 May 2017 11:10:50 +0000 Subject: [PATCH 153/249] Merge branch 'docs/issues-multiple-assignees' into 'master' Add to docs: issues multiple assignees Closes gitlab-ee#2440 and #32574 See merge request !11556 --- .../project/issues/img/issues_main_view.png | Bin 0 -> 73751 bytes .../issues/img/issues_main_view_numbered.jpg | Bin 0 -> 103249 bytes doc/user/project/issues/index.md | 104 +++++++++++ .../project/issues/issues_functionalities.md | 176 ++++++++++++++++++ 4 files changed, 280 insertions(+) create mode 100644 doc/user/project/issues/img/issues_main_view.png create mode 100644 doc/user/project/issues/img/issues_main_view_numbered.jpg create mode 100644 doc/user/project/issues/index.md create mode 100644 doc/user/project/issues/issues_functionalities.md diff --git a/doc/user/project/issues/img/issues_main_view.png b/doc/user/project/issues/img/issues_main_view.png new file mode 100644 index 0000000000000000000000000000000000000000..4faa42e40ee3e6e781218a5efbe74709d4c83403 GIT binary patch literal 73751 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/issues_main_view_numbered.jpg b/doc/user/project/issues/img/issues_main_view_numbered.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b5d7fba4599f116af9b6d60060a7e438cfc2876 GIT binary patch literal 103249 zcmeFZ1zc54_b_@05s(lRq(M^P0Md;}NlM3|r5ohXje#^scXvulBhp724kaN1hekRS zya(&S_tE$9`G5C*zkBcRTl=tQtu-rV&z@N`duDGwkAI#6T$PrPk^mqe000Q^1MqnY zAPPXgjEaVef{uoYhH(WQ1Dgm38w(4Y9G~DC5zS3HTI!qBRP@aJZ1g}LAQd&c1P71c z9T8EHTdb0DlEQNQcSY`;8$q~&fq{*QO@@O*c87tQ;m*H?&#eF)ROHo5yhsQ*07M)F zBpig#Z2%H@ArX-f&dd89kdP4&FQHsUh368%Grqw0Jor^1A|YQw`8)~0K!R&tMY;;l z`gj`vz{L1V=3irMHUI!3+{phJaN(N4|6^?c0NDosp!!)K;~ut*{j!w7WigVfK^pC} zk%6~SFB4hlh%$!>K|3YDt)$};u3QP-R%t9yI=v65B0gCY>eQQ%j)JchzX-#T5vmx9 zwR=btv!v>4B=^cJiOi$UfUBs;<dA#uZ7B;ks4P)khBX{i{wD2b$Kmke=>Nn*@L$r1 ziHQ(feDr}gVz>g0ZJv8%NT;iBj+eK|5;Uk#f&Wp>%+$lCqN;CC$qr139%3R*r`rRn zOXLhOyb@O}YAT^=E}mcFHq?Wq31v$d&3p372{IIlI}uoICQAbvm5RBw0L5ID^eJ($ zTIu=8HvkPzO8m_Fi^7yeGNkxI-nKw^`4|5`FhpSh0LSM)nE!_Sd!2mOUOarSo_pSO zF1vTHerH}tC5$c*0Kom9sNWFENtJMi0L@0wh_;	D`ar!_ojqcEa#>3I`;V^D`H` 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/index.md b/doc/user/project/issues/index.md new file mode 100644 index 00000000000..9598cb801be --- /dev/null +++ b/doc/user/project/issues/index.md @@ -0,0 +1,104 @@ +# GitLab Issues Documentation + +The GitLab Issue Tracker is an advanced and complete tool +for tracking the evolution of a new idea or the process +of solving a problem. + +It allows you, your team, and your collaborators to share +and discuss proposals, before and while implementing them. + +Issues and the GitLab Issue Tracker are available in all +[GitLab Products](https://about.gitlab.com/products/) as +part of the [GitLab Workflow](https://about.gitlab.com/2016/10/25/gitlab-workflow-an-overview/). + +## Use-Cases + +Issues can have endless applications. Just to exemplify, these are +some cases for which creating issues are most used: + +- Discussing the implementation of a new idea +- Submitting feature proposals +- Asking questions +- Reporting bugs and malfunction +- Obtaining support +- Elaborating new code implementations + +See also the blog post [Always start a discussion with an issue](https://about.gitlab.com/2016/03/03/start-with-an-issue/). + +## Issue Tracker + +The issue tracker is the collection of opened and closed issues created in a project. + + + +Find the issue tracker by navigating to your **Project's Dashboard** > **Issues**. + +## GitLab Issues Functionalities + +The image bellow illustrates how an issue looks like: + + + +Learn more about it on the [GitLab Issues Functionalities documentation](issues_functionalities.md). + +## New Issue + +Read through the [documentation on creating issues](create_new_issue.md). + +## Closing issues + +Read through the distinct ways to [close issues](closing_issues.md) on GitLab. + +## Create a merge request from an issue + +Learn more about it on the [GitLab Issues Functionalities documentation](issues_functionalities.md#18-new-merge-request). + +## Search for an issue + +Learn how to [find an issue](../../search/index.md) by searching for and filtering them. + +## Advanced features + +### Confidential Issues + +Whenever you want to keep the discussion presented in a +issue within your team only, you can make that +[issue confidential](confidential_issues.md). Even if your project +is public, that issue will be preserved. The browser will +respond with a 404 error whenever someone who is not a project +member with at least [Reporter level](../../permissions.md#project) tries to +access that issue's URL. + +Learn more about them on the [confidential issues documentation](confidential_issues.md). + +### Issue templates + +Create templates for every new issue. They will be available from +the dropdown menu **Choose a template** when you create a new issue: + + + +Learn more about them on the [issue templates documentation](../../project/description_templates.md#creating-issue-templates). + +### Crosslinking issues + +Learn more about [crosslinking](crosslinking_issues.md) issues and merge requests. + +### GitLab Issue Board + +The [GitLab Issue Board](https://about.gitlab.com/features/issueboard/) is a way to +enhance your workflow by organizing and prioritizing issues in GitLab. + + + +Find GitLab Issue Boards by navigating to your **Project's Dashboard** > **Issues** > **Board**. + +Read through the documentation for [Issue Boards](../issue_board.md) +to find out more about this feature. + +[Multiple Issue Boards](https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards) +are available only in [GitLab Enterprise Edition](https://about.gitlab.com/gitlab-ee/). + +### Issue's API + +Read through the [API documentation](../../../api/issues.md). diff --git a/doc/user/project/issues/issues_functionalities.md b/doc/user/project/issues/issues_functionalities.md new file mode 100644 index 00000000000..ba843201e1a --- /dev/null +++ b/doc/user/project/issues/issues_functionalities.md @@ -0,0 +1,176 @@ +# GitLab Issues Functionalities + +Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues. + +## Issues Functionalities + +The image bellow illustrates how an issue looks like: + + + +You can find all the information on that issue on one screen. + +### Issue screen + +An issue starts with its status (open or closed), followed by its author, +and includes many other functionalities, numbered on the image above to +explain what they mean, one by one. + +Many of the elements of the issue screen refresh automatically, such as the title and description, when they are changed by another user. +Comments and system notes also appear automatically in response to various actions and content updates. + +#### 1. New Issue, close issue, edit + +- New issue: create a new issue in the same project +- Close issue: close this issue +- Edit: edit the same fields available when you create an issue. + +#### 2. Todos + +- Add todo: add that issue to your [GitLab Todo](../../../workflow/todos.html) list +- Mark done: mark that issue as done (reflects on the Todo list) + +#### 3. Assignee + +Whenever someone starts to work on an issue, it can be assigned +to that person. The assignee can be changed as much as needed. +The idea is that the assignee is responsible for that issue until +it's reassigned to someone else to take it from there. + +> **Tip:** +if a user is not member of that project, it can only be +assigned to them if they created the issue themselves. + +##### 3.1. Multiple Assignees (EES/EEP) + +Issue Weights are only available in [GitLab Enterprise Edition](https://about.gitlab.com/gitlab-ee/). + +Often multiple people likely work on the same issue together, +which can especially be difficult to track in large teams +where there is shared ownership of an issue. + +In GitLab Enterprise Edition, you can also select multiple assignees +to an issue. + +> **Note:** +Multiple Assignees was [introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/1904) +in [GitLab Enterprise Edition 9.2](https://about.gitlab.com/2017/05/22/gitlab-9-2-released/#multiple-assignees-for-issues). + +#### 4. Milestone + +- Select a [milestone](../milestones/index.md) to attribute that issue to. + +#### 5. Time Tracking (EES/EEP) + +This feature is available only in [GitLab Enterprise Edition](https://about.gitlab.com/gitlab-ee/). + +- Estimate time: add an estimate time in which the issue will be implemented +- Spend: add the time spent on the implementation of that issue + +> **Note:** +both estimate and spend times are set via [GitLab Slash Commands](../slash_commands.md). + +Learn more on the [Time Tracking documentation](https://docs.gitlab.com/ee/workflow/time_tracking.html). + +#### 6. Due date + +When you work on a tight schedule, and it's important to +have a way to setup a deadline for implementations and for solving +problems. This can be facilitated by the [due date](due_dates.md)). Due dates +can be changed as many times as needed. + +#### 7. Labels + +Categorize issues by giving them [labels](../labels.md). They help to +organize team's workflows, once they enable you to work with the +[GitLab Issue Board](index.md#gitlab-issue-board). + +Group Labels, which allow you to use the same labels per +group of projects, can be also given to issues. They work exactly the same, +but they are immediately available to all projects in the group. + +> **Tip:** +if the label doesn't exist yet, when you click **Edit**, it opens a dropdown menu from which you can select **Create new label**. + +#### 8. Weight (EES/EEP) + +Issue Weights are only available in [GitLab Enterprise Edition](https://about.gitlab.com/gitlab-ee/). + +- Attribute a weight (in a 0 to 9 range) to that issue. Easy to complete +should weight 1 and very hard to complete should weight 9. + +Learn more on the [Issue Weight documentation](https://docs.gitlab.com/ee/workflow/issue_weight.html). + +#### 9. Participants + +- People involved in that issue (mentioned in the description or in the [discussion](../../discussions/index.md)). + +#### 10. Notifications + +- Subscribe: if you are not a participant of the discussion on that issue, but +want to receive notifications on each new input, subscribe to it. +- Unsubscribe: if you are receiving notifications on that issue but no +longer want to receive them, unsubscribe to it. + +Read more on the [notifications documentation](../../../workflow/notifications.md#issue-merge-request-events). + +#### 11. Reference + +- A quick "copy to clipboard" button to that issue's reference, `foo/bar#xxx`, where `foo` is the `username` or `groupname`, `bar` +is the `project-name`, and `xxx` is the issue number. + +#### 12. Title and description + +- Title: a plain text title describing the issue's subject. +- Description: a text field which fully supports [GitLab Flavored Markdown](../../markdown.md#gitlab-flavored-markdown-gfm). + +#### 13. @mentions + +- Mentions: you can either `@mention` a user or a group present in your +GitLab instance and they will be notified via todos and email, unless that +person has disabled all notifications in their profile settings. + +To change your [notification settings](../../../workflow/notifications.md) navigate to +**Profile Settings** > **Notifications** > **Global notification level** +and choose your preferences from the dropdown menu. + +> **Tip:** +Avoid mentioning `@all` in issues and merge requests, +as it sends an email notification +to all the members of that project's group, which can be +interpreted as spam. + +#### 14. Related Merge Requests + +- Any merge requests mentioned in that issue's description +or in the issue thread. + +#### 15. Award emoji + +- Award an emoji to that issue. + +> **Tip:** +Posting "+1" as comments in threads spam all +participants of that issue. Awarding an emoji is a way to let them +know you like it without spamming them. + +#### 16. Thread + +- Comments: collaborate to that issue by posting comments in its thread. +These text fields also fully support +[GitLab Flavored Markdown](../../markdown.md#gitlab-flavored-markdown-gfm). + +#### 17. Comment, start a discusion, or comment and close + +Once you wrote your comment, you can either: + +- Click "Comment" and your comment will be published. +- Click "Start discussion": start a thread within that issue's thread to discuss specific points. +- Click "Comment and close issue": post your comment and close that issue in one click. + +#### 18. New Merge Request + +- Create a new merge request (with a new source branch named after the issue) in one action. +The merge request will automatically close that issue as soon as merged. +- Optionally, you can just create a [new branch](../repository/web_editor.md#create-a-new-branch-from-an-issue) +named after that issue. -- GitLab From 2f76387754437efbc8c3a4838ec1bfda17ab4bb4 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Mon, 22 May 2017 18:08:38 +0000 Subject: [PATCH 154/249] Merge branch 'fix-weird-jquery-data-attribute-caching-issue-in-notes' into 'master' Fix jQuery data attribute caching issue causing expanding issues Closes #32705 See merge request !11609 --- app/assets/javascripts/notes.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index c2a0cb60f45..233c2e637af 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -858,11 +858,12 @@ const normalizeNewlines = function(str) { Notes.prototype.onAddDiffNote = function(e) { e.preventDefault(); - const $link = $(e.currentTarget || e.target); + const link = e.currentTarget || e.target; + const $link = $(link); const showReplyInput = !$link.hasClass('js-diff-comment-avatar'); this.toggleDiffNote({ target: $link, - lineType: $link.data('lineType'), + lineType: link.dataset.lineType, showReplyInput }); }; -- GitLab From 4e3296bf13a64a2c8d86037230919d2abcd35f1c Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Mon, 22 May 2017 19:11:55 +0000 Subject: [PATCH 155/249] Merge branch '32486-fix-note-emoji-placement' into 'master' 32486 Fix placement of note emoji on hover Closes #32486 See merge request !11605 --- app/assets/stylesheets/framework/awards.scss | 4 ---- changelogs/unreleased/32486-fix-note-emoji-placement.yml | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 changelogs/unreleased/32486-fix-note-emoji-placement.yml diff --git a/app/assets/stylesheets/framework/awards.scss b/app/assets/stylesheets/framework/awards.scss index 9159927ed8b..8dbb63c3ff4 100644 --- a/app/assets/stylesheets/framework/awards.scss +++ b/app/assets/stylesheets/framework/awards.scss @@ -237,7 +237,3 @@ vertical-align: middle; } } - -.note-awards .award-control-icon-positive { - left: 6px; -} diff --git a/changelogs/unreleased/32486-fix-note-emoji-placement.yml b/changelogs/unreleased/32486-fix-note-emoji-placement.yml new file mode 100644 index 00000000000..62c345895fc --- /dev/null +++ b/changelogs/unreleased/32486-fix-note-emoji-placement.yml @@ -0,0 +1,4 @@ +--- +title: Fix placement of note emoji on hover +merge_request: +author: -- GitLab From 2151061594e8450b46ea75b115d572488c416b09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Mon, 22 May 2017 13:45:10 +0000 Subject: [PATCH 156/249] Merge branch 'change_pipelines_schedules_help_page_path' into 'master' Change pipelines schedules help page path See merge request !11592 --- app/views/projects/pipeline_schedules/index.html.haml | 4 ++-- spec/features/projects/pipeline_schedules_spec.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/projects/pipeline_schedules/index.html.haml b/app/views/projects/pipeline_schedules/index.html.haml index 25c52175e3d..6751efaaf2f 100644 --- a/app/views/projects/pipeline_schedules/index.html.haml +++ b/app/views/projects/pipeline_schedules/index.html.haml @@ -7,14 +7,14 @@ = render "projects/pipelines/head" %div{ class: container_class } - #pipeline-schedules-callout{ data: { docs_url: help_page_path('ci/pipeline_schedules') } } + #pipeline-schedules-callout{ data: { docs_url: help_page_path('user/project/pipelines/schedules') } } .top-area - schedule_path_proc = ->(scope) { pipeline_schedules_path(@project, scope: scope) } = render "tabs", schedule_path_proc: schedule_path_proc, all_schedules: @all_schedules, scope: @scope .nav-controls = link_to new_namespace_project_pipeline_schedule_path(@project.namespace, @project), class: 'btn btn-create' do - %span New Schedule + %span New schedule - if @schedules.present? %ul.content-list diff --git a/spec/features/projects/pipeline_schedules_spec.rb b/spec/features/projects/pipeline_schedules_spec.rb index 03a30bfb996..1211b17b3d8 100644 --- a/spec/features/projects/pipeline_schedules_spec.rb +++ b/spec/features/projects/pipeline_schedules_spec.rb @@ -38,7 +38,7 @@ feature 'Pipeline Schedules', :feature do end it 'creates a new scheduled pipeline' do - click_link 'New Schedule' + click_link 'New schedule' expect(page).to have_content('Schedule a new pipeline') end -- GitLab From 9b1e62ef9af3a08b0807a1e9172b19eb648fff7b Mon Sep 17 00:00:00 2001 From: "Sean Packham (GitLab)" <sean@seanpackham.com> Date: Mon, 22 May 2017 11:18:15 +0000 Subject: [PATCH 157/249] Merge branch 'docs/deploys-perf-dashboard' into 'master' Move environment monitoring to environments doc See merge request !11583 --- doc/ci/environments.md | 34 ++++++++++++++++++ doc/ci/img/environments_monitoring.png | Bin 0 -> 94408 bytes ...etheus_environment_detail_with_metrics.png | Bin doc/user/project/integrations/prometheus.md | 27 +++++++------- 4 files changed, 49 insertions(+), 12 deletions(-) create mode 100644 doc/ci/img/environments_monitoring.png rename doc/{user/project/integrations => ci}/img/prometheus_environment_detail_with_metrics.png (100%) diff --git a/doc/ci/environments.md b/doc/ci/environments.md index b28f3e13eae..f047a076c67 100644 --- a/doc/ci/environments.md +++ b/doc/ci/environments.md @@ -590,6 +590,38 @@ exist, you should see something like:  +## Monitoring environments + +>**Notes:** +> +- For the monitor dashboard to appear, you need to: + - Have enabled the [Kubernetes integration][kube] + - Have your app deployed on Kubernetes + - Have enabled the [Prometheus integration][prom] +- With GitLab 9.2, all deployments to an environment are shown directly on the + monitoring dashboard + +If your application is deployed on Kubernetes and you have enabled Prometheus +collecting metrics, you can monitor the performance behavior of your app +through the environments. + +Once configured, GitLab will attempt to retrieve performance metrics for any +environment which has had a successful deployment. If monitoring data was +successfully retrieved, a Monitoring button will appear on the environment's +detail page. + + + +Clicking on the Monitoring button will display a new page, showing up to the last +8 hours of performance data. It may take a minute or two for data to appear +after initial deployment. + +All deployments to an environment are shown directly on the monitoring dashboard +which allows easy correlation between any changes in performance and a new +version of the app, all without leaving GitLab. + + + ## Checkout deployments locally Since 8.13, a reference in the git repository is saved for each deployment, so @@ -631,3 +663,5 @@ Below are some links you may find interesting: [gitlab-flow]: ../workflow/gitlab_flow.md [gitlab runner]: https://docs.gitlab.com/runner/ [git-strategy]: yaml/README.md#git-strategy +[kube]: ../user/project/integrations/kubernetes.md +[prom]: ../user/project/integrations/prometheus.md diff --git a/doc/ci/img/environments_monitoring.png b/doc/ci/img/environments_monitoring.png new file mode 100644 index 0000000000000000000000000000000000000000..387b6c54b61fec3ea8c236ce756889059e8b929f GIT binary patch literal 94408 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/integrations/img/prometheus_environment_detail_with_metrics.png b/doc/ci/img/prometheus_environment_detail_with_metrics.png similarity index 100% rename from doc/user/project/integrations/img/prometheus_environment_detail_with_metrics.png rename to doc/ci/img/prometheus_environment_detail_with_metrics.png diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md index 7aa6d070a1b..d3fb5916dc6 100644 --- a/doc/user/project/integrations/prometheus.md +++ b/doc/user/project/integrations/prometheus.md @@ -17,6 +17,7 @@ the settings page with a default template. To configure the template, see the Integration with Prometheus requires the following: 1. GitLab 9.0 or higher +1. The [Kubernetes integration must be enabled][kube] on your project 1. Your app must be deployed on [Kubernetes][] 1. Prometheus must be configured to collect Kubernetes metrics 1. Each metric must be have a label to indicate the environment @@ -159,25 +160,26 @@ The queries utilized by GitLab are shown in the following table. ## Monitoring CI/CD Environments Once configured, GitLab will attempt to retrieve performance metrics for any -environment which has had a successful deployment. If monitoring data was -successfully retrieved, a Monitoring button will appear on the environment's -detail page. +environment which has had a successful deployment. - +[Learn more about monitoring environments.](../../../ci/environments.md#monitoring-environments) -Clicking on the Monitoring button will display a new page, showing up to the last -8 hours of performance data. It may take a minute or two for data to appear -after initial deployment. - -## Determining performance impact of a merge +## Determining the performance impact of a merge > [Introduced][ce-10408] in GitLab 9.2. -Developers can view the performance impact of their changes within the merge request workflow. When a source branch has been deployed to an environment, a sparkline will appear showing the average memory consumption of the app. The dot indicates when the current changes were deployed, with up to 30 minutes of performance data displayed before and after. The sparkline will be updated after each commit has been deployed. +Developers can view the performance impact of their changes within the merge +request workflow. When a source branch has been deployed to an environment, a +sparkline will appear showing the average memory consumption of the app. The dot +indicates when the current changes were deployed, with up to 30 minutes of +performance data displayed before and after. The sparkline will be updated after +each commit has been deployed. -Once merged and the target branch has been redeployed, the sparkline will switch to show the new environments this revision has been deployed to. +Once merged and the target branch has been redeployed, the sparkline will switch +to show the new environments this revision has been deployed to. -Performance data will be available for the duration it is persisted on the Prometheus server. +Performance data will be available for the duration it is persisted on the +Prometheus server.  @@ -193,6 +195,7 @@ If the "Attempting to load performance data" screen continues to appear, it coul [autodeploy]: ../../../ci/autodeploy/index.md [kubernetes]: https://kubernetes.io +[kube]: ./kubernetes.md [prometheus-k8s-sd]: https://prometheus.io/docs/operating/configuration/#<kubernetes_sd_config> [prometheus]: https://prometheus.io [gitlab-prometheus-k8s-monitor]: ../../../administration/monitoring/prometheus/index.md#configuring-prometheus-to-monitor-kubernetes -- GitLab From 12a11d3405e0db7554ddac1578a2ea6674ff66f6 Mon Sep 17 00:00:00 2001 From: Clement Ho <clemmakesapps@gmail.com> Date: Mon, 22 May 2017 18:39:30 +0000 Subject: [PATCH 158/249] Merge branch '32631-issue-emoji-wrap' into 'master' Fix spacing of issue emojis Closes #32631 See merge request !11567 --- app/assets/stylesheets/framework/awards.scss | 2 +- app/assets/stylesheets/pages/issuable.scss | 4 ++++ app/views/projects/issues/show.html.haml | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/assets/stylesheets/framework/awards.scss b/app/assets/stylesheets/framework/awards.scss index 8dbb63c3ff4..0db3ac1a60e 100644 --- a/app/assets/stylesheets/framework/awards.scss +++ b/app/assets/stylesheets/framework/awards.scss @@ -108,7 +108,7 @@ } .award-control { - margin-right: 5px; + margin: 0 5px 6px 0; outline: 0; &.disabled { diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss index 0d40d6d2dae..f8944e5ce03 100644 --- a/app/assets/stylesheets/pages/issuable.scss +++ b/app/assets/stylesheets/pages/issuable.scss @@ -56,6 +56,10 @@ padding: 5px; max-height: calc(100vh - 100px); } + + .emoji-block { + padding: 10px 0 4px; + } } .issuable-filter-count { diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml index ce6e0f91999..100f430d8a2 100644 --- a/app/views/projects/issues/show.html.haml +++ b/app/views/projects/issues/show.html.haml @@ -68,11 +68,11 @@ #related-branches{ data: { url: related_branches_namespace_project_issue_url(@project.namespace, @project, @issue) } } // This element is filled in using JavaScript. - .content-block.content-block-small + .content-block.emoji-block .row - .col-sm-6 + .col-sm-8 = render 'award_emoji/awards_block', awardable: @issue, inline: true - .col-sm-6.new-branch-col + .col-sm-4.new-branch-col = render 'new_branch' unless @issue.confidential? %section.issuable-discussion -- GitLab From 4cb502075db2bc1deb64bc8701886db00b2c9315 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Sun, 21 May 2017 16:48:12 +0000 Subject: [PATCH 159/249] Merge branch '32604-add-docs-for-change-of-cache-artifact-restore-order' into 'master' Add docs for change of Cache/Artifact restore order" Closes #32604 See merge request !11545 --- doc/ci/yaml/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index 16308a957cb..e542b1119ea 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -162,7 +162,11 @@ which can be set in GitLab's UI. ### cache -> Introduced in GitLab Runner v0.7.0. +> +**Notes:** +- Introduced in GitLab Runner v0.7.0. +- Prior to GitLab 9.2, caches were restored after artifacts. +- From GitLab 9.2, caches are restored before artifacts. `cache` is used to specify a list of files and directories which should be cached between jobs. You can only use paths that are within the project @@ -769,6 +773,8 @@ as Review Apps. You can see a simple example using Review Apps at **Notes:** - Introduced in GitLab Runner v0.7.0 for non-Windows platforms. - Windows support was added in GitLab Runner v.1.0.0. +- Prior to GitLab 9.2, caches were restored after artifacts. +- From GitLab 9.2, caches are restored before artifacts. - Currently not all executors are supported. - Job artifacts are only collected for successful jobs by default. -- GitLab From 6e9dddd99e0e728264e45fe45c99b5ca3149de60 Mon Sep 17 00:00:00 2001 From: "Sean Packham (GitLab)" <sean@seanpackham.com> Date: Fri, 19 May 2017 13:37:42 +0000 Subject: [PATCH 160/249] Merge branch 'docs/artifacts-preview' into 'master' Add note about artifacts previewing in docs See merge request !11539 --- doc/user/project/pipelines/job_artifacts.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/user/project/pipelines/job_artifacts.md b/doc/user/project/pipelines/job_artifacts.md index 5ce99843301..151ee4728ad 100644 --- a/doc/user/project/pipelines/job_artifacts.md +++ b/doc/user/project/pipelines/job_artifacts.md @@ -41,6 +41,10 @@ For more examples on artifacts, follow the artifacts reference in ## Browsing job artifacts +>**Note:** +With GitLab 9.2, PDFs, images, videos and other formats can be previewed directly +in the job artifacts browser without the need to download them. + After a job finishes, if you visit the job's specific page, you can see that there are two buttons. One is for downloading the artifacts archive and the other for browsing its contents. -- GitLab From 064d8d462e8442b450ff0400d7220de317bf5a34 Mon Sep 17 00:00:00 2001 From: Clement Ho <clemmakesapps@gmail.com> Date: Fri, 19 May 2017 18:17:16 +0000 Subject: [PATCH 161/249] Merge branch 'auto-update-docs' into 'master' Auto update docs See merge request !11552 -- GitLab From 08e2a140c1476aae28ec9d92b62e96bded5c1055 Mon Sep 17 00:00:00 2001 From: "Sean Packham (GitLab)" <sean@seanpackham.com> Date: Mon, 8 May 2017 08:35:40 +0000 Subject: [PATCH 162/249] Merge branch 'docs/new-topic-issues' into 'master' New doc topic: issues Closes #27650 See merge request !11075 --- doc/README.md | 7 +- doc/gitlab-basics/README.md | 2 +- doc/gitlab-basics/create-issue.md | 30 +-------- doc/intro/README.md | 2 +- doc/user/project/issues/closing_issues.md | 59 ++++++++++++++++ doc/user/project/issues/create_new_issue.md | 38 +++++++++++ .../project/issues/crosslinking_issues.md | 63 ++++++++++++++++++ doc/user/project/issues/due_dates.md | 6 +- .../project/issues/img/button_close_issue.png | Bin 0 -> 15508 bytes .../issues/img/close_issue_from_board.gif | Bin 0 -> 109533 bytes .../issues/img/closing_and_related_issues.png | Bin 0 -> 6395 bytes .../issues/img/confidential_issues_create.png | Bin 9659 -> 8185 bytes .../img/confidential_issues_index_page.png | Bin 9949 -> 8349 bytes .../img/confidential_issues_issue_page.png | Bin 16089 -> 14230 bytes .../img/confidential_issues_search_guest.png | Bin 10014 -> 8593 bytes .../img/confidential_issues_search_master.png | Bin 15332 -> 13228 bytes .../img/confidential_issues_system_notes.png | Bin 3025 -> 2330 bytes .../project/issues/img/due_dates_create.png | Bin 7705 -> 6992 bytes .../issues/img/due_dates_edit_sidebar.png | Bin 2424 -> 1700 bytes .../img/due_dates_issues_index_page.png | Bin 21402 -> 19302 bytes .../project/issues/img/due_dates_todos.png | Bin 5644 -> 4799 bytes doc/user/project/issues/img/issue_board.png | Bin 0 -> 58645 bytes .../project/issues/img/issue_template.png | Bin 0 -> 28061 bytes doc/user/project/issues/img/issue_tracker.png | Bin 0 -> 37037 bytes .../issues/img/issues_main_view_numbered.png | Bin 0 -> 73508 bytes .../project/issues/img/mention_in_issue.png | Bin 0 -> 3738 bytes .../issues/img/mention_in_merge_request.png | Bin 0 -> 3944 bytes .../issues/img/merge_request_closes_issue.png | Bin 0 -> 19423 bytes doc/user/project/issues/img/new_issue.png | Bin 0 -> 31727 bytes .../issues/img/new_issue_from_issue_board.png | Bin 0 -> 137175 bytes .../issues/img/new_issue_from_open_issue.png | Bin 0 -> 20628 bytes .../img/new_issue_from_projects_dashboard.png | Bin 0 -> 29865 bytes .../img/new_issue_from_tracker_list.png | Bin 0 -> 24345 bytes .../project/issues/issues_functionalities.md | 15 ++++- 34 files changed, 182 insertions(+), 40 deletions(-) create mode 100644 doc/user/project/issues/closing_issues.md create mode 100644 doc/user/project/issues/create_new_issue.md create mode 100644 doc/user/project/issues/crosslinking_issues.md create mode 100755 doc/user/project/issues/img/button_close_issue.png create mode 100644 doc/user/project/issues/img/close_issue_from_board.gif create mode 100755 doc/user/project/issues/img/closing_and_related_issues.png mode change 100644 => 100755 doc/user/project/issues/img/confidential_issues_create.png mode change 100644 => 100755 doc/user/project/issues/img/confidential_issues_index_page.png mode change 100644 => 100755 doc/user/project/issues/img/confidential_issues_issue_page.png mode change 100644 => 100755 doc/user/project/issues/img/confidential_issues_search_guest.png mode change 100644 => 100755 doc/user/project/issues/img/confidential_issues_search_master.png mode change 100644 => 100755 doc/user/project/issues/img/confidential_issues_system_notes.png mode change 100644 => 100755 doc/user/project/issues/img/due_dates_create.png mode change 100644 => 100755 doc/user/project/issues/img/due_dates_edit_sidebar.png mode change 100644 => 100755 doc/user/project/issues/img/due_dates_issues_index_page.png mode change 100644 => 100755 doc/user/project/issues/img/due_dates_todos.png create mode 100755 doc/user/project/issues/img/issue_board.png create mode 100755 doc/user/project/issues/img/issue_template.png create mode 100755 doc/user/project/issues/img/issue_tracker.png create mode 100755 doc/user/project/issues/img/issues_main_view_numbered.png create mode 100755 doc/user/project/issues/img/mention_in_issue.png create mode 100755 doc/user/project/issues/img/mention_in_merge_request.png create mode 100755 doc/user/project/issues/img/merge_request_closes_issue.png create mode 100755 doc/user/project/issues/img/new_issue.png create mode 100755 doc/user/project/issues/img/new_issue_from_issue_board.png create mode 100755 doc/user/project/issues/img/new_issue_from_open_issue.png create mode 100755 doc/user/project/issues/img/new_issue_from_projects_dashboard.png create mode 100755 doc/user/project/issues/img/new_issue_from_tracker_list.png diff --git a/doc/README.md b/doc/README.md index 4397465bd3d..7bab42bc135 100644 --- a/doc/README.md +++ b/doc/README.md @@ -60,11 +60,8 @@ Manage files and branches from the UI (user interface): ### Issues and Merge Requests (MRs) - [Discussions](user/discussions/index.md) Threads, comments, and resolvable discussions in issues, commits, and merge requests. -- Issues - - [Create an issue](gitlab-basics/create-issue.md#how-to-create-an-issue-in-gitlab) - - [Confidential Issues](user/project/issues/confidential_issues.md) - - [Automatic issue closing](user/project/issues/automatic_issue_closing.md) - - [Issue Boards](user/project/issue_board.md) +- [Issues](user/project/issues/index.md) +- [Issue Board](user/project/issue_board.md) - [Issues and merge requests templates](user/project/description_templates.md): Create templates for submitting new issues and merge requests. - [Labels](user/project/labels.md): Categorize your issues or merge requests based on descriptive titles. - [Merge Requests](user/project/merge_requests/index.md) diff --git a/doc/gitlab-basics/README.md b/doc/gitlab-basics/README.md index d7e3aa35bdd..12466437edc 100644 --- a/doc/gitlab-basics/README.md +++ b/doc/gitlab-basics/README.md @@ -11,5 +11,5 @@ Step-by-step guides on the basics of working with Git and GitLab. - [Fork a project](fork-project.md) - [Add a file](add-file.md) - [Add an image](add-image.md) -- [Create an issue](create-issue.md) +- [Create an issue](../user/project/issues/create_new_issue.md) - [Create a merge request](add-merge-request.md) diff --git a/doc/gitlab-basics/create-issue.md b/doc/gitlab-basics/create-issue.md index 13e5a738c89..abb163dbf18 100644 --- a/doc/gitlab-basics/create-issue.md +++ b/doc/gitlab-basics/create-issue.md @@ -1,30 +1,2 @@ -# How to create an Issue in GitLab -The issue tracker is a good place to add things that need to be improved or -solved in a project. - ---- - -1. Go to the project where you'd like to create the issue and navigate to the - **Issues** tab on top. - -  - -1. Click on the **New issue** button on the right side of your screen. - -  - -1. At the very minimum, add a title and a description to your issue. - You may assign it to a user, add a milestone or add labels (all optional). - -  - -1. When ready, click on **Submit issue**. - ---- - -Your Issue will now be added to the issue tracker of the project you opened it -at and will be ready to be reviewed. You can comment on it and mention the -people involved. You can also link issues to the merge requests where the issues -are solved. To do this, you can use an -[issue closing pattern](../user/project/issues/automatic_issue_closing.md). +This document was moved to [another location](../user/project/issues/index.md#new-issue). diff --git a/doc/intro/README.md b/doc/intro/README.md index d52b180a076..7485912d1a2 100644 --- a/doc/intro/README.md +++ b/doc/intro/README.md @@ -11,7 +11,7 @@ Create projects and groups. Create issues, labels, milestones, cast your vote, and review issues. -- [Create a new issue](../gitlab-basics/create-issue.md) +- [Create a new issue](../user/project/issues/index.md#new-issue) - [Assign labels to issues](../user/project/labels.md) - [Use milestones as an overview of your project's tracker](../user/project/milestones/index.md) - [Use voting to express your like/dislike to issues and merge requests](../workflow/award_emoji.md) diff --git a/doc/user/project/issues/closing_issues.md b/doc/user/project/issues/closing_issues.md new file mode 100644 index 00000000000..dcfa5ff59b2 --- /dev/null +++ b/doc/user/project/issues/closing_issues.md @@ -0,0 +1,59 @@ +# Closing Issues + +Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues. + +## Directly + +Whenever you decide that's no longer need for that issue, +close the issue using the close button: + + + +## Via Merge Request + +When a merge request resolves the discussion over an issue, you can +make it close that issue(s) when merged. + +All you need is to use a [keyword](automatic_issue_closing.md) +accompanying the issue number, add to the description of that MR. + +In this example, the keyword "closes" prefixing the issue number will create a relationship +in such a way that the merge request will close the issue when merged. + +Mentioning various issues in the same line also works for this purpose: + +```md +Closes #333, #444, #555 and #666 +``` + +If the issue is in a different repository rather then the MR's, +add the full URL for that issue(s): + +```md +Closes #333, #444, and https://gitlab.com/<username>/<projectname>/issues/<xxx> +``` + +All the following keywords will produce the same behaviour: + +- Close, Closes, Closed, Closing, close, closes, closed, closing +- Fix, Fixes, Fixed, Fixing, fix, fixes, fixed, fixing +- Resolve, Resolves, Resolved, Resolving, resolve, resolves, resolved, resolving + + + +If you use any other word before the issue number, the issue and the MR will +link to each other, but the MR will NOT close the issue(s) when merged. + + + +## From the Issue Board + +You can close an issue from [Issue Boards](../issue_board.md) by draging an issue card +from its list and dropping into **Closed**. + + + +## Customizing the issue closing patern + +Alternatively, a GitLab **administrator** can +[customize the issue closing patern](../../../administration/issue_closing_pattern.md). diff --git a/doc/user/project/issues/create_new_issue.md b/doc/user/project/issues/create_new_issue.md new file mode 100644 index 00000000000..9af088374a1 --- /dev/null +++ b/doc/user/project/issues/create_new_issue.md @@ -0,0 +1,38 @@ +# Create a new Issue + +Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues. + +When you create a new issue, you'll be prompted to fill in +the information illustrated on the image below. + + + +Read through the [issues functionalities documentation](issues_functionalities.md#issues-functionalities) +to understand these fields one by one. + +## New issue from the Issue Tracker + +Navigate to your **Project's Dashboard** > **Issues** > **New Issue** to create a new issue: + + + +## New issue from an opened issue + +From an **opened issue** in your project, click **New Issue** to create a new +issue in the same project: + + + +## New issue from the project's dashboard + +From your **Project's Dashboard**, click the plus sign (**+**) to open a dropdown +menu with a few options. Select **New Issue** to create an issue in that project: + + + +## New issue from the Issue Board + +From an Issue Board, create a new issue by clicking on the plus sign (**+**) on the top of a list. +It opens a new issue for that project labeled after its respective list. + + diff --git a/doc/user/project/issues/crosslinking_issues.md b/doc/user/project/issues/crosslinking_issues.md new file mode 100644 index 00000000000..5cc7ea383ae --- /dev/null +++ b/doc/user/project/issues/crosslinking_issues.md @@ -0,0 +1,63 @@ +# Crosslinking Issues + +Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues. + +## From Commit Messages + +Every time you mention an issue in your commit message, you're creating +a relationship between the two stages of the development workflow: the +issue itself and the first commit related to that issue. + +If the issue and the code you're committing are both in the same project, +you simply add `#xxx` to the commit message, where `xxx` is the issue number. +If they are not in the same project, you can add the full URL to the issue +(`https://gitlab.com/<username>/<projectname>/issues/<xxx>`). + +```shell +git commit -m "this is my commit message. Ref #xxx" +``` + +or + +```shell +git commit -m "this is my commit message. Related to https://gitlab.com/<username>/<projectname>/issues/<xxx>" +``` + +Of course, you can replace `gitlab.com` with the URL of your own GitLab instance. + +**Note:** Linking your first commit to your issue is going to be relevant +for tracking your process far ahead with +[GitLab Cycle Analytics](https://about.gitlab.com/features/cycle-analytics/)). +It will measure the time taken for planning the implementation of that issue, +which is the time between creating an issue and making the first commit. + +## From Related Issues + +Mentioning related issues in merge requests and other issues is useful +for your team members and collaborators to know that there are opened +issues around that same idea. + +You do that as explained above, when +[mentioning an issue from a commit message](#from-commit-messages). + +When mentioning the issue "A" in a issue "B", the issue "A" will also +display a notification in its tracker. The same is valid for mentioning +issues in merge requests. + + + +## From Merge Requests + +Mentioning issues in merge request comments work exactly the same way +they do for [related issues](#from-related-issues). + +When you mention an issue in a merge request description, you can either +[close the issue as soon as the merge request is merged](closing_issues.md#via-merge-request), +or simply link both issue and merge request as described in the +[closing issues documentation](closing_issues.md#from-related-issues). + + + +### Close an issue by merging a merge request + +To [close an issue when a merge request is merged](closing_issues.md#via-merge-request), use the [automatic issue closing patern](automatic_issue_closing.md). diff --git a/doc/user/project/issues/due_dates.md b/doc/user/project/issues/due_dates.md index b516d47ffa3..e0c405353ce 100644 --- a/doc/user/project/issues/due_dates.md +++ b/doc/user/project/issues/due_dates.md @@ -2,6 +2,8 @@ > [Introduced][ce-3614] in GitLab 8.7. +Please read through the [GitLab Issue Documentation](index.md) for an overview on GitLab Issues. + Due dates can be used in issues to keep track of deadlines and make sure features are shipped on time. Due dates require at least [Reporter permissions][permissions] to be able to edit them. On the contrary, they can be seen by everybody. @@ -22,8 +24,8 @@ Changes are saved immediately. ## Making use of due dates -Issues that have a due date can be distinctively seen in the issues index page -with a calendar icon next to them. Issues where the date is past due will have +Issues that have a due date can be distinctively seen in the issue tracker +displaying a date next to them. Issues where the date is overdue will have the icon and the date colored red. You can sort issues by those that are _Due soon_ or _Due later_ from the dropdown menu in the right. diff --git a/doc/user/project/issues/img/button_close_issue.png b/doc/user/project/issues/img/button_close_issue.png new file mode 100755 index 0000000000000000000000000000000000000000..8fb2e23f58a17c344057e51b9f8dfd8c6ca1fe25 GIT binary patch literal 15508 zcmb7rRa6{dvmhb3yL$qIdyv6B*x(w12X_W{cZWcLA^70#?i$?P-3hLn|K7U~d(Q5| z_Dj|Is=H2g>GxH2M<|12&{0TGU|?X-Wxq<Q!oa{mU|>E_AbtF|Lg<v74+HZNMp;2! z>izxw>FJ4%j&5&nPcv8jJ(=|U{M^yek;8ZVJeBM5ANlQ}udna*_4VoL?)_<f|L$of zkm(;2dvM0{-F_d$W&82%{^_}P`TqUwl8V);*q+M`GWcib&Vh~Dh?()>;qm_d{%g3* zLY3e1!{y1z$<@`>&1(J4+xzX!?d{GelU*H~RYlIg?$!|0t#m2H+4=EgVd?B?WqJ8` z*6;LR>4TH26GQ#0_itHX=eaWHzQKvfjq}&*^^1p>p@9K8Ccwtk+xyF24z%QH+T6_a zN6Y%d7pKa@sk-;Og}K>T*OVqJ6{(lg;p^Fg=9%NEv)9wtw~e0P)GVfdAD`EcE=jl} zp5~lsn3Vl$msckTS4W!b3e&dRV)oA;FE*!6S2|teGH1fHRU~*$?_Qs-w%`6v-7Qtz zjTrZ>oL7%-Z!eD7gCqUenexmzGsEqBHXk-OH|<=C!kio)u1^<QAxDF$B`)CH>GS%Y z=`eHE)726EUn4aQ^|V^qBQ=>Wk#dRJ%-6>o4n>ogXy{aUI9p4%nH^h?n;j?Pd40z( zU3DeNDaixn@lU^)y-P=**XrATdo{;8?9|$9Wh+d~Z%s^$cXf1^{feqi2ajf1U36+X zeOED(<uB-*8yOv$tBreJ@|TLVOtaMz5#Y3St+TbYDzEE}%B+ZvN?6)B=p7h_RP?<Z zbj7uAlXJMMfItsLvc4KJ6|>i%Z`K{nP1DIagGJ5@c|Z25G?wF-kGB>Q3cE$4x&{4f zuX_WNy^a0zG`rF?{d~L&lI_ZT4R{$p_im3G_4R+T`PCMsRq4a^_V_T>RX!ahme@QG zgQ*x-KC0qTDV>~2AdsqF7(G_xSNv0@x}yAUJk``8UehvgtHEcXZi-Daz`4om;_6{K zI?y`)yF+wXa#Fx-oK;Kc7nukZXJx=_aqDy44;4Jr>P{Utkcnf-5-77IC`mttoBeiv zG(D~@%(p=|;w!6r$G6tn{)qsc0_&Bvtcd<p7z8%UTn!lxlbRsj>Xwu!7#MyfSxGT< z_vO?19PD0EEI2WdM?Q-0b9=wD69Uj#Y5*=WRTfqTs8k8S55H!Shw?$9bS|)*#kldZ z5PyYZI8#*sRnq@2sSh7&?Wg|x%b%lkfw#BW2vkqMlP_{g6z?#{eH)-NgD-~xnIwX5 z*z2bdzpthmc!T_K&hHUM?p#sIx+qG$@X%kwOVfXJgRAn<Nb}N%HKvWh;?DDbY!ZVP z(ZA&zT1Gj9_%_+fONp>oQCU6bi8jO_F@$HoA^m(it1JK>ta@ZY$J>0`YovWBE%qPJ zz3#KT#yvLNE`00(1`zKyRZ{x?*ybK<x0)-jp!O0__X%c~U;j`H!y=E>4%=P#yM#nG z9(t98g#-J#^H+1WQdmrEN1MaTy#9ed^0c;96?dvBXY{W1z;Yg3wV<k$S4P6X#MuDc ztIrxsj%_G<T*+D{Fx|SB(tt*7KJ)_Qj_h?;&W&Hz>#tV`m*LFIO$J`+9$cvDHyLY} zyy2!`=9O+-7rTG4mINZ3=A0S|;iFk!d>>^GBWv$tm2;2~(ln7_upH&eP?1Bg3m|8@ zuqu~aRXH_tK{;1b;QR0`+;luY8!urI+rhANS{=HY!QotjX?s)xt8_!Jh?^Yf)MOjv z^W~DaY3AXH^)gf;T9_*w@WXQ#FTv_8^sD?5MhbG2@qol80b*tNV_(jcLnYA#4TLZM zM=WyKKT*ODri5lE1!2;Xwy=2dG`=L(VF2<ht<6)85xPfODY)gowdXCa9ZPaVkmWJ; zd`Tb}EH&$-xdP%PkvR-^SY1l1|EOlNOp))Ry~+h4Uxr2tbv!*an_f4=6YgNPbh&uF z(loO6ir)w2q|W+m27CPz;)r+sp+hVBJ{{x~?e>T8@Fs^Sid`O`=6Lr{u5J;{V5GnN zx>WT#`Ovu*AbeA3C{sXqdNssP(L8au7|)-7K~W|@X*iarsv*|oQP(#+KBVS!flx!l zZ%p;anYxavYeh4$5~AgYz<XZjlz4rsxXS*XkYdJfmY!C$xON#kXA;)7${0+%gpbyr zlWc@x`d){3RqaViGg&`Z#g*Ow=F?TkA9%I&lk~UGC(tEy>VS$OMnr^&4!we|QARHf zFb+4}B6jdiN9|r$GcV`Fy$=Dplq3Z#XXH8!#ePq2sZqRTAepilIxiRumhU{gz~~L) z7cWms<tMo+phiH4asLI_Jxo}zBXobqT(gG;ds4qUkpD(?gYNJ1#si<N8We%|NRm3_ zsNnbXnCxBko!@WaP#STD?(YFOcYN$QR@%+C3+xB6<Ni6As6P9v$!ZM;7}E>Kzr?Oe z#|8fO;+FV>dPXLv0yIEkUKrink1f{(1$X|yZYRDz+>bBT;>EvHJcZyAhzgq@+h{@q z8ilp2C_FRiRJx8$eH;n!nMjoxD`#Q->qH4RowW%wx^cyArt~9cPt~}qtz4S;b&qEy z3~(dUDgzCfH2XAEKa3?g<!O`8F&YR7cAbEaF-m7tf*u>l-?-E0+~?UT5Zw=9ebbdl z|CD2S1oN^UHyeu19t|&@V8Yq(Nt$k+x`)4}{^1RP>$>)Ws`8UF95Ln1MfB47ruJHb z>lm1E0&)ea)X{g348`|d)B=1}0jRu3eHlW>%=Hw);hYp|Ey%2!;eE;L8a)(ElAbJ~ zN{P;NWly>48~G&r>jG&|0;>S*&f_){llk&}h067K2^H>WUdCvlY!Gk%fQ0)aYd-zM z77u&s95&=k#f8G2jsxUhA)IC_RvzA$SraxBmbVe3v0Gy}zKK!hLvc~yky2HUrS+E~ zd{AF0f!G4I0Z`D^FbN$rbbmTIQ%2APoJ+<sQeG4+DWYp6`wz*dDeJ8lhZa{jdt#Vq zjDL*TteHuUpF8@obHeOxPGnLftyH)jN7UI1$pys`OKVa2bh|T#2&jl;aop@O8gh80 z1hgf&xCBf<bvOy<u7>HV5dB*aB)Cm@0AI!OE8+T4<B?r{uU&XQ{6TO@G>#ChuG6Sj zLD#YE*wlo4hD7G(ROOghQTUWOz$6Y>gr^(!sMzewFRNk9Q##k2T$*Z)cpG^;e1~Xf zf~S85Xs|beNw{QRMmzu~pl4>8!EZMFk}R?JMxdR=(w={bAlVufPFi=CKiZmbFPK6R ztzX|BDoQw09)?H?My_m|bF*|&4e8O%qPuT{>wm<v%!zbQreW#(OYa_BlvIvqD}T9U zv7j=zVyTXfheAvuwYg99t82_OfHgT6c$;*`sS7D`vU{N7*-xG-15pwiu)V<5$K*?I zWFizPF3lau?PT5Q0{2;0m*!CG%~-IUYz>;+_gfBPygb+RHs@wdI3wrpKf~0u49x!y z+CGlDNf9F?M1d!vTz=6P^mYmY%3gWGMHb-JXdlY{)6R{{c!SDmwbHK1D#NiP@}Q<o z%^-FKUo3z*6muOf!+<dPBU?5fe=#l>xf&Aaw6C&Ymf;(7BAIwtqZn;X>zpjd+!?S! zkRFkob~%7IKfsi;Sl!KZ8l@H0g{B3;LpQ)YuH;Ir;=2LqbRd86Y?u1QKO3p8M=+Pb zy=!F^8IMmLF-EiO&v{Rl6cvFS1+#YsgsWyFm;k7)kDWDDz%4|l3(;J@h-bqOHpjuw zMCyPS+yj>lXP>)YYf*z9mVzg85Q`5n(KI6RFinJ<QRrd$m7<f{!Blhjoo*!@Ck`qA z2K_jg)MJlL;`Wwpsei9*+5_*oKCZaEddONT3Lx{ds~?O2Y0L~aW>n|l@qMTKf`X)V zEcyCMoGH-|WzblZ#J8L!5hWLr3esBbvuiA!nH^37C<Vnboh=rDIObNTrdAXFY#Z3k zMVx1<yktL5z(Ces99#bx8=idz@Kr++a(ec+P<W94;K9uNe5SZ0Ylnc)=GTw%U$Kk| z12M;v5_klC*Hu8V1E#htZiFy{7SV6NZPcMr7dVuksosjk+R!BpAu>lhAM%D%fEsH# z=e@G>;V;Y|7IQ(<T2vOyfzIY_*QdT0Q(-c^MM-#-GXC-jDa~yJe3!YPM9{Z6h6OQh zfLxIpvKLvC1Ug%67`qdykVR2Zl2vWZB5_t-gu(X`+-TD(<Qs>O>ee~roj=-+b4SrL zr}2MI!?%Cx{C286m%M)=X&*ie`P3f%nZ=>~6W=}IKRdQ3HI~X`Zh*p%8!jD$Axna_ zpA>ZOtBP@_NPO$|bRGQXkU6x*6Dg<z<_u!&)pQ{gJlc>fSfe|l3dIjJnC)3#vUaQ0 zVloExcW<vw=CJR$Rv6mrCQkD!?_gL<>8@Jq`|D4k#h4Qb1&fjX^Q>c&3e`<H(ZDZF zUjZk;3sw?&w-1WQE{s2vJS@EXxqx_4$qEBcmN7#*keiP}`U-@dz@j9fu<)hYrpo`s zF5Y@R=+)bA(mF*jn|vUT&gl!$^k0o+922bWqmGZj1t7z}Ly@DdCxuYl3CJq#3zN0A z(bHc$Ii7M5u)aXu=449-gdrKl)FN|u^N8oW-^yDV2}Qh2Td4!0%MW@`01+_afjMv9 zq=9)8L~$F#JGpGi5Qo_t^^1|2e3kN0M+yu-qc+^9aLtKNaTYF#grR1X93TkUm#h-E zza#O!yFcZtfU+=Pw%Zc-c+LKTe`**wLjLt2l!XZxVk#3kcqFz-Dt8xxU1r+<QyeeY zV^dd}v~myODaQR0d=IDBRhXmrc?O>`2UKwCXsCk!yH2%BN}0}K@vsb(Kt%jOBI!`? zKQ*$%I0`6>fezsdx@~wmzA>OVG8KyI=SCrP07EuKXM#4>D6{&TW`1xe6YZgO`J{Sp z3}@!!r7Ji0kkR3?MP}+oB>=yoIu?wtdc!(57J-^}sS1oqDfT~y{RH;^ZHCK=)iis! zk&+tX5~v4zC}1+H%ZO`@yQ-#=WxMsu`b8t6ueKb)R)`3hWWQt^TT%e{#VrncA0A0M z9Ylvl=Vv;%$Jy4}?P3t}B6k3#NpPa~I08M{kJDOSFobjbR{{nj*2KU}@yS~wg<?8} zpGX#!qNOOEA@H`w9Ysl~JB=l{Jm4Nr%j`TXwfhK|s`eM15emd7*%p458md5X=jTVp ziV9{S6i5X667IJH@|3-w%e=)&yI6&?3&YVRZM-~g^+1-<KX$5}d?w?QFUusKXK=0m zqzQMGquE|1HMT|FL!LZVA%&<%Fl>=}O3=oYZ~jLruW<0X!_g1)g#pRepq_l})Q{I4 zGuWlq`l8b58L6<N+CKoay6FV!p_Z1mDXfI0P83f3{>R{cbeKWqglNjzMFE_GC`yxs z^9TIBk{zoZpVPHc1iRmZ5Eb2&mX&Kzp6%Yz)QsI*F-a+IGmE@1DFQOgeV}%?7Lk`D zwd|AJ<W|wvXY;L~ZMXAsUG0Ki%p7hbycV%Y+W)vq=8FI~=KDBkT2_Xw#7^?0SC3MJ zHABwv!@U%MOvskODDEToj9kF&eABE<`ubSP&#*-Qa;#2W4?^m*gpnKQ?j-Y%_hS7b zZr561N`6Hw?qm!4m-#te_@-Mo<oUS|J#0IRj8@<xRXJ>7H*YLG8VzZ?LG|rM_<R_- zs<LxfUbtgF*urXI7!qRXMOU6ng1?n7(gAS($g$ei<FVLAolzp5Wxeu*sH#-^UOZX$ zq^bs=Y@0dVNaNY(7nWa+qj#}LH6uhQY7b^*o$2$|L;cVx!aZo35>*r_#-mDC1G+}! zkIDF|IU8dx-tBrX1g1otN_<^I5em<#U9Rmq+;;L(8bLc8VT?b8N<c!~?N1Av0cn8H zHsQe-##|;i3^;)0n)AwH?8ZQ*reqVs>W&8FZOh)|+}owbsc2g>gZZuuC>HV(3a;v) zXmfmMS#dNySAZFOTp8whsc33;dOmxfvkvfjbL(daW3;cfgtV7}gx?X~-jn*xpD*Wz z2M3|5SN{b#|DWK1&Gk49!H@{aU%P~LE3OHR6C4imBn`H#!JRY(WDkQxlOX<d0v{Az zVbf3HxR;PE{!fBp?S<zirNCHi+^J+3q;N^bHMbWeI^+2vlHgzC=fAJZYUg_%q+U^? zP?2Ffy;UsMOvN->wW<&B<kp|Ll-<!L#1Mao|N1SDby3^pQV9Yc{m*k{8sBcFOZLxA zfL-nj3amy6iSULZw;GDVr(D()(AkVto!@32Bh=OjWJ9=Bd767r9>th;jH$SE?GD&I z8kp7yIuU{|DGFg#`4QRu4|{N@^dmD`5HQv;+zZU{t_pN{o)XXBPXa=AtiI#9YiZrg zw3P=Y;~kF#^3N9c-=<elpNKaLv-Ps;*~Lx%auA;#&H*{1_PDN}W+2<3sSphs7=)M( z7(>3hEz~oU(29Mp=cGR=V(P;_<LLw9-s6}rsF3JNM&PS70##iMXv4p)%B(f^`A{Z2 zbn<cuoY334O5y&EgFLQtT(o-(vTg8AA9p{Rv*=VChnUp%CL|=x(KG?4QttC-WT7+f z&=L(-sOd5>gldxEleLdVF4Kf8GzkQK2R;79Q~>rJg5h+liNPa7+K}IeBi7SL`7=j; zYI83iarq%dE94ihluMZ(ew5F*Lj?g45D@alrBPWUz+gG0oEp>;N0zgR8}bY%_+`3N zXz$Ar_=ynwbh9^KE+_^~()j4~nW-^i1_z(1<R>+r8IP5!J<Ov#iAp2Guzu*~q~s)n z^Kj%Rid3ext=Kp>F2NuDaHL<)e;n60e4Hv^z?>XTZn~+QEcUcu@cqqM#V{OTC31A# zc=UN59guIHPU{bD8JZ|K%IgH<Bx&JCjlWK}^Aj3-dD#(hHR|Tn5^PsK&9Ia#wZIk> zKvv0Q8HDCDUvvcy;i)r-3B&y&yDVz7=1QQ6iCBvsG~b8As0Cu;pwS>*8!h(-#$wt= zv#+H!z_+crBe)Cy`h#D_U>o>kP>8|6<r%A8r&i(%NNX&v=c5u7ByI7HQd=NqX6X0a zM7Y(5LN$OTeiFBWtc+CbVBDFTL~+;T(Z@nfG;!B2en;w|KkY=FN_&{fsa?i(1UNxD z&FjxGP%Cc9YH1ZuwxsDJ_EZ%Tu3vVHzs5e@)h=~eB7s^BN`j|MD>t(hCM}CbO_a>Q zBoHe%CU-`HG7vUWYw9;d1}T%y83cWelsmx%;ebOFBFK{>XB;5j-Q)3M3-^|D0LKCt z@i%4wQ6M^#@2^uZx#J*2IG|7sE(L#k&C<w0wI)3;-#N&CviK9WNN)fvh47OSG;y_v zz9>Pr|92iP-m_DE=p4ywI_?qj5Vz|Ve`!6zm74S1Q4RVzT3KV^TCS`*{BmOW;E{Wx zd`hwG8x2Ifbk>bUPHv>mORxB-_$UFx>j|4+<;PcegfA!>^KF6!kZNIfL>B;&_x_~e zB}9WmeSG&r`Q1ypC#&GMlQ5b^?_YASZQMoqCrV(>xP+tG%w5pijAiH54NzR+Z?s#w z6Y!B*<WL>iF7X46K2S)j>_k)y<`AqNUwl*i=_vKWSRBH(B_`&AQI*Lh6&P437~-sv zf04#279xBQ|L=^%F=RZoT|8K2T;()8VV7&Db8pwgLmc_XdM~^TXuqyo{^QD8pexiG zmb!AI19DEgpe$=Os_DDEgw0TzFGTRgS&3Vdu7An12^<qv(69EHfi9DmPo1#}uOkWg z4Hs_z4Q4m*P~ErV17k&peUMtdHTh7n1`erl(lfdDH-*(tRd)ACXXjdnf*G`)7^yWs zuRA<*DhDK0e&kp18*N%fGx^D}{NU>+v6f#9aKXV)sQB?AebHL6j$lzkNry9eYB=HC zF&`=;y?xF~;%8c`ZupQ=Lh{`Llc>E|0Sf%pB;uTFdbwXGmFB{Kun)5<=$hGGq#A#k zMd$w8K4gVf4r(PubsO1$YXr=r`?QS?7@1x@?dnXH%!T_~esT|nO~nI7M7Uk7_pXjL z8K6ewe@SayzTcx?ZJ>`iTaj?Ps6bvon`M?se%k#q8a2ufQIJccJMZ~kIP+(5aS`C% zuRAy(+%y%!Vj*e6Y%C(x-l#MAh%p;!@*_n#^dM4(*-#?7DQ9j19U@+bnYH+)HWCEF zU69OB{W+QTh4vLXLxfXc7`cd{$2{Cw(`5{=u&p-0Rx!b!JA=T;^uas=**6O3TElq3 zRW3P4vP7u7WS}d8#K3ziqpm`7P9YQPg>>LjHK3x4xaLv;DN}7H1uIZ`j)zy$s-o~1 ze-rJaEViJMU;xJhus}X}{%PhwH|nseP`us>Pdqo6gk-D8?Y@XS+ft5PG;AT)=-Poj zmTR4M_c+TRbccgid#A2Z%(t3_4D=ACRdOm>OUgRVmD(v@OX24(h{S}jO5)C#dVpV( zQ_1q8o1BAO*B7KgX?oZsmBJHVnetQZn!y@ZQ}C!qgQPn~mlAf_EfpJ6M=vygQA0ot zqh^I%`D+5Ew(jNwW`Y(VWhRvT_NA9Ya*KUy8)~?P;^1gbiJ?&r$TIPTc9V*^VWt8= z(i0jpAm9imYr@>|6}hM{M4Z^P+A&{<EeJd0xC{+pM>X00b#=11z<5btrGnkpYO$lw z^8PmnnbAdGGD?Y!hiZG!TZZKU;Z}^w=dTY8=wAXMZ%PwI@f$;iI2@-E=!SkAO^jip zgw_@4`D=CKKX=%qNXmU1Mg(t?Hi5>*bq1mR?FhN!IyvktRKGxd^58&tbQ?yQW3)oj zgrzlEg<&uwQ`V<0>P5ue$y!+Ah)>~>wk%a0aRrHwI(?>=b>;)X`$Z9~k(groUr6>> zjEO-|P9k<*l~weQY0;7G#F1tth@C>@_S9UA3RRo!aro3bM5Mc7bqL&T;PhDPofO5& zU5}!@S~G+`aMY&25+<~;utl#JU4}P0n(erOQaDqOW-$!p9ephX>r9l1q&dQ25JjM< z<iCoVNF<$rEB*ATxxyS?St}2hwA)Q88nl4IdCy}@6GukL7?W(4aiZ<q#v)yM;s&l! z<g`yd;+}Y+iLJ}36C^7}$miWjww?BfN(F6;)#7eUjMcY=VnTB1gq#w$Q;qhLL1*1~ z8kwNinCh9YSKo&kh$(LZTw3D7lSMs)1V|v8R>KBU_q8=D0{~(0^zlI;$TmYP2Cm^X zBdO#1&U}SV+(<3^5M2Es4_C=H_%C;8-Hzk$GnnULP0(R*?P5czvK%+nlFyNCkRg>Y zm@(Q}WjEilhOn$5Wj^sChX@RtrOC-F_u7CC2h-2}0iC_@Pd|03H1s+=1|q>8@XhH( zI<#t^O|lpGKo0rY?X%;2_YpD~vpV1s0@95VnT|kQgp(0KGh~dCTURD^0|{3v+{dz; z=Z12I_cI1FUfpk+Mv6iUsXI^!709w^!$biKTk3?O@Pc2!O=8d;M8b>7!#XIMHaL?) zemCp81$~st4}t*E!-S1QE=^rN$X5$`i#{RE6uSu?wW0#0gf>QJkETYVvD^eji`^!h zb+9HO`V-}+_W+Q%-`~90XwdeLw+$!keU^ui_@KCT2%(ujPx?jOVjJGRY%Vbg<WjBV zpUPkT@^Qm^)BWXtz(NgwZubRzptl64+uH;QeneCww6pkcMc2%piOA*Qw!$sD!R8qH z!bDUh1O*1d1-mxqsd<eg@9lo0V4Pn}1=Wylx;)!hUP6A_^_v3#P&Jk}TklF7zzkLh z;2L!&xgH0LwIcB|Cg_v=um=}?%I70euLJUDRlNSI1MJ-tqG~H9xiKQKK6>K?46##^ z2y&)beGc*HMU~)m4&P$zj5O*i`FNsgUO(;Xh%2Fk7SNnke~~-D*Tr+g=RWK1{`|mg zyct><g}tn3<~p23K8$yb+93@E9@`Y9gFO4#j&9a%0vOsvB|ph!l)vo;VH(62HvBdq zYAIGkwS_YhR~oKMk4(D1oG=GpKR>a+K{SJVg$))7G0HB<f58A*BJ<TUsLjR^JjP<q zB0xhazp$jB*d-sC%~il8!tvrlX$33EH{82ek0ADDq_6^b4ra_AD_Q)vdg+mgpBFR8 z%s>b%c!Yhx<>2Y|WS8^Sp}v^k%zJNd=`KKcx>^Xfg|xJkI2Q@R+M>tj5pC_!@cRzZ zg-5Mi$hzXGL#0iZpPPtXf(%*yl-)W{ptl^4Y_!>4Dh&t8_ag%XbueniM<!(q-a3DR zBofe4+ma?N8As5**7V5&@+bn~$G3sfUOJ@`0mQ^F382!itnpV=i9Zo1Jq{|4N46(e zwq&>=j2ZWsg|g1<WBz76i8N*>+=!UD)t1-_OkS?cxAczi#bwg1=<3K^#s#?g-2~}I z8g@iYR70%>Eyg*wB|*PuWJ#&PC3)|8*u!d3(Wi+o-LI%0JNg6I;k;20d-NxdE(3O= zXbyuZ<=C;MiJr^b6#!(9iJ)V)V39-+ODOsFY9bj9FeSEd=5yYpc#>%n`O<4RXowdA z2Z^Wdd^?=Fm017~6AuWUZY{6&&Y23p3Lja3fj4M+$83?4#Wg46pEBS6O-PB3;F^>p zza7HesL#N0%DGVAs9R?;JQBzw<|Iu;lwc)JsTLa24Xq*pW#60rf||}xbiE6N9tyy) z$uOVyB<K91hR$j09Zeg>?!%)%iw59RT~TCHi;(3zHDdY)ANSp%SS?52lbxSy#oH6V zsj|Hi!%%)lY8e|A^o!xka47ln?(y<m|E%&f<Y&bGIXeO6ea+EH7i6w`N~c#k-2qA? z;h{pR*s;~EfE+85D2iH@ft>n^>LL-RhH#-%xYG*CO=`5cIum+r*7Q18%f5b_SR)Wk zGHIKzRW&}ejiayb{ag68D5#D^vR*`=!d-Y%<`T$b9ZY4qcMt2W`D%jdktC-S57ieO z?l=+}k|YeKBYGt;t`AfBkOV5+ry9IdL76aaDy9J6iGV%S)P*9E!oPW83FNXP%2u*W zn>gPI4|JHw&85T?&$g&?lZIlQKy%6RaXV|YL7&07!v`>5KL@e;MjjMZ-o&|0fDG0K z{uq!iefX+J7mIpDo8>Qmvlw1<o0yhN-O-km$F`N7wNMtdH&aq3_UOn+BiI1WDgGJE z-^-ObL+d@Bw4Icx6jh7rjX6HE>cQlqOU6zk0?k^!S^1V6nKF=v9Yhjyo>db}J6_!v zp3cN-?kvnBf1UNK5O;RWvo4e93{BIW8GMWyhFW9<>{c&g@3J^wvry>VFlbmK^I4L- zQPa6Hwi=9%F8aNYSz@013yLKg&cJw{6d9O7{cenBg7C4nmI5KWN4RSkjTHk9_H0!g zu#Q@ucbGhCGiAC;t#%kp@K=4byCuYpPF0CF1Y~-SwVshIF$IRT98)_fR0||4{@Xs6 z8D<OY7X|FlOd&rza}`;=fXFe{C`i8gellVuhnU-UB`qJ2RN@;?OWd^&1UZa4hA2?{ zW#4bZ4WA9s%Vb#eGXbIp)Jm4$mz@vaGY3s?lpIq@aAH^h`CBIo*M%pKXlS84?2sZ$ zMD8O>5lB^^GwIi2D`0}wEz=>~sedj@l<_b}30l~ou^Wo@D0*vD-=2U*ppIPVww1YM zK)afzd%c2Y`W+M2;G9^2yN<r3QWVovM?a0a{H;WGcj?93aw}05$v36eh@r^Zg;3AT zz{pF>M;Hp-z;;LV5)OVvjc4++i*$bL+fM+{y0%Nhq^vY^QQ^9J#7p#ZYXsjtG^enL zVXUg~yRbA`#v<$(dvsyorLMh#wEHK%A^4MEW)M*6wT*=9JN@norRW{<x+>KvDuT}> zVUi6C6*!PQ{14G5I4_(W+;xp&4$)C8*>hxws9oEM6MZ^pv+-^2P;!pGb@ONt?3C$} zquDk^v{0HcME1qR-s%%qiJzp*rnN_T2<w8GN=u#qh}zAn^<;cZBDgl~Xm>RtH{geR zQ~otbR6aFuh}eay@pyTYU$UHfa@-WQist^b1+4-NB|!O?G+SORxrOe}=x*jCN<@h6 zLTFot9O1-X{iA{uRBkt~@qG1^a1!~)N1GSxdi&Jrz_-Mk;@RaR+Y&-4E`NFV7i!4j zClWN$X7x$_(b<sHyqrv{L62x-lL&2jaQj~I_L4Hgx<XFm6}NccMYlfqY#2E^;Zc1! zn}q2Ahh{=Qieh-9SjO4u%8-H0448A2pGq9CnveoItsJzQ&~c3JW}J5;B~EDE5X*VB zx%{rb5>}*I9hp;OS+3IEwXOFRx7KSfQ(s{0$<c>Gxd8Ahh}E;uD9lk#Hl-+1|C&MV zbI6M%G@EVnp5n?=jE=Tcl_b$E7ZcYlyV{V+MvPoc7;eHFE_Zz{Q)t-JN=JIWGCmR( zOnZTDS47rRiOL498IN2D813xYz0VjGqDJQ;Y4FY<yd4yLLHd`|@x6j03&xev4weM8 zfiX>4{<I(YrPc^krPP!p@bZR;=+DAsV}Hyxe9oF!;^(uUEy#qwi1DTX&?Z0BGWI9d z^Mtgl&X}D_&ZdTVy6A+>tVqaqm~Q<zm6Ug$lzkd(H%|>pjaag>q|{Srw45{5xneqo zXs<_;J?@uRFuLD{f_(>cU+(FN@-MhI9a?Lx$3E$h-p|=*{o<shOv2QydhQyhDSbJ$ zrmUfl7ikx!edd*6(_4&ubwz$GKSU66@J(lGF&KQ*9@U#I{!^U`+E)uFCCw9o*AvD= zVMfRd{2J!fE=GAN`R;wTy1_F}P2hd|-9=l4+?YRDOwdj!XvNl#o~^?R&s}h-(@)An zP$e=5-!du)6fYiv3T@bBAPA?(75!iv0rkhXmHM#O7YWAs;tGtota)g^cQXdkZoWbm zbrc*d?e#0-Nq)pibS_w~TCnNM-jJ&&ibr9OJxa*5A)WMe#BU(V>ZVMy^2)JSUtHYy z^u08K<sRB?p>nlfUMdC?6qca$S5$w4^>EKu1RQCuj)wX^y&0+|+L!v=H%sDXfcz3b z@mg9q*XwETl5^Khk8=lZ%EyhL7Ag!{o$XofG8I~`RwX^zldKkm%{Q8PxB3c`d=A#% zL8?&UgTIvg;)Ww=AF>iL?CLvjsjmJJ6`}7+t07FRZ<0{t_|MOzc{nOIz@-iN7fO^4 z+gfiVu&OadU8gM<b${UuW%kUJfhaUDl!bD!)r2(Ih{`_~5FM<#iuKch&Jg2g_9e~i zkOUPFMM?As|Bw@roS{4!<bd|l=-*nIr1X<8zuj?S&C+>Y&mPg2(H_sGL>VC4yE+`f z$1;959<65&Z<`CMJ%*!_fE3|gViw`Lz%JKm6w3fyRCPjB0h_4m?RJVmySb?v5A?+5 z1@SJhn<mpt#j`m(I*F(dtzwW5;b)VW6q@;}(+_g$+OGdXGHkJ&D)b1+G?H%{?!S7c zmnL^^AN=<ZudX-e_A}aBwJeEHcG$D9*2TMQ^hJZ~uy~K?@D^|!9B)kU4xB%n2NI!# zqOj@*NQ7eaQ}a&hpt-|0qXb13@_>cxxBs?=i-h&|^25w}j7yEgd%$Lo<|i(5n?YbK zaPY5>l3if4hcy@t2Fh?@gkqf^f0A(8!szO0UiaSXA;NHLr%cCJgJ8gE1=C=W)A{-& z#O&XN&1C`#(a^w;o0Kc%yOl{|jpHB~PYaF0nyu*fK^Scw`2s2NbGWXOAi4A*2uu+c z{`C00I3f%)@;qDSzlB4GBzZNcGXUn5qu4acZ64VlUxoVH_jrL1RmPn|dxXunFtmXQ z9xXm&s!M$<&M?d+3zi+VO}+wtfAUk7Odv4YSiyNY#1nB81a8v<yt^QnG9*~uXv8ep zpa1Z>VnRmW1WoyWY&Gm;&*4OKFz?218VjjVHfONeraDFu#ebh+>r)yd*B7|v&g)Lc z>smz=h}l&4u|8xsAmm6XBO_0+e*N6gcbyX%9KJaHH9S1H&(CoE*DtSg($vU$XUGQO z!p(Z~y>C-zCcm>;)=W+C2m~pxD1a}|>Uk#NKlnpxU6be@2u^HPG}HaeK3?%Z_>07J z2R<-Gxfxds>m3XFP)hS>*kyAARb5#WtFN<L1YGjh=4=;-(TxUadt-|dIJY!k$^DXi zm-Pv0`*&at?ntq>BeQ^a$OyzYJz5tqLo9~X$q#14cCuQbVQRIBdni^U9fgSJl$B{4 z{Op-dv+x>w!|~a7UUx@(b~Z&OyERK{p~Z<1TU()Li|lMOgTqGqGifQ)*>6h@VBzup z7LnpLF&E_|_I#7vu&-BjZr{&U*|drKY=Y<1tx0E5_1n54;CEz`A^fLss?9#1-OuUY zW*NU52(0uNE3jjGw+%U2kX$#OCilWa7Jt)Jb{_h|;-c+QjEmK|ijsXfA4Z~qA<CJV zacGE6&1{GoO<mGH&p)k;pe9D;8&LBLV9|5<`AW^nD0Q(zYNbf6G!WTfq~cf?iXHq) z#B^Gb{KLGUdBx0ZkeQiY*%i2el`($VX$@%b-F>w7J2jKq6iz-5Z;zsE3(G^c+iXa| z4!+H|164t7+=uX0bywnJPPCID?ua(P>{GmO4{isXCc^xTP9zeyRyIBX#@Gt3z$)?s z4>^|Zy{&3)#P>9_oXjrJA<ds833+;gsF1W=7lqBNl$^H(PxnsW_Cj_{Qm^Ec6qk!p z|AOtZg^n<vUrYG<J~c5iY+AiPezb#*!@5A)pC7@oZxd~!KT>;l(quDFa#oz;**oez z_uRIN`~v|!o<D!)&*CJ{TN&lWD+tIE7=iRwEVbWvQ%et?G91LrM*JCSyU8&GDZ21V zc^!tss||ttk5J6PIQS&*`SQg%DfX$LqK=lznkiP+VUf&=PdVNx{o~z;k*Ax9B~#2P zUV8CNN`vw`1sQjgv@>>aM!e%=$ww{Mx;z+rFK5BUTSKr5AY#SYV1eZVBRK^pD`71> z`eva$e}V84u(Pf}vnJ$MWUTcln%dgGDj%yJVYeAUQW|Elx6Dw<pT$E1@d*Dj2(??v zl|o%>`=CGRljdSeB(@k`%kkr1FU=Sg6{*7#;1J#rPO-#tkd{o`uUL@AWf=Hvb(BWK zI{Bm}*sY84Q!gl+6K?+zF}H$h{;D>KgV_9Y!gbSTs2}nyT}oPRE^Lo)CT8)B3&Fhp z(@L?SEvN6|pELr6ep5@Rk;?4+ha=({5L;_SPn{<=nMN7&_l@79;k(fSCi8G}Qz$<E zuBvof(7}-1hw~&7QyzWdW%}pQoBE`z=vGZ#-{hcs1$0G2q}Y#J?U(&XJ;s@?#l%<f zA-5mjT(_I=yJ*iv4{UNs9@;*B*u=6dGlIVGZ#$3-nc`ZAw`NZue5D&6ttfpiqTpow zaZw0C*`rOX3tbug!Ya_M_2$YL7~9I;&FNgjF{rGxdsxtoC^dtYwebg^sOT3JGu>Gb z?<ZkFvpu{u-qX67*Kky7w--5|-84>CO_?IRm-9w?fG8U;IHZ9rYAsOZH}IY4;G0n! z0tVMv9hrRG&vw~W-_P583i%iEpY0}Y8`Wr|X~sUgAM@`AfA0LS*0O!lht#8=>AuOi zT>;^wmT!}WMpf2oW|Pt;0&H*0vraTn7G?ad9aiOz;Nw5wq%rxS=@~eDi@hEns(3Mh zmhhu}xDY(=;r4Y6<W&Z#`<TD^Lr|pACK~|)*bQp;;{W(s05pqK#T?ngtO2f~$bg!z zw532?fIHp5GLwLYP3le9Y;2ip8<H-u2pdXX+a6zx*)GIC@Mut}5Q@j^Em-ZO_r;Y_ z*-a=i4*o!^$BVeKlt|H)CNQ88%UOw!h}f|%NsgC;4p(^@M4z*CuBywm4P)MQ^v_!a zY3du0jenjHlZwhWs+XB84|~1dOj&Iks5#^=@t!6V?jaPB2yV!q$f{s`)ULtBM*8^^ zj_uQVHEt`sF08DrnFVynoT$zSbSU5&n9rBn@lN*eO-0o=`?pkfX05NQaVwuHhbDmm zwc_iUdY_^&2O+PkxUyHq5J(cs!OqjV?_(nN{j%(SKdKSm{xULC*+xK{?`PNab$ov6 znXTMWvZ6k+lp7o(htf*OV%hLTOiMxWb5+_=StTU9bKrY|U0x@|t;eh9QxXK}*%64y z@hR3-Rb>PfLM9_1mhJ(c`6WQZ1gc3z(@A<`mzdf7F+nfRneVO|chYlxHwbu{$P8(^ zz&gm5*=SQ!7b4xZhI$kf?6qGNn<|9&qre$4WQqS_+Uhdxn*yZ;{4_#emL1>kH^P^5 zah-;j_n)bu{Yr*214xeo?M7%kcl!&wIwgwAx1!e|e+!j13a49Gis^2>R^YGH&e>^s zX8Fcrj8xIzOY2v%Db{I}Q$|aRB;Xjy@rfdy#IYB23<HZ&m-OadO3*`DQaeM8<S<}t zhRDjWn}|QjMv>tf={+#DBVjSp+s{S(`v>e1%zjjZ!;dUCRkp>n6D=kTW9Kywr4Giq zNZfg~dssRMY%;ctz;GpAe}HR`lud@t7gyC=S^STQPRnOjyJ%)ZMtB9elrx~os2T;y z(63nML+R&&^_sjg_9$7^(I0=c%=9Xxl$%^U?eh|KP};au-C)>>5azhJ29LRyAiKgD zE#Qd=SVl$Lhr5d3`hPEJRO3J_6!98$lz}Y@Rb4|@A51ggE#-I|-PudZI}Vgv`d&%# z+?2RRZ0BDZR*K-_Q|bCm6k(eJzBl(e2PcBo6T)$(BC3t4iMxCAjVwEwZyEUuT#uN5 zk@zt}={o2X>7G+8F86ZPO_j?`D=kgNshccZp=sl~TCM$Y-*TvR7M>TWVS0Q!xSfwT zC>=aKyshvEF+L_e+hsJCx^=}tJDd29!Bx5L6l3z6zjf&Qd7{YjYE!Yev~h|ahiOsU zcvDp_>fai&y^ok-INy>JzX6a)|9Mmm8m@nn#0pK#<yfLM8s9eh&+{#Iq~Tr<Z+;fH zPv6f#H29ZSV1vT6nCE#h0@PUSi<Z_oRDR`p&hIWlmiUOr6GoA;7jyc*1cdkt=Z@=+ z&Mo=sdc)$nK+NtR-Kj_xvF`#!aOyj_3Ci-->J7n;kXQB`ZOyVXr41H5l!7<ztJip{ zwTI&Eg+KW&f1J~G)Ewq(Pdwb+-P!bg{qK~hPx~2q^3~!;*!|M@8a+?Bm?P(Y(=}0Y zh%J6y!*M&SjOo06jxwd?EvfT5P5RsZZ{~*w#J<~JMRS-wLfoMniue}A%E+GM1l!}3 zsq^kKjeKhQJfT7WXs}nhxoK3pRx<flh{FGFb%KBl0^d>lCSY+TvmGMW<e=~DM}6As zXMJaVBfp}l!qY?b4YjUC=>D^XYi>e4b$yAG1q4!AvDT`8=}vj)Jd(tcjOl;GTHJGi z`&Zi3$R>sU-CC7dhx%b{CV~p7b&BDNsr%7VF^~#2VA;6>gZ4k1RQM>t(+tx8#R&t{ zy4*G6BnNzz&U9dr#xhtGNL`={<cocO@t~)(YyVnbPE=4ll{-fQ&k$Z2F<^0w3c16g zG(4gb&KWMyRKettvZl__(3;)sN0|#k`tA*PIvg2Eqe|_r(&lkViDf>mSR*agpvcnH ziFxL_xG^n(K}omqI)<ha`Bm`I52DYT;_g!`_6>`KN(ft$f#!-hjvmYizpm-eeSp4f zK@YaX#)9M6`ubu+83Lj;bdBV-L>|CdU!H>kWdf+eBc!)u8ZF@E8H#3_El`dX`V5~+ zq;A$?spxPb1l%guhr2Sc6u>|7v%Dvlc%9YPiP2{Alc@&qBLsZlM<2ad9iH!l6e%vo zP#M5PC}iw#xGvKwo)Wh2xmf@H(+U45hIRMJ@u19b={1iOZ|jUO$NyRHFUev5Oheqc z;0|Y)?L!roz!w*CZlZ&0nrVH8mpizF7EGi-qKyFtiTAbQUBBEZLDZ43(Q?<4iW22U z8%nPZT5|y9I13qB_u^o7w>Hqs;cDtn4$ht^R`A)^RWT-QE4pD&JAptyxESi`5`k3l zoD2!p$AlA$w%@@ED>HnY1Jza{z=mnQ8ADre1G*Z}*`<}q4QuX3N%;l6+^P$Re5R|n z2lqJyzGNaLuhsp5bY)<VC;$(Rs0Sp!c?Bcyz+k}{d9gVH$_<OV$FdJK7*V{G9jA?< ze8#me{Kz`ni?CR|KCRi;X>Gev=R5SjGU{hGJ(-1tnuMtNqRin4fjbHddtDarfmEl` z+p)UcszEFB3>C8Y%?8`w2qhhhne3rDf3IkoM0P>>tH&M)?71)a12aE!TS*McW<{4| zF&bGyi!7mmS=yRP4C9}R@x~xXJv_SBaUPeIpLRc=C7XDhr>tC+M7BY^RmHOlrPs_T z>ML`v7kO<0h=l9#*5<|p##SwV9=x*hd)rkf5!jt5*Fv>v3Qj*a)u>_p)4t4S-zAQJ zn!JqMxWIg5lgD?VMt}_<4F~*njoj3e2Noc#1-a*YGDNGFSL4n7ErhgOicbj$Sm5jR z;YOo&^Cx{3_%}QKCly8dgpqlbwljc|Clwtt6+QLr&x&kHxhqNEj|3t77!9vZd&gh> zGy;!R1rLz#%~tqvv`!l*+Hy+_2>;?Sr)`jb46d`icI8+{cU5JQ&X3kWF>ILq<@+sx z7MtC5oqvHvb<zufwRFM?diy*<3dBvIPT1C|ah3b$c|4QTpl{vA^=f<ks~@Va#-ZZp zc>0~@08!=k0#XyWs}3-pF|T$cfq;hZ;E$T!;ickQ=ci-Za^zxY@VHtbq-l~1bR{B| z3|HPQI|ipIu(yIJY;e7)_Qg$?%k>1for4=r*!?-{b~=1IrJyKF%T@JnA<^~}TS#mm z?Z>xor3Cas90T~rm@~I%{~QK@^RGyVshooi^n)lQy=#azPl8YmN9evz-G+O`ipG{_ zaZSrB@?m!As!x2h5iD%sIN2L>tGsSb@-y_@u=4YgCS<1F%0$i~m6hv9?m^HcwGC^& zY_!a4Fr>zN@KRaJ{74}FF-Oh!(hRLz4W)25Ip0npuqvQ2tf4m(4fH*op>hv9h(XAa z7P?UPCzi@aYJ1#@?!k?@Y)(|w9%(>Z6V!ObMTeA;@DT00jNyEZMCTHb&Oc?YfYrd$ z2iE55#&gK#_@&T6aSRhkWh1>!nOQ}?ub%57nMc0s7g*I_S2vT6jI<39a8vlmj@Ac* z)$RN>3{3=4^n(jys$2n%d(M^0xu|;;b8SddmVK5G9gJM0_r-g(fPx`gdE8VANR)qy zGXz&zIoJmFf4(w<@$au7F6F_1GjbP=7pK@}Qt0Z(N91^rGdI#0y2eR8RxMK5;!Yh& z>0Wd3MQnCq6B5^_i*tI94)(#I`K;%bj>$Y$AuX^r7@c556lz5DPM-H&Y^E)j;(RT% zVriqSD9#o?$%tq`gi}%b>%kf$#Jpxv<^nyb`XX1tf`Ymx@mJ{^E~Qr+;VVrqdo<h9 z5uCSo!wh$2gxr)yC#2y|?(al3LeJaXCr@Z}swq+EmB(gY6Dp>i8>YaN&6mhTy5%A6 z0~#C}!XMq%4}XfeWp?6)r*v6+aux-6Q*j*@-_Rk``~A)MQ=cP|OXuEFn2-}1sM#GW zvSXhir8^ZU<eE;Iro^EfHmt78HU8@i577ZosY&!*hgNE4Z@nJS#4?X8+;Z^EVqq#L zIZ8}EOT9fKv0%d&MisJ2-|{FUexc9k`exE&oM<MK3Q1-M`5HP7YGgRoYTGikH4K`Q zQbJ74fojuZ)`m*tv~J5&OrnJ{bPL$ajP+`pD5P&TfFp>V@~3i@oexq`?fI~Mw~7(m z>c1@U;ot)i|M48ke9lz`$HUj-Mi|uzC2pPZSayg>UYvpN8zJcclG+9IdR*gE{nPx; zhJnEL#fU=ygNX51JlD+@KUFV#Xmq$SPt>|PzxMYfS!{tZDLu+t(ANoJ6F~n-up8r7 z{vygbknWF?y@BpiQ=(q!ept`5UGk!p<TCpjiJLD1dl;hfY>yExu0f#>hfexgrBv(! z#G#IlTHZ`g+LucpM_xUCw~TO^h6UFVSkCzzkEdXWZz-f>2d!D*yO5()D=KG2{<)L7 zF^h(@?)eg(KrazrT3#$wTy2-{sJXyZbtqjdtC5Prj#EbiF6$9%fR1p3+Cb((nXBAi ze5+m7OD7h$g!tv+Vs4XeZ<N)ay#iz8|7>N-x)I3+Yqw?!Kvlx^*grTMMBr}_XgI@i zf2243>`H=IKNGZQNe&b^D)n2gHy{f(qQ~e`{EB4*%Nt{eOb8Ryy<N?RcfUlviPYMI z(XDbwS<N2wz2<_eGvCMZds1pgh42AKfPBZNb_<_ji!!7*HIhrgfwiXV4tW1uD>tKD z+l)+!k>b~5iZ@b>v5SZdjwmY#)6)r$-`rk`5=>ge?4(OQ2f)xZtGM19{(lGB{|yps YqrR+Loi7(O;{As#D+Q9Q5H}3`UyNZj3jhEB literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/close_issue_from_board.gif b/doc/user/project/issues/img/close_issue_from_board.gif new file mode 100644 index 0000000000000000000000000000000000000000..4814b42687b98a2f9053f71102de863d08159600 GIT binary patch literal 109533 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	np?2Qz4OwHImxi2tV%426Hruh^Y4(FFhkk@T|yj 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%0D@g^7)2^qYpP^VTq7tadBwq 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 buQUsJ(`R2zR`bC%0n$cF^qt0y*rC4wbtJ|% literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/closing_and_related_issues.png b/doc/user/project/issues/img/closing_and_related_issues.png new file mode 100755 index 0000000000000000000000000000000000000000..c6543e85fdbb50ab33d2dce850ffec5b73a10b1f GIT binary patch literal 6395 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 JPDHLkV1h_Wgkb;x literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/confidential_issues_create.png b/doc/user/project/issues/img/confidential_issues_create.png old mode 100644 new mode 100755 index d259255599dc4dd79b591e6297059a3e6dbeb8e6..0a141eb39f87700481f0c9ed33cf28552e8b2deb GIT binary patch literal 8185 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 J<uEw%KLBSi7I6Ro literal 9659 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õ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 R*Z-|GONo7il|Xgj{{u}Y{UZPX diff --git a/doc/user/project/issues/img/confidential_issues_index_page.png b/doc/user/project/issues/img/confidential_issues_index_page.png old mode 100644 new mode 100755 index 042461e24518265a6d263fa0dff35a629d387316..e4b492a2769191d3674a7b4a103212d6b211274b GIT binary patch literal 8349 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 Tjimnmu~Lvxk^U)Z`ssfG0s63# literal 9949 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 diff --git a/doc/user/project/issues/img/confidential_issues_issue_page.png b/doc/user/project/issues/img/confidential_issues_issue_page.png old mode 100644 new mode 100755 index b3568e9303af52238887070d2474d6029ba93c3a..f04ec8ff32bf49b31873f678c37933ecad1ef516 GIT binary patch literal 14230 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 Z$;g=Lei^&Sy8e$O^-W%^TtwgR{{nyrCpiEB literal 16089 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 diff --git a/doc/user/project/issues/img/confidential_issues_search_guest.png b/doc/user/project/issues/img/confidential_issues_search_guest.png old mode 100644 new mode 100755 index b85de90b4d543472068887c1391f6ac742971999..dc1b4ba8ad72f782fe8e78973e997f1926e22a06 GIT binary patch literal 8593 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 XOeWWMBQzrL_fSe)Uaa!HzW;v#fOQw| literal 10014 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 diff --git a/doc/user/project/issues/img/confidential_issues_search_master.png b/doc/user/project/issues/img/confidential_issues_search_master.png old mode 100644 new mode 100755 index bf2b9428875a32bc15efb68a324903718c34c2cc..fc01f4da9db731a2217a8c8277fccc2edcc969c2 GIT binary patch literal 13228 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 NN{PvfR(vuH`ajaVw(tM| literal 15332 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 G2mCJ`!jIAb diff --git a/doc/user/project/issues/img/confidential_issues_system_notes.png b/doc/user/project/issues/img/confidential_issues_system_notes.png old mode 100644 new mode 100755 index 4005f9350f7a08adb9225c55dd3a2d936ed30ef8..82e0dd8e85e1596c1abbf9b0331bd7e1f69cb668 GIT binary patch delta 2280 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 C+;FY{ literal 3025 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Ðp;?(v7dBYWiA+CXIT&VrttX)NDejrjDYq?ctHLiwv%tMV|F z(R(SUvsqCrWITk-X;i7Btm#U;eD?;|Z?3<^$5Bxt_$Kt|@Iy7MpM8QGUAb06?{{Vp zgI6>f%L5mVTD;1)e}Zq_WV6gz{gHw+-=i7$C-KU-uUE#6TatC*s}|+;&;{K+k#Xha zZBNbG8E}Zm1n*D)JASRgyplU+@V^Bsf<o1j>^LKg+Ho>pHuy<Q?LNHD)<f4Yw#$u| z_y4i{&$%(+TOK;q*G>)u-d?$#t$*{bK=T1d!;Rm0XaO48Quo^MgAhz#8jF`;72}xs z7Tjls-^Iti$Y;x<>hvn_7XNdDxT=t{*ISQCBq{%2NY7tdwml`uyL~Wm^;HKb$f!sc IOBwn92O*RHUH||9 diff --git a/doc/user/project/issues/img/due_dates_create.png b/doc/user/project/issues/img/due_dates_create.png old mode 100644 new mode 100755 index d2fe1172bab45097974fbb2c8f60442c4da9368d..ece35d44213f17f8e7531c46377fce63980255e8 GIT binary patch literal 6992 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 literal 7705 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 F{~y=Hs0IK4 diff --git a/doc/user/project/issues/img/due_dates_edit_sidebar.png b/doc/user/project/issues/img/due_dates_edit_sidebar.png old mode 100644 new mode 100755 index 6b37150e7dbe49ed43c1fb8ee08ffd2bed740d12..d1c7d1eb7e97ece0c6c1c7271bc2ea9d5bd2099d GIT binary patch delta 1685 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 delta 2414 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 diff --git a/doc/user/project/issues/img/due_dates_issues_index_page.png b/doc/user/project/issues/img/due_dates_issues_index_page.png old mode 100644 new mode 100755 index defcd5eca398e89caf1564429c8c1d2701c89679..94679436b322978a7b7b835a40bb1fc138b4369b GIT binary patch literal 19302 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 aA>RRZK!B~<Gmf?Z0000<MNUMnLSTYp@?<6e literal 21402 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 diff --git a/doc/user/project/issues/img/due_dates_todos.png b/doc/user/project/issues/img/due_dates_todos.png old mode 100644 new mode 100755 index 92c9fd4021b87cca207a8274642bfe29546a8115..4c124c97f67b61227533a10376ac93bfd850a01c GIT binary patch literal 4799 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 literal 5644 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 diff --git a/doc/user/project/issues/img/issue_board.png b/doc/user/project/issues/img/issue_board.png new file mode 100755 index 0000000000000000000000000000000000000000..1759b28a9ef5d442007604d78468e716d780075e GIT binary patch literal 58645 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®EhN$;p$O{cDFOjMplEm&2aOy$pfJ1<z4*^zS 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
(vPL-PmQ* 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/issue_template.png b/doc/user/project/issues/img/issue_template.png new file mode 100755 index 0000000000000000000000000000000000000000..c63229a4af2eba950236cfcf8595669d7fb32a73 GIT binary patch literal 28061 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/issue_tracker.png b/doc/user/project/issues/img/issue_tracker.png new file mode 100755 index 0000000000000000000000000000000000000000..ab25cb64d13eb9ec92131d209447a92b682b99ad GIT binary patch literal 37037 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 Y0eL^Ppo-R6Pyhe`07*qoM6N<$g5z#tjsO4v literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/issues_main_view_numbered.png b/doc/user/project/issues/img/issues_main_view_numbered.png new file mode 100755 index 0000000000000000000000000000000000000000..9cff61d70413d3d92761326ada563d14790fe4e0 GIT binary patch literal 73508 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�iHo?wvDhwLW(WE){=Iy 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 ViS;`N^w=RW)Y$q;t)ch5e*yYg#i9TJ literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/mention_in_issue.png b/doc/user/project/issues/img/mention_in_issue.png new file mode 100755 index 0000000000000000000000000000000000000000..c762a81213857959976b002e5d4dee168f410621 GIT binary patch literal 3738 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/mention_in_merge_request.png b/doc/user/project/issues/img/mention_in_merge_request.png new file mode 100755 index 0000000000000000000000000000000000000000..681e086d6e039f30824842d619d99d38d0af381a GIT binary patch literal 3944 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 C_YiIX literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/merge_request_closes_issue.png b/doc/user/project/issues/img/merge_request_closes_issue.png new file mode 100755 index 0000000000000000000000000000000000000000..6fd277388439b7d07a7ed73f212a9d50aae1d1a9 GIT binary patch literal 19423 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/new_issue.png b/doc/user/project/issues/img/new_issue.png new file mode 100755 index 0000000000000000000000000000000000000000..e72ac49d6b984a2fe0cf432f0e4b7ca42d7f48ea GIT binary patch literal 31727 zcmcG#WmFx(voDIfLxA8A+}&Lgg1ZF>x^Z_%aCdhI?!Iw%-MDUCg1b9h@;~RpdG~#K zZ{6FoR(1ERo}TLJ>R(q?&x9!{d_zSdK!SjPK>aQ)sR9833xI%t)<l5*xZ{`V8uC$r zP?A%VdVha^dV1R3-POobTie*ArlvkRI(mG6cXV`ox;T4(dt|h!Ghn1YKRbJWTyv@b zZ$7*MSMG0C8!4Df)^Fa}yeCS{IF_pIZr<LX9`D~@PIPs3r9;1wF<A!0=2K}^zQ0}W zKEIXOalF6XrZ_uOFeoiuyk%zP+-{GxuH2lxzTMs4-GD3K?-xH9+rN8yf7z{ExY-)W znL2%ay;^^{-?b~4e>q>w9@wL|Z%s)`9NT}Ep`-bkJ@c~LJzxE6X=#bceQ;p?`g$Jp z@^G=;9&<d?=*z}bHFcKUxiekbUg+Csr>}c;b#;FKYUAES%;w%Qv)`ZNUQkeSI$him z&i!~W-2wtTIH&cbyUv%{)=IMK=-VtFJrqt}7&_HQN5@24uz<F2&sX{hxT50AL4Ey0 zEv+ph3){9Xf8w&LW~Qfqr?*Yy*w{1EA0MC2t{;_*?B+Wdyc~`C#FfvtW}aVMcXf9U z)}&tk1*ZUK9Ao>(#zvbeGwkE*w9WHHqX#z@hIONQIUQ@425O!+8vdxW-910OJwABV zf_3fdvsxEF3FO>9Jg$tl6op&2?>x^mmzK6nzg~<*aIn^-I$NmH&(=mIr}az@cgKb_ z`I%{XWsLZwS7!tJ%X*g`93v9_ENUCuXf-m+N`_<{8#789yj>g0U0fnm=+^en23o2T z6Z5!iv%Jfu0-LuE22<N&?6xi*>+5S<%8Gn^d@9nS1pOLoyg5xumxo3cb1hl_uFYwh zh83r^*97VG<V6M6gXfzE269_}gcNQz`9#|oTL;F4Iytc@nikYGGpL3<o$b`*M?0pD zHpMq{TPI|A=@sT?X&8Gnbd9qA>ZquyDM|1;932VI@AZuMQ;}9Mk*(EUJ#6F{(;ct* zHFc5;5DI}JwbR;T8CIlP7#{81pyyf;zOu11lWk>dt=rYr*rQV;ZRAy`;olLF9O7x9 zq|9ULAdiY*X6fNEJ+4_>WUOn}IuR<*Vw~HgmCDV|00mj^5W7&NU2B@dR-%9f0pVWu zT~bWVefcC)PwtC4j;~N~Y#Vyi<$fXclfj@V_ko;>MR%8|G?gty<z{elNEsw-Yfd7q zv>_NKzybj`DOAR!)>0e;N8)un+$U_>(w$X?^KBpypY+$vX2giF`^4(HgKHL3rHsY+ zV|<o{-T5ltz3$$MfEyAXL?0^(Fs26ZIoL4sKa?JMfw7M@68j&OGwn$?#SeDq{YOg~ zwSXvntP203Nw8MQhWLYs|7cO2!8kigAFts*s)k#k9c+kC^N*&E`g4u3qU;26jlFc0 z*xX9%SmjpGu5_o425^lLk?A|8<;^3TN`T=8)hH^!Ses&BH;LNwjg?sS!Tsw8akLok zbrzot94MIsw@Yp_<(ZnD%vtef43O^jFdF}=IEX+Y539E9TXO53*w;rdWeIYM+t_v_ zkBH!eq^Fm~?>~zfjKVIQyzMN)up9Jh!*Js!*rWM1&^G5GZ?AW(O;fZQ9EXrKE1S&v zC3Qi~_0{nB(YRFw7+rWy3?NrMNOE8_ZF<}N@?ZL5bYG80ia!n59}R1A68zq$3=@@0 zhH6Mi<&(8Mw|iOVfmZ~BHRd~R?PM!q2KeunF6#&-fN#YuUHuqZwTLf4;pDV1LPp~H z;dW2S7$@?Zg;{+{C@qB7$;FXbX{)Dv&D+?=-x-8pTl(+_h)PKs%5nd=e$v{m{plUP zj~c0v^dKtP18XPHTFcv7T39^5FRFKkK<3%0uT)t}W(_Fr0qm5lvYNtLxppaQUfK^^ zr)A6scMCjQd5*xi=b?(|U~k+(ju+Q$1gqZ0gr%gc;n0mAp6be#eL31FPsbSJj5_pI zWt=rts07rko-9a?XX@$StG~Z&pQs?^?6?=@6d78H6IFW(A*teT?qzI0&<m2!aM`>q zKGPV@Z*Uo(Zm~8SSTw#F_dVcbMV)c3cVJe5v%Wf<tRh|Xd`_h6-n}-9EI)_M<E8<w zX{PT*eR({a_)Q_NXN_r+)$g|LP9#dLI)JpsgK*MWA(UNEz*ADz{JwqGGJY>7qEUdd zg<&$gLRVhQa_=YCCYQreV`-C9Ce)Zt!|GD@gHF>@T8*(ln;(q5ReF--(3U#LkEP&8 z=t3YLDK#8;<{Z3CIsQbm7ymGWs<#@tGBSGvPsd8$Ss6A<?YWS4%QJv=C$jjnsJ{jv z>o-@y0(c5^Cr67ivLz>E?;!kk8834$7fQYwk<G={(LkN7(5CA<8bo+}huMlDiwsT; zJNnF<8%BH9MAM*z#6V3wv+}zvliu5Pxs~V-8Z5Hqa&@8CS7mb?gOG<JAAO?i%$VE$ z*L2>7wdEG+1lq;&Y)(S=k%ub}<Na26S2tmg1$RylQ1j<auN{S#rt7iKJL(V94>yZ? zztHb8YoBA76>nd^U5^v|X0r)S)>bfWV=YJ!x;7_eNTb&{IlJ=5<uE;UsIetKDQgYQ zO2uQFt>zkg;|@RNs!hGA&O9Og^vz`13DFs5!9ToG|MMtz>dXnot_*5eco1j#H+vd| zZE(J8Xw>0_e<~bLd)Dk!+}UF5#T_}-N;_K(*4UIR&rx0RHcl-;Tem;=6i_B3@*33o zpmF!}4li}4H=PMm1&C;a`HPe0IH$1b>7;Uf0?z!q8APx#Afg*xM*;42IchVU`Khez zt5nACz-+65E_NHHzkV!<Fh1B8xCejqs>YIpRi2c{<;x8u@nB1e<q<g3O0bUx@i*a@ z+>u9nVP~w@UIlo1|01W!Mt%#ZsbS*s`s1+Q(8fF4@fQ>^QXUC+;9iN0G5M2-!}eCX z8+BuwF<S*sK6Pa966c6EMeb9%kLln{Rt0fc*)nBENm>2hLt?6NSMBsujDjD6;q`4T zNQtgVqTdYqb^=Hy2emr8rGb8QX$)MH^teBO_^_P~5dz9-VZ6<vVg=DbDh#OlM66)I zPcug24rfyhgjynauM=N-9m1is+^nZ}XOP;fsSL7JBhK(QgW8hJ=L2Uc7;b`tnaeOd zPp|ziMT!%7SC!*fhBYx$QgfCAt&W?xo=aHZXlUB;<=vZL<_$6uWzkvsRL|0Av`pmt z!U6@81YX$!z7%9jZmVCOf=G*J1cNEEVoK@14Hh46nld6+#?MiAEUhehOSOOBGbwtH zZ(B^Kr;^%v{S8`QtiLQs`VhfSf%%o^^whWp*!VLj_4$=Y@|>_l0G-EJM+bJ^XFG~y zMR+HR6hunv@ob|0@emJa?Ec7Iv40{c)SfE?;u8!62z|EyhL?7y$+q$XKh9cJsr+Up zOCrNco6RJKSUs_U*le)l#HXrDF3fN|8LI0}S5;MabW|TXDLqQ?M(JEaNbDGTIA7cG zy5a!p8A0fGs!lB@1EE5Ng;96*$H-NH#1x)mMs+nsS?NKQLDf=!S-A@Qt#qr$TEEgQ z0$AQ5@JyqIa^H?KQ0mKOPQIAAt~WoQ5$barK5)OhsEZ1Q_rJ1K?Jb`0a^_jYXr&7U zDGNIjOiZ7!Ck;a8irX23VARzuiv+f(PLOZJ;GmFyB1|)SQDZ;cgRQ;CgVWQ~H44FV zu_ap8<J_6*D6D*90M~))AcxJHC2>$am%x_{5f;eIin3ZK%LQTJ$vYLB>TL=gQw3PX zfCW~1JRIP0EuCK2cJ2%Ri?dJO8vc89RV*VkLvG^lK;~$z%7=#hE68LTbD<KA^oFrR z)XEO#%KA@B^-j~9QwVGDO?+G{#M(|j|0V&!*bWHocB?He6iCg!_G@fAOukJP)0?h> z<6*+b9^<oveZKCFYF*Cg+T8CQEzGtEaWu;M5cqgWe7LCfaF(ovmieATqUyJe#*k|& z`6WziGXYd(#P|i^_4*ePx|9z+2fD=p%<e8k#Mpr$k^_!a0QE})m8yic8Cs+I?Jo-n zE!=H7k}Hp#44QW4n{!KX%DaOO0Hp}HvMxD`kGX}|EzSf$6UKFpKRO3{za7^>muEbz z7AhbQ&|H4ytzob6%x1~Rp!DN@M$kjBmLdu^#O$=k8DIMxrnz(VMg0WBDWFW3<U4&H za&1o0yfIZv8Rngwwqk0p7#P)4_nxR(EWHB_54kgIiHlhna6<I{1p1Vs7hna?`=P7q zUKZo3gSX8k7mu2XpYb4P(t#%e0+U>~)n}IlbW?Ny+64TgnIPb{dYarP2A8HM#A)l| z&&YYM>dT6VtrkU`J0u~Sy$W&D152AGjgS@f`&b7EjF*>@W=HoOP|*I4g~1;pX#~WS z8Fg{jq`QM&7yJh;h^Kmuq#ME_rX6Wlrv^&hxr7u|jp3ten^$=!D@goG-`ER-xPBm6 zkCOnIW!~Y%`!#k^sB#h6VtZbV9Yv^S&VC-`9dE3Vu+L+9nvgS4=xIF!-oCmor4MQB zINI{li+@*FfR)a2dBmOLeE4?m4Zt?Gwd*eW+j_cSyj^lMIC~b+UI1obh9<50bP}n( zvB7RD0ySlepCW9vij>l2hd=m@`k=nZo*hxTQYV!wHsspd4ykgEm`^S(G3NK43j4=i zkrrH|M<`HHxuR}Cn)hr^?6q_aMD%9RzPc{Vk@I5qqh~d`O8Mz+aeeX$U#vw%!f1$s zD}prcB>2QguLw-s>Y@a+6s&>fB1}b3dzeYGmA~sI5fEZXuZ-FOT_M{fV5;7w;F-yy zTHT436k2iLQ)MmV_%7qY%qQLzXq4pYd@Dy%uj&pt4&v@`>8;Q16ZqjE-n99M|9Rvz zKosWhk5(_m-MiTQc_-$|AX5k&dW}U<M1gOKY`5!Nr}Tak-Eb^KjI6Bp<h9BJci-PR zzUth+LCRz*=*S}1;i_6{0pVdQyBc~#iUn-MF;OBe)q3JA4o|r-`4wN$PDQ+e<KNwM zB4W5i)_PYry3M6Wv2{5Q(l9u>iBKxQ(0wbUAwFU`^srK_VC+DDuugd?;-BhA&tDpE zq;dBw^*E$f-UkA;&xBezW!7flVT)F0n;UQZtXe=2q{^U=U5z!gF+Ju2qmysq<<Cjx z|2BI6%NS-wQPuwcV{zXpx*ny%L14f^EOkS_RbHL#kjdg(Na2vpGK#XK!wz#IPelMA z*~hO^)lIu;ILA=OdzIxNkYGPN+y6af{C-BX;E&wleY?FdEa{W`1~ka&L1U(}QXwhw z110C=Duw6x@%mE+#Y%bNGklL^MlLH4EcXBI>VVgi^O*sO-(|Hhp{ey``QGC$#0)by zMDVwM%|7X*_YjY@vE=_V4Y4T8c}nVWUgr`tM)ZkGN`BjcUr*T^^fA3-R6xMQBp&|+ zVZp%xl$1Q`GT|mEGvR(B?p}+%Il-$Aqb%~NPctn}00;NW8o24+k5&6_zIeoy9#-e2 z_}Cuu=7v-%28D)Zg0_|UfbtQn+r+0<2Pwg-qFQji^$B38iXU|_RzUgcH1X&0B`5|e zNlCR4>%E}TqVW?bf5KwyZfxx-n<l)21oD1~c~ClrormYoFNJpa8JHb}3r@ewfBP;x zUK_mPOwoNjIdNk7>;#kUq%)F@|HM_St>;QUH4SU7fc#W8Vto~5D;O_v{MRMU#erSG zz`xS%fr=SZ`FlgO0J^j7RWCi$toN_*fp3db`z9Ljw+<==u=FD5P8{WCxE!*Qe*qf7 zWj5oa_}^n1ov2oxm<iiE@KFTPlJ109)VhXOh1FPfGr)(?T)m_{p`oiFOS)X(vxNw} z!L0ERHxH2h$zFpcBVku)v*0maj7K{`dkqN_^EFNT@U9ocgNdKGu3aDr2ca83<m${` z4u3D%IIWc;MNKJ-d0Ixg6e=8X06ozkdpVMc_tJ)ssVooJg#)$2$j;IUv1OgO_l#HY z4S$pK3W11(fc)d!Q-kh~Y>FNhT9OGSW-F>GYspH5y|B_%gESs@y;0|gFpL}9fPm4w zv88}AaQo^EyV-~L>|3r6;RXl{4Si$g_f$Y@687x!Y^u^V&{LZ`P7nR><PB6E`U=s@ ziUG4h(CYC18b?oINQB@j+r0U|>+gTpeKnbVWBvu1{@>}s9IqQ~Xb$PZt-P0Q8%kj+ z44G1aHLTee+j$!*3|o$Zc@rk9S#%pFArzTcjE0#<;2xJ<f@sj;<(p72+Z`)MZDTT( z>`iB_tHg>96(io?`moqp*wNg~B*#!3zC?tP(!@YQz7(7-@h$N<qR}W>$NfPcKvWmi ziFEq-x$4Tvgy8sq)1}RFBNddEzeeva7N+clmofkR=h`Ef2V9cR{U3KYo}1cZTVKi? ziNIs92FW|YKW$SQE~2#k;22O|vcZ)JcJUro48QvJZ{aZ;U;uY+uCD34bJ{hH*?p-= zFrFq@xhYm>!!1g6f7<gG^e1-imkZ8Zo<udFtp>f!;>q%oyFuKBZL{#Ats4jG@TPb1 z!uo*m+uc>5S}5o)X+_C;Its0I4K#bQ9JITGEg<i2HpJBp0EFqla;(6te4mTZYG<5O zENllYm>f!g0i1up<#py5zMAZO%6!wLp=+cMT)=1aJ&m^R=KL#1PF5%XKhC$09qle% z$CtT?heKDJJLXAX1K-fRs5I0BZIs$ONP6I>H01h`ZVW{rDJ6RSk1UQb*JBD+JtQ%q zq0t$qg*-K>vx*EBSf`<e&6_OQg};&#fcb$F&*SOYx5fiVif~Q<w;CYe9AML;NuQPY z>pJb!d+UhXU@lMSNWWnn&QdQbCmZNWNUN{du&Zl=j?UdS^g1h1_61V?Z!qWyuOo%Y z(>IhND($robmz%#&|NPc3L0D~h^-oID)%aNW3z&}nXLdivngSE2=|G`f>Upc)aXZQ zNZG9xILhHeX=hTwv1#KzBi1wTY#ON`0J?kOEqg|lzO|FC-egb;6W<?khgmTPB!1w1 zQE9y5qc-3c0#k~BgODD0c=VX`H6}7+Z41=wA@LM4!g$6HUp;r;a55b=-kQBe4S8O$ z`C8|y?hy!n<(ksh_!I@b-ayJBFf&#`LY60O49GArdjT;kLWNN7M`x|V4?I$&`5`2M zU1hK6fy_#n-;X?9-HNQ6lfK`?>SZmIUpK5?GF{I*q*<Tvs_(tUYR|EAs5FxNho9$S zS67H$Q`|9yVuSLpU%U*ab8@nw*;Zxma0>3jhri~yYy4e$p#-H-)FGp$Np0}5Rxv(? zqoBZr(k`cJpKdVmXb>-?o@8I7-a>m4APB#w6OiSV7y}x78dr1UcSNu-UU@#+{b6!j zP2(fWdxzyHcW9A>se!2s9HXL0-u$7<j0wpo#<1lW7E1Min<6U-Av-10teZD^GA9NJ z0RaQUIyc?*2j{*n2%kDMoq4lu!Fmd<8~1-K_3m1?qFi|xWg?$&{1MT4Eb<#aO37_) zIUy|LX;0(vypo=XN=z!9xxCw6=%}w!YVDX-+lW!HNuJ2zrEWON5euGv>Pn2>*8!WF z8=y1FwgK$=2gCO{(BBT8^A7pTeG^wP+4tHLo1p-;m@3<G*L<wHbjMIA@4UED%nhEG z7F(&U$%giUykD)MU6s%lZaup)=BUba4>lg$E-VZBoy9NJZ9meBK=jb1cMI<)wj(OX zCFp~wP9gY0vM+F!>?|*G=U}a2OWne00}ZjYlb@nrI9Kn+Hrb}FBiF4!)+I{B7j8Jb zOkr*cE;#hwtX8`sTg*vN4{I_BHHLwAGvcr*VeMwMC51wA)I0EIBk_eAQ_gC{+MpxV zw$H$>7$&cS(U>fcm2mGU@K3nO(1w0%AXw>Yk#*(UDU9|f`X6HS&*Tl^pd?Uq^V^Jy zhs^%@&v;B=Oiw(OY-Nt%ZjB1PYuIPO_ArE9&p_14><6&}Q`8?$v3%xOhL_h6(8nr_ z{3HhI{)N&09l|<8g9>SzcT`0Sz&Xhas-;21FT<k9)HM$XzV|Wvwksv4BE@nBbXO=P z#yzJuw&SbmQRSq;S_P4UeOQe8MTU2Vdf~XK{!*lIj*!XULx~#$%nJR-{!X-6ROVgf zklfdn7I#-vugtwZnC7|q-4Cfuz0r0TQLg7FKQYz&{r03|?BHbijF~lJ4XvLe)3N8` z)rcH39_)?es<pH?7&fMbqi@EbwjhMX7oy;#8t(!flfP^jsB491cqfG9$^@P3Czv*y zdc#Yi?+~DZzn_PF;c|@liuOmvoh)gTn^UUdHcUoPxlbQsX8-TQOm1eEbT#9OL=VgC zs!(*xb&Lnylegj_4QP+_m__*0ThhRPWC%R?J=PTPxO5>HP}b)}+$JnuG0#)ia|DCT zzbO=<`OP2AODIAEcsnJrBr8OYTahjwf&@)bQQI0E#pDjGtZj`%sn59_hgrZLWOJqL znScn3Z7EtlEH|8{Z%k4Fn)@p+&)KJ6vmI=v-pU(%J4)Tak-OcV#Hzse1*&8TPJ0uh zR}a)LS*i4);<0NXO0Ws>1!VC7kUv?s#`aU7_Vv&F)<Vj!ef0Mi8gNbhQiQ(UG0z=+ z=G1(GS+v$kneFa}2}SR%RbH^>6utA(kxf;S&0G~4mvlwrP}I0v9U7%m&MD8FkY#R| z@9;)PwT3LMQ^$)R@7fWW>RrX@%sv5of|Nu-D|XxCV3{CeN~kgipHjO(MX#JU^5>G; z{_xsA;;+`P>CGfl=#<Ob0DZ%GOr?p74TstrYykAAykQ-y)yJY4_7*ZiHfD>m;K7u2 zu^v>JSk>98K##8#KDd}iA(yjVIYOM~y(+Wy*++!+3X=$GANC}C5O#$`(A$F3sUZn8 zB<h*Qrhp&8J4ET<c!OvP$og6*rgRaPHwa7o1uXANS6WE~gl!sxp2M~s@6o4ib|Gn& z360Mi$#wtQN9%GX`*gZ!tk9$82S%TZ>C_~y^gN8|ONq2<Bm%(u#k!9CM2v5vBk;nd zkAduk`8#e&6COFuHL;m$<LV!Ag$%l)l;sz1#Ad4SuYlg;_mdpyKV?*%akAj4Jh09r zWc?vGAn8>{zSz?VVJAhEoiFmq`~W64136@bVeIK47xMf@7c}TIG^3b0FE`GO3`}Nh zh=v;7xidy6BXQ{d#(5O*>Zd9z!0;Qszct5Lw4k=EEF86Vakk2(w#Lcf=qPo!zfEX$ z5Am_Z4;N(yWyfEE&2p&H*sr;*rmQU3gO5)LYV?;dRA`I$>C~pYItBYG0O_n}DLub& z6<lFHlXN)-)Q*;)#By1v(3X+wv!*kj`Z7(}%1=Na#1x|4Ta95l%YjV?t)*51!uc|k z7&^x`Mnh%M)L(HitWaMwT{6J}pH?9?Lvi{CAsv684>XurCj`bo5#(}D&V#OnIlPK* zceQ0EqON8f;|PE2)6y+L8GS+orkCO{f^_QU_z9wP5A~NfT568S9u8m<@PCi65zv4Z z)cs#I{A<a3nP0raw4)mwuz;(qsvJ}3QPdy}hp1w**y%6YY>L#Z0zsHMRtUgB19vTA zLmWyrhV+8u@l>0m^^WJ+4gvuDVVv&bmq0#LK>&z9@P|o48WpU?3nV}wF6k>VunxN; z4V4AQ`iv@}L7ILYe-8i(@5Y+Wwl=5Tt~mP~rrjW5QAbF|gNK%oqLIONESrruOZFP5 zZLzI*s$FMt_-8Ds1(<gqt+=G^)mrS&8UZu>TgK*W;{B9N`8wQvVrEvOeFKZ&45qnZ z%@^#Z!wIRyGj)KJ#wK8}B9{)2h?Bn@@EKUR%E0=ZjcH`g2`i%8kN$~PdLuua8aYXa z17HytvM*+ES9`XJRL*kH&Z&55)rjQX9Lr|F{l|>(qP`+<mMM}C6g-|91%1J?VtD!b zBjnFX;QE1L-d&%Om^ca7e&7%4S2h5h&BqaKP@K1kM7~GJA~5w7hSd_&ex$`dwY{#Q zpV4LchBEsa8&HUNvT&{Yp@RP0J8}-+s1%$Zrq1BXqWvR1oh4MdVDI7wR@U~Kx^02x zZJyk;EHljy1U6jXke*|S05mlceMee!BI8*ygzB}vC;{D}+CSxuTbN=k8Go{pA0(#E zqoFR{!IEm%()6n?&h&0^t6uOnww~H>Yi#(C@||zX18TZ3f&FzZr+1qesK93XC1#Ji zqgm!+sC<+1!0BGijJ^shL>2CNLZzAAj6|(!MnK5+RstMI<?YoyxPmmevLC>|p;jE7 zk`>DOjODW3pr@lFlqOI8iV4^vVzC{pu%?Zy4n9pux-(RLRG`{}iO-Y;?J?F>uz+=$ z72-<u7)KuwfvsWT#cKv1+pSL})@ibg)G{hO#%v4$5ymhX$%Hj*u0tejIU=yib8yM> zQWwvP5xP0a$U15^du6<{%&;OkfNua052@Sqxi$gH1vF}{k3XX7{z(67oxHJCR`e^$ zVE=i`(~-v9k8Mfw8#s>)M>>xbPEgDmKdvLJI2XXDvfr@@(Ul}35{3_}w{Oq0f9ZUs zDqE!&I^OmY%fiM`SBed}NBh@7G&>kPp;Uux`~wDXK4|SR8h~O{iMk0fuP<wjj$LU& z<BG{m^#v>L#zfy~21`dOEXt{s<jn)`63b*2kgv?$FJQa;X_{e|;bsC^*Kwje9M2-o zR4M_@JLpMB@NjY{`$Yf+-a1<xO?G3c$v7$0j|?KmiCdg(fo72w7bzmj{1|U3^!3wQ z<YNCi`UN~A(<?hVE||3dLufbJt9k?g<oK*&9cQvBQW;z_x@BHhAXYk51yb1&%aD%K z{sAT+Q)rukikaO`telT?X}D_rmhADIVbtL?PkE~qoH~(QZ33(oq;q{LK-rMdVaQ@O zzfHv3b4dT*lo2gl_LH{_!gcWWnBBXe;o5d?w|VU5&bAgMy?o%w1-a&jg7Eq_p6&X6 zt+E+Qz9;j<c|hEL$k6|=E&pfH_jH;R;<*a_P2v0!>d(otrn#yz(a_~jaYd)d%0W(Z z9RJ4jLFH;4H{C+si(H*b!o(k%bNu!Tm;*xH+IV@}P|B+ZpJ?cL9el5Q{B&TZc@7iE zw%^zL3l=i8^2H<G(TDl6vwtjKU+g*(p!IZ_z#2z7Am%;Te>R3l$>HDXGySNJ?tEmB zy8cIj=qYT2RJ1W48Js<08Md(QAbv`Y;J>V!szl-6Q}1SoC#54JBTg5{4No_f7fVTn zznUZ2CakGU5ZAo$w$s54+!UTM&;-_{7XP|+0Qij4Iqnxse0oGvTV8DVug0c)voldk zt`NbiI4Mq$*2{ZYyHF=iO&)Gdy?guLkWy}~<0DQ+j@>+I+SrubMO=IDI&Zp#FWqU) zhoZCArCvWcDL<>wVfXG$d%XtnLo9I+EVo9qO(IEg++Za{7eu-k*J#z(953xDklQBB z$&?0oiW9BUCxesmJdqqv87A}FhBw}oZeUMSoqr0-zu0R|LXP|>RJ=AYw=enZZPAb< zC&3ud$p~w#{xh!3BE9T87lJBe)Ps_8HhrPmbuTnM6AQkVQ#1h$a3G!2d^SEFBcrn% zfp*5t5%49A>Xu*`j?})-+u`%qiiX@ZST{E$+EyRiW1K7qA)pX#4=)|}jDEL%6E|Fp z4O;tzqFcCfcj(JaAjffHny5evTzAx)?ZNU|cJy8KYN%CgUfZ#Mizm`6b)-6U`psuO z0@5$uD%2Tjibvsn0UpY~AJXX6hY?<e{}5eUX>f5pUH2a{3LO9;a7pEPfx8?6dAU?y z#?SAIIqPq+EE1?86zl-*0St*?Pfzt9u9f*T+LIL>XM{p77R<{Qk%(rEuQo^z_~0%+ z0@Bvt(6qkvFI9|G@8Ep)U0>8am6o~+Po-N>FUu>dy7iL|er&6#yQq`~GR7~H+BXdV zv`%I<EJe~Th&mqpHN;AXeI57V7c3P{JCJTWHRFn4&A`O9awS!gV?|z3FFn8&e+6rT zQ9)U^NtQ2O-^hur$mDmzVbnw<(X8at9mGBE==U$irgwrhEft&`<;T|_@Qxy*oH)|> zl|#_x@JDjv$dM<}R>L62m0okMuEbdBP;*DcsB)o*J^;Dky@?|uU;D5pM}3T~jZ+%N zl$(xD7fjSo{ag5`V&K~sGw%Mw@9<m-&UI#UFiOT~D$kIlk}IE#aHh_r0GvSmGR<W3 zV9YHL;GjD0i=YoV5d6A^iiRr0MQnV>AIoHF;2c1$x5u>lYy!nUD%DfzXc7r>o%P`y ztq@<HBJLexH)Ydjpy@4NyZC*Y$&Q4VWIUY5XRID|$xWE3_EnWYopYg3j7(6iq9RU{ zX);w!7&xFqrT|DNsqU&^^iN!}w+zVC4p2>u6j7l~Zef#Vlv$=+&#_(h_0SZI{)*S( z#r&zLg(B^g{ECKAF*hSXKd*q)G?}D1n?uuCf)`lT&mkbm&n^3{TJNBtJNTr7*_S<n z{Hah3U8m<_hmE7{schR}>Qs!HHs5B-(~|DBnp*t5Rcb+jzQL-H*5Z&SQNf_1>{7PW zGTz_3EXZT=N-e*7tEZywyQR6#qin!j4k>#tC6FDX%=*`yb{V733|YFiV=;^g_c(6L zbgdG?Bt*`u1VM&jP#n1QhTF@a9K(&nFFK^O@^gcqwWmRyKz+b^IQ9gi6qlQl&yQKd z%7Y+WFwTNG03Hn)21?$1gcBIt`Bmv~TjJ7txhT=qVy<}ZQsr}D_16XN6qgAVwL);q zj2x@RJpLlAhWwM!D=Z`W9+C+ezod3O#PH!P8RWRiAqehO%7HzCsB~<EZVyCVC5%#@ zZ;Yci(yQOK4c*vvZPDU)4S!cy4@Xxu?0q2taEoDKCJ}+$OS?5+uG9@=UulhTlvR%* zv5BA?%}yc-=_Js$`sIEC7t?UEX83jiS?>Sx)gV9xw?|UcGPH*#V5{fEMnfJ+p25c= zr%b244SW#=IlfIBu1|pTfrYc0v*NE=pu1#8$|(s2Ykg**d`O`xzzy=Cg?X<~%z4JW zuntqpu_yQ}JdcrEBj1YUQz11oeSKUlJx!u^dE&qx6O(W0)5oUhlN^}G8@Z#1<(ix< zYK}sLM3v%C7NSE?*lpe^VLmmLjOykP>YCEH=RZt-CVK$;SN4MG29Ez8$+O!>Q<)d9 z^Uv<lxqlyrAlkkg!QkJJnA+@0sQ~nH0Vr8-=Er`_CC}AW3mYykEITKQp<fniK-VRY zIX@3C^9<YY^m(bm_s1VC^ra7m=>74B_JA(6R{n^6UpF|emCQPtPx9d6hEvPVkeEyP zfEs47e1H^gt3rUm+xm%XY=YLo)ilWdKK?g&$K6L`@%wnErur}TlpmIa#{6v-mKxQU zra@o6izKb6uoI7?y+5f7t?aNvu7_n*{~}FmrC!RM>9kBGBNC=Q8Nd68Aa{U&Vep?9 ztwC9ZrQgn8ZQ0T`T#faA-UPCCT3O9ca*0iLhNbKDdfRM`HSV&i(CaqdVr@aKTfy!G zDPWtxZ$afC>INc<<{{Pv+CxskF!#ceO~Yu5H$#|1;cY?1n)@@7>q2n)Mc6}1bBZNn zFhitwOEp7KrjyAc;6cc5Qs_cp$;VO!BKuO?dl1?hy1*Ea{LFx`=pAP&uHol{IQ}|5 z(d&Z`@ju$XpUknLLO`JO)m(h*aKoVoV>lLM8vKhN|JsJyg^}%t&D_MsqovXM7fAlo zEXvn|<p4?Z&<{I`nEVk@?xA5;QmB#C-CW|iUrOGljV9f0o|9i`<6hvTt2`(&GAtir zSEnd>6$_uo=uf@pC~Zm|!Vm`;hu$;9xlaP|#f)Ic*Twt4T&8qMQc}D*c<-;TudAs> z^}lI%jo8{vo@ZVQbj{w(u56svQL-Mr^SFu1s;g8ZdRVir>7v4=NfgFv1n1nOKNr)r z7IPHLR^?|q2j7f7f(d8nudR`j#l@T8%%;%wPvYrR_xx)4oTykWr+)Qa{U~P%c)nsC z)>;)s(=X{rcbZi@W4x3gK-EIf<{~y_%b0q%I}=b-UxNL_&1<!SZ-{}aMb>eXb3-pG zKv^EKh<13>V>&;%mhxIgt~#F!)qx=KOF9<>Oj~YD!BSk%d-W0xv7~<>itojq-(w`> z#e+fWDPiMoBd>g7Pu-P!vau$EFONC<d1QPvI$j55kr?oUteiTZ5rF;lKCZXnC>>|B z-P<zr?wyk6^A<MO&=^@d5<9H>1VeIrac*QuAR@W^mKDH9D~x4d2NUpD9*rB3mxhIW zahDCk;Wjo1`G?GBV+}hpywIk354{DPB(tR+gh#-<TH=7Uc+|8mss!J|CaVGs&KW%{ zem&mC{l1vl(A(xOoEmuzi`v)Ivz>b$*Xo{ok0Pgpk(x~obbNo#^SmJw68Sxn>dQB= z!3s7^x#b9Tt5B?>0myU0y4$jz{l9Qu(08sKeSg3+=T}>&{XOBe;S|0XbEb*TIwOaM zJ-L}Urx&z^9YhOgZe2S?FLIKF3@;;+dd3@T%Fh>+V)q6Q!H;_3+1(URYg_$&?iV2+ zU8pqXt2E6^&)tbAUe}heg*E55pJjY*i?^Acz3_l6&m(>9`OR=q)4rbf>HBO_8EPm= zovQJjXL+z?cQ~XZw2%kdjj~gw;^o`@8~;AF@&l_MSjwy8S)g2W?qEDs4~Taj6|k8r z=;^)qjTmKBgsikdt0CwB_3tKw7TwG*Q36G6z78V>z^F{wXhXCKi&;i;U8;PEa(ad_ zkR9Og?kISK@iRQY-AozwX(vS#^W1N@8B6q*-xdFI;!2b&649$$Z_L#=c2B6NqaR>4 z>{S707w{N6lu8@ArTJ-lo57!h#IRwG>E>bpjS=?_S+O>?YEt*nd(<%bayDq^;Mn`~ z28lyx0cIJ8(jj?F2p&C_iT#3p5LB8uc4@F~ziMCW(n$iEmznhr^zLuz>qqn9yBs)K zK1q3>{k%|$X^(l+f(ii(Lrwd^D^WtWH<Q6BG@Bf>Nrd!qpFnd=DH0Ev?-Zw0ZbEm# zeuj!@;V$iJ%6vl<os-YlD=23JR|%RP1OU1h?4aiymI2+OWE$f}ND)P$vpU>iGrzrC zH{`7VVtnYTLSSR8B=lq6Eg>!xQ`aXUMfH|6{XpW-52@Wor|udJmzB~+fGN3f0TGZ# z)~=pi*U5jp+%!>vMUB59lI3Pu1+u3Ipv~>I^R*DfZXic6aPB8;SZY0Tc+d^F{gAs; zX;lt$y(E~eVzI>WZqiJ*`^!Aie>ar&DU1KC+BA@Zq8VS3U+)dhArt4cPZlKVrkuH{ z>QD=A9{5Zjq+9(b#dL`?G`6X<QwL?*IPwecZ_;cM>0fVtdp~6-HKTTHQ+Mb6jcU32 z={HNAro^ROsV8fSL4XZrWb?|ugBS4VVT<t$2=2f4Kxq<bIomAJ;Il<a`w+%Juz2UH z`gf1_nL^oF0c=2v)QU1DV<5x)jOYoIeVf!=9*d-1&hi_FW*Ov@hHay^s)hnxzu0%> zmUYadI@mf(`cWh9?@>Y8r02JYv@n<($+9^=$G4l{ceXoSAr*z$=4ZXsIxsk4EY|q} zP7dPVzrzOk3HL*i`k8Om?QM3%$M<O+plo&ENpJ~Z^G)=qe9BcrAasOjTsvm`+Y^JK ziI+jcemn|3J;1YVXMDqk-;Sy*D3G*e*|l}F=O+eA4*C1$O~=`^17^?6u<u$cdcXDz zFK%*j^+_|uORJOF(FyRs6mqCB4lWhg`J*{|%suM_<snml0T_-9#8=k^eU}?FLIq+| z%b5?Q2B}Y$P$6w?{1m-a9?{J&k@_hObcb%ZOQ_~B$z5bI-OZ#3|ImjW;#@{;5cfZb zEg0;r=q-K$9C!YrS$^SX=O+F7tKu06UAPn({n6AA$R>Tgz-Be(lPqEcGpj{7!=?lH z0&4V1{v*<hewN^dIh3HMSmG3`=nPsu5d@L&e{P<+(kUd@kerha0xNzoPqz{5hnLV0 zz6glcHe*^JtH!KR!PjVKP3ISLKcMhzAa~@_X+e5@lGCC1T?`b}c<Z(%ZdDM%PA&Xp zBAC%`fzhM*7^4Jfc3_=0MlZ9ig<17)I&n{`J{3@biYhWyZ;)u|=ok6p2duGGae?10 zok3TVtoeT14@F|Kh?{z*`z9bP@vB-MgwOul>&6IfMJ~9vuB~3ou_$2&3?f;RuG$_t zsSJqd`<F@WpCGInKeMicv>y-X8|Q{=yWlxWU;#V=*iR6*C$eL^t?{5flO7}sKqRHo z0rHKK;fOWng~XFcHcOkva2p=jB)j44d|l~WNn9umlim1@jpFs1r3S1?4UMj@0KQIW z4PTvELS?W3Sq;BAuTN-h8T>3N&dO<XK89o<*xb{|L5(D>?eQ}%4<$)0>6n;pjF7Cn zD31}4F!zu;J`lx(XPhYnc)V%<KC~kJJ+%RwMX5oYLi)a{kB7-}3Tg#faj!C60tCxS zP2VRlZkIcD^l=K&r61#ARa>^Z=Nn}2SUg~KlF)rZlsR7w7t!;XUr3Q606|NAYkZc~ z>r?9*6WoGmq#qFX6Eq-z_ZWuMyt54V$E9&mD%Y6X6O$;hhD`z4Af+3VJh6BLZRduO z2|iYzuz_NzvBvY~V;Q)ULl4>hN`@-VZF;xVU2WAOxfbfEOA=jmKO?&Z^-k>~lx~JF z<Au4qt@?3xdJ3VZezVa&3#*Tfvr6h`=&~p=@NZC1o^N839l8>dB$fKE=eImg+idKB zigf?FRIV~M*0J+>vZuLOG+g@yvTc>qsurjKlYSZxvU-i7ie~A`J{5z{{+xDiE^mj# zfBC-0C{P+98SY-yd}`GsYc)TD#nGGpoI@)bgBFL8BW8c06*}YSyQlzn@P@;-`lq-+ zg}Ym)7nvb^U>lH;v@@r&#?}0NJ0N`{7j2jQi0_qXutM<%J^JM}McI+^(kQnBX*f#Z zRD|W)&sxZS+6hMp<=<2r{oCOBB41aANKJn`BFn-6C@u5s0LqLG_`*{DPDla;mc93% zWS26{p;I;olwbBD(m#$+zLGiTHP5;#Sxw{S@hElSWHVKj_GQl{sqS}FoBaF--%}cF z@_z=bXQ%A$&Zs2^dC@i>>>5O7BZ=+GO%v-ztt4sDwBTL&Dv}G_Rn{HBHFOyr((5`@ zSMl<cj)r=%0o-+QMArRD<I@&0%nF3>`)S0JKBUHfJchY_I{);Y3BIS9WxNu13XNZb zP|~8<u=>XT_9vIet1K)igrAs*v;vz|nboh*A9+rPc2&0Qp3|QUdKS_WlrGy<+cPOu zsHmJ}{`$}#8g0R*$a#4sCC;TClr9?s&nsoFKu!*mzm#WXdVB&v!StTZ5$i`Xk1HoU zCCPVNa=RTKrCaX1LdCq-_mOxnJj2!{c_9L~TR~l<37{l+_I5rSC|{5UN-(l7))GE5 z1g6X;*8k;lJSLGXbC#&Whc&*2_2To@wz;Uz8Mj2qgnMupg{Ms{k3C;irO{a&$^hSF z;j;*;+xXFum<_vY7judjX@hGr3fFD?db&8k&j%t6_4RdYVli*|J2h~pfK0WRUo)8C zNB-=Q4-XLa(eKPTXQ#h!Jw!;G9hp)Lkfm%3DBM{KN|fZBSf}mE0RPtSj0Fp`TvTR& zpb%rV&0YjoGlv25yA<k1>|Qz~O^spG;7laT6-(}j1x{I$@pWB}*0rt<a$(?OKoRiO z1XtQ0)SCC#o~BFzqtE1SS3&(Z*LRbQ#<{UN0ZX|RDnAgN5OW+CSTFzU7?w|r=Kh@4 zy(&O}`}R4_Mrd`#xG`J3cozE=<SKMd4HRt|u3*?^|6#9IAXY3t3R3#*sCo;+xl9{p zD;-|Wqn>9;nHS+%$bt1b3NdLs?^m7lGG-?{P=qHKXZmn_X=DL@jvr&_H*Ivyw+7o; z9+|nmEK!RzM|25)CIxWUHEtd)x==jJCA@<4W#xU!_!mb{cJwEQ?;qsHGuFL1wAbRR zIS6eI8+!C6+eR2MVnF;~n1MqD`0@$hQh6P(4go3(L%<iSuSLI|Q#|bLUl<%!TzX?b z%;ndS_m$xKKj7?6{__>c1no)p9nypBj`PpZYbLm%5`Zks6!0vCm|=v-FU7_mX;Bp; zVFX;>C*;_bAULtp$>8Gd7gFlZjt+hAi`@X>ciI#X)a8F<Az&*FFumXZRJN@0Zv@;w z)$LB2`Q!i{ejV_^fQ5?~D|v5$3DTQkMkO@%<4BXVQ@OALo;0sM(AR}Vi&LyPJSq;W zo2+VNnH7L3_r<hH<K>}2kcSO!s1zV8juu$1_OtkJ?9nPKFs{Ld-zlGSA#uWb^HSqI zX^9p1!*)ZjqjiiU?RE1HMERZ!bPmynI`)}0QV*Z}B`xk|w&?E6VW?}=hJGVSkTv7x zEjVprKmL?T<-~`#I1aT-4xD(90+=yl8Xpnsu~1muE(jjZBwyCuWD<PCl_9&9jwz<F zax@P*DsFolsJpKpn5=LSOQ|eR1^3RwKfW=ZLqW%r0js3>SLK|X=mAWcNjKQ7U)43u z9s`-l5ZRBTMTnXI@F2e+4_gm!ZN+QnIL3iv`}(MWqPrA8@{o`*H$TXv2vD#t3G;?E zvKk}%b5<5Vw-H3>$3H$t_oRIL^mh<+&X8XXdRQF%`VrIrxw+KLvAkl~AD-`0KP(oF z`9Ehk<KI_R@*n=O0XCj=X3jsC*}5y{c^&z}%-Xe9+hEBWH3QcAuIB$+>9xjgkWnE} z44*`DiMhlYQ>C32(h1Yw58(%bSYDu-Ka8BIaj08AEZ>!%`<hs*Z;hGD06{Z_JT9^w z!zCV3GI`C(ABR0zSH&J9*dC@mI_8%1j5MD4K3!&I94W46!gpohq^;V!^TCwQ*6z_K zy70VoCJ~=puyFbfLz0amnjU>`&k^pc>eE4N9&H);>KZQ{6?9&767CAUkxKz;dHhqi zXCS4l2HY)f1{@#iTd(5+MzW!6nlrq~?GT*yVs{Nf565q$goMe<26S)Pdh5TP;&dZ> z@=Ll)CUZAclVAz8!U$`I`Oo8ywDEyLn@jx;HAmAAcW+p?^8~d^3WdLQY|~hgT=*Ux z&tr`L_WutTO1i)#b8&yXEu&D=SE4;jH4Dy_QgFXkENgI!IRx~NW5e%|y%L)a&sbY` zTpM*PUX=aK{DJ576uPK!p&<!O&4hakRU@lo>80r3bxlSn?TsBrpe^Y%QUr5mM0rn4 z5ySIJ0J0Je<E{>J;?`%_mw+GpQW_Wb;?Can9BgB84aeTSz6WTYdX$nJawS2=owwyL zCUrl*hGpAk;>Vcg9bY;KnGW1-xw6IWiLDdmNSvC-(_lM&b0)-hWBv}g`dQ(CUrZTi z-r9n;3fzewXL6pYP<&CHNA&qoRB_rM997v`tv@w%%W2qtp6Mww|z*(BK7Ye_0@ zpxU@5do#6N6^@)kt=ns}FmgK-<nyWKVMTYJa3<(U+Wzftsqrx(rg=4h0gHZjEj?Dk zkd*o3Chgx|W_mOl^$oS>FccE#$jZzc`rr3M8TV0Bqt^n%%KxtS)pDvsJCV0fr2m-i zB@k4kuIr;JO%85+$dw0S<47rwCkOYYSJnyz;VKl2kBA7^KZTp4@w^W&;>$9KO}@4G z{CW5WWQI3h-D7JzB#jP5V~r)Sl<Mr5<kl%)Bt5^{V@_Y#^k6q$+?45m_rKod5@{kl z7Z&T%&;3v>c4aMK<#4;lyZ3bt$<9f=9|<h4mqJ~8`t-eXu`c@F3c;PN2Z5oeacVvn zR+&SbY8dE%sJ)SW^+gEqTGVEk6pET|Q?D0jw|H^A*W$2y#h>;VXng6MuqU0}{~VQa z1@li$3v+7#=mrjl%1Ehk718F)5eTd-!!z)GqrXSYF!?1(A?3;>o%oVQFSrns$bC7y z6Agu~Sjk4YbygAuK^f3pGIf=JkzTFfdvKTABKvUKZnYFv;-8b%TGT!=3{hnjZ4y7` zjtrEo1uu`F6AaVA&|xgy872Q4eZ-KeXDTw_&cT?qvn`!glc&ostF)O~U3ic0>QxEP zTyaiMO&i-g&3ycee^7lv(FGj9SCVQsDC#f3s4WgJpQjnvqW=_;<)i_G?8rFm0;p-Q zCfu>wIk8}iVMa2b9|$T4q#yx+OhYxf>sx<qA0`@dAo4lgv$2f4ZQwY~>r7KV9->Hw zwqSxs!K>7XqgZCT`r$44?|Mx7Q%lLWwcS4oxjQ80C8mJ1`?vbybpo{b%QasY@Z^2` z$ZPX^-OGbG+r}#u5`zL5CI*0v1(Odm`eLNXqYT1|BI-tdL@Hsv_clY&`b9WEN+*(i z$H#-9vS(w42*aX8+=0r0VIG7fQ}(Ac)P+dw9{31U%EVGee%MpZ_;|jOi1C3AkV;T^ zJ5aH-V)3lZ5Hg!aAMr~n>G-bbHmgDkFT1Alzw?f-F{aPU>Ty1;GCZU>Fl2Yb75OAP z*^Or5AoDT0MB!`QzVQgG6Rni-(mXnjuN%K6JK!)BO%{}69Nbd>JSVJH6vrpCg{y5K z5me3JXM)f=_RxQjRSj2^-|cXpwzoM2L3O;ko~XrwU&<%Yt@PE>J<2xLt2NCP2EEsm z-!`Kf+kgcgDJQcXj)3C3>QMF-Cth{$Qe74>6U3ziK(B$cshFwBQ%&Zm?u;b^bUy># zXg5`n32wS`x|Y~b&AInpSzsWjsr)AJtq_1G@~hMKIsk;*%C8t5!QN(TbfePwW=RZ% zAz-qg{_Fs+U>Q7~q;dZ#(fiO#uTk8x%H(be_pmIg@{Mq_-}CT0_hRB9g7<pm!r7O! zoH}K|51OL9l$qPQh6GqL*AL0u?M#3e1*cX#6b_Tm<Fg<1omNaNdK=j2`7RxLUS$9o z!0g1%TL<H=b9vh3=ShY_DZuYjM-IY{z(t7dFc80`$e9W<Or=~CW8z%GZ90&T&Zj67 zJb!0AYQO~)^FDn|l>PYHZ^sQl*b7?DCQqwukJTm{{CM%g4xG?$S3^&U7<pMm&)9g^ z2YsN6v}OQ6Mob+~MlT68f$-GE^Xu2K*P~v~PT!8@tr_Z)DGzX3)*Y2B`=f)s9anHL zYw^I&Q7unYH6!go!$~@}6oV=E+LhthKx9;9rmfFhq6g63$KH84I;wr?v-AAqIJ2vl z0w6!-LMOsH9iksC&1LS_>cW{nl)w{GtHpvFr}SRCJiv`7OV!+R&|0Qwb@YWw;7_{o z9y;8&=kXJ*wq&@jPM&KyzoKocj;z#heVIks)4Koa$ZZuaDNB9+!G}0X(W3bX*_ZbV zQ2qai#%sO~+L*7p7MT1n4xmqtWR$fid6`u&lZpA8VB{M}4vcP%TH!Uixrv|t^0xY` zp$?5N*hk&nF1T9#Wqf_Djr-HbkH=le9tt@^)blv<fm6)HmNZ=@ymQQjE=sfqGnMM$ zI68RBtq8VEyaz^Kd*th>{7cltu4x|F7@}>rkBqRepB$k+&))kTH~kfD^lC=%`wQ7l z4)pVj65y$fKIC(;rqP^8)Hq+CxF4||e_K+9v=0IW!zF{)ht9ZG?k?@0TPY7O6GjA# zPeEutPwSp$4|e&n@!H*=*$MgQK(6Pr6U&oke{5u~8{a58v~5lALYT@-bxd&WLqNfK z!zV4T?bNv8I^L;v!aN*pO@_s{q-n4(9}Muamsc+0`4mfy|FC#XR$Jn1BV$KymI6RK zm^9kXr~I7BbKa4+Y}*yLZ1f5TLD|NEMTycngtHe%#`B_elf1!T@m3BiyAj4s+%!}a z>s4JT;v`)~Knl$tVXfM{=#=C}VU2Idr|0MdCb$>jAUHT~+juqpB>8w&;JotpeNE7r z$i}qXbwg`GuegM#X-sQc78Zo&u(g4~4jNTUOQSA(f&R+cVmL(eHvswvV1;41{{ug< z(0}09jr|W3#s8xr+5gZC<3DJ2@ekzuG5&#^AI(4Py9s@%I}P!AHif(h1OX&}gIyo8 z(vmb_yD`}_FmFv)TA3^XhLkK2-m&1wRF;)8Zk1$($OP?fZ1xO?hehoF)!A1^#rZUA z;_d`@cXxLuSkT}$1a|_#-2%Z~g1ZjxZZo(Jt|7rKXn-ZZ@7sI!-m`np?#>^5y8G={ zrt0aZdgiUFel%)v%=DfvGw8$PCW)a2`g5!)lZ;UK!qz50G~Q*N`a*R1I$5Fe{%5Pj z$rolDB@<mP5fYH@Sf^>wNA|D#Sn@wOIy%NtF#a9;wVY$kq%mzS1L|H1z|-b{DrvQZ z`hWL*!v5iM(Z3W=IrNv}xBp>&s*z!d+bOZq8s_*tiMYrrv1Um_W5*B}WwLVY;-Zw% zbu$#j;z8utk(xrYQq`PG<a@~rcy={S2I?40yFGXL$%TraG2g(W{1mFZOA4H{kLkp( zJX|jUWp_5tsQ3f|WS0SZf~VcR?)SOQfzK{y?E<qYOi;;is7j^nrK*|SN@gjxwM-vM zp;U2LX)}Lhaa&K&25Y{Cv_~4FE3>eNwtK$r30-WlyoX&PdeN6Yy9Dixu5O=?xm`&8 znIqYRQC_5h_X7)bA!z-QIhaKu-LDT-;?3$5>xgsvz)(9vp(lgV4vNtscfK9i9K(5a zY5eS;oxm!R_%VmFzEVc#`@3in0Xene7WGhGxBBZsM-D<#12;_%*m}Mkdu7<|O7@lX ziOp4{C+!sT%Jbk$nVa16V0Z>xpzCR%J6r1yA)VZph|`l@HiUb67T6a@V;$7!k4@Yr zd!2vOGNc8)5tZ*}8h(TL?n$o3RRbWT%u=GpL1Ag+X18M>6{*lXEi^Q0hxKUvW<`VI zwu;s((^H|mT=inG9duKJo=hrE(XHK|f^-B!KZxzQ$uyn}{mHrl#&X7W`^%ss9IiyC zyhTk&%e{-Lq}f+Fsu5km=-}f&PJ2MFC-wP?@T6GQI$Qti+O^HQPF{72^Ox^73A+YG zVdVm@96hUGX2$!Oml22B6}1{;+S!y|+}CI)e?FnaIofTu(NHNGz$?8C3QhzWCEz~S z6<nId5#E8tm8@8fXKQO4sXpdr^#VUbR1K#stE^l;E;-}BUv5mxJ)rek2@U-FoPsc4 zE7OFcGk)7hD(gHM$0jaJHp&`moljqcTVwfl+WfJ{YCGuQyYSPU`jau4T3>hbBv0Hz zq4Ct`P0r;R(JJV+n`$S(Wp76g?xFsOEVdPuN(5E*%G#swv+MVTA>JY10ABX655Zy1 zMosX+>ZFfe9-1GFT-`JdL9fg84>IE>em}h~O?a0HndOhIq34>H@=xjqk1nL$I{Sl3 z)5Gza9|Ig8A9k$?UDe2fp4ynV74H=A;`!5`EF1QgnFXJvE<N!WbLC?V?rIYPJ@m*_ zJt=spthX^jV(D-ax(O&*>5KY%*wOWK2f2A;Y{Ml`X^^O;Ao!39cK|bMXC3PPI}ANO zL@UMwnG8>LIP1IdvD{i$qAn<X2riY-?rz$4t@X614eH3fF5y`}9&4gX!34pV+8#JG z5CoM1FQ31V;n=z5?9=?Gx!n=3=e2-9vWq`{*+XR+%!d8C0~?>(olNFIL9T)&j)OX! zvpRyTPcS-B22*SJ>qO|`Xe5Xqexk&4ZIF>EBA!KwuEU(jxl`JFkwo~+3|31t41-M1 zWFwgQjF!B{dmqPRfcjk_iyEhQSVdwhg*5g0X%?!Sxit-*3%{Nv>Q-h;=!p6<HvGFi z5z%|#Ldi#TcJA1l&aiDP==x8fY72aO{5nd$iC+L^H@}teAEVzz3tR=WFf|BEaaeyE z`DVqJuoA#}8q>vLbeX2Gj~2``a4xmuy6pGW6c;?j96;KS$)#Hn1sOsyL3)MN!Uc}6 z_EtemWwHB|mSkM{e6zft=#D4QjCKMpEMnV0ojQIG8OKIl-gY>c#-_7bgA6y;oJ$2R zCl7>|?b?3zW$<fq(xUU9j>mjo#i_V`1jU4p?=3#R-^9%x@~U4PqGoNvuQ%9BeD8y4 z%JHSKuK8?p&wzQer&R9U=nK9gx+b&2NHHtbirm0UgZ#ir(@9*!vzjQwT7)&-&yTFn zmV<60jgnrU`-uqO6@v_SRhxwm?z|E0uqiey*@vpF)BjkoHW>|GY&JlTt0;(ya>qZn z!G}y_wjtCm)^&oA-^aD8Q-L_eULC^>OnizMw#055u7)mO=rt9R1Ee7#h0({?EY%O& zz$aOzH%%APrHeW`dO~Bh&Rr@<w#2Cz_&WHPhzN5EwIFbTeD;K1_4T=JxParIB!A2g zKR<%nX`ZRdVQyiVqFtUX5;!~c)e7m})&3YyU_=A8P(d))zYI2VFj_N?ydd|whr5LZ zsm!07+p{X%LXB_icn4Pf%wG%A8=4^4!m}@^mp5bTLSxX<;cLdH)yDar1ltyIBHbl` zRGw|vsH+1J9s+WB?fbMP;Z)+{u^g0G&;`(XO733S;iUV~CM>UCMdeVr$lr_A8w{VR zpe&fqbg3X*(!}ai8q?}=lHPN_y<B>Zh0x^tmSAo#EQyd2h4ZDtt+S=Aj~XvX7vQP* z&T_44F;B8E?=ol{{l4C150jMO-LVJR``0tp5!UZc{8A_tCsiQWmij~9SHj}1J){!_ zp_#`s6r6LTZOJ```gtGiqc#?>Z6#T;x7dgg81@bjEP!sZg)pOfa_RdsJHOxWhG2%= z3FEhBm70D?)yLhhCFJU4v1^^OVFPCLQ06WEunprM;;;}YoIOU;Y!|un4S#0`bEyo@ zsjp_salhBZr?cDQBU9XTB(_>EPG<Ny3F>QsLSdM?1{%adIj#2TLK*s;$)iVVjD4WO zHVBuvF)ef^cG+y9Y@8+Q{BsCKv5A*-N*fiaWW&9M;W~!f<h{q@@r<0+#|yi*(kEb1 zZ->7Fe^l{j`p#ILPwZy3dJe~jVK`sx#pmjVe)KyBVZUYW2cSe)(R#m@Nve=u2Zu>0 z$bO9dMzvmYywIdtLvtuKMI)D%*}9OoPrxoa|I{>wQZDS!9aWUthHyHHbIpE*SA&A+ z85nDT=eG?SatOH<0nDqvYXhtH4kwxe1N3xt>6Nu>thTb$Ont)*eDf5@wsHG@cGAUG zp6aO7!is$SHp_`G;^3h<Zgb^A8fP=~U~SEY!JxotD2S6a#BpAysWj^*<JbOik9JXq z+4zndz!z?iK}<nRf4lAbm9Z5*;S1g9Qec(hwx)j<Y)R0}Fw#C6J3=%i3Q!h4++Zvo z4IS~18g2T=^a@|mo0iW=3Z@`OY5+~6(Z;QvAwQLGAAULQqibXFRQg0fW9jJ0JxX`< z`z$Wdwfl0^owz+z%dR?$I&Qqm645Q5ttnxaWkyM0n88$b&iAMgyXeZ_2(|;bAih+N z&&6*_2;n;Zy3^q9@X7nTtWa?6(rk0^(5Bn-jE4S~HnD1+lr15b2dM_f4e~fHk<_mS zl`wNLWuU1o)@C8}vDB<Aps=@=9DUB((SWpSIjxo(lnXk9tgA$=ph>{Kn%2^@G4eiZ zV%K3Y@w7GeZeoHQPi`IN+ZYisk5=G$%1Jz0YLDEggBCmoRAvU>k!hd9ZMW>laLAo5 zS>T^ac~N-=v<y$dMQHK<;%z(Net-fQA{8`HlvH7lX!J6lwAW527^Sl;gv&mv>sph_ z>u7fKSO8VQ)ed}?lq|F73jWbqWNB#`7gHjO{bxGJU|02IL7N(YYJ*igIJDRd_m#%X z4sB5*&QHp?k4^R45SKmb%;zP7N}64qSTFga{!J-@r%?NfY8!DXFtfUc%RMt8u<sfa z@Mui6)QIOm*B5SBvumKI40hXWF|$6wNK3ymu|%ycX;sQ7VM}i35@CBjjtpta`i%v6 zq6#TO+g+p53f;^TqDe(EjFm}dHv{Wd^$P4)VFR^ccK_(GX=Q_;A_&P2CzGz|E9kV} zpbga)QGW9^<NaSz5_75u<&_IJK6|;|Fs$rMd*K7(h-N9>E&1C+F#Y}|Ki00jl|S5g z@s&D)UHw6jLPCJ$TI+LQoIyoiUx|JPm_?T$QZxq|=z%Hx#4VUw@6TTY=+$Ati*G76 zzpML*dhsMVI4dt_Tm2c+nRpBij6Y?zZP9G2@qMZM&$iT8jxdA4QfSwaHrt>XgQ|fn z<huEHJ>df?LFYpR6*hA1@PbGgbVngM7jnpIxPVkn*q&eS)2Ghj1pz*D9b}>sO|a|g zxAk}qC0D12Zb?|0WgK}lUm?ojf9?25K`zcFujCQVod?)Wp_wnc$#z>)S95d#%KVo7 zp!D)#AJ4Y$^b{B5oUI>k5XupiVh!GHd$t<FZ$Y4t_z*3sjyq!fn-(^SQw8yt#fIDQ z9a%|&hEj2HkT?1;mv1dL&`1f$Whg76M;u|JsnD`jd)2PG_t!wjHBV;fRKG>{>r7uv zR+<TJTU#uZ2SNjpG=>;!^f~a15%Wvxs(;#njIU1+9@DJ0j`aOMsN_Ye6LM8;=Ce5o z?mJ!9^xXW6+Bn+Y5zNA`?-W>HXqfd>A4WWODvc`bn$7;Wo5+6*Bw_c{vYSb1UTs!f zPxNBTqcM&Nx9@_FFgxy8C1D+}y>qt5#PQwVZ;TR!@pwOO(v?yN7jDpT$|K+EAI0N` z3jS5n4Y}ACK1J&wTk2$GMg}(86K$ZyjEm7ITsm^K-WyJ2(%EsTh<tyU4W)r?Sd*8P z+y+?)>P@o68|3k>6-=MwyUMKQ;{EE=txr`DCKlP!mX++gA#@H-o!PuTLKtE_JVl?_ zlo>hjn&Ar;A=+z9$%*-gCZx^rqdVLO8)PkoR>W0DlwXf-DJ2YJ?{kcn$uBzFN=C=L zsC0gsthf{S<NH%Z7=Y#Dy{7KP9MDb3hBatcG1}E{Y{wBe0l!xVLv=e|gyQl%m8$>p z#WI#<T0AB{C!qb!swNjJKR8_8HrmV4eP0P+K3z7&C3gybQ;|@SESMedIKMEtQtK4R zva)o^O}g@CPs^Xb8MM9o{BY`R)8`hCwTlsCBsU)r^dy&eO~&edJ}O;Z&7BjpVlUz* z+1-mGvbhZt1Fs+Q&3?mba(_pV*t0+<YJ)szzF{L2dy^sDyF8rcQZT;`OYZEwcQvZU zV|TPALrB3QQYKQ(_kqSa{IfE|-2(#HhqT9B#iUIHGr8gv8g?=u7IH*~OO=)@LgipV zB4Y6<emUJwMfIV4sht<sp=t?X$^*vwu0iiE>^5sK!u9V_G!5~NlsqHcYb|px?1n_6 zPf{v*C*OP;743N2yTq3KT0#%Ys#%~~LTYZz@2chfyX8MScKt5cyfv$Nr29a%$~AS^ z<rvJax+lc;LP<;??v?bRkIWS`v<)w`SDOyPlm^e;bPRqvv3fUJ1%sa{@(bE&gJ<ks zOPD>?&J#R<bMkGxp3kemqzcpXF57=K2cc^&604|Cf1PRws5U%r5;UYtO^4`$zA=yi zzm;4#rwh#G1f`~E|23<E@ananp`%allBOTlN8VI}PDCZj1KD|RQ6$e$p_Lx<XCI|y zF(c!d!d~2+O`(6igG{|x`%jniw}8yiLAo&8FDj-e0n>>$FW({KGcXm1>zZ(VO0d5Y z%5j5uy2Q+>87?HvqQ8#ZV!yK~9cdCGA8H+ngf7y}G5d75WFBdXjxZ}`Lw>{|rkn*F zL64*}2*5ncy&uW3yL;fcjwew#-+gdXSm);QhK`=!pGq6bnU!_=z|6)bPPvhFINP*< zaG{V#%4-_bl1`Vio(>BUa{93BWk<x~O*J;;V1zoio?Pvt?tn*Pd>yXyu74}d-x^_a z;rvJB$2&ET0@Ab+$QaQkZ+X~r39ccJS^n{Y_@oGBFJYO&=&kPhtU?rk!|e4Jtx;W; z@EeQp*M{5Hem?%zD=x}`*|<hxR<|FI07GMMc5WSwhS;$TO^Q%_v?FQu4nI$v6ccWh z_(f`zC%9W5Y1%U@t0Y_@<h4rG{e334by6SWywRKY2y_Omz9RP|pY=qF5=_xQ$KcJ9 z%&5kBms2VvRw^t>g3Jkn%%$)CygKPgB=jTsgdps|CI9u0rGLx9z!{C2g6r`2E#d!n zmtHRJg)mLqkze1j(Lcf9_mEK7w|H?VD9YDmc@3Ta?qfds#j=ul@czT~<<f7jotMn@ zjktRtJKT=+cLxuekqHtCGfJ%CIi&&aH*anW`Y<XsdfcQyceUL1b|D(BEVI=Gbk7Ng zPXLh7!H@Ju-D4Gdd$DQvDcnOZ!p3ItnW^(ZvBR!I|G?>U|2+4AJF&XZ@UIFjI(R6R zEn<a^)2#g49~<~#3D0=m{?pjhX9A;>@p5!+v=}}~w{cPchA#?u#dLIlyC?2uQb*Cs z^@9_d8%RKl`K5OD(>afcfoho-ORz*tWwr>*m+LdtSmf;fU|7WKftDpXOeFkfr}-Ac zPi8(Ck7(B<`nw@SO|rP#>@!l=LCc}%pG-S0Ca-prf4?N;lrLA>@waVB5KTMk5l?F_ z?`5Uh*v5dogjlq*)C@8mW%$JqFZCfvuf$&F?gU}lpL8AUPMClM(!kLSwEp#NGYnF} zpa%3WE#|7z;`&Bu1l~T^2<a40+Y$-{KSJL^|A4IzhxG>fSy&QHB=3Okw3ALB&OC1Y zkLkd;Nj%o|(l1ce_dvuKx*r_iN@<{lo@FZpg1R%BG>PfZf93<{zTF4Cp7Hx#2aN5N zu(5bl9RhTO3bgLo@VQD5c0f7YfL>wnNJ7gGE!3v21o`FO?OaMutC>id#8xoKrYG8D z^&G}qHJ-P)g`hW(=&I0rON9N*a3=P=N8Y*7EoUQ;|51ys32jHEu2iRYF9e3TeG%R+ zvBEHd`iVUJCENE_eiiiV(ZQqgHYFnr;r7ca;$<u=RxW`l!q`*Nlqst<#xJ0I>Pq!{ zJjk-xD2b1h7Xz&mzne#tWvH(T@0Ft>>Dj$*`#H63R*pGfQyr~p7!ZxeLB{Fkg~#!% zTWC&L#d&p&J5lCdG)~&y1PmhN4wC#*YZ}*O;>G`{gRhSRL@|B#KtygtE`qMnW5H<_ zmUSr@(#TpSCuZk+QwFO6?_&9+cp!A|_Q&(@)insf6?v*50IY3S!V<FEuh?Hw<MsPK zTlmuqZ*lb*bkuDJ<(Lr&i*x-kCV!5g1YIs9`ZAsuyc2PT0j{Pb<S3VA-q>m_OO`#g zc6QWHYxOdQ?eK0eQr`Fs64!*zxaftT(xSYGgnLyqOw75cbwU&JAy?|1T6D-UhJ2Qn zyQwp)G}%lU>6u3kan)!~2(I^ak%n;$%Q|VBA55o|qZdr}YN3h|ZR0PL0Q56tzhjib zm1=}r{=G4MciPZe1rys597<yBAL)YgmgFZ^^S}y=<mxKL(1l<O%7nDOozQzhNpyIg z(Vzaiyz^$9dsf*D3H@m1Sy~)<JYB;){xmX!oL&nIdZ~<C;Pr%EESaVcpS4%jDd{Yt zLMCYe9h0HKBzjyR`mYG80@m4!iMb)k^<U}X_;QP<GzttF0GbQsllVIeabLh8*WQPz zG~>~LhB#^P%E{B-cU)S?=hZ^(&y(&ryQ9tj66eMz=U9HL?0-ahFj88Jxr@8q*FP}2 z&JX(b@QLzgsrqG(B9_*jsNHI{@2?L~&UMSWc8Of=Ty`cugb?6}X+`qk^CQvre3Jq& ztU<2tp1R17vO*2ITz>Qb5O0_wMV>Vj+uX$buUzvx%5v6ehfDZ7{hOn%_lO(1s9CLt zEr7%;$3B?f;nNRCgjZZgGUY?CBb$6IN6MZhbQ+ZA1R1G=Er57d%FeVO68IwQ%uFb@ zY}9zr5w01aSVT9#7Y<<xiBd;i5fNN>EKn)xha<^Kbh$2@D;IcT61>Gy1ONkE8rsbt zPT8E94Z4x8EW<i+D+KYWjl!D$Q(Q|LP<It-1wR$oTHZ--kFM@6BQR|VOG)I>jQniK z6jivIWEw>V%BOt6d(NxFj3DwT^#D~I%e!ow?d-AhXAeIiM*j)Hr`oLcg#KxVAK2YR z+@#~Ublh&NuRj*c!db&J(?kxZBvz2Q*H}J%Y(S$xKH~onp`Y$H2FiU52uX;Q5O;5K zIi102HgGv_Z}D<=E6g|jeI%(7zXRQ1fUeq^@Q0><$d#4fzG<<3a`jCr9qOKvS~4w8 zO%v>m6dd^Y<h-OY=gWLy`dNtx)<4=mUnI~P8S3j(AlV5^4hA`)vQYe7F9+W2<HBUd zc@!t#4|&jC=g%u;a}s@DG~b7tvopyTT>AC^W?9d|v&R>TTCElllMEJJsDCDQwQH#H z1%9o8dJ~8^Q*#Umh|Q{&QR9^L#cuJtmhi)4yLUG!so*`uHaow4TUi$eyrT@^m|k|c zF(P*F!V*z-w|;7-fe!K!%dwib3vF>}p#or=YM_{(ML<{9f1=;fO~$bW-qlg3dzDp) z*#vy@UTyzUbzp?HMRlfcp9p8jd-QnMQFqm;;XOnr+CNS=<+<PE1ll8CFD1b5f;bw4 zIPysbA{p|P?`<}59KP&XyuC2D&(zU@WMQE5SOVXOY2NB0jCauvxHR->$zcG^ttOsx z0pot^+u`ppR(=)<SA(yukTudz0+8cVFiZJx%L;3aP9ztqB*PdwxW=btwOU8tZzDu< zrjJ-#1+hYbgR&MH5d&ZRha>RL`N#ACgU7sCLo910)tW=9jw;3)>)IUb!4Zq!Ep7~x z*ko*aB&H1me8?5HEf7-nAkX)hBIAhfAtx|FM!x`vtJ}QB&pvqb|3@SC9s%U<E;5|9 z-iCepFxzBcz?RKlRawp72~Lhy&*BGFt=ceU3~f?c?g#WJ^31<E9x*xprjMGWFVl=d z?@Qn-kAUV}M|zt9{OOY)af=Lq$jQ(j$z&eux(c{&+Ad;HCS&+wHEfz8bWqwC7f_z; z()n}0LbO975gAj3rB;u(Jv{9576HGQ)iU@j2);4hvk&@lPE3CPD6D39uZSq<Qhzb~ zvDC)8#(mWR=gg=pyzc!LF{JHm3@05z9M4z1bx@H08-4xDIkQm_e<!cT!!3~=zWOdZ zQ>}Gg#cvT&F{<pzTZLZ;h3Z18*<#2$D`WBj&hGWDvy@(MIioBZy>VY0f&B}?lBc(X zF_U&?eD8K0SkLH;i|$VgP2OdP8x9Fb`AKT%xbma&jrH#82sVDg4S3%|S}x{~!Xv3c zQ>2uYi7*IoJ^c0M#4_UL=gr9Jq?N*)P&<FIIXEtE<KPVnz!is!eEzEFhLw|lp`UB; z>ov+8Ls#LO;eN}oGusWZb1=Q3diiN0EJr7kKc_@>^Xt1>$#>jhrSnabZx2~Ei4JhF zxPZ8fFU)S+ypDoDL(Siek*E37uCeCh-7xDLE0`CxwShe#yB1ZGF#`DJX|7p$P&+1& zcuVhW|N6O5!CdIoqcRYv7qS1DI%yIr6tSjULA4gHe^4fhrpv{))G|SF2(!`qT<?+F zdLMz0QK4hSL7<OQKIHI&(Ym;Q>HKgdq0f+i33cKKaEuqZrLKnriFk!X#D*}&H?=?W zOHK$T{TNuw_rb_vsn#xJO<`OKO|=P=S`7gEj<ccXUTCb!H>uQ?a@=^lZbozy&RpNd zN~xYZ2E_NZ;1Wr^#80@Dz1biup_DjjjI-M{I<eBl&0)YQNLOKIfO@NZhBo;hC`Ay5 ztgnYfol<#ceBx%RpL2Z^)iz#0mf8%(r&x>cIK0z2xVeow`bI;ewO8o=oV?{}Q*B`S zr*l}uzy|wKMkH8GtO$W{q?V8OUDCuHl*KbV2PlTVcr{(&0yxyL5k6z3+Anp;VUt}3 zElLgdj?bK%^m{Yu=lq)Dass|250%8X;dvw6)%_h{MukfB+uLT)(qRqzTCVzspy4v< z)N8JZ`OP%aU;-f5`?*wMop0CZJ<i^8x|+jR(R?YjwqI&KK?R=P8|9)9tKL0AnN<uv zPn>IKUt5~~ufg(v>)XTRr0<}i`Y54REuVR^WibEKfS>?O&ZGa-0~J*N0g>S?7daN3 z^|NvG(>VuxMus0+aP}{=VXA+P3<5$D0he~3<vK3?XwL!_8~HcoibbgGQDnLfZEHw} z;QBD<b$P*Fe39xEmsaelOmpO|wm27ZuM-LSADr>9_l9fkTjxE~?L{K%XB6oH)twnG z0ZrN+8oZymsbyp`3ArA~RH7#SjHRWfX-s`foRuEFvRq2z?VTqaxnDE=Au)Z|K_jw( zGr4@`^L#D3B|h!spXYzJ@tG-W3nOidf9gC!VCrE6F;?I#d<)$<=L2sq8Eda&&fofV z945Z=I%+S;reN8p01^FwHNn62Wn3k?K9%j|pS^<mA5P7R4Pg9u^7sZ@#X#RZpfBj* zS9XSvs>8X_wJWqC7ZpO$Wp9@{ZZ@|<=rW=Yecd(7t%1j7mmd_c2YtCu<40B|fO1CW z#Wc~fr{7K&=Dt+7T?n&nF0j$+NB7P+8vXstDT`l#uurj*zb;Irg=|hT6^wzY?pb+s zc#@yh>0`WH`qeQdezZEDCznPWYW`a&pN&|CHa;*g#y@EezHiN#7%##ko9J7hauIu8 z^RMq&8MDBGRi{zJyB(+E<1nlZ?!LAZ$1AwLj+7xY+Qf!9l~!hvsh>OeiW#x^W}#V* zF$FH7fai6Ss|;CK&X)H}*2F<HB?UrX9Q3i^99YpeS{h&!L_qP8XHBqkY2yVP=y}cR zT%BE3dWwgB&?`C|dF?P6w@s`W&QL8a(Kh&l+N~L6RRk(om24v&o`yyWF7+kK;y7Jp zbT%8WL_lJN@FM)adqY0nc?=Ih+ec;Dv^Ar()Aso9mj?_<wjJnSJ<_!lxT*v{^`Nt# zxAxXnC@HzjMPBKo&S$;5p-^{<|EPkVNX73lIdC(*A4<+%`eVH2nxwh!DtTWCg+C=p z&Ol1BTit0jV9$v?nO0S`7-k8Jhd)UPiB`B7e`N@4{mm(_l9x9Szv?@xFL=gMm?^Bn z%q!z2;%jK*WyWv!I*bgQW~d+Gx@VL=8S=Wu8a9OTM>kP4`L&hEcreHYi}HC5G*=yl z7uEjJkcQom2)05Z_u+{}jz-p~DmzA8XUjr;A-eYqBr=7NikwAT3*7`R*=kl)S3)cX zaW-5QxR$h(=)zqKT|8)d>4RgEMXABnJ$S`aUSQS_s+=DZY-O`cg|xIY<wtI}mG<w; z9v0;^@i{-|Xf85&tLJxnY4BL_K$sXxIGi=v28?}q9^)7Q*k$vbURSKDG<Qb}K*V-a z8TVDBS?aVdk>61nHNT6mQ>fCK#7&jK-Rjwv3s7hz?1Z>m6BX?wb+xA?uCVOa+^j#Z zx|#7*r3JLylZ<kL^c&#_OW4Ey%ELL)9<_mUa6n!NVWk5H6%(nRpAg0~lp6P1Uq~|^ zLf1C{k*bX*R|5Y<g<%Qe9Q#hcPv1n|AvmZDvyM1!o4%72=*nu~$_lbTGcR#*y_B8( zVe%nJdwAI4Hf9}(lKQip*Yp-6lMp#FFLD1km!vf8T4cZXVN5Bbk}_bNc%8gtxfn#J zUO57rsP=Fxf#EuOB3Qh%o+j~0(l-UVbf4;{L|(>570Lc;JAg_a1Nf1%!3yDtXtt3H zoANa}UYi2pM=rml-TJeyt)*RYh`bm=Up*QqK=JHVcId@B^VwvvT#xKAsYv0o<v7kQ z=+^=1)L$e#kMv}Yw!Is2{bR_rIj^U)k+fL6Fgu(^S=|`*)WSH7gD+(q8&kf3H;SV` z%}SyWMHBCtFSUYoi@6&UWf?6fP5X!L<vM?>s|V5&uhno>e11Ke?ZZ<vDcbvRa^k#M zDge#T(G|qvPW$BND>@Tt4bH(>dB9<T;!6gI8St_Xn%fAtyWcgm6#k)^#7GSikEN6K zQZ-~w);`!spN0`P*rZ63%+eV~6<KEe#doNCsCjj2>-V#~o4?PvQeZL*kZ3dB2vn6Y z)$I9gY+o(75_}Gzpg@A2#IwF6M=mzd>GB5gttF0-oz&UtO8agGxmDVtFCjbn42vl; zt@rqg@o5uD1KGj>J`eN)0_mPm1red{EJR#x;&;g<EyC;Tf}sfd#L7&N2yU4D1!1FN zO~a)Z01wG=^T(A=U+{sVU>QwSz86Gtt5$J_F9I;1o%j`q(>LP(bpw&!w7woU^D?VM zSdu`*{-WLhh<z%X83L%&v%Bqq3!v&|UzfULG-L+(2IY{cANVO00xHtki}s&U2@pc# zH6Ln%>1}RG4HkjxjY_%;hT$?#y4P{JG13;@zGfkX9<>V&atw%zQuL?aGIUUzvUF#n z$^jJ43^AIXNRv}uLKa!wLLo1pXUc`=BH#CpIe^+dOcuVU2uwz`asIXYo|WYTlF2Jk zC;<kVIOWvtDfIxefOOA~B0+d6%41K^GC+imvebi)aeLz9#tP@@o{S`8d!&ot=2$xP zT|SUZKrQXW7A7knb`Vsw)_iqm3J2$$1NqiE#^i}uSnuQ_HJ2?VuZnn?tI^z;ZKcSh z+jNq3ay8@OQ-_bwCQ6B1vK@}bCezcIkp_mDB<tJQPH_{UvDA1l#itfTsK+qop$Q;V zJ@7!AWyY)7DCixDov)!8D&JQJ#(tql`xZ6=vY@OTZ3p+PT)0A0srE{+@}!BD08s95 zDwiexJX~1P{@azEvX{zI{OYntcn=qE_R`IzmE0YsE+~3tpC(3|W00c#M`NN+GflmY zG!Wx1>+7two_-o*phUg=c({T+-uUr%TdxM&`^F;c_Xkr`rQz;0be+XPC(~<+t+O=s zbe8)Wfb5)c%tb=>wXBpMk<=v}pvlTSIuN~q=45L8_W08B67n}0>quWk*i^a2iPRTY z1+)0u%PjvYR+J*6%++V+*YxPDROXb_MQ6r3&2W9T@P0F7k~DamUZ#10k4F4pKx`$t z4Ls$#A&-3B&rv(eYMbd8C2irSTqGsvmg+~qtuXu=+{*aRQDe9q59}=C$zFNNFBP7+ zuLWDsvZ_<;YiaCdK@Sd4H*p0JkCAon)M9cuBUw{aOU%aY?4b<M^f!s1!u~yeuoGj2 zXJ-}m>U9r3mNiQ7Vpjz#XgE_+a`A+HTmikmbZ;?!V9CX~G(aM!q*!-rE_&GdA#R}~ zIbt6z{eWmMI0wfdK)X<8^2JUL{lp6Pp1(yC{s4vin?iO~OrdJHCu1~lc_*~fi_ySt zL%0B5uxC(NuMK27gHXP%(b}pxxr@-uF(r#<kvm9uEeb*~D=Tk%9)`ZoSXrwOmGx5p z7)i>UPG*4UU`dXM&)K1}!zLkeEsBB=n)!23ZAozO2x&5lWPXV+;-@3e;nd9-AARAJ zQf*yx5Zj>vN8o-G2-@HB(~@LS4{}cPZ|ss!y!Sf|VTAVY3sw2v!qio1&2UQK;tkdn z*xj+G$K=s~#i{ociXDYrCN4`_1zN6>IOOpPXpdBYI^<UjY;-^+(ozh!tCjL}DaqbN z%884)%UpF@W}M888vUK`k6^4?h8i2#DV7^1u>yCrN#Z|Y4JQZ5G}YS_h`R2|#H^{m zUsSeDv)a;lXM6z-G5PN&FR+l3ZhnN9gx!kPh><QmJfs&Ggwnn{eY)>Dl)$VWYXC&v zyeb?8+V6IIVUTqo{*qo@rFUd-N(jQ%9~tT$^yVKKLic#TilDoyw*F5e$r3J&>++m4 zFOJJKwC-e~9~p`YO;+=_6W#6B7CvQIH&U=qT_{CF)4$iOYLoS0rf+N5nqdqU{&mN& z4?L_p1g+R=_P*Z~D>izog{a><rwQD~?1S*9P&^U-y@ICj{ro9Z@|~=v2kW~KIc#Em zRKD#5K{y;a#1t8O+GC{g&n$o~Au>_-1GN9N=B{ZMK)o0wfbI-dv)FPQ!ay8Z7;*WY zzOwp%Q+;tf<I8qxeil9UhOlX8|1ttDR~$W;4|<v&(*gU^jeY%X-~1Z|Ukom;{e;+z z*P=Z8R<5d-cqhOy25ceh;^hk-AFXEI8xk{Pzvb&imEw$Hr(VoLXmFCpHU=ZY%TePQ zM^l%75B#2YTf8Nd-M;W$6I0i33-fkE=#L<#>7V=D`TQ?4$6?^-$>W9iZ`vqBpU@`! zfj^x;xw8Q}vIxHUtY6N@d{gEu@A6`JNzO2c-+TNp8vB$0k*l4|k;$BFiGLwk)t<2! zlYV!b?am0yG6{R71*Gk@y)3L*boXx}Y64^oZ9^d8rb9Li-^DUdSGHH(w5m~jv5v4f zs)8-gSJi#)Sm75=f!)r=wp^WH{Y?NT36nbKF{*|K%J$}#;fK?#mk9R!yFFJHM>~Wj zlF7ASe>|ZQH}#uQUv<H(qpq->kh(&w42Ke<>@OGb<0mke+YvgIh6iyiG2QddF`sj5 z+Y76&+c^pGv-6^sB~!WXm~1&k;+J5CAKk`JVhreks7xJ(>FNFYpG7t}dSqvvmQ_&% z){ERe3Cpc{GPx(1G|$_@XBz2>TRj;3y`hZOsK>@8BHXe9DZi&`eE-RUoIBd*x=PFa z^#<$@H3~t@meWrKU`v9k;8g3p_7PUB<T<kzx)peB_T!36&?^G)W7oTkN)Gw(oNpZT z80aBdx=rEFS?tb_<zDoY0u0=3r5zg&k}qc+^nWGUuk;aBHnD~Aun!XetjUK74$25- zzHF{r63tEpiNln82%c^tM>CPb!;lqnq674tsmeq)-5i1po>l$*#U`Z_raVmF;udAu zJ5l=d_GUfC?OmOfq8^Wq4J+V?a!RCx-{P|BIf103=!4ZyZB&lTz;9{lIc;5}Q65N_ zyyGXNQ1BSp8|JVlZZWPL`-O!bUO=DAG&U>L63#WfR!75)kKfBue>x;Vw2}>aeW(JZ z7nqh8tZxO7B7hN%exLeW*ImH71$+B!D<3i@p*ig;vPz)Nm!E(&;Tog)AA(ZbnZWS~ zGsVS&tjzYC9#p9id?*zo{X!_zw00cunO2bP&O1QtSGi1oetSWd)B`=Uw<n!Gv8rNB z@eoc1TL4#t3Z<*3T1;$BKARU8vUSW=YsVm7x5Nr5avyt8cxd0P<KfO(wCI=Nj8`*^ zvzBW9E`R1VohQlm$`Pz-+lwQ>qc|nSF3`H+$^KkZDpVEXFm}R<j*kB_7qr)A${9O( zXjGr>!zqsFK1^HA5{4BS9Ii{1r=++Rwj6DHWm1HSs0wfw%jl7hT31qxHE`G{p?s%y z2Cxq<lGVnz_b41;k_@vTucj#kqBOOQJFvyDL=6x<BYc(kxhu$iy3oK$V&5-miT7uL z3Y2eOM4xZ2X~useT?)95hUNjeuAh&r`q`Al+d?6jK}EcO0_C3(-sETx0}>bpf(;v6 z$0J}xTCp+Kle*vYldiPKxooGMI5zI|O*w|awpuwSqa%7b(U7)T|4^#*f_=>v7`KKN zzdf6Qf+9o+-hMG$*4;t=OwuJq|DQPRUyVMYvq_jge%LeU+L`{*d?XlFOY(v<)?SW) z!C>$z5@H9qcG5vG!618dbE8WZ`z<!;mH8#dGus%CAm8i~ddLIScP62xC1LJEwmKa$ zf-Y-DiY%tMm6QilSO>g0_F@Sok2G}$ynO3-VI(r@0*UWa##yEoCtieJqHsLDcgIcO zzJbFlKqiqFAx59+*P6J7LFl$3el)~wj*+F2l^v)n?W8n^4T6t!qr*h!%@soX^-I0t z+heRydON0Dv}-PMtapCaxd-k1&s3u;DrCQAtW`qdz%VX&wXCTQI+qda*KyhW36R$4 zp__@Fqj-jbR9`FnpxGC|?Y_+Kc6A#sx1L`CRZ$+V+FO?PnWuSrrf<KZZ*!s?Fye|w zRuLo;44~u<ryZ1Q#2?E)TIFk%nO2N0x@oX+K)S7kflSS!LX}=$z$ddaiYrNEQXmIc zY0_v5Zqz<Qz}l9+*4Bq3E3eM6?{<(Spq^D#cR5dI2^0PA&ugMqEg$wJU-jSo%D6=m zGv7zi0(fxW9;^&Jaiet=Y0Rv1$(>lfLDa05JYKxod~2`kPt+*70W;r08<fdL_*wW^ z+p8-G40DkJAz*$vNuF|$Q?>Epvg@Vz<V5~+{%tb^me1PZ>9GjYv9|;zbWxel^9IHS z?8HzPX%HIEw1qrR?kca?Vr`#=rBNE&Tu71%_2Hezmo9#mesJ|!^#=o|VCXRsAZn&6 zfLm<+W_z`KZW*vA(|Ym&-A#V--EGyLFi^*?)>}FCZR577c!G;!=pesvl2qMIuF8eQ zGJ%7QffTK72HAnpoI!W$x;n$=*4%GAjSb+dbyleAcB)sTWh?*Uzj{V)HW!2n<Z9s` z!9d)OU*#kX>LoNJv5bUuQE>b}U}9a9Bm(v#T~YR{)sYj_t7-9!qW1rq>->L%bII+C zKp<2?Tq{yNNl+c(lXCUe$*PoMvMcGxrA=ghvQXBU|F7oYcKGZzCRt5%0rWy9G90Dh zE6Pj|s2tuz_!D6<Es~USWZ%&{FJ)%Vi^52ZFG<3Rlpc3W4JtQVBD!R&x9peo&-v4~ z4rPZ|2cw;OYdf;q#P)-4rEybDT+3i|Iqy=$TiNl+ki;<(SJSo{{jKzzZQ)<VU?`l^ zCwVK63LPDr$kb#HjHjf>Zx1E#?*nNyI4?yXDVlx!7Jo$GXBbd3+r7u>OR0t>R8x5M zTMG-(91N?u^MY?yT3o}KfqB~?L(Y?a?`=Ow86@`UUDN6`EC&e!mhw1;(wqu`0(d}L zRLm848fHs&wIPKRcItHeR>kb7W8w_p=DROXns)hOaBt63t8`CkqUjh?WjF)-cE#bi z(xS2_6EKGvBdOGPjz5pl4h4gpVieZa@<Wla)FQrfaSD5Eq3O((@11MNfu3B94Z?3X zBE0}XgrZLb%z78&Qk2=w(8B)6TYeh~&MU^$6@*5sqNrJ#i0_bmI|DNQix4Y256lge z)!yVfUnv{@fw8yo$EPnT+t_$7qJsN)8c(3@1SFB&d;;zOS?hkYTuRl<)k&Rfdy|OU z_Cjc!6W$t`Gp-qtWBwWfVv!eMQW`))W}_Qx$-f0LvVNEeipo)pZh{@;#*%(<LkC<w z6$JlDh0IQHi`-Poe}nkh=vY4x5Mm3>(fq=yr$2^DOX|EM-!yj6&1CxnU&?L&gC{$w z?0JfZMBhJl^<cuv$Z!7blE|#ntHIqc)&ne!B>g$FNYg*=IA}=3i%)o3`{PiZi`RSr zzV`PS2dKuf9!L!9_3#qwFv8uae^o!5ctM(;%(Lkd*1Y3FElk}1^c#_d{tYm_|KS=U z_t!N<;(~Ai>me8)`Ze({|7X1MzghY}{11NP|IUB-AMnQiD|Eiu4uUQaA$6^0lD6|M zC3e*RIuZIt)yUQu(V(QDy8Mf$*Mpy&r`Zx<n39@>0WpMcg9BD2`n2Y$pj6&RLb39Z z!PGB!ApL)K<kw!4>p_{225t#m)wV#6T?wXPIN~jP-2Fri*G?YVKt$W)Q_taJ@8DfX zUo-av+wo)BmQ%nPXc3MKfuMZ4hh#+Rz?Kxmnm{>fDsrp6V4OkOOG!rSB3ij>ffNZ2 zMw55sPLsSHdk33N*Zb@3mLt8csF<|@`7P~-IYLkM99vE{HtdVT7iAXDJ^g=yH3SX_ z&7><V%`kX_=8Gq|+6)j~&ICw%>kA~~VR^%mT}-AmAo{22C>Z5!NR|cQEzyP3@*l_4 zy3$tsSc(+z&hLiBRj0S@cWw?dPuE)833fWBZ3=TCFn+`GnmQ(b`lL(*LqiEWGg;pz zO<)e>-nc>xObPD5c1)bA&Q|pv;KKEy0p{+Op^PYy6JyPqf=-BiB#C_Yjlzh8I{4-? z(JMbj=_r%QQRRfECS|pdk06WX^(^vs<m$5Cgso|kmd@0D`Divt&OXGBTNM9O@wkSE z#UdkMFsm|M#gVfk(|{Uf`ou{HcC`~v$-^|MP8a4w3x%yuqY^ag7TCv4%5+&g4HI8h z0_ZgNlL@h#P4`@11*IY*x{wj70fTZgmZ~KHI1_v*wg{%b9+2t^M952(uO>L9PH(OP z)kZ^;{j>r^Gx7qHN8h7AhN(U5T%ihK(;P&VF&t<OrH@tF>{E5Wocu-*;=0PjgNG;d zztzk9o&DyC&;Ffp9gJnT|7W<+<*V|kshN*vpMtsL?>_}DYH*p0d*)vtTT@^hO??2# zWsa9RRf83y{LuyR-MLv}4mxW`l7aj1!u8<nbhS(87re$d8Txc*sA%8lw*rAJ`ZpZE z!NPqv<he_{Uo#kvGAGR;jn?#U8raD+<`s_4dTzDxx0}rrbAoXmWqhq9vQz+P@l{!W zjR^qo+4Faub7wyiTJgWmgHaU9AQxfHZbAvpR!fAUW_>~W;cw`u2V<lQ-P7-slKMZF z<U_bnUSeO6xu47z?=P#=6keQKf-Ejp#~eD<Y=!M#nSs{o>G*>+Wi4tRl}WLPHb9}k z*yBrwv?ytwwM{n#Xni1cySxowPf;SoXK$`AtO_)W0mJFyyw78(CBK!H%B<r$sXeWH zK!7)YTQbYkGhH2OyO|FD!MXEGTVnFk-59V$9+8>7mOwy9JLOr?Hu;a(xYRdSAfL4` zhC5sdeEG-Z0c(c*PGSX^sJfugXZ7(rVc_h`dbNux6qEY0_CsJ0yB#a+{^>`+=VhMb z7Ha!t?&B8d6-T{5h8<)T^*u))Y_N}jiflpV;;o`%^1uzc7I~K!+PBI~vSQAi>J)*w z{)kX|{2E1h5ukJm$a)7j;pHzE#)Oz%v#R^5m3@7TEc-4E64dZHGvu7Hho{o?^f6F$ zew)P40}Y#RSYebCD4P$du$)IIq(ljN^1D3mdu}bm&mm%OlSCS_%w)1)EQ6>3`)DTZ z@IU=GwVv6N<Hs~TsFz%xd?5yb=E)zwpUBeSou;O3)Xu(S!|PiJ!<kk5!U`%Wm4Qmj z!hqJd`+w^o{;v%BAMKabe|yqNy)1<q{o_;jAIJV(>614Ql0e6Bd$9Q1p(Lj!TPtlA G@;?AH>}?PL literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/new_issue_from_issue_board.png b/doc/user/project/issues/img/new_issue_from_issue_board.png new file mode 100755 index 0000000000000000000000000000000000000000..9c2b3ff50fa7b03c2e4907e2e7cb5904f4848bc9 GIT binary patch literal 137175 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/new_issue_from_open_issue.png b/doc/user/project/issues/img/new_issue_from_open_issue.png new file mode 100755 index 0000000000000000000000000000000000000000..2aed5372830a7054c8bf15c7bf2fd63de5f6a175 GIT binary patch literal 20628 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 literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/new_issue_from_projects_dashboard.png b/doc/user/project/issues/img/new_issue_from_projects_dashboard.png new file mode 100755 index 0000000000000000000000000000000000000000..cddf36b74574f49c06d227d957260e29fd7a9d83 GIT binary patch literal 29865 zcma&Nby!?I@ISf~hf*Ahd(l#4aWC%fR&0R+i@UdIaVWaDJH_3K%i``7Slrz&@9%r> z^IUuGbMsG5=46u0Co`F3a!$C4k~9VyF&Y2>z>t-ZPy+xEAppQTTom{>iq>zAZ*PTX z6$K5+*VosFhllIy>z$pQ+lOa5I=a2R{nrGd<Kxqp=a;*?yZhHyW^mo<>FMk1J-gqS zgM)*!v-9EM;nl;_mIS+>kI&`h#q~-(6^q&9!)20-%j?71kqzg+yO-Ce{iDa1-gGxg z*6+1TH;*?vE@eyhE@^X>4y@Ld3ujO3=l7R+z`dJ?!Xa4EcaF#Nm93$i%Y{F$FBesF z7f*Lb5Brm6caKlki=(>_PY<_c&YXjr*XQf~%gZZs)qYcj->?6Tt=_y07rL3VFi#ym zv3mA87S0B;e;ybZ?C$<ct5db!l}f{?<iN^o$imb%cl2~N;~G2C*48G=K%Z~HJ~uaa zJl|Y6e$vp`P%(M>xHr(cc6T~ew0m~*%gN#F@_yyuoYS#tYU`qZ`2_4%KQ=y|_&ZUb znW1@fdAztavv22H)}(8~pZwh1yNeSehq}$pO$v68hs~CZ^mIp;2#-IDTXTas4HFd= z73(b#w`aRGX|B00PAy?v`GE~|+Jz8}FK^RvF*6JsuNkjTPVC(F%ot86={03xnp@wy z+gnPgn5-{K?}&G*h_tVT!Um={hTF@^J7%3?yGXcxWp}N5Wi(f2L|I#X|J}Oc=$=Ku zmyzse@}q9`ba&Z0e=)bVtFxxy`fS6>uPyXPScSXmY+rp$baZB6b#i(^fLs0HU@A<7 zb9JKK!M(U=aJnlm)VFX%JZ>mEwF79K>=K!6@gtGfx1p|c`0O`lyzLj>psCF02|1_w z#rm%O_1V7_zZo^+BGRi4rx!O?X2wR^KP!LN(=&?qX$Us^EE(Fd&{N`9Ic1#C7ZIP4 z8R=A1*f*M?6Quf?%Q9rofd8Pc_r6@tFr=)$eE3&X%fmphgsiMa(#%-RRBN=BdEl6^ zuy9E8#$B_;{NQk3MzfElYE4|zNqVHJna61$=X$!Lxn0CF<g=L~la)hyS*Rup3yYw4 z7T|+yx)Xaw!moX2{oh<{=e5O-8jK)qmBVls6<joCM0n{hW+Y$SNT_6@byuhW07pw% z2{8?irK7oSR0Jvjf|!L^69V_EihYk&J=4#7Am^t)MV6$8sq@pIh1s+%mG!zqYtEws z!||LsfvO@XKxpaxMBe`++v0%>JBPq|)e&V&|9@upway(mQFy9=T}=jgHnvY66@?K^ z$3pO!8zv`;bI3iU<MvAGze5x2X4SS-f%%zHds7QEmdiH8RfWafWer-}Y7rWblBH8j z9@lu!+1U)CC_l1Qo+%AfeeAhw=WKCEUb}u>3RFTyPda?<VHbxkZdEwpy*@HL^0YYN z_p#t48Csl6s#TUa8CsZli!ODX%xI`ftps&k3g$j&s8jl9PwC9x11kV$;Qb5z#qTGI zH<l-T9nuvW{8y}}vYvOKz}>REU2uya-7983MDeHdN9!ObJ^vMOXnT+3JO5~U{6K!y zgK2g6A!z9k29K27l1;!cDWAd8Ne(GL+P(gZ?SxusP`y+p!IE@Ibl<az(p|0SDw*&0 z%`)dKQmJ1$Nux1I@eQV^Dd?^F9%iO<4Rzhi+1*)z?DR89XBF(22r5U4Cn6r{&@Rtn z)SGDfr4O#(unVUf=DyFBfo3+$f3%J@i!LusOum=x{WcziRJN^enMoxT3CM5n7Zhms zJJ|EmF_)P{{*ksjPcA0ZDm=lrI$$&ZPi{2QrPg{+)!*|j=kmbprsjr5uE4A_;FpI1 zb|}q0ap+Rm&#J)ouhR27pwJ%+Yc02H-V}NVJ9GLzMcS%p>i4rBj|X?9@i34zsP{n7 zfS}ZFPyCoQCtkEXk3FOPr{UNyruCm;m#4jK<3*SEL_)8`o*}xU4};VZqI7y}IS)<L z{5S#EdjwB3G<yaq?Z~jAhhxeVpRZ+xre1GYh{t$|h%VnB7c$!$K1;RZ_MfQF&OdKF zZQ4<IWNOa3?{B>xM7Q{k`ngCyU$?h*2VgNUQZ;>497V`>rB1N0v=;XC`H@i|JN+<i z%NTN8y+u(|TXipgyuik$YT&;Z%KphzQ#|X1?fgjya9OmlXdPgSz<?F=tn|JYoGZ3T zi;RS{vYxOElfG=qP=<bR_gS}b_7};B6fU8h)k6P4RxT2-3}nt-|0=?cmTov!^D!t3 zL_<=wPlqFRixo@1d@W^pQ&3B!@W%$BPC}??;h@gwl_<%B;a$aIu{#^(1zrEePm(;o zK5n9M+B_)rf9S||b`RmBM0K6dhtMy?V@iZhh^oArBNOH=4D|bP;Fy{(Z*v%&PaZ4N zPfWY`&5!mghjjOfE}_hY!5k-V8~^HwmXX8%nN2opb0c@B-Pa>Sz!K6U)(&Tk1#@Gp zK(+HA-WuCV2LJAE+8#8z?(f_ZE*-B|?KKSCU(_@&OT89dOIw}~HNS}}<nyaqJ}&4b zMVY}zU@GKHEa^CIXu7>?96*xN#Z9}3WAXOmqg*=gTCDecU~#Yh#P)Ypuz#+@?Rr^X z{X9^e1t;C-2ann4U7#ufZY!K4!@K1fS=RQIhlqALLa(tTe$_B3yn@5lHDcV|Z12Qt z)jQ-izxO`2)0$UX220+9grG8=K<zJa6Dy>qkCHT{zIF-KRC}XvD!CQt;XjLXYKukq z4un4bjPAYow7isYx)7Ng)N%T`=>gATJ!!D>d*)y0iDQdOO7$*Jo@D19mJ{a<W+B;t z%?Zy<LL77Md1UZ_g~lM-={f=EqXM}MNjLFiI{Ml^04#YurZ|5DM^R-MacJm=K45fJ z%w6e3wnQq!0|_C&hIi;Fefa@?u@LF9J8<4;R&7sMSrKO@n=iRt_wjoKH<|A`3EVbe zt1WJvolzeYM)eYy-eIrgD#OrRCRl)mSD`q54&YdhY<x-9rRu<>Kes!7EJ!1*a87*S z8t0Mr=*n;7u{@on$CSKqTH&gH>H7|+q_`1GK=(<9!52ec@n#8ezzsjJBi-Y1toPR` zEl1D!zD;DHTM;2Ux@!L}CTr&sOn1SD&#jKa!<8azT**!KX4!<_n>qYaZ?^JPYCPGj zwM(dyfvlF-Ubvds-zHJ88IrIR{CAI!mt2U7U&5WUqwgx}**vI<=Zgiyt#D=)Y~rKu zNSoCALX=+VKcKqUi0V7w-t5m-qJa6atxsueqrcYj3LFu`iT=|uA*Nl@WMJJ|(<*{P zyI1teN=a#!e@9-2<GiN}PzO-j%GVcb28U8xaB_k=cjB1Cx?wf;&+kJc6$i1m-_lnK z#TOoirE`q-Y$8{L$S}`Z_s`;9-{j###hUo`Zrt46Tb)dKs1z*g3zV2zSDxN=$c!%* z{!6{q5YDv<z($K6s$+d$uL^c-0|*Qm4tI(s&wr7diDq4e$B#0J$Ih&1Z4NdGQ*HNK z`#{Fh;S)2ct#EmHFP1*DdwEYSt2?r;$2HDI1A<S3+`{wHhf0L*firQTA$}ZA<}@Ud zv+8iB26_`2E?=}L6tKhG=AuEm>rb&!hqLO+M^2aMZsbZ=R@Me|g`zEsz^me9BOga< zHJqxVZP@N0RC-q4*z3H&J4UGKC-~F%QOM(+Eq1311;5K#c8r2Nh1A2-`8dDe4+<^& zgcH!DlKmjaeTqGC0~xQT>B<CocOH{%?zR=Og?w&0{Q#B_q#h{B*tvx96|kj^yVIN2 zuO1m#ePB0EanjF4w<4TbWqFfZ7&&vM$%rQ-Sa{_abV{{^%`mHcEaUW}I>D=h*h7F# zE9?UkqPx;|m8N<hbmS?A=L9B!+nKV5wF(t)TbxjywdxCJ`9jIEV!KOLfmw(mAz&j- zGxq0`s&6X9e$(ECC%GS=7WALA4(kVB9Kt<O^h5}3hzZ|$eCTyhgeUxL?}0lHTnk0} zjgTfK8FVj1*Y{N(|7xqMF9ZHXfl!Fs#~GO0s#`Zr;>9J<qA65&&1M|!#<Ukx@;S|U z+T}wJyig2_8$5MpDr9$BX%%Yr%-s>tYLaKMx@1GVJ&mai6v0rHfwDX(Z{$ii0*&}{ z=gC0Fbso#_Gxq8?X#1#jnN>=S^+Oxrx>Vm6?b<xIU^+)jwOq6dip7bXRMZ!Woq0M3 zRkeqGU~hU87pb3tG-`liMPUrHIz>2z8tb?mzaq*ja13wu(%x3%5zKS=-(nh@0=EyE zK9lC@QPq4tvAiY}X<l?rct904x+N7X1snU6Js=u{^Pnx~ydx*no+99-Z%;*E8Qqnw zPTd6Z)AUAfe!U{C`y*x%SATg83to&|Gjeh!F>9(ISUQF-tWh&ZFT_t$EhMKHQS@zz z+vcAG1?b)2|EU1S9N-8)0KbD-C8U3Iu3s+|Iz<J~{8GC#+Q2fx`I(T<zxd6p0jOFe zppCpYmdKz=8pU;sEJ3r1sIOcNs+$`{v|cg7&VbtHKO7f4m_%Zb-!y@|(bczFFITlk zC))UaXXSW0Gx{@!H=AbefI%}<in-!1docRQXLH)oe<^_FA0kbu_?)uZ{-Xc07-#{N zhXw5NI3=(Dj6+bZ>JPzV;pDUZn!>lXIR9;xPGHRSg!^QgzTP5$7NR9#t=VJzw3*`4 zhZ2hPrgr$q-|xLcj*-V1%+@|~mlu2_>FuXAv+e&-QS`C>Hvg<kGU+VBZB29p0E{Xp z<wv^2tHay?W^&>H#_`N-@{a$tFDL@TW?`UXKfNKS9L~IB(YY&AR+e4){d=<2db!;r zEY=6AlpR@k*=TY~Z|hI{*AY0V=jr{Z?T(qd+z4YpGiK`*5;u14L)`1>7e178?zk^v z5ufYUe296<*n=+!-QO|q=)yp!px>;O?t?m$%Fm_E&5H}lQVeu{ktZ-beqd%np9_16 zmyaESjif;IqfVQ475P`yxiOpD{2<7{H95Ws-GBDcrbFtYUwHh<g|iEr*&%(dD|5Ut z;6}ypCn8F9{cnMgCB)2`p(QbrUcQ2;FgS~9GP)ecDdt~YZh;MU+n_=kQWeNW{(N$v zh%==ekhC;eUJdUw>N<iu&OW@q2H{?<)>YXvURl!N=OD(j21Z$)ZP;Xv$JhIBKeF9` zp<929O5n_5xChrsObOnmWeh5C!0C2ZHuEe}(W>(o`4xpAUT?^@p#=AVWXpc0cpi!B z3DxHZv^xvefLB|(L+imzLHS88R%lyxeD|4z)Hi3W`zb<*i5+(e`l-m(^fSQ!=SIJf z3i6?i$DN4y&p#xldC5U{EjGdrBm%eNOA@3=4sE_@AAW2P#&$1$7-Rj4wn~=nf{xUu zDA!H>LX;u#^fSYNS__Z<9I@$I@y@Lc-AK@xio3fO^X8K8q{(=ri5}G_RFsulo6FPx z_3|*GJ!4YtQfuqCcRN=SJ>+s&iKi2pR7n4L#Ncfv{kzQTQY+IbG+ZBb{}~TVu}qd^ zw(COm!L=;Pjeeec+J}P9PTW?UtKr?jp#1|$!#$Vr@|bShxpky5ZhFf=?#n8JjFYY` zYfe$ArT4Kh-0<6P$DeyEPEq0iAH}Siwe>%!PnLD}8rGbDCi)2gi?#@W#s8n&|KD9r zrw%+mGuRyu=ppSQRU~%^+h?(6ZT7Eb=udKZ@<#JL`?36a^u<%`IbMd#m<I8?tauY* zd#`&P?i}fzGZBZ_4^R0CmM2e7E4!OEBTMdYc#V<}TxydWK5^&)dvA7%HQl}Sj8OiE zwH0rgJH`yd`%6TRmB$s8o>5y=fm?+4R*E2>6~+Yk5^5^uTE-od=Kho72%>C*D~8v# ziP|ThB8}-hI3)k!$3~yJHVU7v6AA_c+@j*bm5RiVZzV0z&$GGpil$+7aAt;9ikJ;j zSV07MGYMi<<Scx5_;3E4XK@0h41b>>==SIS=uz9f^8<UEwGxtJEf(1pcn;ZHu41A{ z%-^_VDNs%Maz*_Bbv8#QMUpTqm}0>-C;F17?5yNKh&K43fN#2Ye)(jI=2r<zC~E>o z;~Kih=VnE(8|%`w2aZk?%+<Ct(qwcj2iUo3Rw?r8$RR1fp5otbnq#f5K(p`gQPR;; z9<JCx5Xx7CFi7y;M!J-(lT-Yv0!Jnl#WZ~ZQjb%z04Mx4#@}YnvJu5n=DWKoLKnh0 zoax)^@A6eQ3k{mzlN!<orh{FUL#99!Unk0*O)xr~qpSK^^BwX|juwt!XspTu)-{`f z2_=69Klk#u9-T)$PVp;MLq3;&v!(~R)iN;f#%cStKYrk(L>Y)_(hZBfWy;>b)Ij2g z*Yv2mvGteIl$}$)7M@*upDOVF%UaM?G=@>C!BKLVLq~Uw-Phpbg@$HSgLoYv9YWR| ziVRni%C|%it$|amHaO6+Vbf>%hK#sYr@{Kb0Er<Has>KtHQWs*xc-TI{~_3~3G;`; z)0^xlRM=Hm`P*aPzKjn=Q5W$k#Q!8->rnd{sHTq9k3Xu=(M5gF1s~$F0aBx04{aVo zY)Z(ir$WezB>ra79i!cy_61=zm!dOsWVPQ!!n%Tea<L7$CxAKsb!=coe4r^+yKw@M ztjW`bx+-$jkOYD1T`%;j3&K4}k?G_JV>SK056XG4hPL_jBcr+2AXM_36u2-hGe$iW z93m&sAnS^f{>oPWDK67&OHbqD77Wat44n&*rRFsLc1sMW%@#M(9|f_VXrB&X=Ru}t z@->hivPOxc1QSr3J$;^_C}vEU{^-s*s}09GcY*ceRB(zt1BBZExYEL&3ia~gwm}Ai zQzuAUu;kKc$NsfTK@TIIDJ?cF(fgq+SK&`=e+<L=_^&LsL1Td){m`~qsb;jE)$$(P z#7_+775_VcgCE^%UrIIXvyH?yK=Z&3=K7kd-xyRH3Kvx2L>Gs7B&Va(tEBX)imW+& zEnn#uju>r4dHqOtmD(L}EIk?Z;N{9L>oFt3YYAMFtjd*0u+r5&sny<hK`p0AL$^Vh z`eH95t><@p5(H~$Iu2?7yRJk!@`#6TmuD`q`Pn1+ic)koWBm|z#thJ0f;W`z<pcO* z=sSdHrhx1rg*$&7s=nd-{p<`2o9An*v-Z>f*Dj%OwzWB9WzwI^diM2XZ|!KZH>&<q zC;vOaE@7-Tl9-rJVAXmSR7)zfUg%$0)ign}mvgJS5Rt#H&FA{2MV=AW?qU_M;LYl4 zS^{z9-g-)jz$V?h)APA%L}|6n&<=ldR1#0Dpah8(mZw{f=~f3Ix;@%il}}buZ=bT; zK?)K85MUDPKkr<91;BQIfdZ&`;IEp9vIpKmQDCG!M^4e0x46^F`-v@30QrBfQmfSm zfB*m+R*-Os|9HJ4d>G*Wr4~`PC9){=EiCzeO97Vi(XM1jCJX_@)KsFT=UuP<2ZzgL z4Mg!QyOB437K?A=`9G%(>VnG5V-M>^?ay#sc~Zv}6+$B)vCV!rYumI(12(8?DeRp* zX0$z#0GP$8uD$wOorHjua?se_H#y4yNMa^uN6O+VBHW3344KG6=p@kwE3@U3ISdT| zW^>92cYJjL%riG{1!W|S0koOz1{hmWEngN|&G2|k86vl82nj@fs;3Mf^tkQcARPEa z$8z2Q)Rp)wClPPRoqid7Q=&werUP;89aFpKoxGNr3m;ujWnP&B?1q~4wT*g(%%-Co zkN|a>#KiN0Ubm5v_XqO&J#c^}zKoTx=D(()LR9fvE6Mhb`tX3I#jN?nE7|F5PieC` z-rwVqDDOl$Ta&k1u5OE|BFZk!G`RN9gD*t^R@)QJvvz2u3543NLt<Qpa!X{Sfb8Js z=JJ93()~}BrT+Qn2m9XvqBbBk{S#HqtqsGd_hOpj9Vz>ECvW6Q(DG633oa86mt3jy z=>jjjsJ`3s%J>78v?IO^KQH$fVB+`ZN)8EM6n95_alNS{JL_HhQouLoP+#4V{D_h{ zha}RMqMLGuaZL=sLRy=Qu5mo;ln#ZUu6ngdS1mE%4}0tJwfKxAP!U6bqX}iP5LpQx zu8YgcdZ9Z3nbS|LY=u7}uLKTo+%~-XMiKB+t5~V#DQV*ebS1ep{8`Im9X>OrGL!9D zEflQ51S~IQ9a+gvND{p;)7r4#e&U;SKnhUI;BSnlaAugg(quAG(AIVl+<Fgy@RP0{ zERV0-hxp+u-klqcUZI5s0{)a-R?fhTPbusrC&qt#hMxM5isuOQHw1Pbt+GewvElWf z6UI_U2B8y5luWBikg!XFt6hJqJ5+4GTY*<qnJVY)525{)5xJNV*ROE-n#ic;S0gMU z5};y69Gb%*1?fEY;f|4HKjQjH48W2pw_RPq2lF;w8x*i}OHOJkaSyx$+(~h3VM6}p z5?RVcE!hECAMylap#Urfh`TtuHRz2N4jWQosv!cDvt{&`Fjo@$b2oCQ*{=aJkN`R+ zC-27lR`-~>z8Bec>^H6;z6-!N4^g`AGvpkztc`-@eo4)N2QZH=CzN_)?9QoM3+6VL z0qvCmU1*meZ*OAq&8PE?C#p0a<UWWU0OjwhYyR!C{Ek7V7O|NlPdczQ8bFEXE?vB4 z*HYx*rWGQb2wi<Ns-?jL{B?9cWcDSt-8mvnKP-|mE0)7{JA@bIm8GpTT<1%4wy9l| za_*d__DMhkd_AKtW95mt4djOC>vOyB+5j&<YXeYZ`s6Z6*B?wdmelgV6c(2%c0&FD z0E*go9WU<=%`t9B)uip?dnOD33Jcf8*Th)|%-tJRYlTTcTe;6w3QT|i`yEW}>(*0n zqO<Qfte@<=TY=yLQUHKjx#ghdpz@7c2JE*k_AK%p8dIbMAZ*yt{q`d%bO2Wkz^a=u zxSVZ~0ydtIE!}54+unp=OnYo6*j#uI7?E|twy$Cb&f9`pj0GxsX)I;n0q=DCO72Mg zZj&9rkWCl7Dj+Bk2@r%sbgs7JJsth56h2`E=$fjrWlb*=*;R`$?*9h@pbTyQD{7EV zjpNLN1BjK}J80ETj#9tLV^cr2Bk!bj059smoG?PT9b$zPaQ1s>dzu3c1E3=XQoH{> z!<GXFkPrW7AWRjLYJ(K8Q;w7H@;Z^O!Uf-zOKmpgPtO?x2lvf0jy(?N3x3=v;7ojq zR*CwWJ>`qYB^(n#Clk7P%|9}os75VUF(s&9l@Qj<2e>mSV~`)^@6dtJMl`+tcTx90 z=`6Wj06mp4a*Ow+@hNo6?vujJ$46qL#}3P(w0ZtP0>XxnBl+J2M~_J;sC0BgZa-^+ z46+&Il2&xSHai^Ni;Qmx4)FFAcW>M_vz?~%Igf3@1eC}5E<65@4*oCsnSX@j!1Oxh zFA=VkqBDIYI6vE$6B_Ag(kzMGzIdUZ&xCr{hsoJ&*Ue716EwaW()<fyet~ipmc5L5 z3lSY!okQEq=9P-j(m9(w`~6N!xNeGFA*O49E7DyD70)8?v<l8(TU)^3rR}nwS_-Q{ z8NYAdwGcOmmSNsh@hup<t8a%~P1WNrlzcm5d7^mZuTfFtQ`|+NwIf!dRsf<J1FUoY zNNiR&=C}+nDxHz^Nh=l^uLLhA`9hfYX~?`sMg>aMD_0XYXPX8t85HURpZc2XxMM6b zrLKbLOOHQmopm5|XU&#Z%UxbFEWO_dQsSlHrpk3C)OEMfs_UxbdE{=T@r~VyRJwJc zbpFh51Zz)SUV%(4o{#^+>EoAySmX#QomtYY7Xv%f)X4os;Wh+XII5^B`q*G`rRMnP zR&%(OD~?*-Ja*A;Ck9LPo{puLO;s^219;8-XfU^Y4Ov&Eda7sjIt)$5xT!~J^%9Rl zyW?5zP1$gZP@V9xo5WvRCB8+}9eL!IlJfDf6i?jq1=&4Lpk>%Op1?|IRb<4l>NW=0 z{Dju(=5!N3DISPP7VXK|<z9C@B!FW+YSKZ+Io*<|QwEuXDP`$23+ps`4&b#bJhN?r zDr-KNMkey8N2s%afRmfT&WlG`GZ9mVoOZP%eZe@dm4c2o*vtag%!wpi7OH#&^M*2C zx)d<&oNYLp@;F}j4zeD~XQR0iw~(a?1W}*7)@Tx7jBy-qr#DdWsP{8{GJni;9HeK- zZytneV3S|B=)^n{e3V3D+7rqXS8tN1Rn<jONmzZu(!*VQl|5!q=Doq<4b^Cek61jI z^vS-mB;RWEB)^CKscLvpW-+yk)LlZMNKNl$oOZ`M=^SZi8mEIA#(@G((dT%0;f{yv ziM_hDuPy4}meEYh%r*6pk4F(s1AeXSD@eC6w@z%jmpd`o7Yi;Nep2<}RU(u4N8C}- zoy@I0Z>g*D%{Y#GB+bqK!m7O4Un0@Xc!lC7!_)#8qjxnaZNN8ZU(2!p4D&u9b9%ap zYfkXl)bx0|V_Xlz+SbTGmf;lDY8hO`{H3kRT(V5+_4$t!1t;h6cgs3$9FW;g$V=Rk zYFDfnh|r5VVVM;sGej+nn{4M4`^RqI&PY)X^ZA!;+~gt-gf7Z+|JFK1fOFe|uVx*@ zX~J!%M522}o1}e{lI+#C`)t<BR}^orkQPb<1&F8^|H`L0Zto^qI>KA}9{tJj?|NQ` zt^0O6jVx{I?$A3|>OWTwU)?^e6WG>1(I_j38$$LgjpX;MM0BQ>SJW{2z^BAkwWJGz z`B5w$I5wLYF~2@XUU_$hQYLG|Nyg;#jQrONo7Uf*CBbuVyN<d|nMEP{Ma^jiMGH)A zYj<;f-)VJS=?0P3s}MV9J2z$XkCjk2d3jDkH@gl^;avO)sd_&#uf_@PqW?N5V@amU z9aFv+B95Of3y6pLy`k3hXVI?Q2k6x_e!E1vJQ!kA3%N@3l}^}#O>$|aybE!?leWwJ zxCYXdZ>Etao|b8Hw5m3_=otMUSmx9-Wi`&(IWg%6qi)9K!`0tf<c>drWmXq%+THB- z!GHLmoM>deyt3N1Zj73O%c~Y)^ZW^KDbcE#`P6brkR9S#>%}cFX^cs|P2NK8L#LF> zRtN2l3m%8qpFOG$WY(yqQHE;6(LoC$sNSHUuKu^w-5SqXzi8ZhjMFA(S-HEoSgQZW zu(z#q;)EL6^9I+>h@58t!@hQArn2DuNmmhL9rU_0(p-11zN;=SxbFVr<uuw(%00W7 zQk|dK^a_zR(x6+nXV*8J3?%l(+Bkh$bv1Y2(J>9Wd2ysA?)i8%dT+n$;Dlk&={6-7 zXX0rta0VS2=h}AJwsy(wn-#?3b6(|ZDz$#k9MJrg6IF=16IwS4g-lBkOu>GSre@uc zUHegqMOVK2HSz||TqfIPWIg_u&#Ey+c8qiyt<;X5DeMJRNh-5~tqr}$Vz$epiH(V! zhQ0jZtjVpPB&xus?e!5y@%(%$A0V!fojg<h`vf7rI;c~$o_>ES9f7-e4c{P<z*M~# zt#*TiQngL3guj^eG;AVnakYGtY3$TeSTfDo6aOqq&Kd7bShey`{^x8;ZnKp4I|9oc zNwW`sG|O6lkMR>0ebJMFMI9psMubw}#7j+YX8MJ;hT3rkx?4If*111^PQVO4fsMdc zAS`?`XYN7VoMspe_d$NS%cT4qwU93y&f`%fO;{;;WdW?vyJsoDB8g){-*flPhp^{^ z9M8Bq&kv9NDrBj;#_Q=UYGofI?hKec^*rGaE1r7)U7Np_jH<})+n**M_IN9z%!>VO zP(9+{#MD_Y89b)!`IwhE_!;V&G#t4!cDszYboAXPVw(`O*Ii<f#tvJ>OZZ$r+d76H z6g_%`q!eBC&WLx0&>HDZww5|>@UG4-Q+i*p7Aj<?yibr^{E?9;g~QWg&(hOEE<V8o z3nss?zFg5Y!sf-pafcCa{{+;QNP~Ovq~8Xi54s;PWy^CWy_H>)M>tNqDA<O)*Jwnb zjQK<xS%muCI%F^C8lKTW_$O_n_d+qc&TBR|0Ba<`Am<PdH#F~|@YkCS13bG(^oKoy zf$)HB)YG^u7$aRQ2oT^iaR4{<9uR9e*DjU@2e=p|%_jm-jt{EUDqgDm_xPpGpInCX zC7T-{DqMW|Kh0hQ<8HD3$3?h}POqh%f6wW?OOB_Bk91Zwu)j&(7?LqrpRtNTyHrS< zEQ5eyC06G_l=?2|i<3qT2C29+FqB$~QMGpzP9l%J+Zs5RUy|(;nPU+bji$(@o<FU? z9i=|4;D05(?mo8aO<+JWgL)ft327rdxgT@C>G1QuJHa82lETGSc#<vC#pRQL!u=~K zq9V<EmHjbtwqIA`Y$CJWc^GKZwJdV1OJYEjrIhgi3@R!^3JJO{guwN$yc7Gk+z^;u zGme3D_y~i4FO(5@`{bVN;*R*;gh7x3QH)7Iopmv9cpuzEY^2KA)yjp*YNDW_G4q*w zDTd)6ceQ+@jz+>0T9=iIW00%14U&W)W(KP2Wh6rd2zpJ|+%5He@F2k9$b=n>K$}B+ ztfeQV$@Q%NJZ1a9^A|R%1LC$N`}W9Lp>cvWyKM?JL9*gsGk}sa{YP3i?vb;;6|>S< z!oOHKE=ZLP3g{MS$K<E>AvtHxpAh(>+Al>M%Y@$DFI9%jAf^6ebg84^;Z^|9eBU!i zn}VZ^)+{OHvAdd8pzJU~&2hx@1R_#r^rGuQ(_~D!<#X@P6AzrZ%BppYEecEum)v$Y zKF|LHof<z1#roHDBZ=>lc#{iW!H+aWLc})C=m#ZrWPHIIn`GHoo7<f(JFuJ+q5_h1 z#u;dIPV?gIDgxT@2I)44-T=cfM)$omJg?744+3zMtl1ZyIb?E?@okgnlNP<L=T;@j z1<exyteHIRoPWfZj<gAtL4N%ku2uUf*I`?M3c{7mXLJwob)e|#Ak)`nw|)5h*!-Bi zN5142O(p~9@dQ<DmbPIL#j9rg`olu$V{7S#RXw7C`|)a*pW+W>=SBT0BEBi&#V_^4 zP!k;8^<uachdBaUZwF4mN;~4k`l5?1d9cDDow~x(G16ff;^Hhf>E7Elz^&gkfH#vd zq?%-5l3!&r=z7Sr&P<;3M{EAvUue5u2L_J3hvf*i9xtvw$mNnCl6-l3$i{Xf!xnz3 zCg<-kw_k2&-~NG7EW_U+=pp<^YcVb@1dkD)*!=7BG5#qBRC`^(1lM!;*jQT~x3EwO z*q2A7qfr2nz&;^$5L%h_?9+m~>XX}8TT7szf#YAkh<(Aw+Va#^Xv0t2z^nY|IpVSj z>j82%-;0xuV~F(+&!bwewsB(88gIm9Di?Vgckk9;J=-th$H?)Vnk~A69q%&r`}~H~ zrJ=Dry54ew`u2SK{qa8(_jVATk~64Y*R-l56Pkz@Ck52co;K-R{m&l0lKX?zyT5oQ zj9F}@>l;dWxMh6b-V}TOi+W!CHa*mopWm*J&$UdDweE(~=gbLK)2idimbPvFL^T#| z-9*$n>9F^*KSo#S;$v-{f1(8!irBWB;U9KACS|Oq>YrxLq^#=EJL6T?=tkK>_F)d; zY9r~qTwtDMHRFZ=S3Axd6AFz%&syI&Xi6!?(yv-h(!H6J<7Sa~cn$;I#n#TZkmkx= zYD-$_9*i~BW)n2#-FhE?2UuUJ%^+xy8&i!GT=mMFzdDPVY$^yzx~$IEXZ+Vpzh?aL z%il?8CC(b|hI;X_M@*Kb3|B-K)80R_b~-^!p&{=jUVo7;GYfuc)T$2-Mtg?pOq@9o z$I*keF$MGn)hl>PRK+Q6k|PGtdec5{N2|FWQ!{dufuS^5X)Bf2?Okvu!A2@~t=Ctw zWvZxnGtTOGU$#SYU<T}GZFDv5)5||J3aD3{;Xtl7OPBR&Uk2YIx$8_&K;Ppww+pz% zb2D=27uTx7>AB-1gMGSk7E_q2W0Ogd{VN(~M&~^GLDZrAw)rHp5{H`=zJ4Vu4Sy?` z>*9}S0jL6`*sD7BOVXq#QB%&{IDzXvTc3b(>vqZEW^4F+^7S6?RrU4I2g-lB8I-z1 z@q_VwA1K@?Vw#7Km16m{rp=#1IT|-%f5Lz1ynA8RvWv-q4D{vNCI@Vn81yU6>au<R z^g$FpgHkoGM|-@sTp~DjozWo9Ka%}1=Mid%R*AvWI;mT*aW)WOpmFhuiJr%E-Ur#i z1H0V5EK%<hz8>S6cV>~mQ!q#R%G2{RU{^LqolPx?W}-&PYjoGjhMsXP(2?jje)*nK zT&28%*ANuSf!o~dFO0F}c&A#-`U@|JR`y*j4YZ>qe98LErM3{ebN<IB^dl=m<~QPw z6avhw@j8=~@^PP*fM~DxnbZ(L?g4hgxpo5eZkK@lw&FY~jOzr;EC1g3vtF!^C&RiQ zO0K~@(0}=TQ1ANDaBOd9Qw>sfFrT5NW=g|`w4>c%x*H~V0V!5+JeQS*)F4Vwf!1i^ z`<w(h(1vcB&!>oh^(jHII-0qFh<?~EkbzvlhtoR#s)nwz`_tUt!9qyi94aC^o|MhO zJL*tP4I<0sX$+oF`Jia<03Ns&>QbBLrW@1tLNazJRSS<!$X$aF`UOsAiU`-q@+;}% z_szd%yg?}1w(FkJiF`j>@eCm2?+VD!#aNkSeJf8ubvDxDPhvYD9ByCBre>8ni17i& z)xB&?@b7c8)TULB(nblv+FF+WKnY!<&TN;ah8!f196o;6TR)0D=A0v_Xvt~>U%W77 z_+lJrovG8sxn(8q`0B?XbiYnr6Ns@3otg9yIXKLlNAHc0Clu~6?Pa{Ej7pUDtKSDj z6!UCROObJ@)`-?z7K_%K9n4sx?}_!n(@<FU!LRt72CdNjd8n@L_=s;=X9BlGgOndg z=lHKQ0-I>Y;x`~$ikzT$rhG<F@y$as_Re-@s7vzn1{RFyCC^Po1t~10joeJP>9(+4 zv*##gBXa0zy|<^J0<$@6_iy<Be*5TfJC<kDqjlQBc|qb&k?o9eb*W<WA}W>OFo#ra zRT8Uyi@;B$+>+Ut+Pn<j>+gmQwzuF$qRJF#5`sHpQ%5-@LDaV9=GKvQH0RAFtfmio z8rP?^j3Mw*72sdz|K=R35#u5JRmEti!(%p^Lx+`pRB)lXwn^SgmL}nvzv%A4<GzWG zhQi~$hYxJ_VjrQFqcql&ro`GSVUrUt(rb)|m<0oO;$A@k5VJlaO=-mrM1AdKzS%sZ zQSo$?%%P_rI!|bHG4`noi;?Q!hN6h7UY_rN4EAAg$#KM<ynp=4X3N7BexaT8E=#S& zV_78JD$Vo&Fl*j#!qn2%)&xXLaDB+?`dhi8AJj?$!AyGJ!j~MJIacjUCjWDBn=zFY zEVA_l+zWr!NdLi{4iw-ASsHbFMN`~gDUPM=`n>hop4_Yl%60Cs*qh|LuK_#*c`w_! z@!FHx>TNu_DqbrXxZ=am94-trLa?wRnt{02iqv&5h%^;v3t)(ErAus)4UueN%`~3_ zMh2qe4xJeOZqFE|UXaB4UjW^1q=iTasY+|3HuE7;V$jfOXax=*g!Wmg8?|6`6%+mr zZP6XgDu7h4RIQXpr)^GByM1l;{Cbki6WO#mX;s7`>FsYRi>EO*Hrv|Mno1XzfU^dL zXQkn~U}L+9d~-Zst3TCl1?1PH5#Cg%UaS#Wt~Wiq&y=o)FPFvGe&Z}qwDzO%?{9DV z(AfWP)y-k6as}zly-?r43{uUw1qALnwa`K!J@h|jb$)Buc`rOBuvfIylkwfO=)2t? ztghAHNJ_taBi{#+hTu=z+P${iIuYA)JYlcUx)*z$L{L;mZm^~vV)0BDMe^wN=Eh&5 zJ>^T`%=yfd5lrcWlOS+^>WlP$6QNm9q(ihWZt1gj@rG=oT`o<3e|wKap4FC;oV#iR zO5c^IoPqux^C7T`js{2Hs?!gTDSsRO6dUwOmCX7kYQOhVdLIT9_RUb?t?Ch?<hhi5 z_9LG$?Z~n}8qn*vR#@v>E}+K*`;1$*G^diMcf_(}A*wN!nJP^{4~mJ%`!HmsDom@& zuf(x4#vZKI-5(Z`sRtivAzw3~ywgyZ7bC%>W7O0Cl#cI$O~pm*%^0hXOo9V+PC=2H z0NQ~m!)I)>NzaS!HQ|*G#BT*EOyL@9eKHt+oQ$E>&-;5S?3;{8r$}?(u=zI7?*&kI z)KX1wC-*c<qr7S(NKE^>;(N^&oW2W-wt2_`V_7sJq~#KPcv}WgjIG~q|D_!@Dsvms z!JW&744IKv7jFw?q?_GYi|nRe?k|4ZD}qcf@f#oRl1t0x98LFStYz_?qQsJWSC1rZ zi1UnctRl_GT<%w5@kF>_br#m{==$ey@p=&}cV+JRrSl}uOjz=>yt(OIe&Q_fiT!># z`*-3>F2PGAFM<W=J*)xr{<P1J5sS70;dW5GO1TZl7QHaFVk$!bHUg76_CW9HbxUZ< zWVMQBR5_LA5!M}DSWP;==w6)(FH*@*cCxblxLM%b<3Q;zfEP0p^Pw@bK;Py;FhmAM z9}#*HmBhW;gV&u8DY@3O-%MGwoJN%0QDX3Bxd$PJ)FQ>a7m7ttDjgB~s!%tTDV%Nh zk8UxOf(!XC5BB#kto}&i0yo);9`&J&Ig*_Xo;4KsVd#vW3F@T)nc1ih?kuaWeVZ=# zuq~SP{k0G|F$)|*sd|b+j;w|>`(uNjvE}FsDn5B+gAxL6y|fcD-2rW}W2l3efdK9o zh?1ey_idAJ|CIHh#EKpUQRR4*oEmjxLCJN3frLNHt*_2cH<(oS0fz*$2R#GgQm*CO z;Jm`g{^S6dUbsl!Z26=C()^(-LDN{|s&@%%77w9AQ&mC1hf4B9Yv1gG0@$zFa(=H} zz>lm?){AY}!1>|5x8ucs=P}(4dutmm8z8ZwIs1P$ER{DY@o`6ETqXbee^ltT#4P94 zE1pK)q!o2o=$O_2sv4x~_okJ3_iqtxBs-?Cw}`gUh^Nudf95pt{ghVwSU4`&X5lD$ zs7!cuc**Y<^HJ2Qo6t<L#b{j|**@s){ZonK-On~d3`Mbb2*b<oZE5jJ4*25f8N+Y* zFm-C#vR#Ad7v$djYVX0~tMK^cBn0DMxUE4iYp$Ry5MF%S`_t@ffKDmDz;Knp9+1`a zTlDVVQ^;LI80ec-igk~GfLE{%Iol4Gml@CeK?DqK@_p|j)H2+LB#T?VacYb`PEh0c zxN}<HSVX&4x%Vc2%e-^+K)Cl_<lnAaOQ)mb#x3RT2d=qz%hn&aGU_+dm%_P3VVpus z9tJ7Hf8EE*prh?&?a%IBHrLHq>*V7}uKMa~1J|Z*l5M`&OHC;93VE{A#}MR$<usbK zz!U*TUCYZTH-Q`@<j2!dtu>9)jFJ2ck*VXaJ*YxV)2KEEL3C!Y&5N3cdHb(G_?`iC zXX_fn0IRvcm)3K)<q=a$$AkTh`A(&@kfe!zN%HSHxk&}E=4i(js-FkWiK=g7<4b@J zDVb#I-rlU=e-8Iz|I*uk;4K3ADH(2FOIJx>KlcOeem7mKN>fTY3`7b0v3PX5j#%pn z&A%Z^fIi?FMn#y{8h+2Gi{dKq2Zl;s(!I4QA_9p39sgIaIRzIJ{Z^8X-O=$`HMi3- z&XPE(INcVacV=z{T>q37c&9%_H+5_~mOsir;cwY6dI_qvTRNHZPsSaCS7izTvc^N* znlKh8<EezPpk04{9d!z%pmcP{CAc0GTm?&Bnsnd-{y?wI>v%X3bKmaZINjgTWMnat zQl`Om@w*yIrOizq@dE(MD}|BYq{ffw)8IDzbp%k$Iq~rTNaCJxlLlsCNPzc2#E^LG z@9!r8fXAl<(UWvQ7Z}GAhZjl#fqSypT`_}{{ss7f549g<NbIItmHuWs6S21N6@ryU z%4y1{*<~#q!3+vhCP8sgd}K^Ss0>)-9kC{&y*d>kSaI3^Ua-Ss0;*8LCCr|BdV9lS zu%aeKo;$o-Gb;}_lHAJw-Yz!@9q$X>w(hRIxZR!XTNI)!o8c->ZiGYM_pqr4+pX`U zruNkCehe`w{1sk>;O9(&2_bqbAS_oTE04x#qlcJ$g#DnYLIA;9A&5O}@67_x9q3dp zZ0f(g@w|6{t3;6N(CyQ;3^7STfBRjg*7N?^80Is2J8StdguN@c1?Nt_C#n0!A<Q0o z_<wOb(w#k5VZLu@<O$7%t4%yD?%u|jjTb2WSU}k$k5N7G4#>G1&S@|Gm1|*2nh2Lj z|IynEX*n;>C}P&Uu{tf)Cx`!7u5uxxROXwLzSCd3;g3d}K`EyI=#RLRTHahOOX27s zK_1%D+25$H>rE2<qnl!Oy^$cTW3-6WA$kID;ZaL$)RkX@sC^lXZST<7#RHCD=qI4R z;Ia9*Kl)R892UI~ih9&}$bAZ_kw&%4)*yCH&;HzPc=?*<^sON*Be7s!R#CT0yrxvP z-D8=LPPGp*a@1y@Jo#2gqYy^HWu<8f1l?>$Ah*jtIkDFJfjS8(+5kpSk(}!hDC8T@ zTWC=WZ4sJeJV3{xfy3FFN))_03hvNh{Kivu=-2Ek&k<)*eP9IQ;glL$g~rKjw(!kR zOeG(|fVN>NET1au7Ck^b`lf3LKXqH1=MRsE${^n2n`bE!NUf=|mTIfEF$2eP#4*6o zB)lL<>$#;1qptNQ0%o%&le>NNBhaFH&Bk0V6SsGbOKn-lNRAMHAA$lzgfi@3-_qmU zyHTfnEuN%bmzMZ0Xr=|yHf8wP3i&GA=)YKW8VP9<M)x6^H8!&V75+E~ywS6ablY>t zD$9Id;>9M&c~n3K%q>mL5!Vd{aj=(wqut!46WLc55C)fZJT8}<Ggr1WoUfA>lHFA| zLpB#CZG!rdH+#r+6N4X?9+wm3W#O@q6WKLBLo9*4Op!-$Oe~S!JXYK-7{<D}n!yx6 z;_M?vU51xOZ$w=LF5OmL9y?cgmD4^u0COe2*>+j${h{F!3B~d>a1L70+|(@NUVC_Y zinwXCkOYJ6|7F127mJf?_V*gDY-Twehrtlk_hBg95@5HM)$sqo8yekiX%@iQ*Xlp3 zKV{vi7RgpBxzS8N+*ZP)Mc0G#lnq<Dzgti%^4IAm{H>|m#J7P#n;d^(D8F)Y<>-9e z?};RCfG81#)d=r|veSlwH8ss2KovR(uu!H$?{l{i)37`Q5s~Ps9Jb~4ux(>+F?NdY z&BQp@DsIbJEbdVXtwMEy9mFuDHX9ALf3Otq@2lxStD_$&*TGui$3o}e8Rxblp?oIP zU#BOzCRWO;*CXF{FNZOt{cLnqb2JR`*H*RJPqrHtrf1=le<4N{M<Fe++;n@t(}jP% zD;g;+Um@+bpoKy)+&!-Twq$Lr7W{JB{iU7cs|02hc32V(v)M4J#%duYv!l=oyFQC| z(ELjO;F-zrBjI(F<A3Q*YzBmo^k;&9JEwRUymmkL#^s^NGojzweQA$o^D{9OKU-;V z#o39rj^;(syf;~g+2MF+_n5!&Z<^!MDuA$O+RID3<NFVrdhz3W-M8;L&H-IR&426h z|1k3Ii1Ha#|J3U94gFFw8_jH5&A-yGDX^?pc~_^dVv`23Z>QL}`n(5A>ekZPl(ivg z{8b_Bh48J`79C>EuQXz}ap>3d;dXy`A(?Z#GH!o-2j<7p`|qTDMR0Gnx(1T^%A7P) zMlUpJl#rX^l_ykf#77*2acj*uv-;UyxM-$l^0Qs7peD&CZ6WWJ61Ye`|9s&SvLAma zY3+P&w4r-KLfPi!>{Uwf8xXky1gg~4U^*!DVe32Zv@ivKqSMvi>3Wip-xM20J1bPe zP774uN!Fb;dIGxMF@eW%@Ccgk8CC5kpfyG2fwt{Fwn{Vyv*FQ%?{!E0?;OvNgFSrz zBsO^Kdwjex)ha+aFhCZ5#*q`)P`Og>DqS4^0Kf0#e;3o?;8Eh@T<>r1LNc=<L+IAF z*5Vr?<0O#&i<~G|BwirX?h4uPnxf;~oxYsYjFuq=voJVct8A%pa-<S=7A_7w#-D;> zgnsb%871t+|8|NkGo-=tgEI%)F2n1r5p&!rvLW~gzUGm5A)<v<va>Pf?x)jyWJ|LM zp1b81$Yw<z$ZX~?!W<E@qR<ReMN*89)u!(SgFazKP@`twqs$mn(nWZ^?{ddO&XyE5 zIPw=&y}7R}S-tDKOIXg_M=<>O8f7raJMuHj;MD~<aYK~i^jmYWN%y#4S)#EtGN%pE zSkPBqbJ|g|xn*C-$4Htls?qXqd;eG30>L2elZ&uJ6T*AjXJb3xd6i&Co{`M>;D2%x zGA)a1TXbGWsR*@UwDnS_#4D9gG5$R)PRm&nivfDflei;vmm}s%W(xUxJDv;c#wtHE ztaXh^v{;L%?&K?n1LLKhW>*vl$t|n;khH{fzo+HIJ1tE?Q4{`khO#ldUO_aYMkX%F zBg-Ok_t4Q63GiPF`)%~A+w|;Rqy1Y}xO%`^Dr5bt3QkGilYrjgO|!)inl;+zPvL32 zkxZ?rse&xSI(+h6^1>cF^m}C!m(aed+X4Rz?HO>J`^u1AEd$YX6aaEQy}C28YVe`p z-6~62WNRvlcTbaovoi~M%&eweTWCnRc;*GwsH2MCqwG(rUlk52xOJz-0mpbtn0s@r zZwvWRiFr=bg#zaVZ;S45>P)&U+YIx=S8$_@`{l^A-YIr1<U7;3CLwD+>m>9_0S0V< z<H*+jVkI6bSM&+^n42WxrkRuo6q2yE_H@K1+*7#+`HX+$S@(J$t5*8yeEb;^=*E~h zzzF!<v}0{INs%t`bG9jV{#`_5D<69*cp?^3kY12R2UUaeMM7l9@<C(PYzbnpa4Zw3 z|FIl@#D=UBXSDq0Do^KEo-buY?oRreadGh?Cah6OL(p#P%ja>4hI&$?^m2}JVNX6b zGo_y|1{1iLFH@WW;`7Alj?8Vll=x(ep8Wjrv5wL-Na=}?|5;R%RZCD-S$0@v(}$oK zxJ}KtmWt`K(1#HlA56VlV4}&j6LCdHu_9%X`WLJA(7ME-RvY>0RReEso@5}ISAUC= zvol6&gR@0d$gHL(+dizO+78;`J(y=NM9+g8=$8kcQv^rdfY`h^OZaYmYL|X~hxu@t z{a#sJ!POiE(Jkf4e22g`ow{q_EaFay3w~Z8I7ha6+8D>KXww|%!%R8c=OdT2CW_-U zn_Cz2T0QwJJS?MHJhM@vNt`Yf?!J!T*m_1wII8?k-}@VRqG!w|@TS;u1RRFwb)iS8 zh<QbnejlOMVR$?g?iI%^s1-8*3e!W<*I9P0%e#}SYa;Vyz?nt5F$7KdguAE`RXP*= zvHxJ20`69P7%PX-lj%~HrI2e-b$rMODo=u`g`8Cwze0;{gC@c)irwMI;|z|XxC2;p zTZ?YxoY2Pv8~NP1HUo4G@uzmte%|I*K60YSJ|r4PNi_pZ67FM)Kz<AS@&%3hBMoz* zJLb{}s1y!T+2;19$sUB2K+O0N1)AdAx_Y3nt`=H8+z)kfs?9eU%oF(=GRWN|?e2;{ zHm!q^MS_OCb{uW*Fbe*WH{KARc(9o<0ao}6+Wl{55<4pxWv%EtzM@3NA#gSsehhg> zuC^TA^{INC@W`sb_Ae7JZgEkU7Sc^)#$RF$+N0;<uj^45lW6Ia)mJ}pRYDFz2yY_4 z>9;_JR{t!vyy_zh3pZLKz*?A$m6~*o&{xi7aI?j4uPQ^K?ec@r7i1b9Yv#uf(jWyJ z!CG_wG8pJ}%C+KS$kE@%RsGGJAgG1@g1_DaImPDWv#9T**hWkeGJJ%zyCOxjatI{c zgMs{D*OPekHG%zt)6>i(fsynw4G-1#6wXqHaTsIyTk@_F;MKuc^7x5ZeEywvKY>q; zMph1@G9QANIK6IS#@qgkKI(!s=A=IraK`ZAu-?%b*UOXHB~zf6FCaE^56uYOBDHD_ z15oti;?Yy;-ESc}bX1<LyV)>^<bcT85W9b@i`?%6U*L9^wbh3lHOj-K4WQyC1M&~A zI8#H`*u@xl{(CK#I{|v62`Hu+LdL_@|JK-72gMaUf07UgPH^|&Zi_<*?jGDNzyg8A zJrJDWzBs|%-CY(4x=3&qcL<OmxA}hWs(y8Kf85sA*4vSudDH!7ra#?1?{w;?&;4uN zd%U|VyT${AHt&EdgS=*T&SZ0VxY5lU(Dx7JvP|Tnzb|aa+8zReutV(Ryg{x%*jEi? z`WY0T5jLEdirP-4mk+8@t;}}@H<raWvcjyms5a281bBrKI=~CHNt9XUt_@a23oN-% zqKT_Py!rP6B1Ffb7W*n0@Y(IbNMMfXlXZ8mS43ips$2oJB|rJUo!#hj0I6wG%`9^; zcG}8m+Tn^}hfx+1SkalzNL9|jvv55!<t9C2rJ2-)&}fW5dM?(8+X*0Lcw5$RPuTQk zdf!Cu)gg?zV+jYomCNaG$Ic!yxwy-3fTFYXYWG!|;)uPzmPRIwLHM9Fb4v;_;UGxr zZ_F0-U8b6JF!Vjc6PD@exfRB|Z}4m&N5Y2h8I&R)+x3|reZR4U`ckzYuOa}HH*3Jz zP8IKXnRRFx!V`ZXFdkq1N>yI!EpvF8zC*DV;6-LK5<my_b?B#~vwY|dgzxUn@7Mnj zoj!p%aiMUP%ZVcfVHpC~1IE4$Rqw|7Yp$^ku>N>Af;8%sLn^Qec@W0+@Zi-7DpmD8 zTL+cXel^4q%5UWj(-ow#L5cq*O5oINnEfD#d$kr{`bn!<Pp6N|TefL8R+L-CNlCR; zC8M7;@7*;;UWSlbmbXaK!kVE4KQCO<gMatKPjRK-7x>};@SGp&mX#1M#<fJRO@jd^ zjp5dMeHKX=vlkFB<fqU!Zu3cR>ZQ(;F<(X6g?!{`=?>fD0}eemj`Z<j@@Mv+dW{7i zH7an1pzTB13<aNJhO+bWwxdKi^dyV)LL$(0`l8V}S_>&fQ3~Elz7x1P>bv7nO>!A% zWKi8c4|xyB5O7xA5I0GE9kj5w@9?q=Ml^Kz%!{CBEdCVe$k0fFz{Zh#_1ps3&xatG zxx;gUZu8(y2a6#9L<GIKHpm05+#Wn8C|+gKkx&TT5jhAL{4WQ41p~oM?EfnM-^3of zhN`XQaH6*i5e(i{p|j@g_o3ySbKhj(Ei7)=7Uj}iCou@lF2EM21v%bhNK(=`H#LR( zZSN1)>gwUIV3;u<O`n#47Z($@6d*|@B@h<K=}`Qxpf0y(n&X+_0iOO_N90<3Lk5<z zWggKo@2i`}Hn9qTZoM|MTRp_L<G^vT`px5CQHv+aTqa*F4j;GQXl0eUL_aM9d)t1} z4OX{2U+)#17!%Q)o!ODb^E8rBGcGgX0W)&>Xv7?yuD@nrN7$zxg;uk;(tVM01|`>= z?k{(9tF{~rlSz|!5^1VG6W>xT4|@(Oc6+$Ztydr6aJ#9@AtbQ;qm&PUI5bf18Cu|v z;8j()VwsL5eFK6rI`JgW#Kkw=t90nskAGr+alj)&aq%u8W)Ucg%l@rBv?|(e7bK4f zkGd+Hf%UA|v@EvdeOAw}iQ@eB(Op!*a23=E(jCO>vLvT2c-$Q%r}<QWy&^~x10X|` zwx6*HA`b<$SgGv{RM{4bVUnz{Z=t7YgQ?~hhb@XM4o+?hb-!l|xCYF<+V-MoFcRVX zOAZ^ZzLfKcQ^k<Sfj0^c7_}<ReBbyGXM)~I&!Sv|R6g_DGKXEO!h_M~L7EZk4*#dE zYKu$I;tJ#7br&UAj>3R+*Oi8nfE2NI0|P-~!pgm>D?rBZ&w71S6y&P<<(a~Yct%~7 z;kX4*0;x{*X!qI;3!H=VJO&W{P1U)<YdTbX$zZ?pIL*q_HzwsL1sxSP7IABt%XR%o zXm{k4ck~8P>%{$GJgcY(H#Pld-VfD0C3XGPe1fA^6PBssKBa=9!5EUiHF=f>`6<9Z zVbmREGR4TLvv<gYqQzspx64W8qhGv5zMRP93VKAgnPo+ACJcGCdBh&S-|2F~16j5~ z3$UOxgFdj)=KjH;WVqC~jnCVJ8w+G4-Vz_?mfV_7-`Q;zOM{hKJK7-r=-@dRt}V`! zJ1l91=QhK!p)+Hf$mVEzm&7yj6?-T=bPi1m91eAFN<Mk7Mti97gJ~UR?*8bLV}G3x z{%8~Hw|&Oi%~dkwNC^lrjdKuQO%!k{*d{SyS)UT{)LNT2Npbhf&pMbKeqzhjr)X`f zqq{v2T_Oe=8TN2dL6i7|x{pyDkw*c=0Nqu08byYUNG0I~7(IE0(a2kC@I!xdZ9~?l ztB0{T^e9}%Gqa^C`67tY{ZSO$flhGs{=)oLDPOyKSxt1;_fP)hehU(<D+5PF3SrzX zUd2Pfn(ZZN$U;+9=?><^(PQ1O&%AJ<7*ckmv|d_xsny>qudJ><D_tS~bxh+!d6|5n zU+`+H$j!UNXtrLL!e+h6DM=ArsO#@K;nVB_h#LQOEZHDZeUpZV`5phzalO1b4ZGuy z$!&bhy;%XbsAC?mfm_cQeEj5p^j<9r0H0p;C+A@Vznzuiuo8b#P?>qOTZ4`9rpLmA zRXrmyN-?%63at4td2t;-vE1;L%-HCf+Detuu!U6Seh)Sh78lL+0ZB2rtsX9}vN@~; zR&{<u8n!nHI8kk0CeA9UR$-O||Fj7@Nj2K)^!Y15ko=>?fY|~6aS?`e2_Q<jz)zWv z#@}PCdx8P9LKQ*wjscolWEJ{OSt{KK4_8)_IJX|d_6`oJUfbb+lop&raISLg8%|o+ zX4D-4$P*4y|A=SBufb3~q`E?I74LJ(_w%|a7hv7xky7YZV1ZHrqPPQYO=OqIGKi)- znPMFz^vYwwZ3pNYHLT{UvTpc0<Iifh@rYlWCKl(y>Y5>YaY*F~5F>R7M%Uh9^hElf z?gLYk#}s`(ewRhow>D|@US<@RA9C#x8dYPhx$xIlGzoaZRRgJXwqMUP{07|llluKA zu;^EHU!m!^&vF3}e0CS1o@u?F*Lxb0=iez?H7Z}Jr1f{-zr3Kyg|kC2ATX3@2G_gq z&<@l+ssRrH4Jv{vQ;Bk?O9X5m4NpG*l17wUPde7LS>G>IMM@etIhWFIjuaw1<1lS= zFaZ;^5t?$I6aLAZlC7V$XDn2FUORYh9$Y6h+s7)9q?2bMW6fnwJg2x!<W4_B-oATk zxz3LbY=FEFG?Mhb23l>GmbIuAQ?VV*(EJpJm_M4%-AEct^r%T?|K7JvYM^hHP*xMR z8D5$;vHY^Vg5O92e-umrJY+grb79+TcgAv(J>Y<uNN=u;JP3TQ_&rf@j$-V-A}7I= z!xcSa1D~0ftTez?7Zmv~i2qvrmjqu$DB-`d;8&F+#TtL?nq$;5^YZ^yUvz0y31n<) zj>S;3&k?0?tbXiOSUJXSZWuZzgaA_@Gd2jU_v7ooLiq@WUC3WFp6G<XM0^8~uFj?! zChxVEo>*5Z$QS|)-ZOQ@Q2$`k=0eBy{E4oC()BY`_6<!KQA+YxU7Wqr(&+Ysf(Yth z>L}U>_!X!ayCKcGV}??=XIjR|R^mXmo18Mtc6hf=V8`^aWE>+#2D}uN*tBkypv7GA zDm_CLamV@Er8y&lyfFQ*O`5!z*(W5-m>zk?Rb}Z|jY;nYrQMjoQV1+xd;2r$b_ph1 zAX)JFCbC{)+?hC~Xh)vZdUzf~cLrHUW@ki?QX{4C>&a%So8YY7qNKao;R}qdis^N} z$;`OWl2?<$U{j|6c4yDc^7qBr*5Jrdny7YXr*`lWnLP-+CeCPAxI`f%?UAo~6u$Fo zj{fRKngx^pa&T86F0kmvG)7_OVvq91)uiZIwjwh_$Mx?wd4vQHL>t)a`Fi~vC-V5C zGvA`Wp0yC^-FJb)&Qs+A1Dr-q=da2_7huB2Z&`{0T*}$968;K)8O|lsOB--FLu6Iz zvfqvr`$n)L{x>(zg&OBIt;%}-Eyo8)=3cEoebALV@?;dkd_512%>9DsvG6os#3(ns z(;jk=^4YdeVB^^ykZl?p4==mI-55ilVJ@kjvEx{mI-VL3XS1vfX@-z*d@tcCFRj!- z3Stx)Z+z|tUZ_{y9VS5h?G7LGtb)>On--$6%;#4fkhtG^(+*{_-oo8eE#2lSRisd3 z$Ujml%cFo*Y@fr!%L@K^Hlm}8eH_P66G)8R5gnP1477~QXWh%_H&H*T0BNt%E%Nm3 z4Q75%Qalww>@8Y^0*f_Fj*$Ab@)p&3)7V}omLbq)({u5@D&1RW|6puSM0*P4#St22 z+HjtF_F4xr-iN;V{$=>rm;Iz~mFtRPK2@v|EkflCZ2-%noAWq*4YlHGss_p%&4NYs zh6`KIf$m$}4>d-HKh2-CCtU5a1C++!r7b%CqbcpOF?aF$qO#4-tS?CZ5V>PMJAkd) zPExgDRm5-I=tu`|`VWsDr5~iZ+Fqbml)+W(O;cDV&4b?V?+*xDSP5|yuS$!ieK<!z zx#u?jghd-1-R!2xopgrWyOs<<Q07OQti)z{O}AcAB;;ON^q7N;BNS$TO&qOfOBz>1 z7-$m^5W8Ukuc<#=202(4J{`u2vDxr=M23sD>Oc>UqVx|cI1l6{;Jr-<fZEW~KEY*2 z`j0s{GU8?cfQNG!4j<lGY<ThiSug;2J@`Vn`goUh@%ID#$S4BU4rh~}f(g%I0|DF- zjs3is|DS~ZUoDoXgUKW!*jMj2Qo!)Wp9t))4aUZ*{WD&mSs1J9j!c6m-A1Q>n%`XR z%n-sm_J^zqk{Aanszf%k5yr$<=LnhbDVnVOERe?vzqK0yAMmw{N8~)Bjn2%6R|NjG zP&|0@=gE~v;Oi?RTH8mdEq?4GTsft85{_mMtMB~Y3Lsp#k8L(uyMrFv#!j$EM3LZw zvau}kk_#9Yj163@l5O?6q;r|#y-~0HXi%1-n#}ppu^?ic2$8luIEJJ?D5IM2Z8|Xy z;TKZ`x`}eS0n~b8MK0CI9<#{^jnNA^JUqyDZr)2!?lj2%v)p;mL(_OygNs^?nuKYN z@7cn%SXVH+VKa~EB2e{+Yz(HGn)@(sc1<=_Gc9PUExxRa6eox+g-$fTnd@`Yu!MfL zp*v)36elLs0TX>o!U%>m1DD7BjETT^dz2t?^f&8-D>GNu*Vy8qv=^0q&o41Yc8mTs zktUNcOEp3S(JMs`t4ttZwceWb+T9oki@Kls`1;&&YTDH25OE*z2wbypO6DsQNLM%I zxAE&3*gfLCSCrOW)Gj<{)v%n(ZkSPXTnWxUJDl#Z0+=3(uZWQa`<hgG_up#oTTT}@ zcyA09%GuhwkMb=8o0}-QI@5|;iyh3ZxJL@6DG|I%`5y$Av)DK#dJO^nz6+nYbet`{ z$$(N{<It#$TUr=iJO0`XIH$ys-l?VSI@u>?!_zTCmk}|?yF7O0B+B@~=QFX)nogp7 zhZf0I)I6?cY!B4how$qmDv)sESWYXPxSG_HHKGdZYMQV6?dX;$)wiVuwoKU?cbjjS zewG9bFsklH55hVSHf51a+{K?rJ1=*-%iRDQ3fWHrABXMG0oQGxCsKWI^^0W8Iq%on zg*dt2ypwsTY!ALgLm|lhI2(+`@tur<(q8l}gMp-G=euTYywneSvZ}3rauHwn5;>Tb zTBipjSLSOSjD5=Xh%0fwCp&SIdt0q)cDG_#(^?`Wet$JkL24Al*OZrE5zkQZ7}a)J z?Iax%GJH`oMts46onB5~Fwp!yF@n5te08#hs975wi*(WM7%i=}KO%Bhp5H?10gE~C z8zg2kH|vh&S>Vpy<at3Kp?V~1dVsN!@jJwQ+7BRlH~&{C-mc!JA^oo($4Y$>EZbd> zTsC_r`VeM3h2wScd3*WM&PXZi)AOOcZ>n&(ZC}xXjYz=?OW(qzJYIKFl1|xA{Wc2! zt7};XkKOq2kYy}6kMh5YZoJIn7kn|_rZ0Ey@B_KFw}>a}M_rVE4+(^)l9I2)C{1gP zqYLfU@hvmqnpg_+e`Fx|Vfo%~CgGES;r?5Kx{u@Et}KqC9g+4rG%R}4_<V+yU)}wN z8jZM}pGNPxt_M<p5l06mlZKTznex%I*OP21d>g)79j8cua%DLX)-It$X!!nzZtL)% z-T>3^w`CrH8?L$so$_j`0FAHpa@kYUXw*A{z~-F4%|QD2J$^0`9cpOhR4CmJ8jcql zCuK6@mx%IQ5AW`lL9weFds@B(`)%ReuL#~!QLWQ%Ay(hD!)WSz2oIOBx#rq}_r-oT zDP<!#f1eKJY>vw^ACcKOW+grpM|sYu?a=B*5*<-5T{-Bskwm3raO1ve`%$&|^n67g z+efR>&6l1*RrsO6_Dgg8PCBaT*2E3A+UAgX|JY!?huyr_qdS>np+mwoCD$xHRRP1@ zoo~|j50i9e@-@atcqCGY50+a>S!&Oyq5)RrGdvP0TEU{v2~=koK1fGsY?ZFULzYah zDYxEu`6BxkG)lOC%fAw^m&#-j^zeF@o8qm+>!w_g8PSqB$?ng|7}f{dmgYE8zMs7q zm&60mowK1aLfPbANCDXMnlRw!>1HUfApCdlr}3##&b*VeEVBI!EcM00`x4TU?RMb? zLXsuPNq=FYJ-=^{R2;dHH&!Nx&d28|(y5|L84!Zj))@4tz;*{WjNG@22&Z9e@xV_h zw{sJ6+R6pA4nJOMOVw09^kdl4^#`;{>4wO2eYnf7K}iyip%4yj6$~@^>~j3G8@h9< zj+0?3JD`oAbU%`hCnu7keb*uA^GAZ|k9Ha3M)b2sXnXo_9?w}+$Sqo1tj>OS&^~r{ zlnc3W_@4-Wcj6K~`vq#pX*1^e$S0c5{X?aT`S0!RLnoEJ=7lim$=E1`HJ%M>GnmhE z_8*O&a8@iLtph$jWTrhCt20Sx&>8Ag9nKuCSO=h~Y4zfXrW-YAZr07?z}R9r9bClx zm8(ft*)s0hNvPV#fb1C^?<dD1`+&dI==N$AUtNjcWY)IDVQZ)WA(@b)u>n-6eGeUj z=W4n#!>yMezg8epXb?AUVh&737|4rhKq@NzFQ1jG_(ud6m$2cL#i=CH&YM5SHG#QF zW*`dP{uE+dK4al{A07q3gc$Cp4uz-+Dg_LtY7+=yr8TC>#O*xD{=zsk0*Cg~rLZT* zX(3}UI+{1lwb{ECPhyN|%6Ca_Xk+<XCjFrbTm1L3+|sbNXnhO}+)pT@?pPU4J3e*a zcHYr{kqMuoQY-6=C9fAmAvos=CmLK;yW}$5iI+zH0V>1fO4UKgTx+KXFI<u1EFus_ z$+#aseq)RZ<K%raD=39mk=@}ry~V;O<2sar{<ch0jxHfRN4Wp_u%TDqfK$D4pB-{f ztAjtxauEPX%OW<ZH$VUi_r3+a2lm76t+!eMt*GGZANihlZ(lrn?3~a6ce9~ZX4w$8 zFJ@Ok=@N|t>D&a5;(=_{Z@t$1FDE;e1{XKjZQuv+UKdz_5T*tAvU+jLKikNG%s>Fd zh75@Vm*a0ybaDYd;b$8GEI~mE1vxipd`K3;X${*1C%I(EV3Hare;~E>ZDZ*&T~Pe6 zO+CXhIgzpAq=nfGrI2eIr{++#LefGOqXgG>8ya&{oi1iO87XO_PZ8>`Xh#Lx&CFQL z^8hl3B+M;8oh=9hFl?2KEYmJOOCMWC&mx=Ztt8pURbPY?O~G}h9moX*k{@(!W=4+C zCylI_FCjwjMvcNeZE;~{CMJ9?2IZgxhKb5cy<J&m%i5onMa=PF6wvzq-DMEM19IJJ z(mpZ2H@HEcIJh$W%7YY4K~M%HM09Iwe^6FV+Yfdjo>&vk=IU%(?nG=dSD_2STv%9$ z+YkOTfjX#Z_7GMHJvn|?L6LGc=yP2`%(GX(w(Mc;5;-b<m|HvQ2m%bu;&1z2X{)(% zWJ4@S;m*~=-*IQ-y$h-@><Tr$;w?-}+BnnZ^kD+ewq1ykh)L$+e=DG~>sfa)k0BQV zI;n*l;Y_3*gdKIi2MbJ`rxV}5B6kMP#|lJwDW^rgKG>tT#c~rbLAAtOAZ4`3nlGa} znVkZa{J!DV=Z}r9pMrfOv3%o?3h2rFcjH+~4OYAzj;`m7qRvAwA20+NTt+BtDwZ-1 zleGL8Y4QpT5z(*%!g$McwhX^Lxw(#Ypu7h+RGWhk)X0_w24V4LAk=p>Dy^gM1UN#J zmX{WRge{|s??o*ox7(|+=Ae^ZZts?YB+n>oWBSmIPEnWq9ylr$0MP^p5wQ%*qJvFm z0WRTAB%j9q>Ug2{>9y!Pf9PiDbcsj>!e}+){SYdo9eWf4#3|`)8q}5dFL_#g*fgyx z-72bRaRUQs6EdO504=cAG80u;P?tFCb*jyKxO!hq!x(19+tb%P%8$us-B9sD8>S5c z)KJB}q8vzgSfm)SF`4@;X%a(f0bpFOGL^4i7L4gmhrlS<+P77#8+>NP{G=#h$hG^$ z^mU0$iZWw1x-a%D;05Yfs&tGf!zkbJi3ch1>Oy7ba?)<=up_l*357eLf@^xU9pBbL zKpMcs>?)Z_4>h0(BYvlmu3G7ib>}L%W*~G?=!Vodl`oojepA}p+YM6+mE7~xWcEFn zIZRPBV1gV=Q5Gl8*C}#aXB5<OhnpER#Khho*_>8pS-+JzJau&?8;8(D4>qj54&ydb z-?ja^_<(8lHiHbAux2R&Z)wdwz$@iht&#oKRNXJ(=P&QkuRWk044kJ-oa(+Q!%wyI zKx?a;;!@cz>-E_ftA<B5byW-t-l2&QPszGRw)kI*Gd~%Y7=W<?ngMS=W0M?xHk>{3 z<Ui#DI0$eu$#^}62^n!gPiEKi-*OAxDdk~!kLcGfcY>Ns1n$y$5fbtRvAGwqxWXgE zgvxS>ky?YnCMgx<R}M@O2^wvW-s_f^DyXINxWA)%KE|}XdehZkaPiVF4F1mA^{6Gt zWWv3bpfqGOKki)fMZi_CmC~PN^;0X3?8!KP+}95u|Fr-5f=Or9ZGe7>IH1VK7Nb6- zV*F5N&ex+B^EO&ZCL=Nt_(r`{Iwpx8?EQnGn|5bNi;7C(V@Kr`@3!<;Z=4FIT(-(; zvsW=FQro?^SyxeXOLgQ+T5@_`BO3BVJ!p(*k}!721vfXc&+g#Jjz&usF(0Dp+~)0E zbgNPB!|C>yoI@X8e7mClyw(C-b{cQ7FM5Ll^}}`NojpX*HqDxg4})pp_~O?==`nSC zt=xCsap_n)iop<WxV9j#uRm;)mKRb<RCN<SkpH3l9{DY=5IInnIP6qmJ(rV+Ksy}q z$9-YxJas)DLUCA(`CphML+6&uVwl&$A*gc<rffwgqk@ACq+KXYz&?C^Mfi{rv1Hmj zDxL6F)k&q(@VgHHGb4Fyf>G`}ctk5VzOJGNf86s-f(g)w_mX;Sa_Llg#zW;H^ulws z4m2bwdVHSw{nwu6exe9j4eZDIko)~BLB#PA-VbjA2>h(b<YO;8>u{`>OoNNrNBo?o zR#*W)CVQg8OZMrp^>rCosV}war6ekRtEcQS<LvC=MO}uEXF<$?fAPr3^RD165Mas) zwp~5lkg}aft-@HsvTAq|`RKS@pK@8h44n9<()?G8`jg%D7uAj@7Vecx@K^DnSBl#T z`&;a?-Z57OWo7>IXTG@yK7-9KjGR(N!Mw6D#H*5r>hDu`C9x^rU}6tpp{=7i%up2y zOQZbcMqxRaZQ5wCEo9Hq@;vDCHwpi~aV^@>{cu^k{}6on&sH@2&sIb{&EY7Xa9V`x zDrL@OK=Rf4t<K`@*vG$cYte@)<_*|caoA4LSC32js+mLYNDtWdr}9eMo`II1HVCEs zd#griPp<mdZeKHmlz(6%{>aW4dKhnHuK7RJZK7%^54Hi*1~-6-B*_;?yjzL*(qnKT zSNP;)^xb_&+QHa1d3c$_*B(`PR+fh8T0#WJfkOxGpQ<OXb2waA%1yAMtg<Szx(&TH zlXV6q=0YxO8_T^)!{zKE1|Ga>e(4Z|pV%DJoxcf0VUNJ`_(ZsImE6k2uvqAp<Gn{H zXE*(i3O~V$-|fDp1~>)w20QWdb^JXoQMgD*)u~;8LZp85I&4Y$6+cHuZj}3~W#o!K zp#E>ydsD-bAI*o)m$H@9xb#}Mrvz}*S(D8YfYTY&T-OSrTy_+rTLHqF<gLDn?7E5O zO%Ae+#RR-+!5y25If*%PMvP=DD}Y=x6nK^i+ZG=LG<0D*A|nW@gN4Y1W$FLgpp`n1 z8Gu`conorI#>Ce)mUy_f$tGLcLgYPaCRD+CRrT%;Ck5<j=9e1#F$HjbEwr?yeVYYD zZ(r3WuTsxxL^9}o*K#$y++7uwncr@(b6j*bY{YnUY!I=YWq|$Tu+DRM^*5ok&1pXa zdo@-%a1WH`<D|I(f!viN3=AeCUtC?=>ER>{1(due3M9|nE&bd8x6vV#!j_XPV0yeb z**8^6^UZz0u7VVw^^e*1S*{F~G$~JW(oR*7l0p8ZjS=PqhlbI+iabHH0_jS9L%2x* z;jN!dM<+;bTt$bq9kwxM`5igkAqapNbh%|Lcd;>#_(6Z?SJNWw?DCJ)H-t^D{%#V4 zUN1P45OyTNuMlGXb$|<w?;>ns``%s8x{;5#JQf{Ov~!Y$g`ZPrP5wB^6T~i1vBJmH zED@Z^SN9^JGv;&5oB8~f<^cC8PZmq@;9U&LdkhZ@Ehetg9U`kV>I2#vqMN5FHi`gj z?!@WgW0!}kr+`>fuPfN!r;DfZe~6Rje-J0if6$cJKWNJ5A5e7r51Kmq2TjfYgQm(x ziXrG7v>nTrRVRHicM5t=MpFEi;7ECYfa7|iR+zjCwV`P33VT}BN83+)P`z&Ky*h~W z5AhBFS%ji@mV1I-?=R;Uk+Mk;Q=H?c@Ciw2fD;yU3bN<2C_~wD*0kJ3PSU*^lP^d5 zT0(fUOAM_SoCGOGN7>!&;FnPIOKMx1HpoxU{L|cxzA(A4SxHwwCv<Eq*CfPRd?k21 zhMmyV1t{5j(#rUGl|zlZCtO_lmGpVxVs$9i`+*davEL4qMc+pM$c?4z55ezSR$p-O zn4kPk%|oFCE_9X7a#x#3RPF~}CwqTrQNEL1c_ev=pa<nNyA=mj3y?nMd)(Bd^Zt&l zL5eCX0xStt_#}NVjE#7%f<%mo57-fZ?^z{xyZbu@c3iX;Bb-o(6G<Yy7L{)<UNUp> zY({KtA@wD3^7Nc~JqouT5Una}gMY6AscZ|o?@J);#OO6dl>lc(LfjgTt&_<af^&IM zzK0fw_oX8vM?C}pwQ0^MO$3~ev<cR_Z)Sw0m}GFTt|8}14s?Fgk|)cdW-FpBIsbeS zdyx@_*_`3XP+kg&NGT%mVeS)gRlT+qz5Jd#`^s6qI6<H$@BL}C05+Dy8k2m-EytHS zY9NT@KUFFr5frMtH$Mng=JGvB+tFydH7e#|Zfj(!=F`&BK2zyRAk#_KuNA{dYLsVl zf-#P8gp>uyi>p84wP@3J{^sO{KUMhYBO-EA78u(Sylhi|wqn%gv}`mv#-=?0U=49( z5IzGKzRm?Z4ds(JKM?&lh=0UIb<#YhZ4$7C>fw+XDc3F%O*YUT4=W@wV6mI2MM?29 zGcUl&2<8$meviTw$<|oA0OYeHRnX2P<T)+E-?JolDIjMAWo6oDW)?pm#C7+8?oQ4e z(?UsE3C~-0&%B=kY^TNU2Al&uZ(~Uhmph?5{Kh8UV$m5iQW`9^Lgk#!ArOs9J&MdO z5_IU^LNG?nD_g0bEFqAeRi)zI!T?_$=$>v^I0+AaHV>5iSJY8biDiT5tByy5P3tfW znGy_uTuZ^9-9sqQBF)rlAwK^gxes>mNjq0G1QLcp0t7%s|M201mFBt_oPC(dBG>Oy zpZx(N;^oLGS*F-0?B<!Xi(&-x+Mto%Amb$&mY=#l?_)7JZC4opoeZZ_nDytgu`M}G zay(w9>es^zzvJBWF$A03zw9p5<%bH~-rdMYb^{~nf1(PzF;2;q^1P(?|9B2<66E8W zDX1SU_vYicXIi)~Y7U|NWWogn)_Tu7pa7i7*kmm)Hy?27mbD)}m$N)HG@@P)ktpFa zNwEsDIO%50;}Og!R-DsXEyp_($p0Z2G2deXHEi+c+9I9280>~%p2%?t{yK4Pp46wp zAyZq#{`s!2cUT4ZE%T+GSfph}?B=tNmN4e=>8k&qD^gV!i&Uy6%ZT+&ee-~Xz1jqp zZ42Qg=9Pem_r1DxTKk2HGphA@g!UGx?olIV4Sg_;nhT&RmD|u@^59@A^4v>Gmh29$ z%m^%6@ns%8$^tL+g#IflOO@1N&s~9Qhtfu<RmP|U!ND$bDY@!0W(Bl1xN4sIx9tN9 ze7}V}lH@B?gvyqv+Br#!j;vk06ovzOp9Cd$Y4p?bk@*eiGBTxnx#}MrlqQIAvf!5} z)?1cOHclOvEsu!yHqbCQr{BdIfmsVqst1d7S1>t?L5rA%?t{#C`7i)+0io6)=6s>z zDebp{X*{LHB~2rZU-Gc(<kepNUFo{ZvI8GU0H&Jtk(;r+?yS|{iLLJ1WjK-rL-<<- z+j*gQiVGSRAczdU5;JN0cP^mycR2!Uks(O<6pNxMGY4m<Y@QbW0j+h$q`<1nW0Y<` z9ACW-5p-K@p#c`k)%klR886y18L#Vmp=xaXSUQtvmUn#YyeRY`2*vIhGj$5DyX&4d zbwUK2I+x(!TK3N}+K`<rUWK4bJUkaNG#+3EL%O$m$DSz;a5wv6-rg6zhI!>trZy+9 zk6yQQ26cx%$Qez#{1Q7&X`VXG4y77E`MXON@Wq7-9!-Y^xvl0CwRBQq2F=g9`CDf7 zlOPp_Qn6PVGjxr%3Z1rV0zeNSYvMdI_6>YePka-WRs!d>A*j7*mlHE-&R_ADAf4ly z+^xu~p4xUbk?NvS4~`nk_^I8sk<-}Yb*KFenx@OiPnpx5Z9SJt63`}ZMbnt~zb1GY zh;Y%^V3WKYZue6xrAjn4I|o|jQ06B9gFsYa;fo-PQ6i-AkmDVAFLhvjnI*IH<kx!e zFugxVs)u%+0p*!aGEv0ZE!1ecq<+loT2Dhex3d=b+iDO6fH*}$`E?$|;H;$(7j8n( zz^PJPPC4i84Y%GLop5^_+QNM~n}~=7^amQ2Bhk^o5>0i<UP{Vm!$tg|LwF-T1iqvz ztOrr9+DsxpFT)rwGW+f0dX&_S+#~7Icq&c|dR;Ijplj-OQf%4vjEq{o_+XtywB&UN zwl39<OfRQ|UW!MHw=bD#=xZ@(71@ui2{5|ADz8xNW33W25RgKDJ#Mc@+wm7X(c0E- z{AN)&#H_(t(480Y>^ZC7avq7U_>#?b{moLfB{M5p`foO&g`d4@r_32lK9d8=*lU5f z0k453;GV9GJE0BMRnzR_(Vdzli%g3ce;$chBSFa~<>I#fjGM$xt%XE(eW0j-v-AG` zZK1z2+IQv!#>-)cI)s(EW6iCX(bzDELP3vH*l&In<%5*aZsh?rM?<Vs9>?N_#=+RB zUB3nbx@o>N$7Vx-*PtKi>iySK4#%9?G(F2hlN|20c#JDfm|rEfNZs-odO(Hr{AvVd zFt#a2o5mMy50-J3F&iLDI8?!P!kiH`4fXOfN58BRLC^iqTVRc5xbSFH?k|E`n_BM} zrgAkCJ;1r)fn@`;&6YS$bT-+Kcp-|KH(-$Z#dzVcO-*!{j}y3P#L9N+Yd$mveK7VI z-6LzzhL$tR>1#69o+!&Z;-2W0%&$fG9EKE1$;Hw}@s!K-f>aNSD>5-EtDO@-(C#fB zQ?ot;<uJV{$x_{31%6-^A&kS7dp}FYp1~CP+!M-tC6$koU{-X>9h=Vb5J&#=UY7c6 zXDZv1{G`$OM_PBv2xZ-#sm*(QjG97G&NW>FbIu`#a4HY;%xL0b9dIuCw_ix)ee_?F zGJge)<@eFsc$Fd{d!^<=h(Aq9pJus@U#dz1$M++-Pas1Uv17Y8bst+cqO*wWge2bT z{QC3rx$>J3QPL1uPQ)~}uMTVy)NmNlM&WBbZz>^GrXPBck8?dAg={iee5o>dh2a^V zE{%pl7m74N-U7%yCeuW$pz)WS?Gm+gr6JihoowuMO-(JS^0f?qEoS{z$^1`&CV8Vq zvDtp|U#QW>v1D1<j)#tuP~FnHM1Wsj6jYgC&}o2+HDC{~@UIau3SzH^>N{|fMNMp5 zu$wzD5k8w2)B*vK4A@Xn`r#jSZSo^Fz#Y!6a#1uuS~S)+iXL_!Y%X}<QrVI>YJ4iY zYdmlGm#clrhv+NF_mSy>&<~im1qL3d79bynX@v<8V+aJZgwp4;fG2vvPwW}iA=8Td zWUL(=QuM3E&3wlVHFaJ|Wwe_w7`xzCL_N{|7(hhun3YWwCO_p&BwhIp*&FcCmwn`x zuuqd{lKlHjnVu4j9T-&4w)_af2oPfygQ14qs0OmAA?=|L!=GxPPeH>lWh`r&V9{G) zYGp4(h>`RN8)-<nF{@{wlxh`*8M+s$4KJo(oyo%Y-?sEK{2i}`F4L!CVByv5ppXq1 z9ebw06GqYOimBDdY!#-gth{2!O;fXiijT@@03y`5M96krU`{3{O|Gx^@FV&d^@~OQ zp`e2xicpUzYyTE{qdUHJ#Tt{v+`B-20H<+DGPw>MjoV8t1n|x1SzP~EU#&v|G3qdN z5paDj5tf}N6yZ&Wxa?F@3z~{?OqpGO*3biBr*5il=Arh#vZi(A0(X_0@jPSK3i-bQ zrgGO?@%FAREVy?ne({W7p$FS;&Pp{S+L#ELYy?xwc_iSHyTEXAl2DP~>Q=5bSl}H6 zL)jeo0cq&TD{s8_UAuj!xxd7t-M=#X3(YFB<wgGb3jkd>IvlD#IyzbmlB~@L)57a_ z&_P&lL-a>u!&6ImVF{~^BYIeVTpmwh)!jwVwTQWwe7`<dT-R1d`ntfQ3G|H5k9HHe zhA@m``1a0^WBIW{WRt$vMi4h^{(CCLjC}TBbjHn1JMy1j7fK`>=LOGyNWv5|dxaYr zU~N*$xZuk~JxtIx)5@-B5ht?U89f;BKch+;pX>TMi(v>)pc^@wlf~b7hQYD$TdmM> z<5lPOm~7FS>uC6LI<Gl@`#s8|S!ksFw8dKw8MEuwRw%2y%MN_8CxkEdK9ZC8HK^s$ z%<|Y4ywLk{0a|eQv|TIoFp42ibs+kk$NAie4qBx3)J|io-#D|7qr2NlW5WrSb<RnF zB`?_KxeA<KhE(T*Udj<a7vDq*{>wDB2^W5g-d$<{o-hTgt2;2&tCd@3+J*^A4UO4K z7S*@TK$*t3eH%EJSNw(sh;~+vs)!5xtXUolxv9$*E1s|$ET<h~spZcp7Rhx0<|yg^ zwqpjcm-PLbRYCz@N(l&)gAZd(R(?6v$qQVQAJycVA1rA#|3s_Nwe7Yd`V?-#n{wGE z6%D1Z9(rDg?<W55BAY1rb*K?22oK^3Eaa35M;ph;ElHM-Y}WV)HOeynn#`*+&K|D% z#L{4-j*Rqm=xx1lSQhf{;}CWr6M$|j%L}Pbhy&-)CInI_Wxm|$rT$%rbEXoD!$uvm z?jiNn9J-dTasu=u-}kGI)CT$><jQHyhj|vNJk-5IFz)>xBgM%|08Krg8m&OBK#|DA zu&l@-(!%1ILl`j4f>_D~ZBJMVRG*0EbF;CJvuGGIK;HU2e^u7x$BL7ht{K-)J7!Y> zQVlphvb3qlfqaYS)e>oog-~iAW5lY}2@9le1YGL{aQx!QYEST-*t+I^6zawvv3|Yh z;H49(<(q0$O&0;7oX8qrcLsb0redtU+#Dq_ZIOVg^{vAVJyN<(3b;4dGJFLrRNXjh zzk~kG$LYC{<J-c4I&b0iJCR!Mk<OcUS4aO=Nt(>84bmlMr@|a>AKfh<T|vN{yoQO= z#CXHI<8x<?J-D38x2M@EbG#1;CIn&rVo3IU$T=_XMb41q3^HxgASVz85Y?eW`37xX zQbnpZhj20SZC;DYYK$8Qt>=5u)e1428*LL5x}Yi`gXN<8>oXRrG%by^EG*`A+?9tR z)HlE+<}OAyFnf1vMz>T8r~kP+kZ{9K^Bn-sA=+Bw`TOhn$zJzQJy@PgE|44dt!)?e zxB%TerFY=1Q<62)@ya*64nq4n)Zt*sl|pD`{inYML%)-<dW!0;-laNOTs}!~Xll${ zjmCQT^pYvT$_(`F>Gr{3b1D!22b)1RpAZL@rmd8sFFlX?Q`69p@aw(m#!jac$eRL& z?A<+O-&FG95K}8%XlK*cYccCG;1z8KAOM&DFUW;$cj#oXL!<U#cyjO_;4_`wW4iLU z!O$l`yljpyVJ<!INLDF70T;6XQ3cjJrUS%Pu}^}j2n@XAZys2UX7Q%4$Y-c4=EL37 zhUIZOlS}0%?Hm4&@y72=Px8uD4mDQK3urYqrg>&bTw{vG>a$6T0WZf?Yu1ujzoZ&s za_x|T@p-h$UucU)xpGdHWwIBye`J$j>{lcvCgN73Y<)N3FP;%4T%J5aMpv{@L_<E- zt94RnjlwLvtB6=)FpSVClf$LO&#&0k=$4Nm8<C|}!cA&-?qKQm&#y=sQ(QKFsxZC5 zD7;4k%J-R#e$i)CQZUdsXUT%h#44co6YgeZi74*vzr5p=0;6Rsclsd?K-5`iG#r{@ z$oe7`G;b^N?_|zyZ8044(X%F_5y=<;&4U7QZ`w4%QUl_K#50Mj-CsrLdCibS^}K$j z8;WD*i&FqJ3>}6P_uUMgoGVV)B_CHkk7Q0u^b=YBU52JwV@b>yg-yR$en^;x@{*S& zy{Jf6+_OppWAeR$^$%3XPdT7{gXNcTo8~{)>>Ew>bsYP?OF$tDYs-%~(@;>&DqO=x z2J@4=$d=Mbg%ucChC>3IJx2ft{puJ<l6)x47P5pB)ETj1VX?v6Bkg3{Da{*r)N-oe zC#2Uxt}7?DWTOdlu-l`Z$EAZ=48H<M4FFMk)+XrR8x1KPkxSukH9Ug*u>Sj-)3%z` zB!YAySnLE^9U?(-J8{g=UqyHg$%X@K|NB#Vge*dSR_e#F;QcQ}K}J=&`lDI!{{q$h B0%rgK literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/img/new_issue_from_tracker_list.png b/doc/user/project/issues/img/new_issue_from_tracker_list.png new file mode 100755 index 0000000000000000000000000000000000000000..7e5413f0b7d4c09550e5fb839f0bb7f2acba33b4 GIT binary patch literal 24345 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 KC|fQK@&A8(uOb)# literal 0 HcmV?d00001 diff --git a/doc/user/project/issues/issues_functionalities.md b/doc/user/project/issues/issues_functionalities.md index ba843201e1a..637aba56bfd 100644 --- a/doc/user/project/issues/issues_functionalities.md +++ b/doc/user/project/issues/issues_functionalities.md @@ -6,7 +6,7 @@ Please read through the [GitLab Issue Documentation](index.md) for an overview o The image bellow illustrates how an issue looks like: - + You can find all the information on that issue on one screen. @@ -41,6 +41,7 @@ it's reassigned to someone else to take it from there. if a user is not member of that project, it can only be assigned to them if they created the issue themselves. +<<<<<<< HEAD ##### 3.1. Multiple Assignees (EES/EEP) Issue Weights are only available in [GitLab Enterprise Edition](https://about.gitlab.com/gitlab-ee/). @@ -56,6 +57,8 @@ to an issue. Multiple Assignees was [introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/1904) in [GitLab Enterprise Edition 9.2](https://about.gitlab.com/2017/05/22/gitlab-9-2-released/#multiple-assignees-for-issues). +======= +>>>>>>> 6386e42... Merge branch 'docs/new-topic-issues' into 'master' #### 4. Milestone - Select a [milestone](../milestones/index.md) to attribute that issue to. @@ -147,7 +150,7 @@ or in the issue thread. #### 15. Award emoji -- Award an emoji to that issue. +- Award an emoji to that issue. > **Tip:** Posting "+1" as comments in threads spam all @@ -168,9 +171,17 @@ Once you wrote your comment, you can either: - Click "Start discussion": start a thread within that issue's thread to discuss specific points. - Click "Comment and close issue": post your comment and close that issue in one click. +<<<<<<< HEAD #### 18. New Merge Request - Create a new merge request (with a new source branch named after the issue) in one action. The merge request will automatically close that issue as soon as merged. - Optionally, you can just create a [new branch](../repository/web_editor.md#create-a-new-branch-from-an-issue) named after that issue. +======= +#### 18. New branch + +- [New branch](../repository/web_editor.md#create-a-new-branch-from-an-issue): +create a new branch, followed by a new merge request which will automatically close that +issue as soon as that merge request is merged. +>>>>>>> 6386e42... Merge branch 'docs/new-topic-issues' into 'master' -- GitLab From d753c1c355188083759385ca77de2b515d279336 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Mon, 22 May 2017 18:58:09 -0500 Subject: [PATCH 163/249] Fix cherry pick doc --- doc/user/project/issues/issues_functionalities.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/doc/user/project/issues/issues_functionalities.md b/doc/user/project/issues/issues_functionalities.md index 637aba56bfd..0a123de2fe8 100644 --- a/doc/user/project/issues/issues_functionalities.md +++ b/doc/user/project/issues/issues_functionalities.md @@ -41,7 +41,6 @@ it's reassigned to someone else to take it from there. if a user is not member of that project, it can only be assigned to them if they created the issue themselves. -<<<<<<< HEAD ##### 3.1. Multiple Assignees (EES/EEP) Issue Weights are only available in [GitLab Enterprise Edition](https://about.gitlab.com/gitlab-ee/). @@ -57,8 +56,6 @@ to an issue. Multiple Assignees was [introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/1904) in [GitLab Enterprise Edition 9.2](https://about.gitlab.com/2017/05/22/gitlab-9-2-released/#multiple-assignees-for-issues). -======= ->>>>>>> 6386e42... Merge branch 'docs/new-topic-issues' into 'master' #### 4. Milestone - Select a [milestone](../milestones/index.md) to attribute that issue to. @@ -171,17 +168,8 @@ Once you wrote your comment, you can either: - Click "Start discussion": start a thread within that issue's thread to discuss specific points. - Click "Comment and close issue": post your comment and close that issue in one click. -<<<<<<< HEAD -#### 18. New Merge Request - -- Create a new merge request (with a new source branch named after the issue) in one action. -The merge request will automatically close that issue as soon as merged. -- Optionally, you can just create a [new branch](../repository/web_editor.md#create-a-new-branch-from-an-issue) -named after that issue. -======= #### 18. New branch - [New branch](../repository/web_editor.md#create-a-new-branch-from-an-issue): create a new branch, followed by a new merge request which will automatically close that issue as soon as that merge request is merged. ->>>>>>> 6386e42... Merge branch 'docs/new-topic-issues' into 'master' -- GitLab From 078638a6ab0161ede25653484fd7e37df7f8708e Mon Sep 17 00:00:00 2001 From: Kushal Pandya <kushalspandya@gmail.com> Date: Tue, 23 May 2017 07:18:08 +0000 Subject: [PATCH 164/249] Merge branch 'fix-retried-for-postgres' into 'master' Fix migrations for older PostgreSQL versions Closes #32721 See merge request !11620 --- .gitlab-ci.yml | 2 +- changelogs/unreleased/fix-migration-for-postgres.yml | 4 ++++ ...b => 20170503004427_update_retried_for_ci_build.rb} | 10 ++++++---- ...ds_spec.rb => update_retried_for_ci_builds_spec.rb} | 4 ++-- 4 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 changelogs/unreleased/fix-migration-for-postgres.yml rename db/post_migrate/{20170503004427_upate_retried_for_ci_build.rb => 20170503004427_update_retried_for_ci_build.rb} (76%) rename spec/migrations/{upate_retried_for_ci_builds_spec.rb => update_retried_for_ci_builds_spec.rb} (84%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4ff6663c130..23d2e48662c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,7 +51,7 @@ stages: .use-pg: &use-pg services: - - postgres:latest + - postgres:9.2 - redis:alpine .use-mysql: &use-mysql diff --git a/changelogs/unreleased/fix-migration-for-postgres.yml b/changelogs/unreleased/fix-migration-for-postgres.yml new file mode 100644 index 00000000000..dda7051c8f5 --- /dev/null +++ b/changelogs/unreleased/fix-migration-for-postgres.yml @@ -0,0 +1,4 @@ +--- +title: Fix migration for older PostgreSQL versions +merge_request: +author: diff --git a/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb b/db/post_migrate/20170503004427_update_retried_for_ci_build.rb similarity index 76% rename from db/post_migrate/20170503004427_upate_retried_for_ci_build.rb rename to db/post_migrate/20170503004427_update_retried_for_ci_build.rb index 3096c54acb7..3a4d6c4916b 100644 --- a/db/post_migrate/20170503004427_upate_retried_for_ci_build.rb +++ b/db/post_migrate/20170503004427_update_retried_for_ci_build.rb @@ -1,4 +1,4 @@ -class UpateRetriedForCiBuild < ActiveRecord::Migration +class UpdateRetriedForCiBuild < ActiveRecord::Migration include Gitlab::Database::MigrationHelpers DOWNTIME = false @@ -54,13 +54,15 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration def with_temporary_partial_index if Gitlab::Database.postgresql? - execute 'CREATE INDEX CONCURRENTLY IF NOT EXISTS index_for_ci_builds_retried_migration ON ci_builds (id) WHERE retried IS NULL;' + unless index_exists?(:ci_builds, name: :index_for_ci_builds_retried_migration) + execute 'CREATE INDEX CONCURRENTLY index_for_ci_builds_retried_migration ON ci_builds (id) WHERE retried IS NULL;' + end end yield - if Gitlab::Database.postgresql? - execute 'DROP INDEX CONCURRENTLY IF EXISTS index_for_ci_builds_retried_migration' + if Gitlab::Database.postgresql? && index_exists?(:ci_builds, name: :index_for_ci_builds_retried_migration) + execute 'DROP INDEX CONCURRENTLY index_for_ci_builds_retried_migration' end end end diff --git a/spec/migrations/upate_retried_for_ci_builds_spec.rb b/spec/migrations/update_retried_for_ci_builds_spec.rb similarity index 84% rename from spec/migrations/upate_retried_for_ci_builds_spec.rb rename to spec/migrations/update_retried_for_ci_builds_spec.rb index 5cdb8a3c7da..3742b4dafe5 100644 --- a/spec/migrations/upate_retried_for_ci_builds_spec.rb +++ b/spec/migrations/update_retried_for_ci_builds_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' -require Rails.root.join('db', 'post_migrate', '20170503004427_upate_retried_for_ci_build.rb') +require Rails.root.join('db', 'post_migrate', '20170503004427_update_retried_for_ci_build.rb') -describe UpateRetriedForCiBuild, truncate: true do +describe UpdateRetriedForCiBuild, truncate: true do let(:pipeline) { create(:ci_pipeline) } let!(:build_old) { create(:ci_build, pipeline: pipeline, name: 'test') } let!(:build_new) { create(:ci_build, pipeline: pipeline, name: 'test') } -- GitLab From 12fb0a63b00abec7929b207c01f9f4556534588b Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Mon, 22 May 2017 07:48:00 +0000 Subject: [PATCH 165/249] Merge branch '32496-admin-tabs' into 'master' Fix admin tabs Closes #32496 See merge request !11514 --- app/views/admin/users/index.html.haml | 71 ++++++++++++++------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/app/views/admin/users/index.html.haml b/app/views/admin/users/index.html.haml index c7cd86527d3..5516134d8a0 100644 --- a/app/views/admin/users/index.html.haml +++ b/app/views/admin/users/index.html.haml @@ -3,41 +3,43 @@ = render "admin/dashboard/head" %div{ class: container_class } - .top-area - .prepend-top-default - = form_tag admin_users_path, method: :get do - - if params[:filter].present? - = hidden_field_tag "filter", h(params[:filter]) - .search-holder - .search-field-holder - = search_field_tag :search_query, params[:search_query], placeholder: 'Search by name, email or username', class: 'form-control search-text-input js-search-input', spellcheck: false - = icon("search", class: "search-icon") - .dropdown - - toggle_text = if @sort.present? then sort_options_hash[@sort] else sort_title_name end - = dropdown_toggle(toggle_text, { toggle: 'dropdown' }) - %ul.dropdown-menu.dropdown-menu-align-right - %li.dropdown-header - Sort by - %li - = link_to admin_users_path(sort: sort_value_name, filter: params[:filter]) do - = sort_title_name - = link_to admin_users_path(sort: sort_value_recently_signin, filter: params[:filter]) do - = sort_title_recently_signin - = link_to admin_users_path(sort: sort_value_oldest_signin, filter: params[:filter]) do - = sort_title_oldest_signin - = link_to admin_users_path(sort: sort_value_recently_created, filter: params[:filter]) do - = sort_title_recently_created - = link_to admin_users_path(sort: sort_value_oldest_created, filter: params[:filter]) do - = sort_title_oldest_created - = link_to admin_users_path(sort: sort_value_recently_updated, filter: params[:filter]) do - = sort_title_recently_updated - = link_to admin_users_path(sort: sort_value_oldest_updated, filter: params[:filter]) do - = sort_title_oldest_updated - = link_to 'New user', new_admin_user_path, class: 'btn btn-new btn-search' + .prepend-top-default + = form_tag admin_users_path, method: :get do + - if params[:filter].present? + = hidden_field_tag "filter", h(params[:filter]) + .search-holder + .search-field-holder + = search_field_tag :search_query, params[:search_query], placeholder: 'Search by name, email or username', class: 'form-control search-text-input js-search-input', spellcheck: false + = icon("search", class: "search-icon") + .dropdown + - toggle_text = if @sort.present? then sort_options_hash[@sort] else sort_title_name end + = dropdown_toggle(toggle_text, { toggle: 'dropdown' }) + %ul.dropdown-menu.dropdown-menu-align-right + %li.dropdown-header + Sort by + %li + = link_to admin_users_path(sort: sort_value_name, filter: params[:filter]) do + = sort_title_name + = link_to admin_users_path(sort: sort_value_recently_signin, filter: params[:filter]) do + = sort_title_recently_signin + = link_to admin_users_path(sort: sort_value_oldest_signin, filter: params[:filter]) do + = sort_title_oldest_signin + = link_to admin_users_path(sort: sort_value_recently_created, filter: params[:filter]) do + = sort_title_recently_created + = link_to admin_users_path(sort: sort_value_oldest_created, filter: params[:filter]) do + = sort_title_oldest_created + = link_to admin_users_path(sort: sort_value_recently_updated, filter: params[:filter]) do + = sort_title_recently_updated + = link_to admin_users_path(sort: sort_value_oldest_updated, filter: params[:filter]) do + = sort_title_oldest_updated + = link_to 'New user', new_admin_user_path, class: 'btn btn-new btn-search' - .nav-block - %ul.nav-links.wide.scrolling-tabs.white.scrolling-tabs - .fade-left + .top-area.scrolling-tabs-container.inner-page-scroll-tabs + .fade-left + = icon('angle-left') + .fade-right + = icon('angle-right') + %ul.nav-links.scrolling-tabs = nav_link(html_options: { class: active_when(params[:filter].nil?) }) do = link_to admin_users_path do Active @@ -66,7 +68,6 @@ = link_to admin_users_path(filter: "wop") do Without projects %small.badge= number_with_delimiter(User.without_projects.count) - .fade-right %ul.flex-list.content-list - if @users.empty? -- GitLab From b0358caa2cca761be404344b98aa3df8d6a2e10c Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Tue, 23 May 2017 11:31:07 +0000 Subject: [PATCH 166/249] Merge branch '32480-follow-up-from-add-sha-mismatch-state-to-the-mr-widget' into 'master' Resolve "Follow-up from "Add "SHA mismatch" state to the MR widget"" Closes #32480 See merge request !11466 --- .../vue_merge_request_widget/stores/mr_widget_store.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js index 05e67706983..1533c857863 100644 --- a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js +++ b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js @@ -4,7 +4,7 @@ import { getStateKey } from '../dependencies'; export default class MergeRequestStore { constructor(data) { - this.startingSha = data.diff_head_sha; + this.sha = data.diff_head_sha; this.setData(data); } @@ -16,7 +16,6 @@ export default class MergeRequestStore { this.targetBranch = data.target_branch; this.sourceBranch = data.source_branch; this.mergeStatus = data.merge_status; - this.sha = data.diff_head_sha; this.commitMessage = data.merge_commit_message; this.commitMessageWithDescription = data.merge_commit_message_with_description; this.commitsCount = data.commits_count; @@ -68,7 +67,7 @@ export default class MergeRequestStore { this.canMerge = !!data.merge_path; this.canCreateIssue = currentUser.can_create_issue || false; this.canCancelAutomaticMerge = !!data.cancel_merge_when_pipeline_succeeds_path; - this.hasSHAChanged = this.sha !== this.startingSha; + this.hasSHAChanged = this.sha !== data.diff_head_sha; this.canBeMerged = data.can_be_merged || false; // Cherry-pick and Revert actions related -- GitLab From 8b46dfdc6bcd5f0174dd44482412695a94a33c54 Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Tue, 23 May 2017 14:11:00 +0000 Subject: [PATCH 167/249] Merge branch 'fix-backup-raketask' into 'master' Add missing regex to backup manager Closes #32669 See merge request !11635 --- lib/backup/manager.rb | 6 +++++- spec/lib/gitlab/backup/manager_spec.rb | 28 +++++++++++++++++--------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/lib/backup/manager.rb b/lib/backup/manager.rb index 330cd963626..f755c99ea4a 100644 --- a/lib/backup/manager.rb +++ b/lib/backup/manager.rb @@ -84,7 +84,11 @@ module Backup Dir.chdir(backup_path) do backup_file_list.each do |file| - next unless file =~ /(\d+)(?:_\d{4}_\d{2}_\d{2})?_gitlab_backup\.tar/ + # For backward compatibility, there are 3 names the backups can have: + # - 1495527122_gitlab_backup.tar + # - 1495527068_2017_05_23_gitlab_backup.tar + # - 1495527097_2017_05_23_9.3.0-pre_gitlab_backup.tar + next unless file =~ /(\d+)(?:_\d{4}_\d{2}_\d{2}(_\d+\.\d+\.\d+.*)?)?_gitlab_backup\.tar$/ timestamp = $1.to_i diff --git a/spec/lib/gitlab/backup/manager_spec.rb b/spec/lib/gitlab/backup/manager_spec.rb index f84782ab440..2dd428bf20b 100644 --- a/spec/lib/gitlab/backup/manager_spec.rb +++ b/spec/lib/gitlab/backup/manager_spec.rb @@ -24,8 +24,9 @@ describe Backup::Manager, lib: true do describe '#remove_old' do let(:files) do [ - '1451606400_2016_01_01_gitlab_backup.tar', - '1451520000_2015_12_31_gitlab_backup.tar', + '1451606400_2016_01_01_1.2.3_gitlab_backup.tar', + '1451520000_2015_12_31_4.5.6_gitlab_backup.tar', + '1451510000_2015_12_30_gitlab_backup.tar', '1450742400_2015_12_22_gitlab_backup.tar', '1449878400_gitlab_backup.tar', '1449014400_gitlab_backup.tar', @@ -58,6 +59,7 @@ describe Backup::Manager, lib: true do context 'when there are no files older than keep_time' do before do + # Set to 30 days allow(Gitlab.config.backup).to receive(:keep_time).and_return(2592000) subject.remove_old @@ -74,19 +76,24 @@ describe Backup::Manager, lib: true do context 'when keep_time is set to remove files' do before do + # Set to 1 second allow(Gitlab.config.backup).to receive(:keep_time).and_return(1) subject.remove_old end - it 'removes matching files with a human-readable timestamp' do + it 'removes matching files with a human-readable versioned timestamp' do expect(FileUtils).to have_received(:rm).with(files[1]) + end + + it 'removes matching files with a human-readable non-versioned timestamp' do expect(FileUtils).to have_received(:rm).with(files[2]) + expect(FileUtils).to have_received(:rm).with(files[3]) end it 'removes matching files without a human-readable timestamp' do - expect(FileUtils).to have_received(:rm).with(files[3]) expect(FileUtils).to have_received(:rm).with(files[4]) + expect(FileUtils).to have_received(:rm).with(files[5]) end it 'does not remove files that are not old enough' do @@ -94,11 +101,11 @@ describe Backup::Manager, lib: true do end it 'does not remove non-matching files' do - expect(FileUtils).not_to have_received(:rm).with(files[5]) + expect(FileUtils).not_to have_received(:rm).with(files[6]) end it 'prints a done message' do - expect(progress).to have_received(:puts).with('done. (4 removed)') + expect(progress).to have_received(:puts).with('done. (5 removed)') end end @@ -117,10 +124,11 @@ describe Backup::Manager, lib: true do expect(FileUtils).to have_received(:rm).with(files[2]) expect(FileUtils).to have_received(:rm).with(files[3]) expect(FileUtils).to have_received(:rm).with(files[4]) + expect(FileUtils).to have_received(:rm).with(files[5]) end it 'sets the correct removed count' do - expect(progress).to have_received(:puts).with('done. (3 removed)') + expect(progress).to have_received(:puts).with('done. (4 removed)') end it 'prints the error from file that could not be removed' do @@ -187,21 +195,21 @@ describe Backup::Manager, lib: true do before do allow(Dir).to receive(:glob).and_return( [ - '1451606400_2016_01_01_gitlab_backup.tar' + '1451606400_2016_01_01_1.2.3_gitlab_backup.tar' ] ) allow(File).to receive(:exist?).and_return(true) allow(Kernel).to receive(:system).and_return(true) allow(YAML).to receive(:load_file).and_return(gitlab_version: Gitlab::VERSION) - stub_env('BACKUP', '1451606400_2016_01_01') + stub_env('BACKUP', '1451606400_2016_01_01_1.2.3') end it 'unpacks the file' do subject.unpack expect(Kernel).to have_received(:system) - .with("tar", "-xf", "1451606400_2016_01_01_gitlab_backup.tar") + .with("tar", "-xf", "1451606400_2016_01_01_1.2.3_gitlab_backup.tar") expect(progress).to have_received(:puts).with(a_string_matching('done')) end end -- GitLab From 4a2ef6c95df573342bb44906a42bc94ecbc7c9b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Tue, 9 May 2017 15:41:15 +0000 Subject: [PATCH 168/249] Merge branch 'fix/gb/remove-ci-models-from-eager-load-paths' into 'master' Remove CI/CD models directory from `eager_load_paths` Closes #31841 See merge request !11129 --- config/application.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/config/application.rb b/config/application.rb index 85dfbafb975..95ba6774916 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,7 +22,6 @@ module Gitlab # This is a nice reference article on autoloading/eager loading: # http://blog.arkency.com/2014/11/dont-forget-about-eager-load-when-extending-autoload config.eager_load_paths.push(*%W(#{config.root}/lib - #{config.root}/app/models/ci #{config.root}/app/models/hooks #{config.root}/app/models/members #{config.root}/app/models/project_services -- GitLab From 677229bb4cce279149e983afdfb86ec18c27e710 Mon Sep 17 00:00:00 2001 From: Fatih Acet <acetfatih@gmail.com> Date: Fri, 19 May 2017 19:52:45 +0000 Subject: [PATCH 169/249] Merge branch '32536-mr-widget-performance-improvements' into 'master' Load improvements related to MR widget See merge request !11518 --- .../mr_widget_options.js | 1 - .../services/mr_widget_service.js | 2 +- .../projects/merge_requests_controller.rb | 18 ++++++++++-------- app/serializers/merge_request_basic_entity.rb | 1 + app/serializers/merge_request_entity.rb | 7 ------- app/views/shared/issuable/_sidebar.html.haml | 2 +- config/routes/project.rb | 1 - .../projects/merge_requests_controller_spec.rb | 12 ++++++++++++ .../api/schemas/entities/merge_request.json | 1 - .../schemas/entities/merge_request_basic.json | 3 ++- .../vue_mr_widget/mr_widget_options_spec.js | 2 -- spec/routing/project_routing_spec.rb | 5 ----- 12 files changed, 27 insertions(+), 28 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js index 5452e19bd8e..99600b6664e 100644 --- a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js +++ b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.js @@ -175,7 +175,6 @@ export default { }); }, handleMounted() { - this.checkStatus(); this.setFavicon(); this.initDeploymentsPolling(); }, diff --git a/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js b/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js index 42493be3372..79c3d335679 100644 --- a/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js +++ b/app/assets/javascripts/vue_merge_request_widget/services/mr_widget_service.js @@ -6,7 +6,7 @@ Vue.use(VueResource); export default class MRWidgetService { constructor(endpoints) { this.mergeResource = Vue.resource(endpoints.mergePath); - this.mergeCheckResource = Vue.resource(endpoints.mergeCheckPath); + this.mergeCheckResource = Vue.resource(endpoints.statusPath); this.cancelAutoMergeResource = Vue.resource(endpoints.cancelAutoMergePath); this.removeWIPResource = Vue.resource(endpoints.removeWIPPath); this.removeSourceBranchResource = Vue.resource(endpoints.sourceBranchPath); diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index b99ccd453b8..0352065998b 100755 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -9,14 +9,15 @@ class Projects::MergeRequestsController < Projects::ApplicationController before_action :module_enabled before_action :merge_request, only: [ - :edit, :update, :show, :diffs, :commits, :conflicts, :conflict_for_path, :pipelines, :merge, :merge_check, + :edit, :update, :show, :diffs, :commits, :conflicts, :conflict_for_path, :pipelines, :merge, :pipeline_status, :ci_environments_status, :toggle_subscription, :cancel_merge_when_pipeline_succeeds, :remove_wip, :resolve_conflicts, :assign_related_issues, :commit_change_content ] before_action :validates_merge_request, only: [:show, :diffs, :commits, :pipelines] - before_action :define_show_vars, only: [:show, :diffs, :commits, :conflicts, :conflict_for_path, :builds, :pipelines] + before_action :define_show_vars, only: [:diffs, :commits, :conflicts, :conflict_for_path, :builds, :pipelines] before_action :define_commit_vars, only: [:diffs] before_action :ensure_ref_fetched, only: [:show, :diffs, :commits, :builds, :conflicts, :conflict_for_path, :pipelines] before_action :close_merge_request_without_source_project, only: [:show, :diffs, :commits, :builds, :pipelines] + before_action :check_if_can_be_merged, only: :show before_action :apply_diff_view_cookie!, only: [:new_diffs] before_action :build_merge_request, only: [:new, :new_diffs] @@ -75,9 +76,12 @@ class Projects::MergeRequestsController < Projects::ApplicationController respond_to do |format| format.html do define_discussion_vars + define_show_vars end format.json do + Gitlab::PollingInterval.set_header(response, interval: 10_000) + render json: serializer.represent(@merge_request, basic: params[:basic]) end @@ -309,12 +313,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController render json: serializer.represent(@merge_request) end - def merge_check - @merge_request.check_if_can_be_merged - - render json: serializer.represent(@merge_request) - end - def commit_change_content render partial: 'projects/merge_requests/widget/commit_change_content', layout: false end @@ -640,6 +638,10 @@ class Projects::MergeRequestsController < Projects::ApplicationController private + def check_if_can_be_merged + @merge_request.check_if_can_be_merged + end + def merge! # Disable the CI check if merge_when_pipeline_succeeds is enabled since we have # to wait until CI completes to know diff --git a/app/serializers/merge_request_basic_entity.rb b/app/serializers/merge_request_basic_entity.rb index 8771345c135..8461f158bb5 100644 --- a/app/serializers/merge_request_basic_entity.rb +++ b/app/serializers/merge_request_basic_entity.rb @@ -1,4 +1,5 @@ class MergeRequestBasicEntity < Grape::Entity + expose :assignee_id expose :merge_status expose :merge_error expose :state diff --git a/app/serializers/merge_request_entity.rb b/app/serializers/merge_request_entity.rb index a2542c54f7a..26fea59cda8 100644 --- a/app/serializers/merge_request_entity.rb +++ b/app/serializers/merge_request_entity.rb @@ -1,7 +1,6 @@ class MergeRequestEntity < IssuableEntity include RequestAwareEntity - expose :assignee_id expose :in_progress_merge_commit_sha expose :locked_at expose :merge_commit_sha @@ -146,12 +145,6 @@ class MergeRequestEntity < IssuableEntity format: :json) end - expose :merge_check_path do |merge_request| - merge_check_namespace_project_merge_request_path(merge_request.project.namespace, - merge_request.project, - merge_request) - end - expose :ci_environments_status_path do |merge_request| ci_environments_status_namespace_project_merge_request_path(merge_request.project.namespace, merge_request.project, diff --git a/app/views/shared/issuable/_sidebar.html.haml b/app/views/shared/issuable/_sidebar.html.haml index 3a66880e177..418e1b2d73f 100644 --- a/app/views/shared/issuable/_sidebar.html.haml +++ b/app/views/shared/issuable/_sidebar.html.haml @@ -140,7 +140,7 @@ :javascript gl.sidebarOptions = { - endpoint: "#{issuable_json_path(issuable)}", + endpoint: "#{issuable_json_path(issuable)}?basic=true", editable: #{can_edit_issuable ? true : false}, currentUser: #{current_user.to_json(only: [:username, :id, :name], methods: :avatar_url)}, rootPath: "#{root_path}" diff --git a/config/routes/project.rb b/config/routes/project.rb index a6c104c2d3f..1f385e4c834 100644 --- a/config/routes/project.rb +++ b/config/routes/project.rb @@ -74,7 +74,6 @@ constraints(ProjectUrlConstrainer.new) do get :conflicts get :conflict_for_path get :pipelines - get :merge_check get :commit_change_content post :merge post :cancel_merge_when_pipeline_succeeds diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index fdee8c6e970..646ea876e5f 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -119,6 +119,18 @@ describe Projects::MergeRequestsController do expect(response).to match_response_schema('entities/merge_request') end end + + context 'number of queries' do + it 'verifies number of queries' do + # pre-create objects + merge_request + + recorded = ActiveRecord::QueryRecorder.new { go(format: :json) } + + expect(recorded.count).to be_within(1).of(51) + expect(recorded.cached_count).to eq(0) + end + end end describe "as diff" do diff --git a/spec/fixtures/api/schemas/entities/merge_request.json b/spec/fixtures/api/schemas/entities/merge_request.json index 0a7e0e2d5f2..7dda62ca3e7 100644 --- a/spec/fixtures/api/schemas/entities/merge_request.json +++ b/spec/fixtures/api/schemas/entities/merge_request.json @@ -3,7 +3,6 @@ "properties" : { "id": { "type": "integer" }, "iid": { "type": "integer" }, - "assignee_id": { "type": ["integer", "null"] }, "author_id": { "type": "integer" }, "description": { "type": ["string", "null"] }, "lock_version": { "type": ["string", "null"] }, diff --git a/spec/fixtures/api/schemas/entities/merge_request_basic.json b/spec/fixtures/api/schemas/entities/merge_request_basic.json index ea6364b878c..6b14188582a 100644 --- a/spec/fixtures/api/schemas/entities/merge_request_basic.json +++ b/spec/fixtures/api/schemas/entities/merge_request_basic.json @@ -8,7 +8,8 @@ "total_time_spent": { "type": "integer" }, "human_time_estimate": { "type": ["string", "null"] }, "human_total_time_spent": { "type": ["string", "null"] }, - "merge_error": { "type": ["string", "null"] } + "merge_error": { "type": ["string", "null"] }, + "assignee_id": { "type": ["integer", "null"] } }, "additionalProperties": false } diff --git a/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js b/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js index 22ee7dcf0e7..bdc18243a15 100644 --- a/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js +++ b/spec/javascripts/vue_mr_widget/mr_widget_options_spec.js @@ -227,13 +227,11 @@ describe('mrWidgetOptions', () => { describe('handleMounted', () => { it('should call required methods to do the initial kick-off', () => { - spyOn(vm, 'checkStatus'); spyOn(vm, 'initDeploymentsPolling'); spyOn(vm, 'setFavicon'); vm.handleMounted(); - expect(vm.checkStatus).toHaveBeenCalled(); expect(vm.setFavicon).toHaveBeenCalled(); expect(vm.initDeploymentsPolling).toHaveBeenCalled(); }); diff --git a/spec/routing/project_routing_spec.rb b/spec/routing/project_routing_spec.rb index 50e96d56191..d5400bbaaf1 100644 --- a/spec/routing/project_routing_spec.rb +++ b/spec/routing/project_routing_spec.rb @@ -243,7 +243,6 @@ describe 'project routing' do # diffs_namespace_project_merge_request GET /:namespace_id/:project_id/merge_requests/:id/diffs(.:format) projects/merge_requests#diffs # commits_namespace_project_merge_request GET /:namespace_id/:project_id/merge_requests/:id/commits(.:format) projects/merge_requests#commits # merge_namespace_project_merge_request POST /:namespace_id/:project_id/merge_requests/:id/merge(.:format) projects/merge_requests#merge - # merge_check_namespace_project_merge_request GET /:namespace_id/:project_id/merge_requests/:id/merge_check(.:format) projects/merge_requests#merge_check # ci_status_namespace_project_merge_request GET /:namespace_id/:project_id/merge_requests/:id/ci_status(.:format) projects/merge_requests#ci_status # toggle_subscription_namespace_project_merge_request POST /:namespace_id/:project_id/merge_requests/:id/toggle_subscription(.:format) projects/merge_requests#toggle_subscription # branch_from_namespace_project_merge_requests GET /:namespace_id/:project_id/merge_requests/branch_from(.:format) projects/merge_requests#branch_from @@ -272,10 +271,6 @@ describe 'project routing' do ) end - it 'to #merge_check' do - expect(get('/gitlab/gitlabhq/merge_requests/1/merge_check')).to route_to('projects/merge_requests#merge_check', namespace_id: 'gitlab', project_id: 'gitlabhq', id: '1') - end - it 'to #branch_from' do expect(get('/gitlab/gitlabhq/merge_requests/branch_from')).to route_to('projects/merge_requests#branch_from', namespace_id: 'gitlab', project_id: 'gitlabhq') end -- GitLab From ff7d559ad21755e208aebfe1ed68692702d3a333 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Tue, 23 May 2017 15:44:43 -0500 Subject: [PATCH 170/249] Update CHANGELOG.md for 9.2.1 [ci skip] --- CHANGELOG.md | 5 +++++ changelogs/unreleased/32486-fix-note-emoji-placement.yml | 4 ---- changelogs/unreleased/fix-migration-for-postgres.yml | 4 ---- 3 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 changelogs/unreleased/32486-fix-note-emoji-placement.yml delete mode 100644 changelogs/unreleased/fix-migration-for-postgres.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 20e701c6b22..e4f48ccb450 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ documentation](doc/development/changelog.md) for instructions on adding your own 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) diff --git a/changelogs/unreleased/32486-fix-note-emoji-placement.yml b/changelogs/unreleased/32486-fix-note-emoji-placement.yml deleted file mode 100644 index 62c345895fc..00000000000 --- a/changelogs/unreleased/32486-fix-note-emoji-placement.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix placement of note emoji on hover -merge_request: -author: diff --git a/changelogs/unreleased/fix-migration-for-postgres.yml b/changelogs/unreleased/fix-migration-for-postgres.yml deleted file mode 100644 index dda7051c8f5..00000000000 --- a/changelogs/unreleased/fix-migration-for-postgres.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix migration for older PostgreSQL versions -merge_request: -author: -- GitLab From df00a75e0b4d4d5c59bf550ae0895a29a0fb3f68 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Tue, 23 May 2017 15:44:47 -0500 Subject: [PATCH 171/249] Update VERSION to 9.2.1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index deeb3d66ef0..45acc9e6670 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0 +9.2.1 -- GitLab From 2b7a0e01ea5076e373d1a7224433f5947c266bff Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Tue, 23 May 2017 22:15:59 +0000 Subject: [PATCH 172/249] Merge branch 'acet-fix-mr-widget-state' into 'master' Change order of if blocks to determine widget state properly. Closes #32550 See merge request !11668 --- .../vue_merge_request_widget/stores/get_state_key.js | 8 ++++---- .../vue_mr_widget/stores/get_state_key_spec.js | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js index fb78ea92da1..7c15abfff10 100644 --- a/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js +++ b/app/assets/javascripts/vue_merge_request_widget/stores/get_state_key.js @@ -11,10 +11,6 @@ export default function deviseState(data) { return 'conflicts'; } else if (data.work_in_progress) { return 'workInProgress'; - } else if (this.mergeWhenPipelineSucceeds) { - return this.mergeError ? 'autoMergeFailed' : 'mergeWhenPipelineSucceeds'; - } else if (!this.canMerge) { - return 'notAllowedToMerge'; } else if (this.onlyAllowMergeIfPipelineSucceeds && this.isPipelineFailed) { return 'pipelineFailed'; } else if (this.hasMergeableDiscussionsState) { @@ -23,6 +19,10 @@ export default function deviseState(data) { return 'pipelineBlocked'; } else if (this.hasSHAChanged) { return 'shaMismatch'; + } else if (this.mergeWhenPipelineSucceeds) { + return this.mergeError ? 'autoMergeFailed' : 'mergeWhenPipelineSucceeds'; + } else if (!this.canMerge) { + return 'notAllowedToMerge'; } else if (this.canBeMerged) { return 'readyToMerge'; } diff --git a/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js index 9a331d99865..179e42a7cc4 100644 --- a/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js +++ b/spec/javascripts/vue_mr_widget/stores/get_state_key_spec.js @@ -25,6 +25,12 @@ describe('getStateKey', () => { context.canBeMerged = true; expect(bound()).toEqual('readyToMerge'); + context.canMerge = false; + expect(bound()).toEqual('notAllowedToMerge'); + + context.mergeWhenPipelineSucceeds = true; + expect(bound()).toEqual('mergeWhenPipelineSucceeds'); + context.hasSHAChanged = true; expect(bound()).toEqual('shaMismatch'); @@ -38,12 +44,6 @@ describe('getStateKey', () => { context.isPipelineFailed = true; expect(bound()).toEqual('pipelineFailed'); - context.canMerge = false; - expect(bound()).toEqual('notAllowedToMerge'); - - context.mergeWhenPipelineSucceeds = true; - expect(bound()).toEqual('mergeWhenPipelineSucceeds'); - data.work_in_progress = true; expect(bound()).toEqual('workInProgress'); -- GitLab From b0fe1810c1fa351b9db2214ababc0ae950026ee7 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Tue, 23 May 2017 18:56:19 +0000 Subject: [PATCH 173/249] Merge branch '32735-fix-right-sidebar-coming-up-short' into 'master' Fix right-sidebar gap on mobile Closes #32735 See merge request !11625 --- app/assets/stylesheets/framework/sidebar.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/assets/stylesheets/framework/sidebar.scss b/app/assets/stylesheets/framework/sidebar.scss index 82b84f85a46..cf30c256395 100644 --- a/app/assets/stylesheets/framework/sidebar.scss +++ b/app/assets/stylesheets/framework/sidebar.scss @@ -83,4 +83,8 @@ position: fixed; top: 0; } + + &:not(.affix-top) { + min-height: 100%; + } } -- GitLab From dae8838057114bb76c73acf050a5053024f724cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Tue, 23 May 2017 17:48:51 +0000 Subject: [PATCH 174/249] Merge branch 'zj-fix-pipeline-etag' into 'master' Fix pipeline etag Closes #32658 See merge request !11615 --- app/models/commit_status.rb | 1 + app/workers/expire_job_cache_worker.rb | 35 +++++++++++++++++++ app/workers/expire_pipeline_cache_worker.rb | 9 +++++ .../unreleased/zj-fix-pipeline-etag.yml | 4 +++ lib/gitlab/etag_caching/router.rb | 2 +- spec/lib/gitlab/etag_caching/router_spec.rb | 11 ++++++ spec/models/commit_status_spec.rb | 10 ++++++ spec/workers/expire_job_cache_worker_spec.rb | 31 ++++++++++++++++ .../expire_pipeline_cache_worker_spec.rb | 2 ++ 9 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 app/workers/expire_job_cache_worker.rb create mode 100644 changelogs/unreleased/zj-fix-pipeline-etag.yml create mode 100644 spec/workers/expire_job_cache_worker_spec.rb diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index ffafc678968..fe63728ea23 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -89,6 +89,7 @@ class CommitStatus < ActiveRecord::Base else PipelineUpdateWorker.perform_async(pipeline.id) end + ExpireJobCacheWorker.perform_async(commit_status.id) end end end diff --git a/app/workers/expire_job_cache_worker.rb b/app/workers/expire_job_cache_worker.rb new file mode 100644 index 00000000000..08e281e7350 --- /dev/null +++ b/app/workers/expire_job_cache_worker.rb @@ -0,0 +1,35 @@ +class ExpireJobCacheWorker + include Sidekiq::Worker + include BuildQueue + + def perform(job_id) + job = CommitStatus.joins(:pipeline, :project).find_by(id: job_id) + return unless job + + pipeline = job.pipeline + project = job.project + + Gitlab::EtagCaching::Store.new.tap do |store| + store.touch(project_pipeline_path(project, pipeline)) + store.touch(project_job_path(project, job)) + end + end + + private + + def project_pipeline_path(project, pipeline) + Gitlab::Routing.url_helpers.namespace_project_pipeline_path( + project.namespace, + project, + pipeline, + format: :json) + end + + def project_job_path(project, job) + Gitlab::Routing.url_helpers.namespace_project_build_path( + project.namespace, + project, + job.id, + format: :json) + end +end diff --git a/app/workers/expire_pipeline_cache_worker.rb b/app/workers/expire_pipeline_cache_worker.rb index 603e2f1aaea..d760f5b140f 100644 --- a/app/workers/expire_pipeline_cache_worker.rb +++ b/app/workers/expire_pipeline_cache_worker.rb @@ -10,6 +10,7 @@ class ExpirePipelineCacheWorker store = Gitlab::EtagCaching::Store.new store.touch(project_pipelines_path(project)) + store.touch(project_pipeline_path(project, pipeline)) store.touch(commit_pipelines_path(project, pipeline.commit)) if pipeline.commit store.touch(new_merge_request_pipelines_path(project)) each_pipelines_merge_request_path(project, pipeline) do |path| @@ -28,6 +29,14 @@ class ExpirePipelineCacheWorker format: :json) end + def project_pipeline_path(project, pipeline) + Gitlab::Routing.url_helpers.namespace_project_pipeline_path( + project.namespace, + project, + pipeline, + format: :json) + end + def commit_pipelines_path(project, commit) Gitlab::Routing.url_helpers.pipelines_namespace_project_commit_path( project.namespace, diff --git a/changelogs/unreleased/zj-fix-pipeline-etag.yml b/changelogs/unreleased/zj-fix-pipeline-etag.yml new file mode 100644 index 00000000000..03ebef8c575 --- /dev/null +++ b/changelogs/unreleased/zj-fix-pipeline-etag.yml @@ -0,0 +1,4 @@ +--- +title: Fix issue where real time pipelines were not cached +merge_request: 11615 +author: diff --git a/lib/gitlab/etag_caching/router.rb b/lib/gitlab/etag_caching/router.rb index 692c909d838..12f1ef35ae2 100644 --- a/lib/gitlab/etag_caching/router.rb +++ b/lib/gitlab/etag_caching/router.rb @@ -38,7 +38,7 @@ module Gitlab 'project_pipelines' ), Gitlab::EtagCaching::Router::Route.new( - %r(^(?!.*(#{RESERVED_WORDS})).*/pipelines/\d+\.json\z), + %r(^(?!.*(#{RESERVED_WORDS_REGEX})).*/pipelines/\d+\.json\z), 'project_pipeline' ), ].freeze diff --git a/spec/lib/gitlab/etag_caching/router_spec.rb b/spec/lib/gitlab/etag_caching/router_spec.rb index f3dacb4ef04..410df116a3a 100644 --- a/spec/lib/gitlab/etag_caching/router_spec.rb +++ b/spec/lib/gitlab/etag_caching/router_spec.rb @@ -77,6 +77,17 @@ describe Gitlab::EtagCaching::Router do expect(result).to be_blank end + it 'matches pipeline#show endpoint' do + env = build_env( + '/my-group/my-project/pipelines/2.json' + ) + + result = described_class.match(env) + + expect(result).to be_present + expect(result.name).to eq 'project_pipeline' + end + def build_env(path) { 'PATH_INFO' => path } end diff --git a/spec/models/commit_status_spec.rb b/spec/models/commit_status_spec.rb index 6947affcc1e..c50b8bf7b13 100644 --- a/spec/models/commit_status_spec.rb +++ b/spec/models/commit_status_spec.rb @@ -36,6 +36,16 @@ describe CommitStatus, :models do it { is_expected.to eq(commit_status.user) } end + describe 'status state machine' do + let!(:commit_status) { create(:commit_status, :running, project: project) } + + it 'invalidates the cache after a transition' do + expect(ExpireJobCacheWorker).to receive(:perform_async).with(commit_status.id) + + commit_status.success! + end + end + describe '#started?' do subject { commit_status.started? } diff --git a/spec/workers/expire_job_cache_worker_spec.rb b/spec/workers/expire_job_cache_worker_spec.rb new file mode 100644 index 00000000000..1b614342a18 --- /dev/null +++ b/spec/workers/expire_job_cache_worker_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +describe ExpireJobCacheWorker do + set(:pipeline) { create(:ci_empty_pipeline) } + let(:project) { pipeline.project } + subject { described_class.new } + + describe '#perform' do + context 'with a job in the pipeline' do + let(:job) { create(:ci_build, pipeline: pipeline) } + + it 'invalidates Etag caching for the job path' do + pipeline_path = "/#{project.full_path}/pipelines/#{pipeline.id}.json" + job_path = "/#{project.full_path}/builds/#{job.id}.json" + + expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(pipeline_path) + expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(job_path) + + subject.perform(job.id) + end + end + + context 'when there is no job in the pipeline' do + it 'does not change the etag store' do + expect(Gitlab::EtagCaching::Store).not_to receive(:new) + + subject.perform(9999) + end + end + end +end diff --git a/spec/workers/expire_pipeline_cache_worker_spec.rb b/spec/workers/expire_pipeline_cache_worker_spec.rb index ceba604dea2..28e5b706803 100644 --- a/spec/workers/expire_pipeline_cache_worker_spec.rb +++ b/spec/workers/expire_pipeline_cache_worker_spec.rb @@ -10,9 +10,11 @@ describe ExpirePipelineCacheWorker do it 'invalidates Etag caching for project pipelines path' do pipelines_path = "/#{project.full_path}/pipelines.json" new_mr_pipelines_path = "/#{project.full_path}/merge_requests/new.json" + pipeline_path = "/#{project.full_path}/pipelines/#{pipeline.id}.json" expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(pipelines_path) expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(new_mr_pipelines_path) + expect_any_instance_of(Gitlab::EtagCaching::Store).to receive(:touch).with(pipeline_path) subject.perform(pipeline.id) end -- GitLab From f50598f704817115927ea478bd1a4138bd66edb5 Mon Sep 17 00:00:00 2001 From: Stan Hu <stanhu@gmail.com> Date: Tue, 23 May 2017 21:18:26 +0000 Subject: [PATCH 175/249] Merge branch 'fix-notify-post-receive' into 'master' Prevent errors from non-functional notify_post_receive endpoint See merge request !11509 --- GITLAB_SHELL_VERSION | 2 +- lib/api/internal.rb | 17 +-- spec/requests/api/internal_spec.rb | 161 +++++++++++++++-------------- 3 files changed, 91 insertions(+), 89 deletions(-) diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION index 50e2274e6d3..2d6c0bcf19c 100644 --- a/GITLAB_SHELL_VERSION +++ b/GITLAB_SHELL_VERSION @@ -1 +1 @@ -5.0.3 +5.0.4 diff --git a/lib/api/internal.rb b/lib/api/internal.rb index 2a11790b215..2971887770b 100644 --- a/lib/api/internal.rb +++ b/lib/api/internal.rb @@ -136,14 +136,15 @@ module API post "/notify_post_receive" do status 200 - return unless Gitlab::GitalyClient.enabled? - - begin - repository = wiki? ? project.wiki.repository : project.repository - Gitlab::GitalyClient::Notifications.new(repository.raw_repository).post_receive - rescue GRPC::Unavailable => e - render_api_error!(e, 500) - end + # TODO: Re-enable when Gitaly is processing the post-receive notification + # return unless Gitlab::GitalyClient.enabled? + # + # begin + # repository = wiki? ? project.wiki.repository : project.repository + # Gitlab::GitalyClient::Notifications.new(repository.raw_repository).post_receive + # rescue GRPC::Unavailable => e + # render_api_error!(e, 500) + # end end end end diff --git a/spec/requests/api/internal_spec.rb b/spec/requests/api/internal_spec.rb index 2ceb4648ece..cf232e7ff69 100644 --- a/spec/requests/api/internal_spec.rb +++ b/spec/requests/api/internal_spec.rb @@ -466,86 +466,87 @@ describe API::Internal do end end - describe 'POST /notify_post_receive' do - let(:valid_params) do - { project: project.repository.path, secret_token: secret_token } - end - - let(:valid_wiki_params) do - { project: project.wiki.repository.path, secret_token: secret_token } - end - - before do - allow(Gitlab.config.gitaly).to receive(:enabled).and_return(true) - end - - it "calls the Gitaly client with the project's repository" do - expect(Gitlab::GitalyClient::Notifications). - to receive(:new).with(gitlab_git_repository_with(path: project.repository.path)). - and_call_original - expect_any_instance_of(Gitlab::GitalyClient::Notifications). - to receive(:post_receive) - - post api("/internal/notify_post_receive"), valid_params - - expect(response).to have_http_status(200) - end - - it "calls the Gitaly client with the wiki's repository if it's a wiki" do - expect(Gitlab::GitalyClient::Notifications). - to receive(:new).with(gitlab_git_repository_with(path: project.wiki.repository.path)). - and_call_original - expect_any_instance_of(Gitlab::GitalyClient::Notifications). - to receive(:post_receive) - - post api("/internal/notify_post_receive"), valid_wiki_params - - expect(response).to have_http_status(200) - end - - it "returns 500 if the gitaly call fails" do - expect_any_instance_of(Gitlab::GitalyClient::Notifications). - to receive(:post_receive).and_raise(GRPC::Unavailable) - - post api("/internal/notify_post_receive"), valid_params - - expect(response).to have_http_status(500) - end - - context 'with a gl_repository parameter' do - let(:valid_params) do - { gl_repository: "project-#{project.id}", secret_token: secret_token } - end - - let(:valid_wiki_params) do - { gl_repository: "wiki-#{project.id}", secret_token: secret_token } - end - - it "calls the Gitaly client with the project's repository" do - expect(Gitlab::GitalyClient::Notifications). - to receive(:new).with(gitlab_git_repository_with(path: project.repository.path)). - and_call_original - expect_any_instance_of(Gitlab::GitalyClient::Notifications). - to receive(:post_receive) - - post api("/internal/notify_post_receive"), valid_params - - expect(response).to have_http_status(200) - end - - it "calls the Gitaly client with the wiki's repository if it's a wiki" do - expect(Gitlab::GitalyClient::Notifications). - to receive(:new).with(gitlab_git_repository_with(path: project.wiki.repository.path)). - and_call_original - expect_any_instance_of(Gitlab::GitalyClient::Notifications). - to receive(:post_receive) - - post api("/internal/notify_post_receive"), valid_wiki_params - - expect(response).to have_http_status(200) - end - end - end + # TODO: Uncomment when the end-point is reenabled + # describe 'POST /notify_post_receive' do + # let(:valid_params) do + # { project: project.repository.path, secret_token: secret_token } + # end + # + # let(:valid_wiki_params) do + # { project: project.wiki.repository.path, secret_token: secret_token } + # end + # + # before do + # allow(Gitlab.config.gitaly).to receive(:enabled).and_return(true) + # end + # + # it "calls the Gitaly client with the project's repository" do + # expect(Gitlab::GitalyClient::Notifications). + # to receive(:new).with(gitlab_git_repository_with(path: project.repository.path)). + # and_call_original + # expect_any_instance_of(Gitlab::GitalyClient::Notifications). + # to receive(:post_receive) + # + # post api("/internal/notify_post_receive"), valid_params + # + # expect(response).to have_http_status(200) + # end + # + # it "calls the Gitaly client with the wiki's repository if it's a wiki" do + # expect(Gitlab::GitalyClient::Notifications). + # to receive(:new).with(gitlab_git_repository_with(path: project.wiki.repository.path)). + # and_call_original + # expect_any_instance_of(Gitlab::GitalyClient::Notifications). + # to receive(:post_receive) + # + # post api("/internal/notify_post_receive"), valid_wiki_params + # + # expect(response).to have_http_status(200) + # end + # + # it "returns 500 if the gitaly call fails" do + # expect_any_instance_of(Gitlab::GitalyClient::Notifications). + # to receive(:post_receive).and_raise(GRPC::Unavailable) + # + # post api("/internal/notify_post_receive"), valid_params + # + # expect(response).to have_http_status(500) + # end + # + # context 'with a gl_repository parameter' do + # let(:valid_params) do + # { gl_repository: "project-#{project.id}", secret_token: secret_token } + # end + # + # let(:valid_wiki_params) do + # { gl_repository: "wiki-#{project.id}", secret_token: secret_token } + # end + # + # it "calls the Gitaly client with the project's repository" do + # expect(Gitlab::GitalyClient::Notifications). + # to receive(:new).with(gitlab_git_repository_with(path: project.repository.path)). + # and_call_original + # expect_any_instance_of(Gitlab::GitalyClient::Notifications). + # to receive(:post_receive) + # + # post api("/internal/notify_post_receive"), valid_params + # + # expect(response).to have_http_status(200) + # end + # + # it "calls the Gitaly client with the wiki's repository if it's a wiki" do + # expect(Gitlab::GitalyClient::Notifications). + # to receive(:new).with(gitlab_git_repository_with(path: project.wiki.repository.path)). + # and_call_original + # expect_any_instance_of(Gitlab::GitalyClient::Notifications). + # to receive(:post_receive) + # + # post api("/internal/notify_post_receive"), valid_wiki_params + # + # expect(response).to have_http_status(200) + # end + # end + # end def project_with_repo_path(path) double().tap do |fake_project| -- GitLab From 309e5974f1ef14a28e2a9104ed5c45cfa7d98243 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Wed, 24 May 2017 08:17:39 +0000 Subject: [PATCH 176/249] Merge branch 'sentry-clientside-releases' into 'master' Read HEAD commit and use as sentry releases value Closes #32535 See merge request !11565 --- app/assets/javascripts/raven/index.js | 4 ++ app/assets/javascripts/raven/raven_config.js | 2 + lib/gitlab/gon_helper.rb | 1 + spec/javascripts/raven/index_spec.js | 20 +++++----- spec/javascripts/raven/raven_config_spec.js | 42 +++++++++----------- 5 files changed, 37 insertions(+), 32 deletions(-) diff --git a/app/assets/javascripts/raven/index.js b/app/assets/javascripts/raven/index.js index 5325e495815..edc2293915f 100644 --- a/app/assets/javascripts/raven/index.js +++ b/app/assets/javascripts/raven/index.js @@ -6,6 +6,10 @@ const index = function index() { currentUserId: gon.current_user_id, whitelistUrls: [gon.gitlab_url], isProduction: process.env.NODE_ENV, + release: gon.revision, + tags: { + revision: gon.revision, + }, }); return RavenConfig; diff --git a/app/assets/javascripts/raven/raven_config.js b/app/assets/javascripts/raven/raven_config.js index c7fe1cacf49..da3fb7a6744 100644 --- a/app/assets/javascripts/raven/raven_config.js +++ b/app/assets/javascripts/raven/raven_config.js @@ -57,6 +57,8 @@ const RavenConfig = { configure() { Raven.config(this.options.sentryDsn, { + release: this.options.release, + tags: this.options.tags, whitelistUrls: this.options.whitelistUrls, environment: this.options.isProduction ? 'production' : 'development', ignoreErrors: this.IGNORE_ERRORS, diff --git a/lib/gitlab/gon_helper.rb b/lib/gitlab/gon_helper.rb index 26473f99bc3..1e09cb5ca11 100644 --- a/lib/gitlab/gon_helper.rb +++ b/lib/gitlab/gon_helper.rb @@ -12,6 +12,7 @@ module Gitlab gon.katex_js_url = ActionController::Base.helpers.asset_path('katex.js') gon.sentry_dsn = current_application_settings.clientside_sentry_dsn if current_application_settings.clientside_sentry_enabled gon.gitlab_url = Gitlab.config.gitlab.url + gon.revision = Gitlab::REVISION if current_user gon.current_user_id = current_user.id diff --git a/spec/javascripts/raven/index_spec.js b/spec/javascripts/raven/index_spec.js index b5662cd0331..a503a54029f 100644 --- a/spec/javascripts/raven/index_spec.js +++ b/spec/javascripts/raven/index_spec.js @@ -2,25 +2,23 @@ import RavenConfig from '~/raven/raven_config'; import index from '~/raven/index'; describe('RavenConfig options', () => { - let sentryDsn; - let currentUserId; - let gitlabUrl; - let isProduction; + const sentryDsn = 'sentryDsn'; + const currentUserId = 'currentUserId'; + const gitlabUrl = 'gitlabUrl'; + const isProduction = 'isProduction'; + const revision = 'revision'; let indexReturnValue; beforeEach(() => { - sentryDsn = 'sentryDsn'; - currentUserId = 'currentUserId'; - gitlabUrl = 'gitlabUrl'; - isProduction = 'isProduction'; - window.gon = { sentry_dsn: sentryDsn, current_user_id: currentUserId, gitlab_url: gitlabUrl, + revision, }; process.env.NODE_ENV = isProduction; + process.env.HEAD_COMMIT_SHA = revision; spyOn(RavenConfig, 'init'); @@ -33,6 +31,10 @@ describe('RavenConfig options', () => { currentUserId, whitelistUrls: [gitlabUrl], isProduction, + release: revision, + tags: { + revision, + }, }); }); diff --git a/spec/javascripts/raven/raven_config_spec.js b/spec/javascripts/raven/raven_config_spec.js index a2d720760fc..b31a7c28ebe 100644 --- a/spec/javascripts/raven/raven_config_spec.js +++ b/spec/javascripts/raven/raven_config_spec.js @@ -25,17 +25,11 @@ describe('RavenConfig', () => { }); describe('init', () => { - let options; + const options = { + currentUserId: 1, + }; beforeEach(() => { - options = { - sentryDsn: '//sentryDsn', - ravenAssetUrl: '//ravenAssetUrl', - currentUserId: 1, - whitelistUrls: ['//gitlabUrl'], - isProduction: true, - }; - spyOn(RavenConfig, 'configure'); spyOn(RavenConfig, 'bindRavenErrors'); spyOn(RavenConfig, 'setUser'); @@ -62,30 +56,28 @@ describe('RavenConfig', () => { it('should not call setUser if there is no current user ID', () => { RavenConfig.setUser.calls.reset(); - RavenConfig.init({ - sentryDsn: '//sentryDsn', - ravenAssetUrl: '//ravenAssetUrl', - currentUserId: undefined, - whitelistUrls: ['//gitlabUrl'], - isProduction: true, - }); + options.currentUserId = undefined; + + RavenConfig.init(options); expect(RavenConfig.setUser).not.toHaveBeenCalled(); }); }); describe('configure', () => { - let options; let raven; let ravenConfig; + const options = { + sentryDsn: '//sentryDsn', + whitelistUrls: ['//gitlabUrl'], + isProduction: true, + release: 'revision', + tags: { + revision: 'revision', + }, + }; beforeEach(() => { - options = { - sentryDsn: '//sentryDsn', - whitelistUrls: ['//gitlabUrl'], - isProduction: true, - }; - ravenConfig = jasmine.createSpyObj('ravenConfig', ['shouldSendSample']); raven = jasmine.createSpyObj('raven', ['install']); @@ -100,6 +92,8 @@ describe('RavenConfig', () => { it('should call Raven.config', () => { expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, { + release: options.release, + tags: options.tags, whitelistUrls: options.whitelistUrls, environment: 'production', ignoreErrors: ravenConfig.IGNORE_ERRORS, @@ -118,6 +112,8 @@ describe('RavenConfig', () => { RavenConfig.configure.call(ravenConfig); expect(Raven.config).toHaveBeenCalledWith(options.sentryDsn, { + release: options.release, + tags: options.tags, whitelistUrls: options.whitelistUrls, environment: 'development', ignoreErrors: ravenConfig.IGNORE_ERRORS, -- GitLab From 267a3b2ab2b3fe017827ba291cd20c0d07c99ec2 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Wed, 24 May 2017 16:33:53 +0000 Subject: [PATCH 177/249] Merge branch '32828-refresh-build' into 'master' Use refresh icon for retried jobs Closes #32828 See merge request !11667 --- app/views/projects/ci/builds/_build.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/ci/builds/_build.html.haml b/app/views/projects/ci/builds/_build.html.haml index c0019996176..84ac03237e1 100644 --- a/app/views/projects/ci/builds/_build.html.haml +++ b/app/views/projects/ci/builds/_build.html.haml @@ -36,7 +36,7 @@ = icon('warning', class: 'text-warning has-tooltip', title: 'Job is stuck. Check runners.') - if retried - = icon('spinner', class: 'text-warning has-tooltip', title: 'Job was retried') + = icon('refresh', class: 'text-warning has-tooltip', title: 'Job was retried') .label-container - if job.tags.any? -- GitLab From a17b740a0b3e6c1570b1d2147074c2acbf2f2c1c Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Wed, 24 May 2017 19:10:15 +0000 Subject: [PATCH 178/249] Merge branch '32715-fix-note-padding' into 'master' 32715 Make all notes use equal padding Closes #32715 and #32467 See merge request !11616 --- app/assets/stylesheets/framework/timeline.scss | 1 - app/assets/stylesheets/pages/notes.scss | 13 +++++++++---- changelogs/unreleased/32715-fix-note-padding.yml | 4 ++++ 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 changelogs/unreleased/32715-fix-note-padding.yml diff --git a/app/assets/stylesheets/framework/timeline.scss b/app/assets/stylesheets/framework/timeline.scss index aa0c512a277..70db1962228 100644 --- a/app/assets/stylesheets/framework/timeline.scss +++ b/app/assets/stylesheets/framework/timeline.scss @@ -23,7 +23,6 @@ } .timeline-entry { - padding: $gl-padding $gl-btn-padding 0; border-color: $white-normal; color: $gl-text-color; border-bottom: 1px solid $border-white-light; diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss index c7569f71c19..99bcf612e8f 100644 --- a/app/assets/stylesheets/pages/notes.scss +++ b/app/assets/stylesheets/pages/notes.scss @@ -43,7 +43,11 @@ ul.notes { } .discussion-body { - padding-top: 15px; + padding-top: 8px; + + .panel { + margin-bottom: 0; + } } .discussion { @@ -53,6 +57,7 @@ ul.notes { } .note { + padding: $gl-padding $gl-btn-padding 0; display: block; position: relative; border-bottom: 1px solid $white-normal; @@ -78,7 +83,7 @@ ul.notes { &.note-discussion { &.timeline-entry { - padding: 14px 10px; + padding: $gl-padding 10px; } .system-note { @@ -167,7 +172,7 @@ ul.notes { margin-left: 65px; } - .note-header { + .note-header-info { padding-bottom: 0; } @@ -386,7 +391,7 @@ ul.notes { .note-header-info { min-width: 0; - padding-bottom: 5px; + padding-bottom: 8px; } .note-headline-light { diff --git a/changelogs/unreleased/32715-fix-note-padding.yml b/changelogs/unreleased/32715-fix-note-padding.yml new file mode 100644 index 00000000000..867ed7eb171 --- /dev/null +++ b/changelogs/unreleased/32715-fix-note-padding.yml @@ -0,0 +1,4 @@ +--- +title: Make all notes use equal padding +merge_request: +author: -- GitLab From 218eae87754711b9e89a98301ae04ca293fdf934 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Wed, 24 May 2017 15:08:05 +0000 Subject: [PATCH 179/249] Merge branch 'dm-fix-routes' into 'master' Fix ambiguous routing issues by teaching router about reserved words See merge request !11570 --- app/models/project.rb | 2 +- app/validators/dynamic_path_validator.rb | 203 +--------- config/routes/admin.rb | 4 +- config/routes/git_http.rb | 4 +- config/routes/project.rb | 17 +- config/routes/user.rb | 6 +- doc/user/group/subgroups/index.md | 6 +- lib/constraints/group_url_constrainer.rb | 4 +- lib/constraints/project_url_constrainer.rb | 2 +- lib/gitlab/etag_caching/router.rb | 2 +- lib/gitlab/regex.rb | 195 +++++++++- .../import/gitlab_controller_spec.rb | 2 +- spec/lib/gitlab/regex_spec.rb | 368 ++++++++++++++++++ spec/models/namespace_spec.rb | 2 +- spec/routing/project_routing_spec.rb | 4 + .../validators/dynamic_path_validator_spec.rb | 248 ++---------- 16 files changed, 635 insertions(+), 434 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index a0413b4e651..7722db5375b 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -204,7 +204,7 @@ class Project < ActiveRecord::Base presence: true, dynamic_path: true, length: { maximum: 255 }, - format: { with: Gitlab::Regex.project_path_regex, + format: { with: Gitlab::Regex.project_path_format_regex, message: Gitlab::Regex.project_path_regex_message }, uniqueness: { scope: :namespace_id } diff --git a/app/validators/dynamic_path_validator.rb b/app/validators/dynamic_path_validator.rb index d992b0c3725..8d4d7180baf 100644 --- a/app/validators/dynamic_path_validator.rb +++ b/app/validators/dynamic_path_validator.rb @@ -6,199 +6,26 @@ # Values are checked for formatting and exclusion from a list of reserved path # names. class DynamicPathValidator < ActiveModel::EachValidator - # All routes that appear on the top level must be listed here. - # This will make sure that groups cannot be created with these names - # as these routes would be masked by the paths already in place. - # - # Example: - # /api/api-project - # - # the path `api` shouldn't be allowed because it would be masked by `api/*` - # - TOP_LEVEL_ROUTES = %w[ - - - .well-known - abuse_reports - admin - all - api - assets - autocomplete - ci - dashboard - explore - files - groups - health_check - help - hooks - import - invites - issues - jwt - koding - member - merge_requests - new - notes - notification_settings - oauth - profile - projects - public - repository - robots.txt - s - search - sent_notifications - services - snippets - teams - u - unicorn_test - unsubscribes - uploads - users - ].freeze - - # This list should contain all words following `/*namespace_id/:project_id` in - # routes that contain a second wildcard. - # - # Example: - # /*namespace_id/:project_id/badges/*ref/build - # - # If `badges` was allowed as a project/group name, we would not be able to access the - # `badges` route for those projects: - # - # Consider a namespace with path `foo/bar` and a project called `badges`. - # The route to the build badge would then be `/foo/bar/badges/badges/master/build.svg` - # - # When accessing this path the route would be matched to the `badges` path - # with the following params: - # - namespace_id: `foo` - # - project_id: `bar` - # - ref: `badges/master` - # - # Failing to find the project, this would result in a 404. - # - # By rejecting `badges` the router can _count_ on the fact that `badges` will - # be preceded by the `namespace/project`. - WILDCARD_ROUTES = %w[ - badges - blame - blob - builds - commits - create - create_dir - edit - environments/folders - files - find_file - gitlab-lfs/objects - info/lfs/objects - new - preview - raw - refs - tree - update - wikis - ].freeze - - # These are all the paths that follow `/groups/*id/ or `/groups/*group_id` - # We need to reject these because we have a `/groups/*id` page that is the same - # as the `/*id`. - # - # If we would allow a subgroup to be created with the name `activity` then - # this group would not be accessible through `/groups/parent/activity` since - # this would map to the activity-page of it's parent. - GROUP_ROUTES = %w[ - activity - analytics - audit_events - avatar - edit - group_members - hooks - issues - labels - ldap - ldap_group_links - merge_requests - milestones - notification_setting - pipeline_quota - projects - subgroups - ].freeze - - CHILD_ROUTES = (WILDCARD_ROUTES | GROUP_ROUTES).freeze - - def self.without_reserved_wildcard_paths_regex - @without_reserved_wildcard_paths_regex ||= regex_excluding_child_paths(WILDCARD_ROUTES) - end - - def self.without_reserved_child_paths_regex - @without_reserved_child_paths_regex ||= regex_excluding_child_paths(CHILD_ROUTES) - end - - # This is used to validate a full path. - # It doesn't match paths - # - Starting with one of the top level words - # - Containing one of the child level words in the middle of a path - def self.regex_excluding_child_paths(child_routes) - reserved_top_level_words = Regexp.union(TOP_LEVEL_ROUTES) - not_starting_in_reserved_word = %r{\A/?(?!(#{reserved_top_level_words})(/|\z))} - - reserved_child_level_words = Regexp.union(child_routes) - not_containing_reserved_child = %r{(?!\S+/(#{reserved_child_level_words})(/|\z))} - - %r{#{not_starting_in_reserved_word} - #{not_containing_reserved_child} - #{Gitlab::Regex.full_namespace_regex}}x - end - - def self.valid?(path) - path =~ Gitlab::Regex.full_namespace_regex && !full_path_reserved?(path) - end - - def self.full_path_reserved?(path) - path = path.to_s.downcase - _project_part, namespace_parts = path.reverse.split('/', 2).map(&:reverse) - - wildcard_reserved?(path) || child_reserved?(namespace_parts) - end - - def self.child_reserved?(path) - return false unless path - - path !~ without_reserved_child_paths_regex - end - - def self.wildcard_reserved?(path) - return false unless path + class << self + def valid_namespace_path?(path) + "#{path}/" =~ Gitlab::Regex.full_namespace_path_regex + end - path !~ without_reserved_wildcard_paths_regex + def valid_project_path?(path) + "#{path}/" =~ Gitlab::Regex.full_project_path_regex + end end - delegate :full_path_reserved?, - :child_reserved?, - to: :class - - def path_reserved_for_record?(record, value) + def path_valid_for_record?(record, value) full_path = record.respond_to?(:full_path) ? record.full_path : value - # For group paths the entire path cannot contain a reserved child word - # The path doesn't contain the last `_project_part` so we need to validate - # if the entire path. - # Example: - # A *group* with full path `parent/activity` is reserved. - # A *project* with full path `parent/activity` is allowed. - if record.is_a? Group - child_reserved?(full_path) + return true unless full_path + + case record + when Project + self.class.valid_project_path?(full_path) else - full_path_reserved?(full_path) + self.class.valid_namespace_path?(full_path) end end @@ -208,7 +35,7 @@ class DynamicPathValidator < ActiveModel::EachValidator return end - if path_reserved_for_record?(record, value) + unless path_valid_for_record?(record, value) record.errors.add(attribute, "#{value} is a reserved name") end end diff --git a/config/routes/admin.rb b/config/routes/admin.rb index 48993420ed9..b1b6ef33a47 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -68,7 +68,9 @@ namespace :admin do resources :projects, only: [:index] - scope(path: 'projects/*namespace_id', as: :namespace) do + scope(path: 'projects/*namespace_id', + as: :namespace, + constraints: { namespace_id: Gitlab::Regex.namespace_route_regex }) do resources(:projects, path: '/', constraints: { id: Gitlab::Regex.project_route_regex }, diff --git a/config/routes/git_http.rb b/config/routes/git_http.rb index 42d874eeebc..cdf658c3e4a 100644 --- a/config/routes/git_http.rb +++ b/config/routes/git_http.rb @@ -1,4 +1,6 @@ -scope(path: '*namespace_id/:project_id', constraints: { format: nil }) do +scope(path: '*namespace_id/:project_id', + format: nil, + constraints: { namespace_id: Gitlab::Regex.namespace_route_regex }) do scope(constraints: { project_id: Gitlab::Regex.project_git_route_regex }, module: :projects) do # Git HTTP clients ('git clone' etc.) scope(controller: :git_http) do diff --git a/config/routes/project.rb b/config/routes/project.rb index 1f385e4c834..25c85f8e5c7 100644 --- a/config/routes/project.rb +++ b/config/routes/project.rb @@ -5,7 +5,22 @@ resources :projects, only: [:index, :new, :create] draw :git_http constraints(ProjectUrlConstrainer.new) do - scope(path: '*namespace_id', as: :namespace) do + # If the route has a wildcard segment, the segment has a regex constraint, + # the segment is potentially followed by _another_ wildcard segment, and + # the `format` option is not set to false, we need to specify that + # regex constraint _outside_ of `constraints: {}`. + # + # Otherwise, Rails will overwrite the constraint with `/.+?/`, + # which breaks some of our wildcard routes like `/blob/*id` + # and `/tree/*id` that depend on the negative lookahead inside + # `Gitlab::Regex.namespace_route_regex`, which helps the router + # determine whether a certain path segment is part of `*namespace_id`, + # `:project_id`, or `*id`. + # + # See https://github.com/rails/rails/blob/v4.2.8/actionpack/lib/action_dispatch/routing/mapper.rb#L155 + scope(path: '*namespace_id', + as: :namespace, + namespace_id: Gitlab::Regex.namespace_route_regex) do scope(path: ':project_id', constraints: { project_id: Gitlab::Regex.project_route_regex }, module: :projects, diff --git a/config/routes/user.rb b/config/routes/user.rb index b064a15e802..0f3bec9cf58 100644 --- a/config/routes/user.rb +++ b/config/routes/user.rb @@ -13,17 +13,17 @@ end constraints(UserUrlConstrainer.new) do # Get all keys of user - get ':username.keys' => 'profiles/keys#get_keys', constraints: { username: Gitlab::Regex.namespace_route_regex } + get ':username.keys' => 'profiles/keys#get_keys', constraints: { username: Gitlab::Regex.root_namespace_route_regex } scope(path: ':username', as: :user, - constraints: { username: Gitlab::Regex.namespace_route_regex }, + constraints: { username: Gitlab::Regex.root_namespace_route_regex }, controller: :users) do get '/', action: :show end end -scope(constraints: { username: Gitlab::Regex.namespace_route_regex }) do +scope(constraints: { username: Gitlab::Regex.root_namespace_route_regex }) do scope(path: 'users/:username', as: :user, controller: :users) do diff --git a/doc/user/group/subgroups/index.md b/doc/user/group/subgroups/index.md index a4726673fc4..151c17f3bf1 100644 --- a/doc/user/group/subgroups/index.md +++ b/doc/user/group/subgroups/index.md @@ -71,9 +71,9 @@ structure. - You need to be an Owner of a group in order to be able to create a subgroup. For more information check the [permissions table][permissions]. - For a list of words that are not allowed to be used as group names see the - [`dynamic_path_validator.rb` file][reserved] under the `TOP_LEVEL_ROUTES`, `WILDCARD_ROUTES` and `GROUP_ROUTES` lists: + [`regex.rb` file][reserved] under the `TOP_LEVEL_ROUTES`, `PROJECT_WILDCARD_ROUTES` and `GROUP_ROUTES` lists: - `TOP_LEVEL_ROUTES`: are names that are reserved as usernames or top level groups - - `WILDCARD_ROUTES`: are names that are reserved for child groups or projects. + - `PROJECT_WILDCARD_ROUTES`: are names that are reserved for child groups or projects. - `GROUP_ROUTES`: are names that are reserved for all groups or projects. To create a subgroup: @@ -163,4 +163,4 @@ Here's a list of what you can't do with subgroups: [ce-2772]: https://gitlab.com/gitlab-org/gitlab-ce/issues/2772 [permissions]: ../../permissions.md#group -[reserved]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/validators/dynamic_path_validator.rb +[reserved]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/gitlab/regex.rb diff --git a/lib/constraints/group_url_constrainer.rb b/lib/constraints/group_url_constrainer.rb index 5f379756c11..0ea2f97352d 100644 --- a/lib/constraints/group_url_constrainer.rb +++ b/lib/constraints/group_url_constrainer.rb @@ -1,8 +1,8 @@ class GroupUrlConstrainer def matches?(request) - id = request.params[:id] + id = request.params[:group_id] || request.params[:id] - return false unless DynamicPathValidator.valid?(id) + return false unless DynamicPathValidator.valid_namespace_path?(id) Group.find_by_full_path(id, follow_redirects: request.get?).present? end diff --git a/lib/constraints/project_url_constrainer.rb b/lib/constraints/project_url_constrainer.rb index 6f542f63f98..4444a1abee3 100644 --- a/lib/constraints/project_url_constrainer.rb +++ b/lib/constraints/project_url_constrainer.rb @@ -4,7 +4,7 @@ class ProjectUrlConstrainer project_path = request.params[:project_id] || request.params[:id] full_path = namespace_path + '/' + project_path - return false unless DynamicPathValidator.valid?(full_path) + return false unless DynamicPathValidator.valid_project_path?(full_path) Project.find_by_full_path(full_path, follow_redirects: request.get?).present? end diff --git a/lib/gitlab/etag_caching/router.rb b/lib/gitlab/etag_caching/router.rb index 12f1ef35ae2..d74e31af5c6 100644 --- a/lib/gitlab/etag_caching/router.rb +++ b/lib/gitlab/etag_caching/router.rb @@ -10,7 +10,7 @@ module Gitlab # - Ending in `issues/id`/rendered_title` for the `issue_title` route USED_IN_ROUTES = %w[noteable issue notes issues rendered_title commit pipelines merge_requests new].freeze - RESERVED_WORDS = DynamicPathValidator::WILDCARD_ROUTES - USED_IN_ROUTES + RESERVED_WORDS = Gitlab::Regex::ILLEGAL_PROJECT_PATH_WORDS - USED_IN_ROUTES RESERVED_WORDS_REGEX = Regexp.union(*RESERVED_WORDS) ROUTES = [ Gitlab::EtagCaching::Router::Route.new( diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb index b7fef5dd068..f609850f8fa 100644 --- a/lib/gitlab/regex.rb +++ b/lib/gitlab/regex.rb @@ -2,6 +2,136 @@ module Gitlab module Regex extend self + # All routes that appear on the top level must be listed here. + # This will make sure that groups cannot be created with these names + # as these routes would be masked by the paths already in place. + # + # Example: + # /api/api-project + # + # the path `api` shouldn't be allowed because it would be masked by `api/*` + # + TOP_LEVEL_ROUTES = %w[ + - + .well-known + abuse_reports + admin + all + api + assets + autocomplete + ci + dashboard + explore + files + groups + health_check + help + hooks + import + invites + issues + jwt + koding + member + merge_requests + new + notes + notification_settings + oauth + profile + projects + public + repository + robots.txt + s + search + sent_notifications + services + snippets + teams + u + unicorn_test + unsubscribes + uploads + users + ].freeze + + # This list should contain all words following `/*namespace_id/:project_id` in + # routes that contain a second wildcard. + # + # Example: + # /*namespace_id/:project_id/badges/*ref/build + # + # If `badges` was allowed as a project/group name, we would not be able to access the + # `badges` route for those projects: + # + # Consider a namespace with path `foo/bar` and a project called `badges`. + # The route to the build badge would then be `/foo/bar/badges/badges/master/build.svg` + # + # When accessing this path the route would be matched to the `badges` path + # with the following params: + # - namespace_id: `foo` + # - project_id: `bar` + # - ref: `badges/master` + # + # Failing to find the project, this would result in a 404. + # + # By rejecting `badges` the router can _count_ on the fact that `badges` will + # be preceded by the `namespace/project`. + PROJECT_WILDCARD_ROUTES = %w[ + badges + blame + blob + builds + commits + create + create_dir + edit + environments/folders + files + find_file + gitlab-lfs/objects + info/lfs/objects + new + preview + raw + refs + tree + update + wikis + ].freeze + + # These are all the paths that follow `/groups/*id/ or `/groups/*group_id` + # We need to reject these because we have a `/groups/*id` page that is the same + # as the `/*id`. + # + # If we would allow a subgroup to be created with the name `activity` then + # this group would not be accessible through `/groups/parent/activity` since + # this would map to the activity-page of its parent. + GROUP_ROUTES = %w[ + activity + analytics + audit_events + avatar + edit + group_members + hooks + issues + labels + ldap + ldap_group_links + merge_requests + milestones + notification_setting + pipeline_quota + projects + subgroups + ].freeze + + ILLEGAL_PROJECT_PATH_WORDS = PROJECT_WILDCARD_ROUTES + ILLEGAL_GROUP_PATH_WORDS = (PROJECT_WILDCARD_ROUTES | GROUP_ROUTES).freeze + # The namespace regex is used in Javascript to validate usernames in the "Register" form. However, Javascript # does not support the negative lookbehind assertion (?<!) that disallows usernames ending in `.git` and `.atom`. # Since this is a non-trivial problem to solve in Javascript (heavily complicate the regex, modify view code to @@ -18,6 +148,29 @@ module Gitlab # So `group/subgroup` will match this regex but not NAMESPACE_REGEX_STR FULL_NAMESPACE_REGEX_STR = "(?:#{NAMESPACE_REGEX_STR}/)*#{NAMESPACE_REGEX_STR}".freeze + def root_namespace_route_regex + @root_namespace_route_regex ||= begin + illegal_words = Regexp.new(Regexp.union(TOP_LEVEL_ROUTES).source, Regexp::IGNORECASE) + + single_line_regexp %r{ + (?!(#{illegal_words})/) + #{NAMESPACE_REGEX_STR} + }x + end + end + + def root_namespace_path_regex + @root_namespace_path_regex ||= %r{\A#{root_namespace_route_regex}/\z} + end + + def full_namespace_path_regex + @full_namespace_path_regex ||= %r{\A#{namespace_route_regex}/\z} + end + + def full_project_path_regex + @full_project_path_regex ||= %r{\A#{namespace_route_regex}/#{project_route_regex}/\z} + end + def namespace_regex @namespace_regex ||= /\A#{NAMESPACE_REGEX_STR}\z/.freeze end @@ -27,7 +180,18 @@ module Gitlab end def namespace_route_regex - @namespace_route_regex ||= /#{NAMESPACE_REGEX_STR}/.freeze + @namespace_route_regex ||= begin + illegal_words = Regexp.new(Regexp.union(ILLEGAL_GROUP_PATH_WORDS).source, Regexp::IGNORECASE) + + single_line_regexp %r{ + #{root_namespace_route_regex} + (?: + / + (?!#{illegal_words}/) + #{NAMESPACE_REGEX_STR} + )* + }x + end end def namespace_regex_message @@ -53,15 +217,26 @@ module Gitlab end def project_path_regex - @project_path_regex ||= /\A#{PROJECT_REGEX_STR}\z/.freeze + @project_path_regex ||= %r{\A#{project_route_regex}/\z} end def project_route_regex - @project_route_regex ||= /#{PROJECT_REGEX_STR}/.freeze + @project_route_regex ||= begin + illegal_words = Regexp.new(Regexp.union(ILLEGAL_PROJECT_PATH_WORDS).source, Regexp::IGNORECASE) + + single_line_regexp %r{ + (?!(#{illegal_words})/) + #{PROJECT_REGEX_STR} + }x + end end def project_git_route_regex - @project_route_git_regex ||= /#{PATH_REGEX_STR}\.git/.freeze + @project_git_route_regex ||= /#{project_route_regex}\.git/.freeze + end + + def project_path_format_regex + @project_path_format_regex ||= /\A#{PROJECT_REGEX_STR}\z/.freeze end def project_path_regex_message @@ -86,7 +261,7 @@ module Gitlab # Valid git ref regex, see: # https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html - @git_reference_regex ||= %r{ + @git_reference_regex ||= single_line_regexp %r{ (?! (?# doesn't begins with) \/| (?# rule #6) @@ -102,7 +277,7 @@ module Gitlab (?# doesn't end with) (?<!\.lock) (?# rule #1) (?<![\/.]) (?# rule #6-7) - }x.freeze + }x end def container_registry_reference_regex @@ -140,5 +315,13 @@ module Gitlab "can contain only lowercase letters, digits, and '-'. " \ "Must start with a letter, and cannot end with '-'" end + + private + + def single_line_regexp(regex) + # Turns a multiline extended regexp into a single line one, + # beacuse `rake routes` breaks on multiline regexes. + Regexp.new(regex.source.gsub(/\(\?#.+?\)/, '').gsub(/\s*/, ''), regex.options ^ Regexp::EXTENDED).freeze + end end end diff --git a/spec/controllers/import/gitlab_controller_spec.rb b/spec/controllers/import/gitlab_controller_spec.rb index 2dbb89219d0..3270ea059fa 100644 --- a/spec/controllers/import/gitlab_controller_spec.rb +++ b/spec/controllers/import/gitlab_controller_spec.rb @@ -174,7 +174,7 @@ describe Import::GitlabController do end end end - + context 'user has chosen an existing nested namespace for the project' do let(:parent_namespace) { create(:namespace, name: 'foo', owner: user) } let(:nested_namespace) { create(:namespace, name: 'bar', parent: parent_namespace, owner: user) } diff --git a/spec/lib/gitlab/regex_spec.rb b/spec/lib/gitlab/regex_spec.rb index 72e947f2cc2..a7d1283acb8 100644 --- a/spec/lib/gitlab/regex_spec.rb +++ b/spec/lib/gitlab/regex_spec.rb @@ -2,9 +2,377 @@ require 'spec_helper' describe Gitlab::Regex, lib: true do + # Pass in a full path to remove the format segment: + # `/ci/lint(.:format)` -> `/ci/lint` + def without_format(path) + path.split('(', 2)[0] + end + + # Pass in a full path and get the last segment before a wildcard + # That's not a parameter + # `/*namespace_id/:project_id/builds/artifacts/*ref_name_and_path` + # -> 'builds/artifacts' + def path_before_wildcard(path) + path = path.gsub(STARTING_WITH_NAMESPACE, "") + path_segments = path.split('/').reject(&:empty?) + wildcard_index = path_segments.index { |segment| parameter?(segment) } + + segments_before_wildcard = path_segments[0..wildcard_index - 1] + + segments_before_wildcard.join('/') + end + + def parameter?(segment) + segment =~ /[*:]/ + end + + # If the path is reserved. Then no conflicting paths can# be created for any + # route using this reserved word. + # + # Both `builds/artifacts` & `build` are covered by reserving the word + # `build` + def wildcards_include?(path) + described_class::PROJECT_WILDCARD_ROUTES.include?(path) || + described_class::PROJECT_WILDCARD_ROUTES.include?(path.split('/').first) + end + + def failure_message(missing_words, constant_name, migration_helper) + missing_words = Array(missing_words) + <<-MSG + Found new routes that could cause conflicts with existing namespaced routes + for groups or projects. + + Add <#{missing_words.join(', ')}> to `Gitlab::Regex::#{constant_name} + to make sure no projects or namespaces can be created with those paths. + + To rename any existing records with those paths you can use the + `Gitlab::Database::RenameReservedpathsMigration::<VERSION>.#{migration_helper}` + migration helper. + + Make sure to make a note of the renamed records in the release blog post. + + MSG + end + + let(:all_routes) do + route_set = Rails.application.routes + routes_collection = route_set.routes + routes_array = routes_collection.routes + routes_array.map { |route| route.path.spec.to_s } + end + + let(:routes_without_format) { all_routes.map { |path| without_format(path) } } + + # Routes not starting with `/:` or `/*` + # all routes not starting with a param + let(:routes_not_starting_in_wildcard) { routes_without_format.select { |p| p !~ %r{^/[:*]} } } + + let(:top_level_words) do + routes_not_starting_in_wildcard.map do |route| + route.split('/')[1] + end.compact.uniq + end + + # All routes that start with a namespaced path, that have 1 or more + # path-segments before having another wildcard parameter. + # - Starting with paths: + # - `/*namespace_id/:project_id/` + # - `/*namespace_id/:id/` + # - Followed by one or more path-parts not starting with `:` or `*` + # - Followed by a path-part that includes a wildcard parameter `*` + # At the time of writing these routes match: http://rubular.com/r/Rv2pDE5Dvw + STARTING_WITH_NAMESPACE = %r{^/\*namespace_id/:(project_)?id} + NON_PARAM_PARTS = %r{[^:*][a-z\-_/]*} + ANY_OTHER_PATH_PART = %r{[a-z\-_/:]*} + WILDCARD_SEGMENT = %r{\*} + let(:namespaced_wildcard_routes) do + routes_without_format.select do |p| + p =~ %r{#{STARTING_WITH_NAMESPACE}/#{NON_PARAM_PARTS}/#{ANY_OTHER_PATH_PART}#{WILDCARD_SEGMENT}} + end + end + + # This will return all paths that are used in a namespaced route + # before another wildcard path: + # + # /*namespace_id/:project_id/builds/artifacts/*ref_name_and_path + # /*namespace_id/:project_id/info/lfs/objects/*oid + # /*namespace_id/:project_id/commits/*id + # /*namespace_id/:project_id/builds/:build_id/artifacts/file/*path + # -> ['builds/artifacts', 'info/lfs/objects', 'commits', 'artifacts/file'] + let(:all_wildcard_paths) do + namespaced_wildcard_routes.map do |route| + path_before_wildcard(route) + end.uniq + end + + STARTING_WITH_GROUP = %r{^/groups/\*(group_)?id/} + let(:group_routes) do + routes_without_format.select do |path| + path =~ STARTING_WITH_GROUP + end + end + + let(:paths_after_group_id) do + group_routes.map do |route| + route.gsub(STARTING_WITH_GROUP, '').split('/').first + end.uniq + end + + describe 'TOP_LEVEL_ROUTES' do + it 'includes all the top level namespaces' do + failure_block = lambda do + missing_words = top_level_words - described_class::TOP_LEVEL_ROUTES + failure_message(missing_words, 'TOP_LEVEL_ROUTES', 'rename_root_paths') + end + + expect(described_class::TOP_LEVEL_ROUTES) + .to include(*top_level_words), failure_block + end + end + + describe 'GROUP_ROUTES' do + it "don't contain a second wildcard" do + failure_block = lambda do + missing_words = paths_after_group_id - described_class::GROUP_ROUTES + failure_message(missing_words, 'GROUP_ROUTES', 'rename_child_paths') + end + + expect(described_class::GROUP_ROUTES) + .to include(*paths_after_group_id), failure_block + end + end + + describe 'PROJECT_WILDCARD_ROUTES' do + it 'includes all paths that can be used after a namespace/project path' do + aggregate_failures do + all_wildcard_paths.each do |path| + expect(wildcards_include?(path)) + .to be(true), failure_message(path, 'PROJECT_WILDCARD_ROUTES', 'rename_wildcard_paths') + end + end + end + end + + describe '.root_namespace_path_regex' do + subject { described_class.root_namespace_path_regex } + + it 'rejects top level routes' do + expect(subject).not_to match('admin/') + expect(subject).not_to match('api/') + expect(subject).not_to match('.well-known/') + end + + it 'accepts project wildcard routes' do + expect(subject).to match('blob/') + expect(subject).to match('edit/') + expect(subject).to match('wikis/') + end + + it 'accepts group routes' do + expect(subject).to match('activity/') + expect(subject).to match('group_members/') + expect(subject).to match('subgroups/') + end + + it 'is not case sensitive' do + expect(subject).not_to match('Users/') + end + + it 'does not allow extra slashes' do + expect(subject).not_to match('/blob/') + expect(subject).not_to match('blob//') + end + end + + describe '.full_namespace_path_regex' do + subject { described_class.full_namespace_path_regex } + + context 'at the top level' do + context 'when the final level' do + it 'rejects top level routes' do + expect(subject).not_to match('admin/') + expect(subject).not_to match('api/') + expect(subject).not_to match('.well-known/') + end + + it 'accepts project wildcard routes' do + expect(subject).to match('blob/') + expect(subject).to match('edit/') + expect(subject).to match('wikis/') + end + + it 'accepts group routes' do + expect(subject).to match('activity/') + expect(subject).to match('group_members/') + expect(subject).to match('subgroups/') + end + end + + context 'when more levels follow' do + it 'rejects top level routes' do + expect(subject).not_to match('admin/more/') + expect(subject).not_to match('api/more/') + expect(subject).not_to match('.well-known/more/') + end + + it 'accepts project wildcard routes' do + expect(subject).to match('blob/more/') + expect(subject).to match('edit/more/') + expect(subject).to match('wikis/more/') + expect(subject).to match('environments/folders/') + expect(subject).to match('info/lfs/objects/') + end + + it 'accepts group routes' do + expect(subject).to match('activity/more/') + expect(subject).to match('group_members/more/') + expect(subject).to match('subgroups/more/') + end + end + end + + context 'at the second level' do + context 'when the final level' do + it 'accepts top level routes' do + expect(subject).to match('root/admin/') + expect(subject).to match('root/api/') + expect(subject).to match('root/.well-known/') + end + + it 'rejects project wildcard routes' do + expect(subject).not_to match('root/blob/') + expect(subject).not_to match('root/edit/') + expect(subject).not_to match('root/wikis/') + expect(subject).not_to match('root/environments/folders/') + expect(subject).not_to match('root/info/lfs/objects/') + end + + it 'rejects group routes' do + expect(subject).not_to match('root/activity/') + expect(subject).not_to match('root/group_members/') + expect(subject).not_to match('root/subgroups/') + end + end + + context 'when more levels follow' do + it 'accepts top level routes' do + expect(subject).to match('root/admin/more/') + expect(subject).to match('root/api/more/') + expect(subject).to match('root/.well-known/more/') + end + + it 'rejects project wildcard routes' do + expect(subject).not_to match('root/blob/more/') + expect(subject).not_to match('root/edit/more/') + expect(subject).not_to match('root/wikis/more/') + expect(subject).not_to match('root/environments/folders/more/') + expect(subject).not_to match('root/info/lfs/objects/more/') + end + + it 'rejects group routes' do + expect(subject).not_to match('root/activity/more/') + expect(subject).not_to match('root/group_members/more/') + expect(subject).not_to match('root/subgroups/more/') + end + end + end + + it 'is not case sensitive' do + expect(subject).not_to match('root/Blob/') + end + + it 'does not allow extra slashes' do + expect(subject).not_to match('/root/admin/') + expect(subject).not_to match('root/admin//') + end + end + describe '.project_path_regex' do subject { described_class.project_path_regex } + it 'accepts top level routes' do + expect(subject).to match('admin/') + expect(subject).to match('api/') + expect(subject).to match('.well-known/') + end + + it 'rejects project wildcard routes' do + expect(subject).not_to match('blob/') + expect(subject).not_to match('edit/') + expect(subject).not_to match('wikis/') + expect(subject).not_to match('environments/folders/') + expect(subject).not_to match('info/lfs/objects/') + end + + it 'accepts group routes' do + expect(subject).to match('activity/') + expect(subject).to match('group_members/') + expect(subject).to match('subgroups/') + end + + it 'is not case sensitive' do + expect(subject).not_to match('Blob/') + end + + it 'does not allow extra slashes' do + expect(subject).not_to match('/admin/') + expect(subject).not_to match('admin//') + end + end + + describe '.full_project_path_regex' do + subject { described_class.full_project_path_regex } + + it 'accepts top level routes' do + expect(subject).to match('root/admin/') + expect(subject).to match('root/api/') + expect(subject).to match('root/.well-known/') + end + + it 'rejects project wildcard routes' do + expect(subject).not_to match('root/blob/') + expect(subject).not_to match('root/edit/') + expect(subject).not_to match('root/wikis/') + expect(subject).not_to match('root/environments/folders/') + expect(subject).not_to match('root/info/lfs/objects/') + end + + it 'accepts group routes' do + expect(subject).to match('root/activity/') + expect(subject).to match('root/group_members/') + expect(subject).to match('root/subgroups/') + end + + it 'is not case sensitive' do + expect(subject).not_to match('root/Blob/') + end + + it 'does not allow extra slashes' do + expect(subject).not_to match('/root/admin/') + expect(subject).not_to match('root/admin//') + end + end + + describe '.namespace_regex' do + subject { described_class.namespace_regex } + + it { is_expected.to match('gitlab-ce') } + it { is_expected.to match('gitlab_git') } + it { is_expected.to match('_underscore.js') } + it { is_expected.to match('100px.com') } + it { is_expected.to match('gitlab.org') } + it { is_expected.not_to match('?gitlab') } + it { is_expected.not_to match('git lab') } + it { is_expected.not_to match('gitlab.git') } + it { is_expected.not_to match('gitlab.org.') } + it { is_expected.not_to match('gitlab.org/') } + it { is_expected.not_to match('/gitlab.org') } + it { is_expected.not_to match('gitlab git') } + end + + describe '.project_path_format_regex' do + subject { described_class.project_path_format_regex } + it { is_expected.to match('gitlab-ce') } it { is_expected.to match('gitlab_git') } it { is_expected.to match('_underscore.js') } diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb index 8624616316c..312302afdbb 100644 --- a/spec/models/namespace_spec.rb +++ b/spec/models/namespace_spec.rb @@ -37,7 +37,7 @@ describe Namespace, models: true do it 'rejects nested paths' do parent = create(:group, :nested, path: 'environments') - namespace = build(:project, path: 'folders', namespace: parent) + namespace = build(:group, path: 'folders', parent: parent) expect(namespace).not_to be_valid end diff --git a/spec/routing/project_routing_spec.rb b/spec/routing/project_routing_spec.rb index d5400bbaaf1..a391c046f92 100644 --- a/spec/routing/project_routing_spec.rb +++ b/spec/routing/project_routing_spec.rb @@ -462,6 +462,8 @@ describe 'project routing' do expect(get('/gitlab/gitlabhq/blob/master/app/models/compare.rb')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/compare.rb') expect(get('/gitlab/gitlabhq/blob/master/app/models/diff.js')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/diff.js') expect(get('/gitlab/gitlabhq/blob/master/files.scss')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/files.scss') + expect(get('/gitlab/gitlabhq/blob/master/blob/index.js')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/blob/index.js') + expect(get('/gitlab/gitlabhq/blob/blob/master/blob/index.js')).to route_to('projects/blob#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'blob/master/blob/index.js') end end @@ -470,6 +472,8 @@ describe 'project routing' do it 'to #show' do expect(get('/gitlab/gitlabhq/tree/master/app/models/project.rb')).to route_to('projects/tree#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/app/models/project.rb') expect(get('/gitlab/gitlabhq/tree/master/files.scss')).to route_to('projects/tree#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/files.scss') + expect(get('/gitlab/gitlabhq/tree/master/tree/files')).to route_to('projects/tree#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master/tree/files') + expect(get('/gitlab/gitlabhq/tree/tree/master/tree/files')).to route_to('projects/tree#show', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'tree/master/tree/files') end end diff --git a/spec/validators/dynamic_path_validator_spec.rb b/spec/validators/dynamic_path_validator_spec.rb index b114bfc1bca..03e23781d1b 100644 --- a/spec/validators/dynamic_path_validator_spec.rb +++ b/spec/validators/dynamic_path_validator_spec.rb @@ -3,246 +3,46 @@ require 'spec_helper' describe DynamicPathValidator do let(:validator) { described_class.new(attributes: [:path]) } - # Pass in a full path to remove the format segment: - # `/ci/lint(.:format)` -> `/ci/lint` - def without_format(path) - path.split('(', 2)[0] - end - - # Pass in a full path and get the last segment before a wildcard - # That's not a parameter - # `/*namespace_id/:project_id/builds/artifacts/*ref_name_and_path` - # -> 'builds/artifacts' - def path_before_wildcard(path) - path = path.gsub(STARTING_WITH_NAMESPACE, "") - path_segments = path.split('/').reject(&:empty?) - wildcard_index = path_segments.index { |segment| parameter?(segment) } - - segments_before_wildcard = path_segments[0..wildcard_index - 1] - - segments_before_wildcard.join('/') - end - - def parameter?(segment) - segment =~ /[*:]/ - end - - # If the path is reserved. Then no conflicting paths can# be created for any - # route using this reserved word. - # - # Both `builds/artifacts` & `build` are covered by reserving the word - # `build` - def wildcards_include?(path) - described_class::WILDCARD_ROUTES.include?(path) || - described_class::WILDCARD_ROUTES.include?(path.split('/').first) - end - - def failure_message(missing_words, constant_name, migration_helper) - missing_words = Array(missing_words) - <<-MSG - Found new routes that could cause conflicts with existing namespaced routes - for groups or projects. + describe '#path_valid_for_record?' do + context 'for project' do + it 'calls valid_project_path?' do + project = build(:project, path: 'activity') - Add <#{missing_words.join(', ')}> to `DynamicPathValidator::#{constant_name} - to make sure no projects or namespaces can be created with those paths. + expect(described_class).to receive(:valid_project_path?).with(project.full_path).and_call_original - To rename any existing records with those paths you can use the - `Gitlab::Database::RenameReservedpathsMigration::<VERSION>.#{migration_helper}` - migration helper. - - Make sure to make a note of the renamed records in the release blog post. - - MSG - end - - let(:all_routes) do - Rails.application.routes.routes.routes. - map { |r| r.path.spec.to_s } - end - - let(:routes_without_format) { all_routes.map { |path| without_format(path) } } - - # Routes not starting with `/:` or `/*` - # all routes not starting with a param - let(:routes_not_starting_in_wildcard) { routes_without_format.select { |p| p !~ %r{^/[:*]} } } - - let(:top_level_words) do - routes_not_starting_in_wildcard.map do |route| - route.split('/')[1] - end.compact.uniq - end - - # All routes that start with a namespaced path, that have 1 or more - # path-segments before having another wildcard parameter. - # - Starting with paths: - # - `/*namespace_id/:project_id/` - # - `/*namespace_id/:id/` - # - Followed by one or more path-parts not starting with `:` or `*` - # - Followed by a path-part that includes a wildcard parameter `*` - # At the time of writing these routes match: http://rubular.com/r/Rv2pDE5Dvw - STARTING_WITH_NAMESPACE = %r{^/\*namespace_id/:(project_)?id} - NON_PARAM_PARTS = %r{[^:*][a-z\-_/]*} - ANY_OTHER_PATH_PART = %r{[a-z\-_/:]*} - WILDCARD_SEGMENT = %r{\*} - let(:namespaced_wildcard_routes) do - routes_without_format.select do |p| - p =~ %r{#{STARTING_WITH_NAMESPACE}/#{NON_PARAM_PARTS}/#{ANY_OTHER_PATH_PART}#{WILDCARD_SEGMENT}} - end - end - - # This will return all paths that are used in a namespaced route - # before another wildcard path: - # - # /*namespace_id/:project_id/builds/artifacts/*ref_name_and_path - # /*namespace_id/:project_id/info/lfs/objects/*oid - # /*namespace_id/:project_id/commits/*id - # /*namespace_id/:project_id/builds/:build_id/artifacts/file/*path - # -> ['builds/artifacts', 'info/lfs/objects', 'commits', 'artifacts/file'] - let(:all_wildcard_paths) do - namespaced_wildcard_routes.map do |route| - path_before_wildcard(route) - end.uniq - end - - STARTING_WITH_GROUP = %r{^/groups/\*(group_)?id/} - let(:group_routes) do - routes_without_format.select do |path| - path =~ STARTING_WITH_GROUP - end - end - - let(:paths_after_group_id) do - group_routes.map do |route| - route.gsub(STARTING_WITH_GROUP, '').split('/').first - end.uniq - end - - describe 'TOP_LEVEL_ROUTES' do - it 'includes all the top level namespaces' do - failure_block = lambda do - missing_words = top_level_words - described_class::TOP_LEVEL_ROUTES - failure_message(missing_words, 'TOP_LEVEL_ROUTES', 'rename_root_paths') + expect(validator.path_valid_for_record?(project, 'activity')).to be_truthy end - - expect(described_class::TOP_LEVEL_ROUTES) - .to include(*top_level_words), failure_block end - end - describe 'GROUP_ROUTES' do - it "don't contain a second wildcard" do - failure_block = lambda do - missing_words = paths_after_group_id - described_class::GROUP_ROUTES - failure_message(missing_words, 'GROUP_ROUTES', 'rename_child_paths') - end + context 'for group' do + it 'calls valid_namespace_path?' do + group = build(:group, :nested, path: 'activity') - expect(described_class::GROUP_ROUTES) - .to include(*paths_after_group_id), failure_block - end - end + expect(described_class).to receive(:valid_namespace_path?).with(group.full_path).and_call_original - describe 'WILDCARD_ROUTES' do - it 'includes all paths that can be used after a namespace/project path' do - aggregate_failures do - all_wildcard_paths.each do |path| - expect(wildcards_include?(path)) - .to be(true), failure_message(path, 'WILDCARD_ROUTES', 'rename_wildcard_paths') - end + expect(validator.path_valid_for_record?(group, 'activity')).to be_falsey end end - end - describe '.without_reserved_wildcard_paths_regex' do - subject { described_class.without_reserved_wildcard_paths_regex } + context 'for user' do + it 'calls valid_namespace_path?' do + user = build(:user, username: 'activity') - it 'rejects paths starting with a reserved top level' do - expect(subject).not_to match('dashboard/hello/world') - expect(subject).not_to match('dashboard') - end + expect(described_class).to receive(:valid_namespace_path?).with(user.full_path).and_call_original - it 'matches valid paths with a toplevel word in a different place' do - expect(subject).to match('parent/dashboard/project-path') - end - - it 'rejects paths containing a wildcard reserved word' do - expect(subject).not_to match('hello/edit') - expect(subject).not_to match('hello/edit/in-the-middle') - expect(subject).not_to match('foo/bar1/refs/master/logs_tree') - end - - it 'matches valid paths' do - expect(subject).to match('parent/child/project-path') - end - end - - describe '.regex_excluding_child_paths' do - let(:subject) { described_class.without_reserved_child_paths_regex } - - it 'rejects paths containing a child reserved word' do - expect(subject).not_to match('hello/group_members') - expect(subject).not_to match('hello/activity/in-the-middle') - expect(subject).not_to match('foo/bar1/refs/master/logs_tree') - end - - it 'allows a child path on the top level' do - expect(subject).to match('activity/foo') - expect(subject).to match('avatar') - end - end - - describe ".valid?" do - it 'is not case sensitive' do - expect(described_class.valid?("Users")).to be_falsey - end - - it "isn't valid when the top level is reserved" do - test_path = 'u/should-be-a/reserved-word' - - expect(described_class.valid?(test_path)).to be_falsey - end - - it "isn't valid if any of the path segments is reserved" do - test_path = 'the-wildcard/wikis/is-not-allowed' - - expect(described_class.valid?(test_path)).to be_falsey - end - - it "is valid if the path doesn't contain reserved words" do - test_path = 'there-are/no-wildcards/in-this-path' - - expect(described_class.valid?(test_path)).to be_truthy - end - - it 'allows allows a child path on the last spot' do - test_path = 'there/can-be-a/project-called/labels' - - expect(described_class.valid?(test_path)).to be_truthy - end - - it 'rejects a child path somewhere else' do - test_path = 'there/can-be-no/labels/group' - - expect(described_class.valid?(test_path)).to be_falsey + expect(validator.path_valid_for_record?(user, 'activity')).to be_truthy + end end - it 'rejects paths that are in an incorrect format' do - test_path = 'incorrect/format.git' - - expect(described_class.valid?(test_path)).to be_falsey - end - end + context 'for user namespace' do + it 'calls valid_namespace_path?' do + user = create(:user, username: 'activity') + namespace = user.namespace - describe '#path_reserved_for_record?' do - it 'reserves a sub-group named activity' do - group = build(:group, :nested, path: 'activity') + expect(described_class).to receive(:valid_namespace_path?).with(namespace.full_path).and_call_original - expect(validator.path_reserved_for_record?(group, 'activity')).to be_truthy - end - - it "doesn't reserve a project called activity" do - project = build(:project, path: 'activity') - - expect(validator.path_reserved_for_record?(project, 'activity')).to be_falsey + expect(validator.path_valid_for_record?(namespace, 'activity')).to be_truthy + end end end -- GitLab From 19642f61aeaf3a5666c412439a53b588976b0b22 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Wed, 24 May 2017 18:14:23 +0000 Subject: [PATCH 180/249] Merge branch '32170-assignees-spinner' into 'master' show loading indicator while waiting for assignees first fetch Closes #32170 See merge request !11434 --- .../components/assignees/sidebar_assignees.js | 3 ++- .../javascripts/sidebar/stores/sidebar_store.js | 4 ++++ .../shared/issuable/_sidebar_assignees.html.haml | 3 +++ spec/javascripts/sidebar/sidebar_assignees_spec.js | 12 ++++++++++++ spec/javascripts/sidebar/sidebar_store_spec.js | 5 +++++ 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js index 1488a66c695..da4abf0b68f 100644 --- a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js +++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees.js @@ -69,10 +69,11 @@ export default { <div> <assignee-title :number-of-assignees="store.assignees.length" - :loading="loading" + :loading="loading || store.isFetching.assignees" :editable="store.editable" /> <assignees + v-if="!store.isFetching.assignees" class="value" :root-path="store.rootPath" :users="store.assignees" diff --git a/app/assets/javascripts/sidebar/stores/sidebar_store.js b/app/assets/javascripts/sidebar/stores/sidebar_store.js index 2d44c05bb8d..3356dd0191f 100644 --- a/app/assets/javascripts/sidebar/stores/sidebar_store.js +++ b/app/assets/javascripts/sidebar/stores/sidebar_store.js @@ -10,6 +10,9 @@ export default class SidebarStore { this.humanTimeEstimate = ''; this.humanTimeSpent = ''; this.assignees = []; + this.isFetching = { + assignees: true, + }; SidebarStore.singleton = this; } @@ -18,6 +21,7 @@ export default class SidebarStore { } setAssigneeData(data) { + this.isFetching.assignees = false; if (data.assignees) { this.assignees = data.assignees; } diff --git a/app/views/shared/issuable/_sidebar_assignees.html.haml b/app/views/shared/issuable/_sidebar_assignees.html.haml index e9ce7b7ce9c..26567c08eb6 100644 --- a/app/views/shared/issuable/_sidebar_assignees.html.haml +++ b/app/views/shared/issuable/_sidebar_assignees.html.haml @@ -1,5 +1,8 @@ - if issuable.is_a?(Issue) #js-vue-sidebar-assignees{ data: { field: "#{issuable.to_ability_name}[assignee_ids]" } } + .title.hide-collapsed + Assignee + = icon('spinner spin') - else .sidebar-collapsed-icon.sidebar-collapsed-user{ data: { toggle: "tooltip", placement: "left", container: "body" }, title: (issuable.assignee.name if issuable.assignee) } - if issuable.assignee diff --git a/spec/javascripts/sidebar/sidebar_assignees_spec.js b/spec/javascripts/sidebar/sidebar_assignees_spec.js index e0df0a3228f..8ef6c3907dc 100644 --- a/spec/javascripts/sidebar/sidebar_assignees_spec.js +++ b/spec/javascripts/sidebar/sidebar_assignees_spec.js @@ -42,4 +42,16 @@ describe('sidebar assignees', () => { expect(SidebarMediator.prototype.assignYourself).toHaveBeenCalled(); expect(this.mediator.store.assignees.length).toEqual(1); }); + + it('hides assignees until fetched', (done) => { + component = new SidebarAssigneeComponent().$mount(this.sidebarAssigneesEl); + const currentAssignee = this.sidebarAssigneesEl.querySelector('.value'); + expect(currentAssignee).toBe(null); + + component.store.isFetching.assignees = false; + Vue.nextTick(() => { + expect(component.$el.querySelector('.value')).toBeVisible(); + done(); + }); + }); }); diff --git a/spec/javascripts/sidebar/sidebar_store_spec.js b/spec/javascripts/sidebar/sidebar_store_spec.js index 29facf483b5..b3fa156eb64 100644 --- a/spec/javascripts/sidebar/sidebar_store_spec.js +++ b/spec/javascripts/sidebar/sidebar_store_spec.js @@ -35,6 +35,10 @@ describe('Sidebar store', () => { SidebarStore.singleton = null; }); + it('has default isFetching values', () => { + expect(this.store.isFetching.assignees).toBe(true); + }); + it('adds a new assignee', () => { this.store.addAssignee(assignee); expect(this.store.assignees.length).toEqual(1); @@ -67,6 +71,7 @@ describe('Sidebar store', () => { }; this.store.setAssigneeData(users); + expect(this.store.isFetching.assignees).toBe(false); expect(this.store.assignees.length).toEqual(3); }); -- GitLab From 2ffa9aa1b8e6c2471a35fcdde6a10f3862a2d153 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Thu, 25 May 2017 16:47:34 -0600 Subject: [PATCH 181/249] Update CHANGELOG.md for 9.2.2 [ci skip] --- CHANGELOG.md | 5 +++++ changelogs/unreleased/32715-fix-note-padding.yml | 4 ---- changelogs/unreleased/zj-fix-pipeline-etag.yml | 4 ---- 3 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 changelogs/unreleased/32715-fix-note-padding.yml delete mode 100644 changelogs/unreleased/zj-fix-pipeline-etag.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index e4f48ccb450..79a3aa6e6f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 9.2.2 (2017-05-25) + +- Fix issue where real time pipelines were not cached. !11615 +- Make all notes use equal padding. + ## 9.2.1 (2017-05-23) - Fix placement of note emoji on hover. diff --git a/changelogs/unreleased/32715-fix-note-padding.yml b/changelogs/unreleased/32715-fix-note-padding.yml deleted file mode 100644 index 867ed7eb171..00000000000 --- a/changelogs/unreleased/32715-fix-note-padding.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Make all notes use equal padding -merge_request: -author: diff --git a/changelogs/unreleased/zj-fix-pipeline-etag.yml b/changelogs/unreleased/zj-fix-pipeline-etag.yml deleted file mode 100644 index 03ebef8c575..00000000000 --- a/changelogs/unreleased/zj-fix-pipeline-etag.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix issue where real time pipelines were not cached -merge_request: 11615 -author: -- GitLab From cbde95c281af5cdd6b4dee3bdb1bdb360eb71d2c Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Thu, 25 May 2017 16:47:39 -0600 Subject: [PATCH 182/249] Update VERSION to 9.2.2 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 45acc9e6670..21a050b43e7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.1 +9.2.2 -- GitLab From 93a691617a20667f97b51362d86f8e1ff7913cda Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Fri, 26 May 2017 11:39:12 +0100 Subject: [PATCH 183/249] Replace nextTick with setTimeout This was causing a weird bug in Safari where the CSS class wasn't applied yet the nextTick timeout was called meaning the CSS transition didn't happen Closes #32932 --- app/assets/javascripts/issue_show/issue_title_description.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue index 8a7a813efd8..984b96a2dc0 100644 --- a/app/assets/javascripts/issue_show/issue_title_description.vue +++ b/app/assets/javascripts/issue_show/issue_title_description.vue @@ -105,7 +105,7 @@ export default { this.title = title; this.description = description; - this.$nextTick(() => { + setTimeout(() => { this.updateFlag('titleFlag', false); this.updateFlag('descriptionFlag', false); }); -- GitLab From 7acf831645c3e6ec977a9cc3d02fdbbf7b8e485a Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Tue, 30 May 2017 18:40:50 +0000 Subject: [PATCH 184/249] Revert "Merge branch 'issue-title-fade-fix' into '9-2-stable'" This reverts commit 821daf709f522b386dcd347bd339dd9d948233fe, reversing changes made to cbde95c281af5cdd6b4dee3bdb1bdb360eb71d2c. --- app/assets/javascripts/issue_show/issue_title_description.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue index 984b96a2dc0..8a7a813efd8 100644 --- a/app/assets/javascripts/issue_show/issue_title_description.vue +++ b/app/assets/javascripts/issue_show/issue_title_description.vue @@ -105,7 +105,7 @@ export default { this.title = title; this.description = description; - setTimeout(() => { + this.$nextTick(() => { this.updateFlag('titleFlag', false); this.updateFlag('descriptionFlag', false); }); -- GitLab From 6a9efdc502b26337477b8ec55bbe7240b349891c Mon Sep 17 00:00:00 2001 From: Timothy Andrew <tim@gitlab.com> Date: Fri, 26 May 2017 05:44:28 +0000 Subject: [PATCH 185/249] Merge branch 'cherry-pick-dc2ac993' into 'security-9-2' Escapes html content before appending it to the DOM See merge request !2107 --- app/assets/javascripts/notes.js | 4 +- changelogs/unreleased/32908-edit-comment.yml | 4 ++ spec/javascripts/notes_spec.js | 39 ++++++++++++++++++++ 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/32908-edit-comment.yml diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 233c2e637af..8ff25c10157 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -1385,7 +1385,7 @@ const normalizeNewlines = function(str) { const cachedNoteBodyText = $noteBodyText.html(); // Show updated comment content temporarily - $noteBodyText.html(formContent); + $noteBodyText.html(_.escape(formContent)); $editingNote.removeClass('is-editing fade-in-full').addClass('being-posted fade-in-half'); $editingNote.find('.note-headline-meta a').html('<i class="fa fa-spinner fa-spin" aria-label="Comment is being updated" aria-hidden="true"></i>'); @@ -1398,7 +1398,7 @@ const normalizeNewlines = function(str) { }) .fail(() => { // Submission failed, revert back to original note - $noteBodyText.html(cachedNoteBodyText); + $noteBodyText.html(_.escape(cachedNoteBodyText)); $editingNote.removeClass('being-posted fade-in'); $editingNote.find('.fa.fa-spinner').remove(); diff --git a/changelogs/unreleased/32908-edit-comment.yml b/changelogs/unreleased/32908-edit-comment.yml new file mode 100644 index 00000000000..5237dceed11 --- /dev/null +++ b/changelogs/unreleased/32908-edit-comment.yml @@ -0,0 +1,4 @@ +--- +title: Escapes html content before appending it to the DOM +merge_request: +author: diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index bcee0498d64..8fb2216d94b 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -442,6 +442,45 @@ import '~/notes'; }); }); + describe('update comment with script tags', () => { + const sampleComment = '<script></script>'; + const updatedComment = '<script></script>'; + const note = { + id: 1234, + html: `<li class="note note-row-1234 timeline-entry" id="note_1234"> + <div class="note-text">${sampleComment}</div> + </li>`, + note: sampleComment, + valid: true + }; + let $form; + let $notesContainer; + + beforeEach(() => { + this.notes = new Notes('', []); + window.gon.current_username = 'root'; + window.gon.current_user_fullname = 'Administrator'; + $form = $('form.js-main-target-form'); + $notesContainer = $('ul.main-notes-list'); + $form.find('textarea.js-note-text').html(sampleComment); + }); + + it('should not render a script tag', () => { + const deferred = $.Deferred(); + spyOn($, 'ajax').and.returnValue(deferred.promise()); + $('.js-comment-button').click(); + + deferred.resolve(note); + const $noteEl = $notesContainer.find(`#note_${note.id}`); + $noteEl.find('.js-note-edit').click(); + $noteEl.find('textarea.js-note-text').html(updatedComment); + $noteEl.find('.js-comment-save-button').click(); + + const $updatedNoteEl = $notesContainer.find(`#note_${note.id}`).find('.js-task-list-container'); + expect($updatedNoteEl.find('.note-text').text().trim()).toEqual(''); + }); + }); + describe('getFormData', () => { it('should return form metadata object from form reference', () => { this.notes = new Notes('', []); -- GitLab From 664ee81486a3205675cfadf3c98f9654d256f538 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Sun, 7 May 2017 21:15:06 +0000 Subject: [PATCH 186/249] Merge branch 'dz-restrict-autocomplete' into 'security-9-1' Allow users autocomplete by author_id only for authenticated users See merge request !2100 --- app/controllers/autocomplete_controller.rb | 2 +- .../unreleased/dz-restrict-autocomplete.yml | 4 +++ .../autocomplete_controller_spec.rb | 30 ++++++++++++------- 3 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 changelogs/unreleased/dz-restrict-autocomplete.yml diff --git a/app/controllers/autocomplete_controller.rb b/app/controllers/autocomplete_controller.rb index b79ca034c5b..f94f88305a4 100644 --- a/app/controllers/autocomplete_controller.rb +++ b/app/controllers/autocomplete_controller.rb @@ -21,7 +21,7 @@ class AutocompleteController < ApplicationController @users = [current_user, *@users].uniq end - if params[:author_id].present? + if params[:author_id].present? && current_user author = User.find_by_id(params[:author_id]) @users = [author, *@users].uniq if author end diff --git a/changelogs/unreleased/dz-restrict-autocomplete.yml b/changelogs/unreleased/dz-restrict-autocomplete.yml new file mode 100644 index 00000000000..65c944653f8 --- /dev/null +++ b/changelogs/unreleased/dz-restrict-autocomplete.yml @@ -0,0 +1,4 @@ +--- +title: Allow users autocomplete by author_id only for authenticated users +merge_request: +author: diff --git a/spec/controllers/autocomplete_controller_spec.rb b/spec/controllers/autocomplete_controller_spec.rb index 7d2f6dd9d0a..14b105c69e5 100644 --- a/spec/controllers/autocomplete_controller_spec.rb +++ b/spec/controllers/autocomplete_controller_spec.rb @@ -156,22 +156,32 @@ describe AutocompleteController do end context 'author of issuable included' do - before do - sign_in(user) - end - let(:body) { JSON.parse(response.body) } - it 'includes the author' do - get(:users, author_id: non_member.id) + context 'authenticated' do + before do + sign_in(user) + end + + it 'includes the author' do + get(:users, author_id: non_member.id) + + expect(body.first["username"]).to eq non_member.username + end + + it 'rejects non existent user ids' do + get(:users, author_id: 99999) - expect(body.first["username"]).to eq non_member.username + expect(body.collect { |u| u['id'] }).not_to include(99999) + end end - it 'rejects non existent user ids' do - get(:users, author_id: 99999) + context 'without authenticating' do + it 'returns empty result' do + get(:users, author_id: non_member.id) - expect(body.collect { |u| u['id'] }).not_to include(99999) + expect(body).to be_empty + end end end -- GitLab From 88d0ccd551f0334304de665ece94ba9810c60de7 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Tue, 23 May 2017 18:49:44 +0000 Subject: [PATCH 187/249] Merge branch 'dz-api-x-frame' into 'security-9-2' Restrict API X-Frame-Options to same origin See merge request !2103 --- changelogs/unreleased/dz-api-x-frame.yml | 4 ++++ lib/api/api.rb | 1 + 2 files changed, 5 insertions(+) create mode 100644 changelogs/unreleased/dz-api-x-frame.yml diff --git a/changelogs/unreleased/dz-api-x-frame.yml b/changelogs/unreleased/dz-api-x-frame.yml new file mode 100644 index 00000000000..0483a9e076a --- /dev/null +++ b/changelogs/unreleased/dz-api-x-frame.yml @@ -0,0 +1,4 @@ +--- +title: Restrict API X-Frame-Options to same origin +merge_request: +author: diff --git a/lib/api/api.rb b/lib/api/api.rb index 52cd7cbe3db..6f5f4283937 100644 --- a/lib/api/api.rb +++ b/lib/api/api.rb @@ -45,6 +45,7 @@ module API end before { allow_access_with_scope :api } + before { header['X-Frame-Options'] = 'SAMEORIGIN' } before { Gitlab::I18n.set_locale(current_user) } after { Gitlab::I18n.reset_locale } -- GitLab From 2c6fc0fff6204b20ea3cdd7b8c579692ac2b0ca5 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Thu, 25 May 2017 17:27:25 +0000 Subject: [PATCH 188/249] Merge branch 'bvl-security-9-2-28917-contain-uploads-in-system-dir' into 'security-9-2' (security-9-2) Upload files into `public/upload/system` instead of `public/upload` See merge request !2104 Conflicts: app/validators/dynamic_path_validator.rb Fixed conflicts based on 3c7c859c359bf5d3955dd300d6861ff33af21ca7 --- app/uploaders/file_uploader.rb | 7 + app/uploaders/gitlab_uploader.rb | 20 +- .../28917-contain-uploads-in-system-dir.yml | 4 + config/routes/uploads.rb | 4 +- ...20170316163800_rename_system_namespaces.rb | 231 ++++++++++++++++ ...170316163845_move_uploads_to_system_dir.rb | 59 ++++ ...317162059_update_upload_paths_to_system.rb | 55 ++++ .../20170406111121_clean_upload_symlinks.rb | 52 ++++ features/steps/groups.rb | 2 +- features/steps/profile/profile.rb | 2 +- features/steps/project/project.rb | 2 +- spec/factories/uploads.rb | 8 + spec/features/admin/admin_appearance_spec.rb | 4 +- .../user_uploads_avatar_to_group_spec.rb | 2 +- .../user_uploads_avatar_to_profile_spec.rb | 2 +- spec/helpers/application_helper_spec.rb | 9 +- spec/helpers/emails_helper_spec.rb | 2 +- spec/helpers/groups_helper_spec.rb | 2 +- spec/helpers/page_layout_helper_spec.rb | 2 +- .../vue_shared/components/commit_spec.js | 4 +- spec/migrations/clean_upload_symlinks_spec.rb | 46 ++++ .../move_uploads_to_system_dir_spec.rb | 68 +++++ .../rename_system_namespaces_spec.rb | 252 ++++++++++++++++++ .../update_upload_paths_to_system_spec.rb | 53 ++++ spec/models/group_spec.rb | 2 +- spec/models/namespace_spec.rb | 10 +- spec/models/project_spec.rb | 2 +- spec/models/user_spec.rb | 2 +- spec/requests/openid_connect_spec.rb | 2 +- .../projects/participants_service_spec.rb | 4 +- spec/uploaders/attachment_uploader_spec.rb | 11 + spec/uploaders/avatar_uploader_spec.rb | 11 + spec/uploaders/file_uploader_spec.rb | 10 + 33 files changed, 916 insertions(+), 30 deletions(-) create mode 100644 changelogs/unreleased/28917-contain-uploads-in-system-dir.yml create mode 100644 db/migrate/20170316163800_rename_system_namespaces.rb create mode 100644 db/migrate/20170316163845_move_uploads_to_system_dir.rb create mode 100644 db/post_migrate/20170317162059_update_upload_paths_to_system.rb create mode 100644 db/post_migrate/20170406111121_clean_upload_symlinks.rb create mode 100644 spec/factories/uploads.rb create mode 100644 spec/migrations/clean_upload_symlinks_spec.rb create mode 100644 spec/migrations/move_uploads_to_system_dir_spec.rb create mode 100644 spec/migrations/rename_system_namespaces_spec.rb create mode 100644 spec/migrations/update_upload_paths_to_system_spec.rb diff --git a/app/uploaders/file_uploader.rb b/app/uploaders/file_uploader.rb index 7e94218c23d..652277e3b78 100644 --- a/app/uploaders/file_uploader.rb +++ b/app/uploaders/file_uploader.rb @@ -13,6 +13,13 @@ class FileUploader < GitlabUploader ) end + # Not using `GitlabUploader.base_dir` because all project namespaces are in + # the `public/uploads` dir. + # + def self.base_dir + root_dir + end + # Returns the part of `store_dir` that can change based on the model's current # path # diff --git a/app/uploaders/gitlab_uploader.rb b/app/uploaders/gitlab_uploader.rb index e0a6c9b4067..449850bf0d5 100644 --- a/app/uploaders/gitlab_uploader.rb +++ b/app/uploaders/gitlab_uploader.rb @@ -3,16 +3,28 @@ class GitlabUploader < CarrierWave::Uploader::Base File.join(CarrierWave.root, upload_record.path) end - def self.base_dir + def self.root_dir 'uploads' end - delegate :base_dir, to: :class + # When object storage is used, keep the `root_dir` as `base_dir`. + # The files aren't really in folders there, they just have a name. + # The files that contain user input in their name, also contain a hash, so + # the names are still unique + # + # This method is overridden in the `FileUploader` + def self.base_dir + return root_dir unless file_storage? + + File.join(root_dir, 'system') + end - def file_storage? - self.class.storage == CarrierWave::Storage::File + def self.file_storage? + self.storage == CarrierWave::Storage::File end + delegate :base_dir, :file_storage?, to: :class + # Reduce disk IO def move_to_cache true diff --git a/changelogs/unreleased/28917-contain-uploads-in-system-dir.yml b/changelogs/unreleased/28917-contain-uploads-in-system-dir.yml new file mode 100644 index 00000000000..cddab46d815 --- /dev/null +++ b/changelogs/unreleased/28917-contain-uploads-in-system-dir.yml @@ -0,0 +1,4 @@ +--- +title: Move uploads from 'public/uploads' to 'public/uploads/system' +merge_request: +author: diff --git a/config/routes/uploads.rb b/config/routes/uploads.rb index b315186b178..ed3fd21d04f 100644 --- a/config/routes/uploads.rb +++ b/config/routes/uploads.rb @@ -1,6 +1,6 @@ scope path: :uploads do # Note attachments and User/Group/Project avatars - get ":model/:mounted_as/:id/:filename", + get "system/:model/:mounted_as/:id/:filename", to: "uploads#show", constraints: { model: /note|user|group|project/, mounted_as: /avatar|attachment/, filename: /[^\/]+/ } @@ -10,7 +10,7 @@ scope path: :uploads do constraints: { model: /personal_snippet/, id: /\d+/, filename: /[^\/]+/ } # Appearance - get ":model/:mounted_as/:id/:filename", + get "system/:model/:mounted_as/:id/:filename", to: "uploads#show", constraints: { model: /appearance/, mounted_as: /logo|header_logo/, filename: /.+/ } diff --git a/db/migrate/20170316163800_rename_system_namespaces.rb b/db/migrate/20170316163800_rename_system_namespaces.rb new file mode 100644 index 00000000000..b5408fbf112 --- /dev/null +++ b/db/migrate/20170316163800_rename_system_namespaces.rb @@ -0,0 +1,231 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. +class RenameSystemNamespaces < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + include Gitlab::ShellAdapter + disable_ddl_transaction! + + class User < ActiveRecord::Base + self.table_name = 'users' + end + + class Namespace < ActiveRecord::Base + self.table_name = 'namespaces' + belongs_to :parent, class_name: 'RenameSystemNamespaces::Namespace' + has_one :route, as: :source + has_many :children, class_name: 'RenameSystemNamespaces::Namespace', foreign_key: :parent_id + belongs_to :owner, class_name: 'RenameSystemNamespaces::User' + + # Overridden to have the correct `source_type` for the `route` relation + def self.name + 'Namespace' + end + + def full_path + if route && route.path.present? + @full_path ||= route.path + else + update_route if persisted? + + build_full_path + end + end + + def build_full_path + if parent && path + parent.full_path + '/' + path + else + path + end + end + + def update_route + prepare_route + route.save + end + + def prepare_route + route || build_route(source: self) + route.path = build_full_path + route.name = build_full_name + @full_path = nil + @full_name = nil + end + + def build_full_name + if parent && name + parent.human_name + ' / ' + name + else + name + end + end + + def human_name + owner&.name + end + end + + class Route < ActiveRecord::Base + self.table_name = 'routes' + belongs_to :source, polymorphic: true + end + + class Project < ActiveRecord::Base + self.table_name = 'projects' + + def repository_storage_path + Gitlab.config.repositories.storages[repository_storage]['path'] + end + end + + DOWNTIME = false + + def up + return unless system_namespace + + old_path = system_namespace.path + old_full_path = system_namespace.full_path + # Only remove the last occurrence of the path name to get the parent namespace path + namespace_path = remove_last_occurrence(old_full_path, old_path) + new_path = rename_path(namespace_path, old_path) + new_full_path = join_namespace_path(namespace_path, new_path) + + Namespace.where(id: system_namespace).update_all(path: new_path) # skips callbacks & validations + + replace_statement = replace_sql(Route.arel_table[:path], old_full_path, new_full_path) + route_matches = [old_full_path, "#{old_full_path}/%"] + + update_column_in_batches(:routes, :path, replace_statement) do |table, query| + query.where(Route.arel_table[:path].matches_any(route_matches)) + end + + clear_cache_for_namespace(system_namespace) + + # tasks here are based on `Namespace#move_dir` + move_repositories(system_namespace, old_full_path, new_full_path) + move_namespace_folders(uploads_dir, old_full_path, new_full_path) if file_storage? + move_namespace_folders(pages_dir, old_full_path, new_full_path) + end + + def down + # nothing to do + end + + def remove_last_occurrence(string, pattern) + string.reverse.sub(pattern.reverse, "").reverse + end + + def move_namespace_folders(directory, old_relative_path, new_relative_path) + old_path = File.join(directory, old_relative_path) + return unless File.directory?(old_path) + + new_path = File.join(directory, new_relative_path) + FileUtils.mv(old_path, new_path) + end + + def move_repositories(namespace, old_full_path, new_full_path) + repo_paths_for_namespace(namespace).each do |repository_storage_path| + # Ensure old directory exists before moving it + gitlab_shell.add_namespace(repository_storage_path, old_full_path) + + unless gitlab_shell.mv_namespace(repository_storage_path, old_full_path, new_full_path) + say "Exception moving path #{repository_storage_path} from #{old_full_path} to #{new_full_path}" + end + end + end + + def rename_path(namespace_path, path_was) + counter = 0 + path = "#{path_was}#{counter}" + + while route_exists?(join_namespace_path(namespace_path, path)) + counter += 1 + path = "#{path_was}#{counter}" + end + + path + end + + def route_exists?(full_path) + Route.where(Route.arel_table[:path].matches(full_path)).any? + end + + def join_namespace_path(namespace_path, path) + if namespace_path.present? + File.join(namespace_path, path) + else + path + end + end + + def system_namespace + @system_namespace ||= Namespace.where(parent_id: nil). + where(arel_table[:path].matches(system_namespace_path)). + first + end + + def system_namespace_path + "system" + end + + def clear_cache_for_namespace(namespace) + project_ids = projects_for_namespace(namespace).pluck(:id) + + update_column_in_batches(:projects, :description_html, nil) do |table, query| + query.where(table[:id].in(project_ids)) + end + + update_column_in_batches(:issues, :description_html, nil) do |table, query| + query.where(table[:project_id].in(project_ids)) + end + + update_column_in_batches(:merge_requests, :description_html, nil) do |table, query| + query.where(table[:target_project_id].in(project_ids)) + end + + update_column_in_batches(:notes, :note_html, nil) do |table, query| + query.where(table[:project_id].in(project_ids)) + end + + update_column_in_batches(:milestones, :description_html, nil) do |table, query| + query.where(table[:project_id].in(project_ids)) + end + end + + def projects_for_namespace(namespace) + namespace_ids = child_ids_for_parent(namespace, ids: [namespace.id]) + namespace_or_children = Project.arel_table[:namespace_id].in(namespace_ids) + Project.unscoped.where(namespace_or_children) + end + + # This won't scale to huge trees, but it should do for a handful of namespaces + # called `system`. + def child_ids_for_parent(namespace, ids: []) + namespace.children.each do |child| + ids << child.id + child_ids_for_parent(child, ids: ids) if child.children.any? + end + ids + end + + def repo_paths_for_namespace(namespace) + projects_for_namespace(namespace).distinct. + select(:repository_storage).map(&:repository_storage_path) + end + + def uploads_dir + File.join(Rails.root, "public", "uploads") + end + + def pages_dir + Settings.pages.path + end + + def file_storage? + CarrierWave::Uploader::Base.storage == CarrierWave::Storage::File + end + + def arel_table + Namespace.arel_table + end +end diff --git a/db/migrate/20170316163845_move_uploads_to_system_dir.rb b/db/migrate/20170316163845_move_uploads_to_system_dir.rb new file mode 100644 index 00000000000..7115444c35a --- /dev/null +++ b/db/migrate/20170316163845_move_uploads_to_system_dir.rb @@ -0,0 +1,59 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class MoveUploadsToSystemDir < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + disable_ddl_transaction! + + DOWNTIME = false + DIRECTORIES_TO_MOVE = %w(user project note group appeareance) + + def up + return unless file_storage? + + FileUtils.mkdir_p(new_upload_dir) + + DIRECTORIES_TO_MOVE.each do |dir| + source = File.join(old_upload_dir, dir) + destination = File.join(new_upload_dir, dir) + next unless File.directory?(source) + next if File.directory?(destination) + + say "Moving #{source} -> #{destination}" + FileUtils.mv(source, destination) + FileUtils.ln_s(destination, source) + end + end + + def down + return unless file_storage? + return unless File.directory?(new_upload_dir) + + DIRECTORIES_TO_MOVE.each do |dir| + source = File.join(new_upload_dir, dir) + destination = File.join(old_upload_dir, dir) + next unless File.directory?(source) + next if File.directory?(destination) && !File.symlink?(destination) + + say "Moving #{source} -> #{destination}" + FileUtils.rm(destination) if File.symlink?(destination) + FileUtils.mv(source, destination) + end + end + + def file_storage? + CarrierWave::Uploader::Base.storage == CarrierWave::Storage::File + end + + def base_directory + Rails.root + end + + def old_upload_dir + File.join(base_directory, "public", "uploads") + end + + def new_upload_dir + File.join(base_directory, "public", "uploads", "system") + end +end diff --git a/db/post_migrate/20170317162059_update_upload_paths_to_system.rb b/db/post_migrate/20170317162059_update_upload_paths_to_system.rb new file mode 100644 index 00000000000..9a77b0bbdfb --- /dev/null +++ b/db/post_migrate/20170317162059_update_upload_paths_to_system.rb @@ -0,0 +1,55 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class UpdateUploadPathsToSystem < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + AFFECTED_MODELS = %w(User Project Note Namespace Appearance) + + def up + update_column_in_batches(:uploads, :path, replace_sql(arel_table[:path], base_directory, new_upload_dir)) do |_table, query| + query.where(uploads_to_switch_to_new_path) + end + end + + def down + update_column_in_batches(:uploads, :path, replace_sql(arel_table[:path], new_upload_dir, base_directory)) do |_table, query| + query.where(uploads_to_switch_to_old_path) + end + end + + # "SELECT \"uploads\".* FROM \"uploads\" WHERE \"uploads\".\"model_type\" IN ('User', 'Project', 'Note', 'Namespace', 'Appearance') AND (\"uploads\".\"path\" ILIKE 'uploads/%' AND NOT (\"uploads\".\"path\" ILIKE 'uploads/system/%'))" + def uploads_to_switch_to_new_path + affected_uploads.and(starting_with_base_directory).and(starting_with_new_upload_directory.not) + end + + # "SELECT \"uploads\".* FROM \"uploads\" WHERE \"uploads\".\"model_type\" IN ('User', 'Project', 'Note', 'Namespace', 'Appearance') AND (\"uploads\".\"path\" ILIKE 'uploads/%' AND \"uploads\".\"path\" ILIKE 'uploads/system/%')" + def uploads_to_switch_to_old_path + affected_uploads.and(starting_with_new_upload_directory) + end + + def starting_with_base_directory + arel_table[:path].matches("#{base_directory}/%") + end + + def starting_with_new_upload_directory + arel_table[:path].matches("#{new_upload_dir}/%") + end + + def affected_uploads + arel_table[:model_type].in(AFFECTED_MODELS) + end + + def base_directory + "uploads" + end + + def new_upload_dir + File.join(base_directory, "system") + end + + def arel_table + Arel::Table.new(:uploads) + end +end diff --git a/db/post_migrate/20170406111121_clean_upload_symlinks.rb b/db/post_migrate/20170406111121_clean_upload_symlinks.rb new file mode 100644 index 00000000000..3ac9a6c10bc --- /dev/null +++ b/db/post_migrate/20170406111121_clean_upload_symlinks.rb @@ -0,0 +1,52 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class CleanUploadSymlinks < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + disable_ddl_transaction! + + DOWNTIME = false + DIRECTORIES_TO_MOVE = %w(user project note group appeareance) + + def up + return unless file_storage? + + DIRECTORIES_TO_MOVE.each do |dir| + symlink_location = File.join(old_upload_dir, dir) + next unless File.symlink?(symlink_location) + say "removing symlink: #{symlink_location}" + FileUtils.rm(symlink_location) + end + end + + def down + return unless file_storage? + + DIRECTORIES_TO_MOVE.each do |dir| + symlink = File.join(old_upload_dir, dir) + destination = File.join(new_upload_dir, dir) + + next if File.directory?(symlink) + next unless File.directory?(destination) + + say "Creating symlink #{symlink} -> #{destination}" + FileUtils.ln_s(destination, symlink) + end + end + + def file_storage? + CarrierWave::Uploader::Base.storage == CarrierWave::Storage::File + end + + def base_directory + Rails.root + end + + def old_upload_dir + File.join(base_directory, "public", "uploads") + end + + def new_upload_dir + File.join(base_directory, "public", "uploads", "system") + end +end diff --git a/features/steps/groups.rb b/features/steps/groups.rb index 83d8abbab1f..25bb374b868 100644 --- a/features/steps/groups.rb +++ b/features/steps/groups.rb @@ -81,7 +81,7 @@ class Spinach::Features::Groups < Spinach::FeatureSteps step 'I should see new group "Owned" avatar' do expect(owned_group.avatar).to be_instance_of AvatarUploader - expect(owned_group.avatar.url).to eq "/uploads/group/avatar/#{Group.find_by(name: "Owned").id}/banana_sample.gif" + expect(owned_group.avatar.url).to eq "/uploads/system/group/avatar/#{Group.find_by(name: "Owned").id}/banana_sample.gif" end step 'I should see the "Remove avatar" button' do diff --git a/features/steps/profile/profile.rb b/features/steps/profile/profile.rb index 24cfbaad7fe..254c26bb6af 100644 --- a/features/steps/profile/profile.rb +++ b/features/steps/profile/profile.rb @@ -36,7 +36,7 @@ class Spinach::Features::Profile < Spinach::FeatureSteps step 'I should see new avatar' do expect(@user.avatar).to be_instance_of AvatarUploader - expect(@user.avatar.url).to eq "/uploads/user/avatar/#{@user.id}/banana_sample.gif" + expect(@user.avatar.url).to eq "/uploads/system/user/avatar/#{@user.id}/banana_sample.gif" end step 'I should see the "Remove avatar" button' do diff --git a/features/steps/project/project.rb b/features/steps/project/project.rb index 280d70925f7..03d6704e1ab 100644 --- a/features/steps/project/project.rb +++ b/features/steps/project/project.rb @@ -37,7 +37,7 @@ class Spinach::Features::Project < Spinach::FeatureSteps step 'I should see new project avatar' do expect(@project.avatar).to be_instance_of AvatarUploader url = @project.avatar.url - expect(url).to eq "/uploads/project/avatar/#{@project.id}/banana_sample.gif" + expect(url).to eq "/uploads/system/project/avatar/#{@project.id}/banana_sample.gif" end step 'I should see the "Remove avatar" button' do diff --git a/spec/factories/uploads.rb b/spec/factories/uploads.rb new file mode 100644 index 00000000000..1383420fb44 --- /dev/null +++ b/spec/factories/uploads.rb @@ -0,0 +1,8 @@ +FactoryGirl.define do + factory :upload do + model { build(:project) } + path { "uploads/system/project/avatar/avatar.jpg" } + size 100.kilobytes + uploader "AvatarUploader" + end +end diff --git a/spec/features/admin/admin_appearance_spec.rb b/spec/features/admin/admin_appearance_spec.rb index 96d715ef383..595366ce352 100644 --- a/spec/features/admin/admin_appearance_spec.rb +++ b/spec/features/admin/admin_appearance_spec.rb @@ -63,11 +63,11 @@ feature 'Admin Appearance', feature: true do end def logo_selector - '//img[@src^="/uploads/appearance/logo"]' + '//img[@src^="/uploads/system/appearance/logo"]' end def header_logo_selector - '//img[@src^="/uploads/appearance/header_logo"]' + '//img[@src^="/uploads/system/appearance/header_logo"]' end def logo_fixture diff --git a/spec/features/uploads/user_uploads_avatar_to_group_spec.rb b/spec/features/uploads/user_uploads_avatar_to_group_spec.rb index f88a515f7fc..d9d6f2e2382 100644 --- a/spec/features/uploads/user_uploads_avatar_to_group_spec.rb +++ b/spec/features/uploads/user_uploads_avatar_to_group_spec.rb @@ -18,7 +18,7 @@ feature 'User uploads avatar to group', feature: true do visit group_path(group) - expect(page).to have_selector(%Q(img[src$="/uploads/group/avatar/#{group.id}/dk.png"])) + expect(page).to have_selector(%Q(img[src$="/uploads/system/group/avatar/#{group.id}/dk.png"])) # Cheating here to verify something that isn't user-facing, but is important expect(group.reload.avatar.file).to exist diff --git a/spec/features/uploads/user_uploads_avatar_to_profile_spec.rb b/spec/features/uploads/user_uploads_avatar_to_profile_spec.rb index 0dfd29045e5..eb8dbd76aab 100644 --- a/spec/features/uploads/user_uploads_avatar_to_profile_spec.rb +++ b/spec/features/uploads/user_uploads_avatar_to_profile_spec.rb @@ -16,7 +16,7 @@ feature 'User uploads avatar to profile', feature: true do visit user_path(user) - expect(page).to have_selector(%Q(img[src$="/uploads/user/avatar/#{user.id}/dk.png"])) + expect(page).to have_selector(%Q(img[src$="/uploads/system/user/avatar/#{user.id}/dk.png"])) # Cheating here to verify something that isn't user-facing, but is important expect(user.reload.avatar.file).to exist diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 01bdf01ad22..1c4ea46f9cd 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -1,3 +1,4 @@ +# coding: utf-8 require 'spec_helper' describe ApplicationHelper do @@ -57,7 +58,7 @@ describe ApplicationHelper do it 'returns an url for the avatar' do project = create(:empty_project, avatar: File.open(uploaded_image_temp_path)) - avatar_url = "http://#{Gitlab.config.gitlab.host}/uploads/project/avatar/#{project.id}/banana_sample.gif" + avatar_url = "http://#{Gitlab.config.gitlab.host}/uploads/system/project/avatar/#{project.id}/banana_sample.gif" expect(helper.project_icon(project.full_path).to_s). to eq "<img src=\"#{avatar_url}\" alt=\"Banana sample\" />" end @@ -78,7 +79,7 @@ describe ApplicationHelper do user = create(:user, avatar: File.open(uploaded_image_temp_path)) expect(helper.avatar_icon(user.email).to_s). - to match("/uploads/user/avatar/#{user.id}/banana_sample.gif") + to match("/uploads/system/user/avatar/#{user.id}/banana_sample.gif") end it 'returns an url for the avatar with relative url' do @@ -89,7 +90,7 @@ describe ApplicationHelper do user = create(:user, avatar: File.open(uploaded_image_temp_path)) expect(helper.avatar_icon(user.email).to_s). - to match("/gitlab/uploads/user/avatar/#{user.id}/banana_sample.gif") + to match("/gitlab/uploads/system/user/avatar/#{user.id}/banana_sample.gif") end it 'calls gravatar_icon when no User exists with the given email' do @@ -103,7 +104,7 @@ describe ApplicationHelper do user = create(:user, avatar: File.open(uploaded_image_temp_path)) expect(helper.avatar_icon(user).to_s). - to match("/uploads/user/avatar/#{user.id}/banana_sample.gif") + to match("/uploads/system/user/avatar/#{user.id}/banana_sample.gif") end end end diff --git a/spec/helpers/emails_helper_spec.rb b/spec/helpers/emails_helper_spec.rb index cd112dbb2fb..c68e4f56b05 100644 --- a/spec/helpers/emails_helper_spec.rb +++ b/spec/helpers/emails_helper_spec.rb @@ -52,7 +52,7 @@ describe EmailsHelper do ) expect(header_logo).to eq( - %{<img style="height: 50px" src="/uploads/appearance/header_logo/#{appearance.id}/dk.png" alt="Dk" />} + %{<img style="height: 50px" src="/uploads/system/appearance/header_logo/#{appearance.id}/dk.png" alt="Dk" />} ) end end diff --git a/spec/helpers/groups_helper_spec.rb b/spec/helpers/groups_helper_spec.rb index c8b0d86425f..0337afa4452 100644 --- a/spec/helpers/groups_helper_spec.rb +++ b/spec/helpers/groups_helper_spec.rb @@ -9,7 +9,7 @@ describe GroupsHelper do group.avatar = fixture_file_upload(avatar_file_path) group.save! expect(group_icon(group.path).to_s). - to match("/uploads/group/avatar/#{group.id}/banana_sample.gif") + to match("/uploads/system/group/avatar/#{group.id}/banana_sample.gif") end it 'gives default avatar_icon when no avatar is present' do diff --git a/spec/helpers/page_layout_helper_spec.rb b/spec/helpers/page_layout_helper_spec.rb index 2cc0b40b2d0..dff2784f21f 100644 --- a/spec/helpers/page_layout_helper_spec.rb +++ b/spec/helpers/page_layout_helper_spec.rb @@ -60,7 +60,7 @@ describe PageLayoutHelper do %w(project user group).each do |type| context "with @#{type} assigned" do it "uses #{type.titlecase} avatar if available" do - object = double(avatar_url: 'http://example.com/uploads/avatar.png') + object = double(avatar_url: 'http://example.com/uploads/system/avatar.png') assign(type, object) expect(helper.page_image).to eq object.avatar_url diff --git a/spec/javascripts/vue_shared/components/commit_spec.js b/spec/javascripts/vue_shared/components/commit_spec.js index df547299d75..01dabf5320e 100644 --- a/spec/javascripts/vue_shared/components/commit_spec.js +++ b/spec/javascripts/vue_shared/components/commit_spec.js @@ -22,7 +22,7 @@ describe('Commit component', () => { shortSha: 'b7836edd', title: 'Commit message', author: { - avatar_url: 'https://gitlab.com/uploads/user/avatar/300478/avatar.png', + avatar_url: 'https://gitlab.com/uploads/system/user/avatar/300478/avatar.png', web_url: 'https://gitlab.com/jschatz1', username: 'jschatz1', }, @@ -44,7 +44,7 @@ describe('Commit component', () => { shortSha: 'b7836edd', title: 'Commit message', author: { - avatar_url: 'https://gitlab.com/uploads/user/avatar/300478/avatar.png', + avatar_url: 'https://gitlab.com/uploads/system/user/avatar/300478/avatar.png', web_url: 'https://gitlab.com/jschatz1', username: 'jschatz1', }, diff --git a/spec/migrations/clean_upload_symlinks_spec.rb b/spec/migrations/clean_upload_symlinks_spec.rb new file mode 100644 index 00000000000..cecb3ddac53 --- /dev/null +++ b/spec/migrations/clean_upload_symlinks_spec.rb @@ -0,0 +1,46 @@ +require 'spec_helper' +require Rails.root.join('db', 'post_migrate', '20170406111121_clean_upload_symlinks.rb') + +describe CleanUploadSymlinks do + let(:migration) { described_class.new } + let(:test_dir) { File.join(Rails.root, "tmp", "tests", "move_uploads_test") } + let(:uploads_dir) { File.join(test_dir, "public", "uploads") } + let(:new_uploads_dir) { File.join(uploads_dir, "system") } + let(:original_path) { File.join(new_uploads_dir, 'user') } + let(:symlink_path) { File.join(uploads_dir, 'user') } + + before do + FileUtils.remove_dir(test_dir) if File.directory?(test_dir) + FileUtils.mkdir_p(uploads_dir) + allow(migration).to receive(:base_directory).and_return(test_dir) + allow(migration).to receive(:say) + end + + describe "#up" do + before do + FileUtils.mkdir_p(original_path) + FileUtils.ln_s(original_path, symlink_path) + end + + it 'removes the symlink' do + migration.up + + expect(File.symlink?(symlink_path)).to be(false) + end + end + + describe '#down' do + before do + FileUtils.mkdir_p(File.join(original_path)) + FileUtils.touch(File.join(original_path, 'dummy.file')) + end + + it 'creates a symlink' do + expected_path = File.join(symlink_path, "dummy.file") + migration.down + + expect(File.exist?(expected_path)).to be(true) + expect(File.symlink?(symlink_path)).to be(true) + end + end +end diff --git a/spec/migrations/move_uploads_to_system_dir_spec.rb b/spec/migrations/move_uploads_to_system_dir_spec.rb new file mode 100644 index 00000000000..37d66452447 --- /dev/null +++ b/spec/migrations/move_uploads_to_system_dir_spec.rb @@ -0,0 +1,68 @@ +require "spec_helper" +require Rails.root.join("db", "migrate", "20170316163845_move_uploads_to_system_dir.rb") + +describe MoveUploadsToSystemDir do + let(:migration) { described_class.new } + let(:test_dir) { File.join(Rails.root, "tmp", "move_uploads_test") } + let(:uploads_dir) { File.join(test_dir, "public", "uploads") } + let(:new_uploads_dir) { File.join(uploads_dir, "system") } + + before do + FileUtils.remove_dir(test_dir) if File.directory?(test_dir) + FileUtils.mkdir_p(uploads_dir) + allow(migration).to receive(:base_directory).and_return(test_dir) + allow(migration).to receive(:say) + end + + describe "#up" do + before do + FileUtils.mkdir_p(File.join(uploads_dir, 'user')) + FileUtils.touch(File.join(uploads_dir, 'user', 'dummy.file')) + end + + it 'moves the directory to the new path' do + expected_path = File.join(new_uploads_dir, 'user', 'dummy.file') + + migration.up + + expect(File.exist?(expected_path)).to be(true) + end + + it 'creates a symlink in the old location' do + symlink_path = File.join(uploads_dir, 'user') + expected_path = File.join(symlink_path, 'dummy.file') + + migration.up + + expect(File.exist?(expected_path)).to be(true) + expect(File.symlink?(symlink_path)).to be(true) + end + end + + describe "#down" do + before do + FileUtils.mkdir_p(File.join(new_uploads_dir, 'user')) + FileUtils.touch(File.join(new_uploads_dir, 'user', 'dummy.file')) + end + + it 'moves the directory to the old path' do + expected_path = File.join(uploads_dir, 'user', 'dummy.file') + + migration.down + + expect(File.exist?(expected_path)).to be(true) + end + + it 'removes the symlink if it existed' do + FileUtils.ln_s(File.join(new_uploads_dir, 'user'), File.join(uploads_dir, 'user')) + + directory = File.join(uploads_dir, 'user') + expected_path = File.join(directory, 'dummy.file') + + migration.down + + expect(File.exist?(expected_path)).to be(true) + expect(File.symlink?(directory)).to be(false) + end + end +end diff --git a/spec/migrations/rename_system_namespaces_spec.rb b/spec/migrations/rename_system_namespaces_spec.rb new file mode 100644 index 00000000000..ad1b83d8e2e --- /dev/null +++ b/spec/migrations/rename_system_namespaces_spec.rb @@ -0,0 +1,252 @@ +require "spec_helper" +require Rails.root.join("db", "migrate", "20170316163800_rename_system_namespaces.rb") + +describe RenameSystemNamespaces, truncate: true do + let(:migration) { described_class.new } + let(:test_dir) { File.join(Rails.root, "tmp", "tests", "rename_namespaces_test") } + let(:uploads_dir) { File.join(test_dir, "public", "uploads") } + let(:system_namespace) do + namespace = build(:namespace, path: "system") + namespace.save(validate: false) + namespace + end + + def save_invalid_routable(routable) + routable.__send__(:prepare_route) + routable.save(validate: false) + end + + before do + FileUtils.remove_dir(test_dir) if File.directory?(test_dir) + FileUtils.mkdir_p(uploads_dir) + FileUtils.remove_dir(TestEnv.repos_path) if File.directory?(TestEnv.repos_path) + allow(migration).to receive(:say) + allow(migration).to receive(:uploads_dir).and_return(uploads_dir) + end + + describe "#system_namespace" do + it "only root namespaces called with path `system`" do + system_namespace + system_namespace_with_parent = build(:namespace, path: 'system', parent: create(:namespace)) + system_namespace_with_parent.save(validate: false) + + expect(migration.system_namespace.id).to eq(system_namespace.id) + end + end + + describe "#up" do + before do + system_namespace + end + + it "doesn't break if there are no namespaces called system" do + Namespace.delete_all + + migration.up + end + + it "renames namespaces called system" do + migration.up + + expect(system_namespace.reload.path).to eq("system0") + end + + it "renames the route to the namespace" do + migration.up + + expect(system_namespace.reload.full_path).to eq("system0") + end + + it "renames the route for projects of the namespace" do + project = build(:project, path: "project-path", namespace: system_namespace) + save_invalid_routable(project) + + migration.up + + expect(project.route.reload.path).to eq("system0/project-path") + end + + it "doesn't touch routes of namespaces that look like system" do + namespace = create(:group, path: 'systemlookalike') + project = create(:project, namespace: namespace, path: 'the-project') + + migration.up + + expect(project.route.reload.path).to eq('systemlookalike/the-project') + expect(namespace.route.reload.path).to eq('systemlookalike') + end + + it "moves the the repository for a project in the namespace" do + project = build(:project, namespace: system_namespace, path: "system-project") + save_invalid_routable(project) + TestEnv.copy_repo(project) + expected_repo = File.join(TestEnv.repos_path, "system0", "system-project.git") + + migration.up + + expect(File.directory?(expected_repo)).to be(true) + end + + it "moves the uploads for the namespace" do + allow(migration).to receive(:move_namespace_folders).with(Settings.pages.path, "system", "system0") + expect(migration).to receive(:move_namespace_folders).with(uploads_dir, "system", "system0") + + migration.up + end + + it "moves the pages for the namespace" do + allow(migration).to receive(:move_namespace_folders).with(uploads_dir, "system", "system0") + expect(migration).to receive(:move_namespace_folders).with(Settings.pages.path, "system", "system0") + + migration.up + end + + describe "clears the markdown cache for projects in the system namespace" do + let!(:project) do + project = build(:project, namespace: system_namespace) + save_invalid_routable(project) + project + end + + it 'removes description_html from projects' do + migration.up + + expect(project.reload.description_html).to be_nil + end + + it 'removes issue descriptions' do + issue = create(:issue, project: project, description_html: 'Issue description') + + migration.up + + expect(issue.reload.description_html).to be_nil + end + + it 'removes merge request descriptions' do + merge_request = create(:merge_request, + source_project: project, + target_project: project, + description_html: 'MergeRequest description') + + migration.up + + expect(merge_request.reload.description_html).to be_nil + end + + it 'removes note html' do + note = create(:note, + project: project, + noteable: create(:issue, project: project), + note_html: 'note description') + + migration.up + + expect(note.reload.note_html).to be_nil + end + + it 'removes milestone description' do + milestone = create(:milestone, + project: project, + description_html: 'milestone description') + + migration.up + + expect(milestone.reload.description_html).to be_nil + end + end + + context "system namespace -> subgroup -> system0 project" do + it "updates the route of the project correctly" do + subgroup = build(:group, path: "subgroup", parent: system_namespace) + save_invalid_routable(subgroup) + project = build(:project, path: "system0", namespace: subgroup) + save_invalid_routable(project) + + migration.up + + expect(project.route.reload.path).to eq("system0/subgroup/system0") + end + end + end + + describe "#move_repositories" do + let(:namespace) { create(:group, name: "hello-group") } + it "moves a project for a namespace" do + create(:project, namespace: namespace, path: "hello-project") + expected_path = File.join(TestEnv.repos_path, "bye-group", "hello-project.git") + + migration.move_repositories(namespace, "hello-group", "bye-group") + + expect(File.directory?(expected_path)).to be(true) + end + + it "moves a namespace in a subdirectory correctly" do + child_namespace = create(:group, name: "sub-group", parent: namespace) + create(:project, namespace: child_namespace, path: "hello-project") + + expected_path = File.join(TestEnv.repos_path, "hello-group", "renamed-sub-group", "hello-project.git") + + migration.move_repositories(child_namespace, "hello-group/sub-group", "hello-group/renamed-sub-group") + + expect(File.directory?(expected_path)).to be(true) + end + + it "moves a parent namespace with subdirectories" do + child_namespace = create(:group, name: "sub-group", parent: namespace) + create(:project, namespace: child_namespace, path: "hello-project") + expected_path = File.join(TestEnv.repos_path, "renamed-group", "sub-group", "hello-project.git") + + migration.move_repositories(child_namespace, "hello-group", "renamed-group") + + expect(File.directory?(expected_path)).to be(true) + end + end + + describe "#move_namespace_folders" do + it "moves a namespace with files" do + source = File.join(uploads_dir, "parent-group", "sub-group") + FileUtils.mkdir_p(source) + destination = File.join(uploads_dir, "parent-group", "moved-group") + FileUtils.touch(File.join(source, "test.txt")) + expected_file = File.join(destination, "test.txt") + + migration.move_namespace_folders(uploads_dir, File.join("parent-group", "sub-group"), File.join("parent-group", "moved-group")) + + expect(File.exist?(expected_file)).to be(true) + end + + it "moves a parent namespace uploads" do + source = File.join(uploads_dir, "parent-group", "sub-group") + FileUtils.mkdir_p(source) + destination = File.join(uploads_dir, "moved-parent", "sub-group") + FileUtils.touch(File.join(source, "test.txt")) + expected_file = File.join(destination, "test.txt") + + migration.move_namespace_folders(uploads_dir, "parent-group", "moved-parent") + + expect(File.exist?(expected_file)).to be(true) + end + end + + describe "#child_ids_for_parent" do + it "collects child ids for all levels" do + parent = create(:namespace) + first_child = create(:namespace, parent: parent) + second_child = create(:namespace, parent: parent) + third_child = create(:namespace, parent: second_child) + all_ids = [parent.id, first_child.id, second_child.id, third_child.id] + + collected_ids = migration.child_ids_for_parent(parent, ids: [parent.id]) + + expect(collected_ids).to contain_exactly(*all_ids) + end + end + + describe "#remove_last_ocurrence" do + it "removes only the last occurance of a string" do + input = "this/is/system/namespace/with/system" + + expect(migration.remove_last_occurrence(input, "system")).to eq("this/is/system/namespace/with/") + end + end +end diff --git a/spec/migrations/update_upload_paths_to_system_spec.rb b/spec/migrations/update_upload_paths_to_system_spec.rb new file mode 100644 index 00000000000..7df44515424 --- /dev/null +++ b/spec/migrations/update_upload_paths_to_system_spec.rb @@ -0,0 +1,53 @@ +require "spec_helper" +require Rails.root.join("db", "post_migrate", "20170317162059_update_upload_paths_to_system.rb") + +describe UpdateUploadPathsToSystem do + let(:migration) { described_class.new } + + before do + allow(migration).to receive(:say) + end + + describe "#uploads_to_switch_to_new_path" do + it "contains only uploads with the old path for the correct models" do + _upload_for_other_type = create(:upload, model: create(:ci_pipeline), path: "uploads/ci_pipeline/avatar.jpg") + _upload_with_system_path = create(:upload, model: create(:empty_project), path: "uploads/system/project/avatar.jpg") + _upload_with_other_path = create(:upload, model: create(:empty_project), path: "thelongsecretforafileupload/avatar.jpg") + old_upload = create(:upload, model: create(:empty_project), path: "uploads/project/avatar.jpg") + group_upload = create(:upload, model: create(:group), path: "uploads/group/avatar.jpg") + + expect(Upload.where(migration.uploads_to_switch_to_new_path)).to contain_exactly(old_upload, group_upload) + end + end + + describe "#uploads_to_switch_to_old_path" do + it "contains only uploads with the new path for the correct models" do + _upload_for_other_type = create(:upload, model: create(:ci_pipeline), path: "uploads/ci_pipeline/avatar.jpg") + upload_with_system_path = create(:upload, model: create(:empty_project), path: "uploads/system/project/avatar.jpg") + _upload_with_other_path = create(:upload, model: create(:empty_project), path: "thelongsecretforafileupload/avatar.jpg") + _old_upload = create(:upload, model: create(:empty_project), path: "uploads/project/avatar.jpg") + + expect(Upload.where(migration.uploads_to_switch_to_old_path)).to contain_exactly(upload_with_system_path) + end + end + + describe "#up", truncate: true do + it "updates old upload records to the new path" do + old_upload = create(:upload, model: create(:empty_project), path: "uploads/project/avatar.jpg") + + migration.up + + expect(old_upload.reload.path).to eq("uploads/system/project/avatar.jpg") + end + end + + describe "#down", truncate: true do + it "updates the new system patsh to the old paths" do + new_upload = create(:upload, model: create(:empty_project), path: "uploads/system/project/avatar.jpg") + + migration.down + + expect(new_upload.reload.path).to eq("uploads/project/avatar.jpg") + end + end +end diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index 3d60e52f23f..365df733c30 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -185,7 +185,7 @@ describe Group, models: true do group.add_master(user) end - let(:avatar_path) { "/uploads/group/avatar/#{group.id}/dk.png" } + let(:avatar_path) { "/uploads/system/group/avatar/#{group.id}/dk.png" } it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" } end diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb index 312302afdbb..5fc43eab283 100644 --- a/spec/models/namespace_spec.rb +++ b/spec/models/namespace_spec.rb @@ -43,6 +43,12 @@ describe Namespace, models: true do end end + context "is case insensitive" do + let(:group) { build(:group, path: "System") } + + it { expect(group).not_to be_valid } + end + context 'top-level group' do let(:group) { build(:group, path: 'tree') } @@ -178,8 +184,8 @@ describe Namespace, models: true do let(:parent) { create(:group, name: 'parent', path: 'parent') } let(:child) { create(:group, name: 'child', path: 'child', parent: parent) } let!(:project) { create(:project_empty_repo, path: 'the-project', namespace: child) } - let(:uploads_dir) { File.join(CarrierWave.root, 'uploads') } - let(:pages_dir) { TestEnv.pages_path } + let(:uploads_dir) { File.join(CarrierWave.root, GitlabUploader.base_dir) } + let(:pages_dir) { File.join(TestEnv.pages_path) } before do FileUtils.mkdir_p(File.join(uploads_dir, 'parent', 'child', 'the-project')) diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 429b3dd83af..692f28ea5e7 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -812,7 +812,7 @@ describe Project, models: true do context 'when avatar file is uploaded' do let(:project) { create(:empty_project, :with_avatar) } - let(:avatar_path) { "/uploads/project/avatar/#{project.id}/dk.png" } + let(:avatar_path) { "/uploads/system/project/avatar/#{project.id}/dk.png" } it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" } end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 9be4996192b..76a66888658 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -948,7 +948,7 @@ describe User, models: true do subject { user.avatar_url } context 'when avatar file is uploaded' do - let(:avatar_path) { "/uploads/user/avatar/#{user.id}/dk.png" } + let(:avatar_path) { "/uploads/system/user/avatar/#{user.id}/dk.png" } it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" } end diff --git a/spec/requests/openid_connect_spec.rb b/spec/requests/openid_connect_spec.rb index a4f85c22943..75d8fc92a43 100644 --- a/spec/requests/openid_connect_spec.rb +++ b/spec/requests/openid_connect_spec.rb @@ -79,7 +79,7 @@ describe 'OpenID Connect requests' do 'email_verified' => true, 'website' => 'https://example.com', 'profile' => 'http://localhost/alice', - 'picture' => "http://localhost/uploads/user/avatar/#{user.id}/dk.png", + 'picture' => "http://localhost/uploads/system/user/avatar/#{user.id}/dk.png", }) end end diff --git a/spec/services/projects/participants_service_spec.rb b/spec/services/projects/participants_service_spec.rb index 063b3bd76eb..d524c9aff17 100644 --- a/spec/services/projects/participants_service_spec.rb +++ b/spec/services/projects/participants_service_spec.rb @@ -14,7 +14,7 @@ describe Projects::ParticipantsService, services: true do groups = participants.groups expect(groups.size).to eq 1 - expect(groups.first[:avatar_url]).to eq "#{base_url}/uploads/group/avatar/#{group.id}/dk.png" + expect(groups.first[:avatar_url]).to eq "#{base_url}/uploads/system/group/avatar/#{group.id}/dk.png" end it 'should return an url for the avatar with relative url' do @@ -25,7 +25,7 @@ describe Projects::ParticipantsService, services: true do groups = participants.groups expect(groups.size).to eq 1 - expect(groups.first[:avatar_url]).to eq "#{base_url}/gitlab/uploads/group/avatar/#{group.id}/dk.png" + expect(groups.first[:avatar_url]).to eq "#{base_url}/gitlab/uploads/system/group/avatar/#{group.id}/dk.png" end end end diff --git a/spec/uploaders/attachment_uploader_spec.rb b/spec/uploaders/attachment_uploader_spec.rb index ea714fb08f0..d82dbe871d5 100644 --- a/spec/uploaders/attachment_uploader_spec.rb +++ b/spec/uploaders/attachment_uploader_spec.rb @@ -3,6 +3,17 @@ require 'spec_helper' describe AttachmentUploader do let(:uploader) { described_class.new(build_stubbed(:user)) } + describe "#store_dir" do + it "stores in the system dir" do + expect(uploader.store_dir).to start_with("uploads/system/user") + end + + it "uses the old path when using object storage" do + expect(described_class).to receive(:file_storage?).and_return(false) + expect(uploader.store_dir).to start_with("uploads/user") + end + end + describe '#move_to_cache' do it 'is true' do expect(uploader.move_to_cache).to eq(true) diff --git a/spec/uploaders/avatar_uploader_spec.rb b/spec/uploaders/avatar_uploader_spec.rb index c4d558805ab..201fe6949aa 100644 --- a/spec/uploaders/avatar_uploader_spec.rb +++ b/spec/uploaders/avatar_uploader_spec.rb @@ -3,6 +3,17 @@ require 'spec_helper' describe AvatarUploader do let(:uploader) { described_class.new(build_stubbed(:user)) } + describe "#store_dir" do + it "stores in the system dir" do + expect(uploader.store_dir).to start_with("uploads/system/user") + end + + it "uses the old path when using object storage" do + expect(described_class).to receive(:file_storage?).and_return(false) + expect(uploader.store_dir).to start_with("uploads/user") + end + end + describe '#move_to_cache' do it 'is false' do expect(uploader.move_to_cache).to eq(false) diff --git a/spec/uploaders/file_uploader_spec.rb b/spec/uploaders/file_uploader_spec.rb index d9113ef4095..47e9365e13d 100644 --- a/spec/uploaders/file_uploader_spec.rb +++ b/spec/uploaders/file_uploader_spec.rb @@ -15,6 +15,16 @@ describe FileUploader do end end + describe "#store_dir" do + it "stores in the namespace path" do + project = build_stubbed(:empty_project) + uploader = described_class.new(project) + + expect(uploader.store_dir).to include(project.path_with_namespace) + expect(uploader.store_dir).not_to include("system") + end + end + describe 'initialize' do it 'generates a secret if none is provided' do expect(SecureRandom).to receive(:hex).and_return('secret') -- GitLab From c3f68f9032b2548c4a5956f9e4b1a69306020faf Mon Sep 17 00:00:00 2001 From: Timothy Andrew <mail@timothyandrew.net> Date: Wed, 31 May 2017 10:54:28 +0000 Subject: [PATCH 189/249] Fix incorrect merge in 2c6fc0f. Reference: 3c7c859c359bf5d3955dd300d6861ff33af21ca7 --- lib/gitlab/regex.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb index f609850f8fa..34b6921d606 100644 --- a/lib/gitlab/regex.rb +++ b/lib/gitlab/regex.rb @@ -49,6 +49,7 @@ module Gitlab sent_notifications services snippets + system teams u unicorn_test -- GitLab From c27393bf7cd2119aa2d9d1fc35f50abf436d8e97 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Wed, 31 May 2017 11:09:59 -0600 Subject: [PATCH 190/249] Update CHANGELOG.md for 9.2.3 [ci skip] --- CHANGELOG.md | 7 +++++++ .../unreleased/28917-contain-uploads-in-system-dir.yml | 4 ---- changelogs/unreleased/32908-edit-comment.yml | 4 ---- changelogs/unreleased/dz-api-x-frame.yml | 4 ---- changelogs/unreleased/dz-restrict-autocomplete.yml | 4 ---- 5 files changed, 7 insertions(+), 16 deletions(-) delete mode 100644 changelogs/unreleased/28917-contain-uploads-in-system-dir.yml delete mode 100644 changelogs/unreleased/32908-edit-comment.yml delete mode 100644 changelogs/unreleased/dz-api-x-frame.yml delete mode 100644 changelogs/unreleased/dz-restrict-autocomplete.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 79a3aa6e6f9..142a2a5b202 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 9.2.3 (2017-05-31) + +- Move uploads from 'public/uploads' to 'public/uploads/system'. +- Escapes html content before appending it to the DOM. +- Restrict API X-Frame-Options to same origin. +- Allow users autocomplete by author_id only for authenticated users. + ## 9.2.2 (2017-05-25) - Fix issue where real time pipelines were not cached. !11615 diff --git a/changelogs/unreleased/28917-contain-uploads-in-system-dir.yml b/changelogs/unreleased/28917-contain-uploads-in-system-dir.yml deleted file mode 100644 index cddab46d815..00000000000 --- a/changelogs/unreleased/28917-contain-uploads-in-system-dir.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Move uploads from 'public/uploads' to 'public/uploads/system' -merge_request: -author: diff --git a/changelogs/unreleased/32908-edit-comment.yml b/changelogs/unreleased/32908-edit-comment.yml deleted file mode 100644 index 5237dceed11..00000000000 --- a/changelogs/unreleased/32908-edit-comment.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Escapes html content before appending it to the DOM -merge_request: -author: diff --git a/changelogs/unreleased/dz-api-x-frame.yml b/changelogs/unreleased/dz-api-x-frame.yml deleted file mode 100644 index 0483a9e076a..00000000000 --- a/changelogs/unreleased/dz-api-x-frame.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Restrict API X-Frame-Options to same origin -merge_request: -author: diff --git a/changelogs/unreleased/dz-restrict-autocomplete.yml b/changelogs/unreleased/dz-restrict-autocomplete.yml deleted file mode 100644 index 65c944653f8..00000000000 --- a/changelogs/unreleased/dz-restrict-autocomplete.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Allow users autocomplete by author_id only for authenticated users -merge_request: -author: -- GitLab From e90079d59983330ea6ee377b6c55f2ff3c95bb50 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Wed, 31 May 2017 11:10:04 -0600 Subject: [PATCH 191/249] Update VERSION to 9.2.3 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 21a050b43e7..d3d9cd8270b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.2 +9.2.3 -- GitLab From 883d27144d0a0a62c1e1a5f9f7f36f357632b17d Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@gitlab.com> Date: Thu, 1 Jun 2017 12:32:01 +0000 Subject: [PATCH 192/249] Merge branch 'bvl-move-project-uploads-correctly' into 'security-9-2' Move the uploads in the correct folder when moving project/namespace See merge request !2112 --- lib/gitlab/uploads_transfer.rb | 2 +- spec/lib/gitlab/uploads_transfer_spec.rb | 11 +++++++++++ spec/models/namespace_spec.rb | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 spec/lib/gitlab/uploads_transfer_spec.rb diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb index 7d0c47c5361..b5f41240529 100644 --- a/lib/gitlab/uploads_transfer.rb +++ b/lib/gitlab/uploads_transfer.rb @@ -1,7 +1,7 @@ module Gitlab class UploadsTransfer < ProjectTransfer def root_dir - File.join(CarrierWave.root, GitlabUploader.base_dir) + File.join(CarrierWave.root, FileUploader.base_dir) end end end diff --git a/spec/lib/gitlab/uploads_transfer_spec.rb b/spec/lib/gitlab/uploads_transfer_spec.rb new file mode 100644 index 00000000000..109559bb01c --- /dev/null +++ b/spec/lib/gitlab/uploads_transfer_spec.rb @@ -0,0 +1,11 @@ +require 'spec_helper' + +describe Gitlab::UploadsTransfer do + it 'leaves avatar uploads where they are' do + project_with_avatar = create(:empty_project, :with_avatar) + + described_class.new.rename_namespace('project', 'project-renamed') + + expect(File.exist?(project_with_avatar.avatar.path)).to be_truthy + end +end diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb index 5fc43eab283..60ba8858df2 100644 --- a/spec/models/namespace_spec.rb +++ b/spec/models/namespace_spec.rb @@ -184,7 +184,7 @@ describe Namespace, models: true do let(:parent) { create(:group, name: 'parent', path: 'parent') } let(:child) { create(:group, name: 'child', path: 'child', parent: parent) } let!(:project) { create(:project_empty_repo, path: 'the-project', namespace: child) } - let(:uploads_dir) { File.join(CarrierWave.root, GitlabUploader.base_dir) } + let(:uploads_dir) { File.join(CarrierWave.root, FileUploader.base_dir) } let(:pages_dir) { File.join(TestEnv.pages_path) } before do -- GitLab From 36605e2b1079e7a78c4580153de3225b5dda61ef Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Thu, 1 Jun 2017 19:00:28 +0000 Subject: [PATCH 193/249] Merge branch '25934-project-snippet-vis' into 'security-9-2' Fix visibility when referencing snippets See merge request !2101 --- app/policies/project_snippet_policy.rb | 5 + .../unreleased/25934-project-snippet-vis.yml | 4 + lib/banzai/reference_parser/base_parser.rb | 4 +- lib/banzai/reference_parser/commit_parser.rb | 2 +- .../reference_parser/commit_range_parser.rb | 2 +- .../reference_parser/external_issue_parser.rb | 2 +- lib/banzai/reference_parser/label_parser.rb | 2 +- .../reference_parser/merge_request_parser.rb | 4 + .../reference_parser/milestone_parser.rb | 2 +- lib/banzai/reference_parser/snippet_parser.rb | 4 +- lib/banzai/reference_parser/user_parser.rb | 2 +- .../reference_parser/base_parser_spec.rb | 2 +- .../reference_parser/snippet_parser_spec.rb | 189 +++++++++++++++++- spec/policies/project_snippet_policy_spec.rb | 4 +- 14 files changed, 210 insertions(+), 18 deletions(-) create mode 100644 changelogs/unreleased/25934-project-snippet-vis.yml diff --git a/app/policies/project_snippet_policy.rb b/app/policies/project_snippet_policy.rb index cf8ff92617f..bc5c4f32f79 100644 --- a/app/policies/project_snippet_policy.rb +++ b/app/policies/project_snippet_policy.rb @@ -1,5 +1,10 @@ class ProjectSnippetPolicy < BasePolicy def rules + # We have to check both project feature visibility and a snippet visibility and take the stricter one + # This will be simplified - check https://gitlab.com/gitlab-org/gitlab-ce/issues/27573 + return unless @subject.project.feature_available?(:snippets, @user) + return unless Ability.allowed?(@user, :read_project, @subject.project) + can! :read_project_snippet if @subject.public? return unless @user diff --git a/changelogs/unreleased/25934-project-snippet-vis.yml b/changelogs/unreleased/25934-project-snippet-vis.yml new file mode 100644 index 00000000000..009d6c38c47 --- /dev/null +++ b/changelogs/unreleased/25934-project-snippet-vis.yml @@ -0,0 +1,4 @@ +--- +title: Fix visibility when referencing snippets +merge_request: +author: diff --git a/lib/banzai/reference_parser/base_parser.rb b/lib/banzai/reference_parser/base_parser.rb index c2503fa2adc..a20200c5879 100644 --- a/lib/banzai/reference_parser/base_parser.rb +++ b/lib/banzai/reference_parser/base_parser.rb @@ -62,7 +62,7 @@ module Banzai nodes.select do |node| if node.has_attribute?(project_attr) - can_read_reference?(user, projects[node]) + can_read_reference?(user, projects[node], node) else true end @@ -230,7 +230,7 @@ module Banzai # see reference comments. # Override this method on subclasses # to check if user can read resource - def can_read_reference?(user, ref_project) + def can_read_reference?(user, ref_project, node) raise NotImplementedError end diff --git a/lib/banzai/reference_parser/commit_parser.rb b/lib/banzai/reference_parser/commit_parser.rb index 8c54a041cb8..30dc87248b4 100644 --- a/lib/banzai/reference_parser/commit_parser.rb +++ b/lib/banzai/reference_parser/commit_parser.rb @@ -32,7 +32,7 @@ module Banzai private - def can_read_reference?(user, ref_project) + def can_read_reference?(user, ref_project, node) can?(user, :download_code, ref_project) end end diff --git a/lib/banzai/reference_parser/commit_range_parser.rb b/lib/banzai/reference_parser/commit_range_parser.rb index 0878b6afba3..a50e6f8ef8f 100644 --- a/lib/banzai/reference_parser/commit_range_parser.rb +++ b/lib/banzai/reference_parser/commit_range_parser.rb @@ -36,7 +36,7 @@ module Banzai private - def can_read_reference?(user, ref_project) + def can_read_reference?(user, ref_project, node) can?(user, :download_code, ref_project) end end diff --git a/lib/banzai/reference_parser/external_issue_parser.rb b/lib/banzai/reference_parser/external_issue_parser.rb index 6e7b7669578..6307c1b571a 100644 --- a/lib/banzai/reference_parser/external_issue_parser.rb +++ b/lib/banzai/reference_parser/external_issue_parser.rb @@ -23,7 +23,7 @@ module Banzai private - def can_read_reference?(user, ref_project) + def can_read_reference?(user, ref_project, node) can?(user, :read_issue, ref_project) end end diff --git a/lib/banzai/reference_parser/label_parser.rb b/lib/banzai/reference_parser/label_parser.rb index aa76c64ac5f..30e2a012f09 100644 --- a/lib/banzai/reference_parser/label_parser.rb +++ b/lib/banzai/reference_parser/label_parser.rb @@ -9,7 +9,7 @@ module Banzai private - def can_read_reference?(user, ref_project) + def can_read_reference?(user, ref_project, node) can?(user, :read_label, ref_project) end end diff --git a/lib/banzai/reference_parser/merge_request_parser.rb b/lib/banzai/reference_parser/merge_request_parser.rb index 8b0662749fd..75cbc7fdac4 100644 --- a/lib/banzai/reference_parser/merge_request_parser.rb +++ b/lib/banzai/reference_parser/merge_request_parser.rb @@ -40,6 +40,10 @@ module Banzai self.class.data_attribute ) end + + def can_read_reference?(user, ref_project, node) + can?(user, :read_merge_request, ref_project) + end end end end diff --git a/lib/banzai/reference_parser/milestone_parser.rb b/lib/banzai/reference_parser/milestone_parser.rb index d3968d6b229..68675abe22a 100644 --- a/lib/banzai/reference_parser/milestone_parser.rb +++ b/lib/banzai/reference_parser/milestone_parser.rb @@ -9,7 +9,7 @@ module Banzai private - def can_read_reference?(user, ref_project) + def can_read_reference?(user, ref_project, node) can?(user, :read_milestone, ref_project) end end diff --git a/lib/banzai/reference_parser/snippet_parser.rb b/lib/banzai/reference_parser/snippet_parser.rb index 63b592137bb..3ade168b566 100644 --- a/lib/banzai/reference_parser/snippet_parser.rb +++ b/lib/banzai/reference_parser/snippet_parser.rb @@ -9,8 +9,8 @@ module Banzai private - def can_read_reference?(user, ref_project) - can?(user, :read_project_snippet, ref_project) + def can_read_reference?(user, ref_project, node) + can?(user, :read_project_snippet, referenced_by([node]).first) end end end diff --git a/lib/banzai/reference_parser/user_parser.rb b/lib/banzai/reference_parser/user_parser.rb index 09b66cbd8fb..3efbd2fd631 100644 --- a/lib/banzai/reference_parser/user_parser.rb +++ b/lib/banzai/reference_parser/user_parser.rb @@ -103,7 +103,7 @@ module Banzai flat_map { |p| p.team.members.to_a } end - def can_read_reference?(user, ref_project) + def can_read_reference?(user, ref_project, node) can?(user, :read_project, ref_project) end end diff --git a/spec/lib/banzai/reference_parser/base_parser_spec.rb b/spec/lib/banzai/reference_parser/base_parser_spec.rb index d5746107ee1..f4f42bfc3ed 100644 --- a/spec/lib/banzai/reference_parser/base_parser_spec.rb +++ b/spec/lib/banzai/reference_parser/base_parser_spec.rb @@ -30,7 +30,7 @@ describe Banzai::ReferenceParser::BaseParser, lib: true do it 'checks if user can read the resource' do link['data-project'] = project.id.to_s - expect(subject).to receive(:can_read_reference?).with(user, project) + expect(subject).to receive(:can_read_reference?).with(user, project, link) subject.nodes_visible_to_user(user, [link]) end diff --git a/spec/lib/banzai/reference_parser/snippet_parser_spec.rb b/spec/lib/banzai/reference_parser/snippet_parser_spec.rb index d217a775802..620875ece20 100644 --- a/spec/lib/banzai/reference_parser/snippet_parser_spec.rb +++ b/spec/lib/banzai/reference_parser/snippet_parser_spec.rb @@ -4,20 +4,199 @@ describe Banzai::ReferenceParser::SnippetParser, lib: true do include ReferenceParserHelpers let(:project) { create(:empty_project, :public) } + let(:user) { create(:user) } - let(:snippet) { create(:snippet, project: project) } + let(:external_user) { create(:user, :external) } + let(:project_member) { create(:user) } + subject { described_class.new(project, user) } let(:link) { empty_html_link } + def visible_references(snippet_visibility, user = nil) + snippet = create(:project_snippet, snippet_visibility, project: project) + link['data-project'] = project.id.to_s + link['data-snippet'] = snippet.id.to_s + + subject.nodes_visible_to_user(user, [link]) + end + + before do + project.add_user(project_member, :developer) + end + describe '#nodes_visible_to_user' do - context 'when the link has a data-issue attribute' do - before { link['data-snippet'] = snippet.id.to_s } + context 'when a project is public and the snippets feature is enabled for everyone' do + before do + project.project_feature.update_attribute(:snippets_access_level, ProjectFeature::ENABLED) + end + + it 'creates a reference for guest for a public snippet' do + expect(visible_references(:public)).to eq([link]) + end + + it 'creates a reference for a regular user for a public snippet' do + expect(visible_references(:public, user)).to eq([link]) + end + + it 'creates a reference for a regular user for an internal snippet' do + expect(visible_references(:internal, user)).to eq([link]) + end + + it 'does not create a reference for an external user for an internal snippet' do + expect(visible_references(:internal, external_user)).to be_empty + end + + it 'creates a reference for a project member for a private snippet' do + expect(visible_references(:private, project_member)).to eq([link]) + end + + it 'does not create a reference for a regular user for a private snippet' do + expect(visible_references(:private, user)).to be_empty + end + end + + context 'when a project is public and the snippets feature is enabled for project team members' do + before do + project.project_feature.update_attribute(:snippets_access_level, ProjectFeature::PRIVATE) + end + + it 'creates a reference for a project member for a public snippet' do + expect(visible_references(:public, project_member)).to eq([link]) + end + + it 'does not create a reference for guest for a public snippet' do + expect(visible_references(:public, nil)).to be_empty + end + + it 'does not create a reference for a regular user for a public snippet' do + expect(visible_references(:public, user)).to be_empty + end + + it 'creates a reference for a project member for an internal snippet' do + expect(visible_references(:internal, project_member)).to eq([link]) + end + + it 'does not create a reference for a regular user for an internal snippet' do + expect(visible_references(:internal, user)).to be_empty + end + + it 'creates a reference for a project member for a private snippet' do + expect(visible_references(:private, project_member)).to eq([link]) + end + + it 'does not create a reference for a regular user for a private snippet' do + expect(visible_references(:private, user)).to be_empty + end + end + + context 'when a project is internal and the snippets feature is enabled for everyone' do + before do + project.update_attribute(:visibility, Gitlab::VisibilityLevel::INTERNAL) + project.project_feature.update_attribute(:snippets_access_level, ProjectFeature::ENABLED) + end + + it 'does not create a reference for guest for a public snippet' do + expect(visible_references(:public)).to be_empty + end + + it 'does not create a reference for an external user for a public snippet' do + expect(visible_references(:public, external_user)).to be_empty + end - it_behaves_like "referenced feature visibility", "snippets" + it 'creates a reference for a regular user for a public snippet' do + expect(visible_references(:public, user)).to eq([link]) + end + + it 'creates a reference for a regular user for an internal snippet' do + expect(visible_references(:internal, user)).to eq([link]) + end + + it 'does not create a reference for an external user for an internal snippet' do + expect(visible_references(:internal, external_user)).to be_empty + end + + it 'creates a reference for a project member for a private snippet' do + expect(visible_references(:private, project_member)).to eq([link]) + end + + it 'does not create a reference for a regular user for a private snippet' do + expect(visible_references(:private, user)).to be_empty + end + end + + context 'when a project is internal and the snippets feature is enabled for project team members' do + before do + project.update_attribute(:visibility, Gitlab::VisibilityLevel::INTERNAL) + project.project_feature.update_attribute(:snippets_access_level, ProjectFeature::PRIVATE) + end + + it 'creates a reference for a project member for a public snippet' do + expect(visible_references(:public, project_member)).to eq([link]) + end + + it 'does not create a reference for guest for a public snippet' do + expect(visible_references(:public, nil)).to be_empty + end + + it 'does not create reference for a regular user for a public snippet' do + expect(visible_references(:public, user)).to be_empty + end + + it 'creates a reference for a project member for an internal snippet' do + expect(visible_references(:internal, project_member)).to eq([link]) + end + + it 'does not create a reference for a regular user for an internal snippet' do + expect(visible_references(:internal, user)).to be_empty + end + + it 'creates a reference for a project member for a private snippet' do + expect(visible_references(:private, project_member)).to eq([link]) + end + + it 'does not create reference for a regular user for a private snippet' do + expect(visible_references(:private, user)).to be_empty + end + end + + context 'when a project is private and the snippets feature is enabled for project team members' do + before do + project.update_attribute(:visibility, Gitlab::VisibilityLevel::PRIVATE) + project.project_feature.update_attribute(:snippets_access_level, ProjectFeature::PRIVATE) + end + + it 'creates a reference for a project member for a public snippet' do + expect(visible_references(:public, project_member)).to eq([link]) + end + + it 'does not create a reference for guest for a public snippet' do + expect(visible_references(:public, nil)).to be_empty + end + + it 'does not create a reference for a regular user for a public snippet' do + expect(visible_references(:public, user)).to be_empty + end + + it 'creates a reference for a project member for an internal snippet' do + expect(visible_references(:internal, project_member)).to eq([link]) + end + + it 'does not create a reference for a regular user for an internal snippet' do + expect(visible_references(:internal, user)).to be_empty + end + + it 'creates a reference for a project member for a private snippet' do + expect(visible_references(:private, project_member)).to eq([link]) + end + + it 'does not create a reference for a regular user for a private snippet' do + expect(visible_references(:private, user)).to be_empty + end end end describe '#referenced_by' do + let(:snippet) { create(:snippet, project: project) } describe 'when the link has a data-snippet attribute' do context 'using an existing snippet ID' do it 'returns an Array of snippets' do @@ -31,7 +210,7 @@ describe Banzai::ReferenceParser::SnippetParser, lib: true do it 'returns an empty Array' do link['data-snippet'] = '' - expect(subject.referenced_by([link])).to eq([]) + expect(subject.referenced_by([link])).to be_empty end end end diff --git a/spec/policies/project_snippet_policy_spec.rb b/spec/policies/project_snippet_policy_spec.rb index e1771b636b8..ddbed5f781e 100644 --- a/spec/policies/project_snippet_policy_spec.rb +++ b/spec/policies/project_snippet_policy_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe ProjectSnippetPolicy, models: true do let(:regular_user) { create(:user) } let(:external_user) { create(:user, :external) } - let(:project) { create(:empty_project) } + let(:project) { create(:empty_project, :public) } let(:author_permissions) do [ @@ -107,7 +107,7 @@ describe ProjectSnippetPolicy, models: true do end context 'snippet author' do - let(:snippet) { create(:project_snippet, :private, author: regular_user) } + let(:snippet) { create(:project_snippet, :private, author: regular_user, project: project) } subject { described_class.abilities(regular_user, snippet).to_set } -- GitLab From 6dbf8f8f0b791d7df758fa4ab35ca17fee5a5e65 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Fri, 2 Jun 2017 17:08:33 -0600 Subject: [PATCH 194/249] Update CHANGELOG.md for 9.2.4 [ci skip] --- CHANGELOG.md | 4 ++++ changelogs/unreleased/25934-project-snippet-vis.yml | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 changelogs/unreleased/25934-project-snippet-vis.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 142a2a5b202..4e223ac9e20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 9.2.4 (2017-06-02) + +- Fix visibility when referencing snippets. + ## 9.2.3 (2017-05-31) - Move uploads from 'public/uploads' to 'public/uploads/system'. diff --git a/changelogs/unreleased/25934-project-snippet-vis.yml b/changelogs/unreleased/25934-project-snippet-vis.yml deleted file mode 100644 index 009d6c38c47..00000000000 --- a/changelogs/unreleased/25934-project-snippet-vis.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Fix visibility when referencing snippets -merge_request: -author: -- GitLab From 6c7d492e30cc1c04401ebc03996d3edaa68069a1 Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Fri, 2 Jun 2017 17:08:39 -0600 Subject: [PATCH 195/249] Update VERSION to 9.2.4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d3d9cd8270b..c88cb988012 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.3 +9.2.4 -- GitLab From db9db0cc95b096e52021e524959a9db6adab3364 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Wed, 7 Jun 2017 16:21:49 +0000 Subject: [PATCH 196/249] Merge branch 'bvl-fix-typo-renaming-appearance' into 'security-9-2' Fix typo in moving the`appearance` folder in migrations See merge request !2116 --- ...170316163845_move_uploads_to_system_dir.rb | 2 +- ...606202615_move_appearance_to_system_dir.rb | 57 +++++++++++++++++++ db/schema.rb | 2 +- 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 db/post_migrate/20170606202615_move_appearance_to_system_dir.rb diff --git a/db/migrate/20170316163845_move_uploads_to_system_dir.rb b/db/migrate/20170316163845_move_uploads_to_system_dir.rb index 7115444c35a..564ee10b5ab 100644 --- a/db/migrate/20170316163845_move_uploads_to_system_dir.rb +++ b/db/migrate/20170316163845_move_uploads_to_system_dir.rb @@ -6,7 +6,7 @@ class MoveUploadsToSystemDir < ActiveRecord::Migration disable_ddl_transaction! DOWNTIME = false - DIRECTORIES_TO_MOVE = %w(user project note group appeareance) + DIRECTORIES_TO_MOVE = %w(user project note group appearance).freeze def up return unless file_storage? diff --git a/db/post_migrate/20170606202615_move_appearance_to_system_dir.rb b/db/post_migrate/20170606202615_move_appearance_to_system_dir.rb new file mode 100644 index 00000000000..561de59ec69 --- /dev/null +++ b/db/post_migrate/20170606202615_move_appearance_to_system_dir.rb @@ -0,0 +1,57 @@ +class MoveAppearanceToSystemDir < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + disable_ddl_transaction! + + DOWNTIME = false + DIRECTORY_TO_MOVE = 'appearance'.freeze + + def up + source = File.join(old_upload_dir, DIRECTORY_TO_MOVE) + destination = File.join(new_upload_dir, DIRECTORY_TO_MOVE) + + move_directory(source, destination) + end + + def down + source = File.join(new_upload_dir, DIRECTORY_TO_MOVE) + destination = File.join(old_upload_dir, DIRECTORY_TO_MOVE) + + move_directory(source, destination) + end + + def move_directory(source, destination) + unless file_storage? + say 'Not using file storage, skipping' + return + end + + unless File.directory?(source) + say "#{source} did not exist, skipping" + return + end + + if File.directory?(destination) + say "#{destination} already existed, skipping" + return + end + + say "Moving #{source} -> #{destination}" + FileUtils.mv(source, destination) + end + + def file_storage? + CarrierWave::Uploader::Base.storage == CarrierWave::Storage::File + end + + def base_directory + Rails.root + end + + def old_upload_dir + File.join(base_directory, "public", "uploads") + end + + def new_upload_dir + File.join(base_directory, "public", "uploads", "system") + end +end diff --git a/db/schema.rb b/db/schema.rb index f7f0599a237..dc867bf655c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170518231126) do +ActiveRecord::Schema.define(version: 20170606202615) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" enable_extension "pg_trgm" -- GitLab From fd77d6ee3d46b27a07b06aa08ad6e2e5944585ff Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Wed, 7 Jun 2017 14:52:22 -0600 Subject: [PATCH 197/249] Update CHANGELOG.md for 9.2.5 [ci skip] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e223ac9e20..440e63bc63c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 9.2.5 (2017-06-07) + +- No changes. + ## 9.2.4 (2017-06-02) - Fix visibility when referencing snippets. -- GitLab From 6f2e590e8278eeb2cbb324c3990d6c65b277933c Mon Sep 17 00:00:00 2001 From: Regis <boudinot.regis@yahoo.com> Date: Wed, 7 Jun 2017 14:52:27 -0600 Subject: [PATCH 198/249] Update VERSION to 9.2.5 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c88cb988012..f9458b8ea2d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.4 +9.2.5 -- GitLab From 682a7020137680ca07e57733d9adb521a0474453 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Mon, 29 May 2017 15:49:56 +0000 Subject: [PATCH 199/249] Merge branch 'rework-authorizations-performance' into 'master' Rework project authorizations and nested groups for better performance See merge request !10885 --- app/controllers/groups_controller.rb | 2 + app/models/concerns/routable.rb | 83 ----------- .../select_for_project_authorization.rb | 6 +- app/models/group.rb | 6 +- app/models/namespace.rb | 24 ++-- app/models/project_authorization.rb | 6 + app/models/user.rb | 34 ++--- .../refresh_authorized_projects_service.rb | 40 +----- app/views/groups/_show_nav.html.haml | 7 +- .../rework-authorizations-performance.yml | 6 + config/initializers/postgresql_cte.rb | 132 ++++++++++++++++++ ...40201_reschedule_project_authorizations.rb | 44 ++++++ ...ed_groups_into_regular_groups_for_mysql.rb | 123 ++++++++++++++++ ..._add_index_project_group_links_group_id.rb | 19 +++ ...ove_users_authorized_projects_populated.rb | 15 ++ db/schema.rb | 3 +- doc/user/group/subgroups/index.md | 9 ++ lib/api/entities.rb | 5 +- lib/api/groups.rb | 6 +- lib/api/v3/entities.rb | 5 +- lib/api/v3/groups.rb | 6 +- lib/gitlab/group_hierarchy.rb | 104 ++++++++++++++ .../with_nested_groups.rb | 125 +++++++++++++++++ .../without_nested_groups.rb | 35 +++++ lib/gitlab/sql/recursive_cte.rb | 62 ++++++++ .../autocomplete_controller_spec.rb | 8 +- spec/controllers/groups_controller_spec.rb | 2 +- .../merge_requests_controller_spec.rb | 7 +- spec/factories/projects.rb | 12 ++ .../features/groups/group_name_toggle_spec.rb | 4 +- spec/features/groups/members/list_spec.rb | 4 +- spec/features/groups_spec.rb | 4 +- .../filtered_search/dropdown_assignee_spec.rb | 2 +- .../filtered_search/dropdown_author_spec.rb | 2 +- spec/features/projects/group_links_spec.rb | 2 +- .../features/projects/members/sorting_spec.rb | 11 +- .../members/user_requests_access_spec.rb | 3 +- spec/finders/group_members_finder_spec.rb | 2 +- spec/finders/members_finder_spec.rb | 2 +- .../cache/ci/project_pipeline_status_spec.rb | 4 +- spec/lib/gitlab/group_hierarchy_spec.rb | 53 +++++++ .../import_export/members_mapper_spec.rb | 8 +- .../lib/gitlab/project_authorizations_spec.rb | 73 ++++++++++ spec/lib/gitlab/sql/recursive_cte_spec.rb | 49 +++++++ .../fill_authorized_projects_spec.rb | 18 --- ...oups_into_regular_groups_for_mysql_spec.rb | 66 +++++++++ spec/models/concerns/routable_spec.rb | 117 ---------------- spec/models/group_spec.rb | 2 +- spec/models/members/project_member_spec.rb | 13 +- spec/models/namespace_spec.rb | 16 +-- spec/models/project_group_link_spec.rb | 2 +- spec/models/project_team_spec.rb | 29 +++- spec/models/user_spec.rb | 131 +++++++++++------ spec/policies/group_policy_spec.rb | 2 +- spec/requests/api/commits_spec.rb | 1 - spec/requests/api/groups_spec.rb | 2 +- spec/requests/api/projects_spec.rb | 20 ++- spec/requests/api/v3/commits_spec.rb | 1 - spec/requests/api/v3/groups_spec.rb | 2 +- spec/requests/api/v3/projects_spec.rb | 13 +- .../services/projects/destroy_service_spec.rb | 2 +- ...efresh_authorized_projects_service_spec.rb | 66 +++------ spec/spec_helper.rb | 8 ++ 63 files changed, 1198 insertions(+), 472 deletions(-) create mode 100644 changelogs/unreleased/rework-authorizations-performance.yml create mode 100644 config/initializers/postgresql_cte.rb create mode 100644 db/migrate/20170503140201_reschedule_project_authorizations.rb create mode 100644 db/migrate/20170503140202_turn_nested_groups_into_regular_groups_for_mysql.rb create mode 100644 db/migrate/20170504182103_add_index_project_group_links_group_id.rb create mode 100644 db/post_migrate/20170503120310_remove_users_authorized_projects_populated.rb create mode 100644 lib/gitlab/group_hierarchy.rb create mode 100644 lib/gitlab/project_authorizations/with_nested_groups.rb create mode 100644 lib/gitlab/project_authorizations/without_nested_groups.rb create mode 100644 lib/gitlab/sql/recursive_cte.rb create mode 100644 spec/lib/gitlab/group_hierarchy_spec.rb create mode 100644 spec/lib/gitlab/project_authorizations_spec.rb create mode 100644 spec/lib/gitlab/sql/recursive_cte_spec.rb delete mode 100644 spec/migrations/fill_authorized_projects_spec.rb create mode 100644 spec/migrations/turn_nested_groups_into_regular_groups_for_mysql_spec.rb diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 965ced4d372..ebbcc10dd35 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -64,6 +64,8 @@ class GroupsController < Groups::ApplicationController end def subgroups + return not_found unless Group.supports_nested_groups? + @nested_groups = GroupsFinder.new(current_user, parent: group).execute @nested_groups = @nested_groups.search(params[:filter_groups]) if params[:filter_groups].present? end diff --git a/app/models/concerns/routable.rb b/app/models/concerns/routable.rb index c4463abdfe6..63d02b76f6b 100644 --- a/app/models/concerns/routable.rb +++ b/app/models/concerns/routable.rb @@ -84,89 +84,6 @@ module Routable joins(:route).where(wheres.join(' OR ')) end end - - # Builds a relation to find multiple objects that are nested under user membership - # - # Usage: - # - # Klass.member_descendants(1) - # - # Returns an ActiveRecord::Relation. - def member_descendants(user_id) - joins(:route). - joins("INNER JOIN routes r2 ON routes.path LIKE CONCAT(r2.path, '/%') - INNER JOIN members ON members.source_id = r2.source_id - AND members.source_type = r2.source_type"). - where('members.user_id = ?', user_id) - end - - # Builds a relation to find multiple objects that are nested under user - # membership. Includes the parent, as opposed to `#member_descendants` - # which only includes the descendants. - # - # Usage: - # - # Klass.member_self_and_descendants(1) - # - # Returns an ActiveRecord::Relation. - def member_self_and_descendants(user_id) - joins(:route). - joins("INNER JOIN routes r2 ON routes.path LIKE CONCAT(r2.path, '/%') - OR routes.path = r2.path - INNER JOIN members ON members.source_id = r2.source_id - AND members.source_type = r2.source_type"). - where('members.user_id = ?', user_id) - end - - # Returns all objects in a hierarchy, where any node in the hierarchy is - # under the user membership. - # - # Usage: - # - # Klass.member_hierarchy(1) - # - # Examples: - # - # Given the following group tree... - # - # _______group_1_______ - # | | - # | | - # nested_group_1 nested_group_2 - # | | - # | | - # nested_group_1_1 nested_group_2_1 - # - # - # ... the following results are returned: - # - # * the user is a member of group 1 - # => 'group_1', - # 'nested_group_1', nested_group_1_1', - # 'nested_group_2', 'nested_group_2_1' - # - # * the user is a member of nested_group_2 - # => 'group1', - # 'nested_group_2', 'nested_group_2_1' - # - # * the user is a member of nested_group_2_1 - # => 'group1', - # 'nested_group_2', 'nested_group_2_1' - # - # Returns an ActiveRecord::Relation. - def member_hierarchy(user_id) - paths = member_self_and_descendants(user_id).pluck('routes.path') - - return none if paths.empty? - - wheres = paths.map do |path| - "#{connection.quote(path)} = routes.path - OR - #{connection.quote(path)} LIKE CONCAT(routes.path, '/%')" - end - - joins(:route).where(wheres.join(' OR ')) - end end def full_name diff --git a/app/models/concerns/select_for_project_authorization.rb b/app/models/concerns/select_for_project_authorization.rb index 50a1d7fc3e1..58194b0ea13 100644 --- a/app/models/concerns/select_for_project_authorization.rb +++ b/app/models/concerns/select_for_project_authorization.rb @@ -3,7 +3,11 @@ module SelectForProjectAuthorization module ClassMethods def select_for_project_authorization - select("members.user_id, projects.id AS project_id, members.access_level") + select("projects.id AS project_id, members.access_level") + end + + def select_as_master_for_project_authorization + select(["projects.id AS project_id", "#{Gitlab::Access::MASTER} AS access_level"]) end end end diff --git a/app/models/group.rb b/app/models/group.rb index cbc10b00cf5..fac5843f75c 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -37,6 +37,10 @@ class Group < Namespace after_save :update_two_factor_requirement class << self + def supports_nested_groups? + Gitlab::Database.postgresql? + end + # Searches for groups matching the given query. # # This method uses ILIKE on PostgreSQL and LIKE on MySQL. @@ -77,7 +81,7 @@ class Group < Namespace if current_scope.joins_values.include?(:shared_projects) joins('INNER JOIN namespaces project_namespace ON project_namespace.id = projects.namespace_id') .where('project_namespace.share_with_group_lock = ?', false) - .select("members.user_id, projects.id AS project_id, LEAST(project_group_links.group_access, members.access_level) AS access_level") + .select("projects.id AS project_id, LEAST(project_group_links.group_access, members.access_level) AS access_level") else super end diff --git a/app/models/namespace.rb b/app/models/namespace.rb index d6b0ab0e52c..9bdfab9a066 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -176,26 +176,20 @@ class Namespace < ActiveRecord::Base projects.with_shared_runners.any? end - # Scopes the model on ancestors of the record + # Returns all the ancestors of the current namespaces. def ancestors - if parent_id - path = route ? route.path : full_path - paths = [] + return self.class.none unless parent_id - until path.blank? - path = path.rpartition('/').first - paths << path - end - - self.class.joins(:route).where('routes.path IN (?)', paths).reorder('routes.path ASC') - else - self.class.none - end + Gitlab::GroupHierarchy. + new(self.class.where(id: parent_id)). + base_and_ancestors end - # Scopes the model on direct and indirect children of the record + # Returns all the descendants of the current namespace. def descendants - self.class.joins(:route).merge(Route.inside_path(route.path)).reorder('routes.path ASC') + Gitlab::GroupHierarchy. + new(self.class.where(parent_id: id)). + base_and_descendants end def user_ids_for_project_authorizations diff --git a/app/models/project_authorization.rb b/app/models/project_authorization.rb index 4c7f4f5a429..def09675253 100644 --- a/app/models/project_authorization.rb +++ b/app/models/project_authorization.rb @@ -6,6 +6,12 @@ class ProjectAuthorization < ActiveRecord::Base validates :access_level, inclusion: { in: Gitlab::Access.all_values }, presence: true validates :user, uniqueness: { scope: [:project, :access_level] }, presence: true + def self.select_from_union(union) + select(['project_id', 'MAX(access_level) AS access_level']). + from("(#{union.to_sql}) #{ProjectAuthorization.table_name}"). + group(:project_id) + end + def self.insert_authorizations(rows, per_batch = 1000) rows.each_slice(per_batch) do |slice| tuples = slice.map do |tuple| diff --git a/app/models/user.rb b/app/models/user.rb index ad24ec0ec08..efd53810ec3 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -9,9 +9,12 @@ class User < ActiveRecord::Base include Sortable include CaseSensitivity include TokenAuthenticatable + include IgnorableColumn DEFAULT_NOTIFICATION_LEVEL = :participating + ignore_column :authorized_projects_populated + add_authentication_token_field :authentication_token add_authentication_token_field :incoming_email_token @@ -200,7 +203,6 @@ class User < ActiveRecord::Base scope :blocked, -> { with_states(:blocked, :ldap_blocked) } scope :external, -> { where(external: true) } scope :active, -> { with_state(:active).non_internal } - scope :not_in_project, ->(project) { project.users.present? ? where("id not in (:ids)", ids: project.users.map(&:id) ) : all } scope :without_projects, -> { where('id NOT IN (SELECT DISTINCT(user_id) FROM members WHERE user_id IS NOT NULL AND requested_at IS NULL)') } scope :todo_authors, ->(user_id, state) { where(id: Todo.where(user_id: user_id, state: state).select(:author_id)) } scope :order_recent_sign_in, -> { reorder(Gitlab::Database.nulls_last_order('last_sign_in_at', 'DESC')) } @@ -492,23 +494,16 @@ class User < ActiveRecord::Base Group.where("namespaces.id IN (#{union.to_sql})") end - def nested_groups - Group.member_descendants(id) - end - + # Returns a relation of groups the user has access to, including their parent + # and child groups (recursively). def all_expanded_groups - Group.member_hierarchy(id) + Gitlab::GroupHierarchy.new(groups).all_groups end def expanded_groups_requiring_two_factor_authentication all_expanded_groups.where(require_two_factor_authentication: true) end - def nested_groups_projects - Project.joins(:namespace).where('namespaces.parent_id IS NOT NULL'). - member_descendants(id) - end - def refresh_authorized_projects Users::RefreshAuthorizedProjectsService.new(self).execute end @@ -517,18 +512,15 @@ class User < ActiveRecord::Base project_authorizations.where(project_id: project_ids).delete_all end - def set_authorized_projects_column - unless authorized_projects_populated - update_column(:authorized_projects_populated, true) - end - end - def authorized_projects(min_access_level = nil) - refresh_authorized_projects unless authorized_projects_populated - - # We're overriding an association, so explicitly call super with no arguments or it would be passed as `force_reload` to the association + # We're overriding an association, so explicitly call super with no + # arguments or it would be passed as `force_reload` to the association projects = super() - projects = projects.where('project_authorizations.access_level >= ?', min_access_level) if min_access_level + + if min_access_level + projects = projects. + where('project_authorizations.access_level >= ?', min_access_level) + end projects end diff --git a/app/services/users/refresh_authorized_projects_service.rb b/app/services/users/refresh_authorized_projects_service.rb index 8f6f5b937c4..3e07b811027 100644 --- a/app/services/users/refresh_authorized_projects_service.rb +++ b/app/services/users/refresh_authorized_projects_service.rb @@ -73,12 +73,11 @@ module Users # remove - The IDs of the authorization rows to remove. # add - Rows to insert in the form `[user id, project id, access level]` def update_authorizations(remove = [], add = []) - return if remove.empty? && add.empty? && user.authorized_projects_populated + return if remove.empty? && add.empty? User.transaction do user.remove_project_authorizations(remove) unless remove.empty? ProjectAuthorization.insert_authorizations(add) unless add.empty? - user.set_authorized_projects_column end # Since we batch insert authorization rows, Rails' associations may get @@ -101,38 +100,13 @@ module Users end def fresh_authorizations - ProjectAuthorization. - unscoped. - select('project_id, MAX(access_level) AS access_level'). - from("(#{project_authorizations_union.to_sql}) #{ProjectAuthorization.table_name}"). - group(:project_id) - end - - private - - # Returns a union query of projects that the user is authorized to access - def project_authorizations_union - relations = [ - # Personal projects - user.personal_projects.select("#{user.id} AS user_id, projects.id AS project_id, #{Gitlab::Access::MASTER} AS access_level"), - - # Projects the user is a member of - user.projects.select_for_project_authorization, - - # Projects of groups the user is a member of - user.groups_projects.select_for_project_authorization, - - # Projects of subgroups of groups the user is a member of - user.nested_groups_projects.select_for_project_authorization, - - # Projects shared with groups the user is a member of - user.groups.joins(:shared_projects).select_for_project_authorization, - - # Projects shared with subgroups of groups the user is a member of - user.nested_groups.joins(:shared_projects).select_for_project_authorization - ] + klass = if Group.supports_nested_groups? + Gitlab::ProjectAuthorizations::WithNestedGroups + else + Gitlab::ProjectAuthorizations::WithoutNestedGroups + end - Gitlab::SQL::Union.new(relations) + klass.new(user).calculate end end end diff --git a/app/views/groups/_show_nav.html.haml b/app/views/groups/_show_nav.html.haml index b2097e88741..35b75bc0923 100644 --- a/app/views/groups/_show_nav.html.haml +++ b/app/views/groups/_show_nav.html.haml @@ -2,6 +2,7 @@ = nav_link(page: group_path(@group)) do = link_to group_path(@group) do Projects - = nav_link(page: subgroups_group_path(@group)) do - = link_to subgroups_group_path(@group) do - Subgroups + - if Group.supports_nested_groups? + = nav_link(page: subgroups_group_path(@group)) do + = link_to subgroups_group_path(@group) do + Subgroups diff --git a/changelogs/unreleased/rework-authorizations-performance.yml b/changelogs/unreleased/rework-authorizations-performance.yml new file mode 100644 index 00000000000..f64257a6f56 --- /dev/null +++ b/changelogs/unreleased/rework-authorizations-performance.yml @@ -0,0 +1,6 @@ +--- +title: > + Project authorizations are calculated much faster when using PostgreSQL, and + nested groups support for MySQL has been removed +merge_request: 10885 +author: diff --git a/config/initializers/postgresql_cte.rb b/config/initializers/postgresql_cte.rb new file mode 100644 index 00000000000..7f0df8949db --- /dev/null +++ b/config/initializers/postgresql_cte.rb @@ -0,0 +1,132 @@ +# Adds support for WITH statements when using PostgreSQL. The code here is taken +# from https://github.com/shmay/ctes_in_my_pg which at the time of writing has +# not been pushed to RubyGems. The license of this repository is as follows: +# +# The MIT License (MIT) +# +# Copyright (c) 2012 Dan McClain +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +module ActiveRecord + class Relation + class Merger # :nodoc: + def normal_values + NORMAL_VALUES + [:with] + end + end + end +end + +module ActiveRecord::Querying + delegate :with, to: :all +end + +module ActiveRecord + class Relation + # WithChain objects act as placeholder for queries in which #with does not have any parameter. + # In this case, #with must be chained with #recursive to return a new relation. + class WithChain + def initialize(scope) + @scope = scope + end + + # Returns a new relation expressing WITH RECURSIVE + def recursive(*args) + @scope.with_values += args + @scope.recursive_value = true + @scope + end + end + + def with_values + @values[:with] || [] + end + + def with_values=(values) + raise ImmutableRelation if @loaded + @values[:with] = values + end + + def recursive_value=(value) + raise ImmutableRelation if @loaded + @values[:recursive] = value + end + + def recursive_value + @values[:recursive] + end + + def with(opts = :chain, *rest) + if opts == :chain + WithChain.new(spawn) + elsif opts.blank? + self + else + spawn.with!(opts, *rest) + end + end + + def with!(opts = :chain, *rest) # :nodoc: + if opts == :chain + WithChain.new(self) + else + self.with_values += [opts] + rest + self + end + end + + def build_arel + arel = super() + + build_with(arel) if @values[:with] + + arel + end + + def build_with(arel) + with_statements = with_values.flat_map do |with_value| + case with_value + when String + with_value + when Hash + with_value.map do |name, expression| + case expression + when String + select = Arel::Nodes::SqlLiteral.new "(#{expression})" + when ActiveRecord::Relation, Arel::SelectManager + select = Arel::Nodes::SqlLiteral.new "(#{expression.to_sql})" + end + Arel::Nodes::As.new Arel::Nodes::SqlLiteral.new("\"#{name}\""), select + end + when Arel::Nodes::As + with_value + end + end + + unless with_statements.empty? + if recursive_value + arel.with :recursive, with_statements + else + arel.with with_statements + end + end + end + end +end diff --git a/db/migrate/20170503140201_reschedule_project_authorizations.rb b/db/migrate/20170503140201_reschedule_project_authorizations.rb new file mode 100644 index 00000000000..fa45adadbae --- /dev/null +++ b/db/migrate/20170503140201_reschedule_project_authorizations.rb @@ -0,0 +1,44 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class RescheduleProjectAuthorizations < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + class User < ActiveRecord::Base + self.table_name = 'users' + end + + def up + offset = 0 + batch = 5000 + start = Time.now + + loop do + relation = User.where('id > ?', offset) + user_ids = relation.limit(batch).reorder(id: :asc).pluck(:id) + + break if user_ids.empty? + + offset = user_ids.last + + # This will schedule each batch 5 minutes after the previous batch was + # scheduled. This smears out the load over time, instead of immediately + # scheduling a million jobs. + Sidekiq::Client.push_bulk( + 'queue' => 'authorized_projects', + 'args' => user_ids.zip, + 'class' => 'AuthorizedProjectsWorker', + 'at' => start.to_i + ) + + start += 5.minutes + end + end + + def down + end +end diff --git a/db/migrate/20170503140202_turn_nested_groups_into_regular_groups_for_mysql.rb b/db/migrate/20170503140202_turn_nested_groups_into_regular_groups_for_mysql.rb new file mode 100644 index 00000000000..c67690642c9 --- /dev/null +++ b/db/migrate/20170503140202_turn_nested_groups_into_regular_groups_for_mysql.rb @@ -0,0 +1,123 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +# This migration depends on code external to it. For example, it relies on +# updating a namespace to also rename directories (uploads, GitLab pages, etc). +# The alternative is to copy hundreds of lines of code into this migration, +# adjust them where needed, etc; something which doesn't work well at all. +class TurnNestedGroupsIntoRegularGroupsForMysql < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + def run_migration? + Gitlab::Database.mysql? + end + + def up + return unless run_migration? + + # For all sub-groups we need to give the right people access. We do this as + # follows: + # + # 1. Get all the ancestors for the current namespace + # 2. Get all the members of these namespaces, along with their higher access + # level + # 3. Give these members access to the current namespace + Namespace.unscoped.where('parent_id IS NOT NULL').find_each do |namespace| + rows = [] + existing = namespace.members.pluck(:user_id) + + all_members_for(namespace).each do |member| + next if existing.include?(member[:user_id]) + + rows << { + access_level: member[:access_level], + source_id: namespace.id, + source_type: 'Namespace', + user_id: member[:user_id], + notification_level: 3, # global + type: 'GroupMember', + created_at: Time.current, + updated_at: Time.current + } + end + + bulk_insert_members(rows) + + # This method relies on the parent to determine the proper path. + # Because we reset "parent_id" this method will not return the right path + # when moving namespaces. + full_path_was = namespace.send(:full_path_was) + + namespace.define_singleton_method(:full_path_was) { full_path_was } + + namespace.update!(parent_id: nil, path: new_path_for(namespace)) + end + end + + def down + # There is no way to go back from regular groups to nested groups. + end + + # Generates a new (unique) path for a namespace. + def new_path_for(namespace) + counter = 1 + base = namespace.full_path.tr('/', '-') + new_path = base + + while Namespace.unscoped.where(path: new_path).exists? + new_path = base + "-#{counter}" + counter += 1 + end + + new_path + end + + # Returns an Array containing all the ancestors of the current namespace. + # + # This method is not particularly efficient, but it's probably still faster + # than using the "routes" table. Most importantly of all, it _only_ depends + # on the namespaces table and the "parent_id" column. + def ancestors_for(namespace) + ancestors = [] + current = namespace + + while current&.parent_id + # We're using find_by(id: ...) here to deal with cases where the + # parent_id may point to a missing row. + current = Namespace.unscoped.select([:id, :parent_id]). + find_by(id: current.parent_id) + + ancestors << current.id if current + end + + ancestors + end + + # Returns a relation containing all the members that have access to any of + # the current namespace's parent namespaces. + def all_members_for(namespace) + Member. + unscoped. + select(['user_id', 'MAX(access_level) AS access_level']). + where(source_type: 'Namespace', source_id: ancestors_for(namespace)). + group(:user_id) + end + + def bulk_insert_members(rows) + return if rows.empty? + + keys = rows.first.keys + + tuples = rows.map do |row| + row.map { |(_, value)| connection.quote(value) } + end + + execute <<-EOF.strip_heredoc + INSERT INTO members (#{keys.join(', ')}) + VALUES #{tuples.map { |tuple| "(#{tuple.join(', ')})" }.join(', ')} + EOF + end +end diff --git a/db/migrate/20170504182103_add_index_project_group_links_group_id.rb b/db/migrate/20170504182103_add_index_project_group_links_group_id.rb new file mode 100644 index 00000000000..62bf641daa6 --- /dev/null +++ b/db/migrate/20170504182103_add_index_project_group_links_group_id.rb @@ -0,0 +1,19 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class AddIndexProjectGroupLinksGroupId < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_index :project_group_links, :group_id + end + + def down + remove_concurrent_index :project_group_links, :group_id + end +end diff --git a/db/post_migrate/20170503120310_remove_users_authorized_projects_populated.rb b/db/post_migrate/20170503120310_remove_users_authorized_projects_populated.rb new file mode 100644 index 00000000000..1b44334395f --- /dev/null +++ b/db/post_migrate/20170503120310_remove_users_authorized_projects_populated.rb @@ -0,0 +1,15 @@ +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class RemoveUsersAuthorizedProjectsPopulated < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + disable_ddl_transaction! + + def change + remove_column :users, :authorized_projects_populated, :boolean + end +end diff --git a/db/schema.rb b/db/schema.rb index dc867bf655c..8c92543bb65 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -923,6 +923,8 @@ ActiveRecord::Schema.define(version: 20170606202615) do t.date "expires_at" end + add_index "project_group_links", ["group_id"], name: "index_project_group_links_on_group_id", using: :btree + create_table "project_import_data", force: :cascade do |t| t.integer "project_id" t.text "data" @@ -1350,7 +1352,6 @@ ActiveRecord::Schema.define(version: 20170606202615) do t.boolean "external", default: false t.string "incoming_email_token" t.string "organization" - t.boolean "authorized_projects_populated" t.boolean "require_two_factor_authentication_from_group", default: false, null: false t.integer "two_factor_grace_period", default: 48, null: false t.boolean "ghost" diff --git a/doc/user/group/subgroups/index.md b/doc/user/group/subgroups/index.md index 151c17f3bf1..ffbc5ca4827 100644 --- a/doc/user/group/subgroups/index.md +++ b/doc/user/group/subgroups/index.md @@ -13,6 +13,15 @@ up to 20 levels of nested groups, which among other things can help you to: - **Make it easier to manage people and control visibility.** Give people different [permissions][] depending on their group [membership](#membership). +## Database Requirements + +Nested groups are only supported when you use PostgreSQL. Supporting nested +groups on MySQL in an efficient way is not possible due to MySQL's limitations. +See the following links for more information: + +* <https://gitlab.com/gitlab-org/gitlab-ce/issues/30472> +* <https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10885> + ## Overview A group can have many subgroups inside it, and at the same time a group can have diff --git a/lib/api/entities.rb b/lib/api/entities.rb index f8f5548d23d..9f8304f7690 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -145,7 +145,10 @@ module API expose :web_url expose :request_access_enabled expose :full_name, :full_path - expose :parent_id + + if ::Group.supports_nested_groups? + expose :parent_id + end expose :statistics, if: :statistics do with_options format_with: -> (value) { value.to_i } do diff --git a/lib/api/groups.rb b/lib/api/groups.rb index 9ccc75681f9..2c09725601e 100644 --- a/lib/api/groups.rb +++ b/lib/api/groups.rb @@ -70,7 +70,11 @@ module API params do requires :name, type: String, desc: 'The name of the group' requires :path, type: String, desc: 'The path of the group' - optional :parent_id, type: Integer, desc: 'The parent group id for creating nested group' + + if ::Group.supports_nested_groups? + optional :parent_id, type: Integer, desc: 'The parent group id for creating nested group' + end + use :optional_params end post do diff --git a/lib/api/v3/entities.rb b/lib/api/v3/entities.rb index 7c8be7e51db..1c08e25c00c 100644 --- a/lib/api/v3/entities.rb +++ b/lib/api/v3/entities.rb @@ -133,7 +133,10 @@ module API expose :web_url expose :request_access_enabled expose :full_name, :full_path - expose :parent_id + + if ::Group.supports_nested_groups? + expose :parent_id + end expose :statistics, if: :statistics do with_options format_with: -> (value) { value.to_i } do diff --git a/lib/api/v3/groups.rb b/lib/api/v3/groups.rb index dbf7a3cf785..42922df6e29 100644 --- a/lib/api/v3/groups.rb +++ b/lib/api/v3/groups.rb @@ -74,7 +74,11 @@ module API params do requires :name, type: String, desc: 'The name of the group' requires :path, type: String, desc: 'The path of the group' - optional :parent_id, type: Integer, desc: 'The parent group id for creating nested group' + + if ::Group.supports_nested_groups? + optional :parent_id, type: Integer, desc: 'The parent group id for creating nested group' + end + use :optional_params end post do diff --git a/lib/gitlab/group_hierarchy.rb b/lib/gitlab/group_hierarchy.rb new file mode 100644 index 00000000000..e9d5d52cabb --- /dev/null +++ b/lib/gitlab/group_hierarchy.rb @@ -0,0 +1,104 @@ +module Gitlab + # Retrieving of parent or child groups based on a base ActiveRecord relation. + # + # This class uses recursive CTEs and as a result will only work on PostgreSQL. + class GroupHierarchy + attr_reader :base, :model + + # base - An instance of ActiveRecord::Relation for which to get parent or + # child groups. + def initialize(base) + @base = base + @model = base.model + end + + # Returns a relation that includes the base set of groups and all their + # ancestors (recursively). + def base_and_ancestors + return model.none unless Group.supports_nested_groups? + + base_and_ancestors_cte.apply_to(model.all) + end + + # Returns a relation that includes the base set of groups and all their + # descendants (recursively). + def base_and_descendants + return model.none unless Group.supports_nested_groups? + + base_and_descendants_cte.apply_to(model.all) + end + + # Returns a relation that includes the base groups, their ancestors, and the + # descendants of the base groups. + # + # The resulting query will roughly look like the following: + # + # WITH RECURSIVE ancestors AS ( ... ), + # descendants AS ( ... ) + # SELECT * + # FROM ( + # SELECT * + # FROM ancestors namespaces + # + # UNION + # + # SELECT * + # FROM descendants namespaces + # ) groups; + # + # Using this approach allows us to further add criteria to the relation with + # Rails thinking it's selecting data the usual way. + def all_groups + return base unless Group.supports_nested_groups? + + ancestors = base_and_ancestors_cte + descendants = base_and_descendants_cte + + ancestors_table = ancestors.alias_to(groups_table) + descendants_table = descendants.alias_to(groups_table) + + union = SQL::Union.new([model.unscoped.from(ancestors_table), + model.unscoped.from(descendants_table)]) + + model. + unscoped. + with. + recursive(ancestors.to_arel, descendants.to_arel). + from("(#{union.to_sql}) #{model.table_name}") + end + + private + + def base_and_ancestors_cte + cte = SQL::RecursiveCTE.new(:base_and_ancestors) + + cte << base.except(:order) + + # Recursively get all the ancestors of the base set. + cte << model. + from([groups_table, cte.table]). + where(groups_table[:id].eq(cte.table[:parent_id])). + except(:order) + + cte + end + + def base_and_descendants_cte + cte = SQL::RecursiveCTE.new(:base_and_descendants) + + cte << base.except(:order) + + # Recursively get all the descendants of the base set. + cte << model. + from([groups_table, cte.table]). + where(groups_table[:parent_id].eq(cte.table[:id])). + except(:order) + + cte + end + + def groups_table + model.arel_table + end + end +end diff --git a/lib/gitlab/project_authorizations/with_nested_groups.rb b/lib/gitlab/project_authorizations/with_nested_groups.rb new file mode 100644 index 00000000000..bb0df1e3dad --- /dev/null +++ b/lib/gitlab/project_authorizations/with_nested_groups.rb @@ -0,0 +1,125 @@ +module Gitlab + module ProjectAuthorizations + # Calculating new project authorizations when supporting nested groups. + # + # This class relies on Common Table Expressions to efficiently get all data, + # including data for nested groups. As a result this class can only be used + # on PostgreSQL. + class WithNestedGroups + attr_reader :user + + # user - The User object for which to calculate the authorizations. + def initialize(user) + @user = user + end + + def calculate + cte = recursive_cte + cte_alias = cte.table.alias(Group.table_name) + projects = Project.arel_table + links = ProjectGroupLink.arel_table + + relations = [ + # The project a user has direct access to. + user.projects.select_for_project_authorization, + + # The personal projects of the user. + user.personal_projects.select_as_master_for_project_authorization, + + # Projects that belong directly to any of the groups the user has + # access to. + Namespace. + unscoped. + select([alias_as_column(projects[:id], 'project_id'), + cte_alias[:access_level]]). + from(cte_alias). + joins(:projects), + + # Projects shared with any of the namespaces the user has access to. + Namespace. + unscoped. + select([links[:project_id], + least(cte_alias[:access_level], + links[:group_access], + 'access_level')]). + from(cte_alias). + joins('INNER JOIN project_group_links ON project_group_links.group_id = namespaces.id'). + joins('INNER JOIN projects ON projects.id = project_group_links.project_id'). + joins('INNER JOIN namespaces p_ns ON p_ns.id = projects.namespace_id'). + where('p_ns.share_with_group_lock IS FALSE') + ] + + union = Gitlab::SQL::Union.new(relations) + + ProjectAuthorization. + unscoped. + with. + recursive(cte.to_arel). + select_from_union(union) + end + + private + + # Builds a recursive CTE that gets all the groups the current user has + # access to, including any nested groups. + def recursive_cte + cte = Gitlab::SQL::RecursiveCTE.new(:namespaces_cte) + members = Member.arel_table + namespaces = Namespace.arel_table + + # Namespaces the user is a member of. + cte << user.groups. + select([namespaces[:id], members[:access_level]]). + except(:order) + + # Sub groups of any groups the user is a member of. + cte << Group.select([namespaces[:id], + greatest(members[:access_level], + cte.table[:access_level], 'access_level')]). + joins(join_cte(cte)). + joins(join_members). + except(:order) + + cte + end + + # Builds a LEFT JOIN to join optional memberships onto the CTE. + def join_members + members = Member.arel_table + namespaces = Namespace.arel_table + + cond = members[:source_id]. + eq(namespaces[:id]). + and(members[:source_type].eq('Namespace')). + and(members[:requested_at].eq(nil)). + and(members[:user_id].eq(user.id)) + + Arel::Nodes::OuterJoin.new(members, Arel::Nodes::On.new(cond)) + end + + # Builds an INNER JOIN to join namespaces onto the CTE. + def join_cte(cte) + namespaces = Namespace.arel_table + cond = cte.table[:id].eq(namespaces[:parent_id]) + + Arel::Nodes::InnerJoin.new(cte.table, Arel::Nodes::On.new(cond)) + end + + def greatest(left, right, column_alias) + sql_function('GREATEST', [left, right], column_alias) + end + + def least(left, right, column_alias) + sql_function('LEAST', [left, right], column_alias) + end + + def sql_function(name, args, column_alias) + alias_as_column(Arel::Nodes::NamedFunction.new(name, args), column_alias) + end + + def alias_as_column(value, alias_to) + Arel::Nodes::As.new(value, Arel::Nodes::SqlLiteral.new(alias_to)) + end + end + end +end diff --git a/lib/gitlab/project_authorizations/without_nested_groups.rb b/lib/gitlab/project_authorizations/without_nested_groups.rb new file mode 100644 index 00000000000..627e8c5fba2 --- /dev/null +++ b/lib/gitlab/project_authorizations/without_nested_groups.rb @@ -0,0 +1,35 @@ +module Gitlab + module ProjectAuthorizations + # Calculating new project authorizations when not supporting nested groups. + class WithoutNestedGroups + attr_reader :user + + # user - The User object for which to calculate the authorizations. + def initialize(user) + @user = user + end + + def calculate + relations = [ + # Projects the user is a direct member of + user.projects.select_for_project_authorization, + + # Personal projects + user.personal_projects.select_as_master_for_project_authorization, + + # Projects of groups the user is a member of + user.groups_projects.select_for_project_authorization, + + # Projects shared with groups the user is a member of + user.groups.joins(:shared_projects).select_for_project_authorization + ] + + union = Gitlab::SQL::Union.new(relations) + + ProjectAuthorization. + unscoped. + select_from_union(union) + end + end + end +end diff --git a/lib/gitlab/sql/recursive_cte.rb b/lib/gitlab/sql/recursive_cte.rb new file mode 100644 index 00000000000..5b1b03820a3 --- /dev/null +++ b/lib/gitlab/sql/recursive_cte.rb @@ -0,0 +1,62 @@ +module Gitlab + module SQL + # Class for easily building recursive CTE statements. + # + # Example: + # + # cte = RecursiveCTE.new(:my_cte_name) + # ns = Arel::Table.new(:namespaces) + # + # cte << Namespace. + # where(ns[:parent_id].eq(some_namespace_id)) + # + # cte << Namespace. + # from([ns, cte.table]). + # where(ns[:parent_id].eq(cte.table[:id])) + # + # Namespace.with. + # recursive(cte.to_arel). + # from(cte.alias_to(ns)) + class RecursiveCTE + attr_reader :table + + # name - The name of the CTE as a String or Symbol. + def initialize(name) + @table = Arel::Table.new(name) + @queries = [] + end + + # Adds a query to the body of the CTE. + # + # relation - The relation object to add to the body of the CTE. + def <<(relation) + @queries << relation + end + + # Returns the Arel relation for this CTE. + def to_arel + sql = Arel::Nodes::SqlLiteral.new(Union.new(@queries).to_sql) + + Arel::Nodes::As.new(table, Arel::Nodes::Grouping.new(sql)) + end + + # Returns an "AS" statement that aliases the CTE name as the given table + # name. This allows one to trick ActiveRecord into thinking it's selecting + # from an actual table, when in reality it's selecting from a CTE. + # + # alias_table - The Arel table to use as the alias. + def alias_to(alias_table) + Arel::Nodes::As.new(table, alias_table) + end + + # Applies the CTE to the given relation, returning a new one that will + # query from it. + def apply_to(relation) + relation.except(:where). + with. + recursive(to_arel). + from(alias_to(relation.model.arel_table)) + end + end + end +end diff --git a/spec/controllers/autocomplete_controller_spec.rb b/spec/controllers/autocomplete_controller_spec.rb index 14b105c69e5..0c624def135 100644 --- a/spec/controllers/autocomplete_controller_spec.rb +++ b/spec/controllers/autocomplete_controller_spec.rb @@ -22,7 +22,7 @@ describe AutocompleteController do let(:body) { JSON.parse(response.body) } it { expect(body).to be_kind_of(Array) } - it { expect(body.size).to eq 1 } + it { expect(body.size).to eq 2 } it { expect(body.map { |u| u["username"] }).to include(user.username) } end @@ -80,8 +80,8 @@ describe AutocompleteController do end it { expect(body).to be_kind_of(Array) } - it { expect(body.size).to eq 2 } - it { expect(body.map { |u| u['username'] }).to match_array([user.username, non_member.username]) } + it { expect(body.size).to eq 3 } + it { expect(body.map { |u| u['username'] }).to include(user.username, non_member.username) } end end @@ -108,7 +108,7 @@ describe AutocompleteController do end it { expect(body).to be_kind_of(Array) } - it { expect(body.size).to eq 1 } + it { expect(body.size).to eq 2 } end describe 'GET #users with project' do diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index 6b65e1c6cc5..c8c1797e4ba 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -26,7 +26,7 @@ describe GroupsController do end end - describe 'GET #subgroups' do + describe 'GET #subgroups', :nested_groups do let!(:public_subgroup) { create(:group, :public, parent: group) } let!(:private_subgroup) { create(:group, :private, parent: group) } diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index 646ea876e5f..8192f3e6fb6 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' describe Projects::MergeRequestsController do let(:project) { create(:project) } - let(:user) { create(:user) } + let(:user) { project.owner } let(:merge_request) { create(:merge_request_with_diffs, target_project: project, source_project: project) } let(:merge_request_with_conflicts) do create(:merge_request, source_branch: 'conflict-resolvable', target_branch: 'conflict-start', source_project: project) do |mr| @@ -12,7 +12,6 @@ describe Projects::MergeRequestsController do before do sign_in(user) - project.team << [user, :master] end describe 'GET new' do @@ -304,6 +303,8 @@ describe Projects::MergeRequestsController do end context 'when user cannot access' do + let(:user) { create(:user) } + before do project.add_reporter(user) xhr :post, :merge, base_params @@ -459,6 +460,8 @@ describe Projects::MergeRequestsController do end describe "DELETE destroy" do + let(:user) { create(:user) } + it "denies access to users unless they're admin or project owner" do delete :destroy, namespace_id: project.namespace, project_id: project, id: merge_request.iid diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb index 3580752a805..574b52e760d 100644 --- a/spec/factories/projects.rb +++ b/spec/factories/projects.rb @@ -107,6 +107,18 @@ FactoryGirl.define do merge_requests_access_level: merge_requests_access_level, repository_access_level: evaluator.repository_access_level ) + + # Normally the class Projects::CreateService is used for creating + # projects, and this class takes care of making sure the owner and current + # user have access to the project. Our specs don't use said service class, + # thus we must manually refresh things here. + owner = project.owner + + if owner && owner.is_a?(User) && !project.pending_delete + project.members.create!(user: owner, access_level: Gitlab::Access::MASTER) + end + + project.group&.refresh_members_authorized_projects end end diff --git a/spec/features/groups/group_name_toggle_spec.rb b/spec/features/groups/group_name_toggle_spec.rb index 8a1d415c4f1..dfc3c84f29a 100644 --- a/spec/features/groups/group_name_toggle_spec.rb +++ b/spec/features/groups/group_name_toggle_spec.rb @@ -22,7 +22,7 @@ feature 'Group name toggle', feature: true, js: true do expect(page).not_to have_css('.group-name-toggle') end - it 'is present if the title is longer than the container' do + it 'is present if the title is longer than the container', :nested_groups do visit group_path(nested_group_3) title_width = page.evaluate_script("$('.title')[0].offsetWidth") @@ -35,7 +35,7 @@ feature 'Group name toggle', feature: true, js: true do expect(title_width).to be > container_width end - it 'should show the full group namespace when toggled' do + it 'should show the full group namespace when toggled', :nested_groups do page_height = page.current_window.size[1] page.current_window.resize_to(SMALL_SCREEN, page_height) visit group_path(nested_group_3) diff --git a/spec/features/groups/members/list_spec.rb b/spec/features/groups/members/list_spec.rb index 543879bd21d..f654fa16a06 100644 --- a/spec/features/groups/members/list_spec.rb +++ b/spec/features/groups/members/list_spec.rb @@ -12,7 +12,7 @@ feature 'Groups members list', feature: true do login_as(user1) end - scenario 'show members from current group and parent' do + scenario 'show members from current group and parent', :nested_groups do group.add_developer(user1) nested_group.add_developer(user2) @@ -22,7 +22,7 @@ feature 'Groups members list', feature: true do expect(second_row.text).to include(user2.name) end - scenario 'show user once if member of both current group and parent' do + scenario 'show user once if member of both current group and parent', :nested_groups do group.add_developer(user1) nested_group.add_developer(user1) diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb index 3d32c47bf09..24ea7aba0cc 100644 --- a/spec/features/groups_spec.rb +++ b/spec/features/groups_spec.rb @@ -83,7 +83,7 @@ feature 'Group', feature: true do end end - describe 'create a nested group', js: true do + describe 'create a nested group', :nested_groups, js: true do let(:group) { create(:group, path: 'foo') } context 'as admin' do @@ -196,7 +196,7 @@ feature 'Group', feature: true do end end - describe 'group page with nested groups', js: true do + describe 'group page with nested groups', :nested_groups, js: true do let!(:group) { create(:group) } let!(:nested_group) { create(:group, parent: group) } let!(:path) { group_path(group) } diff --git a/spec/features/issues/filtered_search/dropdown_assignee_spec.rb b/spec/features/issues/filtered_search/dropdown_assignee_spec.rb index 0b573d7cef4..4d38df05928 100644 --- a/spec/features/issues/filtered_search/dropdown_assignee_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_assignee_spec.rb @@ -58,7 +58,7 @@ describe 'Dropdown assignee', :feature, :js do it 'should load all the assignees when opened' do filtered_search.set('assignee:') - expect(dropdown_assignee_size).to eq(3) + expect(dropdown_assignee_size).to eq(4) end it 'shows current user at top of dropdown' do diff --git a/spec/features/issues/filtered_search/dropdown_author_spec.rb b/spec/features/issues/filtered_search/dropdown_author_spec.rb index 0579d6c80ab..8a43512fa3f 100644 --- a/spec/features/issues/filtered_search/dropdown_author_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_author_spec.rb @@ -65,7 +65,7 @@ describe 'Dropdown author', js: true, feature: true do it 'should load all the authors when opened' do send_keys_to_filtered_search('author:') - expect(dropdown_author_size).to eq(3) + expect(dropdown_author_size).to eq(4) end it 'shows current user at top of dropdown' do diff --git a/spec/features/projects/group_links_spec.rb b/spec/features/projects/group_links_spec.rb index c969acc9140..4e5682c8636 100644 --- a/spec/features/projects/group_links_spec.rb +++ b/spec/features/projects/group_links_spec.rb @@ -40,7 +40,7 @@ feature 'Project group links', :feature, :js do another_group.add_master(master) end - it 'does not show ancestors' do + it 'does not show ancestors', :nested_groups do visit namespace_project_settings_members_path(project.namespace, project) click_link 'Search for a group' diff --git a/spec/features/projects/members/sorting_spec.rb b/spec/features/projects/members/sorting_spec.rb index c7a32a65e49..de6a750c932 100644 --- a/spec/features/projects/members/sorting_spec.rb +++ b/spec/features/projects/members/sorting_spec.rb @@ -3,10 +3,9 @@ require 'spec_helper' feature 'Projects > Members > Sorting', feature: true do let(:master) { create(:user, name: 'John Doe') } let(:developer) { create(:user, name: 'Mary Jane', last_sign_in_at: 5.days.ago) } - let(:project) { create(:empty_project) } + let(:project) { create(:empty_project, namespace: master.namespace, creator: master) } background do - create(:project_member, :master, user: master, project: project, created_at: 5.days.ago) create(:project_member, :developer, user: developer, project: project, created_at: 3.days.ago) login_as(master) @@ -39,16 +38,16 @@ feature 'Projects > Members > Sorting', feature: true do scenario 'sorts by last joined' do visit_members_list(sort: :last_joined) - expect(first_member).to include(developer.name) - expect(second_member).to include(master.name) + expect(first_member).to include(master.name) + expect(second_member).to include(developer.name) expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Last joined') end scenario 'sorts by oldest joined' do visit_members_list(sort: :oldest_joined) - expect(first_member).to include(master.name) - expect(second_member).to include(developer.name) + expect(first_member).to include(developer.name) + expect(second_member).to include(master.name) expect(page).to have_css('.member-sort-dropdown .dropdown-toggle-text', text: 'Oldest joined') end diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb index 1bf8f710b9f..ec48a4bd726 100644 --- a/spec/features/projects/members/user_requests_access_spec.rb +++ b/spec/features/projects/members/user_requests_access_spec.rb @@ -2,11 +2,10 @@ require 'spec_helper' feature 'Projects > Members > User requests access', feature: true do let(:user) { create(:user) } - let(:master) { create(:user) } let(:project) { create(:project, :public, :access_requestable) } + let(:master) { project.owner } background do - project.team << [master, :master] login_as(user) visit namespace_project_path(project.namespace, project) end diff --git a/spec/finders/group_members_finder_spec.rb b/spec/finders/group_members_finder_spec.rb index b762756f9ce..db3fcc23475 100644 --- a/spec/finders/group_members_finder_spec.rb +++ b/spec/finders/group_members_finder_spec.rb @@ -18,7 +18,7 @@ describe GroupMembersFinder, '#execute' do expect(result.to_a).to eq([member3, member2, member1]) end - it 'returns members for nested group' do + it 'returns members for nested group', :nested_groups do group.add_master(user2) nested_group.request_access(user4) member1 = group.add_master(user1) diff --git a/spec/finders/members_finder_spec.rb b/spec/finders/members_finder_spec.rb index cf691cf684b..300ba8422e8 100644 --- a/spec/finders/members_finder_spec.rb +++ b/spec/finders/members_finder_spec.rb @@ -9,7 +9,7 @@ describe MembersFinder, '#execute' do let(:user3) { create(:user) } let(:user4) { create(:user) } - it 'returns members for project and parent groups' do + it 'returns members for project and parent groups', :nested_groups do nested_group.request_access(user1) member1 = group.add_master(user2) member2 = nested_group.add_master(user3) diff --git a/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb b/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb index b386852b196..cfb5cba054e 100644 --- a/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb +++ b/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Gitlab::Cache::Ci::ProjectPipelineStatus, :redis do - let(:project) { create(:project) } + let!(:project) { create(:project) } let(:pipeline_status) { described_class.new(project) } let(:cache_key) { "projects/#{project.id}/pipeline_status" } @@ -18,7 +18,7 @@ describe Gitlab::Cache::Ci::ProjectPipelineStatus, :redis do let(:sha) { '424d1b73bc0d3cb726eb7dc4ce17a4d48552f8c6' } let(:ref) { 'master' } let(:pipeline_info) { { sha: sha, status: status, ref: ref } } - let(:project_without_status) { create(:project) } + let!(:project_without_status) { create(:project) } describe '.load_in_batch_for_projects' do it 'preloads pipeline_status on projects' do diff --git a/spec/lib/gitlab/group_hierarchy_spec.rb b/spec/lib/gitlab/group_hierarchy_spec.rb new file mode 100644 index 00000000000..5d0ed1522b3 --- /dev/null +++ b/spec/lib/gitlab/group_hierarchy_spec.rb @@ -0,0 +1,53 @@ +require 'spec_helper' + +describe Gitlab::GroupHierarchy, :postgresql do + let!(:parent) { create(:group) } + let!(:child1) { create(:group, parent: parent) } + let!(:child2) { create(:group, parent: child1) } + + describe '#base_and_ancestors' do + let(:relation) do + described_class.new(Group.where(id: child2.id)).base_and_ancestors + end + + it 'includes the base rows' do + expect(relation).to include(child2) + end + + it 'includes all of the ancestors' do + expect(relation).to include(parent, child1) + end + end + + describe '#base_and_descendants' do + let(:relation) do + described_class.new(Group.where(id: parent.id)).base_and_descendants + end + + it 'includes the base rows' do + expect(relation).to include(parent) + end + + it 'includes all the descendants' do + expect(relation).to include(child1, child2) + end + end + + describe '#all_groups' do + let(:relation) do + described_class.new(Group.where(id: child1.id)).all_groups + end + + it 'includes the base rows' do + expect(relation).to include(child1) + end + + it 'includes the ancestors' do + expect(relation).to include(parent) + end + + it 'includes the descendants' do + expect(relation).to include(child2) + end + end +end diff --git a/spec/lib/gitlab/import_export/members_mapper_spec.rb b/spec/lib/gitlab/import_export/members_mapper_spec.rb index b9d4e59e770..3e0291c9ae9 100644 --- a/spec/lib/gitlab/import_export/members_mapper_spec.rb +++ b/spec/lib/gitlab/import_export/members_mapper_spec.rb @@ -2,9 +2,9 @@ require 'spec_helper' describe Gitlab::ImportExport::MembersMapper, services: true do describe 'map members' do - let(:user) { create(:admin, authorized_projects_populated: true) } + let(:user) { create(:admin) } let(:project) { create(:empty_project, :public, name: 'searchable_project') } - let(:user2) { create(:user, authorized_projects_populated: true) } + let(:user2) { create(:user) } let(:exported_user_id) { 99 } let(:exported_members) do [{ @@ -74,7 +74,7 @@ describe Gitlab::ImportExport::MembersMapper, services: true do end context 'user is not an admin' do - let(:user) { create(:user, authorized_projects_populated: true) } + let(:user) { create(:user) } it 'does not map a project member' do expect(members_mapper.map[exported_user_id]).to eq(user.id) @@ -94,7 +94,7 @@ describe Gitlab::ImportExport::MembersMapper, services: true do end context 'importer same as group member' do - let(:user2) { create(:admin, authorized_projects_populated: true) } + let(:user2) { create(:admin) } let(:group) { create(:group) } let(:project) { create(:empty_project, :public, name: 'searchable_project', namespace: group) } let(:members_mapper) do diff --git a/spec/lib/gitlab/project_authorizations_spec.rb b/spec/lib/gitlab/project_authorizations_spec.rb new file mode 100644 index 00000000000..67321f43710 --- /dev/null +++ b/spec/lib/gitlab/project_authorizations_spec.rb @@ -0,0 +1,73 @@ +require 'spec_helper' + +describe Gitlab::ProjectAuthorizations do + let(:group) { create(:group) } + let!(:owned_project) { create(:empty_project) } + let!(:other_project) { create(:empty_project) } + let!(:group_project) { create(:empty_project, namespace: group) } + + let(:user) { owned_project.namespace.owner } + + def map_access_levels(rows) + rows.each_with_object({}) do |row, hash| + hash[row.project_id] = row.access_level + end + end + + before do + other_project.team << [user, :reporter] + group.add_developer(user) + end + + let(:authorizations) do + klass = if Group.supports_nested_groups? + Gitlab::ProjectAuthorizations::WithNestedGroups + else + Gitlab::ProjectAuthorizations::WithoutNestedGroups + end + + klass.new(user).calculate + end + + it 'returns the correct number of authorizations' do + expect(authorizations.length).to eq(3) + end + + it 'includes the correct projects' do + expect(authorizations.pluck(:project_id)). + to include(owned_project.id, other_project.id, group_project.id) + end + + it 'includes the correct access levels' do + mapping = map_access_levels(authorizations) + + expect(mapping[owned_project.id]).to eq(Gitlab::Access::MASTER) + expect(mapping[other_project.id]).to eq(Gitlab::Access::REPORTER) + expect(mapping[group_project.id]).to eq(Gitlab::Access::DEVELOPER) + end + + if Group.supports_nested_groups? + context 'with nested groups' do + let!(:nested_group) { create(:group, parent: group) } + let!(:nested_project) { create(:empty_project, namespace: nested_group) } + + it 'includes nested groups' do + expect(authorizations.pluck(:project_id)).to include(nested_project.id) + end + + it 'inherits access levels when the user is not a member of a nested group' do + mapping = map_access_levels(authorizations) + + expect(mapping[nested_project.id]).to eq(Gitlab::Access::DEVELOPER) + end + + it 'uses the greatest access level when a user is a member of a nested group' do + nested_group.add_master(user) + + mapping = map_access_levels(authorizations) + + expect(mapping[nested_project.id]).to eq(Gitlab::Access::MASTER) + end + end + end +end diff --git a/spec/lib/gitlab/sql/recursive_cte_spec.rb b/spec/lib/gitlab/sql/recursive_cte_spec.rb new file mode 100644 index 00000000000..25146860615 --- /dev/null +++ b/spec/lib/gitlab/sql/recursive_cte_spec.rb @@ -0,0 +1,49 @@ +require 'spec_helper' + +describe Gitlab::SQL::RecursiveCTE, :postgresql do + let(:cte) { described_class.new(:cte_name) } + + describe '#to_arel' do + it 'generates an Arel relation for the CTE body' do + rel1 = User.where(id: 1) + rel2 = User.where(id: 2) + + cte << rel1 + cte << rel2 + + sql = cte.to_arel.to_sql + name = ActiveRecord::Base.connection.quote_table_name(:cte_name) + + sql1, sql2 = ActiveRecord::Base.connection.unprepared_statement do + [rel1.except(:order).to_sql, rel2.except(:order).to_sql] + end + + expect(sql).to eq("#{name} AS (#{sql1}\nUNION\n#{sql2})") + end + end + + describe '#alias_to' do + it 'returns an alias for the CTE' do + table = Arel::Table.new(:kittens) + + source_name = ActiveRecord::Base.connection.quote_table_name(:cte_name) + alias_name = ActiveRecord::Base.connection.quote_table_name(:kittens) + + expect(cte.alias_to(table).to_sql).to eq("#{source_name} AS #{alias_name}") + end + end + + describe '#apply_to' do + it 'applies a CTE to an ActiveRecord::Relation' do + user = create(:user) + cte = described_class.new(:cte_name) + + cte << User.where(id: user.id) + + relation = cte.apply_to(User.all) + + expect(relation.to_sql).to match(/WITH RECURSIVE.+cte_name/) + expect(relation.to_a).to eq(User.where(id: user.id).to_a) + end + end +end diff --git a/spec/migrations/fill_authorized_projects_spec.rb b/spec/migrations/fill_authorized_projects_spec.rb deleted file mode 100644 index 99dc4195818..00000000000 --- a/spec/migrations/fill_authorized_projects_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'spec_helper' -require Rails.root.join('db', 'post_migrate', '20170106142508_fill_authorized_projects.rb') - -describe FillAuthorizedProjects do - describe '#up' do - it 'schedules the jobs in batches' do - user1 = create(:user) - user2 = create(:user) - - expect(Sidekiq::Client).to receive(:push_bulk).with( - 'class' => 'AuthorizedProjectsWorker', - 'args' => [[user1.id], [user2.id]] - ) - - described_class.new.up - end - end -end diff --git a/spec/migrations/turn_nested_groups_into_regular_groups_for_mysql_spec.rb b/spec/migrations/turn_nested_groups_into_regular_groups_for_mysql_spec.rb new file mode 100644 index 00000000000..175bf1876b2 --- /dev/null +++ b/spec/migrations/turn_nested_groups_into_regular_groups_for_mysql_spec.rb @@ -0,0 +1,66 @@ +require 'spec_helper' +require Rails.root.join('db', 'migrate', '20170503140202_turn_nested_groups_into_regular_groups_for_mysql.rb') + +describe TurnNestedGroupsIntoRegularGroupsForMysql do + let!(:parent_group) { create(:group) } + let!(:child_group) { create(:group, parent: parent_group) } + let!(:project) { create(:project, :empty_repo, namespace: child_group) } + let!(:member) { create(:user) } + let(:migration) { described_class.new } + + before do + parent_group.add_developer(member) + + allow(migration).to receive(:run_migration?).and_return(true) + allow(migration).to receive(:verbose).and_return(false) + end + + describe '#up' do + let(:updated_project) do + # path_with_namespace is memoized in an instance variable so we retrieve a + # new row here to work around that. + Project.find(project.id) + end + + before do + migration.up + end + + it 'unsets the parent_id column' do + expect(Namespace.where('parent_id IS NOT NULL').any?).to eq(false) + end + + it 'adds members of parent groups as members to the migrated group' do + is_member = child_group.members. + where(user_id: member, access_level: Gitlab::Access::DEVELOPER).any? + + expect(is_member).to eq(true) + end + + it 'update the path of the nested group' do + child_group.reload + + expect(child_group.path).to eq("#{parent_group.name}-#{child_group.name}") + end + + it 'renames projects of the nested group' do + expect(updated_project.path_with_namespace). + to eq("#{parent_group.name}-#{child_group.name}/#{updated_project.path}") + end + + it 'renames the repository of any projects' do + expect(updated_project.repository.path). + to end_with("#{parent_group.name}-#{child_group.name}/#{updated_project.path}.git") + + expect(File.directory?(updated_project.repository.path)).to eq(true) + end + + it 'creates a redirect route for renamed projects' do + exists = RedirectRoute. + where(source_type: 'Project', source_id: project.id). + any? + + expect(exists).to eq(true) + end + end +end diff --git a/spec/models/concerns/routable_spec.rb b/spec/models/concerns/routable_spec.rb index 49a4132f763..0e10d91836d 100644 --- a/spec/models/concerns/routable_spec.rb +++ b/spec/models/concerns/routable_spec.rb @@ -115,123 +115,6 @@ describe Group, 'Routable' do end end - describe '.member_descendants' do - let!(:user) { create(:user) } - let!(:nested_group) { create(:group, parent: group) } - - before { group.add_owner(user) } - subject { described_class.member_descendants(user.id) } - - it { is_expected.to eq([nested_group]) } - end - - describe '.member_self_and_descendants' do - let!(:user) { create(:user) } - let!(:nested_group) { create(:group, parent: group) } - - before { group.add_owner(user) } - subject { described_class.member_self_and_descendants(user.id) } - - it { is_expected.to match_array [group, nested_group] } - end - - describe '.member_hierarchy' do - # foo/bar would also match foo/barbaz instead of just foo/bar and foo/bar/baz - let!(:user) { create(:user) } - - # group - # _______ (foo) _______ - # | | - # | | - # nested_group_1 nested_group_2 - # (bar) (barbaz) - # | | - # | | - # nested_group_1_1 nested_group_2_1 - # (baz) (baz) - # - let!(:nested_group_1) { create :group, parent: group, name: 'bar' } - let!(:nested_group_1_1) { create :group, parent: nested_group_1, name: 'baz' } - let!(:nested_group_2) { create :group, parent: group, name: 'barbaz' } - let!(:nested_group_2_1) { create :group, parent: nested_group_2, name: 'baz' } - - context 'user is not a member of any group' do - subject { described_class.member_hierarchy(user.id) } - - it 'returns an empty array' do - is_expected.to eq [] - end - end - - context 'user is member of all groups' do - before do - group.add_owner(user) - nested_group_1.add_owner(user) - nested_group_1_1.add_owner(user) - nested_group_2.add_owner(user) - nested_group_2_1.add_owner(user) - end - subject { described_class.member_hierarchy(user.id) } - - it 'returns all groups' do - is_expected.to match_array [ - group, - nested_group_1, nested_group_1_1, - nested_group_2, nested_group_2_1 - ] - end - end - - context 'user is member of the top group' do - before { group.add_owner(user) } - subject { described_class.member_hierarchy(user.id) } - - it 'returns all groups' do - is_expected.to match_array [ - group, - nested_group_1, nested_group_1_1, - nested_group_2, nested_group_2_1 - ] - end - end - - context 'user is member of the first child (internal node), branch 1' do - before { nested_group_1.add_owner(user) } - subject { described_class.member_hierarchy(user.id) } - - it 'returns the groups in the hierarchy' do - is_expected.to match_array [ - group, - nested_group_1, nested_group_1_1 - ] - end - end - - context 'user is member of the first child (internal node), branch 2' do - before { nested_group_2.add_owner(user) } - subject { described_class.member_hierarchy(user.id) } - - it 'returns the groups in the hierarchy' do - is_expected.to match_array [ - group, - nested_group_2, nested_group_2_1 - ] - end - end - - context 'user is member of the last child (leaf node)' do - before { nested_group_1_1.add_owner(user) } - subject { described_class.member_hierarchy(user.id) } - - it 'returns the groups in the hierarchy' do - is_expected.to match_array [ - group, - nested_group_1, nested_group_1_1 - ] - end - end - end - describe '#full_path' do let(:group) { create(:group) } let(:nested_group) { create(:group, parent: group) } diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index 365df733c30..91b235c267c 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -336,7 +336,7 @@ describe Group, models: true do it { expect(subject.parent).to be_kind_of(Group) } end - describe '#members_with_parents' do + describe '#members_with_parents', :nested_groups do let!(:group) { create(:group, :nested) } let!(:master) { group.parent.add_user(create(:user), GroupMember::MASTER) } let!(:developer) { group.add_user(create(:user), GroupMember::DEVELOPER) } diff --git a/spec/models/members/project_member_spec.rb b/spec/models/members/project_member_spec.rb index 87ea2e70680..cf9c701e8c5 100644 --- a/spec/models/members/project_member_spec.rb +++ b/spec/models/members/project_member_spec.rb @@ -22,16 +22,15 @@ describe ProjectMember, models: true do end describe '.add_user' do - context 'when called with the project owner' do - it 'adds the user as a member' do - project = create(:empty_project) + it 'adds the user as a member' do + user = create(:user) + project = create(:empty_project) - expect(project.users).not_to include(project.owner) + expect(project.users).not_to include(user) - described_class.add_user(project, project.owner, :master, current_user: project.owner) + described_class.add_user(project, user, :master, current_user: project.owner) - expect(project.users.reload).to include(project.owner) - end + expect(project.users.reload).to include(user) end end diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb index 60ba8858df2..38179c60af4 100644 --- a/spec/models/namespace_spec.rb +++ b/spec/models/namespace_spec.rb @@ -293,21 +293,21 @@ describe Namespace, models: true do end end - describe '#ancestors' do + describe '#ancestors', :nested_groups do let(:group) { create(:group) } let(:nested_group) { create(:group, parent: group) } let(:deep_nested_group) { create(:group, parent: nested_group) } let(:very_deep_nested_group) { create(:group, parent: deep_nested_group) } it 'returns the correct ancestors' do - expect(very_deep_nested_group.ancestors).to eq([group, nested_group, deep_nested_group]) - expect(deep_nested_group.ancestors).to eq([group, nested_group]) - expect(nested_group.ancestors).to eq([group]) + expect(very_deep_nested_group.ancestors).to include(group, nested_group, deep_nested_group) + expect(deep_nested_group.ancestors).to include(group, nested_group) + expect(nested_group.ancestors).to include(group) expect(group.ancestors).to eq([]) end end - describe '#descendants' do + describe '#descendants', :nested_groups do let!(:group) { create(:group, path: 'git_lab') } let!(:nested_group) { create(:group, parent: group) } let!(:deep_nested_group) { create(:group, parent: nested_group) } @@ -317,9 +317,9 @@ describe Namespace, models: true do it 'returns the correct descendants' do expect(very_deep_nested_group.descendants.to_a).to eq([]) - expect(deep_nested_group.descendants.to_a).to eq([very_deep_nested_group]) - expect(nested_group.descendants.to_a).to eq([deep_nested_group, very_deep_nested_group]) - expect(group.descendants.to_a).to eq([nested_group, deep_nested_group, very_deep_nested_group]) + expect(deep_nested_group.descendants.to_a).to include(very_deep_nested_group) + expect(nested_group.descendants.to_a).to include(deep_nested_group, very_deep_nested_group) + expect(group.descendants.to_a).to include(nested_group, deep_nested_group, very_deep_nested_group) end end diff --git a/spec/models/project_group_link_spec.rb b/spec/models/project_group_link_spec.rb index 9b711bfc007..4161b9158b1 100644 --- a/spec/models/project_group_link_spec.rb +++ b/spec/models/project_group_link_spec.rb @@ -23,7 +23,7 @@ describe ProjectGroupLink do expect(project_group_link).not_to be_valid end - it "doesn't allow a project to be shared with an ancestor of the group it is in" do + it "doesn't allow a project to be shared with an ancestor of the group it is in", :nested_groups do project_group_link.group = parent_group expect(project_group_link).not_to be_valid diff --git a/spec/models/project_team_spec.rb b/spec/models/project_team_spec.rb index 942eeab251d..fb2d5f60009 100644 --- a/spec/models/project_team_spec.rb +++ b/spec/models/project_team_spec.rb @@ -81,7 +81,7 @@ describe ProjectTeam, models: true do user = create(:user) project.add_guest(user) - expect(project.team.members).to contain_exactly(user) + expect(project.team.members).to contain_exactly(user, project.owner) end it 'returns project members of a specified level' do @@ -100,7 +100,8 @@ describe ProjectTeam, models: true do group_access: Gitlab::Access::GUEST ) - expect(project.team.members).to contain_exactly(group_member.user) + expect(project.team.members). + to contain_exactly(group_member.user, project.owner) end it 'returns invited members of a group of a specified level' do @@ -137,7 +138,10 @@ describe ProjectTeam, models: true do describe '#find_member' do context 'personal project' do - let(:project) { create(:empty_project, :public, :access_requestable) } + let(:project) do + create(:empty_project, :public, :access_requestable) + end + let(:requester) { create(:user) } before do @@ -200,7 +204,9 @@ describe ProjectTeam, models: true do let(:requester) { create(:user) } context 'personal project' do - let(:project) { create(:empty_project, :public, :access_requestable) } + let(:project) do + create(:empty_project, :public, :access_requestable) + end context 'when project is not shared with group' do before do @@ -244,7 +250,9 @@ describe ProjectTeam, models: true do context 'group project' do let(:group) { create(:group, :access_requestable) } - let!(:project) { create(:empty_project, group: group) } + let!(:project) do + create(:empty_project, group: group) + end before do group.add_master(master) @@ -265,8 +273,15 @@ describe ProjectTeam, models: true do let(:group) { create(:group) } let(:developer) { create(:user) } let(:master) { create(:user) } - let(:personal_project) { create(:empty_project, namespace: developer.namespace) } - let(:group_project) { create(:empty_project, namespace: group) } + + let(:personal_project) do + create(:empty_project, namespace: developer.namespace) + end + + let(:group_project) do + create(:empty_project, namespace: group) + end + let(:members_project) { create(:empty_project) } let(:shared_project) { create(:empty_project) } diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 76a66888658..eac9a6d8e64 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -582,16 +582,6 @@ describe User, models: true do it { expect(User.without_projects).to include user_without_project2 } end - describe '.not_in_project' do - before do - User.delete_all - @user = create :user - @project = create(:empty_project) - end - - it { expect(User.not_in_project(@project)).to include(@user, @project.owner) } - end - describe 'user creation' do describe 'normal user' do let(:user) { create(:user, name: 'John Smith') } @@ -1509,48 +1499,103 @@ describe User, models: true do end end - describe '#nested_groups' do + describe '#all_expanded_groups' do + # foo/bar would also match foo/barbaz instead of just foo/bar and foo/bar/baz let!(:user) { create(:user) } - let!(:group) { create(:group) } - let!(:nested_group) { create(:group, parent: group) } - before do - group.add_owner(user) + # group + # _______ (foo) _______ + # | | + # | | + # nested_group_1 nested_group_2 + # (bar) (barbaz) + # | | + # | | + # nested_group_1_1 nested_group_2_1 + # (baz) (baz) + # + let!(:group) { create :group } + let!(:nested_group_1) { create :group, parent: group, name: 'bar' } + let!(:nested_group_1_1) { create :group, parent: nested_group_1, name: 'baz' } + let!(:nested_group_2) { create :group, parent: group, name: 'barbaz' } + let!(:nested_group_2_1) { create :group, parent: nested_group_2, name: 'baz' } - # Add more data to ensure method does not include wrong groups - create(:group).add_owner(create(:user)) + subject { user.all_expanded_groups } + + context 'user is not a member of any group' do + it 'returns an empty array' do + is_expected.to eq([]) + end end - it { expect(user.nested_groups).to eq([nested_group]) } - end + context 'user is member of all groups' do + before do + group.add_owner(user) + nested_group_1.add_owner(user) + nested_group_1_1.add_owner(user) + nested_group_2.add_owner(user) + nested_group_2_1.add_owner(user) + end - describe '#all_expanded_groups' do - let!(:user) { create(:user) } - let!(:group) { create(:group) } - let!(:nested_group_1) { create(:group, parent: group) } - let!(:nested_group_2) { create(:group, parent: group) } + it 'returns all groups' do + is_expected.to match_array [ + group, + nested_group_1, nested_group_1_1, + nested_group_2, nested_group_2_1 + ] + end + end - before { nested_group_1.add_owner(user) } + context 'user is member of the top group' do + before { group.add_owner(user) } - it { expect(user.all_expanded_groups).to match_array [group, nested_group_1] } - end + if Group.supports_nested_groups? + it 'returns all groups' do + is_expected.to match_array [ + group, + nested_group_1, nested_group_1_1, + nested_group_2, nested_group_2_1 + ] + end + else + it 'returns the top-level groups' do + is_expected.to match_array [group] + end + end + end - describe '#nested_groups_projects' do - let!(:user) { create(:user) } - let!(:group) { create(:group) } - let!(:nested_group) { create(:group, parent: group) } - let!(:project) { create(:empty_project, namespace: group) } - let!(:nested_project) { create(:empty_project, namespace: nested_group) } + context 'user is member of the first child (internal node), branch 1', :nested_groups do + before { nested_group_1.add_owner(user) } - before do - group.add_owner(user) + it 'returns the groups in the hierarchy' do + is_expected.to match_array [ + group, + nested_group_1, nested_group_1_1 + ] + end + end + + context 'user is member of the first child (internal node), branch 2', :nested_groups do + before { nested_group_2.add_owner(user) } - # Add more data to ensure method does not include wrong projects - other_project = create(:empty_project, namespace: create(:group, :nested)) - other_project.add_developer(create(:user)) + it 'returns the groups in the hierarchy' do + is_expected.to match_array [ + group, + nested_group_2, nested_group_2_1 + ] + end end - it { expect(user.nested_groups_projects).to eq([nested_project]) } + context 'user is member of the last child (leaf node)', :nested_groups do + before { nested_group_1_1.add_owner(user) } + + it 'returns the groups in the hierarchy' do + is_expected.to match_array [ + group, + nested_group_1, nested_group_1_1 + ] + end + end end describe '#refresh_authorized_projects', redis: true do @@ -1570,10 +1615,6 @@ describe User, models: true do expect(user.project_authorizations.count).to eq(2) end - it 'sets the authorized_projects_populated column' do - expect(user.authorized_projects_populated).to eq(true) - end - it 'stores the correct access levels' do expect(user.project_authorizations.where(access_level: Gitlab::Access::GUEST).exists?).to eq(true) expect(user.project_authorizations.where(access_level: Gitlab::Access::REPORTER).exists?).to eq(true) @@ -1683,7 +1724,7 @@ describe User, models: true do end end - context 'with 2FA requirement on nested parent group' do + context 'with 2FA requirement on nested parent group', :nested_groups do let!(:group1) { create :group, require_two_factor_authentication: true } let!(:group1a) { create :group, require_two_factor_authentication: false, parent: group1 } @@ -1698,7 +1739,7 @@ describe User, models: true do end end - context 'with 2FA requirement on nested child group' do + context 'with 2FA requirement on nested child group', :nested_groups do let!(:group1) { create :group, require_two_factor_authentication: false } let!(:group1a) { create :group, require_two_factor_authentication: true, parent: group1 } diff --git a/spec/policies/group_policy_spec.rb b/spec/policies/group_policy_spec.rb index 2077c14ff7a..4c37a553227 100644 --- a/spec/policies/group_policy_spec.rb +++ b/spec/policies/group_policy_spec.rb @@ -107,7 +107,7 @@ describe GroupPolicy, models: true do end end - describe 'private nested group inherit permissions' do + describe 'private nested group inherit permissions', :nested_groups do let(:nested_group) { create(:group, :private, parent: group) } subject { described_class.abilities(current_user, nested_group).to_set } diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb index 0b0e4c2b112..b84361d3abd 100644 --- a/spec/requests/api/commits_spec.rb +++ b/spec/requests/api/commits_spec.rb @@ -5,7 +5,6 @@ describe API::Commits do let(:user) { create(:user) } let(:user2) { create(:user) } let!(:project) { create(:project, :repository, creator: user, namespace: user.namespace) } - let!(:master) { create(:project_member, :master, user: user, project: project) } let!(:guest) { create(:project_member, :guest, user: user2, project: project) } let!(:note) { create(:note_on_commit, author: user, project: project, commit_id: project.repository.commit.id, note: 'a comment on a commit') } let!(:another_note) { create(:note_on_commit, author: user, project: project, commit_id: project.repository.commit.id, note: 'another comment on a commit') } diff --git a/spec/requests/api/groups_spec.rb b/spec/requests/api/groups_spec.rb index 3e27a3bee77..9fb303be1b5 100644 --- a/spec/requests/api/groups_spec.rb +++ b/spec/requests/api/groups_spec.rb @@ -429,7 +429,7 @@ describe API::Groups do expect(json_response["request_access_enabled"]).to eq(group[:request_access_enabled]) end - it "creates a nested group" do + it "creates a nested group", :nested_groups do parent = create(:group) parent.add_owner(user3) group = attributes_for(:group, { parent_id: parent.id }) diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index ab70ce5cd2f..dae437ecb31 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -11,8 +11,7 @@ describe API::Projects do let(:project) { create(:empty_project, creator_id: user.id, namespace: user.namespace) } let(:project2) { create(:empty_project, path: 'project2', creator_id: user.id, namespace: user.namespace) } let(:snippet) { create(:project_snippet, :public, author: user, project: project, title: 'example') } - let(:project_member) { create(:project_member, :master, user: user, project: project) } - let(:project_member2) { create(:project_member, :developer, user: user3, project: project) } + let(:project_member) { create(:project_member, :developer, user: user3, project: project) } let(:user4) { create(:user) } let(:project3) do create(:project, @@ -27,7 +26,7 @@ describe API::Projects do builds_enabled: false, snippets_enabled: false) end - let(:project_member3) do + let(:project_member2) do create(:project_member, user: user4, project: project3, @@ -210,7 +209,7 @@ describe API::Projects do let(:public_project) { create(:empty_project, :public) } before do - project_member2 + project_member user3.update_attributes(starred_projects: [project, project2, project3, public_project]) end @@ -784,19 +783,18 @@ describe API::Projects do describe 'GET /projects/:id/users' do shared_examples_for 'project users response' do it 'returns the project users' do - member = create(:user) - create(:project_member, :developer, user: member, project: project) - get api("/projects/#{project.id}/users", current_user) + user = project.namespace.owner + expect(response).to have_http_status(200) expect(response).to include_pagination_headers expect(json_response).to be_an Array expect(json_response.size).to eq(1) first_user = json_response.first - expect(first_user['username']).to eq(member.username) - expect(first_user['name']).to eq(member.name) + expect(first_user['username']).to eq(user.username) + expect(first_user['name']).to eq(user.name) expect(first_user.keys).to contain_exactly(*%w[name username id state avatar_url web_url]) end end @@ -1091,8 +1089,8 @@ describe API::Projects do before { user4 } before { project3 } before { project4 } - before { project_member3 } before { project_member2 } + before { project_member } it 'returns 400 when nothing sent' do project_param = {} @@ -1573,7 +1571,7 @@ describe API::Projects do context 'when authenticated as developer' do before do - project_member2 + project_member end it 'returns forbidden error' do diff --git a/spec/requests/api/v3/commits_spec.rb b/spec/requests/api/v3/commits_spec.rb index c2e8c3ae6f7..386f60065ad 100644 --- a/spec/requests/api/v3/commits_spec.rb +++ b/spec/requests/api/v3/commits_spec.rb @@ -5,7 +5,6 @@ describe API::V3::Commits do let(:user) { create(:user) } let(:user2) { create(:user) } let!(:project) { create(:project, :repository, creator: user, namespace: user.namespace) } - let!(:master) { create(:project_member, :master, user: user, project: project) } let!(:guest) { create(:project_member, :guest, user: user2, project: project) } let!(:note) { create(:note_on_commit, author: user, project: project, commit_id: project.repository.commit.id, note: 'a comment on a commit') } let!(:another_note) { create(:note_on_commit, author: user, project: project, commit_id: project.repository.commit.id, note: 'another comment on a commit') } diff --git a/spec/requests/api/v3/groups_spec.rb b/spec/requests/api/v3/groups_spec.rb index 2862580cc70..2f6f1bad0b8 100644 --- a/spec/requests/api/v3/groups_spec.rb +++ b/spec/requests/api/v3/groups_spec.rb @@ -421,7 +421,7 @@ describe API::V3::Groups do expect(json_response["request_access_enabled"]).to eq(group[:request_access_enabled]) end - it "creates a nested group" do + it "creates a nested group", :nested_groups do parent = create(:group) parent.add_owner(user3) group = attributes_for(:group, { parent_id: parent.id }) diff --git a/spec/requests/api/v3/projects_spec.rb b/spec/requests/api/v3/projects_spec.rb index e15b90d7a9e..5503882609f 100644 --- a/spec/requests/api/v3/projects_spec.rb +++ b/spec/requests/api/v3/projects_spec.rb @@ -10,8 +10,7 @@ describe API::V3::Projects do let(:project) { create(:empty_project, creator_id: user.id, namespace: user.namespace) } let(:project2) { create(:empty_project, path: 'project2', creator_id: user.id, namespace: user.namespace) } let(:snippet) { create(:project_snippet, :public, author: user, project: project, title: 'example') } - let(:project_member) { create(:project_member, :master, user: user, project: project) } - let(:project_member2) { create(:project_member, :developer, user: user3, project: project) } + let(:project_member) { create(:project_member, :developer, user: user3, project: project) } let(:user4) { create(:user) } let(:project3) do create(:project, @@ -25,7 +24,7 @@ describe API::V3::Projects do issues_enabled: false, wiki_enabled: false, snippets_enabled: false) end - let(:project_member3) do + let(:project_member2) do create(:project_member, user: user4, project: project3, @@ -286,7 +285,7 @@ describe API::V3::Projects do let(:public_project) { create(:empty_project, :public) } before do - project_member2 + project_member user3.update_attributes(starred_projects: [project, project2, project3, public_project]) end @@ -622,7 +621,6 @@ describe API::V3::Projects do context 'when authenticated' do before do project - project_member end it 'returns a project by id' do @@ -814,8 +812,7 @@ describe API::V3::Projects do describe 'GET /projects/:id/users' do shared_examples_for 'project users response' do it 'returns the project users' do - member = create(:user) - create(:project_member, :developer, user: member, project: project) + member = project.owner get v3_api("/projects/#{project.id}/users", current_user) @@ -1163,8 +1160,8 @@ describe API::V3::Projects do before { user4 } before { project3 } before { project4 } - before { project_member3 } before { project_member2 } + before { project_member } context 'when unauthenticated' do it 'returns authentication error' do diff --git a/spec/services/projects/destroy_service_spec.rb b/spec/services/projects/destroy_service_spec.rb index 4b8589b2736..0d6dd28e332 100644 --- a/spec/services/projects/destroy_service_spec.rb +++ b/spec/services/projects/destroy_service_spec.rb @@ -70,7 +70,7 @@ describe Projects::DestroyService, services: true do end end - expect(project.team.members.count).to eq 1 + expect(project.team.members.count).to eq 2 end end diff --git a/spec/services/users/refresh_authorized_projects_service_spec.rb b/spec/services/users/refresh_authorized_projects_service_spec.rb index b19374ef1a2..8c40d25e00c 100644 --- a/spec/services/users/refresh_authorized_projects_service_spec.rb +++ b/spec/services/users/refresh_authorized_projects_service_spec.rb @@ -1,15 +1,13 @@ require 'spec_helper' describe Users::RefreshAuthorizedProjectsService do - let(:project) { create(:empty_project) } + # We're using let! here so that any expectations for the service class are not + # triggered twice. + let!(:project) { create(:empty_project) } + let(:user) { project.namespace.owner } let(:service) { described_class.new(user) } - def create_authorization(project, user, access_level = Gitlab::Access::MASTER) - ProjectAuthorization. - create!(project: project, user: user, access_level: access_level) - end - describe '#execute', :redis do it 'refreshes the authorizations using a lease' do expect_any_instance_of(Gitlab::ExclusiveLease).to receive(:try_obtain). @@ -31,7 +29,8 @@ describe Users::RefreshAuthorizedProjectsService do it 'updates the authorized projects of the user' do project2 = create(:empty_project) - to_remove = create_authorization(project2, user) + to_remove = user.project_authorizations. + create!(project: project2, access_level: Gitlab::Access::MASTER) expect(service).to receive(:update_authorizations). with([to_remove.project_id], [[user.id, project.id, Gitlab::Access::MASTER]]) @@ -40,7 +39,10 @@ describe Users::RefreshAuthorizedProjectsService do end it 'sets the access level of a project to the highest available level' do - to_remove = create_authorization(project, user, Gitlab::Access::DEVELOPER) + user.project_authorizations.delete_all + + to_remove = user.project_authorizations. + create!(project: project, access_level: Gitlab::Access::DEVELOPER) expect(service).to receive(:update_authorizations). with([to_remove.project_id], [[user.id, project.id, Gitlab::Access::MASTER]]) @@ -61,34 +63,10 @@ describe Users::RefreshAuthorizedProjectsService do service.update_authorizations([], []) end - - context 'when the authorized projects column is not set' do - before do - user.update!(authorized_projects_populated: nil) - end - - it 'populates the authorized projects column' do - service.update_authorizations([], []) - - expect(user.authorized_projects_populated).to eq true - end - end - - context 'when the authorized projects column is set' do - before do - user.update!(authorized_projects_populated: true) - end - - it 'does nothing' do - expect(user).not_to receive(:set_authorized_projects_column) - - service.update_authorizations([], []) - end - end end it 'removes authorizations that should be removed' do - authorization = create_authorization(project, user) + authorization = user.project_authorizations.find_by(project_id: project.id) service.update_authorizations([authorization.project_id]) @@ -96,6 +74,8 @@ describe Users::RefreshAuthorizedProjectsService do end it 'inserts authorizations that should be added' do + user.project_authorizations.delete_all + service.update_authorizations([], [[user.id, project.id, Gitlab::Access::MASTER]]) authorizations = user.project_authorizations @@ -105,16 +85,6 @@ describe Users::RefreshAuthorizedProjectsService do expect(authorizations[0].project_id).to eq(project.id) expect(authorizations[0].access_level).to eq(Gitlab::Access::MASTER) end - - it 'populates the authorized projects column' do - # make sure we start with a nil value no matter what the default in the - # factory may be. - user.update!(authorized_projects_populated: nil) - - service.update_authorizations([], [[user.id, project.id, Gitlab::Access::MASTER]]) - - expect(user.authorized_projects_populated).to eq(true) - end end describe '#fresh_access_levels_per_project' do @@ -163,7 +133,7 @@ describe Users::RefreshAuthorizedProjectsService do end end - context 'projects of subgroups of groups the user is a member of' do + context 'projects of subgroups of groups the user is a member of', :nested_groups do let(:group) { create(:group) } let(:nested_group) { create(:group, parent: group) } let!(:other_project) { create(:empty_project, group: nested_group) } @@ -191,7 +161,7 @@ describe Users::RefreshAuthorizedProjectsService do end end - context 'projects shared with subgroups of groups the user is a member of' do + context 'projects shared with subgroups of groups the user is a member of', :nested_groups do let(:group) { create(:group) } let(:nested_group) { create(:group, parent: group) } let(:other_project) { create(:empty_project) } @@ -208,8 +178,6 @@ describe Users::RefreshAuthorizedProjectsService do end describe '#current_authorizations_per_project' do - before { create_authorization(project, user) } - let(:hash) { service.current_authorizations_per_project } it 'returns a Hash' do @@ -233,13 +201,13 @@ describe Users::RefreshAuthorizedProjectsService do describe '#current_authorizations' do context 'without authorizations' do it 'returns an empty list' do + user.project_authorizations.delete_all + expect(service.current_authorizations.empty?).to eq(true) end end context 'with an authorization' do - before { create_authorization(project, user) } - let(:row) { service.current_authorizations.take } it 'returns the currently authorized projects' do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index e2d5928e5b2..c126641c4b9 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -93,6 +93,14 @@ RSpec.configure do |config| Gitlab::Redis.with(&:flushall) Sidekiq.redis(&:flushall) end + + config.around(:each, :nested_groups) do |example| + example.run if Group.supports_nested_groups? + end + + config.around(:each, :postgresql) do |example| + example.run if Gitlab::Database.postgresql? + end end FactoryGirl::SyntaxRunner.class_eval do -- GitLab From 92954a7bbe2f7450ee53e29e58c42d8b82e04721 Mon Sep 17 00:00:00 2001 From: Yorick Peterse <yorickpeterse@gmail.com> Date: Thu, 8 Jun 2017 16:09:34 +0200 Subject: [PATCH 200/249] Fixed authorized destroy service spec --- spec/services/members/authorized_destroy_service_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/services/members/authorized_destroy_service_spec.rb b/spec/services/members/authorized_destroy_service_spec.rb index 8a6732faa19..f99b11f208c 100644 --- a/spec/services/members/authorized_destroy_service_spec.rb +++ b/spec/services/members/authorized_destroy_service_spec.rb @@ -18,7 +18,7 @@ describe Members::AuthorizedDestroyService, services: true do member = create :project_member, :invited, project: project expect { described_class.new(member, member_user).execute } - .to change { Member.count }.from(2).to(1) + .to change { Member.count }.from(3).to(2) end it 'destroys invited group member' do -- GitLab From b684f3531f082550198b58d4a299fdd3dde66e96 Mon Sep 17 00:00:00 2001 From: kushalpandya <kushal@gitlab.com> Date: Fri, 9 Jun 2017 10:18:42 +0530 Subject: [PATCH 201/249] Update version to v9.3.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f9458b8ea2d..b13d146a7b0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.5 +9.3.0 -- GitLab From 66bbf30ed8bb006d9a968693fef266c86ec2325f Mon Sep 17 00:00:00 2001 From: kushalpandya <kushal@gitlab.com> Date: Fri, 9 Jun 2017 10:29:31 +0530 Subject: [PATCH 202/249] Update version to 9.3.0-rc1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b13d146a7b0..3b9ea2f9c91 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.3.0 +9.3.0-rc1 -- GitLab From 342e23115523210b60b9f557f1cfbcfdc3361af0 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Fri, 9 Jun 2017 16:13:41 -0500 Subject: [PATCH 203/249] Resolve inconsistencies --- .../issue_show/issue_title_description.vue | 199 ------------------ app/assets/javascripts/users_select.js | 2 - app/assets/stylesheets/framework/sidebar.scss | 4 - .../stylesheets/framework/timeline.scss | 5 +- app/uploaders/gitlab_uploader.rb | 2 - doc/development/README.md | 4 - .../issues/img/issues_main_view_numbered.png | Bin 73508 -> 0 bytes .../project/merge_requests/accept.feature | 1 - lib/gitlab/regex.rb | 8 - .../javascripts/commit/pipelines/mock_data.js | 90 -------- .../issue_title_description_spec.js | 78 ------- spec/javascripts/notes_spec.js | 16 -- .../update_retried_for_ci_builds_spec.rb | 17 -- 13 files changed, 3 insertions(+), 423 deletions(-) delete mode 100644 app/assets/javascripts/issue_show/issue_title_description.vue delete mode 100755 doc/user/project/issues/img/issues_main_view_numbered.png delete mode 100644 spec/javascripts/commit/pipelines/mock_data.js delete mode 100644 spec/javascripts/issue_show/issue_title_description_spec.js delete mode 100644 spec/migrations/update_retried_for_ci_builds_spec.rb diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue deleted file mode 100644 index 8a7a813efd8..00000000000 --- a/app/assets/javascripts/issue_show/issue_title_description.vue +++ /dev/null @@ -1,199 +0,0 @@ -<script> -import Visibility from 'visibilityjs'; -import Poll from './../lib/utils/poll'; -import Service from './services/index'; -import tasks from './actions/tasks'; -import edited from './components/edited.vue'; - -export default { - props: { - endpoint: { - required: true, - type: String, - }, - canUpdateTasksClass: { - required: true, - type: String, - }, - isEdited: { - type: Boolean, - default: false, - required: false, - }, - initialTitle: { - type: String, - required: true, - }, - initialDescription: { - type: String, - required: true, - }, - }, - data() { - const resource = new Service(this.$http, this.endpoint); - - const poll = new Poll({ - resource, - method: 'getTitle', - successCallback: (res) => { - this.renderResponse(res); - }, - errorCallback: (err) => { - throw new Error(err); - }, - }); - - return { - poll, - apiData: {}, - tasks: '0 of 0', - title: this.initialTitle, - titleText: '', - titleFlag: { - pre: false, - pulse: false, - }, - description: this.initialDescription, - descriptionText: '', - descriptionChange: false, - descriptionFlag: { - pre: false, - pulse: false, - }, - titleEl: document.querySelector('title'), - hasBeenEdited: this.isEdited, - }; - }, - components: { - edited, - }, - methods: { - updateFlag(key, toggle) { - this[key].pre = toggle; - this[key].pulse = !toggle; - }, - renderResponse(res) { - this.apiData = res.json(); - - if (this.apiData.updated_at) this.hasBeenEdited = true; - - this.triggerAnimation(); - }, - updateTaskHTML() { - tasks(this.apiData, this.tasks); - }, - elementsToVisualize(noTitleChange, noDescriptionChange) { - if (!noTitleChange) { - this.setTabTitle(); - this.updateFlag('titleFlag', true); - } - - if (!noDescriptionChange) { - // only change to true when we need to bind TaskLists the html of description - this.descriptionChange = true; - this.updateTaskHTML(); - this.tasks = this.apiData.task_status; - this.updateFlag('descriptionFlag', true); - } - }, - setTabTitle() { - const currentTabTitleScope = this.titleEl.innerText.split('·'); - currentTabTitleScope[0] = `${this.titleText} (#${this.apiData.issue_number}) `; - this.titleEl.innerText = currentTabTitleScope.join('·'); - }, - animate(title, description) { - this.title = title; - this.description = description; - - this.$nextTick(() => { - this.updateFlag('titleFlag', false); - this.updateFlag('descriptionFlag', false); - }); - }, - triggerAnimation() { - // always reset to false before checking the change - this.descriptionChange = false; - - const { title, description } = this.apiData; - this.descriptionText = this.apiData.description_text; - this.titleText = this.apiData.title_text; - - const noTitleChange = this.title === title; - const noDescriptionChange = this.description === description; - - /** - * since opacity is changed, even if there is no diff for Vue to update - * we must check the title/description even on a 304 to ensure no visual change - */ - if (noTitleChange && noDescriptionChange) return; - - this.elementsToVisualize(noTitleChange, noDescriptionChange); - this.animate(title, description); - }, - }, - created() { - if (!Visibility.hidden()) { - this.poll.makeRequest(); - } - - Visibility.change(() => { - if (!Visibility.hidden()) { - this.poll.restart(); - } else { - this.poll.stop(); - } - }); - }, - updated() { - // if new html is injected (description changed) - bind TaskList and call renderGFM - if (this.descriptionChange) { - $(this.$refs['issue-content-container-gfm-entry']).renderGFM(); - - const tl = new gl.TaskList({ - dataType: 'issue', - fieldName: 'description', - selector: '.detail-page-description', - }); - - return tl && null; - } - - return null; - }, -}; -</script> - -<template> - <div> - <h2 - class="title" - :class="{ 'issue-realtime-pre-pulse': titleFlag.pre, 'issue-realtime-trigger-pulse': titleFlag.pulse }" - ref="issue-title" - v-html="title" - > - </h2> - <div - class="description is-task-list-enabled" - :class="canUpdateTasksClass" - v-if="description" - > - <div - class="wiki" - :class="{ 'issue-realtime-pre-pulse': descriptionFlag.pre, 'issue-realtime-trigger-pulse': descriptionFlag.pulse }" - v-html="description" - ref="issue-content-container-gfm-entry" - > - </div> - <textarea - class="hidden js-task-list-field" - v-if="descriptionText" - >{{descriptionText}}</textarea> - </div> - <edited - v-if="hasBeenEdited" - :updated-at="apiData.updated_at" - :updated-by-name="apiData.updated_by_name" - :updated-by-path="apiData.updated_by_path" - /> - </div> -</template> diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js index b25e638902c..ec45253e50b 100644 --- a/app/assets/javascripts/users_select.js +++ b/app/assets/javascripts/users_select.js @@ -566,8 +566,6 @@ function UsersSelect(currentUser, els) { break; } } - } else { - selected = user.id === selectedId; } if (showNullUser) { nullUser = { diff --git a/app/assets/stylesheets/framework/sidebar.scss b/app/assets/stylesheets/framework/sidebar.scss index 135520e0c07..d4421e3af74 100644 --- a/app/assets/stylesheets/framework/sidebar.scss +++ b/app/assets/stylesheets/framework/sidebar.scss @@ -119,8 +119,4 @@ .issuable-sidebar { padding: 0 3px; } - - &:not(.affix-top) { - min-height: 100%; - } } diff --git a/app/assets/stylesheets/framework/timeline.scss b/app/assets/stylesheets/framework/timeline.scss index 0d328031dcf..10881987038 100644 --- a/app/assets/stylesheets/framework/timeline.scss +++ b/app/assets/stylesheets/framework/timeline.scss @@ -35,8 +35,9 @@ display: none; } - .timeline-content { - margin-left: 0; + .timeline-content { + margin-left: 0; + } } } diff --git a/app/uploaders/gitlab_uploader.rb b/app/uploaders/gitlab_uploader.rb index 0048e07e1f2..e4e6d6f46b1 100644 --- a/app/uploaders/gitlab_uploader.rb +++ b/app/uploaders/gitlab_uploader.rb @@ -29,8 +29,6 @@ class GitlabUploader < CarrierWave::Uploader::Base cache_storage.is_a?(CarrierWave::Storage::File) end - delegate :base_dir, :file_storage?, to: :class - # Reduce disk IO def move_to_cache true diff --git a/doc/development/README.md b/doc/development/README.md index a3cae34a7ec..40addfd8a4c 100644 --- a/doc/development/README.md +++ b/doc/development/README.md @@ -58,10 +58,6 @@ - [Internationalization for GitLab](i18n_guide.md) -## i18n - -- [Internationalization for GitLab](i18n_guide.md) - ## Compliance - [Licensing](licensing.md) for ensuring license compliance diff --git a/doc/user/project/issues/img/issues_main_view_numbered.png b/doc/user/project/issues/img/issues_main_view_numbered.png deleted file mode 100755 index 9cff61d70413d3d92761326ada563d14790fe4e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73508 zcmbrEWl&r}+olIXNN@?k-66PpLP8)o!QI`N!Civ8yL(6o4uiY9%iuFOgS##7x3#sq zRr_PN_Fs3OuBW^2`#D#i)79Zh3Q`!T#HauO07LqRgfal|77PF&Exdp8+H#p3_7MPh z15lDv{r>Xua({onv$I1-M`zBRetLRpGZ+s7fesH2Nvs+lPmk|jUWk9Ik-JU4yj;IL ztXk61JwNO`++Vyr!S^0tdi(kzcP|(B_kWje?$>JR=xknI<6mAs?vGd7(b1Vy4evkZ z0D&M-Zlr0=)6M*25)vJq>Dlwk?A429`AT)_aL(Y~DrEKfVjXt<c)eVioSbe{uu?L2 zSvGMBIe!U=E4iB)dbz(-q@`IN-KjF6Gqh<O&2)6i99}MJ{^!=Pxw-XxGTRM%n44Sh zprd<>gfxG7zgq2aHs5$Kmb0*bYuOaO;SYdR+udJY(a|ZMtqu@i<1Ut3f*kAHTH7<b zHt#ovV_z3_*n52Wc(J=gXIC>(1nS};Yna~8&q$vd?4I5{J=njvKU^Oln{)z2Rc}5F zO|H}VG)04eu)b{j$Qsw;DLT5yzJ+6_@R8`w{hj4W$kfn$du2@@1X5+vo$J;$x^%d{ z6<a&IHQL+?xyq{>cduD1D=!;PR>qH&zMd;ojO>0{@vMq+YI3%f`^J+!aXz)Y6V|x7 zH~hQY6<F0Vxz`%Gy$oNhiz-l{k<XqJ=i{iZt{!SyS!v60l3`1)>}bevjSP=yYHV_I z_o7uO>4~wcYV3E{Rip_YiH+$TY_4tarmKuF4J{gl4<!02emMenrU4skN>Y2uB7?J= zvhu65BY~!QGx^qPIp%ad)rBSsU#->T;<RN3lEF_?S{hQqz^u9eZ!cLL8#;xW(S{r; zn?@cw@|F70^Ck&8I*;6dwubV_Odqw?vwiF8HODWxS=j@03ehKHBXaU8VK&NrW&O1g zic95zH1ydPX6CvAtYLNy{ZaJLqAw1>bUGDBI?Dv7h%68JlC7X<MZetS#ea<%1xgkH zO}`qo;(p*K0H=;2_^G+k3iMHCbRD}>zt`HWs%E+b^kH7g^a`KpEptW<DZR$Ch3c&- zbD=I7@;upwovK+YF&r=7+3c3~008C6K?8>V?w7aPJzmi-X>&fUeL7+CZ~y|yy0nD2 zs{8WMECL1qfZmh0+OdCViAcSOFllV>PYil9n?{n?4*~G1@P8Sd#lYUS`(GP(kjpsv zzeIx(tVc1FO#Zk2|MjS|7R1N-SM?|91Qk`O(SkTPClR_`6bbnpBfSGcxc@h1l=ms> zE7)Iyk#(@4G}IeXJh(VKdx+wAyo#%PiNQ`6JZ!vEmQl9WKcZw4Q}=SRcSqYm>;iHW zA7M1$jvN1d$oNZ+mpMFlWrisgV;h1T)aAIuF>c2}i2i@5hK&4Dsc_st1Zi#Y=&DD7 zNZ7D)C?tD3B9FpjFlXEwH~l&VZUlc4P}N{lhDXn#a`I(`g=}FzqW$?oQJPG;?~VBU zHs<u3q^;mb-0d4BlIjXs*uIl$TD(sG5($;S{NB0zd*d-owQLhnZ(RJ9!*V31)qCQR z=$Oi1rvBU9x};H{+;>xiT%dpuT-Psg?H=z7f5{1AF;E3r`S(eeC7^qv2TRNRj`N** z!v6i8xRI8+Lv7HJfa6&6#}|K<(wgZ!GMxN~_zwH2LwEk~B4*zJ6)wX&q#EJ%S=7}# zn#{80nl`mMBPi;qE&a6f-1^APZ&JylfA(55aS-l`VHH#dXJqXEH5r`@FkvjFj8gU} zE-|kr!~&J(-H*>G(GigrSh_iJNhm8tUlzi3lz3yDyV@NdD8QAd^!Y?7u8jd*kSwv} zWaQ&pvxL6Ywq4b%k6zi|YZmoM0yY2I@d+sL7JnsJVmm)?MmTvlf+Hi>1Ys6SJ<euQ zX3=IS?q9TtdZ0GSdJqZg&+t!`u)7|#G`)Rd>AbwYPLszdyc{E5BOiRj3AB5-wzu{& z^K)jAD2Ecs;|gCIfvcN013acxe@}`Wp=fcl&KsZITk1>CB<8m9rIL)DCzhX>3>nf? zAru8~p<=r%H0;*Sc%)pyiZ7jgJ-uoQ3Y_6<6Jod397v`deH0z-Il+7LZ+KEB*0c)R z=Y1dVKj`p#47%9D^MfYbRvDhm>@-6bIFhkHZ=)oW;E+D$NsZwZEK>Y{Z5m;YuJDZF z_;SUn@xuh(04M9*{JB`Slm5W%^jB;u@Jit>L7rDN>1pJXyJA#XnfJv2>rf9VN`Gvw zrrzI+y}l6nQY`_u)jdM#V6D?Uf)Q(Gs+QE$9Kyn|6JZ%Wet(60^d85CSGy<*s(He+ zhLYd=(nV_ap0SvsqFCzp`1Dda3|+F>IntbaGKGCU<6g|i`a~68?Z7nW+UtdrN~wKx zdcb4F#F{IT+)H=eR3)aF?Ke@RRqfvdm?ZB(M5``hXD@2AocZ`M7^LISJUVllF!Bgo z+19`!_Bg3<l<JTbNmh~vG^+z+AFS<;BReKtZ(IBz{8(wxO@s?fAG@jxKQbMAzD%i- z6VWGzD5o!HM22Q0@K`3q-RTZ=R|-g350PoLOOL?YykP<^|K`Upl1xroM?H3Z3D8#8 zc)JD1DHCOo5dEvpI*{kjcewFp42MJbmH9qt2@CA&nGDoYspK~kyedL7Af+QmQ-=4O z1KlFR2@Vpk1d~J@L2^w!@JsA8dwEPPF)#7Xm2Tujes++agv9e^xD{8S7G~YL1T7Y0 z2C3;{8_U$I!UK0S@XK@>a(MjvrpHFs5_fGgcKG|4j|GZAIu!yE5g@~}d&eq{A+;$U zS!NHaRT=r@S7{mzMECsFm))m)aEZx<EL#r`#8Y=6msdIsCsa2cb4b5_lhxw*N{q8o zgqXR<=tf36@KvfX2ik08-E8JRz5FO9ryn)~lEkX<YW>~jGmZErVrlPzVHh8ka*B2a z-oo~Y<yDJOVNAT>Prxqz8&|5DqH~ZsphHPubMct+Ft!2mW=jo3_{AY$*0?>*9PM%J zk@qPq`M`|>D-Pvq3Ay+D;Ssa=AO{QSrT2WPJw8uiMktsWy(ir`>%lv$GTO}*lOW#0 zltwWEZz7hA>l_%U@jE8FHwJwT3qXUV?hIFx@D5!tJm9!Sq$*LB6&UEx&(`^IbC#&W z(xwo4x^Q;t>Ch2or&Ynbwj}^I79yrG331(reASmfMQJLg7QWfmSoQHum%sMDp(l8s z^eUGNL8XX$=|hdR@ueNz(7!d;U@F}F@ztbWdrQNM>DRnTuKFoac1<B~W|+1NR!f}I z)*t#Uo>&O8`&b%Q_pfv0ID4UcJE^UGP4I%KVX2#FW~<ed!%lEsQZPTeWy)*m13IN# z<LhSFJlMM5;SBFqr@~6kB9Uxoq{gQgccE~E(=X>4gfj<|hLk5~iS~mhLidPqVbcC` zy7=54R4myfqABh*sLVn)*PX-(U1dFay~b7X!_0F#8rW$6Eb2jM`@&V<MA9)TbM*B? z<GRKISmn-8@kRBwiAMEMcT>)vkxEO3BWkqIYh@po-w#!^a^`10uq}5z8b8QKwI>UQ z8#Hg@yik#%eIG>I%yBQk`_IdgEFpL^`Ak!ej;SKtXkCCRvi01`ii{B%<}S*<WhyXy z?sf!0+jJV%Pv5PXCL#%_;QB^%$!NLD=7mrcgz#%JCQ($y^$936Bvk{#qK;Xi%o5HT zWWjG%y+PQ8V{25%ywal8!=wK{yl}UJ34AdfUIyy~g9h-ad3oc*{zhUHH$==O>}fM2 z9B_c6$ZczrnZKCssANr!k4+b#c5^2lKbadW>a|br>a-Ocx?|kL7mt5YZP!vBK1A`A z{qAb7zxf1hKAGy@ViUad$pHmvf=Y#jh5wnVeel-?q0O&8Ja$XFhb*Y@a`NeAD`P6G zxgn5*UQ<ZFqOwFwCaj9cwTvEcxU{L)x=!J6a#>FutMLyE>XSxw^vFNY$V_VSA|vs( zfL=^@+Q0>Iv^v3W5Pm6jw1Vf6s>Gg0lUNrZ4+b0ZWl)HV7G*-{D;V@A!D^^#gdyC0 z0ylS^=AE}QmO%_YUbcZ0+QQIQZ|*nio?qqpYoL8bAbHJUX1)NSD00^73I)r#{f~e+ z{LZ&;?CZb(0}6I%uNCxsqYSkW&bQ=q@76A?!;NygI9t<IKd1eh)lx$(?A9Z^{-$-a z-NNsiTcQNT1^NT;@BGP(2dZWNKDUfc2gL3d&5@qZ-UALQVyxsEKsd5QMB{(ier1$# z0knK&<be^~af^UczJ)|oc1FI?V+sW$gHBsjYrP{_m_Sx#$kgGS*2P|O7QE8yVa3J< za5R3|hjanHQhtm9V=;MljAI-MXmo*DeHDXM@>*W0C{#WCKbP-;?F_#*Hu9wpiC*iW zjZwkKI_!0CyCBi0Pd<J6D1a$=c9=TCdS9j1D~PKz{af@F5>!h|o7Ljzl~cqo?fErj zQV;<AgZ&HCBlOAG!`D1@Tf*Cjpco|ULB*Q=9|dm6RGII7uRmdn0Uy@ydX7)RrpM_0 zn%VB0V-J0w_*PvDG60X(D4Ev|pSb-<p-%&jq|>TSf!sx}C@g&97yB+!_hQL>#R2w7 z30?AkFsYl$&-i1O)p3r287|&v;%)1R))JsZ(XF*kGSZfCuOQ)}yxULWtiNn4Ca&R5 zvjGVJbpI&0;UpD%If5Ll;ijNQzP*u><}Uu9QkW6$kPUP9zvcqA-i0134ZVGgEeE{g zq(f7pwX4x!A_A3>AfbnORodeNFj4G}v&p<yrgVj5$LX)$-owbv8Rcd5V8V<{J#5LK zUC8kz?iWVS>5lc5ySzXDLk43k4OzaXFwvag9f$qh)f<)1SXV86KBJ$Gu6!3ne*{?@ zllsL!5%G`T@n;B75yedX^dWU;O1=UW$_Pf@tO+*|Ym{RaDPw@*xjejBjvbu$N+9^u z<4eYqm-6I}dmobGC$6uDJ#bt!vuZRX1-1`qAEdwLdf6xm@ry>YXBq;GcrKpUoV_Ei zWVhS^$8vO<2Lh(0?rn6A`)7p7AkYuyU@ml(T``j=kO85@k}%W!H@^2Q10l?DSIbPw zwe{9Yj7_D!;NxGSC|!`WF_-lce@(TB`uZ)Vw&#dh_*?ORG}n9d)oCAJ{)v=*R@axe zr=3Ula#7SR67o)qDz<NTQ%#IG8$@VhR#1yCRj!V@Gj*!rK2SkM2t;^X(5#QQg~5ZE zj(Gi)4v#p;ee$b%rRo(?I=*Sq&FC~C&7E?51csO_>IH9=J6#$$PLp7&D)OkOb#$N1 zXa72=Xo`tYc&QXL$~uCiBBp=6;4d3T+lCNC_T98>&R(`*su|a(>{f^vr;MQAS>q|j zZvQi&vF-`*`vzB$@Lm<$*Ze21PE^WubP$!<a-Z2I-2amV6_G=v0Y5wt;?GvFiJVlo zWMY>af%X?SKdamA6r(1Px+Lt<c76xr!RH*IpUrn@B4Jl5vF8d$h}HuSMjtPW`%dHU z=k{?fhHxf+4+w4bR`gq~9a?r6ed3{d)_vnIy`4Io&~!%rFJi+OanZmxriBo|(rcCP z|FX)mz4AzW%bb)+$H?zZ4nrPf&;|fe{6j5CN>KfAhxOtCjQNm{DE}`-!@A1#(Xtcc zJ-f!JM#AL=8oS(bNQJ9?#SZ2$#s}wryJ=H*^&}w=PlU1p?N~Eyda+U8YS+XR!5W9) znZ-XR(v83#q$fdh7x;GWDrbrlWL4G0IdXZI$xYagDANnB4>k&vAGPIXabtm%KscAV zlZBs4Q&gS-NnY_litC4`{Zim3{v>7iyHu}-!-<i;n;_ul0*Kz{ryxO*w=i-&cu(<) zh8Ik~9kOaJw9hvCXZ|?!YFKz`JL{SPbNERRCf0`jqz>;JS#>Bm4C*+__EN=DBON&L zq#<Z@bmHg0L?Md~j-V}E9G3g?*6wX_60fkfx_NpIF1JD70jJytL{;x1B^l$m5H?p1 zZciijux|28t`8J*Op0cuGee&by!_lO%#G-fX^WRn%F|bcK_{b+z8w$g!X02XAw2um zPnA=8ddI%jD|%^Gu!W_`-_JnjJqEXhxQA$bsIM?Y5#CU#U;0ysT)C8HN8<t2y{h$h z6-Q~aP^tYySH%gcp>MX8-aRS#@e>p-1N_jOt5ZMx?UersdY$<2nST3E{YnLD0Gw1D zF6tE#J^GKEC9h8r&PLBa*%kqhFkRSv{7=UYy6s0)ad-ytxQEdyxn(rPst}aH&5eP- zMV$@yi2E7*1btRyGJMVwl(k;vHIdfMdoXm8`aqBJ8t?~PxODQj2Dy!j_|h1a-gkK3 z?A*w1#wnFs*xzh*vAgMIUMPI7=lxaMhG38&e_9}SsY?<>jvf4P8AnXKY~6F4gNAM) z$@))>Jt_VkJ@_q8JX3$Qdh?0OVTV7&k6g_A_DktdwEvgM!&KNgimiQ4X$yL`@NBOT z1FGmBJU2O<?~?i8{80_CH^QOJDu3G;Il=QrmLRBMfnXl*n0dv3W->Zzs0-?dJS8aO zrL|M=p}rjNnaX&eberl?i0N15&;WtfVWqJ$RwX-m@pgppr`^&sp{%9iX1x2a?BI8# z!0%jp`7|XB6V+WGSHDBs2dOUKG<Vs2ma}9SC0i_%9n9{M?r>jjW9yz>Y3=G&CUDJy z0278t{01t&Lke;J@}Wb6URU_H^4UuAK8=7wej1PCn{0GU1pFE*hI@>%Iv!7wI_9)` zU(Z`bdAsw4xb^axk%NOH!$kqllR5BwpB6a{JgK}>G1ba`kqkThQKE9MXY(hG+rrLH z%?Q>%K<;Imsu$CYCFWonCo=GZNalS$Uw!&E;O~)K#=_DAsp5^`w(a<Uw6N{Y<dYn; zYo^-z$HRqSZ|oGiM#b?X&#Myvxa+84Nd6#k{`*n_0_H&6sXkK-yWMeOCfzSr`35A+ zEN4NUVUsi8D)&H?)JLO%A=cyOgOkO%PlAGXdvzm;iQih@fmPf!>q=kx%7TA0c@L7| zPn$t8`5VN~XK36&JZNH$a0C*NYYOD)wl~JPnJOR%*FZ2=tex<EU+sAK(O+<|LP4X) zno=))(?*5Lm5^%Mu(M2~4My#OINa0i=e|j-n!0+*96E(gnE1`=5VFUhQC0_~Vfqlx zSG(batX&g}HPyH6Vx2<yy@gpFa8Umf^(;ezg`L~{c{%xLN$6gi@e{O!#3J*!C*2|y z!k}Au@)7v%Bswy4XfZ9B4?n3Maouf;Bq?G-{DNWNFGslzvq|-*zcQ?PPz9$}nK#}8 z^$C!03h$~6^4@;$(=K&!pe+1d#mAS@cI#=r!Fra+Rcn>&*>Cn^0ZqS~>>l`fwzRmH z9t-6UHQY6(vRUp5R*A+I`UbDkhMa6FPrcK!WuW5`kva$^hf1mOI@ejc2d*eu0v{F~ zA0yr|OcZX^+A9A6OpMFnG}Ig=k&}IXm<Mj!GB3GGNez){EYPGI7@p4U$3M8?dm~mP z&gXp|7xuU<b+|cx2#UCQODcI6-?J{iYynxp1oyd|*x4R|m3}Q=_xD#g>HO1lBQhCT z5d9SRu+}VUW1I6h_`v^;4Y@jat`Y^^yFU_=Q;DrZn!)QqqTM-g-o(2|T4#kPGiZ3~ zT|FjzS(J6Xe+m0)9J{<RIy<zo6;xA&J+{n)6_pQfSR>Zya{Cvno*8_z!6RAF9jwkA zwZbPe&p5zPOw!u!U;!ci6cfmrv6An9eqRqtNm5NsPCjO?IbmP<>?-ij=ICzr9*_*- zR&v0RdLPb5QUTA2#!u0Gx?TS5G^+el&Fw}mjm@5F%f@AbnJe4cqLfIsJ^{3Pfi*ub z-+_pqL(YEN+V&d`atf)oAt5=*>E(IqXZXqSRYs!Q;(GhAI)rb8JHeT(gU?64I{B)g zZIJUl@Zh#en6DQ;JDRs7LA6}sqveEVmy)gdo`BX@)Fb$-eS}xB4~0bzjPnMLynrYT zk5p*NGh^vX?#0ETYHS;%yBD!TA9e+Eh%}ZTBCB>{PRX!}LNS4Zv-Pkx5$YT2(8>C| zh@P{|H*do=3%?A3GLtZdi7~<opG)9NoIoAdQ^s1tLnPP>H8Rrsa?E()M>|2NeJsSM zvL#`@(J7~=FabRzK8t_L(FX&cbZ(sAe@AH647z6c;Y|sJN0hsy;;wf_IM)vnbV`1i zO65eE?>wW@r1Y-Za&%eOl0&gg2+q!<tC|ZY=jD?=p3t0ONzeCUxG#xHUjTLfFnX<N za<J3t*SCREN}fD9$0pdH+@YaElr_ZBO`@nqT@!Edqcnz&&x(^VpxqOQUFBQfJaLix z84GZE%%q+*&_rQ)-Cyr<z=iOprxY)_wf*2S6U_}lD?`t^Ed(SM<xd4j17At4#>~&@ zg^_!Ux(Xa6-xtajZuGC6u9#U<c6M3bn(&}=v=!6I!daQ#f^SkkCaa|!uXj|~9-UST z(%r1-*sBgjdn-(uQ}efrm$9<fP~v>DBqE8XnHF<SU#^X=YEVWAokMzq1uYV1nPRYU zwrO2<nhPshH8CZp%(8-xQ$`9NZ&_2|FeP77lN)_|vTVSacLKIck^V|zwkrTD>Pvk{ zkwB)~5x3`sn>~n)i;O^hM?Chzk_WSoGkT3lG77T+*VL&M>?Fq#>Vu*iN(gVJ2^ejH zA!pXCK2UXbd?=>tBS)|vZGf#wWap-=?}$kkW1N?_l`@~D4K=^3(km6<Ntbq?@_!P# zt{I{>%ir!c6Y3`Kp_5U$HPu=Bl_WwGd>>K2{T8L>5#VMS+Tbx6jplyOD>7uj@mOf> zv7S-=fisNKAf715ku+3*L12tK-$uR;YC<EO#Y!?Xr6q>%wED%HFcj-&!M~gDP1LR~ zaXRms6%!$ZHfY(V3UMR`y_Ao%hdx`a;-e@)9f|N-QK0Z~(=Y=L+R~%mr<~D;0-g|{ zELGkh#)p(oZohRpP;|2%e{Kj@yx*c)D1)vAT7E_AE<5S3ReeCtq`O$P<Xb~mO8*>b zL9qOm8-HaHNM0D6Q_6;^03{y^j?ociz)${_Ky<d)#-2xB;Q2)?qYx=;f27Ww9qEvz z_(U6}DqSG=I{*(Ch2Ax@N!Tppdrhz0K7SqW*f4xsu@JYC<;|_Sj~1-*EqFD##WnmT zr|b`rSZh^#owEW~FvP{1ngzch8<U7{e;gSr+HIYSnI!y3$L$o$j;Y30ztb)+%h*Ea z>+fvE8Rh`UK%$M{%RwO7BH9!IFVh@4vHj+Ld>FV<A^mugIzfm{TAvfHQWQX4_+&bZ zD6x;M*#R(^PCQLAB12E0(IXx*j%73dS|yEZ%hmI{2@7A891+CYzo$x=!TupsTL!AW zm9y+{JX)&&KS9_!K^bR=`Bg#$)YH(ij;%V{`LNDCsYT;<AzIMEWRncB{u`4>!iX<^ zG}tpTctao7kFa+-sVkKuX%80Hs(`BB%zn35kU>4*?_t&@*rd7{A){^NIat~B9Lnxa ztQrj?=8R+S3Dp%VQ|urjwAVSOafZq^M?l<v;B#B?`3V>jes80)6Ffo7(fPh0^EqTO zse8#d{dFhyTI7+59LW3aO?@oN(w$<y9B3^x`1j4Ko`iiO<;@SRz<^uuZVoy^x4i!~ zj<;nf<i`UA%bEpZxBLCY4W(IWJc)C9s>mT@d%_x;H|3t>Ss>TheWw{ZG^OrTLPg9{ zB4h~rqY3UbE}!K08@?cd6f&F=JTXQpR)Npmc_BHw+3OOCzs?w%q%X@i-sW)L%%D>u zv}Ywie!tU>*Wr^5%@K>RlKDYm5;N7Eh5Z*(PO4ODm?enLk2+6mY$SCK?itroR0q`1 zA{zAJoTlTgUs@t!25Xp}4^FjiNY_ZSo5V(U;zt-z)@~MkpkSp3(g;!*>SB<19<lKL zs6bj#c#Bt9Q2nJW{jDab%TeUc`}s79?|fEU!ZVQsS)Dq8g(fM5PqXfRNiGq6KgT=A zGW6fi%oINGg;UU$m_IpPQvEV6J~f7DCwUMq>wjm&A+#S7-!5TKV8!HB239<-35`K| zvxW-RLTz{y%KYzMkH-lsCS*?2e{QuV-k`LCs`D}0umcmF<1@)KC^>t1!p$rO|2}=V zwMo|pTKtOc<Pt`Q!et#8#o^)ki&=ta=m{j7pM^x1hbZ==2OIyu&Yd2pevyg3*jLr> z(f?q@6=HNB`ij?OjWw%iuRPJ6|LM*%x2-u4lE*g~J+bv+P#zab&Saij_s#wa?3=ZF z_f+d14FPA-I(bfA{YVNUqSFXpNTk7CLqpHnCzDUl!_l(GiIq^{x<G7I&I^DPVIcEf zig43XiyBOqSkB;8g}^rHt0}b^$xrDTZRbsy`cOTLr>%wQK0w1cX8|#IKpRYaEM02y z6wf=Z(q>aTD`{ynBHBegRqoc3u1tsu_wBCK-7H=jqwBj+=&dI<OHMg@(pxYqiQsGm zB$e~;bnuS>oI0ybJW>L3!dc<O16Bb#aDCY9p!^gX)H7bVdLDGdP%R`7K8p8|$-s5% z+SUx4s=4^V@MjHY{Z}@?WUf8Y&1`!kcS{$EOkAcQ7H=v!Cmp$V)B@z&t^y#ApG-!3 zwsnYCjfVe_*YB7L&wV}t0v>zCxE}O5+7)drqclD<Mcf1!Ur)Y4$ffaPEQOIIsh;)* zKTc;w#V;pQ=zR(*m`3O;+!3ougYyX*Lrj$t2$2<qwzGYWYcc3er*kWK!jX$Z#KrcW zIoYq)j(adeZ7(?<&JrKaH*^q(6O=W&$FH<D4NT^XM&*;y@^|{&$+S;fl+KKSuv9Nr z4I8+2a$GiAPB2Mtwb;S&$V(pVSD=x{A#;Et&CM6`D~_)jJ31y&$3GKblCW*%f0oo= zBxPtZp%;b>g;PZd!Zbe9x=C_VUlkL=_~+)%oNx0N7=@@j4;a|$<?V?-$N)c$MN}Uh zubka0aqZWJUi79tG-HVtN=uL?dnF3Lku7}+m;#jT$hyU})Ybh)EyqP~?kg~NH!}Oy zV;BulX#V*gXmMJ`J48YU-e>L`6z;O@m2{G5f7one2LCjR{1IT2tZMnm#J<xF=j^KM zoI2oIB~eGxR2FDaX!PCr;%H!jmgHTeqK|p<iU%%S$;s6!Q-^;JbQdSicjjtf1N_Vi z;AJT>gQz^LjUQpwB8uBL^aX<hy6VT8hR+WF8h1<ACgU@M*|mv=zFZa$3zZ>|#H)mB z*z8mCuTZ~R%@qiPC=6gH-g5QTh$t4x=+}oi^R-x3$Wt}eh-*c9^IJc1h_9-A1`jQ$ zIQ@2&wwEE?qvwY;4HexFi6%^N69!&bL^&>(BFte7g0S!l9ZEeiHYt)P=KMzQj3d0c zzK2M{-_PguzWg}bh=}qIqoW|r|A)%Yau@hEyic7BI{yYfLvtgYNNPEP#}AVXe7@D& zXuVrG8K050-)*k=7H5x1^0OMV99l@)xy>y}M_z1;;%>|&B}faTrO`*%4Y6hho0)Tb zllb6`f`-77LiTSP6Rc^fVa}Zlq1nGOoR?$0w1n39keTk}N_KNkop-g60cTVrY^nJn zMSQ{~i;_3GL$svEIMp8++$kzKr$jL3_zQFyzpD~+poeyowUl+Pq>6%m+sLlMho_^H zm5At59o>BFp0tx8K1O7ObiwwH6w546s=(SY5f&y(j*#g<NTHxI7lkDh---zORV3Ma zFdE_E>~@2!>59eR22;PT{`I?wx@{<X^Q}Ekio{eDS@&1t1*s4DKi4xxi~{d!tI+~d zaMd)i#O&2p7ZM;(hH{!`@%T=P$F=jX7DLUKDEUWRc-NH!1nH=Klsh>hp;jdcEBn^^ z@h;uTMStRX?+#LwH9)P}vRL3C(irwewwE#PT$0IW;4?#KW8dcD{Tc(IcF@rYOvty2 z`4zHd!bM6Ls%qD>sk_gQQ&JS!S-n{zKAZZ&-O>ppJ#S8!Jv&!lwD0dAYR!YuP2RpU zoX=rhr<`kpJdSZIR*D9-Gw9wgh37*bF`!|*6KM~Xbh<SBW7Tm%*v{3fjc;_PHkMjG zG2b2%^Ggi9^*UzUU;NYAJ(8%10-vGgm!}bYJbv%2ut7rjIFIVRP51D3-IzxjI-j`f z3d~s>M8Jd0T^rUl;yuOx(%m)B@ZCUIyY0MKiVi?yjLwRqTvLuQrrjKoH<wvC-)}s@ zz8w$oSfFlK1@@Fptm%)ePk){8vgX=su)6+Z;=i??m<gi}lo5<?u`;WhW+4SV=CITX z?X>4*1wnpnuInkPP}KaiL0K$rg?sSX5KdXp>SZx+L%Xx?mEByV_f3+2xDbHRY<|ni z9LTy7i+<BbMWDohN;dwip<^uRNkFYaFjTiKTPFHwL{vZBi4W~JLzxObEy0}{E}zcQ zmav9Oj_ppBGcZA)e=jzt{|g|Iz@)dmJ|1wVotx-q@*8zy&~TLI?xX+xpq-c*`gbwX z#_pBSzMm{|uK1H2;z0`j5Zf!N)QUSyBm4zrPV5dj8vYhV+sv_97e}Uf7-ggKtLa)w z5pRgO5S)-6ryHsG(&Un;voR=xj#bjW+M5M6H+Tmgm;Hv92SH@q^DK%pHcw1uXu+KA z%XuL6Jfy~w=X>+F%3F3hj9-M#SAhseoc<Dvv^}3IQZ(3i!ox?i+&`FTQ7it6PML^c zRNygrm)~pR4l`hGhge8$@n=jaaFu98Cj6M^1d@ajqYsrrDlVY(ti0h$i23omVo?)s z{Pz<D97dJq1b6xu-33LuK1Z8Z%T~p7-!4xBR*sM;pez3LU&KpfE770B)?^YwEHA(V zXa;Q9WWJ(X2gpW~f~0tjT+;TOoBSzXJBxzJRV4aT8zdW6Ga(})P~;_5EKSBhCF+Ex zpjq=E=B6D&TWLQ$CL?$789da<8SK$G*3-4^wXf7`j84z{mX-iteXhA;m98b?`efZe zRas4qI*D{6y_-tGaDE%{*<mW3^v~Od!0((%%;+9L(Xax!tZ$31i%PY%bQA`2G73ZD zX5s<KVlkU?$2H0G`LfD133f3*Lrp$gs~|Zk``c|{;&fI`0c-b6FQ<|7CrXjo<L#-s z=r6y!<kIrfL3-j?(_>V8M9bA)3I6&gWdprd3#5v!FR$ZSuUD5P0PmB5zA&noy}$96 zM!QL)QazkoMqcMVUJ5tJ;&MJ9D9sU;A^`g&<L7xRMItI)VjZ5a(IMblt_xU+d8Okv zk9GJ;X+r^A%bJn=Nn^Wfv}hA;`@1nuTX<R9>G3#~y&2ZUfPZoJ|6~ozN{Csy7B>7S zJOxz!B>_({GZ|ORsTh5gt%!fRTKJp!R3f#{Ge00*Cv@E^8@brIxFomy8I17@S5Z?| zL-hQ|eQ@#NYG@plk7wWNEwa5q#!p;rk_qU;cbYVMh=>vQdee=I`NHA!^W+Lr8vChL z@=GJ)N_-6SlTPBwi%!7mb|a!Vy!N$ZT;t$29o$+jAZu#4tfUkSo+BbjjAtt!A7c8m zWT2|5uBv(Ls-dPv_k!iO%gfl|pZ)Ppc}Mv_hpyLqpMStN?7!IW&Z*D;rLB4U6HQC! zK=hB5_~B>MYs>r=;tg`)hW;1|G^n6`qu0~RxnhQzZod%yXK)KQnEiNNIrV;MRdn$9 z#Rp#b^Gl~G=N2+JbjGjstUMXv`LpGG<s%fn1GQ&*S@*q3d|<zZFE$tvzR%msMnu%5 z%w9&19}kgrh*z5}b;~4DE(R42t07NfE>o)F^r9l((uVd*-~XEeAc=(uf6>h(Tw7CV zQfWxM1dD`VjLXm$LXsXrij!7;HLgE}8{NbYi$a<bC&)J0;8z~dV4w=zVT9GqO$sdB zWk)q1Is-FuSKD+hqbbA<W#otHYlDjqch{Ow8s*7M2o)rGd*#^}o?b(GIl&}-iH(zc zJMV5Kz)buw<dhNzx{8Jl_`d$|V(jo=uK3Dw2s4-ohKza`qcyWiE_^qYHB#i|XD`Vu zoGi^Vf5_w(#_VB*E<^!CPQYEsx%-sAQywK*IX5R!|ECl}{2KyCeGSVIo+*9OfCA7| zvX?>vurM~#AOi4{R&WpiXv4>00ROizR|!C8AW)bZU?>hI!vR#~L1Nzj@7;@s^)?&* z7~S3i{4}Qw^g9--O_GoiDN%d4*}lqzM_c_llAu#h3FOC?Xbs;$==~ZNygLbUXO>3F zwB?-RVp(?!T6pX`WCujF(&-_62?p}x0zM9}{s5>ly3rsg<wK(XzZ?6KVET}qw3|&j z3md1ZtH&f^f^{r#v&YEKVGKNZP5Ab}Can|%Ye7(BWUT5UL)b#<u$6c|J$Dx@1r8`c z8EGR9`9}&$tF0G#0<Sbbvfr#j#-!js?ei?VfiE?nf9&ibPJn@bBM#O-kNgLC3a@#3 zI7&x9n288}^isCP6ddKu$Qn-nkuQQNNMD*YEO;(?-Y*#cZHNgL97phs+;P}^y<)%O zzT;}SedDpYY`-Epk$J+_@nEjBXKCIfarS8njr;s?l;#7c)2+L651+0DOSB|`%q$0M zvw4ApyJ7ktg`6)8o&p!P&M!r#4v#2OUiQ6faD7HJM{xAYs*-lx<#ArmraQ<y)-Y<x ztOFvNFyOgg-i73U=pSpj8b`>sDlERQs&a@})X%H}FpjfgXhZk`uuW29GJwahxuXE| z%<TTeK2v#(AigMob$Hm_*G9nw#f*_J*Ce4_ahT4aI74lY{-bIG_|K}P?5xtA<@|iE zXCo8)<B!B_B%7+ySp_3c)^(&rEwn0CP6b)9#Wuf^r@6~yEH-mG$6Q+6PS(~{a{SMx zeYBES=A=9iWSmzNz@iG5@_5<KP+{#22e-TEcvpPur322+RK9NGtovbHd096!A#~<O z12W1R!PTfG(+&s&mni3aPc_7mnHA@+roAG-Po+8WH^ip+QXj6$jd&kpw`O9&;Fs64 zxAPpL>7W%Yf}q58Y^`@7`{^okWK|~DH-1nSLFQNAO`R*k7mBl$s364fDl8>0BhG?R zAeJ*Wb0Z2r3Ti*$oiHq><?EECsBIs(>z#k^T~1vFP_eRW0ZA47P_|YMv<ZDgm~<Vo zF7iz{svoL6Sh!#F%YzuOc<qV%3)MY1fmb5e&5<<ICQ5)_|Ku`V^T+-rdp-EP^ZYPM zW)>CSp$wO7^1a&Ro}|ije#99qR7-79I0m-~v%<(z)0(Mqt#&SFMHg|y(XCQa<_4AF zvL)-U@i_)?cS?r!6k*Tbyx>ZUnMixs_yzOD>JP9I=XZ^0@q9BU_JN#|&yryIOqc*6 zb18ezJC|&0%Rb=t8C-e%oh(?Yi<${`77SD}E=z)M7n<>QcgX!1Yf)L%s0}Ki3-G83 zdjdM(L3tiwK>j1icN6`y^DlXxA{y^cs*FBdNloRNN-TlwCH^zs6XNlv6N*X05_{tW zWF)&ACa6o|iWvh_SA#d9nSVx1%VKX7M%gW0516=3nT+3l$ZPu}nFEk0-JHzJwf*&O zWnA2TJiDn%3BO9metC)d1eVKm<G-U&Y5<LP5t?D`i$!;w7M96!iK$|)-z`xo>cdLP ziA0A2xy>`5fU*AhxE_a?bC&`r05ne-Z7-M3)iSS{+NBZ2$s7`j!CNwb%Rsp8V(8m6 z=874UNxq6FKH7Qk`~h$zzH+OpZ49XM@8`Ycysl2}=VpY-$pYX2e*o_CdS90HzL=6e zOVPXn-$#ehY^!N9C4GgbsT+jjdKI=oYX>H`$TvIR7V2K-p)Q><RO0c-JO6PEvWj(> zo%JU-vHG%;{pD>A@e<MsOl<bM<zYEw4XbIiFz6D|#v~Vj;?iGAb{K&E+yF6QY!UXi zJ(_j~dx?hwW23~?=^sHbzHdn@|FO^$9C^0^i{GX&ihumK#Ku3Ge<y)R8L~QC-TSs2 zEu^ZUs=AGmeMX_~cTj762_#z%%+#{&uQWTt;+6|x+9Q;AA7*cSX%`#jcjlI4E`R|4 z$v%;3Kd;*+3xn_hF)(D3+M9jTQsdw0JmS*MY_>-zy5ysFOIsmC4Yz>o6T!UA8fK47 zT$lm^svSuUlqPRXKBZ;gPchq7h?d>M6ca@H%R?xO7|Pz_MAAcwn7b@Te+_dXWYiVB z&QKj^RNt}|9{rr8y2_Ker-%6S*Wc(qer4Z<iiQ2vQ<bZNWx^a9-2%wO*beFEi)v51 z%-5{mT1$}B#jUV9P1w`52k(z3Jot7Ij%)!n(1l_B0x=^o-@KU{;kN7~V>?>zhnFSI zWe^_EYYFQ3I^V;wsxOJB9<QAnU9~K@uu)%}!DANo9|yhv*|JqY@a%hEcJWL+bm0+3 zwGgIy6u5E2L?&l-b87w4Y`@9uQUS1M<VmOKswC-oWajH9HaFDC+d+;xD3{rN>98F# zeBhFaI&>}`IMVhcHX%d!sTWpB$T#wr8=~JRG!x=k&aiazOW-d%BR;Pyo@v|4=Vf&5 zsNO>}R@vkh0?kE6e!CUvJ6MV1I}i2lw701(#)~YC?IvD1@NK$-Vrkb>HldA386H<L zD0;s{3;UaWjyegjPe(rFs$sY-v}a5c<v$Z|gsjoBxw#!w_|D2gwtny4TQ#Ygc<C;^ z)4D;@cELgSZmEYHf?#k*BjRw^hQ?im%iI+1`Yhl~)WfrD7h&zjtB@_QejehBveYEV zcQH_%vx#V=eA~W4eEN)hTT3J-k4e5wx)`Xd_QxHJkN+*^$IsZRq}tearH+OCUHp%+ zj6}7sZlJEfVg|k(n(P;o%R7)t@H^q@=J$^L(m_(I|K?6FmdmKrs;|+&NpPS|V3$@t z_P3<bZl%E>9fqj`XDy$JocAwH`)S=`$Ey^Y`4Vd1FY`Jt%oP~^M8Ng<9k3-aZ`D=< zvZ(JbgyyW>@%8&v8q7fV9-yZ@q3AzUsm=X+;c~5HSpHo(#9X>=!iS9IHRr_H_#cMX z?gk{Z`Vk&IZe6$MSp}L@1YD`)T@mx+rbM#sDDe)E8UBd;qW`XKA=$$rADkA=@d-~U zK*m>&F@-kp9f^5VG&M<|T$UNHh9A%B@<HtL-uk`R1PJQ}C^cXeMVX^`)qc}{a`CVQ z!dkz9k@wXxf+i^7YY?W+vRU^JL+=z?I!uCv1{!7tgO0w(|G0MwudgDC+wILY?7sO+ z5Jfr4stYe;T$*9+<`PfKghgBVP|IgzmIg)|{6eq(R4khe{uuERQ*X0C-a-S?ak-Ck zmJHLsdAVgP2aLvp<z2jg29@tL02n-l26p@<GIXi!<<;**k!#3#Y}1w?i}dR!tV>A5 z!(m*FU(YC<&I`Q+D6-M#A@gyg3u5~eq|R8F3L?`PL|knxx$=soq(03#&mZE+ly*Qn zb8&HT8U#D%f^K$jq`=vTp?dmemN_l!obhTSR*oSAk&d|vIA@CR7XJHohwGQhF9SUR z^FMmtOa;m#w12|Z&+^61>ysJe%vCu+`4GIdUh4`r=QG9VhU^`a^#x&IVDMVPGrD9` zeSJ-b>fqz=suzX(trexF_OS^L_wg{_?Cvl(Q-aYzBW2%i-<*V!Cs>nn+oTXzyoB;% zH(Ua`)e%2tP*@}NPppW3$8s9+ZKc)`<NJXs9N<)F{PwJCHuSAs+&dSphIS`{)8*Fh zY0aX^B{;!f&kQ!aw*5S?cjoD^u8x4*pau8Qr;B2#1ee)ZTL3|^Zr}G8OZ%+!2VGf& zTPhcVkrqm-TDfHG-OtsMrJ2q2F$x+5c0mdjS7Z6?@w;$hy>Nx6pV6=4DxbqdwZ(F$ zAorr*<{%KrDh4kElIjXyP%)T<GzdW400yAjjg}9>p9(CY!Ju@}b=E$gy<VD$jeS)) z6?Z<K%Wa-v=>TfTJYr?d2d#D+<6V6jjhw#%O`qxlQ))4~6&y+jyU1I~zwdr9bzQP1 zuwiDzLk$iwIf`8olezz)&}_lc_zZ*F$AUvcjoh0y4`mtcXK!#nyA*=+6Q&V`b3u{s zD?Tyzgb5F9pD7qhNL2>S%_2s{4=~XLdp&bxkeF;l$%t&s0+i`B2!s`_+IRcB14pTe z7(7Mz5kH~^cQfcGn8IY`oy<8J?G@c_+7EJ^+<F|z-zlxWS7^O?K$fd9Dy??@cyJZ} zr+~5U6rp*F{KDNEAF}vjt|}JQTGWDAIjG5V!(Zj4)6XjK6~_qfrIY8Z*7_l}QY0pn z2|%$owV;Uax)IuG<ZX0}yy!pA-oq8SGgp*3ip$miw*-P3Y%COWcD!sjY9~*=+~{Cn zG2uSuxW+-fIyU<BttMH4>h&I6SN!|kL3U$1nQY(4_)OspWj4L$^R`_uxZ2Rih{CUH zlvO~6GhM+CRWCb`xD?;~vZrb2T`D8sr3LKQF8b@MdA#jiR@m2kCApCy!vZ=g*h5^- z)bnPmjozC#dJ7>J<Rc>&Wi3MtI()hfUmkQO+quxjo>FkI&FvfHL{Nn@xSGI?5X4>^ zI7zg~IPMb0`&^I-f^m@4Qrr)%%SWnv#LiY7<(yIK0W!Oo?1%8zfo}7k$j1{A#_W8W ziTYMYOCZs#4wP+rJ+UaS);Ykdlvyn`pLu}Jt<{XoYwrni*%#6>2PB=<&F!;<{Tg3j zELQeO+&f;`Z8f}RV!_?!rF&5NT&V^V@JcScy7u-~B=9v+`g9%9J0S9>L@1W<xZ1hZ zhikRi7=E6Hy7w+vi%#<x27br<`#U=&^?=gCEvIoigq7`C<J6rJvW;cQ*dD7-8D7O7 zipl(BP3)Udf@9MaRq%JOIo(*JY)eR@vB~acz-pJiCQ+}L$=CG$(<XIlhKpipZ?ogh zfCh@a;lFIS<g%mD^AI@PNrYz$*T>r%!O>|*i$@_x{ickuDeq^r0k%&7DUUi@d{TFL z8~Yg{h;fE&^o9leJ;N8qFamyMlFfscYs}(Ty+$qJFq=1-I&S%PN$D+ir`iq#{os}( zSIF|uRe}ASwD&%K;W5?%<6BcO0oIsQCwNIaP8KL~uV2!+X8Q{smixLNiJ=>JyP+mP zrLf@aRN&wV$$Y*a?3Bof>blq#G0nOSa0GE@D`E$K%};wX2}zjv6EOPsWS_#pe8;|t zZ_@p*Q{I$)<93Q-^8>?Iw_{Iv#W#jmqT|s83A#d}BEg@*@#+(3hu#nEp9+*1@j&9z z%D9#4-FJ*};BWn_cG=w!y@jJThf6M>8_W&);en8c0V#?-D|G{`iqXGHj60Zjjzi0U z9R;@*t)`;dj*^O6w~gpVFRyo=>y^HF2xAy_h1uDxhco*Hq5p9f65l(PjW-Ah3W7VC z!@H*Ny(z13a`)gqh4;te_-y;luP0^6|3?4*SL{IAih0P$oAegsvDK&@SGVh}r=k9S zgrb{(N~2itg~87q^&R!sId=|u`9g7U4`Zn($tEGZL4<qc$8I;6dElR`dU|?qZquZ5 z1|ZhsJ_I}M{1OxImn8KU+X5Y}H?gOb4L{2S(sb`ri|55sKjZzfr+glr#9o@;C}-9a z5)P*|hR_;4kn<w(!|A-ec6vWd$o)NAvqPFnxrHWqdrG1(-Lgd^#gZCo)qkPbTA2@f zhk3XA9)i|a@XK%H@Vuxf)^Xxi#IO#DVKsZK(EjEY@CFv0>2&Rk!T~b)=>!+%cT4+# z<QGS(gSZL(!ZT$YAc0G|**_CPsk{`6?Z={7@fm@*<~&QQf!DozehF7X0eG<KA0GHU zCUdlT6dPipD{O<v;j1{q^9gbr>R`fS5|J9<G-ntvM{5ZMj8Jd=O6!W>xIvy@pVB#} zvZajZ3!9)0FwlM@s>2l!$rPm?+x%|D^IzSiaZypKd^?HL_^Q8!q|{CDWD5gO|4DpI z@AbljMq;93*BTT$M#~_n@Bj>#Ab&SP{7uO>7IPjFKy2*9a+QPH9;~|arvfX9(GuD; zL>Dp%={k7+M(7ca?;0pO^T*MII{r2_EY(0!lCO5N*$WiOd@kOgyQT6l>XLR4fi6*f z+esL1x^u!h)e*UwaHhc1*wP5g#D5+*A!P4z$R>7ejHa=;nhn)(J96h1pvgR_WShJi zdG^U#q4xC$N&150hEs@imLf7)EmS@=;Kc09A?CEkdD?U1ka}C0oPq1AfRMOkhQ+17 z3>+xR&$zPsSrNkE0T4@<Fw%%X=5iAK=wDW>fB2>F)j{5$`dQ7nlr^3+!Ky63)I6$g zjcniZv7sKWMtNkA$^SK9Q%`3sRP)PkvicZrxIJCPm{R1;&S#`}hEQYnk71YTVeCfJ zrkZTx6tw}b)SdxRu1J(hMqyPJbz%#dS10C}7yBnQzni8<1rdMwZu{PsiJF*m`iP7r zrB<H$R!2S<pJ1PLE*bW&UCKiC&AEO)II?Ql4PE(fYMXkpbb~QW6Q=}+hDwKCsFcVM zOsrR)egX!geb?z37g5O}9<X5-sn*NfHsqX-S*V7fPq=%&YgU(UCSaI{Efd`gb^3kt zKwRjwIwU3Qb-YPV;dksFvsY<$vdemIXlOWVXy6tS3RZD-oCSzT2T`6!9QtwYw|@ey zG=XaaoR;O3Nl^sIe)(3>xfhUBNF#L8`OoF7uOn2iA~%dWAk=Z+y}t{cdkPQ>BykmB zzsWJ^>}a#5BtfuV)J{ATgT?m%K6qyvs;~$E^cfQ8EKJWn6bxVdp<*(Qj@<nr_AjSi zjlSCkT|TNAFswPhTZMBh(qr|8@7L~QU)YL7$_+nuIbrgzpzt~d)1iES-TrX;iV3sR zq_m)CJ0mjq8xnkN)6UsHlkdRuThTP;vqw1V=ab?16H{&JD`B?k-9=!uqd##n?Mh`m zm?P@9nL6}$*fAV91Rhdf>*QP&Fi(rXTArh318#PSgbFwzT4UDi9R0oW9<rU7rDGzk zi4)qSUM|6IdE1;p#y^2T@TIHrklebC^33E0x!Eh8HdO)^2=(lqo*3;FN|LPwF)3`n z(NW}DRLmodK{6lw14Q0V9SN}DFR1*ePL-GB2iiKB!u~D<gH7y62I(2)Y3kFO-!M3y zSz2sfN|-YlACPj7v?)z}$|aT?uSTkw3j--<i>r|5diCeCQxcm2{eS%p-5Wai*OS=$ z3p8D&Ip8{ljTTiLAMNV8nnJnkOGanajCe%6#v;P@8Owd>c#*HnG-vy18^cKOyABE% z9wrIvr!~yQj89e|PumDD$*JlrMCQ5pi5p|VvdEYaYZitJk{mrupR(qZUsSQQU&}?$ zQmVy@!E1l69xDy(aZk{6q?zQgnT8B-ww0go@FD4&1}X1MRemBXr2FI^YnpKS$5kC_ zEr?t5uLcD4H>-pG6SEDm%B~PLx6&NAv4Z;2JouBXjD99WJ)%KbZbb45HpvLPQ5w75 z-|im9<$V)P6lNT6tmnnWv=8MB96i+w$lZAKbS52J{TvpXv>1B4K-@C9_;kzuoG8R= zfIwOtEV~A&JzxzhS^B;TpdjV>I!culNrJ#8Ih7P&dtKq3%`Npd`pEHnI2xMQfluR3 z%9(Z~Pov$xu;d@0Zz|z8Ia)2dQVjqVhpo?R6IP>bnNs3V-)RW`58cF;lJ9cRdYD#I zvY2UijPzi!&T)8+=Ox~SgSo2apU58|?iZ+ujz_H%4elm1wtUh8U(;pIdy%hsR4H;F zBr{e(Ma|HVtX5_Fy)r;Uk2WHiJlnIoI}mZ{XhX=2eXQ@LLWIuz8zZS<uEo({@0fl+ zjMVP84TIV`KYc=s+44Cw$E_I98Q?X=k}Ke55BGHbH171>{kuY1JdH@L+}Gcdrxz8o zM`S3r=_R1VH!P*c?k4d*-RGF`yx@s~p`K{7)?1SPYNTTwYEQMsQAfh9t>fHYmcAQZ z?#VsBk9+E)hW3ZJy1qctv19uRBRBe=kZ3))uf4r#c(Qf5F<LCuRb63@`M3Q91!p&K zywAHl8!3L(X*~bfo2}$kVWIy<+FJ+36?E-`BoH78lHd|ZfIx89;2zxF-3J(CaCdhb z+}&+(f_rcqoPl721ql8l@4H*O-`4I{ZS7w(-F@0__j#(%xqY6SN6)(8X+(BuKM@Vw z9U?wK;G#uK+?#9-4!K=AKEE^r5I9ouRb)Ho>J~!exF^s0%po_W)S>BMifoHtDWRmB zI&(-4hh|sQgya=Tdwb2o(QXqH*aNHB-t*sP9+$I?bv#~PK-A<qJx-u!&Oe0hT8>xo zlUWZSu76ZvW6tNNyeKMn=Ue##|7PqP1d)20r?$|VETP&r%cqGwErOgf`J7xg?oATB z2}%bqk~h2EDs}2VTjNa8CvNs0qIwZ`Q1~;<I{z00kdE%c(wmG;D87gzb2gKYxu584 zA0#&nf3W8Rwl@AE(BrLFomIBYVr_Z-wu5T29UcAg#Xcm`75q!&o4tz80cdIeOp~3# zP|p}&?Iey%fNkaTaiV2l+KnPa4(MRE>D<v#O*)|`VdbUHTYSRTGtR(7Z)!dU{c1ZE zEO90wgG$54hQWAX5e;$F*P(tx_s98kmS532#WN2(v%I*+Kkkon=ep1bJ9nDe3_B(4 zqrq$`1;OGCstQc5>>E7#eW;}ro{tb%+9_v$@nK>DgEmuBx}rgu8*J|`zZ|((Cr5Ty znm%rqxHl;C*XY@6n5J3>0FW&2oTJZ1+0|M2Og4(Migk}HGfud)X#&?KJ@EG+tWTMk zVHd>9V7)pjg2)|3p!qlg(u2f<m47v@$M<ZrXT9vXi3yR<-G<t>a$@S^yd%NhV}+1t zF3CLE`xHap)*MG6{hGGe%KNLfNH-KBo9b`x-lSWRj6NZQR=-5Fzq+_cYbSOTmPYfW z$P+kHlvt>WaUeCL+S?nf{lO=lNjiv&hk+M*ElMuu*ssK=B|$h2z4$3&o-#f`8nQ_q zw<pkwZ%~_K?CYfSW$xoXF1>(9PeBhbw)<zKK?~b4edQxAUXbM&U2VIAL9nsb)H~KJ zsl<8kp~No-u&txEQ_j#=Z`<uqfnB>QI=zVS+?fq%>8BoYUW7#JiRe(b@Rp<UbbcP= zE^Mbu?=E((Y|h2k*SQfBDlIE@1riH6c*QgHt=1Tz*AZ(aeB;q2e*DU$j&xMQoHFI< zV+loud(8tZ;riKg)$~TJZ|}dhN5}h~{xEdRm~=<c#8X1xW`sf~$LQf?`%umHk#O{z zz2PB>D7W@n498jAQT9DN@UV$k9%}3LJvKTATo~uZfi(0qH)KfKS@nHJJAHk1cC|BA zz2yj94y%)(m{r8dxpu1~Jm`|_8dwg21qYAYrmw!mP0z~Uxp8StTSh;5asp7HQnR{E zJd!;;c|q#t=x=^cM9KgfzN!(VS>suC!omZ=GSvuT1&X#+u;{bQN>T>)i^(@QISbI* z`vZYu`}a^=4ilZa!8%Zz@V$&zkV<nY-Y?6h-&19KT_d_DmLB0SJyz4tTC@Whn>KKy zDhT#&rl%x_<#?8#o(ZS3D%!HUWS!u=?B3Fi$1&+qiGsUBlD#8NNR(okmAaeyxJ^x` zx~{(#xHe}T%1tfmDw&xB`Ih*Boq?{O7c1Ya-f8_+inw7O<2q4g^;OizAjklRPo(l* z55-G7%qEwr-P_8<mu1!IcjBoC7x~x&Rejc<*fc~mxPD~8EQS993A&3Yc(<<0H*AIK zoO!d^rWwOE9G>hF_V%W+R@VB*Cz$9ZoFc;wtJt}C*FA_4Fx+;aALso>*=;7gRR@(W z92xgGK$=_#UZ20+kQaJ4V3#Z!-FKK-j_r`0*EM*Jt_&}jQmr3u)L)9Q?=^Q?Ai2%; z0Q02XRt*fpvG_>dPPNHyn<c%GbINv)CfPH@{;R(Gl{i|qqNEYmwBbwakC#*94%DrO zF}>W~slZ)pd$5QGFWcnJ&!HAQ<mszOx}`MM61xD3{*u=!YgVqeJ_~ZIi7V#r0khmr zrzU+Nd-^xjF*@U9gimFEGIXeVXLvRLipK;UR~%=W`<Z<tK;0t2iiTefLYNv*JID4J zdRJ~I7I8baGW@C3D%bJ2#c(2o_KNRHKuwO0GA<1o1|{%cDh6j5A4%Rl8ctQ`w5ViE zO=JyEWMSem-3XIoW^UrPhGF*>j6)xOl1HV;P7xh?+J2c;8JMW?pDDZ7r5!t?n>u}c zRh6y0VemoBUE6C4I-L_jyzp>T7yoMn34)9jryVPCI-mOB#E_BtDgo)!+hquXcOe^Y z7Fgyf+|7hni8_FpYo0Ra3Q4B5g{N%f`{9(!l00RT<%`|T20EBY?nDrT`h;n>LMWCW zek1BGjEfHh4{+^2foxCwJy<QmLbDMm0EUzHvhw)1pW_1Su!G47oK$RvXLHc@h1b7g zp9X6lu%~JFq};(zqz@$-=drBjbv1v-@q7ahyxEHhkQ_IaSocunFE3Uc=kTAHfM%tC zSL%bJqhpux7PdUPU&}h4hu=2+Jk6?Q{%64A%s~C?4*!rHM1AN4bX9HfMp8S`;Y7R% z)JD}z*U3|)XHSB>I8EOTh=``^{J&&8o1e;yfWx-AW4af+d*cEI8;NjNQB$-zTvb>i zL~J6|dyA3giZj$-cvffumTO8514a2RuW%iCsjI_szx==?MG}AG_)3Y%qjaonDBzik zscu&N2wBSf!Mo?Hcj71D?cH6D)oTRxK;TOtqag=1*C_h`zeEeeDF6DE#o&8{+S;5X zUi3C;7|^LT9^m(kdJT15a%z9dL_jzafh4K|QlI_8h&O)Y>TyUY0uY2CiTd!$mD6{j zA>oI?DJ=0stl}14ZlfEi?R8(#VaT;CNxY6Q##{`<l5@elD;E_&_V2<evHb0BCJ_6| zT~855%c-TEcRRw1DE5CuT|jg#u4l`;&eK}A4frO{T~LF9sycNI@umT4F2CqpXn2;> zeyf#3wxKTkPT*-1kbL|uRJ8Wc@Jy&<lXU0<#YpcaU>2=|oB&N?&JYTT3*C9xHb~)( zY}w##h1$s{5%&lv!uwO&?FrFIKhS~lz+u`U5dv~Jqu33CAI3<i(FO@RHr$mL-ZPjm z(11cJAY*l`SI5z7qk1iE{Bp^>Zl@>SD9>&=-`10r7~R$H$x%kp4Kb-f7o%1D6UT`Y zHjjI8oT}7=%&<>ZbU{XRRu=tVBCLjwb>Yd0s)Z0}$W5JUYB{83#d|}*4~V$*YBZ}K zSOen3#$Tc48glb&(<V9Zgg!t+Ugc*Fr;-ZBLzI%*uM!V_{@fGtQYYO2IMu1WG_wNG zXRsH<wTtfBhlKwmwttz|g(BQES%>SpE$t1|i!7j5)(N7M@?NRaGDMMe@5Z19^svj9 z?0#kJ1ff$Hm^pSX0}58(mru#a$JTR(zT?I0h>m{QNrsO9=Au_~>I{)V6#D~&Zaeq> z@sPk~3f8X~!C^^m0(owbC%f|tFPk&os3)J?PyQtwMX9c31PQCUA1jximbq<6Kwi;f zz~uEIC>di6qlksO8GF#8&%?~p)SrOSV^s};!@BTVYoOFn6J;B;vbt`Wz~_jE`=xJ0 zYEXHSPS~MLY?x&@Gf6eCr&><voD9?A-wONRK+I!pc&Eqk#5rfG&Mc;e!1QI(+RLUG z$b-@-!$+~dT?CZ^6PfsZ+?-FsiJIm)^<GU1PTopEu0k@Jiqc2*_MPh#9+>Hfz`z|e zN<Y|ts-=t71W=|<cmgmkH#sPYp>_PAw46G?ljNNh<VxyCjH@K%w)pY*P{o=>#y~5e z;`J+A1em-R<Z|1JQ%@)1=FtQ0(d#^&lh`attyXxY2xz{LS`CzkEv$Ufs*0UGOXWtm z_5*(FfPQ0pv#OAn=f$OmdzYy_#w~yRhUu{H6HMR++VQ7c!m>dS3pV-v2LodH>$Ook zb6SwooWpAP6vM09k4e12U0Qkh<em2k4?|P?uAJ3>c+Y8S5SjykC5n*qEN+A|1(<7! z+YTl<P|z+(Ce^*@k!Ln(FpNE_OF#zW-Eq8N5D-!5=anu%0lO;hT@LpuWuGd2A4J8B zt4QObDC=yM^Ee^o6DXcOmz)MHIRbc5?H?W4V_9+nHKwa!6$~WGAt=we&_EHDqAa)i z&&bISF~Eu&Mli+*K)DS17Y_1!9-A7IyE=Tzqy?=VgfX`4n;UHbM>yy3;FqJLJ9#E0 z5MXjs@X*El^qYz+$EJE3a)zPAlSCGm)OWFJQ#9LL9DPnqXM1PBWpUbMohZrHS5M#g zlRSAhG^Q;WZ<>Fp7C^Pk9w^SCAiCg~gehVwa{X+{#zbJr8D4Udzj75)sgYk}Mhwsb zazObpI*!NRc*h%egi*Qt1tFazC9L0jGTuO&tP@E9JYz7%;dz)3X?c7#abU?_tGkB- zGrKro2T}Ki>9(G4^K!4%U}6(x(ap?Lj1hLM75%N<Y;3D9^cFwNiCyNpJ#X}cF(o@( z@b^pnIKtb8T8;4_gQWI^>*36Lw!rVBSt@&x+#UC2Y1o}my7cc~N~Uo}qNiZF_9?78 zAyd53gR0yTT(|Tfj)-sIq>xuUaLPk2j3i<N<)5`1^eqbJf>-*5ck-|p19!(b`;GbE zz@bS!0Bq+Ik53V8%U0o=v8v~mE&W)<7Bg{bE`+ZeLHgY~fK%u45rG2+=H%7R&i+#- zsmLD(+AcIgSM@z<rDsZA9Lc<&%B}v~&t}e8%fh<Mp~h3_2sE3-o;TNbz)wSt50B@0 zDao^YOP@wZY3RK~Ak0#&LO}J^Pa-_Ks+0ZEqA_xEj9<s!=!|v}hhpK6W_<-ET?o2$ z3g*~NvROAU)ktpLKl)rhKKU^6d3$hOwp{^_EWVtu8@yn;<Na5Y5Cd>yUaR5;lN(kf zI7-V9lVJ9F`+5qdzqx_tV-gxpgccr^+GCGW@Nm~?+K+chk^&C<ZtA5#u%-=}P>%HS zRsuM!3J|;b4)(cM9M?7k-?(DnZRmo7erf<ZS|nu)pdLkM{XWb}fjl6poGFcxbf@d( z<@RQleSO^%IOq-5v>^Re<2OEQZTRLMp0@>*Gpe5BSLyYe2j;u(=x%L`@pPXBj4{H* zR<n;+$JjP58ziIN*b_Gzqw&N}#FzO3Ba2E;+Xau-z9bW;7EI~(wNSA+!dS1?Aua}x zQy@MeQ&Bf3{h?V`-LTl2UvDwZzwvK-DKvGd1ANpsnf{5tk+^4QsfE&WeH0&n)xyjn z&*~79y0i};A7kc@{-w15<Pq;aAD0|y0bZ)-8+$8o5an=itbFDt@=bp!4==5lIKHi# zrso=y6Vr?SmqTr>`5)Pk|0a~#j!3UmV=b~R{?iz07hN2TD!<g|KdFp`QT|*-dbp0B zU`N~JhnF_0j=Ug`lFEJCW!$>km<nQNJIy*hKy0P2l{sa~a%232^Nef4^`XCgaW0RK zacvZcjbFy_{-F?B+VmtDbpUeR-Lw_t9ZJ)3&CKIW@qD(ujpt~9owh5*y#MGD`*M(2 zo62T)fMS5T3>Rt8q+{x!b_}4EWSC7~g_9VTJspE&gRf&vqxiE|FpTPuN|5G85ocA% zgK?1ZFtZ7a)>H!(T?5{(c(q6c`Uq(^jb^1Z6U5jDgtZMTjCwyfK}ra?`&dBWvCbh9 zteUCbg85FzgKqj$X^S0EJ^8!!QgtpFxohhy?TgK2w`Vh+%q<~P(96Y-s6RBHT#9TG z3kCH%MXj?xS8XT!$oC74*erXY2{`YsQ0r7m*_<p43Y=ko?pTv_1ewsJoldUz=xtS` z;vG8G;Krm-&C7?Enq;JUsa?r-^TylhShtt}uMZNm9?-7bpZ7HofuqH<#gKGN4n z;y8OJ^KM$um|(TOO4wT5J!8_3ZhwV|5lcN(=Lw+ZN;yJtV#af{wl*nyN;~7QF?fvo z@mKpwh5Rsg&j~(jelb=BIuXV3V(nYo1BNOAOLw>2wgrF$$Q$7VKpx?{g~2s%HpUVX z0lx~K_(pqAciEi#)_g+zKb|#(mwAxZgrq>m68v*i5GqJ5!TZwEjZ=j%Fj1=Y(N8~% z3MGE8(&@+{gzk!Re!q&BzSV|4MRMd_2S)Hzcv%(@S$>XYVhnw#GAo0?sA_E+1l9R# z4!=(E<R+?|A#7p9;|;SrRYcOs%ZFVlH=w+~yZqq3IT+DJ6^#^Wy7o%7vr>b$?y>G( z6A8yN=VPbl^;CKUujK6szqKym!vc)+kLET;?s&nUft3r`9mDVB+OK{n6q9ZDlB1qi znu#@0Z#V3ARKrSDGE#YY7gu5z4pVreML80#00xk{y6RM&+u_NNH8n9*z$+jo)@P-Y z%HK9K!xc4El_IX^nTD06f!wr|j*elcH**55WA>+xqJ(-k4u0>upaREfee5YnKLh*f zOM)?d{oUxfl!n-uxMVxb=C6g#x22D&%pj{8@LyIFM_Zb)q;*S%keYZ5S6n?!jLwCp z{0<-P?73wLH;Yk1(2tx3rsmH#Ljz#V;Ugh&jXxH)V|~2he~^zC9#ap416wz=Zh9}- zpCE$?LT=1}fr~cMyR%xCnyd>0{Esfmmq1bbhY=E^8e(f-h$tJ`(I_|F@$8StmhIn} z%m<1$9O)=}%dwIVQOg^@KC>Oye!jVk=^9(O4P9@=OBEA96aHYET4^^{VjaEz^<mLV zfEkYIaDUO&M!d))Ya%7Y^fwyx_sDFZUTUk|F7w?-7rfCmU0So!M;ILJSY&+uTT7UY zZmd>eA+Rs;XXVc<22({_A&0g4d{HsSz9wRf+XZ6eJx9N|l!d(C)s6Hj#GM^3MbY9D zUdZ?^ud$n9ZYdknr@ehK#!Go9h*ySgkB_uDsXYe2bX;(pPRgAMoR2WBRLJrtw@Nx( z6(FI!m^$m>-;Eh>37f$x#Ok8*uXSArLDafc+dzWA&lqHSjP>M!vz^;Tj|~Y;kvxK5 z7PVxQA1rwt4Z3&P&rzb?TPKZ(WTbgXsE)UEmdUid$Vzjtl-_H?8K;XCG7s12o=%dJ z*kwO|Add)i^LFo9tkM69j_5&nj)xxiIc<G)PCu1ZQ2TB@f3BrOYz`}>UFJawa!W%l z)(?CR@hyUeZ|jrgKNF3SK!DiOzOnx|DEmJk_g~^ScDsx1YXnpTX4!{lOHl8CF#T7_ zB;^9=DEb_A3lNcGv<fN|{ld4R_}{FX&R1va5NKi+5V89VnoV4)1b`u1C+R@^iD2r0 zTnR|>|A#E|x|iF+a=|aRg>!~-jM+7Z?3&*fNdPm9AQGE2?`Fc&<KCBXvL!IiQPYl9 zn+Jb%B^!eiQRTrR0SSKw8SSGO!#=(Zz@2$HX*1ouzvJJxmDx9!Gj6)N@0r}2eB*Tq z+X6Lz#Ii4isscoQbmRetnxVI$w3=~TO>t#^P*M(;>{q%>Fhrj&7no~+As<Dam{j3Q zDec&_T5-7aPp_FK(Ny5>n6kDV$@N)e&+b*<>2_;#6TVBJN_qW95Yf~#?Intnu4SH| zUl(Gx(%ySHx}<Qw!6x!!y8!q+gG2f%Qr|zJ{FB+w722ULEG2+<^iFR@j1XjT&4rKJ zY~|ww{K$?f#UM~JqO$`2{g8GJxWm)hX8<s1CrRC3JG5$|5apU=5&4lHsR$5FFi&4D z&)iC6w_iX$S>D+>x4wE|0sg$RRr{NxEs{-pAhV5BNO$>XRIE@60&Nqp2Eh_xX*39k zP`ey0w~2gqp!u!GB<@5Lz}x;-ub1P7ePE;mLE%;A9U8*$9LG<kmwB0f9M!}08E~)l zQ|S2%iIYrV(EB6UlHu-E{#uR}Gf;eD>1$gXu7R7a);OIJgxIJ|zI)vO;5`%?Y+F1x zpz3a1YaGl$;J93kKQN_IzC5Zwixt0T2%&sG+10Sr5s%HyU^Q@58T9GDUGdMufYE<} zdW>ueTi7Eh^w`H^TjllK7@$6u#Y6wI19PQI5e_hw9u9xCy1j<>A3|O^^4(q@kk9g- z<db0Kg)`MzeZ#hpyTKdLF*00?hB#o~m7MI-vutKYzDZD=SV}*IcBSj$FTIG^XpWd8 zT$OgmKzlp92F>afC>npN4EkD$jrKc8-ryFuh5D2uw`(|X2k5;9L+?N?p=xTs-tI^# zQ2U!1pz(N9gs3|TqsGmRi0#W)$M{@9`nq|gTwbh_d^ovH2}CVZ{i^(v8o-1N6;C}M z0d4-E7W%~^IH}zbsmFWc>!{o`)vn-&7Xy0WJ@=@3W}2apsIiXK9;Gqfk-&vh`L^m! zj`S>5y}3Zcj}Gp<6wfNtF;;f(p$dP8q{|Zog8`|BjnH2BlwPz7oZ&CirK4u!3?JP8 zspK8E7O4OMfMI3-)jWeVU47P=9=@*AYAtlkXsEfc;;?F*e{C^0g8{^gWBZ&2WNWT| zWcXVPO@Gk`tchFkg3RX$piDk=BjOf|+laFxF>;pAyT~g!$!gDkt@U7a*q!v#o>#c; zIEoQEm$Q&j^PiQ9KPlxJtfs@nZvNk9`KD%5gY9A?fn0tL2O*kXeK@2M;&cjG@uo5Y zdum>3OFM?WDAiqyv`;`!{m4gu4lbNKK_pEKJd=CIki-;5uf91{fweT?BD_yf>`^14 zc>i<07j}Y>0A(yIZw4@D3;GUklGkp){g>Gf7HGc+imT0iFd@yV;~V{5m2WWIWpPm~ z^>qWdv{!>}CS#0UR3s1)>oURY@$d0=o@OJmo$HlUbAvE}yf2C-fT{H;n=W_2Lp#2z zN-w|=61pney0;F*s)dr4I<19R)3=Z~<**e)1Apzbp|sRq{&I?gD`F*RCVbNalxQkP zMn@f}L57l6Y2+=DdkH&O()EyPb=ni$kVfr#@fTXDL5R8E_-?Qs!a2BHm-h`ka*PL8 z5xhYI9_?bUTc5>s#B6-|W=0ue;!g$>5B>3)uiqnl8sy<({25K?Ml}Pngvs{>8it04 z`-3W~v47v61$~VZREB$SchGZj(Tsf32C&5IxvC|#N8aC{cLyED0T&}dZr-{{yts<K zV+cb1JU6?r20s@3?H$ZrGNzwB-t1&#Uxgpzfm5pTo2yOtuU!PnNej#f_o18YoLAeC zCqOdBu30`qLLK<)gH^BW1sr^sJj&cp4aD+ovfnSSo5)z=>Af<l(s@UKmpio-orJWA zHt@W$qFxTrom5YOx{&=U{}PXZS2L2m5?(9~7ZVCZJR)`~<&2hvLFzl+bp`i7*rgx; zfw#xnT{_l@%ax|z_liX|Yl;J(`KLAn5nF4rh8E#-y~AWyAInZx&I@A~wgN9NvqK4| zz$pJTh`J0K6sM_~M6dgn0rUrrucMw2YLDC%kt;E-MZ|LENOp0Wq6m3QR+pRXIejY* z78xZ`A^a8Cho|c`6iLHJPs>I26}cAr%3k00&IZQVijL5Ceg?Y<SNd1y%P5I+uul$n z^f9oL_ui2PZHN1*YoCk=D@NVrJ5RHvHLoQ-OHluerbn;X4@t>m9n`vk>Yw5ab;TxS z48}5*fxK8;*QmW;6NJAq(t{Wu-elkW8CObNkT01$6<wM9W5?8exyR4ujgWg#VU<#W z40~}b<&F?P<Z8vBAdkK<xd|m&WO^#H$s7w<*taPGUaV+oKeD9iiKNy4I7KN7EZB<Z z{x`u~=!?0Wgts$K67QrvgAHR;hM@bd?AbGRS(dru*hN@Y+NEBRr*g_5_{n7Mc)LdX z(<O;BwQSTZ@5y4tEI5wdeI;rr#^7Da&M){YtAUVOYIU8g@z)z}oXlJ0p2Xwg#AhYS zy^yx&qivN@#|MLxeX>q+;21^U#25@T|0|POtOPGCV`*T#vXq~pX<=j6lqx;H^E&0_ z;jiy!<WiWP0!-j<@CFO_A^?;w5quxl#YXu@O&OHSqLy2sMitPVFlDjJASU@MTveOo z_K1?-@6EK@7f6%<2#aYh_hU*@(L#_&E%<n;EUlWw9uw$Dg$X$f!=nmS8=LNPvyF+| z^eLn5i@&U5ylu9L&Y-wsVol;-1>!Qvvbh4KH=`5C(K+5tDivQCBHk`Y{1boi1N}9J z@Mo}kr95a;3m6qXyv?Jtml*pLo_H|-s>`62`isoEeKNR@e}rBYUWXE<)}oBPeP9+f zCZ|gG-^!hyBS4Yw-%Zt}wUT}P3LA3k;`Fn1;3fTdLxq{cm-I60r<o}ZZHeZ2z?SHg zQ+8|(wQQZqR@unarn=(aFAnar6CkMYPL|5aG{YIG410shb*v-v4TLBayx%p{ac|{M zM0tDx1aq;PZvlr+-+!E`&`~2jrRwi@015104_J}Dcxg6hK<VS<9lBgMn>dhd*6D%t zb#Ut4FmC)U{-OS$gl;u4!Ooi_Ru?BOq~kZ4`=Txke`T(IQsAc!%nuted|?p2Dqbhc zdJWvJYFQ+IsHT*ADDO*@1q(7<Cbi2oKKzx+QjnRP8M>u&ZrX>F%~49f>_neZsJ9dk z5rN2YKPo@p${6Ny&^vMtc_1du`>5mBgq5`mH+2R-bm9A|BylkxmDZhNN4jhd&<Y+3 zV4Sm3Ivz>GH}_Bzm;6YL3Z14dA?pZ%l1#2Gu$6x;zrl;+xK(QlI2A2Mo_+-+w~HrP zPmSGEiHYqi3Ce#crQp}CF9;A=Ulmr};}^GqEk%U9$-EL*!8)}nvuEnmR3@Zs%I;%o z`2Kb32u7g>nL^rCJ^Ut<{#PwTlK6$NNz6xi>4m8a;S3wroa6{O0%=Fym1i~R!B3Q3 zcaMR^YMx+E+FR~b{oL7Ijuq^37>b!PfXc_XS&+(3O$;a7JjV%TO&fsV*R2X~B9*)R zp;d;hQ!%<W^0ExtznDB5L|ZV$kKdT`5JkMu6@wI|p0&3{-JF}DWF#<Tguj>jP}|#E zL@_gnCjj2$ggtX`_kf$!u&-|w!@4N@_F!w$S|>{fzMNrdQTF*|b<em)*9^1)5)#q^ z4eRC2bGM@;U)M!Y=!mYNojY?fqb{@emw`qzp0dg9z&k9fWz$D)0#UOUH0Uwl-LFob zvJ%;4k^4PvRQ$H{;uun(x)H$rYxxZja~e7%ro;0~wFdkAt`l8@x`MjHXpYPSPYCh~ z;pHW)LcCe~v3CY{@9bZl&@hkESsR~fde6*!QmuU`O3gY^mfjcG)4TjLX?<V+hO8Jy z08{A9>vWEk#hIhDB+nP^@Y`Sn8R_@MZJ6R{p4zz?cR0H>YF+q}As{?adZ~YTnHlB# z|3Kc{f3b@wi5Q0LryK~x&x3{t+Ff$t8#K=GMR1C<FEo#N#G70f_N^izwBnEI1p)6L zGwde6ZdsC)R4U}xao!1>52zTwZ+na2K$p~x3X`|VM*hE|m0Dv_EC|;Q2Vqm48uW2A zi@gb1ieh8mDYE}|m=f1vW8@&7(iMVzU?s9FP7#c%g!u{q5DdgGfELKg^uGQ1KjBH5 z>6AW6_>l77iaIbQwf}&TRzKlV{~w?<qrS!aSW7aMH%@47UbR_`=%<qhm2;e$AU-;8 zaKHA9!y7=d!LC~T3~VJ)aU4hAG^YkRzQn>dKH*c}EFt!n>)gs;u8k3-f=kuCSVEdn z5&m_<4QuYp>W11Cz<4K+P9edTJUgsq%cnJ`Gs@G3_(lQDeieC8@l~e=5m?NI#^RU% zi4|FiCliftwvZh-{yifBzLCb;Sylzes@Pa;&fIO|F1>eVw}^%(ob)F|OiTO^V|r$n zFoK_sxA`g5cbhh!TVU*kWWp$~ola4iREl`XSV@0$<!ah^mNxv?QqpT8Yn@quS8kJK z83PuVM86?}l}%F_a=Be4)7<AD?9x9XF{S$@6)OfUu?qwbFrVJ|OhK0$Qj;%i<L7Uw z);f7X+53~XP>6*^8QD#@5F8if^Wt~6$TUkqu18E9`!3It)yt5ii+iu!2NiAW&=bCT zbrE;-H9ONk-O2x{Ksh2+VN1#M5j&EO%XevXcz8I@lPqra<@e=}2kR~;E9+hCaNO#@ zEb3{~VY^{FQ`02Nmx6yq((HPEP$`M?|Hx@mv)TX}_WqMi2qXp)6B1Hpph3_f(NR%Y zav{(VsDy+>IF%?s6hJ{yAeKnhLe>%=uarOX|J?fjshRzFXx9RAp6YU&n(mLO(N1H3 znt|!n#yV1ORs8a>qHJrd+4<(jfUArml%s=<ogdz{4j##F+KG;><;ji7%95cN9Adnk z<UHnoaRDq&Mygq@=H>OsEM<JL>y|CQo`eQ7$B%gI&A2DV7Ses}V(J#q8wb*pY_ey1 zbb{@1=jXWD8%3#cYZTQ92#LxU+^G=_FfATad+Kl2HK-Z86rUv=rEoS(_<7MF_<sGe zF3}I8T`AvSb>WJ@BY_SmV?%#8^~Tigxl|<Q6}J~-(jgv2A9vg2p+ljo!m1iT9=8%) z3EVoWQ7!{WS{sf^SH8>LjY>Ye&Z<vpI}i}E#`^lTKw>b@SA7>FIpR|Vw&VsMv-_Lu zWOu-Q=a(<$UpbjD>Ay6i-)HTa9m&dYooklGD3c*`4gQ<LT#s*WCa&rSX$G9pHWFv- zJf!lO&;lXoW9Cu!QcAEvoEg)ds^p`?K$&x^?zrsP?qAZQWuxIvgs<l112e_-r+V)D zVzaRL8YESUC%K{``xh?kO*R_FR;O~{uM5X)ZaLi0?{CIbM9s#Ygy9hfah|3<<lkGW z{qFqz8_^f=Sg`8foqSJ<8ubh;hw+`Sx#cy88k-3}`LB(``>2RpmXIJCs;R12!i3 zCnLqp+LsGwIZ<rgliNmJ)C<2CZCGP>T_U*hobztmLk(e(b|ybc!`c^tkN6w)EfyBK z4`q{A3e||S`l+?w6qa_RQ^Ql}ktRZ*MvwBlj6R*asKs6TZdcV4_I4k)>oz7yPOt`; z0{Oabq@^<sdK-$)uM!w{gX7K<^(gP(d7o~Hb4S=Ot0lzFfMqfw4X&Nql=T)TCp<q% zxqv_0pOavQUFoUzDs@|juc*Uxp!t8%Z=a_9&PXKfrr%aC1a(cXZym;yZ4ugDpv7p3 ziZ%yw;$30bD`mGjwYG@Y#?`cdP)Rm8=f1BT?Qiccs#&&`f;M1*a@=4oUDGvg)vBf4 z7xws9jF0T~T--Tpk&3!P6n&ip9pqf<^9lt?62#Psm4MHW@5p%&<Jk^By>P06qH;0V z^Jul%S5{YLI|)~KyhKnBJ3x)vF5nQOn_5RS+=T%K^hJBd<<OmZrf=OXx5M+QkJSk+ z0`B7X&v$s7l-&lumTdJ=PvF#~7w?x!tA~k5FX%4uV#&4Q+dn=U^;3(+1sg7wpm<ia zwsx^t+w71al7^viU_<P7IDX+;id-`U3@jM(wg}j|aAr%dy;IciuU4mdw<aip`NP!G z>$h06Txn7&6#7jLP!4SIbH!8IhBA2G9~fNqhhA-Br~RE!UF|hj!_qI%^QYsT@#7q( z=&xqvT79b98{(YJ5?63hcnRY0WwiQutauIx3F_<3iQ#Nep{)!3-CPzwK}o<|$e->x zzR%3-d>;a3n-2H_VvwtJ6^H8-c}Xv*Z!IuMt@1<MCY%gZh(A;;4r|j;h(O7tj5t6p zgHC^l3_4_?U(6Io0}x6?U2jbQ@@;aXf^i8j9--K<Hp)UiG4FD3{XJZLih~aOL_Yi^ z?`Z-Byie0HQiW~j1n9CeA3r5!=hmG~<ii-trt1EvSUfnGQ1=X+l-y><y`dpRQVju; zbFr539lj;uDK|+|PCgMga)~oyx{!EKmA3d@xGEV7{;pk`VL;3;DW+ljEqeNWNY&kH zxQA*a0kUb}+X&P{Bh9N1Ql*lF{-&#hTheCKpMD{#3b(b97ut6NCFKacyKC!A_HZ8w z2(HjbfCUQN<d=Jj8S~~KAHM)R?UfH|1jLih4vzPO!wZb0zZD6k!=c|*-qe={Rs`Yc z1fFDuh)5HzS2>d+SFXy5NqDY_-PNg1Yfij(cL}){%PEzPG0dy)fikqqC&U<ijEjuo zKC=@!{y4IFj``N$wxC+*E}_^<SYSJWB#poZZo2BJE^Res>sj7+)L2s|`Vuq$2;ku@ z!tx9QfIS8*n!Y*3-hMI<UF#ydk!}1i?9J}Y!~bPHHaN(BcG<5~X3D9g$k%`j55<w= zGa0^tZX8)xyvExNeAf4u#uOOuUS~jk&BNMF`%kQxP`M*=-fSP5^)qG1FB4`~m)w)K zY!-@x>o3K<zsoIlSjseMoy8psX@BoH=Hak!a6rCXyE)YA{=!ezl8Bh?;CY7&Ip9gv zg@50+Ykgg<`3{JPG*GhHES=PiiKK2D!_FOnD8jFaL~)Z3o?m{~^TJAjVn~S+MB`C( zr&Ji48f22|M)LZYN4@aFw^EeN20dw%rpNMW2Yb||+yeRH?>)1{!=0(j%KoXq#+e|v zvdV9Qlql4OU0X#^K0nR~gCyn)3&q>p45rnqcefH;^vcNCTlXdV4ri4e(<czR(NswR z=YPwa)BmEMNR$udAXDwO9Gc6SHoVR+1v)n>x>`f&)V|h;`Ql{&X4l9D?lpqt6>b@> z0%cz91Wr819aR+T5T2U%j(nL_y{>pP`&A)}l~fvk{HbIv(@CqB;POBU(HPungnLiw z&*lC7{0eMH_=j!&lMt<xk_)}F@Wda3x3C{0_+80E?~W+V2iSfnR_CfRJ^zW+2|SD8 z;194iTlECmfP)hF=jSap=$0`;fo<tA3Vk*v@^9-x9ag_l4uS#&D)|2Cr=_c+CzUoU z8v_#1zQm%>rO8GZJ^*w#lY_~;IosiU=iS%oXp|gTQuX%z>jxm8!>!e}*+KesT)Aji z;xeJGZc)T4rDN_|JV4MmpQl$UlG2QSWVblw;++ljNAF3&^299RB(~1kdVH4f<PnN+ z>R>#0yPjs%5AQBy#^-?qg0doV`?fS_=j5kSX7-+yqwFhmIlyMHmSW;X#%uL1k{xP+ zpwVhclA?7SrnDF)b`|RgrHaE>sri&#-u3w2#75tLNoJW;m+~SzhORIutj1-eZ`Xq_ zDnfnpJGW(Bq~+FxtSUpF(T3C)Du<GLT@+J?6J@Bb?M6-hcO_l!unat#pW3Ys%UDcI z2vFV5AxX6C2&E5r@I3hqBpN@Uk1?umvIBbN@2c<VeI_q3C{ix>x``uNBC@q0Q~b@* zSk~*)ot6aU-ehSMi1uQ3i0xFDG|*1jbdXPhadS<Y9qb~y!{>WBzqDZo(N|Pz1tG!S z5nZa8YP$*FAE3P(wp>*?uO(1`^99&uiq?S#h9~61HLgDZR+GUbrH=D&9Mu&NC1Y<h z$w5o~5R1|`!T@N6H~1%c>Ts1R@#b3`3ea5%yHvoK%ezEg8DAk%3rGH%d8A!uPvq&w z-LH)`9$Q~qRB5rNwysjC*1}HJyzcU}YsaWH25k5sl5?UgWUtFK-BVY1`P<Zd<ltyq z)YaL0JU4E@`-tPTV5*;T-xKmTej`}!`MpbAt=ol<;SB7*it}OL{@P-ltC~oBqT~=d z_mM;j&rD@k{cw+T<?&1Ryns75bso%=uMo??QVunc6|$Uk=Z$5;79VEh7X9t!kPWYl z+`QW-c~ioNc>d2-^*=S?0eym?pyZR413g>EY$<9vmL>!H@`iuW9EmkW!@|-Mpt$AO znNyR^9=WPfiUpofrw01fw+$-a?Ax$E@a^fNaMvVC4?&yh9L%+c4VzOLv}YNXuCtSK z<b~kep~hTJ3E-@RLjIstSD17WfU2cn$O~h{@_8nKmxqR?%%#HSo%`obrr9e4tPu1j z&ZV4)jpg6kpN=!Rk1B_=V7wo?)KaFMArf#Y?Iv2D<&!TU{UoTjwXvK8{Cr@5r0Mqh zE_&94EiAG675kY|BC*W7Mx5TV!d+Ri4$N-SB-chHX~?}@S@(Ajyvbgh-;TRfui-k= z5vnI;Zfhw?nb5-v7QQf%nC-^lBEz!D=!T9KByJCfp>p9(f8kv_IeB?`k!t=Wp_!G4 zPYm3O;MN*^*$)xXXUHg~KB#qTX9yn)bVKpBNAx~LRBG25tJ#P;f5j{d_T&kuQ>YO_ z)S+RoZZJ79_z}Bdc8BHD?J1}pGLG-LNTk2KX)FEcV`S3cZuN>U21+<hJQA*>eP6Ik zRZ!gcvqR>O;<>b~E8b9ad=-f#{HXE_j>{{G0rXTPWW>{<u(rU5V~+Z$jkZqmep%Qb zW#&h-ZRXSG&YAV$l@wLqhcb+P5(~IaT{V3gWuAB}Rv$mD3K)^Auv7c$$Ki=NV6t?b zd)B{e&II`YS*9Voj<a0NPPS;N)NT@l2%klSzhIOtkg2<H_nI`W@bpGr7@q9T0=)OB z22!^EsWl6Ibky=FJ0j9L1d?=F2aGq6a|M9@3IrC99U2BXOmC+Nh1r!JZ1W27UfU<y zCC064>29?ud<n`Tk%{#WN<0iSLdxhyfEeVZtTar|XdJG3`JOAux{$X=tX29#6eoP( z9MBiK)jBG!Gn+)u$|O|Tuv{D@Hg4x~@|--?fj!3oPgG%bfq?8!3|6zd>QhiL0Qq@6 zdImwG>rpex84=k6+Y-GPMItyA>Wccxy;_=g_I+@rqJX_Hu>zo7Y%(rKs7zwBWXXny zVZlmAjDyuQmo{ebf&<|VwHNMAq@{-Ap<xtMNkw9V$<~&W>G)Tuw1_PHBm-JzN{`D> zHq+if#xczK2Rlo3_hpHCmR4R$lz=LtqrcZ&n|}T~NksiDh4cYvwxPOZ^kR$tBNG-9 zmG@-|-hXJUyE!*38(8l%UzP|5^o3A`Uv}(@&J=~`ow%<n2OEUuE!(hbfy<lj&vZDp z_l~;&6W|b!>L&=z&yP;hVJ~{r<)0$owSyZ_kOVam;9}aH^fnw~XzBQ3wy;|`W(LIG zuh)IcXb)f3`Jpj1eA4y_1*PrVFdr{)C-RWfv#oLL9`62Xqnmq}VPm7JcudN@`3T+p zy9pLBmMP}q0*Znq&do0Y*PP+HD4`QfaenUUtzgw@a)wFv&Jtd+w!`2XW&%V!AZ7>U zCy0s09iq?Lk$eCcm$1Qjx9eQdd4iuvgchT+n*2S|uTerpi+Xklq%~rUe7cRvlm$}d zJ<kcDXrEf0#yaXxCJw{Ue&kjOnu$!&{s!kUVJKmRWk5T2i?wgoSR+CoTMZt*{3enF z;MBEAp!9qY2Uvf|Et&XK`kKL_3{8Aav~%Z#M+;YvQ2(~g`JzaF0e(;Yo7rtHY5GPg zYGUt=WM5~>z-~;bo`3dbZ6A$HJn`Nqgoj2$)bF#!$UD?A#1uN<5j*r3+E&nFshu+& z5JtGE6Z!9W@Yo6~UpS<%uplrNC^&-)NB-soB(D_%5V-Ocvi=sLN7;52Es*NgO}^YA z<<b0H$q(cs`CA;0o-rd3iw*Ln7c>J_6mrFO%Or`rdYG*8j>xHGjZEmXPG_`V|8N?o zky66kYCbaS9c#~)tobpT2pRGM_zZi0>s+IaHEWY-b7(yIJ^!N!JvtLcv10oc=m|<r zayDyg?)<VLs2QDEliHznA}zZmUl?miAW6iPY&<@{9vdJ?vg_DjE)Vx;s|96Z_%-w= zNERjC++JmXn_oT?f!^CT;M{qNzU}|bk1*~=0a$=Bx<ilQE^v2u6n#{Wn2B+4ky)7U zWMPo1b?2x3U6#S0Y^qQueN8M|tha}&P+IMRgj*d|Jrgt7RdNSfF|@hvg0qkDs{XLf z>$6DxmUVAiOhAd8NFq2A8#8xM1rc*Se+Sw>fidOY5AnCF2pi7&F5Rotd!giZBiwyA z|COk))7RQtt_W4fqwzQT_vug1N4V^9pD96LIRNe@y8X1{=UN-l-~D~+5V&h3x|0pT zvK1GyuYx(a<k~Ta&+)D0bZ9QDsul|F4qdZ#u#@)r&*^Z=lDZM|t11b(DAI68h5yMg z;cK8lH|sYULgQG{D8@+x&H5%sb*&=sa8;<71d51NYRo@{MKdvi`V5$^Pri+?pcxmP z&-hE&Va>D~8R(^is8JBWlFSVn6R6+`^WnohI%%@nD2ei)N4<7rhVV$CUeJ5Eny#|( zT&aE=0{7%CO?;V;2e?X8o{&MC4{;4tRugwTpkfUsjJxZCs;bVGf{C6N1J3Q07o^-F zec!AX+kkT^KS-|i3b}O58NUmGar@F0ew2=zokl>9q<;(yXC*RDP2W&foAuV45qukv z-KN|tAC;P%Z#7qig1p|_=_=C&j7rt3OV}eN>vrqpI7id%6RbC+4XlRH&T;DB2;LD^ zv`Iv%MC`EPxA=njS$7xi-*40IkdvPNJ@=%egLF#Sre=EGB9*zsq_n=$kUMs(6?dc_ zTlQOf<!#U^F-VHAghan6h?Pl|HM+#i^b>XBaGKoYZm&w}BRyj^AZjvlpm`hMV0Zpv z{3?(c0D)dutCLC<q1A%l^y$Zd$tvy%PC>T!TK5#ZFeFlC9xIDmsIJTJp|K<%K6VBm z1%YHJH?`)`U2*eB@&({pI~ftoz}Cs-2Ms%J*X7#$Q~!q*!FzVudhza0NB_h24A}GT zJP-ww6tZ#^0sX;M0<%_KPsVoeG<vM+Y5cQ70qUmp>@VET@frWIgeGcJQ%yH?Hpffn z=t%NYNVm|29cgqtv8QpwS0;AfE9R>I=7Bas+(^%>4Czw&j|G8nFe%Hwo0)^d_%`c7 za{I>SK<x!fX$BrALYspH!UWIdjE;~owwz?M?;o;-Gu4+<bbXkVd%0<U?RP@&v4pb2 zF7^&L>=|S*cTBvu<8<b{8P6?wNSI1}Sq#Q?1M@TyOfUu{U8yyrXBwOn(@^9f8QV*u zg?F#T_l3Wg#_=p}NAqSb=x>(eNX*WcjeXMojt&%LiGeDYiK6^uJF#8I{~A70r3x<H zZ4QmDqc2(HD0(Xjm#G;YjnwJ@8r@b6vCTdaToO%yBL@9FN0N32b%eXT-B>+O>YbZT z*vkBG5X%=`F1ko6Fl>N`SDtY+G&D*Dl(KMvs|;?Ne?H0Q(q<p?(ALO^+UqCV=Q&TA z4$w&L*!{Z!@s)-}V^NCh)ZLCK{L(B=G)9a)vvpzrQ(_#*s>64J-jN|~-M2JE%~*pG zO8nnAAWnVH<2L_XrOqP*GH|wc+cGziBO?qloc8jm{Y;*`w0~uF$T!|+OJIqC88-UN zWwf0PZVO2mctZ93PyUAK#fP`;6&u<6RJ;x>o&bN^ulBCs5vcj+FP--KVMljsJJRU$ z_!Jy8Nn-USb9q(im2DFxFmh5D%uw^lpLyUpvrZu^qxyEVOfO!e9ZSW)fqG+IZ$)BP z-Q*-@%KG2H*fCdp3Ck?;d>zZprT$Pi48~U~-?EP#-6;(74wwY~rz^hSapX5w+jsdz z;-M*N-MHKq;mhIA#M5`Dv_bJNLt+03)k)ocL(96G?F;<OxcD4xd9HJKYM%O*;^k>t z#Sw2dy9~y8u8(-<>O3R6J61hPE(XU>ZyaZN%g(D23{Ayix7)vm=>B<!IA9sp;x?`8 zC*t2K#OZJ3ubhg+iW7-MGyV13*o7Y0a4$k^)=Zsoap~BuN~6JyX{=F~?zxOX9bk72 z+Sq^a$@Fw5q0+0l@@j_jGfg@9{FxeR*w6OF?2CG|;m%E*Adz-D0{?J~wuE)nTeO=b zL#_r2U^S-O9vUG=X-3_liJ4xbUKUQFGtfIKWnBtwe+e(zbR7dm53y0MgV%;HLV0_| z_M2aI73DZV)Du<q<V73flV2o<-smxw`?!Cj@Ju!&2qCnFPYSVxPIy<1lcci#22PjK z&{XNt84;MH^4P+e*+I{+{DEcVY=cuQv_9tEubPt5jSx^hq$V9w_5Se+mY-%TP^STG z3NlI)_A2$BaDm&Hz-h+rCm8l=oQ}rC`BA{*M@0=QZW|NK<8i<dnjEHOsCNTI)DF-V zKF4|!d#IY*r8}oWxrpBt#D62gBg%}{7v-Gq`3=mQw70+&zfGjnrphUv^=>XTQvJz# zUCcua@bP6Rudr&D7rgp6^3a+flHI!Ok-k48jMAp((H�iHo?wvDhwLW(WE){=Iy zrbA5la<+g2tNB6pW0QG<*%WDoT8{nD%I!xa?VYImk_@H&NI@B{LG-68p%5bx@ku4M zqo-Q=D4&L(fHvt@^n>9XCP+k-b$C^J39XcF^?cd^7))N@#REdoeo?|M^()a!&7#=g zRyR@KH{2M9p)i}MikC<&W?Aax^u#YczxP7yS`-Tc;K791;DUKGo(o|L(fq4ASsKFH zo`aM7IdWnL&q<SAmnkxugXT<=DgGPXJ$)XIKYLv?{G|=Ut+Y!}w7#GemUQrSzm*y@ zS6hXKS3~7I^ZG=k@P5g-JMt3s=j-jC5<Krc4B!La$-v?~ny?hqQE^u7id=hYUU{GA zceg7ZLifK)n!RS~Ki}D}cl)xn&7;qwoK|yWoDRNsIbH8Ie@jKIYKk~-a&0pB6XN_# zbl>dB%)Kh4Se2an>|!Z#tj-F0oO#4PAXIodLs(FpGInA^bJAmpfE)zWzrot0qCqUZ zuIyK9b5tiA&_d;Jt1yI<*YoNdnRN<XnmcnEz7CLdLr!2-7g?tb!F$@QHo6|?1fQIz z>8`SZ(Z$mwh|k}3el1%+YIdR={AuPKTX%v-VFx}z0ap#u<|-6mNYL3`p8b*gYhhF| z(fqR+wO0(^Y}F8MJpUtNMBF)h(E|?*HcC4RkAI;X;`3{%|5oo92~hKju6sW-@#Q_f zk;r90|HK*Y1!m2bkI9cmlTa;b2!0>elt$ZBt#PfI{paeHy83=U9i8Yj##O%37Gw#1 zb(^o%twYqcFb0-Uja_$asRg}KO{V^+OP1lZR?GsH*kyR#c$Umtn@$N92?W`kR6tT6 zl;tK%b|{~~&a0o;?Y~0`i=S9)<AqfZT&x@O1m4A8GZLh^F0nZ6&VH{JIT_z6<a>td z(|lIPo3|}uy*b+x$ZvtN-1cLQL0jTo>@%|B6w$S~7)5LWq|&Tlxc?xT3#;q+dw2b* z;!w1kW<L9X7J>z}^lqhaDno#@C9RwT1p)T&uUjsuGhVU*mn=~UkgJA&dq`I@$`(E% z4zvr_#g&{-Fu{s*c7lxu*dEt2z#A}<Y$sA!1rl*c#OjiUnkwJt2Tq(+&*;F}iO*Zj z0A_k%<H+eWNq`#Duhx1vMhAdDH9HLHh7&9=PW6O=hR)pb+6UR3a~?8gP@*&jz0<M< zgcwy*NU(s6oBJoZ5%(tJXr}PiC5>YeeVs=z`nKu3v6xxOH<nm_K?#dnX$U9R!-^Uq zAEo)}aF;rJ_w=PgJ5OXb7Yv<pWLnU4Yq!q_#Sc*RZA!Rn1l02N>8wB}%RxbAP3)ho zK73#8JSh%Ay%%8RdYb+3#w1~>hgcAX4tFwhiQRYP9YR%eQqstnMdm+jqb7G_&l4u3 zwe`e!LTKh`D+9>?z7hrN*h2z;?QyoH^d7Qc7Gkn<(atbmypNoj=H;<_Pp+S9Ed7XB zTYV@raiqu~)wpIZ1W!^73{TNU%yoL7vLUu7L19OfPE7c3;)8{Z-%v`-38}^jC!oYd znUZ_O->+9aixL3w)#fI1rc_zSjGlDF*uyF>-^yr4N<usx%ZcY_GK7;bKMwCP)@JF< zUbHb-<wE$uwyQeV!aapXvNNlrKa1!}(TrWxR}BF-&1N>*#mnPCI<aK_VR^^j?5wBc zW=#P)H|CG@oHx%2NCvFG(JWU%Tgcl1HS)}|+-wOD%#o3h{eBOobe)rGmFsaymLS)K zp=kfTL9g2yw`UVh!q4u07y)!~fwqO<<YP3Vv*VC;Nmj1X;!97t5Vfhla>-S7+bm#r z<PX4*ncg;B&eahtcGV$s9nSdjH5kEKSB+pEZoJr|0Qh7XR5!txBQdMVb0Rg@Q)O{p z*5gPq#?xgQ?i-!;IRn4`u5rlzSLPuO8up+Vfk|J*RHV>E-v_H2wr-8^*Vi91uTggm zUcK#$Nx>k*(B~MeXy|-=+gF{=9AZ%i=@WxKXSX@VHV51PKCOGD&V@ZGMxY_0oxCC* zD{IVN{LF-EjyicR`M?X!JwJ%l4&<REpz?x{I~927HM4p*`VBBub3AdO?g^R!9C5Nt zb538|x24yH`sVNk?OpGB4t#*BjfqohdI6d({})|v9Tnvly^EtX(g;W+jYxMl2nf>M zp!5JkjC4zPcejA#Fmy?WbPdu&4-HD*@$>!t?ppV*b^n_8J?A~O_nDK=ezvi&_!-nL zKDyeXzd!j(<}Dv6g?9!{XjOXAdBes9lDP<@^giMY;QhGN2g5Cd@a`bMVwlrY?Q-Yd zuEa5{;<$Kb8A;?<P@CE>^A*DSY$wh7&A(E!+kXT22_JFv5Sk=IPXx=w#I92D{>0b` z+>wr|Rl%3z$<D?EEkWP%37VJ*q`XhZkN0P<eOVHJviWM888y>qP^TvAv-w1WQV2;y zN6zZvq5~+duXOAtz#QJ>OchSAd{lVK#4V5@E>_HX_fk(K!zFxz%F<1d>b-&AvqQ7Y z_f?Mlg<IYFHl^?PyAS?{wOx{Kv0SYCal{yEVYO=3UAlBqe;+f~X6=}^2CD0e9#Y4z z7ZzrfZ*zvn=M;+fuk~f(?cMacgReidcE2rAKnc?ZICllq;9`7_lGICVu@P7(?Y8i! zW^pD?y&ugxiTf$@^H!@%094<7y1^|8flR<1qe}`~1j-}DWwL#ct}&X)6Ti^@CYITT z%qB8KG!@6`yZSg>+lZ@fxpn-4-iwRZa2z*C+CLrtz`yRwo3iKjE<>5N@%APk1i;&h z?XQB(GtR;$s0`g?Gm^fl=di1kCVndRd?w>ZrPngaV{Q02id$Gw&^I`-+&Ey#x}K)} zg*A!C$e)Uh2R|q2-?E9(GBDMYOELi<U(SH(z-JCe)s&E*%I7j0z0{;84NAajs~rA} zilX~yGO81-A9GtFoI>Fz<$K#4y|t}Xj~@mtnlPy=F*$H<-MPK}TdAc~Gofbla~H?| zS-zdfWTQWhV%vTyH~NXJ+)a8NaV7k7fRSG+f~ujj`^Gi96~RO8F}?G0u5S7z+d0j* zHN}HR1yY5B6E}Xaa!KcH(+A)9l@lvoaNYBdjmq3$i#}2T(D20Lqa#7OA7!r2=#+-r zmjbRJL$DCtVpN6k01~4CN`K2Q=M_$>UtfmY>vbljEEV57K0df7Cf3B*m*$6wiJN5| zL_E=(ydFdLZd!+Ggr7YO>~C8GFivqYUt_QqjqP~^Hrp>-Z+g*7=pcQXe-U&#)>7R} z?Ki~8qp5iiFP6(dxcAB9I=j8Tj$|tr+06`oVFo{}W<R_2sBNFSjcn`-fVd!!(zB~@ zUW@<WL$7CV*KRHuUSIu4^y<M6@0iX?@2YeCfg=ZRK<42So40dlhbYse2b9EPkJsgj zBvEKlgB}pz%rpo#|D6~$-OsW4M6#Q5=S)>k1WP({p!NLV_Z~JFL6`Y+B9z||o{-&c zA{Dk|aoV-G+Y2G&5wyeSiTlLP|E|#nn+NRMG6|KN8hz(+ns*qLe2EgQWtfifN;y0- z{nd;5tONPi3{{}R=>iduuAO*ZorHc#faJ@!uV@s!<k9u3)pAV_MS_hj`xomev?THl zSAslj1vumvA>}CJottWVrCp^I=5Surr^%NAvc=uAcI$`Ef$<Kxk^Ab+44R9Onk}WE zXS(sVz)AV<FQ$wz2<!|O=RCecu60$hdxzmWnJ-gB%mz_nv#3eug*h^^33De+hmP5} zZ&_)cJu!(Een4aafDc?zVtOe_<jncF0$^=1-d|AE?hgjv+B_4r#ZIHN?${?4>a99e zvMK8GlLAA2;$2k;fX+=Z;U1M_8D0vsI~omjxIf0(i5pSsHJBbfXz4%C7>wic2)3<2 zC1zY-WQtC&hkAzPtHYj9sw8-0Ae>ou2;0V(TT%L4(T6A1PJ*^cr%a!+)@_Ba%PVfO zE7k~~dFR3rtF|e0Os`Ng+c#vhAUtmUYr_Ba&Rc%o+pXjB`Vk!%lTDFpn}B3Mxu23$ zXY{-&_-=y~2&rJHwi}xQFS42hSHOsTYVLSTtv0u1?6lKIf~e<Vo>TGb{to;tb7?<{ zCFkFk`TgsRigNz`p=%B`EnW8Wq5JSEPm3&3e+D-};iHi8H82EcDL39UZVuLh=K!c! z%W;tK9C04R2>b0e)gO?|?7J$_1AXID^7i>L5RwlU6l6FRGF}o`5C@f?vY-(gb6WJh z5x8yU5j34FHZL4^T3`i^CG9tj97{p0UJx!c7YW)_IRxEdyLb>~X7^>iXGczjFF&3! zjM{=dhpJeT%N3g;)e?+mvw8RK@5R3~;Buc-BY)TFj^oE`)6Wmvau#FQ6&r)vVq3wZ z|HSYF==DGqX@PW0P+L}f3lE*<k~#q{@Cz#1h85%B0_6|A#zV&8R)6V+N_t^=a+hh4 zSFjm}Q(%=FeW+S#%rsQ4Por^;{SA|&g_{|#TQt4<KtB&y41y+loC2Ts;YRx<-2Ip# z*Jt3>aF!uPE2eXCHWR;FJ_?;PGW(O%yr+Ah59i~N=wUcJPGe^73i1-S&-Ceg_yZ4_ z)@IM-{PYRR{Pqh~(Q!5MRTa_t#9+zG?l}o6&JPXak5-^#d^gf-Kh0zG73iN(pq(43 z*!PLpwh^+s&<4oo=I4(pZ~bJv*s!)=xCP7`Ed@{Uq5I2Z?q?_sJ=#m29<UOGOsv(z zifYp$Onno)rd_2@Ae<t&pTtDc>?4_8gaoRref;y^bV}MkS_Z*W)rkv5ONCTs#D-9& zR&Wh1VkDceI7<eZ-zIC0rmBBl8M6J}to*v@La$L#{~(sdFChQjN2poWrFY7BXUHLR zTC?j8?F0g*>B9~!lO>rkD@CZK-Ihn`nTB#mMZi@1#~vf)$DBY_5szj_y;odGGW7Zp z=9xB2);&friM3+L=B5X@xc7PMB3V#1{OW7}pFw{&(!%w{1BSEsA(Fzt{P<6#Bxw*l zjK)bECsE%OXr8G%O(g#j^q1#QxD_`@Z7<My(5*BZ(`*T9aUHGI>+mJ@Mi4uF{>=m9 zU~dY!?4F(bKsYuH56kaV#=)56rKtV@?FHQ6wqng(NtObqeL+`qhd+N-^B~DT)s<D` zxwyF%%-=bDTrZSc6w|yQAZ^S1H^1w`y5O#a3)HJ{N>VwlE5G5qDdmCr!qS>^gYFCO z!-}c&ammZkP;p0qz-?<b#gZ%TpfDV^@IV2Z#Ju`LTK;d5Fadiq`yI(U2c^NGRD$8L zAXZ!xkAk9mbt^*n1Dn0(TqGF5VvxZ~REykEml8LZ@-3IoKdMvN)j_oUqx2QZ9`Wv! zUf;8Go7L5yUZa=G-JBxZb+#Ah_MLIZ#G1o7Yv8)j=T+#{5!n`+>?W04ycB81{r9i^ zQ1@0pKu4@zM{pgEJzx%6uzT=yb8{<x=yWz81hD`h_52F_zkVdAp|ezvY{`L0NTjdE z*NP#xne>c`)|bN<{2t3^Ged@xgk<q)kTMRVNd#oHz6UCv<<lS6!7WJag};2I>bA~h z^PYy3XJzrw)cT;BF%k{Q7>x^52gCgk8AG-jRTl1IeTl5m%7adL1G76tHNJ?U7Sc%! zZ<*PPYcD37p8oz4i<vuitMj9sh^yH)z|h4nA(LA)T?$V-uAG>RNrL!y2};keAc$ly zG+OJ#<RUL@x9?CJCZZEw$MA6?SDhh=^ud!!k9b(u`Winn!eroEnEsTCUvP(?t(USv zVp-KM26XeK9%yHlC=ua1VH_2H5G4XH{1JNHqvP9DWDp<ve&k;GoKV+fvB7_DB3F*l z%*So7=`1dP<ZfKtK$n}qWZAe*;IlI7A_~$Q9xl+SAAHVB_j5H&EjL%MY(v`!>aC^B zyhQJ|kTw;hyJS>3^T-Ofa)6f_r*fAXjp=fGF%7!-D=)_ozd-tiJ-+4xmYb*qFF=E{ zj7&Z%7j~uH83Nj1eRkWm3()LZNa|;8fi=Pa&stVlqg>7Hcvd8Aij4c@aliRFsN`b~ ztP9Gqvk<lF>?A30%WqPDnl{{!clAi2+6i~IW^9^-1|7E%@CzdKqr>3yPzS5=2<1t= zmIJp-8bO-Woc9@e@|Uj|8$+1@4iCd(K4Z|-EFU&JBLpT2gMBf6Wv`ZbLFeeIKygpo zrR7VyW--xABy6&b_FD<id=uA|;y{BPV6MtxGVAW{b48YJpQs;zA5>8YQ5bwhnm1#I z@4hHcGVVZT^6o(j^Pkdu_&{UvULfiUo1qsTnQFLK+_UN76MMNRPg;rSD_V(v-#lZY znD6&M)6WMhabE2wA-OOiUMv7BHp_Q$NJus>#{J&H(2#NnPBVRG*8YtBe(d0*8gixF zTf1j-f4ECE9?c0K><M!-q7pd&rG3MW$AMPXXloz-&5CeNx=`!`ZP2oH7L`Z@>}`O$ zSM<Im)>}FEh~WLhLfHV>{L}JNzOHC~&UI+|;`Z5Y|Lske*x$4BBb#D_^j+2dbRpr1 z5u$JBua#;z?<?M31U_LQFzKtQoZz%)YfO(Bn-h16Ps#nZUTNdK9rhnSlF=CosW2kY z+&|3z0)4V-b^-6%K^c?^m&YDtFT;1s$m@rvG%ykN0Pm~=AkC}28!`IK;BatoHjiEU zY;QYjBb56bn2{qBqgqDc(EGFZ3E$30d}Vd`w(pHW0TfC7?dq6G_8yAcpu7mLBy5nn z$YGpda()bGX5rsIDa<eY9+W(4mI(>#Nc^EkT#f%Pjd@7LdQlP(e2$_K&Z#D1^RlT& zg|A18m3)`P0A5m;Y<aJ>gP&#N)1c1s9?drFzTzfT1Hk{$&?iFqUuxuTON~uoaQl}z zTlXTZ?|Q%&xl`8*O|Wc}255(f%w(b0QbP4@6&W2l0tmlh8>a|qW_HBL4k(=SbImO+ zZ-A=ak4MHL2@muxnKu9Y>KTp@j!@LL1|YXlkn{cPF(<L)$fND8zV>7om@#CGMo1R- zToGb6%zT3=9DK3sZ`uOYQ%dTEZ*U#>Mzbue9k*G(xApp%=CdEC4~~Wk_xCP&{LRU@ zC&=Etv93Tt;N%4&?xMR``^Z4cKsT;jHRm$-$-K5HM0M+->{TYKQxvl853*_Zyxnla zJw{-}*3#a=+tZ2fmk2vZOCmGWmpuW*I-$3XpP%m^=_$y!J?K__9DK8qB*7V8!4a12 zmi324Xt-KOy!DeJu$)!O?DE)00cNIop9ZMA#;$M!LJmC$SG2poE3XDCO$CYVI4+5) zW}s@q@9OdU)53trfw2!4-%&uQPeh2y4*iU<j41kNjien50*=MrLl7oB73B0$7S#Wt z{q6q{hfw^_)5B95MfaC)2t%j&3>|F$|M34+^~G;s|JgeE*Mpb}RTZR>@`Ol!(#$Np zj*L{1voj%(%YNtW@`99$Ktqf8RkJ=S=^?Q4l{~>u{;1Xh0=a4y;u3T`I_lSgRhrmy z&B5r?Dpy(25tpz}{>&WHbL7~$rwI?4w_i*<ef`FL>QVcN@6`&jj3#PWlzY#zCJ-|W zKe&hmRo0mwoMohu(r3vNeP8(h#hYjQ{GrKiZ{R(cVpujf(0s~;i0^@WXnyQmk*L2e z4R;Y_b~7VcAz|QbPpQrHfd&m7p$Dq+J!G_cHDfcp;{Fm;5HL;qhu}8liVt+JXh!?^ zx;EUHB~DD>dsPqz;rn+l<u#s!i`}?Eea~!!9Hnfq-)3R^6qo{y(`8VSIwC6j&%BUW zAB<0p`Df&BstBgDvmq)8g)dF4#M0tX5NY|@m??0dBO&*UkKIhmQ>9Y1lrnvSJ+AJn z<Mr8D1dB-9gs?OwGu#7L>2Ht|rw8pJsPrrU$oE=euPBD%I(5SIpI61G_l$d`I(U&@ z%a5=vPvl<N&>v{h>cO^~YG$BgCtXA3Sb>Z*_~%8b0=GHL58!VFU*A{?bu9$Xd?CuP zB`k{AMd$qBw*C7GZAB%B#5+JZggR>s4_>z0dQ)A$Sed$&;yP|JC2EsHdvQ$MLOJB2 z{@_0)p@l)g($PH-deA#7QyWmf_VSY2tQ4-B;+wPv#gr_@Ne1wN+_AA!U|;^4_LP5S z`1A$xSrJ5c*<^_VAz<Yx3PlDfyySaJKQS>Co-lF3o&Psdu_9L^HUn4qGo_o)iGWJT zFcI79^bHo%U{g}MOQZtiOtf1pQz?Yvy%^ddoc96Y)LJs62{3`8Z;XsrFyUaQAoEvS zrUHVM4NiH?QTnHF4-&s-6{WIG@>$02FMLO<Kfdc^`RHIyBE56H7WV>iSQhjD5g&XP z16d!>F_13GT{sd_S!Si5pvqBx6)9H#QuRZ&k2f*gP^323pGe(>>Z{>7<yC2wk#2Ai z%U}9-2t=>wF)6?S(BX9%y4*od75{=Ic7tVlua-la^FCM6Q)8g%155R9A-#<Ddd&E& zw99r3M)wSMG0LJ4b%~!ll@9yt$}p18Gq9&O@${Ne!*03>u(Cv#K=9u0EsU<p=BB9{ z7U3jxH@!P53CXJJYNMo$@&nC%@h8*U_3Z3rn<7@vW!Mcgs@#b5VHtu#$d)~U$^%am zqYX;q--Kwc$jmB!6C3M89o+@zYOAIwWoLVd5XhO@hp}eD^5R)<+Bj*?Zwh`slOz5? zJITi|_-h!h_uVz}hd-hr8)-1O`?br{3N+tdP@&?n2iE2FZNG6r*+Yfp7jr+9bMj3d z-k(T_q8FV|Brb(r8aF7zW)SShdy9PkW`=E42&8hS@K>{7xR_W$bK}F8d>;WznkNE^ zUcVz0!o4|YR1&BmTa<MiXKGyKde8iv9;CU-xVE}SozFw-oy+pdEqpC=!{Gap#-z|B z(wSTd<gYuAuEoj%z&;GgDqbiyHB5VgmHsrXwLBv#hgpw>pUvg@8;O;hic+|MU(faD z6?Tmj-{du@za4z_ik$o$GV>fZ&hB#U(q<3Xw1sQVQ3$q7grGL{dyG59I;ds(_&H&S z{OCX%Y@T`Zx1*+|mZ}u;ck)As-^SOG96s-|86GhizPIqU^<ab~37Av12^Iqp9aJ52 zy=8`^MCP@L5!z5C)`S_h%Yp!?l?f%PXead;mgWOjtGKzJhpssTurg|H8Lcbac=C%F zfP(^pmg7~mGGBt1DOVBX!Qrf9bZUF1DzQj*Yn3-OF<gSr7x-Slu(06_8P(x|cgl7! z#dq#00bd_UN{e<f5jp$8@ug%Y*2H05$zE)~)+Q$+g%#?YUm~S{boXW}I&}{X#mZaD zh}(!JFX&<QwvPewNar~rW%zqH6SxYQGn=<2Dy+JqzY$|Umss6<<0kq!6tdjyU`<`; zk_3W1d~GJ9IlFa>p!lr4lb7i=^PQ$<#y_%XN6K`<L{BgCtQyjd-j=GK`2G#{lMuCX zeAxS8g&(%~7y>k+AL`P%DDgix?4jnKE^7T^9ISEXC6*sae8^W{@tr0befjVV*`t>* zb057DrbUO!j@O!Mq&z1{wi06?%(ahddS3E@?AXZRD74HXTxBrbt_IMM0(OYhYt$eC zXn3@%{A8}M`%cjudL=OS8=3qJX**Ry2TI&_5n8g4&#pjZvL0O1w0r8-Bo0f2c6{*a z9%UB|Fc_~jic@kvRt-e9bJSG_(8fA_K?KxGx4sj^FPjev2sl3AU{0kF(x{f5Ds^t` z{P-M)Ai!{IjshYZ{G-C)`$wAbj}L?PA9F^+KT?bj|L8MH{*h(O{G-*d`#(O@^_=8r zN_-c!Z4+yh^O4z*X!f1%D-*{S8v8a^E2{5+cNhf4`rkc&TCO%5sjt3Ejct<0wlw-> zUq~0FT%>JCb8M8)fI=~+U&*3_Z((7PcrCqjGom=92ozl&S+IVL;&~3w6upJ|z%xf+ zf;Lkhw}+<#RB<6xKvCe;Vs-Ujpf;O+vpb}Mj8b@q!w3-}+!n!<G+6ph_=Nzwb%3QD zY4ZJDJ|$3er}kwKz2Y;T>YD%s0e9ZKlN~@O^etEx{tn+b%D=L*rlv+1J&sZ*K4~yt zqd^Ra=Xa2>`WD2G@osTXRJ1!Mtg-v}*cW%cg6o0)BE{{b7ESRvB}TIRVz|>AanuzK zou{qPw{iFsvhRLkfdBKJEVHRSn7D3edz+@iO%pxw9_}C3ArzZz@)Ky&u&gDLqPwPB zC+wj;TUJ1+ge^Nm4qzsJc|mfwT{2b>D&pPjg-@kgPSI1fS>t%az~9C{p@$*n4`y`a zE|XnQ|G;Pa2LMn)s)Ljrs}$c0L(L$$?*~*8*%IwMkVZ*s7^NM*G^$)pUzgfQS&QDM zo|7DDYlh{QTmTkbHtB|2f3xaOm(7&`hsC*D$M4sMOElsX`nHJ^+M_cclV#!EsnB%c zHuZoP2piNl&|rA3_vV03{vndzZ7a!Ug326b-mUF(D$R$XS{WnLhy?>E6^|=8{!Wv% zyT(o4Dpp#lrubkO3&N>L7!tY*QK95Kda2{sf={n{0C-1`_f1ROs51O-Xq^6g>KxUm zz`d9<RC7jo)AmX`4Ocv20#vNR59YTBXQ3}YFFA&8D9=hw?)maT{-jJdVSKJe&SZ(z z@qBzKjJ+j;cNtc{=Au1!*k+J^TdQbp775B`IDU|4i4hGRqk5YzR!Iqr@9BN`Z9)wZ zkAiygvjL4n({gfFM<CB0I;PuQQ@|gW(Y~8-uaDu2iL>Evp>b{ZXnH8M9^&&f{<F<! zEK}hei=;i81?>&#pi;*E2gbXmCOgH-zTvGGXF2;bg$UL4_Gu?dyB%fK^D}y~tFHO~ zI9RUr4{UFuRh&2YXnn$p#e+hn;^yx7!FgB#(47l?l40@68dQdMpw&wFf6HmZ`z0nx z50^nfEBrX^h*F$$vyvccHB;GskoA6M@JFJkw)=>Wy2;~0si;Lj;%#)I=(HOAN*w58 zd7Q+Yst8yr==?NHg-uSka*AMnuI!~sP0Y@GBof;39Db~O^={s;J8=KOV6b%u8h;RO zTs(9tjQw|8Lkbv=^mYBK-cVe;v2*=|8obSe*GVmyp=_=4^VxSTa+T%pWsD6-{S;rk zeev~8Lk%e!5f^zG*_>eKl8G0#<C%scq<zL~=szG%979tjWy85&hg`+0VXxhrvJM9H zF@fNoFP!(JQE0C`KY>w<DXmN#-YK)$L!>F6T&g2&dPTnZsgCdV3vGwBEjX#Fs2UDG zLR&J`<h=$eab_u-Oo@q=rKwKAQtLbC@y>oa=)Fe*pG#6E6~!`N>^sZ@4c4h4@!&FG z$Va%1TdTcvHbgsaKTG&8rAhq9cODJ&M_TXG7NST}J|u0dMS1fc$ay-(Lrrt|Drfg0 z?7%@8-iSE0t(jR7Q`3`4#}vIBzzcW2bR~I_26SGCaT7k0cX<+_A{O<9L-*#D#h>i2 zhW*Rlu93;sF1pO%kR@_9RX7Lq5iP|hAc$Z9I9MxDBD-Mw662GFt2Kfwm9hVW=Fr6E z#faZydJbaXK`7!Bp@>Q0cbQ0Yb9v}OU}T0<D#61%Y821BNjwOh92_%HvCgohXh0`^ zK9xaGCt69m$TdRKL^8=vfmU^ftVm3{pmn(QgCx#qAdapad1LFV1W|5!^bpOA;p|Jc zmgQlmedCt~+f^zrUvWy*&o+ov2`RiUq10eA3=vbFjAUQtRtDp_PIgrf$KvQBQ5047 zHK7q>v8-K4A#pO>X-~yx6O`Ou`M_ns$120@Z_B0$P}K~z9LwMscd+QrxNyE2sdZ}$ z3rWGe-2RuN@AaaBqo5wu7iNT}1gg`PKr1l9m2GMQF@oA`2TRGA5Xn1S0&X`J@GJ7w zNT*En@DK%lx)3J%<@@|r#&AzyxZh@|1xlZUARz@BJwEl2pCgyx%le?~a~86|LRKn6 zoP&x$Xid`p7M%{e=KX`3pQ;lMK?li)JW-5_C}=p#Zkfn!a(-*xTQT2fspKVXlODNE zaN?T_8Olt2yN?byLo-<d!Px|pAHjT1cO|4w$=O14<r$nSyykoRtXI6-6B&k<tloT6 ziw7T9l;Qa7?K#(*!$F%kp0>>3<67tf6Gn+Ovl;*<ZT6ae?Q2J-lL3L1boZ7r{z+Hg zNgM&BlljNe<6(~bm~vzx_Dqa{Vi5ByJ;c&(RkW4}`ojY2S6$}_-fbH-+Nq!*s&&qW zvN3AV@HdLoy7+Ge)7Y9DPTDPTI}R5Ll8$9K7vf6cm^AC(0_QCzFHNPh2%_dcyL09? zaKstzQN&3%5}%YeE;~+!uW<(6Vy}q0yyLTvBpKbT1d0zclm0|%BEgdC09iRwtzzo; zdgXb<<zp8c5I#;>Vtoo7p`uF{!$hx}uA%>cT<pR}^<EyXrqAPP@fKf}&xZAW5`G9k z=B8G8Ga~i%LC{vv776s`>0(5DKvCu2G^-cH!MZ1*Qs;*3GReLp;rJF@0v#q_M6PSC z?T4}JKXWjF8R-Rt5GI5RY6%w9f)YA=Wt>mg%;rIsKqKq{eG%+n^{ipP58p|X+G90B zQkU6tK(0Wog}8l;29q(1Wd#iV*Yt@#&OZ$R?|@cfIf0(Z?OP&((&A4!taf&Cx`?5` zMEpu?r|X%Qrbp$XLX&olSr0MbB~5nJdg9fQw}}-V%dRMY(CWaU4To^Ql-pF-$TXro zDfG>O&5p1Fqb=dYxb2bA{1Qi(FC;xxI&(2qrij<-adE9pgVTr^k>1{3BnU;cS^15d zcl|CYfij!R4^M2{g@m~3aJJ_re#?dCos$Ui_|Quk{qmq{^Snl-0~wEZE7ci!q^Q8Z zDE(WCAl4SrrB%W>p>T5A+_c=ibCXw)__fKuOVJsuGTT#Ae>&oQk7Tp2F?WGekwl+p zJ8Q=;6Q9w$TWUL<nc5h$iCz*Fk)y<>$)J4g+Z0E3CAsXU1JV#Xa6>W|TInhoAd#p| zvR`9~YW=Kj#IfHy#K`ZYmC=ESIIIjuYK(?+E#hSW-LHXjItK@tR&Vl-4-XFXcKn~T zs3_!j)OK4`l6;bpnHrQbyYQ2`ktPc$F9b?Pp(H@(U7#T=(8ow;>FxD5%uJ&TQ|!(N zD1+zRi1a<H5PP45*D&`TZQ6bGdP(9BFBxPfr=2uBB`Csr1jwvlPQ7`;48)T!p6-R# z{??I$A64F3m+qKug>ZyJaUs>x>Xnn{*@5|P?bJjr3+EMKP)^|JN$-jv-2ZFA0ZIB% zdtJBZ<6R8Rdtws>nwNqj9y<c8j?|8W6CLD(pJ%){^yGG;YyPy^nD_ZajrhfUM~oY- z{&97j8~2=TxzLN_WD$AAip=3JjT+_#R_|2-k=Yc#zd(tTv!|Z%Q{DG#8OO^I3<44! zaKatalukOZSz>l@79hTkWY{mJCD>q@WSB~0NB1+pYoC=$0C;(Jo(!@Pa{TGXy*j+6 z1RMG4<MV*^jpJI-06Agu&qB+WjXmzgIQno7hFeDhh^SW*sh-xkNeXnkJ#?8NSu}b8 zKtT!wtD6j@*QLF2`efCNavRi8%?LEtAr%4+o8&$D0c9t==EcmAi(12=@s^_#JN|=; zZvtq~_E$?*X<8?2d}Jbj{6gzE!eH+c)TGQdl*6IGu!<5RKh&SlivLz;A{n##S6r4A zxahRKgYLuMC1@Km1SW<|qrwGtO<b9HfyLF-<#ChO!-v`W^rr`X!GlE!CL`p<bfBWA zm%!N-PRb41S33(u7AtBk;9Kmi4NT);f{0{6RUP);D9LX{ZY*!+)a`)Vn9UkH)iKgp zf<;m58Hbn1I&>6_Gi$H)9+1A<@;*dNf8w>hBA3dq4Ez2W053<$LikYyAX^t-+yHPX zhG-5;D}FlC3zAkb{mLNI+QGHld55H&&zl_l+vBd|sHN!Vjzn77!*dMXZOn#$?quUM zpSc;3;spkC($gF9Ldqk@7bB3w?ac~Y413A<<9CIxL@gC%HWJ!j3h&gCOaH8@6F1|G zy=;ckR?(V;LX&{WaF55YRePUFKmT@Q`zry;_m0lO7o9o{ZK|*^b~Z;P7LoT?|E9U4 zAW3)E5FHBL5>U+xdu^HXv$Du*2Q^$u+@B+#&A>`-gS*xa$PFPFqbrtA%${{VNMS_a zBU=2P2#3@FZPuW?C7$N;x1ZoBoy0;}vN-CKu}rc<-)`P52>M=$#baHKEq=G><&#yj z;*(D=sTgMmHS2wHOpqR~*&TFg{8($$);v(jODG_6B+rwK1xrYUuDGY@%6$qahBTv~ z;qM?};dc?y2r?8BoF?z9sp0ldCc00Fs4e|M)HsQWzwGY=`3=2b(jUPA;7kC1zFLvE zFV^e{2hYSI*IcOi`ZaRT%iUGm*sqkpbk1<74t<63HNR;2l%GHRN)0C@d)9HX?ua_G zkW__`)_X0?`|yjoiC26s)Hu3qW<V%OlX{82jQCyWk=>Rl6MMis^WoAjTQMF*vbz~w z;8=af)FTSJwj%FuMRFxc!;cpmV|x`o@ybe(+&a>4rBtX)M+oW57ZkaC-G2pAkpNYg zx0=Iz--rx7G|_?8j>=uo$iOqcSh~P)tQ}k|NL@d3ilE^LPVB0tHz~F^L3vPD-)msk z_<WL`u?HVkj<Xg<Q^I)9TAH1j3Z{H2q%@yX=EIWmBuOHSFfE<DMh;*Vom-CuGmr<k zM}#+QHPjA2c17yRffKUPW9~1WUosU+0d$eRLUI<Qc1Y6sl+f^`?11SroBdVG!V%d_ zXdY)SeHWy{xR9|lS$GwJan$7e@f`f&+!^&79`$j!WXfu106sO?2#gy)bnk?=nsYtZ zB*s=khF-%27eWfC`^K3}tHS1p$>*yCuMhO){+Tl5GQM)s^3*Z*M)Jp1H4k`Z{`}AN z%?Ekz-6^-`lb3MPh}YXrG?(-B$SsL2e+3{`={M0@n(XI6?c-)ShWj#@-vxj0qx@RQ zNx$-6hISyuA=FrYNDI1-wr5~kl%q_&^GKjf;|X1&I`I0F&B&Si{Ie<tIznI~`6GcP z9D0M@u0xgsQlSLug={=mw&_-tzQ6BDG|`+is7-$mCJOF0@vDsXC!D`ytHXt;jJ*Y= zVm#H|<#zhmIniPD3*`-gQ1o~*3#{ad6V$m@RwB&bb98Jv@yaKBm6g_rBGkY?C4H@d zVx&bl9TxS*q+)K>P_QLh9bbb5gARbw{cSIYPj+@g{rg7`U;keR?;E@XpL23Pe)&>` zcYDRgraM4qlk`c~9KsyB`=l}uQDl+yiPs9k9Ju@BFc3kv6)zzzlnv0dt7=P&B^VR8 z_(#=@GB$zW0qus7?s}@7AQeyt?&mKuUM_CB!E+S`#xu(J(EtIEiTqYn1fO!@D~?-6 zVJ!3N9P}R=umX$9oej4(cpKLOwmU6WPSTr2bL(Sczb&Ka>0ksc^DoqNpIAS#5AI5M zf%dKfzOzG~9L+spiB|%MkLS)rYWg`rep{N7h6wWL*J%=uou}rXO<f>5eRDwXF7}@| zwwz)}Kc4OOdPsV_oNy02?!S3Y*IKQM#3QePI#zFse;n$b%5#nPfI%ccZ_7QWCx^cn zgBA$RXi7i3>RN%<#sJ4F63fP0Z5S=9Vvs7G-cQl!kN#v^jMF5oYRUsdkeC`e9zm>X zKsWTx<ft*?{S1+fqeoi55JD_rMRi~PHuUbQjatU|I&yYM)qzRQ`_4$*S6@M6I<Y%1 zmVN@X0M2+@I`hXWP8$0y9JlSSc7cCA(W@G8&h@IG-j?NT;UxcZviMEv5R)3T3*fwB z#(J#y?V%{qrvHvJ=U}q41*ghNt!nATJWvPFIMu0<>SJd;%5LcDIS7C8BNrjUO5OS< z&SmM#XC-q8_eGgeZ6Wxi{Sb_xNuM9<979bYX9rh#ri|7w&G6jN`5EV1K_YGK#kn{0 z1hdWz%^^CC`PDzK9(-+{$X%4w>P#D~SNQbO+g0iyM5SdwMa%T|N+{=eq62^~%hK-o z3uhXMG5o~qfSVMpilsWx49x}Bda$HxfK8cH1{{-?3%V0~L9g+ys@{3j7NR9?+l!#m zev>su)dABzNjeG~ZCa*)u!P&JX_U8FIXDWRnOf^<LAn)os-zB}?V!^h;MM3^tj*S` zn-6lwyM%}`xrLc;3Lq7<kg-^u--bv^!gxQ0E%KsmMZWz>{e-TjJD+9r*n6D9K&`~* z*(Uj?yRd_G%jCz@BJ*!+70LfJjeY-~-bAU|%E?Rxf-G#iWM+yx@XDT@+Ac0y>OU=7 z{<Zh(_N(hD@$Gs(3#a_~%%LFnI{0mMAx~s`$L|LDmC4O+QhGY9-qEc2gx$w~JmPog z)-~K{2JrmjwQl=WDasz#T;CU3GCf}_Hwr>TBC}-D2dxH^&@0;SRL3Xy+4sp_=8D)0 za45*yaH4ffqj6@kji@=vax5i1Lk-ra3VQb^^SU1J)8rs8^y@G{bMcx65v+o{Xy%Zv zan>oV>ecoCdHed<^^iHP0T{*U0Zz9;-|m({k&Mswp8HL7-tn^jdwVaK5>`PG&Lda` zO`!-pk%5$cg0KoAtyb2!4?W~(1Cf8^laJXna@?wG0+7`96*oVQx={KEyFu1{_3xMv zS9tn^>TqeRgK~s35_2+HNXY6?cRV<D(D?<TOr9>T`=oA4G(^syeJ$pmroVzVPdi5t z7k9PXY1xVYa!-LkYwBX4=o}y-BvW83Fu-Q#3k=PiQ5Hh>uO1F$qb4!Xd=$jB-+jjD zW8VLysf6Oi4jTO{K}O6KarEhe^IyYc|D{+||JPdn6h!9#?_i0~kkoETj|!YQwY`@t z<D`q_4H;U1#>;dg{#!Hptf~t%(K=$)8JyR!TcT5KrdzjBC-*1decx*S8D3)$r>7{X z)EDk^HJgS4r~*mKDqDYDM=!MltDt)8jj8LCb20Q^@hR;RRq5?(c6w~Ldup5*Xol#5 zDHH`zA$f?A;ZZwq7tq|$ulk8uiAT9fO@g`_`VNb?9?XL+h$G(P^)9Z6MK`6L<6Zha zhclr1Bg99k2t8<W;mBHK^w6&ah&NO@F8^DZLC{0IhyBrvhX~-ym8N1P4>>9XLRP&X zA%wetBjW}!331i(+3-n%Q7YJS8MO7yqfiR49onxgp%R|bPEuvIH`y=Bq5;n{RZ;l4 zOW5fQ`KdGOY#O=fUzCzUL0U3=;|bAuw<t4e@(P^=G?FR0gmud@a%=$DwOQ6R=<t(= zXb?RwiPotz2eSlDS`*@@Rz#B1I|LDrtx%9_{Md|+`b03+XdX!$jB50~f&!I7H-@E% zP5^<gquW<J{!{G#CZ#}z0V6mV>*+9egelvW32xZvbt^TPxx5xl<F&U20(rKCLYf_0 zoF2T$Kpha1;oApPHy?=CY68vKq_9he7nz%nRat8tvsW`i;;{i;AQXyYOl@!dyB6(c zf{LeynS+2?qYui;tr<ZVx8~XbNeoDILx*@%B%Pj{eU51cm@)0a1}96QBaY1|TPb)O z?+C$~34T7-&p+`CNV4y9hSf2Gg%Sv1lL4LEmWHqyuQhUl$t*iL<>ax(2!7A?{ZLqo z+Rsd%4E57^m3qPYW@~2A6(s<C$s^7VKs)`BdgGo8ixiybMnP{UJ;VnV*2WALdaY^+ zS2u7|ynftL6zGioaFFoL?K{%6NHL^F%MM2UrQ+6m%A9MdbK})7_ZLmuOJ^4_w1Hjq z_d%K<;4P9@AWh#_xlR;sb+*k|Rkw0Jo%t;k>6~!gBEuw249J)$=radZ`H^2(&V35+ zt!OpOf0l5<DHn?eOk?fz9gpB8hvC9nvPW1;oKr%!XvRiQ>X*sRpUik?CT|Xl&R*EK z1w>0Ue+GoSZliFeHXIR60j0ivR%EpT{HU>jpB<YHi4vUFForfQ3!x2ijb>5Aecxd| zHuQYLe|t1}E5e5}DZJ6ff3GQ-aa)_Q=AcIpfS-Uj@UvFQiLK!o5OPtAjP}Xz{*8Zs z36L$z0{~_hV~w0<8=6uql(tO&D)9+<n#J-+53lLhlAvJVp#tR)2&StI4!eeKtXz64 zWEkm-;ZQqY2qRzKA#eHRjAY$6PI?X5c!<y1CJWWkL>?fW{-L>4D-({V6|n`VXvaaa zoko%a4bc<6pOZv@iAkNcDj`8$o0ykOj)bFXGDvZss0;oWYR#36vS;7Ft;Ld~R852g zMHsRGAP^(KOnQ=qIlQ0?LL~eu`1e&A<d*wQTmK$tfD5EI^Oz?=IsVX0fbGl|eAyBN z+5BdW<L-GRNbcouMYYumD*KH-;S@Q_eaq#hK_e(Ql@0zAt@Q;0Q7vO2>Vvi`##2*e zEBX`md{)rt5(JMmKyG{V=bKWDT;gaW8o4H%@PT{kW4qADEZ>Dy*-4z06C<P5N7J%t z1HZ2(cbC~|(w(VZ;e-QSuO}zVW}BOd3T~*jhmK}WJL0{1f3}My)wm7)f|68Hx-AlC zi0ZK)7|{O4DLQ$_4IV+Uc*Gq1Kq!^ure!7Nv<nSn>iP|Wz6_?F>_hZYfkrqF3~l~P z7KYm^p4h_~m8mX+G`JQrwZN(R1-4k09ZF}X9n}U5jy?;8ayiKn@gkgyBP1OHbK{FF z(Kvad0Q^%f5xl;XJqS+ET(xGd5S5M%VhAjmJh^yt(2^?xRzewLjG$-r2-j@S2ENi% zCUZ-U^bYvpq-_Q%GXnDyR5&~TPC1w8Iv0|~8aGK77^j+D{|+ZnD~7PeuM2`%JTXA% zkt2Yc!qs;zJ$+A590;VG2vLHy6DErhH+6q~W6J=_M66JfrCWGtT_KSmO+b29`?9#n zDRSu%f@*r0(7&3njlZpn-Uco>@z<KIANngOS=BAsw#AW$Y{DsilpD0>K~&GP(~eV| z$2BMbYA^@z;Eq!<y;MS4_6EGXS7kkWd$Ztn8cDhfZIu?>;<|tdD1yd;x5AYWQCW(Q zA&}m6(oer<*L&3$S1-Q^jjR>=@*Z%#CmY#=DssHmRgqe`D>Sn66VF<uPPGC&duT9? zaN-0_r)?Rp5Y=C)Q9AQk04CTmX}!J?8o~jV_hibdBMXpo?ym!pud|K#yVsVzB2{7y zJ#nV8!q0#Dne|RgNZ5!34Ht3);j%6$B{|h@{dN>y&7q$nQCT*pTznZrrQKEwf#a&d znEDBwtnJhZr?ro}-%rzje-Yrse8Gf|+1>6OdB`Ed+jWCCwY!)GeT%X6hVJc#+QP42 ztH}XO`jqc20A$U`5uq=d!;tT`Q=412=brZ#Csg~|`!DyeSimjA9acN(<5b_qig^x< z*4Tc@zRwoj;b4-%AK<oy(`oY}uhXZszXZ9~^?3I<pArk1kN(aiD#kR&`uj8IUd5d{ z(cCKla0H8MU;Bg2xTUR}A*v~MtuF1hi0r=#eYt)m;6(m(*uG9NnQRSh`5kH1X-KGC z*h)~Y*$4f?qsi#3EA^BHIoZBLezCK-!Xt=3HSxPw6Lagma%T3xtKYI@L*UH$S5<3J zLb}5C6%*s(SfRL9!%zj3sIo8e{-o=Vrk^UxVG0TMR(S9EUQ{6*--W9cOP1fyp~5!K zw=|llgAkEbKPzDp!%G5&B+o~iDW108d{Q{RAtGt~w?9<GZTbJ_lT6r+_?MXL!d)ag zaBz!&x=X6e7y+f32`j`eOw*F)@NNys7JyPeF?7GP?)tn<!vjiS$J!egKW?>=uT!yN z`2p~(lT8o=3&Ta$*F7@Ugt)%dW}sdYHCz&Tp2zPszxnlT(fiu4kJGS$^7lEiB5u5- zdq-9Sz>>5y=+VIzc^8bV50;R3qmS5_UkWIP-&>hIzIFSQDenUtr?QH1`ixC@+#7>q z9jzFd8OQeK*AV!WsFe4w@6aaSUp^^jp6!yhpkr|>ih^%_LKFju3-c)+M5`<u_bdS{ zNc!tZy96i%hfhm?%+AmEw&Di(*{SQ*_efv@BJqR2&U%W2aJ5L$_HA2mzL?%@%qK~7 zw5(+>)Z;zcX5<!3XTLD)7x+}{vrK$fvhBTcd^jCg=QL#CzBK3gg8WEd^*5TE=qt7b zMOXR{sDzqpFZr#9phdj;C1cHbn5ykP<GzOGaB^;A0lf?#I?1VSJUP|MA!NP3E0YD< zA8+N{=rMwq7~zw}%UocW8(V=KYRch24$DD4@DCov4AFNv;;ydo0=F3~@n;B=28>|Z zZZ?2aW1<^gcuU!K1+7oLcl$6zlq6f!#yZhWau+5s&+#jbihNT<*BV|`1uTXTp!`K= z!CMOp{hob~Rr*v7R=nN;v09Du-G2KHQRLm{YZn=)a08V#sm`KywVeE!rgM|kDb1oq z6cv!&T2JgGH|F_0JDWY{lH>|U__pNodk=I9FJ{y9=G02iu;a5Rwp*htb9RH%)$4W) zJ>u;9&yS|W5wsYV>283yBn0ZNqyrL?VByv?i=M?Jz#w&CIymU;Xg>$}`6K=e2zr7} z8djt<g-nHCx-3`^x3BZuT)0m{`J;W*pY3#YQUSrV7#CoT%S_LK@9ypUQ}|>piiN>} zJ2{5iLUkTmhnUvPb{?|$DAG>?We_E0_nOSr-#m`4;SG6G{{`AVIjtpzcVsu%!dV|r zUYCRN3a?TB<(bZ1wF*jkV5@Wq0PqP0(-Nx<=b}%<!W8fa$SQ3A3&NEhsWj4=h9Y{t zbWTu__;^~I&ZaY;U>1cmJ~KX6*lQVRj+-q!z!8pykXGrBbIJ!3K0z3CSnvi8YqsMG z-2O8gI{hPv%Q!RqV`i|Z&}WP-G@`0fbiAlF+~5e#Vmev%OneVfY>S$3i&WZXp)VXk z;Z6XQB&mWAxWxsnT>5dMt&%^PP4-&a!aZ@*HvDOn4;->!XHH))Gz0f3mLZiulz%Wn z+6%1pJ^k8UghTmq^?w}cMQWyXCwiLvf&ctR;(PEo+_Ze2`3U)}^noXsVF<DP3GDBA zR>|Q7678mi$*pG{2*JiJb*0)7yB#6lu<H|kKqemtm`}jD(*C#W1>0_{iUBJcVqZhq z7N5QMDu;r$#1#^DK9f}1;Jz0EOdreVVv0jR7+J88=|k;|0T#Y*S-?k8MHRIvV;}zc zuAJ_Pt>>#{(ITFm(2kUD6YMhYK|n|X&(25L<5{B`b}9kWWnB~{*|8apVuN3l5iO7z zVgvsuU@46%C2xcnPr}!YkADA&Iw$-uN~!*#$7=UxyeMys?3?tOyTWI-wRlbagMXsX zegLXmnkr?^P%2lN9N$*vD@C(8oM%qG`Tt{I6=zM3p3KtmSDdc$B~R`&PfvScrz2po z`0xB7$!P`_y8<|?xE!<Jvel~dYS~8K{EK4phfvL0?Jl_Ym!+h(uTGV$jqdE=|HnJu z`e%1i)KF=WFGP1)VOq7l`afcNf*v+-rl7}K1NLeQD^4x6$^LsSZV{A#1@!TQ)4|VE z^d5qNRT;7=QQ|c|9KQu~mTTUk1Dy`S7IlRJXr-Jp@KquqVI?#1$_E{X!eo~YBIaR^ zn&5$^#K-pcW4R@Er{SU>8f!V=e^-noy@y*!Z-*sS&-7JdKR(^moL<+;PtVLK;eJ2w zpnksIL#=D5e8uo9Ym{lVHJUJvNiDMU-v0Njs^YBMH;dV#%C@*NuNAQyEbMM5dn6SN zJ0oG_-38@6ZP(gykJCBbX6xHL+IH;7phhC=e0a*%cyf4&Qb>9Bl&anX`EvhtjnacJ z`NuN@zeW40b7uW^6W)%Y`_sX?<F8j@_i<Ar((_Xeiz=FRo%hBkgYG$)@EARt`r^Ox z%X#~6&$_p%Ba5qaf4YC1;JE8Dn|rVF%G#Ad?e%CUFZAR0E-3R)t$C>q0)sp+z(V<h zpwHgjs^#mU^I7r4*{?~OPHUR!skWse(JD+cOe`8I&?DWxC3|~*3QKNTI`&2a>5NtU z#R2}MSIH4_!GgbO2^qFZ^&W7#_O2E$uZrY5mP@*S?TK}}`S0C|D_*$X_~bbe88WGQ z3s{xxozA(R{f_Pbn7HN}_7u+Sp8JRj86sf>fszB?bL(avvPl%ufgV6RrZTS|702e= z%zZ2n*Ico8J!`)2wQqE_n=kwVx>AdaN|XOQJEL~rKOT%QbLNX3c=;ZUWBW3zO?^&i zFW)n+)Spotjy=YLs-=AbIK{P^Cht)Hsc2{*0N2FUP?Yh&+D*Lb$kSB-gLDn5JJiD3 zBpTn?z`KXlxv5ToReE18VvK~fT1O*U4Yt2g+VlgihU@i}!q6hT%HD8{3QW;=8CQAv zgZgelP+U++?q)v$pfK5@o)&ZE0~H*-h=NpD#REOjNAY`gZB|WmwnN_ua8tAomxb>x zMs8uQX)shy^Cj@47-z3d&UQy*_nQi_96WcgUWrTcRHS;?ME=OUIiW<EW#=_vABDV) z&&j+Cf3#E$zSaw>c{%u%VHOdN#|c@HlMCJl&8#q2@lsC*_be0$GpNy)ExVeYhn}2= zy?TwzsS;HFnwybVv0YV29tD%rAfQo(#ZyF`!wb0oYh>?qDhJ{L+esdZ_wn|&S5|~~ zNdvTU`wftwa&V&7+J&x={%V_zq7$pMOqOqA=5JM@-pe~bsavFGaqU)MAAz3~<W|IO zf1us7NGu*Y@}M?kXDt+~o|R~N40$*N-<rlYT8*tO0CA6q^O5k>s&0js=sVrs9|<|O zXRpb*Zt?BayQ3E9<Nrea)PwV_m#PM>&$@f8maY?<NKsgljtx6s*la3BB6WDkixFmJ zFB1YCJg4wu+vOM0PN3-JGr098$7uAptk5Rk@<j&ee6aC$O^`AyAZnoru;V7>%47f= zMn_=oD>v0q#vT{@p<A9`qc&d%r~pdMn6jesn6COm#+PVVf)m6)j*QR58EYh}V8x%G zlwK%zH@@6SON9@8LV}m7<WKeBy_&-n_kZ{rP&vA$I860=fCB}P;4=mY+WgE}8{9vn z(bgi~QDLOOY09a*PQUkKxw>Up@#7nN$c-I21^*vuG>Fq;Q@x$w@FOzDEbd_%GLaYt zWpqy>_1JziK)_2O8T%rLWv%wkrl*%Bea(>iM~K1K77%5J!J-2?oo*m24wB-B6fMKQ zE^`>}4h=XlWl3)Jw1J+Hw6ToK>MuZ2`8bDkgvh0TJA=EXW5-)?Yr|}@mvNLUyWHu{ zoXH!RZYnU{hS!3U<Vuq3%!j-}R?|1ErU{%;@!im|l#Y5oGZ=uW@Z(NW)tXxo<`4#P z^j#r!;pS&v2*QWFVhh#QZ&<+U=7?N#<tFUr6M^A1<6Dg2AH3!Q?k5xL?}d9sNXyjF z+zo6J^ECE@=!V5&^^-D7b6aA3l!V9`k8E^z1le+km=O}odnoQ~|Iw|@cEGliHlC-0 z1f{)QnKvY&;JY2gNT6u3O$^vkKck!=*vB{1KB5&Q*NL{LiBk%4l!#k!=40<k@%gpE zMDT-55t1lNz{0lI&t8l;b?6^vs0~7u{Kbtsv8kPaq12+Ai3V3d?~qyt3QCMEV6+a` z8ooOq!3@5qW?`)T{Z4D%F1<6v2W6;Xgz8tXDaHZzK9hK8rgpw^Q=n`kw*_@Vbq=z< zw5k-hxBCM5@(ZIx-h^>$L%M{0`*OO_dLf5B2?!lSsN%auhEDBH(@5H{w(KaTj4Os5 zGJXnKVfeqw`iW}tuVXGBCg^}enFaOY*-&*oiy1#|&XMs2z)n&h`&y7@XGymK!JBmP z!xybVPH#Az`xsqr$$%>EDlVcS-E_Ba1nz3?%UTQ)d~Q^5(126E6Bq-1C=gj2xy2Pe zNV#)HwTW~zlva={h;_#trEGXYhF4wYh1P3GZ=$tvdD%`>i6TRy_XBe$ZA=7hYtvwi zjX!EgMO1xy?T?CFdvvdzG#L>{ldwX*a%dE8#&H?uWgsQ%9*~mpu(>!y0hYAdkc`Dv z%yqrzT_QlD7|}8)1rJmkEue3HW9C?QR?&<PQQ`~p^v>iF%W&))Ett>=2^G$k-?>pS z-%HL`anR)9ZLT(E5F_JEZ0|PUCeJ>~3x-|{;JAn?mnKQb0c60*6L<WOYt)syX;P1% zwP{1WU&o|7c`Qduh&I%?DN^UY?%g!hQ9+wn`(iViD-R&}07`=?+B7kRKotklkKQ*y zbAJ*Wl~?~3GY19I9<KuuC{9(HoTGkawtv8frW0z!x7N~_3*fye*mhwp`@;_zyDdQ@ z^COEygSSp>^C7g{?j`H8V9-?GQoXA!hHg^6o7^4(PQ~eg=t$hRPt{WmZv99j9&rB7 zlMMAa=p^|%XUMRYYD=%3<?9DcN(r|pPiFrs3*^MchdknBkHb_m!mPj84M~#iUW}m} zDcivPZRDq>CmYUY1+)It{4dttGAhm>XctU^Lm;@jySo$IAq0X;a2sTB4TRwCt|2%i z_~5QHI0P9S1|M7kA-R)pzrFYD-tX?YXLo<joPMjjs;j%}?YHWAFtrD5%cIhQW1%<n zzH*+s`hY&7;$dt_f%!dZ8Na&X@i(2c_tii5biCo#tIpq`Mtg-)esMTMj(M&hD9F^d z-b6F%=~z9y9y>eG1JdS8az5&f+E@R4{KTsYX#PNe6^GI<Wg=}EkFlVzx`J<G)ykM+ zl8H$O;#!|vSHbh52xiv>N=Wt*YGz~GFz!8NHxQf^98l;=ChsLGi?Yzxgt4hi3>$_o zDjdfT%e@Mq<Bx(ClzNCO0$PZTbahMhN=k0N4HcUMB7*EkBXxTjL@<RK;bDL`sfrbJ zF3Mk0bE*n{nH@?cAm)5ZZE5;cgb23+<U(8vHr?^DU=R^NE2!lKt-N(z(}`JkHvRyS z=h6iD$Ug0;IG7;Eqd}<rkB%+5(x9#S1d@AGbiU#`zl&ywyXu8>g@~s+FA7(a$!U4= zI1DI@eA9v9yjv8m{dG}O(0=mjOhT+wI4*qIV?)@Pg}jwfW;LI;P)Et6nh3<#X!XvS zvq_sNH)-CE<3fV~_6kwC;;-ldx{{t?yjoAisrEW31nK&qg3`KBuq}mv9?7^aU%E^^ zuQybuMd4ez&T^N}4xM!533mngbJ23PhKJ@Z+RZ2yI2yLSbRvY**oDK*h>CFEr}i4^ zOEtSppV!+Ja0U{Ls0y2Buv*K>A7wzrVD0L+4pq)gX%{P(yRG&<ZgWQeN=J)&L?$b| zIC9<6p5etYuK7dfQ}S5wYaCwLKuv%m9HN1f8P*LLF$j^jPSRpk?Wi6WD&lCA4ZLw7 zAE*`X2RSpO356R>l_h$fyM>Q+>sw-J?7G4id<A@@%JiB@*KLyXxME6_q!P%2*;CGP z;y)0O%Vug?ylP?=O#ljEdcxBh!2VaqP|{i2iK!Nyfu9WCBReW@QOd;crIi*_iC_1~ zO>-_9*J4l}XE@A>>zDVtBG7Ed218WgFH$<KK@?3f1z~6<hYX7U)P_A7ujnrwF>No_ z+B`$l_TZs=c1@Jta{S8cG-H($Afcn`0s=FrS&K>q>Mg;Iw8TJL=&yK=QG0%(Lw4e? zsU!;ql7`b}-X4SWQO|$~RiTiU_I$}96Hh(MmoWhbxi7Ukd`oo~-osvTOwUtS{ag&> zET;+hl}06@@D}$|DeL2C>H0B#Ja^xZ6;0+PIof#)F9S@l&iIAhl+h5jNUA4VW+!#l zJ<MSANksnsB#z1%B;(D#dGcV&JYJ)M;I7<fo(vW@VOaB?&1UTXzof_iKV;Dd+O;KW zzIcJCQw`ht%hQPkH%Mbp`>!b|#nJ=6>jAci3)g`E6RV|f1C+oo-jhZO(ZKir#(4Q( zkYN6we?dN;pN8(R4j{-={EQM4J|s$rGIp6$;DmLC-=Y}ngefI46VlTXV(ho*6n9}| zkZ9(8bS!uK(UK7Mt$AtLz;!j7IiZ!$piZfbuWBTVbeAVL`|uxmioMSPu~xkfc7i=D ztzF^?Jau~NBqJ$Vpx_8_1jH!d15|+OKy}7ccllhCTod|~2ns7FfclWxNGUP{geye_ zPK|bbO)$6)%^d5j)nvMIJI;h<sxWfM|8YX)bL_bsm$JN_y%6>tGHd%r|M$%Re#{;q z+0W}%ic-LfaAOISLb?QF_NDsQSL2oJ+A9HO`mKDyHo-Op`d>*Yj%vmc_$eNFlo>D_ zH=weey)u4`!c{N*7}V}C3QX~6lq*pSF~i4Fd#mzXtR$+7X2yt&cDOts`(A-@W~|^^ z<zs0aXP$h9RwL){W9CM}#3J&sv+s&V@U4u(9%(#ECpJe{=KO*>rk>=JbQOassLb~` zZG6Q|T}L>tu&)9q%ST-^s&9eb4U02qD(DjqzX$sC(o>|B;K>~X?1xVDlVAI~HGo;w zRW@v=jz%LABGT<D=OhM7+r*8M)U7bo;PC(=FX!xICL$Xyw}Ovy_~TUb`9(#4w_gEi z_DFJSliCpWjrsvf@r=^wa2*#^WUwUpQYimJ%y9pRVP)m#6+ZtM)enpA)xCGek&8~Q zIb<D5nK5rOT>*lB>b1|gPFA8JTr<9JjHq?{Rolhk{(IRSiOE_m%5mh8Wm)DGAljHc znv~u?Xvb(0YU4T0SJ2;H*tg-+pvXLlV^1v{y`K)#hX$f!fzk(cnxX|av=(-*R`3W> zbA^~U5v~<7)L^oEQSM#YAz2*{Y5O4cKG(%kyH75`#h_j%g*eBdFl>j~*jqg6U?L2M zQ2j;10dGCzsO4(BBpuMKoH6f|ZDH9ep4WGuzsx(X+LV>#{d%|l?mK3gs_W21Iq#0e zDF2!V9jUu){j7@n{6$r2>gp%2`lz5tq?5o<1R9Ba=Cjq`3j50;Fi1NO_c=T`n+FD4 zRiqm_6ATeg|1l(?n%x<yM-|u-LV4res$n&IwsS^VM-7yd)Hoe!djVTpL&Y6J{{e_$ zL^#YdW6`I@E;b0&2y7~G-zJLx9xvbd=={Rnm0HUye0fPvjR#-GHp|Gy)gP6u{6<l& z4I*-H9FM!LKT8-inK<omIE$A0lPx&voBd%@?%C35;6hDB=XjV}l9VROhZVfi8lA;9 z{q{uVxZ45whNv#{sub($4l|+S^+cnVgw690i*?m&B%&-WVlg5K-ql9Q%$D-JZ|JA- zmTslaUv*I=txi)Ph3G6uFQq8gEs1dK#_9AbVR>!SM4TNg|1!tc^?8iHzr{Ph?Pfd@ zch<&DW88y^KYamVz2B1V$I<GU(pqG#0pB@AD1uS86{Uu1s>L4ABN#TQ-KJO<;=L!Y zVi}jA-|7h<FgZu~g-{#*q%N_D?<nv5g&s|QWYn7yud{Z+vX#_H3d19bl5E1oQ}>N5 zYI}+6_0NoKk2{h;iK&_Qc#)vL(G0g<ZFYflQb<U8e7tmnnUcG7&exCVgIE%fj<p6k zV^u(fR9&*_saOJK`0Q~5|Fyv&)J*zoLv22P_0GZD2D>6k`;R=rL(#V00}Hpw=5u#H z`ov-&vr7t;w@@hQ&M2--=QAm_$+tV)(eL8D#_zro2k;WI+n9n#t~RJT`#YxYmhnUb zXjE4%U1{G~Oe+S_Jl2s#7cNFW6Hl;lwbf4PQ)Hh|Ai#UfD(Y_q^9XO+%nfQ19J&Ju zsy+q%$bH{4^=z1t&?`ti#SkQCe#gcBedL|PO3#7V0Ipk7zkISV*tOn-9>WT-A;~g# zo(xNr9Mk5LFzc7Hfcw4GWp9<<8-zvRe(n~cnwY?I0gUc)*Vh!7s5rO`F7Ej(JBwe~ zyK<U>>lAD_#yUKrb%+J-1zMVuYFGV^rL!qqHcXRo(Td9aX~fY(KtC-3235;YPc}u8 zk+k%=X*Mp#u#4(LX<<u>xzh;I;4N-)H+3x<{Gwd3*wEJSw~!ukh+o;)Py9%EN-^Y0 zXo!?irfZ8KVmrXbVmN)o%Riq7iUaP`<6eXi1GS5{_hDN5-dHz}gpf`tjv3or3SzKq z6TviUM}0xSF(ePYf9!4%^gB<XI}C?-pE|1SS|~g3TsfxWBhjyhqG$YVhT_*;tXX=z zR)o4;9Uv>aE;BA};#>;VM}}DIRviv~h#T{U`CrD?@wX7uHU&=!pgp%Oob*&nr;i&` z6HPSpOX2O2Hfu|I2+2KRu&fvIdJ}WNNO>(O0(`ILyvQ)kch3iAE>o5=L))DnR+$(P z1IjQkVEtj(=;5SK%;$@#`e))=e0>CLc7un)d;gfHK*AT5v-TGgWf~nQ)9lS4r5KIA z`&ky09ljYK)&Yu<dBc?M0TC1-6k4f^VWzC<tN|pM%Wdht+pJ64f>Eyn;0xcet3Q$9 z_Mfi_UB_d9*3Wose_#zl*(;_``5|T#>%Owt5?PV~JY6n(&}3l&kt7NJx_EENScx5s zsGQD2)bnr<3X!8B-~CzTs(rSEy2WdpNRWSu4IU5}V5F$(ns<jA=@+=0W*PAVae|Kb zLO|B3j<0}s#ty4{7kEn<m8=i*@tKNv$eT_6Ov6+z08S;}^JhlE<eb)pL^LoiGb}{X zhZ--g$A!&RrEqq+P4(NTIz3i4=v*XZ3In(%!mMHclMY0@i2wCSB3~hbBsULRu-@f4 z%c3M0@uj-tg^tSaj6xKcPuCtGsrfYtIgI;I2vYFXyuhh`_t@5lBI!Hr0W4JLS1UQs z)JFhZWgd!R21!YQ5NAo%i95K(j2WvR96*O3SV9)-Vo+d8wQbLr_nN?SB3R^JoxQqG zY`#Pa(?r*ewFjP*jCmsHc>r4As+l>ag2kb$gq{DP6NBO64n^`nNeNJk2pJk{#eJ_` zA(|4V1JKW6V)NWgFyoCRo_kiJd9~q~t6i30E|#_}rB*k&mt`iv#HS&t&)CuLFVF)5 zP+MWI$?h$wzkh^LpY`iep!YQ`Z-n(zHy0J!p&+|tXTv0@xvk?O{NsA|Ux|E-+#GU1 zgF8N+=Tfk>sg9SzMhpOBM4PB2(X}Kna{|b_({P!5FjPoHQFa0JW+v~S={i|EknSOK zu8H$fr_L6F5x-twu5B`u1eu#D6Xync@|=)}`LbXI&X0Hj%giP{0d$-<t7;c+DAL6C zfT33lQM!wT_Hb+0Xi?Ol))h5{--no-5%0f~w{N`E!C+gpT(@lTd2hTM4xx$)v4WRk zpZb-5UIckytz~@74qQ6h-lwPt4iwpTYx)YZvd)x>LrJ(SVEq~zn=sc+<M*U>vy=H& z^Pdf`&hIi2AB^&gpS*w)mY0&^yC#Eoq<id}K^g6Z@4oJJP88{+3eS0}`Esbe?6e;x zc$DIc`ujdTpjD2pn{=OOB3mb&#Nii*Aj+{hA8;++9<NkpvW!Hw=a-uG8rQ@%E?wnK zmwJkf_>>Os?n0aCGNSfBf<XU8GeQZK(5Qz$O|V3>zET*ot(P+8Ut#;h%MtbW*%TJA z(PgRT&*OfJBN1s8Wk*3k38y)Mc=u$`u<V_HRo9--rS}BX1qfBq*sYPWDFL00fzak& zE#jZwwc?rDAqYoQ%c@a5;iC;zy!T(l!$-13o5Xl?9<SDpgMfkhzJY(KB?lXPG_k9{ zfjW(YNyW`P-@2fvHo_XuLNtpY5Lfzs*oM?qQ)Q;?>O&m3sIJ0q>bdFG<y1_U>yklg z!(XmIb|Yc)^~LfJrfMcq56P$8*l5EUoja7;OV!sj!;-Hr@7fiEPb6ztP?oq-e%Cxh zd3|HczIA2iJ-y)aVv9Od6cr^go9;Py=R*g6>iM>)1|~D^`u1(IJbkYFH+4v5dFTUS zsCg_0vskwrTeYf3U5palJ}xr~hb`RZwCrN(>mie~q&m+h$tP+7Uy&a~eIm9;RYOmc zfKyj_RIli}BNOgoAv?g=ge(X4UmcRvYkc_p0}If-6P&lPrJXBn{Yt6o>3<%K`=G5@ z>2usHpf{y=%6gA5ra>qgt}LpCTkLn<d*J~$7*Yd$S<vGL!NU31)><F)zF1lnNMLln ztk6aWrV*zHtZVwc>Um;Ky)i7CvHINFNzPaK<*d<pX2>Y3<-Q_+7cWd)ggneYUNr*l zuCH-QvaG}KO2*=bRMQHsr_cbDUt0oy0#SW%UpZMoAWq%EDR|rXI7sIn*e~0u`8T21 z*I={Cyfr@xg`x19OB~@Ks9}O%pu%Mh)iKA%_0-;FiJ~ml0p7&vlgZNNC@M4WpTl!H zU?IV1OA!toU)9s^9Q2Nu^vo^qIgsCx+7eRJzZO|Y$Ju#vQLHor`AmYxNk?D#S#Czv z?HN0G(|_@2fv$l|oqkc$_v@*qb1*Npbk|eYw1m70@H`Nk34AuO+iUh6xKzdJNj+s4 zrk+D#H3%K<N2h0bC2~R5xOif23peH_T&GQRBf@?&vRh-u%`C<XY%5*d8u#8Z_7Thg z@mWW$fAfe}R2Gl-a1^8{3d7X(q=R6uPwrqTf8Wv=lZLEEEkc=tzM0u=+WxW#|ITBx zDft;Q^S=D=m}9;id4DY1$nuoMuWYC6sZGzddQ26K(Od)TYWa-1?Oiv5ENE_q4l6)} zBd)3;=yKX-rOT1RIIwSY$9FMwJqV3OJYh98(8r%p&Ja?kw0aC;!T@9ck{%ZTpS&%u z@@4@JE~Z+^piMyEE~3lanhMd6z+VLXcCrrNTgqew4)$Kz_jVD7E4_ea3Zy^On(s<V zW?_#rys#PnBG~327H<B!2Yafb8ie#s^8RmmdGL3V8uB+0;*2!O)+?LjL?CL<9ldI4 z++&-^^}c6a8%y-JsuI*0huq|;Ye~lRKnV_Yy9obT!Z0exb0OK@<zf`i&Ipv$Ro#jM zD4@~s^ot8M)e&y@w{a0_oY`)WkbZd|j*WQgOT7uR%=MT-PO+p?PN$)T&*AiZb@d#- zX_XTolNj9#@VlJqtUtH1I8R&u_7B%>#e7Q3PxOx;fF?!L-RU#X)2~x>(8*Hd??y?q zq<lGRWF`u`TB;DS*#olsSm`;acURO8u;KfhC)k$IO^Wx<xL_MYdujsYg@pl(JJiI9 zuum);??IdyZ1yf1{ZaB*DQn_YAd>Ik<KxO1jF_c*A7FpVLB43cf*4OYZ6dQB&}1V< z?<<qANFWn<{q#*z&<u#;El%%AtboYxE>YphG9pr-$do%gBRHZ~AnyUXC$6T}3SI|G zJ)fOO9toto*V(_;N3i2^0kd|D*V_%~FgakrC4UYuM16$#w-s3W>Q^5p%};leBwab( zCJ0onCskm=>daA)_;(!01~G;|bOyk@1+(-msdPO&=7(3nrbm(dz}4?jxu1X5zSNo) z04JQs|GsmgBM>`vZ$OOWwGoB-eZX=g$e9oF>)oh-YT*IuAm#5a+GngZYq+jC7Se%` zu3;FT?|ueaG;MkI3X3yG^NDk*x@qgzP)uJ2&+4nzcdhKnw9#cTi%@=3Mj+HyO(n43 z&bl+Th^LL)j@hQ^2AfZnAA%i3M)oTg1D3XitGBMv^gI5{T;J-x{DNE!VLCD@d0TZ7 zAz3$E>4j-bMnpo9Jd7Dgfb6kM3rqtcvLRiPLF3TS<tl4}Pgb<(mOg!3&n!4!<MSH8 zG%E7wD%JoXk|Wp^0cik&V1MOnL!ca#04*$lxfBizKzIvJo7jD>3=Fjz{A@IBYY&B? z#)8+!UR3h>G9VQXKoeeX*`DKQ;i3-E#{bccU@9cRQZrhzbRzDmLhi~L@A)t^3XQa2 zy-!>yGX3;f7p@t_Cc-QJzmK5sUtSTpq(2Rzy&32OEJKC=I|{>(ee(bdOwtt3imX6( zOTmc(V|dl=#y6+##jIBI6I*k)mTixopLxH=H$Z=t^c6gUzU{(<p*HKvS+04mjx~;W zt?G5T26N17+*PgwC9|02$vqBV-VL?V>f^?vHq&CF;=Olz%^LH7Ib>0N6*r<BG^D&E zF|v8X@=Wo2DyKWJbFB{LayIi?wW~lv-~fCo^vg@sd?nx1GH$Yh86P7~9X3|rPtSqf zV7=9d{%4NKG`G&c1Ee!Uq$@BdLp{~_^z=l)=Y*{Exa+etEwRi*8VQlY!kU2clhc=q z8L2UElpXU~w|Z9_gZs|dExvk0&845?WvL#hV!ghNRsUM=f+|O1l(2Jkk;Sbo{Fdl# zvmw)tCo4ID0GjSpEnZIE(v2N_<8M344SdPCm^0HgINpAH{w&;T8OlbS3Svn1p{Lf4 zID{6&v>9^!K=Ct_n-=&XuD8E$J$pF3I#9mTC~Bj57ioLIeZu{O|E8)ndmPFX`V*>% z<ez0B>IC`#rc@AXQn1-7V09)cDEBq6ISr|4SvPOSGV4c@uM=|pyrzIEz$3-SiBPQI z<I5bAfwfd}cV7cwjneb=>zu&ZFV*b9iEG`#zW17M-xt;dbQ8&#SN8d@G$(+tNc8ZS zWERh)p0^XL(Ky0M-0`$%9V9;7ZUtBwI<N1iQ@I<{oKZN^G$Bc~AATyl)6vj52Z~_v z&22~n7=E?)F)c_(=0{HXbg(rBC~L@CHg}sf2+qZpn7<S*0MNXN{}|thjyptOh%^Gt z^LZWbT5s6ALY$GuAVu0R#FRr;ph`^l*8U>*l;J7rar6t$s$k*`E^o*Bu;x@VA@jg5 zT7_hv?=76u>rx(1!Y0XJirOG3b!EjbM-D3*zV6N0J3dM9M98z~jDWabX|MOHUD%VX zBU)XE!i;-^Wxez=^m-N=qeJ-94~JV<uqo$>?f0op@8BR+%R|W>=DAw=LSCuS(c1pU z;oNcr)1q=lM_@JR1MR?3&r(I-{bNV}NHhkaeMW$K29IW;Slh~<=cT<P*PR#%j^E|P z*$W@CYaopq-)VV{U2g!*ecePmrv<H|0He>Ddgsz#-6jB$hhElOcDiB?&kjZ+CEvrT zooE-YGpD|AB4ysbU^J*cU_8M#nPs0Gq$3j(eBvbM&+(vUj=k|gHKsE;8I}9pGy7E4 z<~?H|QpwoTKAw{~pkRr0IDqD{VrZ}p-`K~Ui;1o)O6Bu?RQuDf)MO!vk=hF{iE0U2 zwZk|Fo7*j0FJb*W>Y>B?fyxE$?*Lb+v~UU?g<P6wiQH$J84vn)`I1vhhtGLm{AOD- z>H4Og)q_Q$IM@+*g*ibIIQ{#D#p6c)NB9<*{*KomG?bH=Vv(WszT~PLom0+o`<>fm z73PmppXK~lbg40o5E857(niTp$L_l=q*l>abuRhf&z6Yy%&3o|X(yf&01g@^w6)MJ zIj*}Ao7jM}?(T<!Fw7fnlBkK|TC@Arj|}7?`5$yWKTXrLsU??V?Y!Ofah8Bt@`trR z%F%0zJL3k}e-NluUQ(0BT1mLKv?%-W;OHMF&_<s^zu@^bTFsb2_cYYy@TSm8xW%9D zixiZ6?^Tr^c|=FbQKFkOewQ;v52QJaq&f6EEifEs+OKh{NX?)&5z^o2T~PP$TGk6A z++_ypk>8X6I+`gEScg)GFMMzJS&T#B6*27YsCVZJO0;{4dQ-IOnoW_AyO=js##|55 zWV_9IcT2w*T<1pm@=+tC)%^!Xkl}t{+@x<kiK@!a3j?$6vtAs?ZyQhtnXw!>$bkfP z2J395U&y|DmL^iTM8(ym_5FEe(kqYHujXW;_3OQmboyA@pgJ&qyCn13MF0Muxo*bi zBba$?{3HA>fWm%*oJ{b*ES|F=MQ9Au=ni8mw^Py0)w&zosv|BhAArdcE*%{hyHxQJ zOWMcR?bCZMSKAlk0D**?jChcGrD>5B91Ov)LXc)^pQ2Mg?*@Lsu>VixW0FUO+E@q+ z0C1+#hnm=?V}L6>@(tl9(1#Gl_-G7QILw}Kc`N%V6Rv-(NS6=DrWjDb%#D||2F#kq z;bW@C3@LYreTN8ZzRSk@cn}gd!MuQlwFd9^zAvt_f8j~Y8^*}}w}x0&WK~d$L9l0* zK62au*Y+EzDh$2*HCWS9DwY}bs*B`uSHYzkRPyess<Yi0AcCSOO0)N(9w#i$psX|S zLsMs+RTF=Z=GQuf!V!7|CL72oIiNUz`#D5S`iq?K{UTak;GaB+lwqh(+%dbft@9ai z4FQ4}*A-4tnP^tP-xjLBz3sq)^HZw@dGsdmDq_9>0KgRV-AKWjuC)3IMe}xjE4XQt zVh7*awao)cdBK<~)=zRf$8sspPZm~71iU%dp)=Qpi3fhUp!?z<#Jk?|!5~m@;ddHE zq<0$@Ie{m#4J;x*2~_RQ=R~L}zEOc*<fJOG^`Vpb!gsW)5j$Hc4v7GjpSN_F46;r3 z8o{?$*vuuoZ&89jJPYJ?&d~!A&go8#$WVd6rs@4KgJ9;#3Ym@y<k~0oCM(eEW$3I9 z_j6~NGk~=a0`<$F@ciQ7@wqS~5!7(+I<xV>pq&@EuKaDV4k%M1jj!d~0ip;p;dOhv zP9@oG7VWI*O}SL5Wc8#>`R3k8B*qI!<EN1%VGpl6RLby4;uBe=8W*@XM#em^@BEhC zY5vy>f-PS{NS)vJ;K5b5<p7o_@m|i?kW)-Of&mz|lbSJKbW#)Ed{nm|U_R45qMwJt zcbM&sF=O4O$ApiM`d}%@KLvqLXnYzp)B;ggL#Hrl8v~A6`$v~Nlq$69%>%iOM#*c! z)$ig>$%iI)mqNLMZWhXBlZe&03<Z@q<c>7um_X~{MjES9Wm-4+A4Z^Cbhki<-qlju zptI@$60N6&_dv9t89d${^N=&-<4ue=%;xU~2Nbr4;zeE}Nlm+w9Kr5(qeYFKs+nx2 z!uX)vnuQ<&DXo?v2`j2Zc;i(?A;?!ryJHdm%%JAfkgfZdRfa3|iuT_sPluqW{oJP^ zSga%Lj#{?#LxGrbE!wWc_kve7($cXa-&1Zb{Jw$ykMoLfJ17~yVj@`7-phT<&i)?$ zQEd5uT55Z$Q0LHnm=gy09*N({B@TQO-=ejN*nD(OJ+3JAy>i(wvF-ZZPxw8(azR<$ zuQHlI2i+iBRzi=}6c-+^&?d!b)J@?!vn~}+^Qs~XwVbu5>UWr<eXpWBRw@>p57J;E zuc+MP9><P+z`<?B<AkCZQMJ$531}L)$Bcd?gLK_fX2?IOr5(Z8!e>z~0h;446Uov0 zKPc#Y$n12PO|AwODY)L3TEpd6O<dR4C6sv!CsH*$(rCL#N_c)kql;}T?YifQBdOZ` zzlYP;jpzMXd#<$T^oDnn#pzAm5E9CnxJx&a(F_zcJuO6j?>(FPt8p~8Xf`e+l5tWn z{h89wWpG{u>)ji|ZvFMOH%BwAa<4~`o7@e3G%>e73FigA%r@DRU1#$+h+e52Z_j9T zPp0SK4=h}4P3u3ag}ObHI?13FX|R-OPn^n+iCibfq?lg=#uvuO1?|e2PZFB#lg7Is zf8_d{v>Ba=wTFnakf;Z0^Mo|dD-C{~@wSoK5#zhSHHeczy7U;sKYHS$bVPsk9-WG{ zHUyjg&T~<avyJ-m#{2a}7EZh(k6|E6(+ex0ePc41tJp=})D-*SXkWA*lX1ms>g{^O zn>DOdlS|a`ryOs<1wmdQUAD=XLn!M4&3<n|o)s}=+qb;DEnjuwNDx`1QRR2gU+R>~ zK?_N0VUa=JT#yYMN}0?t?{Lz?#QfI`)9K9w8)s~kE%B0ZV53`yHY%=M%B<<HwxibC zHjK&G$s9`rb5L21JPe0YKbI!=t2!E-WHL01=vYbYi`#h&N~j~4zefD&n?<_)q~m0N z+3|bBKW5dn2aHxm7-9tfXk`R}<Iv%vcouw?#Z<OO4xL|D7NcpcaTz=lC&9n6oZu7s zll$`OmHv6}DC&oxs{goez$5wmB4igD{sgO!9QryOVj$QM79X4Md;PQYb}7lZXHO>` z_=faqLdbWF&HOozu$;rW)}|&3pzjIRE50Dn{0ZyQ<a(lvL>n!`K)-oaA^%!$wIyNB zc@3Brb22swSO*U9{%|mh9qiz<fKy;`m6Y9CfFOYaTkyAm>xO;Nz-G;Ap+pn?eQM?J zt@OSd*6AMOz23fiFDk~$SG~ef{%az`Dks;lxb^To;Y&`GtMb3Bk$kD(T?I1>6Rxz) z?YH(PBT+<^nNg{`jfzzbY%i~BjJ?^Jf3n{uzDtt3j_u1t8vdd={J{m@RyKRMW)S@! zo%0=lyM5NB_<lihxj~0PR%t<`TIt%AXg0+-+})Z|pU9>xi`%=@g=<al?;1Fu3~{&z z8WAB0@^~IuoL6+kpgT>_tHDMbGB$1Y;{c16-;F^@H$^f;ktaX8;Iq34q&zOAN>SSS z)(p2+{tDeOo7@SF+dq}v-^&2mmr6V6ml-KT_hBK#b@oMp(nByiQW#IR9?amzEMjv1 zwkEUoKB8y_Q@CQqK>KUmol;}91S#tVt<~zlH=<)&@`4x@r_!6+EM!I5%8QExd<999 zl#GCaN?w0*y26eDW_BP2Fz+%-zr}GTT%6m_OZ5Tg*0YGwV1ssg1Ia?<K{x{GZ!(Br z_CWrh&)C^%<#cvcACn2y?$<_-ros${^sc0{XQ^Hz$jkYBdluRWs93`zs#(yq=G<Gx zcNJ19;-qz6z?5?G0`f13^<Bw14nLsmygCt%hzrqof*|l@%GU08e{3!|*Im&qvi@a5 zTyWJ-sC`E)k(?AUTR4+(a*_j38b3*CSL`GK5o++)pFi#epGQ`_{sw;LC2a6u`6e6T z3}0KAfjxNWyI#>w2(|se$;!vbrmzJZdyF9X0kjyt<Hw|iz$KqStMn}CkFSZYu9OJ7 zdjFmZq|aVAK%vi1cV~e<H2;{d{zkAg%##97GG9!3?OGo{V$@aG*8z*deupc28<ie@ zA<Z#asteP6t}q#Ihg(iSJKlvEg$}(V*nj?kV9|K50R$JshF9<@#?kD4qupJLBSIXm z(j`|CPTsp%LyL}lz7MTqg#}~SNoDUE9|CBG%zuqE^;Pt6fIb2V&es2#_z#vlRBM#7 zZQfA01|*SAT>8l9RdUzOjG&m9un>KYpAZ?*#Qp|Gcys=amTA}r<;Fq~AB3-sK#}EC z;JBr5Q-`aBUnHPMW=U<Aht2SbLa=AXgQ~?@%k-iu=thItTt7SZ0|?7qO}q4Y8sSWK z<{pYLRQqNSr2o#Z?w!nyno%)?YpqZYy8|op8^%;I-@U6SBibRyhmUXt$~2~8^lS=| z08iZ2KYNsOdekfv3!u=lb9cu%TYx)qp;ltU=unnMeqQet6J~iW*YYR1pZzQUwho^9 zF=$T2he<XCJ8H&PDc>bL><p9}m0wOcOhDo7ET=f+lGGwMH2b9gra|2jkoWX=+k~?C zuQL9BSjC#Y?Hfa1+L2i>5DG2G+yAQy4OqMQZ5r4%G{_5nC2vaq`yM#0rnP{ZH0E-V zgOCx5DSY4i;-54zl)Suu3pwaB0+}D7aZf+Y4zYU*Y+3@F{yCc4chG+fQDhnVuP+z{ z0^1+4CtoMXtcczJY>#D4Eb=yF&Wp=)@eygIqe#<loRzF4PjD#pNB{QHnYU`y@MEE- z^+(NjjxN-(a}Kph?8aP93T4r5j(Bu3?-dph5j(4c+)xp+++WmQpxya~OVbZF)_}F^ zFnECk@Bp0i=i=z*RC5UW5g>>AJ2Kk@%!MAli3^Map~ziOd<5{d(V~aQgSlYD$o+27 zpkZh@?E^MnTeb-<axWc>7>E_VCGtN#jDSAvhqboCXfeXwap+-p6(IGf9k34DKJ7VM zRQB%*?qYAhcaV3)zYg|aMor~M&b{Mo(#7!}W@X_zA3X#||Cv*FcKk`TAbl_+qjJ_( z6xx&RD19(Y?Lt9L`^}+mJY##{oDm(B@BS~!<N27tTzwVa<5ZbYM3F&~u^Y6$zSz6n z$hDLcpdUG5BrYG2=)k+AP4SfvlvqsAkuepoq9{~nTf<#Z2O^Fc((^LLpKp#lk&nFA z9BTlr$Z7ahpzbQI6d1R`z!&B$_w?bkunk=M6p;G1tGV<G->iBe-<*!*;LGIj!k^Y_ zRqPG<^;KdanyN$vcxbn3e^J5;g9AF{DN6fGZoy`MlCtw&rLRF_wn+;z>+a{Ox`;4u zQBgy&3yMm^&*cLLib6c4`Pz;^?+2}dnP%xoyMlH*hyQz@QMK)BYHXkExPdhWz~BN% zL8!}Qrc`^uiU5#=QSWIg^IpQ;pGk4SdTj~HG;FG{l75846AJR3G-VHXO|z$kTyXA^ zvnE&H)!Hc(YgAelHV${JsC+|X_twI<E3y54IG}VK4p&6$C&8e(ggXv3-*{bXzP;C8 z#Zc5+U$-kC$9a8AKxzs%=gb`-Ri?uorte1)ZVSd0IJ^0cH<~L!la$S7MFDU>zqnCh zPg6cqIeLG8gLC!K^SW<&hF-gWfOxrMP~n&8d(E~l)Pr+wMd!;>)<k~}7)ojgmY|ev zZ?>H-`*W=RdaKlKAlEfXZO~uhypj@T*g9KZYlJA`4nd_we0ix4hIi#kWhslqz|XJi zeJf?Qwk7KO6(M>L#^no93-w@EAu}I!B3J!mymFs9;d|TcZ66Xs_KUJ#UGx3X1uAar zw<*=Njp|$p5-CUlw*L8rr)rAqf`(P!nUD!_rDrb4?ps$U2D;e-nkGvIjgy?(HiBoM zj3*^B^Q83^tGdDO^3q(&P#v;$crL3D#SJYRZ)6Oz?VE+#f_eRif`%R(x))6$kAqZ| zLMLfu0TSzwLFOdgy)dg!jQo6LX|`zu{!lL|CGcX2`a>?dnbx-Cs6ZQ27_##dq6(bi z{-tY^N$$Zj@T!%vnfIJ4oa-hR>FENkouw~udZRHfjy4+fjCjSp5z8x(B6Kr%hOa-x zN4h<`kWouV%z57&PHMHEW}53gayyo1uARrY)^p<Y{vil5de~+MDqDQm2Z(^5?fK5$ zzmeER<EY{NK}n!qJz&dIaoFh0T<cJrS-v;sku9DQugISJ5qB>n3a39`;=@PWQ=e?- z+QiEBbUnKp=J%NSV*~kkfzILzX|sote@?Ya+H!H2OV)x}anBVP8fW$tNJh4<M}HV} z@~vA50+s?VG*+R%Em=6@J<$2bVK_YTi&oFfEG71AK|!3uNC0YBzU0AH{bJlWt<=up zw)|lutd*%^OcA%0D{xvbx3I)EP5J_yfRb#)W3QF4xcpa*ib<($O?hUQn;)vJ_>}6M z5{prqv(5erzR}GU2tp6fUi%3H#QpSx)yK5e3Eda?R${QXUoJv;MV4FZetadBRt5^7 zMx&BYA#O<`T|X<kYUTspsRft4C$R0n!ejwQn2FkD5w69&snXnToOtrlAz!-X^on5E zQ*;1){IVkcY5@7_-s(knvU3(5)L){ug;y|}`yI`KK6Ba2!e|2Kd(>DQiu<H8e_#I0 znP|(}*NQ(;@>ge%RfZ+iH>H5nz{OWmhz!|&2XsN&*Mw4A%z0A`T{aQsQ)&Es0x%`~ z=uzt>=!YwzAS5uv)-8}}O4Zp<Yz?Zf)W=u3A|wKfx+K}oS>vADL#A}Wv^#f4>Il4V zJ>92A{|NY-*C|GAu?Z!4x8hqRvdC=>&*VYejx<Qg84Shq`957^LXUEvsyhMi8}LEv zydtMzxW9Rsje&YkLaZfVu|m*x*%yydVIwPpR4KI6JQ64tmP8@By^@e6nZE_I-4L<= z2PCgD$gbqTu7r?4KQmCs&2`Moa8f`-fD(&lbpMOE)&y)DHi^)r`(|!dxd~!6gJPYx zro&fPnr1<B2~KFw7mV6DTYhd3YO^zTL@heMP3vFpY_k<1L7XtKI}iwDjE|1`IqbHY ziA3B)-)&_waTbshP{P$PoBf1eZ*7sn=eswO%HkB@-tJSwB>HWWfT2xd4JtXi@r5Nx zs)1P&C}W3-w6Kve!S8!>xu;^DJPqZn4U_`1+)V7qCh6iARh=|KursuZNF?)Z;YNah zLBHK)S@R9qi*WR6UIdVgfUg@b4-e^3qhi{q7s&_phfuUr-DxNQ>=i(IUupuBk-xb; zxNR$$O5l{nSk%j%qe9jp6Gs9@kyNiM-gW*Gg7!*Q*Pyo}W+mQq56l$}nnnd)i==Bz zxv{SNkLwU;GoXd3L*jBm=tw-sO{Sl!5Ok#K9S()N0NV)RBS3Yh4_^Lnbi?Wr2U$N9 ze-Fl2UPHUdNOy&QQHHb!!g?syStX{8fn~u_k@3q~rWzL$eaZPCJ22$-nou!|H^h&0 zHC}7+OIAm_-LnX+o+>#0K{K;ZILevZbkzNtl;tNhC)*Jye<>Wmf-j)pww0yk6H4PW zJW_u>lz<sJG3K)i+fayT)UZn-1gyRLCGVY+wX)tFXmaO?hs@X30CC;Kw0Y(5jvF`+ zIWGLT1V1_c(o=?jt&pq?Nu<%~Oo+z<aQfSVbn1kCZ|)}8|4kBH;o5D$bdAC({IvF~ zKbc!c<@vA_LL>Aks2&lZ1$l(LaKu&r5xl-sQRidD`>X(wR)Gk#^)$eu@4(o2Cwomq z<hw26V*LJ}daEf-pf!J|pk6A|Lg&MedER>0@4tuvPe_#B9Z60I!0tYhe_tSoV-8r0 zAAjK<{MGUBN#{^sGHJ5hBKVd(Y3oPE@YCkvbu%AOnZ)nN$t@)}XV&KR36B=_>@70% zzw6lx3C=AVDxvWqXdz6bIBR`3saqZr!e9-*=v1rvLFyV=xrUVyaPF`Q)h<QS(q(}H zenLB=X<#uNY?P^?^47ib8a8w*a@;H4aO9!uAv|XQZ*-$?<E8<oox4hse6Geqx=$dL z)A#}?shB$$Ds(R=nk9bTanhq2Z(sUV-W0S7?JflUqIj2WHeLRp+x?2KbSnXnIMdJO zSq_aG-=b1RZv!rbTss_vHT0J$w3yM2I1#7x2jhfgx&Rp*PX*VY>7+uT42wo_3wdgw zww_L3w@CmuB9=j{wWiR==VrltPYU-j+X78w&(RfFJ07e2*~?)5jpwO$d1nu;81gZx z2)`41u*TgQ375gNi@R{o<)<`;Bxnq*kUyK`^axXb|1pCL$CXk60;-??&g|$mDXES) zu>XkMA8(4@7R}G!pCYZt-MBRppk#EDA1wb({oVDVZrTWByB!*ry;cO19u1jvj<7hD zs9;Au*vdrV^W~o6M?{qFaQgpMWcmLoEd5_Ud_mIb?K00x8ev8HH#NiL6FkxqEwaQO z{Y`QrRk0eTdTk$W{96U>ojD7?!bdNNYD40GBEwH{+`opB?f;oyPp5b||KCk^|9^oj z|6hI={htBo|F@cLD1!p)$w~Bqo7B{@9R_gCI}>=JGUU0_?HDwY;OFaqPq+TQ4r+4R z0ySHl-<{tM60bW!uoLlnn{^-I0>(tJ_cuNk?H5)*-nxoWCrt*h-8TjWhxE$$n*FL7 zMM~BNiLBUyLYE~rf3{ZhCL&<3M3v(*cEs;@v|Pxv3^R%eu1nvxo|d{1N(dB`WsB?C z>AK%4>)WuU2@^-jWLlnS8q_=R&2)HfGrNzIzNB;en$>|COotv^9x88vE`7kL$q9jY z{^XnQJZRd7-arMh^9$c-_Z~nMuqz4FBMV-os`9pB!+KhOTq+}L6@&1Gri(#qr34Vo zUs&gLwW8QSmKs=(&sp^Z8=_7==yfjQ_HzcB-s=(EVFx$@v@e2#U0pKu5GD5yB!a#s zUWFhwnWip8_L6FHbq>WUFuxQbvhAP9U2q+yhxQWKjJ$p>!x+UEOIUWD9U=2K=0BMb zsM;2IZ|`bvVj|WG%gq^o8=!Mv{r=uXRt|w8p)Ch&Q>@6zn?FhGQ(GCYkcF1(Fui{j z9M@rzzU~=^v5%<fzhrZOw;u8WYkqgDT2h0tnS3iPUwskV2545AjI2{^dJ;hrX#XHX z)`_X?0MdL$0&TkN`b)%i$adV#<p3kEzhaZKQ1l(`8K~>55zOG%@8A5{f#d`Dbnq{^ z9auzF@b`;Q3K@@oQhNSLDX;}R)-yo54`mHM;$W+KsC!4*ESqt4jE>L~{*N|rS#VA! zOgP@g)}x<L?B2BeBM~Mrq06Qq!3-N=?Y$|v7zqb}#rMwdL%hT+<)G`Te0QJv<eG@L z8K(8P)%#2}CnuaHdk8~aGQ_G?sX=v#9CEb<jGwho5+__kbomOJmCEsNVcIRXteC|h z3G_y+Lx&AkZSJ_{A@+UD0qA#ej8FX>Eu|8@QzN6Jy9;Z6n-UN04ucJECuPLdtK%Kq zQt$l2UcJHpkeJY`glm(992akUOFzk6c_QD)Iq9Y4BkPU&RrM=+)W@NktJ3sl+SOGk zUcq8?O>i9%uJwybiK$Q0g1!f`J};AuG6lGt0X2eXi$25ocz^1_L|{`@qz=wOkH@DE zJqH^jPa<cSbW#@1n|O19Z#!kHe;2PGG8ZKUzXd3{$q;mDLq*3DagkTJKF2c^bMdcx z)8FzDdmNEe%K4*rgaqoDup50NC|KOKkuYUpuW6Fs4d^o0J>gU`rZX=L@_GeVn1vP$ z)`O)0M*Q4tpFwn7IRa6{+&N!N`}09Ik%E@XKH#gJot;Kypv6MShBD5VW{RlsqnQhj zcl%*-mHnYVx!bJZN&c1}3qcapGCyB}u#vxlRF#%jz6e@lI=+oml`VL+&gFn{$Hu<$ z(v}NSH`GWraZEVwGjNM@Ie(j%BO$?R!IRtBw7huky3u-NYX$GJ<%um|+IdS!Ae{C4 zT02yT`v;_@<x5pn%BQwVX=KD&b<TT}MkBW=HK{#3DstCbOLJuQXtLJTk(BHfzxYEN z3JF$do%Txeoz}8R#OKFLm<oT~rH>FJ2<<vBYo9-i=mD-@+;Ym{zPYFdm2rWokcBo< zK~*@V@5vI5(@$v&Nf{-(h7-pLae(-hMKBwQ&lmH4X3!gESfZ-8y`k_}=>v|!A6m;b z+$^v<@W7I%E$4HkLMBvTKFh|G-;}LEQ&Y1*@@N){o1V|2m&?4SEw{G=qAr-@9+cV= zK-WS(Fv-n}mz?JUrtL~GxWxZR8n-^}I;39yDG`$I;!SOhhEDeJ&7iLtE&9$&c1YbJ z*IX*6IutQPYQ4Uh4nx3K^S=)9-^4u7!0V&<t}%HwJ8xG%?<nEp3AV|gGo}e6ug^iJ z!gD@DKH++hY#H)C0k6m(Y>Z-`kdk1`EG_2&JsTSGGtWYP<U!A4PfhDAbgZCzw6poX z?YLE#vv!i~*SQJk=*T82uos2s7I-RDIVU&8z(W<8R<U*G-rZymdldvJWJKG3iM|7Y z1~At(HP6v&9|2>=m;}v)e1RTm3Xy{PzRBgPg1X8~YdZ5W&2yr8D~@n_>lmLQu5n(x zoUICzUs0d1VZy}apoA7voUa9Wd6O@T;cpcQ*NJ#VDxdrtU_F&)Vgwy?fjc85GqAD& zDB9O4o}amFXG*lcfAQu!shyX%(WlIM7%9^v>)-9F-COS}kHu+_KIvM)l@3UFs6zZL zk8<E~NKfeDeuBPTJpGMi!@*(vr|*8*@yqeH;ZNJ#P{9now1@4`rW_mieid9X;7Cu| zDR!RXf=FfCzW#F}_;&S$xjmtb?vnC_B;oq6tKT*&jjsh*FagE*_-KZewb9K(rg^Ul z_o+vp{t)D;7av9m6AXUnh*@Y$_vx;>%E<$f@m`3h#G(QP#{ES-3gf%xxjHBcDpvm3 z^H5SQ-~V1)N0yVUU}EIPfxN8YsQc(ywRf1<&D5OzFm3#?R7GkLDoHWjTn{Smkb_!L zIm0_~rxZ-z6&CTBw4yktp?G{Ypv<oZaaDA+8kj##)PTn2xAu|tj2w8<>|j0oq%je_ zUJ#J>cnwV}Sn6iUXli;64P)VF^Iz2!v-1cZ>3p%7wNL;|HJsL5$9V!3yW_zKjja>E zE@QC2VCUf7dX9oV6lyXhMH*LbasYj|E>7gTHVvB320kH^tA}?K4Ev*j&$6B6vFwOc zG~;8JO;h<Pn@oKsepdawM75WX4JI$#jVXXdBKTYwy4AH?z#t0PAG=dlx;N3!jA%w5 zT|!$rXED?>luN=0QRD!_(2hJ1(Fl~XI%3}Q_FV$w&{F!hW1NwioxAon1;_3-M$_8k z0(|_J2x_s^P8^|J4JKD4u<Kf@758s(K?dBNDWi{JjW%SF45YU~w@;3mooGXkv8|xc zPEduQ>-EDkOS2|(Yhar_d~~@F6yu2M8%Vso)`D;s;AsKC!SWVgPBPDgI=nvXct{nv z6VI1oF=}{S`-P;8{qyxK{e4G~gz3V3y_iU`vSWrUt_}1q1R&VvhQ3zyevV!HGXgwC zZ*vxVGCfoOn4RewbxSmo;7)R*yJ1W!RB!A23?_Y(72TF3SM%(j-o6iAgJ^DKXZ{em z5PSN%w0<Z#q7}A2s*Q(ysbI*Shi1gL6+o4^<`xif<Om98q&Q`O6gx?xqh$p2M81o$ z@vm`a9sI#n5%*yRCY0^~ppm<MuQtRq0By|>&;)gUeFY}NE#6BY=L>imH3{y>L*T%F z_E5xM!4_|Cs5}|ARC49E?=}S6&F>k+D7jq*t2@vut&R*nWfp^i!^t(nI<R@$46B=| zE|tPc-mxO*X;2Q1{e(!x7S(=wz}2VY(zQW4ql!EpmYyTt*x<mu&wN0g>Vx`Q0VLd( z6ETi6ccx;}hj3w2Na7*6WZ_Ub!i?s@zkmKf$Nqld?5Jyei8$cDa&eau?i5b$*L78b zfOF8`2aEyq9X)sEb5&8s^;YZXX2u-$jJH5pobR2f{*#SY;iRLNO1MSg0{+^i5!bk0 zSU?uNs<{jIDtfS4HV1Zv%NqWkkzxOTws9-HlQT_i$fIEGUrJ3CWp;Ih>k^Iri=L+T zq%burTx#e5*ni|Wa=8P8gQaMOi5!tHc|_Ch*#!%l&ulObU)lb|JGSeft`OZo-?2c9 z%INSgHszJa8!Yl2)Or*KLWHcK*He4lapdOg8MK@!3&YsRgY1cjxQ;A;JdpIuecfje zg;<-75QK=*4f#?CAzP4ry4DxlcX5x)P#gGfFhMwo!6d2;9_=`(jY+iRYDQGW?jph^ zH2bR!<??*A7gPW7+ZRbR?VQ`a3vcMnmPQYPn|R~?3@4m+toJl`R$Wh*a#Xwj0h>ny z?1GBQ_8G(J3y~ByxcmJZyoCYP>~GGs39<x}b7)qUtpgP*?F;f->Z{ZN&Y`l?fmlKC zH%Go95TMVRV2r-c`TgL<#1yDEFyvXBCb9SIMIUsFH|L4<#g;Y_5RGzy;)Tqo0!mID zw->)(_;`Mo?S6TIv^?Jb>K3){jU@{j*8l$vL>;;-=8tDC_u`$T<{20gHT_t{M6co$ zEk{2MzW76f8aEP9RO`h7^MrRbDyX4=HvDS;Fly6OBQZETiD4-Kda*;IDtUVT()&?< z3Pr#Ha^_~|84v*txFZwNO{;?wAN8WS|Na13XPoJDaBr(u2h6Yd;th9|y?8k2gZA$@ z5ctR7esFkS^<6+PC!S-G_&DY&u;fB%GwVWXINsMbsYW~zqQyKvL9drOH<hi)OjU?m z2oVPwDYsA+<Q?bdr>1aIZyz2VjdNNI?smuMh@Qpp38ZCSD2qXX%4FgPc5jEndwvz> z7J%%CX&LNSHE?tK4!;+SgAP_lwkt#Inku&`GTyVEW=D|mwP|L521{xOg4YG^MgQ#f zo9S(|c!tb~FOy_bG*@m=b$?M|1C~x`ekLtoC=HLjIWF?FdRV4f*{XS}HNPLyV2#r# z0W9h+wcXUPV>qYaW85#=N;LvYeB8o|m<iKuo$vWLys|>gTBaxQnyL__T8#krY?O;= z5fwh*+bX^gdyS+ZAJHZDO<18re8=0@Xf;eO5LW`~nq)zpT2Rc9b(O^|!&+jD(-l&& z7_W$fQTIOKI5}lqW8rdm-hJT|$D;5$$HCg++sz!E_f_7;o`8d6Wa1~$eN*nHzSk$s z1%RiU_=dRIpQrmyn_2k1_$lvp-ZSx;t18CABLd`5LSiLmb!{vnBh_LY#&jc_(q(`Q zqq@IDa^FY=*saaNWe>u$JJoWc=8L$qQ8;y~f$B=}iD-VA64gbc3`msDhP|_!q(XDR z&eV=V17<60K$?37Gj~F-*D<8q&m}HWEUv&gh09n-S2N_rDGC_d_`|u=A52}fdpGNh zu8Im5tzxEoD^HuSeR~AqZ?1^Vgcj61&LZi$;Bk>;U*#%R-$x16e)5-JZE7-1!}`GZ zrURbnMDeXFlw|BUB>O4k`IXJr0_E3dpsupb3~rr3?rlEb>JoiH7lKx@wTKm{8ZXSQ zV3ZvxzYjLHHLupMunu`cV;L^>2_(mH(p|VR=H^0zWh_0J02A)Ut0wTS)d2q_@WwP1 zwj<EKD!Af@Nvpq==0+th5YBySjz6SX$L{t6oSd$%bIXQ%Uqz4pwRe<-Z||QDoj}%u zd4X#Y+E=#r15X&`j3!JamZeKq2nbB`K4`J`E%AP>8Iu}W(qf(j4{VBP0q<Ln2tN%G z1!fD|h)ZDhQy22Anh?w!APH=U1~E04_=Ipr8|~g=MepOc;0=;;al1E|z>heMfa(iK zxogalg8o@h-6RmxO~+cO>NGFHz-l>3W`o=9rfUQDgf9@jV%0s$z96L}=pr?8nwv+& zigvU+@fjYg?A5SJu1V9kA7I*Z^WUnw&Zs83ZVe(J(wnbJRRIym3#bqvbfkn{1nFIn zk^qT-5-ExTil9;gh*W8!fHZLk#R6i0fOLT*SV%%kKw2mPzVO~3-&*(AU3Y!=$DLni z=Il9ppWV)xnKk>td&7e=R3wp<Y~$0ih!uFa66a-t5X=d~qWSv?HpSzS_=DyVlFMq< zuYEH5KI{we{<Ry;L--x%I#oMOy++qx(A5)T`==gKSXhvW<6{t~2%8oPeq`M5w?`&0 zh|PPiI~BLotFVy})qs>*O;-bh(n4*&%vGtExAjgiT0m3&&HMiFX8q~JOp;XyoH_#b zaM-9M)lE(ehpD7D7sU^tvCpUf{vqn|q92>`Qvs^X0JZ-_B}KAnVT^Zkr{$DxySHt8 zlXGv+wL)W&<a7%TiT0+;Te>a5rOz3+25N!ZJ}O|9e=LCZe0wKnAa^%AC?q=csq>tg zD)SQ@^?Ir0<jZq~XJHROI+tp9l~y02(IMpYIYDr@jf)@Qp?i;prGbm*TrHwgvnQq# zIroS|vnrZZe8YEuL(m6d*tU7r)J=rCHrgLYe#h0Pz^(2B{Jn>#4E!;lwMfXb6CRtL z7{#B;6_aO2CU&|nn^pDLZQM7ss`$F06@5D&SrE8nBO`8)n}6n(uUy>zOO+0FbugTU z=WEU~qCVxs)GkLN^F1<g{0TZ5;*e8}qODqDeJ=*MDD{Kas0g9)<H*c!Oaae5$1s9= z1SR|W1N_=?mZHN;N3JcOJDyPdv!{UPaCPDR53er!1095E1wLcDld|uxYaq#dHz=aB zDRLEjkZ}IXm%bKC)y{IzbVJyeeTHk6kDX!V%5qO_KXW%Dq#i6|ivVpV9W}4*CO*~2 zHh&irk_S$pjE=}o_=cGk&$=%0{$CQmxE=%QTYa&_JCvneOTp`+d*b!nFrj*zN#5p? zqph9OLEBm+)7{1IR9+xUyCP~qnLgE_L*=b!p5*uGNKpIwh)*rBeysrB0s`w>-Dfm| zk2<X8PU%_DpY1wJN$m!NnN`e2;0UBR51Y-TBTP2?hy$%6Ig}Brx#YEYV20`!XSw?h z^t%1b^NgM`FWTbI$QK8cF`|Ga_BV4_<nC|hf0)<O5Op=+X)(lw+wKHX;S@<{kh<Og z?y_Hf5AOhJ#@}u9TAmj3W%fqTAmiJc{^{B2)4||vlQQBPqkFz^8QBRKb6w@gyBMht z5xG((SM~WJD*O^hAKMKRUIqbqHt8m%L;vn&W))n|ips@B#LPbvEt@9!VDMf~yat&Y zIl|%?5`L_5_6%-hV0Ayt6Foo36x9N2q}7UVnI9n>YU8k785y&y`H!$>$vL}CaW)45 zUIIz}=90q~m)}(4Zch?VzMm2+y`b5@jc5dyIUxQzw0ZPD{_y{*$!PHFxy<u{Sq!v% z#We8B83C5<>AYd;f;;1g1$;>Cgfk+Q`1V7F+j<f^8ea-ldOLff-RG`s%N#Ga5?~zW z?2QG*eEv_9YEWDd1;lV%<E(c3&)h)l9B+%Zg-O_Z5`cUO#;@XmAu;%E8h(yfQ3)We z{pQ+2#?dtXcVaCo?*`C?j78X2{G=-v--=Dw#wKtF^E&{Fc@{ze&5K4SMDD)My6@6D zS>a#q-#l(4<KiMH7;EQm>uk`@&JMLbdUk!*L3t>CSTisnFe-RgdZ%y~^*yiM3z-Da zDb)UoA%?iZ>WAo(YYirPVQFL=q{NzbSkkh7oqt*!@ieZ8qmOb-=hl%<Q$mbvNZjfg zt%K!+>A2XB@^)3btr|5>J<F}w^CCibVnjmQCU*18zINt)6lA-6pm&nZN5=`jb%k(! z`lnmdo$F|EOa9N@<HvZSf{`H|j5dl|wTOycIr?6X<3ba~O^2aUQhmA(m|*8gIQw4% zJ@vkJMEAN?rh1E%ybAc%m_*M)isd#UGiOXi#OECN!hmm=ptI3N2nP=gj+^NB;OuuT z7c%amLvWyLTgm+r)z$ZHCQEQsZg*sk)72NuA4)(en$o3t#~?93c5zfEwUgSJO@Nx0 zYV>P+?pb*<%~@Bqom-j_wM4pN-UV*FBdou>-t~<qp1b2k?k$+@UR(maHt#kps<Ut{ z%2%syFDY?;J=dVwkKi%ysdYE}TFm>KSNm~n-)xg$w7mI;yaR|kKepnmInIB(@W z0_#4Dt7w@vu*#1JZhLx~Khn}>iK2C!y(+vkCtVr!%KO*{-bqP(#Y=6SQ2RCFaBYO} zz2sri0Ljo}e$};lp(IA*Dt8I-0q3hL9kyV2kHj!WA5No%-xBCSRdt-h(V^dNluzOJ zrNe0UA_~$rE8~qld)mevmp-?XKRU$f__0KUz_IS9)LjO{_{x)cmot1mCD%GSB&VxR z<F7YG1vdk+gMano><g|sC>Rvov`v*JR%K~fkt;Iv@23LAlAjjK4E%{p62x+;^K6R9 zY$2t{<S-wO`k91SvlVFD@tGl)w1OFO$&rfO{DI2%UKsI^uXsep5g!v(&MhtbUIRhY z_9buI3nP^>wR0j;vf_(fT$88V-`~qM?mc57Sg$3d)$=U!o`9+Q-Q0VzZ4|ES4#Q+s zUs+g<V3;{%;i-W(8v@BTn(%tCH&^aHzn@z3(gb;v&7ZbffO|vRSe&4X<U$?-jd|?j zBCl!*21Qn1oKSKu$Z{<M(|`}_N~biXviaz4ysFVzkO1`{<ZeOfWX3)xYhsr8t=B>y zBT>Qvus1L5Wl=wjW#GbwjS8mSzy6$G>etGE-&c}UAvcfPHD=0*7IMg$C!O0J`{bg< z<tf7p|FRd_e0mp=<J_&OPH&sc<gm2wY<@$U%+$8Me|#a~M=C9u<{}z&?Jia2k}*|` zF87sjK5d1wIZLbHXRemd*j0%)<$fu&#C`(Qh@I!We_*)WWi8(iPX3BgYOLykQ6Cwf zMHCyKowzzTYNur)!*2-N2|n{&LdB4BF~6!hhIQsRA@h6d$Wy0K#!Kx0-X`yS*4-vx zkM)ah3K-@y7=gpZZ)Z9WDwa(3qQigvcDb*v0u$(w6E3~wPUerj8k56wMq<mTUqYPv zx;)(~Nxfz8LNM)mrh@6P_FJbY+*)6&)LWTBv*))SmGztMtG`-+J{C++QOmV^HG8$l z^;_+N%L)s0wcQGeb$TPiW<LmXK2@#7EUMdsN1-h6+H`b7P1+Ixg(+ydd;pSON{xD> z{&g)Q$xFci+b!pK@A%nq`4U<D8E2=>tFl%4Q*tk!)_n9hZQgo;B-vfwmI%LS{`drH zFSM(KinxjM2m)PEG@Y?-L8OO0=!A!=eGKkitSgbZ^BVj8<Moer1)x9dCqqoS>=TaH z0iR#?U`Io}Ch!-jy?o$Pfw!j&=<qy$?T^|PWF*qGzM`b;r+MU+{Ar4aTC@Z;@isq> zTo~kdG#^#|)!~)8fSaqQsKX;5GmSG~bmvQUW-zOxjK8?|y~M9qS7$S^*it_WS29|r zXY?rvpOf*sDsfgxf(H8w>0m{~r!GlmB%cRa*bWDX=0m){$`7B}Hdp1+{R;^>14-oW zX)qgIss5E~YsM<9^&s~YSOSR@6O1xE%KImDpd(u;4}%TIfp|_rc6j%ahQZ!E*6ucJ z>-fjF`w8iT!$Do;lE~;64HuIywrEeYMPo(4El-EYn~-jtmD6MF0N4P!{Or5nByu8k zi^J71{YfQ=H)%5KSKmsjg$>)sNE_XwA3|u28W$^XzV5-p3TMz+8%jm?s9TR6gO|gX ziq|2lQBLgI<af%!)OR&DeAVxP#KqBe@;MtF@;jp_j=<8b(9md8M<U+Q)Pgbq0;#P& zlZZ*#8!vryZW;J%WpAYr!bx;1$w&6LD>tT^zWOo4w&2CS!*LNjl4!Q@w+cM~e>=9@ zIuzM&wRYxCZEH0A0u|7d{iW7|@qd($aR{gyKyMW&=VClAWD6k&$0LZJ)#zudU0JXf zPRw!+|8OAonuxJAMC+cDss#v|Kppdihg;3nVc$TDR<AIj3vOi3E=uIb93yF=&D{LY zEVo+07hk2b$<~kEtILD1WK}Dxv<Np`(s14+@ub7xkNRbx;QSBb;(p6h2c-lBGW?}_ z^0u+u^wy(DMfYpVxhUCqT*R_fcp;}v05eUp=3#zuq~?!NpXVbJj|L9NoMWQGtjq<~ z&V#4w3oEbYhrpROxfHFfc<Qq%(|*e$VDLk$hp9QMg}bnq2pp&rq`KYgy{)(i79aK& zd`nf_KDV)5h}uj26v_p~goO&gkms{cFF$v@fEv`<cfu|XRFGR1(xV4??+o!@J?&ab z%hr>Qjqk=wl|2lhm0N!u__0}t0s64$aQ}Kg7p?2+-v%frC6i?~)ufD6!RcLmeqw=+ zh25Ug7XaghDkCC3R;T%+o%kc2Pp21h=XJ8i!sMA5L!tKfago0<WcWvO&981NuiLZk zeEw4}Kn3_6hx(5ZKSeyZPjyFPEGlw=pJyF;eLIPVNtCS1_n{Moz7}^WElW76QP$pa zfG6J8+^X+Hp776t)sZI&Scs2<_Ckj<&#?H?qAwCWN#<Dfu4t>4ybo=?ce<4NcJFgX z(8ahHjiYRWH|V(##;8Jb^%FxP9xz1C)N9E=r_Xx<<a7;Y<Xno9zm5DnuJo(%eyrwk zaZ^i7+AM&o7D(oC_4zy@u$;He*X&JraoNgXPSE^Piv8N3kSTlzi(imP8yP(@szhRI z6RJMP*zx}m9$=D7F|T9=y#v}UOf(e9@P>Zg#ETa;3a6Lv^e`9Tm9$?Cpq0qe=DLci z+D5SLws{7KXdN}r5W-kY@^@Lu8gqa@B>v>W%cqzxdHPm1ZeMw8)25L#KD^0m+`p&x zxb*eQTO}>#2U6zD&D2b)9~=^$cO>l#+m{ayaC@M2^YJ;#o?FU{y1}s-s|1tZKgk=S z>^G1h$A<>pUT#BzI_%8&?{K$gsO{VixvXni=O15E)MB!xSA4CZbL*?Mga|9kCl!IR zHUYZ>t)ZcS2}81P*mr%b%M!1cyk=^<51VXYJvg*@R%tVdH|s?=@$KD=M!eRCn<Sud z9Z68}XxF_m&uvM0&&u-O4qa4q|J0R}9N`SE^?SF9&63<2j0Lag>7xzh9!UPGN|zv9 zIU1ozIC^QUPI?EVgf<GFAMHkr@X`&F#mX87*T}UK-j)NyUm)8DNp0BOwnzrDE$#Tf zncU!RiF^=On+wqlqYuO^9cQ_jH@)ChQp7A%Fi#{Debutugn|>S^SS9UeXw_BQGsU{ zRe^IX-+W*SEpNC<9N&VNh2;0k|J*PlWag!5wjKhBB}C;(GQNK=W`c|9M~BMyS^=y# zu?q;PLy)dwM<+C@D@^{7$_1f_@W#v}9pYx)C>r{N2#aqdsLmWO!?U>FhyeCz*MgjB zO3;Q<QBvGKZLBh|m8hN9iva(|Jw>q1RXiXO6_?FVXHP%yUEOB~q}$&h^d4u+ZbvbU z(Zj+$Oy;H_CHfOY9TXU`Jwg$B))cP_xLX4te9y?7o%j>6EH_D0Jep;$%9uo4Lrvp) z3(OGj%CO<NE{`*{zkyx6iyq0?Btf4~rN(zja#&9&_3df!%Rq<w<mtGrt;waJ9oifG zG9Q2E{Z>9taY<_`?i}I0VsFw&jBRZq{~)7S3kt9{jg%sG+Xsi=;B_M2mAMe3eM=25 z!Oz;c=!ptHS`gjCcjBlN%Zrf3zhB}Z&qLN`G0JplC)Wr-wC8+1&ND}hoCM!8XkU<0 zX*P(>U@EGdom99}lbA$GzuZ$^lBAI)v&R2ppt``Km_*YgJbdIUUwh1`60>tDYT!W! ziT0#L*4W8hEE}aDt4K#-R^sLowb37k{tznvkUh4Y$$MV_gLX8j)|v_RR?}3Br!&Sk zy>cMgW?ltHr{-^}%Nr_2`{qpMc|J`U$*TODw`;pz@@8KzjI*t3i}~cdGT5KErGbA4 zZZWFooS*;wlZ{Z-N9EjbMPqaiXK&|0+pY;i+(mFY0x;!OWhdGjrD!;*Fk;X1o0lUz zGwWxE8DJ!ck`SL9>v^~N{dJ!QU-iZvfS2i7_MJJXxoDHLJ`gY%l`+^0tAjdcW9V)` zCcZ4K7bYY{3m_5S&;Uv=2(d?frh9j}h#0>{#x;iol4?1|7W!f>ILDw&pUaL@rhi|) z19PQWGK`|7U511Mi!x<NQ9_f0GTqw<ibZct;AMPTuTDx$+iDX7j(rx_Ahx(NbRM?0 zk8OPN=RIS=%!L+gTLX#u@rtiH6OUxOkw5R87EmxAJ&l~e)1RX;DKeHBW|znF+Jz&S z!##M?pdW)I(Le`I-b3rVct}Ls_GbHrTVD;A?%ukg-i_oZULD_F%ryK7+7s(-G-xKS z>y;!<LgS3MiepVu4?wg!Tpv~RZq?UqO4u_`qVh8E5<pNo@QovOQ+2%s!8^(%x4UHM z8|yE>`lxyZ-*FqCC)M6rTKiEEOdXvb<&3(ySDd&Y!&IX>cdtj-vYJv06q$n-odCZs z3yO(6_%+%reT>u}ei9va_KzfeAxP7?Z3?>2C!4V8;!0CJNK|3osv9p)=QxDfn_3{= z81NLm8D@SM-v`H-m=m=nc$RN!%;;}TVj@;B5%^f<PBRfIJVq)IHvT$t%<!uOfSYv~ zyqk3}W_J-v_m98EQrw3h7u^ATX|rtv$fCjfKd*H(WDc{D!1_V6vgN<?(*L0K;>bg& ViS;`N^w=RW)Y$q;t)ch5e*yYg#i9TJ diff --git a/features/project/merge_requests/accept.feature b/features/project/merge_requests/accept.feature index 772a2407a64..2ab1c19f452 100644 --- a/features/project/merge_requests/accept.feature +++ b/features/project/merge_requests/accept.feature @@ -23,7 +23,6 @@ Feature: Project Merge Requests Acceptance @javascript Scenario: Accepting the Merge Request without removing the source branch Given I am on the Merge Request detail page - When I click on "Remove source branch" option When I click on Accept Merge Request Then I should see merge request merged And I should see the Remove Source Branch button diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb index 009ecc9b263..e4d2a992470 100644 --- a/lib/gitlab/regex.rb +++ b/lib/gitlab/regex.rb @@ -62,13 +62,5 @@ module Gitlab "can contain only lowercase letters, digits, and '-'. " \ "Must start with a letter, and cannot end with '-'" end - - private - - def single_line_regexp(regex) - # Turns a multiline extended regexp into a single line one, - # beacuse `rake routes` breaks on multiline regexes. - Regexp.new(regex.source.gsub(/\(\?#.+?\)/, '').gsub(/\s*/, ''), regex.options ^ Regexp::EXTENDED).freeze - end end end diff --git a/spec/javascripts/commit/pipelines/mock_data.js b/spec/javascripts/commit/pipelines/mock_data.js deleted file mode 100644 index 10a60620f49..00000000000 --- a/spec/javascripts/commit/pipelines/mock_data.js +++ /dev/null @@ -1,90 +0,0 @@ -export default { - id: 73, - user: { - name: 'Administrator', - username: 'root', - id: 1, - state: 'active', - avatar_url: 'http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon', - web_url: 'http://localhost:3000/root', - }, - path: '/root/review-app/pipelines/73', - details: { - status: { - icon: 'icon_status_failed', - text: 'failed', - label: 'failed', - group: 'failed', - has_details: true, - details_path: '/root/review-app/pipelines/73', - }, - duration: null, - finished_at: '2017-01-25T00:00:17.130Z', - stages: [{ - name: 'build', - title: 'build: failed', - status: { - icon: 'icon_status_failed', - text: 'failed', - label: 'failed', - group: 'failed', - has_details: true, - details_path: '/root/review-app/pipelines/73#build', - }, - path: '/root/review-app/pipelines/73#build', - dropdown_path: '/root/review-app/pipelines/73/stage.json?stage=build', - }], - artifacts: [], - manual_actions: [ - { - name: 'stop_review', - path: '/root/review-app/builds/1463/play', - }, - { - name: 'name', - path: '/root/review-app/builds/1490/play', - }, - ], - }, - flags: { - latest: true, - triggered: false, - stuck: false, - yaml_errors: false, - retryable: true, - cancelable: false, - }, - ref: - { - name: 'master', - path: '/root/review-app/tree/master', - tag: false, - branch: true, - }, - coverage: '42.21', - commit: { - id: 'fbd79f04fa98717641deaaeb092a4d417237c2e4', - short_id: 'fbd79f04', - title: 'Update .gitlab-ci.yml', - author_name: 'Administrator', - author_email: 'admin@example.com', - created_at: '2017-01-16T12:13:57.000-05:00', - committer_name: 'Administrator', - committer_email: 'admin@example.com', - message: 'Update .gitlab-ci.yml', - author: { - name: 'Administrator', - username: 'root', - id: 1, - state: 'active', - avatar_url: 'http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon', - web_url: 'http://localhost:3000/root', - }, - author_gravatar_url: 'http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon', - commit_url: 'http://localhost:3000/root/review-app/commit/fbd79f04fa98717641deaaeb092a4d417237c2e4', - commit_path: '/root/review-app/commit/fbd79f04fa98717641deaaeb092a4d417237c2e4', - }, - retry_path: '/root/review-app/pipelines/73/retry', - created_at: '2017-01-16T17:13:59.800Z', - updated_at: '2017-01-25T00:00:17.132Z', -}; diff --git a/spec/javascripts/issue_show/issue_title_description_spec.js b/spec/javascripts/issue_show/issue_title_description_spec.js deleted file mode 100644 index 992ff1a331f..00000000000 --- a/spec/javascripts/issue_show/issue_title_description_spec.js +++ /dev/null @@ -1,78 +0,0 @@ -import Vue from 'vue'; -import $ from 'jquery'; -import '~/render_math'; -import '~/render_gfm'; -import issueTitleDescription from '~/issue_show/issue_title_description.vue'; -import issueShowData from './mock_data'; - -window.$ = $; - -function formatText(text) { - return text.trim().replace(/\s\s+/g, ' '); -} - -const issueShowInterceptor = data => (request, next) => { - next(request.respondWith(JSON.stringify(data), { - status: 200, - headers: { - 'POLL-INTERVAL': 1, - }, - })); -}; - -describe('Issue Title', () => { - document.body.innerHTML = '<span id="task_status"></span>'; - - let IssueTitleDescriptionComponent; - - beforeEach(() => { - IssueTitleDescriptionComponent = Vue.extend(issueTitleDescription); - }); - - afterEach(() => { - Vue.http.interceptors = _.without(Vue.http.interceptors, issueShowInterceptor); - }); - - it('should render a title/description/edited and update title/description/edited on update', (done) => { - Vue.http.interceptors.push(issueShowInterceptor(issueShowData.initialRequest)); - - const issueShowComponent = new IssueTitleDescriptionComponent({ - propsData: { - canUpdateIssue: '.css-stuff', - endpoint: '/gitlab-org/gitlab-shell/issues/9/rendered_title', - initialTitle: 'test', - initialDescription: 'testing', - }, - }).$mount(); - - expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('test'); - expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('testing'); - - setTimeout(() => { - const editedText = issueShowComponent.$el.querySelector('.edited-text'); - - expect(document.querySelector('title').innerText).toContain('this is a title (#1)'); - expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('<p>this is a title</p>'); - expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('<p>this is a description!</p>'); - expect(issueShowComponent.$el.querySelector('.js-task-list-field').innerText).toContain('this is a description'); - expect(formatText(editedText.innerText)).toMatch(/Edited[\s\S]+?by Some User/); - expect(editedText.querySelector('.author_link').href).toMatch(/\/some_user$/); - expect(editedText.querySelector('time')).toBeTruthy(); - - Vue.http.interceptors.push(issueShowInterceptor(issueShowData.secondRequest)); - - setTimeout(() => { - expect(document.querySelector('title').innerText).toContain('2 (#1)'); - expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('<p>2</p>'); - expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('<p>42</p>'); - expect(issueShowComponent.$el.querySelector('.js-task-list-field').innerText).toContain('42'); - expect(issueShowComponent.$el.querySelector('.edited-text')).toBeTruthy(); - expect(formatText(issueShowComponent.$el.querySelector('.edited-text').innerText)).toMatch(/Edited[\s\S]+?by Other User/); - expect(editedText.querySelector('.author_link').href).toMatch(/\/other_user$/); - expect(editedText.querySelector('time')).toBeTruthy(); - - done(); - }); - }); - }); -}); diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index 77e68d578d9..bfd8b8648a6 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -622,22 +622,6 @@ import '~/notes'; beforeEach(() => { this.notes = new Notes('', []); - spyOn(_, 'escape').and.callFake((comment) => { - const escapedString = comment.replace(/["&'<>]/g, (a) => { - const escapedToken = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '`': '`' - }[a]; - - return escapedToken; - }); - - return escapedString; - }); }); it('should return constructed placeholder element for regular note based on form contents', () => { diff --git a/spec/migrations/update_retried_for_ci_builds_spec.rb b/spec/migrations/update_retried_for_ci_builds_spec.rb deleted file mode 100644 index 3742b4dafe5..00000000000 --- a/spec/migrations/update_retried_for_ci_builds_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -require 'spec_helper' -require Rails.root.join('db', 'post_migrate', '20170503004427_update_retried_for_ci_build.rb') - -describe UpdateRetriedForCiBuild, truncate: true do - let(:pipeline) { create(:ci_pipeline) } - let!(:build_old) { create(:ci_build, pipeline: pipeline, name: 'test') } - let!(:build_new) { create(:ci_build, pipeline: pipeline, name: 'test') } - - before do - described_class.new.up - end - - it 'updates ci_builds.is_retried' do - expect(build_old.reload).to be_retried - expect(build_new.reload).not_to be_retried - end -end -- GitLab From 72abeb6be72138747b241dafbf16b347c5e876f0 Mon Sep 17 00:00:00 2001 From: Mike Greiling <mike@pixelcog.com> Date: Fri, 9 Jun 2017 16:17:01 -0500 Subject: [PATCH 204/249] resolve more inconsistencies --- spec/support/wait_for_vue_resource.rb | 19 ------------------- .../validators/dynamic_path_validator_spec.rb | 1 + 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 spec/support/wait_for_vue_resource.rb diff --git a/spec/support/wait_for_vue_resource.rb b/spec/support/wait_for_vue_resource.rb deleted file mode 100644 index 3bb3d9c2e51..00000000000 --- a/spec/support/wait_for_vue_resource.rb +++ /dev/null @@ -1,19 +0,0 @@ -module WaitForVueResource - def wait_for_vue_resource(spinner: true) - Timeout.timeout(Capybara.default_max_wait_time) do - loop until finished_all_vue_resource_requests? - end - end - - private - - def finished_all_vue_resource_requests? - return true unless javascript_test? - - page.evaluate_script('window.activeVueResources || 0').zero? - end - - def javascript_test? - Capybara.current_driver == Capybara.javascript_driver - end -end diff --git a/spec/validators/dynamic_path_validator_spec.rb b/spec/validators/dynamic_path_validator_spec.rb index 8acd2743f2c..8dbf3eecd23 100644 --- a/spec/validators/dynamic_path_validator_spec.rb +++ b/spec/validators/dynamic_path_validator_spec.rb @@ -23,6 +23,7 @@ describe DynamicPathValidator do it 'handles invalid utf8' do expect(described_class.valid_project_path?("a\0weird\255path")).to be_falsey end + end describe '#path_valid_for_record?' do context 'for project' do -- GitLab From 4f2af4258bd5b066357e519cca946fa2437e2f64 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Fri, 9 Jun 2017 16:14:54 -0500 Subject: [PATCH 205/249] Remove duplicate method --- spec/support/prometheus_helpers.rb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/spec/support/prometheus_helpers.rb b/spec/support/prometheus_helpers.rb index 55c11abe3f7..e8a950c03d8 100644 --- a/spec/support/prometheus_helpers.rb +++ b/spec/support/prometheus_helpers.rb @@ -13,12 +13,6 @@ module PrometheusHelpers "https://prometheus.example.com/api/v1/query?#{query}" end - def prometheus_ping_url(prometheus_query) - query = { query: prometheus_query }.to_query - - "https://prometheus.example.com/api/v1/query?#{query}" - end - def prometheus_query_url(prometheus_query) query = { query: prometheus_query }.to_query -- GitLab From ca343bfdb9a308e29d666f5c64632deb8d9fa83c Mon Sep 17 00:00:00 2001 From: Mike Greiling <mike@pixelcog.com> Date: Fri, 9 Jun 2017 16:25:25 -0500 Subject: [PATCH 206/249] remove lines that were incorrectly reinserted after 4f824d2a --- spec/support/prometheus_helpers.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/spec/support/prometheus_helpers.rb b/spec/support/prometheus_helpers.rb index e8a950c03d8..6b9ebcf2bb3 100644 --- a/spec/support/prometheus_helpers.rb +++ b/spec/support/prometheus_helpers.rb @@ -88,10 +88,8 @@ module PrometheusHelpers metrics: { memory_values: prometheus_values_body('matrix').dig(:data, :result), memory_current: prometheus_value_body('vector').dig(:data, :result), - memory_previous: prometheus_value_body('vector').dig(:data, :result), cpu_values: prometheus_values_body('matrix').dig(:data, :result), - cpu_current: prometheus_value_body('vector').dig(:data, :result), - cpu_previous: prometheus_value_body('vector').dig(:data, :result) + cpu_current: prometheus_value_body('vector').dig(:data, :result) }, last_update: last_update } -- GitLab From 5d5eae4c5781aee305cea1607d4f846cbf3d88a5 Mon Sep 17 00:00:00 2001 From: Clement Ho <ClemMakesApps@gmail.com> Date: Fri, 9 Jun 2017 18:05:13 -0500 Subject: [PATCH 207/249] Fix bad merge --- .../components/graph/graph_component.vue | 18 ------------------ app/models/commit_status.rb | 1 - .../merge_when_pipeline_succeeds_spec.rb | 2 +- 3 files changed, 1 insertion(+), 20 deletions(-) diff --git a/app/assets/javascripts/pipelines/components/graph/graph_component.vue b/app/assets/javascripts/pipelines/components/graph/graph_component.vue index 61cd623dd00..77cbaeb43ef 100644 --- a/app/assets/javascripts/pipelines/components/graph/graph_component.vue +++ b/app/assets/javascripts/pipelines/components/graph/graph_component.vue @@ -48,24 +48,6 @@ return className; }, - - isFirstColumn(index) { - return index === 0; - }, - - stageConnectorClass(index, stage) { - let className; - - // If it's the first stage column and only has one job - if (index === 0 && stage.groups.length === 1) { - className = 'no-margin'; - } else if (index > 0) { - // If it is not the first column - className = 'left-margin'; - } - - return className; - }, }, }; </script> diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index b9f1948c9eb..55c16f7e1fd 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -89,7 +89,6 @@ class CommitStatus < ActiveRecord::Base else PipelineUpdateWorker.perform_async(pipeline.id) end - ExpireJobCacheWorker.perform_async(commit_status.id) end ExpireJobCacheWorker.perform_async(commit_status.id) diff --git a/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb b/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb index 67c608da59d..09f889d4dd6 100644 --- a/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb +++ b/spec/features/merge_requests/merge_when_pipeline_succeeds_spec.rb @@ -101,7 +101,7 @@ feature 'Merge When Pipeline Succeeds', :feature, :js do click_link 'Merge when pipeline succeeds' expect(page).to have_content "Set by #{user.name} to be merged automatically when the pipeline succeeds." - expect(page).to have_content "The source branch will be removed." + expect(page).to have_content "The source branch will not be removed." expect(page).to have_link "Cancel automatic merge" end end -- GitLab From 2865d0c3da01ef84add236b2bb09c96ca726c87e Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Fri, 9 Jun 2017 20:16:58 +0000 Subject: [PATCH 208/249] Merge branch 'cache-diff-size-limits' into 'master' Only look up diff size limit flags once per request See merge request !12048 --- lib/gitlab/git/diff.rb | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/gitlab/git/diff.rb b/lib/gitlab/git/diff.rb index 8926aa19925..88ad760bea3 100644 --- a/lib/gitlab/git/diff.rb +++ b/lib/gitlab/git/diff.rb @@ -23,6 +23,23 @@ module Gitlab class << self # The maximum size of a diff to display. def size_limit + if RequestStore.active? + RequestStore['gitlab_git_diff_size_limit'] ||= find_size_limit + else + find_size_limit + end + end + + # The maximum size before a diff is collapsed. + def collapse_limit + if RequestStore.active? + RequestStore['gitlab_git_diff_collapse_limit'] ||= find_collapse_limit + else + find_collapse_limit + end + end + + def find_size_limit if Feature.enabled?('gitlab_git_diff_size_limit_increase') 200.kilobytes else @@ -30,8 +47,7 @@ module Gitlab end end - # The maximum size before a diff is collapsed. - def collapse_limit + def find_collapse_limit if Feature.enabled?('gitlab_git_diff_size_limit_increase') 100.kilobytes else -- GitLab From 0d9311624754fbc3e0b8f4a28be576e48783bf81 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Mon, 12 Jun 2017 21:52:56 +0000 Subject: [PATCH 209/249] Merge branch 'winh-ignore-CVE-2017-5029' into 'master' Ignore CVE-2017-5029 in Nokogiri Closes #33597 See merge request !12109 --- scripts/static-analysis | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/static-analysis b/scripts/static-analysis index 7dc8f679036..6d35684b97f 100755 --- a/scripts/static-analysis +++ b/scripts/static-analysis @@ -3,7 +3,7 @@ require ::File.expand_path('../lib/gitlab/popen', __dir__) tasks = [ - %w[bundle exec bundle-audit check --update --ignore CVE-2016-4658], + %w[bundle exec bundle-audit check --update --ignore CVE-2016-4658 CVE-2017-5029], %w[bundle exec rake config_lint], %w[bundle exec rake flay], %w[bundle exec rake haml_lint], -- GitLab From fcd47b1a510a0dd78e9f8435191a0c7ddbf59755 Mon Sep 17 00:00:00 2001 From: kushalpandya <kushalspandya@gmail.com> Date: Fri, 16 Jun 2017 21:03:32 +0530 Subject: [PATCH 210/249] Update VERSION to 9.3.0-rc2 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d821c124047..99a1afa4e58 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.3.0-pre +9.3.0-rc2 -- GitLab From 3449ae5781e598ae323a3ad7bd942ce4974533ca Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Thu, 15 Jun 2017 08:19:13 +0000 Subject: [PATCH 211/249] Merge branch 'dm-fix-parser-cache' into 'master' Don't return nil for missing objects from parser cache See merge request !12168 --- changelogs/unreleased/dm-fix-parser-cache.yml | 4 ++++ lib/banzai/reference_parser/base_parser.rb | 2 +- spec/lib/banzai/reference_parser/base_parser_spec.rb | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/dm-fix-parser-cache.yml diff --git a/changelogs/unreleased/dm-fix-parser-cache.yml b/changelogs/unreleased/dm-fix-parser-cache.yml new file mode 100644 index 00000000000..31c163b7272 --- /dev/null +++ b/changelogs/unreleased/dm-fix-parser-cache.yml @@ -0,0 +1,4 @@ +--- +title: Don't return nil for missing objects from parser cache +merge_request: +author: diff --git a/lib/banzai/reference_parser/base_parser.rb b/lib/banzai/reference_parser/base_parser.rb index 1e2536231d8..279fca8d043 100644 --- a/lib/banzai/reference_parser/base_parser.rb +++ b/lib/banzai/reference_parser/base_parser.rb @@ -171,7 +171,7 @@ module Banzai collection.where(id: to_query).each { |row| cache[row.id] = row } end - cache.values_at(*ids) + cache.values_at(*ids).compact else collection.where(id: ids) end diff --git a/spec/lib/banzai/reference_parser/base_parser_spec.rb b/spec/lib/banzai/reference_parser/base_parser_spec.rb index f4f42bfc3ed..76fab93821a 100644 --- a/spec/lib/banzai/reference_parser/base_parser_spec.rb +++ b/spec/lib/banzai/reference_parser/base_parser_spec.rb @@ -114,7 +114,7 @@ describe Banzai::ReferenceParser::BaseParser, lib: true do expect(hash).to eq({ link => user }) end - it 'returns an empty Hash when entry does not exist in the database' do + it 'returns an empty Hash when entry does not exist in the database', :request_store do link = double(:link) expect(link).to receive(:has_attribute?). -- GitLab From 3325fe1031610777258a430430620930ce747909 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Thu, 15 Jun 2017 08:27:50 +0000 Subject: [PATCH 212/249] Merge branch 'instrument-merge-request-diff-load-commits' into 'master' Instrument MergeRequestDiff#load_commits See merge request !12162 --- .../unreleased/instrument-merge-request-diff-load-commits.yml | 4 ++++ config/initializers/8_metrics.rb | 3 +++ spec/initializers/8_metrics_spec.rb | 1 + 3 files changed, 8 insertions(+) create mode 100644 changelogs/unreleased/instrument-merge-request-diff-load-commits.yml diff --git a/changelogs/unreleased/instrument-merge-request-diff-load-commits.yml b/changelogs/unreleased/instrument-merge-request-diff-load-commits.yml new file mode 100644 index 00000000000..916b182a48b --- /dev/null +++ b/changelogs/unreleased/instrument-merge-request-diff-load-commits.yml @@ -0,0 +1,4 @@ +--- +title: Instrument MergeRequestDiff#load_commits +merge_request: +author: diff --git a/config/initializers/8_metrics.rb b/config/initializers/8_metrics.rb index 5e0eefdb154..508b886d6a0 100644 --- a/config/initializers/8_metrics.rb +++ b/config/initializers/8_metrics.rb @@ -113,6 +113,9 @@ def instrument_classes(instrumentation) # This is a Rails scope so we have to instrument it manually. instrumentation.instrument_method(Project, :visible_to_user) + + # Needed for https://gitlab.com/gitlab-org/gitlab-ce/issues/30224#note_32306159 + instrumentation.instrument_instance_method(MergeRequestDiff, :load_commits) end # rubocop:enable Metrics/AbcSize diff --git a/spec/initializers/8_metrics_spec.rb b/spec/initializers/8_metrics_spec.rb index 570754621f3..a507d7f7f2b 100644 --- a/spec/initializers/8_metrics_spec.rb +++ b/spec/initializers/8_metrics_spec.rb @@ -7,6 +7,7 @@ describe 'instrument_classes', lib: true do before do allow(config).to receive(:instrument_method) allow(config).to receive(:instrument_methods) + allow(config).to receive(:instrument_instance_method) allow(config).to receive(:instrument_instance_methods) end -- GitLab From 08dd89f5ffefee64e31ea3f3a6d368546cabb90c Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Tue, 13 Jun 2017 16:47:50 +0000 Subject: [PATCH 213/249] Merge branch '33642-timeago-update' into 'master' Remove js classes from vue component that are not needed in vue component Closes #33642 See merge request !12133 --- .../vue_shared/components/time_ago_tooltip.vue | 16 ++-------------- .../components/time_ago_tooltip_spec.js | 13 +------------ 2 files changed, 3 insertions(+), 26 deletions(-) diff --git a/app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue b/app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue index af2b4c6786e..1c6ef071a6d 100644 --- a/app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue +++ b/app/assets/javascripts/vue_shared/components/time_ago_tooltip.vue @@ -20,12 +20,6 @@ export default { default: 'top', }, - shortFormat: { - type: Boolean, - required: false, - default: false, - }, - cssClass: { type: String, required: false, @@ -37,18 +31,12 @@ export default { tooltipMixin, timeagoMixin, ], - - computed: { - timeagoCssClass() { - return this.shortFormat ? 'js-short-timeago' : 'js-timeago'; - }, - }, }; </script> <template> <time - :class="[timeagoCssClass, cssClass]" - class="js-timeago js-timeago-render" + :class="cssClass" + class="js-vue-timeago" :title="tooltipTitle(time)" :data-placement="tooltipPlacement" data-container="body" diff --git a/spec/javascripts/vue_shared/components/time_ago_tooltip_spec.js b/spec/javascripts/vue_shared/components/time_ago_tooltip_spec.js index bf28019ef24..f3b4adc0b70 100644 --- a/spec/javascripts/vue_shared/components/time_ago_tooltip_spec.js +++ b/spec/javascripts/vue_shared/components/time_ago_tooltip_spec.js @@ -22,7 +22,7 @@ describe('Time ago with tooltip component', () => { }).$mount(); expect(vm.$el.tagName).toEqual('TIME'); - expect(vm.$el.classList.contains('js-timeago')).toEqual(true); + expect(vm.$el.classList.contains('js-vue-timeago')).toEqual(true); expect( vm.$el.getAttribute('data-original-title'), ).toEqual(gl.utils.formatDate('2017-05-08T14:57:39.781Z')); @@ -44,17 +44,6 @@ describe('Time ago with tooltip component', () => { expect(vm.$el.getAttribute('data-placement')).toEqual('bottom'); }); - it('should render short format class', () => { - vm = new TimeagoTooltip({ - propsData: { - time: '2017-05-08T14:57:39.781Z', - shortFormat: true, - }, - }).$mount(); - - expect(vm.$el.classList.contains('js-short-timeago')).toEqual(true); - }); - it('should render provided html class', () => { vm = new TimeagoTooltip({ propsData: { -- GitLab From 11b4494c5ed9d5979f50aadc9cadb8adc54cde40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Tue, 13 Jun 2017 13:13:30 +0000 Subject: [PATCH 214/249] Merge branch 'fix/gb/remove-invalid-build-details-exposure' into 'master' Do not expose internal artifacts hash in build entity Closes #33605 See merge request !12124 --- app/serializers/build_details_entity.rb | 7 ++----- spec/serializers/build_details_entity_spec.rb | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/serializers/build_details_entity.rb b/app/serializers/build_details_entity.rb index 0063920e603..3c25b497e2e 100644 --- a/app/serializers/build_details_entity.rb +++ b/app/serializers/build_details_entity.rb @@ -1,18 +1,15 @@ class BuildDetailsEntity < BuildEntity expose :coverage, :erased_at, :duration expose :tag_list, as: :tags - expose :user, using: UserEntity + expose :runner, using: RunnerEntity + expose :pipeline, using: PipelineEntity expose :erased_by, if: -> (*) { build.erased? }, using: UserEntity expose :erase_path, if: -> (*) { build.erasable? && can?(current_user, :update_build, project) } do |build| erase_namespace_project_job_path(project.namespace, project, build) end - expose :artifacts, using: BuildArtifactEntity - expose :runner, using: RunnerEntity - expose :pipeline, using: PipelineEntity - expose :merge_request, if: -> (*) { can?(current_user, :read_merge_request, build.merge_request) } do expose :iid do |build| build.merge_request.iid diff --git a/spec/serializers/build_details_entity_spec.rb b/spec/serializers/build_details_entity_spec.rb index e2511e8968c..396ba96e9b3 100644 --- a/spec/serializers/build_details_entity_spec.rb +++ b/spec/serializers/build_details_entity_spec.rb @@ -29,7 +29,7 @@ describe BuildDetailsEntity do it 'contains the needed key value pairs' do expect(subject).to include(:coverage, :erased_at, :duration) - expect(subject).to include(:artifacts, :runner, :pipeline) + expect(subject).to include(:runner, :pipeline) expect(subject).to include(:raw_path, :merge_request) expect(subject).to include(:new_issue_path) end -- GitLab From 21816932f6134d931f5252019d911d564e5001a4 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon <grzegorz@gitlab.com> Date: Thu, 15 Jun 2017 09:36:02 +0000 Subject: [PATCH 215/249] Merge branch 'fix-manual-actions' into 'master' Do not show manual actions that cannot be run Closes #32380 See merge request !12121 --- app/models/ci/build.rb | 4 ++-- .../disable-blocked-manual-actions.yml | 4 ++++ spec/models/ci/build_spec.rb | 16 ++++++++++++++++ spec/models/deployment_spec.rb | 4 ++-- spec/models/environment_spec.rb | 2 +- 5 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 changelogs/unreleased/disable-blocked-manual-actions.yml diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index cec1ca89a6a..58758f7ca8a 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -33,7 +33,7 @@ module Ci scope :with_artifacts_not_expired, ->() { with_artifacts.where('artifacts_expire_at IS NULL OR artifacts_expire_at > ?', Time.now) } scope :with_expired_artifacts, ->() { with_artifacts.where('artifacts_expire_at < ?', Time.now) } scope :last_month, ->() { where('created_at > ?', Date.today - 1.month) } - scope :manual_actions, ->() { where(when: :manual).relevant } + scope :manual_actions, ->() { where(when: :manual, status: COMPLETED_STATUSES + [:manual]) } mount_uploader :artifacts_file, ArtifactUploader mount_uploader :artifacts_metadata, ArtifactUploader @@ -109,7 +109,7 @@ module Ci end def playable? - action? && manual? + action? && (manual? || complete?) end def action? diff --git a/changelogs/unreleased/disable-blocked-manual-actions.yml b/changelogs/unreleased/disable-blocked-manual-actions.yml new file mode 100644 index 00000000000..a640f61a7dd --- /dev/null +++ b/changelogs/unreleased/disable-blocked-manual-actions.yml @@ -0,0 +1,4 @@ +--- +title: disable blocked manual actions +merge_request: +author: diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb index b0716e04d3d..b06e77c34f6 100644 --- a/spec/models/ci/build_spec.rb +++ b/spec/models/ci/build_spec.rb @@ -21,6 +21,18 @@ describe Ci::Build, :models do it { is_expected.to respond_to(:has_trace?) } it { is_expected.to respond_to(:trace) } + describe '.manual_actions' do + let!(:manual_but_created) { create(:ci_build, :manual, status: :created, pipeline: pipeline) } + let!(:manual_but_succeeded) { create(:ci_build, :manual, status: :success, pipeline: pipeline) } + let!(:manual_action) { create(:ci_build, :manual, pipeline: pipeline) } + + subject { described_class.manual_actions } + + it { is_expected.to include(manual_action) } + it { is_expected.to include(manual_but_succeeded) } + it { is_expected.not_to include(manual_but_created) } + end + describe '#actionize' do context 'when build is a created' do before do @@ -926,6 +938,10 @@ describe Ci::Build, :models do context 'when other build is retried' do let!(:retried_build) { Ci::Build.retry(other_build, user) } + before do + retried_build.success + end + it 'returns a retried build' do is_expected.to contain_exactly(retried_build) end diff --git a/spec/models/deployment_spec.rb b/spec/models/deployment_spec.rb index 6f0d2db23c7..aad215d5f41 100644 --- a/spec/models/deployment_spec.rb +++ b/spec/models/deployment_spec.rb @@ -102,7 +102,7 @@ describe Deployment, models: true do end context 'with other actions' do - let!(:close_action) { create(:ci_build, pipeline: build.pipeline, name: 'close_app', when: :manual) } + let!(:close_action) { create(:ci_build, :manual, pipeline: build.pipeline, name: 'close_app') } context 'when matching action is defined' do let(:deployment) { FactoryGirl.build(:deployment, deployable: build, on_stop: 'close_other_app') } @@ -130,7 +130,7 @@ describe Deployment, models: true do context 'when matching action is defined' do let(:build) { create(:ci_build) } let(:deployment) { FactoryGirl.build(:deployment, deployable: build, on_stop: 'close_app') } - let!(:close_action) { create(:ci_build, pipeline: build.pipeline, name: 'close_app', when: :manual) } + let!(:close_action) { create(:ci_build, :manual, pipeline: build.pipeline, name: 'close_app') } it { is_expected.to be_truthy } end diff --git a/spec/models/environment_spec.rb b/spec/models/environment_spec.rb index fe69c8e351d..f8123cb518e 100644 --- a/spec/models/environment_spec.rb +++ b/spec/models/environment_spec.rb @@ -170,7 +170,7 @@ describe Environment, models: true do context 'when matching action is defined' do let(:build) { create(:ci_build) } let!(:deployment) { create(:deployment, environment: environment, deployable: build, on_stop: 'close_app') } - let!(:close_action) { create(:ci_build, pipeline: build.pipeline, name: 'close_app', when: :manual) } + let!(:close_action) { create(:ci_build, :manual, pipeline: build.pipeline, name: 'close_app') } context 'when environment is available' do before do -- GitLab From 563a8df70cdeb16f7c88e13c6862a47ea0f57e8f Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Tue, 13 Jun 2017 13:01:37 +0000 Subject: [PATCH 216/249] Merge branch 'fix-github-clone-wiki' into 'master' GitHub - Fix token interpolation when cloning wiki repository See merge request !12107 --- changelogs/unreleased/fix-github-clone-wiki.yml | 4 ++++ lib/github/import.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/fix-github-clone-wiki.yml diff --git a/changelogs/unreleased/fix-github-clone-wiki.yml b/changelogs/unreleased/fix-github-clone-wiki.yml new file mode 100644 index 00000000000..eadd90e1390 --- /dev/null +++ b/changelogs/unreleased/fix-github-clone-wiki.yml @@ -0,0 +1,4 @@ +--- +title: Github - Fix token interpolation when cloning wiki repository +merge_request: +author: diff --git a/lib/github/import.rb b/lib/github/import.rb index 9c7eb965f93..b20614b3060 100644 --- a/lib/github/import.rb +++ b/lib/github/import.rb @@ -92,7 +92,7 @@ module Github end def fetch_wiki_repository - wiki_url = "https://{options.fetch(:token)}@github.com/#{repo}.wiki.git" + wiki_url = "https://#{options.fetch(:token)}@github.com/#{repo}.wiki.git" wiki_path = "#{project.path_with_namespace}.wiki" unless project.wiki.repository_exists? -- GitLab From 245900e6c467222fd5d500e03d8bcf6f3e34e16a Mon Sep 17 00:00:00 2001 From: Clement Ho <clemmakesapps@gmail.com> Date: Wed, 14 Jun 2017 21:46:36 +0000 Subject: [PATCH 217/249] Merge branch '33529-fix-autocomplete-atwho-not-showing-on-note-edit-form' into 'master' Fix autocomplete not working on note edit form Closes #33529 See merge request !12106 --- app/assets/javascripts/notes.js | 2 +- spec/javascripts/notes_spec.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 8bdbbe6612f..35d16b298a6 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -1060,7 +1060,7 @@ const normalizeNewlines = function(str) { var targetId = $originalContentEl.data('target-id'); var targetType = $originalContentEl.data('target-type'); - new gl.GLForm($editForm.find('form')); + new gl.GLForm($editForm.find('form'), this.enableGFM); $editForm.find('form') .attr('action', postUrl) diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index bfd8b8648a6..665c32d3f23 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -378,6 +378,23 @@ import '~/notes'; }); }); + describe('putEditFormInPlace', () => { + it('should call gl.GLForm with GFM parameter passed through', () => { + spyOn(gl, 'GLForm'); + + const $el = jasmine.createSpyObj('$form', ['find', 'closest']); + $el.find.and.returnValue($('<div>')); + $el.closest.and.returnValue($('<div>')); + + Notes.prototype.putEditFormInPlace.call({ + getEditFormSelector: () => '', + enableGFM: true + }, $el); + + expect(gl.GLForm).toHaveBeenCalledWith(jasmine.any(Object), true); + }); + }); + describe('postComment & updateComment', () => { const sampleComment = 'foo'; const updatedComment = 'bar'; -- GitLab From ca4a923596a4ca86d1112abc35a3ba4189e25e03 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Thu, 15 Jun 2017 07:46:43 +0000 Subject: [PATCH 218/249] Merge branch '33483-fix-note-highlight-being-lost-on-note-update' into 'master' Fix note highlight being lost after real time update Closes #33483 See merge request !12098 --- app/assets/javascripts/notes.js | 28 +++++++++++++++++--- spec/javascripts/notes_spec.js | 45 +++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 35d16b298a6..0a9cefd34c3 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -56,6 +56,7 @@ const normalizeNewlines = function(str) { this.toggleCommitList = this.toggleCommitList.bind(this); this.postComment = this.postComment.bind(this); this.clearFlashWrapper = this.clearFlash.bind(this); + this.onHashChange = this.onHashChange.bind(this); this.notes_url = notes_url; this.note_ids = note_ids; @@ -127,7 +128,9 @@ const normalizeNewlines = function(str) { $(document).on('ajax:success', '.js-main-target-form', this.resetMainTargetForm); $(document).on('ajax:complete', '.js-main-target-form', this.reenableTargetFormSubmitButton); // when a key is clicked on the notes - return $(document).on('keydown', '.js-note-text', this.keydownNoteText); + $(document).on('keydown', '.js-note-text', this.keydownNoteText); + // When the URL fragment/hash has changed, `#note_xxx` + return $(window).on('hashchange', this.onHashChange); }; Notes.prototype.cleanBinding = function() { @@ -148,6 +151,7 @@ const normalizeNewlines = function(str) { $(document).off('ajax:success', '.js-main-target-form'); $(document).off('ajax:success', '.js-discussion-note-form'); $(document).off('ajax:complete', '.js-main-target-form'); + $(window).off('hashchange', this.onHashChange); }; Notes.initCommentTypeToggle = function (form) { @@ -298,8 +302,27 @@ const normalizeNewlines = function(str) { Notes.prototype.setupNewNote = function($note) { // Update datetime format on the recent note gl.utils.localTimeAgo($note.find('.js-timeago'), false); + this.collapseLongCommitList(); this.taskList.init(); + + // This stops the note highlight, #note_xxx`, from being removed after real time update + // The `:target` selector does not re-evaluate after we replace element in the DOM + Notes.updateNoteTargetSelector($note); + this.$noteToCleanHighlight = $note; + }; + + Notes.prototype.onHashChange = function() { + if (this.$noteToCleanHighlight) { + Notes.updateNoteTargetSelector(this.$noteToCleanHighlight); + } + + this.$noteToCleanHighlight = null; + }; + + Notes.updateNoteTargetSelector = function($note) { + const hash = gl.utils.getLocationHash(); + $note.toggleClass('target', hash && $note.filter(`#${hash}`).length > 0); }; /* @@ -597,13 +620,12 @@ const normalizeNewlines = function(str) { $noteEntityEl = $(noteEntity.html); $noteEntityEl.addClass('fade-in-full'); this.revertNoteEditForm($targetNote); - gl.utils.localTimeAgo($('.js-timeago', $noteEntityEl)); $noteEntityEl.renderGFM(); - $noteEntityEl.find('.js-task-list-container').taskList('enable'); // Find the note's `li` element by ID and replace it with the updated HTML $note_li = $('.note-row-' + noteEntity.id); $note_li.replaceWith($noteEntityEl); + this.setupNewNote($noteEntityEl); if (typeof gl.diffNotesCompileComponents !== 'undefined') { gl.diffNotesCompileComponents(); diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index 665c32d3f23..c6f218e4dac 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -126,6 +126,7 @@ import '~/notes'; const deferred = $.Deferred(); spyOn($, 'ajax').and.returnValue(deferred.promise()); spyOn(this.notes, 'revertNoteEditForm'); + spyOn(this.notes, 'setupNewNote'); $('.js-comment-button').click(); deferred.resolve(noteEntity); @@ -136,6 +137,46 @@ import '~/notes'; this.notes.updateNote(updatedNote, $targetNote); expect(this.notes.revertNoteEditForm).toHaveBeenCalledWith($targetNote); + expect(this.notes.setupNewNote).toHaveBeenCalled(); + }); + }); + + describe('updateNoteTargetSelector', () => { + const hash = 'note_foo'; + let $note; + + beforeEach(() => { + $note = $(`<div id="${hash}"></div>`); + spyOn($note, 'filter').and.callThrough(); + spyOn($note, 'toggleClass').and.callThrough(); + }); + + it('sets target when hash matches', () => { + spyOn(gl.utils, 'getLocationHash'); + gl.utils.getLocationHash.and.returnValue(hash); + + Notes.updateNoteTargetSelector($note); + + expect($note.filter).toHaveBeenCalledWith(`#${hash}`); + expect($note.toggleClass).toHaveBeenCalledWith('target', true); + }); + + it('unsets target when hash does not match', () => { + spyOn(gl.utils, 'getLocationHash'); + gl.utils.getLocationHash.and.returnValue('note_doesnotexist'); + + Notes.updateNoteTargetSelector($note); + + expect($note.toggleClass).toHaveBeenCalledWith('target', false); + }); + + it('unsets target when there is not a hash fragment anymore', () => { + spyOn(gl.utils, 'getLocationHash'); + gl.utils.getLocationHash.and.returnValue(null); + + Notes.updateNoteTargetSelector($note); + + expect($note.toggleClass).toHaveBeenCalledWith('target', null); }); }); @@ -189,9 +230,13 @@ import '~/notes'; Notes.isUpdatedNote.and.returnValue(true); const $note = $('<div>'); $notesList.find.and.returnValue($note); + const $newNote = $(note.html); + Notes.animateUpdateNote.and.returnValue($newNote); + Notes.prototype.renderNote.call(notes, note, null, $notesList); expect(Notes.animateUpdateNote).toHaveBeenCalledWith(note.html, $note); + expect(notes.setupNewNote).toHaveBeenCalledWith($newNote); }); describe('while editing', () => { -- GitLab From c8847c72475d92765a87f69e25516209f504a592 Mon Sep 17 00:00:00 2001 From: Stan Hu <stanhu@gmail.com> Date: Mon, 12 Jun 2017 14:23:22 +0000 Subject: [PATCH 219/249] Merge branch 'gitaly-0.11.2' into 'master' Use gitaly 0.11.2 See merge request !12092 --- GITALY_SERVER_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index d9df1bbc0c7..bc859cbd6d9 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -0.11.0 +0.11.2 -- GitLab From d365dec3659148979880ca2dc2965848f30dc7f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Wed, 14 Jun 2017 13:37:53 +0000 Subject: [PATCH 220/249] Merge branch 'zj-raise-etag-route-regex-miss' into 'master' Raise etag route regex miss Closes #33106 See merge request !12084 --- app/models/environment.rb | 3 +- .../zj-raise-etag-route-regex-miss.yml | 4 ++ lib/gitlab/etag_caching/middleware.rb | 2 +- lib/gitlab/etag_caching/router.rb | 4 +- lib/gitlab/etag_caching/store.rb | 2 + .../gitlab/etag_caching/middleware_spec.rb | 33 +++++++------- spec/lib/gitlab/etag_caching/router_spec.rb | 44 +++++-------------- 7 files changed, 36 insertions(+), 56 deletions(-) create mode 100644 changelogs/unreleased/zj-raise-etag-route-regex-miss.yml diff --git a/app/models/environment.rb b/app/models/environment.rb index 6211a5c1e63..d5b974b2d31 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -209,7 +209,8 @@ class Environment < ActiveRecord::Base def etag_cache_key Gitlab::Routing.url_helpers.namespace_project_environments_path( project.namespace, - project) + project, + format: :json) end private diff --git a/changelogs/unreleased/zj-raise-etag-route-regex-miss.yml b/changelogs/unreleased/zj-raise-etag-route-regex-miss.yml new file mode 100644 index 00000000000..57a5f4e44c0 --- /dev/null +++ b/changelogs/unreleased/zj-raise-etag-route-regex-miss.yml @@ -0,0 +1,4 @@ +--- +title: Fix etag route not being a match for environments +merge_request: +author: diff --git a/lib/gitlab/etag_caching/middleware.rb b/lib/gitlab/etag_caching/middleware.rb index 7f884183bb1..1d6f5bb5e1c 100644 --- a/lib/gitlab/etag_caching/middleware.rb +++ b/lib/gitlab/etag_caching/middleware.rb @@ -7,7 +7,7 @@ module Gitlab def call(env) request = Rack::Request.new(env) - route = Gitlab::EtagCaching::Router.match(request) + route = Gitlab::EtagCaching::Router.match(request.path_info) return @app.call(env) unless route track_event(:etag_caching_middleware_used, route) diff --git a/lib/gitlab/etag_caching/router.rb b/lib/gitlab/etag_caching/router.rb index dccc66b3918..75167a6b088 100644 --- a/lib/gitlab/etag_caching/router.rb +++ b/lib/gitlab/etag_caching/router.rb @@ -53,8 +53,8 @@ module Gitlab ) ].freeze - def self.match(request) - ROUTES.find { |route| route.regexp.match(request.path_info) } + def self.match(path) + ROUTES.find { |route| route.regexp.match(path) } end end end diff --git a/lib/gitlab/etag_caching/store.rb b/lib/gitlab/etag_caching/store.rb index 0039fc01c8f..072fcfc65e6 100644 --- a/lib/gitlab/etag_caching/store.rb +++ b/lib/gitlab/etag_caching/store.rb @@ -25,6 +25,8 @@ module Gitlab end def redis_key(key) + raise 'Invalid key' if !Rails.env.production? && !Gitlab::EtagCaching::Router.match(key) + "#{REDIS_NAMESPACE}#{key}" end end diff --git a/spec/lib/gitlab/etag_caching/middleware_spec.rb b/spec/lib/gitlab/etag_caching/middleware_spec.rb index 3c6ef7c7ccb..4acf4f047f1 100644 --- a/spec/lib/gitlab/etag_caching/middleware_spec.rb +++ b/spec/lib/gitlab/etag_caching/middleware_spec.rb @@ -15,13 +15,13 @@ describe Gitlab::EtagCaching::Middleware do end it 'does not add ETag header' do - _, headers, _ = middleware.call(build_env(path, if_none_match)) + _, headers, _ = middleware.call(build_request(path, if_none_match)) expect(headers['ETag']).to be_nil end it 'passes status code from app' do - status, _, _ = middleware.call(build_env(path, if_none_match)) + status, _, _ = middleware.call(build_request(path, if_none_match)) expect(status).to eq app_status_code end @@ -39,7 +39,7 @@ describe Gitlab::EtagCaching::Middleware do expect_any_instance_of(Gitlab::EtagCaching::Store) .to receive(:touch).and_return('123') - middleware.call(build_env(path, if_none_match)) + middleware.call(build_request(path, if_none_match)) end context 'when If-None-Match header was specified' do @@ -51,7 +51,7 @@ describe Gitlab::EtagCaching::Middleware do expect(Gitlab::Metrics).to receive(:add_event) .with(:etag_caching_key_not_found, endpoint: 'issue_notes') - middleware.call(build_env(path, if_none_match)) + middleware.call(build_request(path, if_none_match)) end end end @@ -65,7 +65,7 @@ describe Gitlab::EtagCaching::Middleware do end it 'returns this value as header' do - _, headers, _ = middleware.call(build_env(path, if_none_match)) + _, headers, _ = middleware.call(build_request(path, if_none_match)) expect(headers['ETag']).to eq 'W/"123"' end @@ -82,17 +82,17 @@ describe Gitlab::EtagCaching::Middleware do it 'does not call app' do expect(app).not_to receive(:call) - middleware.call(build_env(path, if_none_match)) + middleware.call(build_request(path, if_none_match)) end it 'returns status code 304' do - status, _, _ = middleware.call(build_env(path, if_none_match)) + status, _, _ = middleware.call(build_request(path, if_none_match)) expect(status).to eq 304 end it 'returns empty body' do - _, _, body = middleware.call(build_env(path, if_none_match)) + _, _, body = middleware.call(build_request(path, if_none_match)) expect(body).to be_empty end @@ -103,7 +103,7 @@ describe Gitlab::EtagCaching::Middleware do expect(Gitlab::Metrics).to receive(:add_event) .with(:etag_caching_cache_hit, endpoint: 'issue_notes') - middleware.call(build_env(path, if_none_match)) + middleware.call(build_request(path, if_none_match)) end context 'when polling is disabled' do @@ -113,7 +113,7 @@ describe Gitlab::EtagCaching::Middleware do end it 'returns status code 429' do - status, _, _ = middleware.call(build_env(path, if_none_match)) + status, _, _ = middleware.call(build_request(path, if_none_match)) expect(status).to eq 429 end @@ -131,7 +131,7 @@ describe Gitlab::EtagCaching::Middleware do it 'calls app' do expect(app).to receive(:call).and_return([app_status_code, {}, ['body']]) - middleware.call(build_env(path, if_none_match)) + middleware.call(build_request(path, if_none_match)) end it 'tracks "etag_caching_resource_changed" event' do @@ -142,7 +142,7 @@ describe Gitlab::EtagCaching::Middleware do expect(Gitlab::Metrics).to receive(:add_event) .with(:etag_caching_resource_changed, endpoint: 'issue_notes') - middleware.call(build_env(path, if_none_match)) + middleware.call(build_request(path, if_none_match)) end end @@ -160,7 +160,7 @@ describe Gitlab::EtagCaching::Middleware do expect(Gitlab::Metrics).to receive(:add_event) .with(:etag_caching_header_missing, endpoint: 'issue_notes') - middleware.call(build_env(path, if_none_match)) + middleware.call(build_request(path, if_none_match)) end end @@ -192,10 +192,7 @@ describe Gitlab::EtagCaching::Middleware do .to receive(:get).and_return(value) end - def build_env(path, if_none_match) - { - 'PATH_INFO' => path, - 'HTTP_IF_NONE_MATCH' => if_none_match - } + def build_request(path, if_none_match) + { 'PATH_INFO' => path, 'HTTP_IF_NONE_MATCH' => if_none_match } end end diff --git a/spec/lib/gitlab/etag_caching/router_spec.rb b/spec/lib/gitlab/etag_caching/router_spec.rb index 2bb40827fcf..f69cb502ca6 100644 --- a/spec/lib/gitlab/etag_caching/router_spec.rb +++ b/spec/lib/gitlab/etag_caching/router_spec.rb @@ -2,115 +2,91 @@ require 'spec_helper' describe Gitlab::EtagCaching::Router do it 'matches issue notes endpoint' do - request = build_request( + result = described_class.match( '/my-group/and-subgroup/here-comes-the-project/noteable/issue/1/notes' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'issue_notes' end it 'matches issue title endpoint' do - request = build_request( + result = described_class.match( '/my-group/my-project/issues/123/realtime_changes' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'issue_title' end it 'matches project pipelines endpoint' do - request = build_request( + result = described_class.match( '/my-group/my-project/pipelines.json' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'project_pipelines' end it 'matches commit pipelines endpoint' do - request = build_request( + result = described_class.match( '/my-group/my-project/commit/aa8260d253a53f73f6c26c734c72fdd600f6e6d4/pipelines.json' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'commit_pipelines' end it 'matches new merge request pipelines endpoint' do - request = build_request( + result = described_class.match( '/my-group/my-project/merge_requests/new.json' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'new_merge_request_pipelines' end it 'matches merge request pipelines endpoint' do - request = build_request( + result = described_class.match( '/my-group/my-project/merge_requests/234/pipelines.json' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'merge_request_pipelines' end it 'matches build endpoint' do - request = build_request( + result = described_class.match( '/my-group/my-project/builds/234.json' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'project_build' end it 'does not match blob with confusing name' do - request = build_request( + result = described_class.match( '/my-group/my-project/blob/master/pipelines.json' ) - result = described_class.match(request) - expect(result).to be_blank end it 'matches the environments path' do - request = build_request( + result = described_class.match( '/my-group/my-project/environments.json' ) - result = described_class.match(request) expect(result).to be_present - expect(result.name).to eq 'environments' end it 'matches pipeline#show endpoint' do - request = build_request( + result = described_class.match( '/my-group/my-project/pipelines/2.json' ) - result = described_class.match(request) - expect(result).to be_present expect(result.name).to eq 'project_pipeline' end - - def build_request(path) - double(path_info: path) - end end -- GitLab From 61115c5b4d857001c259e290eaee537e7471fa5c Mon Sep 17 00:00:00 2001 From: Marin Jankovski <marin@gitlab.com> Date: Mon, 12 Jun 2017 10:13:18 +0000 Subject: [PATCH 221/249] Merge branch 'fall-back-to-gzip-when-missing-optional-deps' into 'master' Fall back to gzip when missing optional zopfli dependency See merge request !12068 --- config/webpack.config.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/config/webpack.config.js b/config/webpack.config.js index 7501acb7633..3320f030f12 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -18,6 +18,15 @@ var DEV_SERVER_LIVERELOAD = process.env.DEV_SERVER_LIVERELOAD !== 'false'; var WEBPACK_REPORT = process.env.WEBPACK_REPORT; var NO_COMPRESSION = process.env.NO_COMPRESSION; +// optional dependency `node-zopfli` is unavailable on CentOS 6 +var ZOPFLI_AVAILABLE; +try { + require.resolve('node-zopfli'); + ZOPFLI_AVAILABLE = true; +} catch(err) { + ZOPFLI_AVAILABLE = false; +} + var config = { // because sqljs requires fs. node: { @@ -224,7 +233,7 @@ if (IS_PRODUCTION) { config.plugins.push( new CompressionPlugin({ asset: '[path].gz[query]', - algorithm: 'zopfli', + algorithm: ZOPFLI_AVAILABLE ? 'zopfli' : 'gzip', }) ); } -- GitLab From 1837fe7f1a9030c7db30d5cf93a2a59770042e33 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Fri, 9 Jun 2017 11:58:53 +0000 Subject: [PATCH 222/249] Merge branch '33467-remove-nicescroll' into 'master' Remove nicescroll from job trace Closes #33467 and #33427 See merge request !12028 --- app/assets/javascripts/build.js | 52 +++++++++++++----------- app/assets/stylesheets/pages/builds.scss | 28 +++++++++---- app/views/projects/jobs/show.html.haml | 27 +++++------- 3 files changed, 59 insertions(+), 48 deletions(-) diff --git a/app/assets/javascripts/build.js b/app/assets/javascripts/build.js index 3b2bb6f082f..d80b7f5bd42 100644 --- a/app/assets/javascripts/build.js +++ b/app/assets/javascripts/build.js @@ -20,6 +20,7 @@ window.Build = (function () { this.$document = $(document); this.logBytes = 0; this.scrollOffsetPadding = 30; + this.hasBeenScrolled = false; this.updateDropdown = this.updateDropdown.bind(this); this.getBuildTrace = this.getBuildTrace.bind(this); @@ -62,6 +63,15 @@ window.Build = (function () { .off('click') .on('click', this.scrollToBottom.bind(this)); + const scrollThrottled = _.throttle(this.toggleScroll.bind(this), 100); + + this.$scrollContainer + .off('scroll') + .on('scroll', () => { + this.hasBeenScrolled = true; + scrollThrottled(); + }); + $(window) .off('resize.build') .on('resize.build', _.throttle(this.sidebarOnResize.bind(this), 100)); @@ -70,25 +80,16 @@ window.Build = (function () { // eslint-disable-next-line this.getBuildTrace() - .then(() => this.makeTraceScrollable()) - .then(() => this.scrollToBottom()); + .then(() => this.toggleScroll()) + .then(() => { + if (!this.hasBeenScrolled) { + this.scrollToBottom(); + } + }); this.verifyTopPosition(); } - Build.prototype.makeTraceScrollable = function () { - this.$scrollContainer.niceScroll({ - cursorcolor: '#fff', - cursoropacitymin: 1, - cursorwidth: '7px', - railpadding: { top: 5, bottom: 5, right: 5 }, - }); - - this.$scrollContainer.on('scroll', _.throttle(this.toggleScroll.bind(this), 100)); - - this.toggleScroll(); - }; - Build.prototype.canScroll = function () { return (this.$scrollContainer.prop('scrollHeight') - this.scrollOffsetPadding) > this.$scrollContainer.height(); }; @@ -104,12 +105,11 @@ window.Build = (function () { * */ Build.prototype.toggleScroll = function () { - const bottomScroll = this.$scrollContainer.scrollTop() + - this.scrollOffsetPadding + - this.$scrollContainer.height(); + const currentPosition = this.$scrollContainer.scrollTop(); + const bottomScroll = currentPosition + this.$scrollContainer.innerHeight(); if (this.canScroll()) { - if (this.$scrollContainer.scrollTop() === 0) { + if (currentPosition === 0) { this.toggleDisableButton(this.$scrollTopBtn, true); this.toggleDisableButton(this.$scrollBottomBtn, false); } else if (bottomScroll === this.$scrollContainer.prop('scrollHeight')) { @@ -123,12 +123,14 @@ window.Build = (function () { }; Build.prototype.scrollToTop = function () { - this.$scrollContainer.getNiceScroll(0).doScrollTop(0); + this.hasBeenScrolled = true; + this.$scrollContainer.scrollTop(0); this.toggleScroll(); }; Build.prototype.scrollToBottom = function () { - this.$scrollContainer.getNiceScroll(0).doScrollTo(this.$scrollContainer.prop('scrollHeight')); + this.hasBeenScrolled = true; + this.$scrollContainer.scrollTop(this.$scrollContainer.prop('scrollHeight')); this.toggleScroll(); }; @@ -216,7 +218,11 @@ window.Build = (function () { Build.timeout = setTimeout(() => { //eslint-disable-next-line this.getBuildTrace() - .then(() => this.scrollToBottom()); + .then(() => { + if (!this.hasBeenScrolled) { + this.scrollToBottom(); + } + }); }, 4000); } else { this.$buildRefreshAnimation.remove(); @@ -253,7 +259,7 @@ window.Build = (function () { this.verifyTopPosition(); - if (this.$scrollContainer.getNiceScroll(0)) { + if (this.canScroll()) { this.toggleScroll(); } }; diff --git a/app/assets/stylesheets/pages/builds.scss b/app/assets/stylesheets/pages/builds.scss index e35558ad8e8..d931a78e112 100644 --- a/app/assets/stylesheets/pages/builds.scss +++ b/app/assets/stylesheets/pages/builds.scss @@ -71,7 +71,9 @@ height: 35px; display: flex; justify-content: flex-end; - border-bottom: 1px outset $white-light; + background: $gray-light; + border: 1px solid $gray-normal; + color: $gl-text-color; .truncated-info { margin: 0 auto; @@ -82,7 +84,7 @@ } .raw-link { - color: inherit; + color: $gl-text-color; margin-left: 5px; text-decoration: underline; } @@ -93,17 +95,25 @@ display: flex; align-self: center; font-size: 15px; + margin-bottom: 4px; svg { height: 15px; display: block; - fill: $white-light; + fill: $gl-text-color; } - a, + .controllers-buttons, .btn-scroll { - margin: 0 8px; - color: $white-light; + color: $gl-text-color; + height: 15px; + vertical-align: middle; + padding: 0; + width: 12px; + } + + .controllers-buttons { + margin: 1px 10px; } .btn-scroll.animate { @@ -137,9 +147,9 @@ top: 35px; left: 10px; bottom: 0; - overflow-y: hidden; - padding-bottom: 20px; - padding-right: 20px; + overflow-y: scroll; + overflow-x: hidden; + padding: 10px 20px 20px 5px; } .environment-information { diff --git a/app/views/projects/jobs/show.html.haml b/app/views/projects/jobs/show.html.haml index 0d10dfcef70..987068dc18e 100644 --- a/app/views/projects/jobs/show.html.haml +++ b/app/views/projects/jobs/show.html.haml @@ -66,29 +66,24 @@ .controllers - if @build.has_trace? = link_to raw_namespace_project_job_path(@project.namespace, @project, @build), - title: 'Open raw trace', + title: 'Show complete raw', data: { placement: 'top', container: 'body' }, - class: 'js-raw-link-controller has-tooltip' do - = icon('download') + class: 'js-raw-link-controller has-tooltip controllers-buttons' do + = icon('file-text-o') - if can?(current_user, :update_build, @project) && @build.erasable? = link_to erase_namespace_project_job_path(@project.namespace, @project, @build), method: :post, data: { confirm: 'Are you sure you want to erase this build?', placement: 'top', container: 'body' }, - title: 'Erase Build', - class: 'has-tooltip js-erase-link' do + title: 'Erase job log', + class: 'has-tooltip js-erase-link controllers-buttons' do = icon('trash') - - %button.js-scroll-up.btn-scroll.btn-transparent.btn-blank.has-tooltip{ type: 'button', - disabled: true, - title: 'Scroll Up', - data: { placement: 'top', container: 'body'} } - = custom_icon('scroll_up') - %button.js-scroll-down.btn-scroll.btn-transparent.btn-blank.has-tooltip{ type: 'button', - disabled: true, - title: 'Scroll Down', - data: { placement: 'top', container: 'body'} } - = custom_icon('scroll_down') + .has-tooltip.controllers-buttons{ title: 'Scroll to top', data: { placement: 'top', container: 'body'} } + %button.js-scroll-up.btn-scroll.btn-transparent.btn-blank{ type: 'button', disabled: true } + = custom_icon('scroll_up') + .has-tooltip.controllers-buttons{ title: 'Scroll to bottom', data: { placement: 'top', container: 'body'} } + %button.js-scroll-down.btn-scroll.btn-transparent.btn-blank{ type: 'button', disabled: true } + = custom_icon('scroll_down') .bash.sticky.js-scroll-container %code.js-build-output .build-loader-animation.js-build-refresh -- GitLab From dc8edb579cda0207304396f20b1d73fcd83164eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Fri, 9 Jun 2017 10:59:30 +0000 Subject: [PATCH 223/249] Merge branch 'rs-bootsnap' into 'master' Add Bootsnap to all environments to reduce application startup time Closes #33081 See merge request !12034 --- Gemfile | 1 + Gemfile.lock | 4 ++++ config/boot.rb | 12 ++++++++++++ 3 files changed, 17 insertions(+) diff --git a/Gemfile b/Gemfile index e197f53d9b5..715ce2bc6c2 100644 --- a/Gemfile +++ b/Gemfile @@ -2,6 +2,7 @@ source 'https://rubygems.org' gem 'rails', '4.2.8' gem 'rails-deprecated_sanitizer', '~> 1.0.3' +gem 'bootsnap', '~> 1.0.0' # Responders respond_to and respond_with gem 'responders', '~> 2.0' diff --git a/Gemfile.lock b/Gemfile.lock index b5f9c3beca7..d34b84df5e6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -82,6 +82,8 @@ GEM bindata (2.3.5) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) + bootsnap (1.0.0) + msgpack (~> 1.0) bootstrap-sass (3.3.6) autoprefixer-rails (>= 5.2.1) sass (>= 3.3.4) @@ -459,6 +461,7 @@ GEM minitest (5.7.0) mmap2 (2.2.6) mousetrap-rails (1.4.6) + msgpack (1.1.0) multi_json (1.12.1) multi_xml (0.6.0) multipart-post (2.0.0) @@ -888,6 +891,7 @@ DEPENDENCIES benchmark-ips (~> 2.3.0) better_errors (~> 2.1.0) binding_of_caller (~> 0.7.2) + bootsnap (~> 1.0.0) bootstrap-sass (~> 3.3.0) brakeman (~> 3.6.0) browser (~> 2.2) diff --git a/config/boot.rb b/config/boot.rb index f2830ae3166..17a71148370 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -4,3 +4,15 @@ require 'rubygems' ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) + +# Default Bootsnap configuration from https://github.com/Shopify/bootsnap#usage +require 'bootsnap' +Bootsnap.setup( + cache_dir: 'tmp/cache', + development_mode: ENV['RAILS_ENV'] == 'development', + load_path_cache: true, + autoload_paths_cache: true, + disable_trace: false, + compile_cache_iseq: true, + compile_cache_yaml: true +) -- GitLab From 3370a93eddd6b7c419905f9fc6e86b1ebd81e0ac Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Fri, 9 Jun 2017 08:00:13 +0000 Subject: [PATCH 224/249] Merge branch '33466-jobs-navigation-menu' into 'master' Highlight jobs menu when we are in jobs page Closes #33466 See merge request !12029 --- app/views/projects/pipelines/_head.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/pipelines/_head.html.haml b/app/views/projects/pipelines/_head.html.haml index a33da149c62..d2f0cb0806f 100644 --- a/app/views/projects/pipelines/_head.html.haml +++ b/app/views/projects/pipelines/_head.html.haml @@ -10,7 +10,7 @@ Pipelines - if project_nav_tab? :builds - = nav_link(controller: [:builds, :artifacts]) do + = nav_link(controller: [:jobs, :artifacts]) do = link_to project_jobs_path(@project), title: 'Jobs', class: 'shortcuts-builds' do %span Jobs -- GitLab From 150758eb3a91d4c4523a8f7b3b791a8bf6bc3698 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Thu, 8 Jun 2017 22:39:28 +0000 Subject: [PATCH 225/249] Merge branch 'port-post-receive-changes' into 'master' Refactor PostReceive worker to limit merge conflicts See merge request !11916 --- app/workers/post_receive.rb | 38 ++++++++++++++----------------- spec/workers/post_receive_spec.rb | 29 +++++++++++------------ 2 files changed, 30 insertions(+), 37 deletions(-) diff --git a/app/workers/post_receive.rb b/app/workers/post_receive.rb index c29571d3c62..89286595ca6 100644 --- a/app/workers/post_receive.rb +++ b/app/workers/post_receive.rb @@ -17,34 +17,18 @@ class PostReceive post_received = Gitlab::GitPostReceive.new(project, identifier, changes) if is_wiki - # Nothing defined here yet. + process_wiki_changes(post_received) else process_project_changes(post_received) - process_repository_update(post_received) end end - def process_repository_update(post_received) + private + + def process_project_changes(post_received) changes = [] refs = Set.new - post_received.changes_refs do |oldrev, newrev, ref| - @user ||= post_received.identify(newrev) - - unless @user - log("Triggered hook for non-existing user \"#{post_received.identifier}\"") - return false - end - - changes << Gitlab::DataBuilder::Repository.single_change(oldrev, newrev, ref) - refs << ref - end - - hook_data = Gitlab::DataBuilder::Repository.update(post_received.project, @user, changes, refs.to_a) - SystemHooksService.new.execute_hooks(hook_data, :repository_update_hooks) - end - - def process_project_changes(post_received) post_received.changes_refs do |oldrev, newrev, ref| @user ||= post_received.identify(newrev) @@ -58,10 +42,22 @@ class PostReceive elsif Gitlab::Git.branch_ref?(ref) GitPushService.new(post_received.project, @user, oldrev: oldrev, newrev: newrev, ref: ref).execute end + + changes << Gitlab::DataBuilder::Repository.single_change(oldrev, newrev, ref) + refs << ref end + + after_project_changes_hooks(post_received, @user, refs.to_a, changes) end - private + def after_project_changes_hooks(post_received, user, refs, changes) + hook_data = Gitlab::DataBuilder::Repository.update(post_received.project, user, changes, refs) + SystemHooksService.new.execute_hooks(hook_data, :repository_update_hooks) + end + + def process_wiki_changes(post_received) + # Nothing defined here yet. + end # To maintain backwards compatibility, we accept both gl_repository or # repository paths as project identifiers. Our plan is to migrate to diff --git a/spec/workers/post_receive_spec.rb b/spec/workers/post_receive_spec.rb index f4bc63bcc6a..44163c735ba 100644 --- a/spec/workers/post_receive_spec.rb +++ b/spec/workers/post_receive_spec.rb @@ -94,26 +94,23 @@ describe PostReceive do it { expect{ subject }.not_to change{ Ci::Pipeline.count } } end end - end - describe '#process_repository_update' do - let(:changes) {'123456 789012 refs/heads/tést'} - let(:fake_hook_data) do - { event_name: 'repository_update' } - end + context 'after project changes hooks' do + let(:changes) { '123456 789012 refs/heads/tést' } + let(:fake_hook_data) { Hash.new(event_name: 'repository_update') } - before do - allow_any_instance_of(Gitlab::GitPostReceive).to receive(:identify).and_return(project.owner) - allow_any_instance_of(Gitlab::DataBuilder::Repository).to receive(:update).and_return(fake_hook_data) - # silence hooks so we can isolate - allow_any_instance_of(Key).to receive(:post_create_hook).and_return(true) - allow(subject).to receive(:process_project_changes).and_return(true) - end + before do + allow_any_instance_of(Gitlab::DataBuilder::Repository).to receive(:update).and_return(fake_hook_data) + # silence hooks so we can isolate + allow_any_instance_of(Key).to receive(:post_create_hook).and_return(true) + allow_any_instance_of(GitPushService).to receive(:execute).and_return(true) + end - it 'calls SystemHooksService' do - expect_any_instance_of(SystemHooksService).to receive(:execute_hooks).with(fake_hook_data, :repository_update_hooks).and_return(true) + it 'calls SystemHooksService' do + expect_any_instance_of(SystemHooksService).to receive(:execute_hooks).with(fake_hook_data, :repository_update_hooks).and_return(true) - subject.perform(pwd(project), key_id, base64_changes) + described_class.new.perform(project_identifier, key_id, base64_changes) + end end end -- GitLab From 666314dfbe998fbe922f26d034c4be64a8e542b9 Mon Sep 17 00:00:00 2001 From: Annabel Dunstone Gray <annabel.dunstone@gmail.com> Date: Fri, 9 Jun 2017 21:05:15 +0000 Subject: [PATCH 226/249] Merge branch '33469-focus' into 'master' remove outline from More Actions icon when dropdown open Closes #33469 See merge request !12054 --- app/assets/stylesheets/framework/dropdowns.scss | 5 +++++ app/assets/stylesheets/pages/notes.scss | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/assets/stylesheets/framework/dropdowns.scss b/app/assets/stylesheets/framework/dropdowns.scss index 17f1dc2f479..cba890ce831 100644 --- a/app/assets/stylesheets/framework/dropdowns.scss +++ b/app/assets/stylesheets/framework/dropdowns.scss @@ -48,6 +48,10 @@ @include chevron-active; border-color: $gray-darkest; } + + [data-toggle="dropdown"] { + outline: 0; + } } .dropdown-toggle { @@ -109,6 +113,7 @@ &:focus:active { @include chevron-active; border-color: $dropdown-toggle-active-border-color; + outline: 0; } } diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss index e622e5c3f4b..a0442463390 100644 --- a/app/assets/stylesheets/pages/notes.scss +++ b/app/assets/stylesheets/pages/notes.scss @@ -462,7 +462,6 @@ ul.notes { .more-actions-toggle { padding: 0; - outline: none; &:hover .icon, &:focus .icon { -- GitLab From 593495ea042fb8665005200e16bba58e8c0e89de Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon <grzegorz@gitlab.com> Date: Mon, 12 Jun 2017 07:16:39 +0000 Subject: [PATCH 227/249] Merge branch 'patch-8' into 'master' doc: add example of scheduler when See merge request !12067 --- doc/user/project/pipelines/schedules.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/user/project/pipelines/schedules.md b/doc/user/project/pipelines/schedules.md index d19d184f9b0..17cc21238ff 100644 --- a/doc/user/project/pipelines/schedules.md +++ b/doc/user/project/pipelines/schedules.md @@ -31,6 +31,26 @@ is installed on.  +## Using only and except + +To configure that a job can be executed only when the pipeline has been +scheduled (or the opposite), you can use +[only and except](../../../ci/yaml/README.md#only-and-except) configuration keywords. + +``` +job:on-schedule: + only: + - schedules + script: + - make world + +job: + except: + - schedules + script: + - make build +``` + ## Taking ownership Pipelines are executed as a user, who owns a schedule. This influences what -- GitLab From 8c9530475690d21f600215b84c428e34f5fb0fd7 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Mon, 12 Jun 2017 19:23:49 +0000 Subject: [PATCH 228/249] Merge branch '29010-perf-bar' into 'master' Add an optional performance bar to view performance metrics for the current page Closes #29010 See merge request !11439 --- Gemfile | 11 ++ Gemfile.lock | 42 ++++ app/assets/javascripts/peek.js | 16 ++ app/assets/javascripts/shortcuts.js | 14 ++ app/controllers/application_controller.rb | 18 +- app/helpers/nav_helper.rb | 1 + app/views/help/_shortcuts.html.haml | 4 + app/views/layouts/_head.html.haml | 2 + app/views/layouts/application.html.haml | 1 + app/views/peek/views/_mysql2.html.haml | 4 + app/views/peek/views/_pg.html.haml | 4 + app/views/peek/views/_sql.html.haml | 13 ++ changelogs/unreleased/29010-perf-bar.yml | 4 + config/application.rb | 1 + config/initializers/peek.rb | 32 +++ config/routes.rb | 1 + config/webpack.config.js | 1 + doc/workflow/shortcuts.md | 3 + lib/gitlab/performance_bar.rb | 7 + .../peek_performance_bar_with_rack_body.rb | 22 +++ .../performance_bar/peek_query_tracker.rb | 39 ++++ .../rblineprof/custom_controller_helpers.rb | 96 +++++++++ .../user_can_display_performance_bar_spec.rb | 81 ++++++++ spec/models/commit_spec.rb | 2 +- vendor/assets/javascripts/peek.js | 78 ++++++++ .../javascripts/peek.performance_bar.js | 182 ++++++++++++++++++ vendor/assets/stylesheets/peek.scss | 94 +++++++++ 27 files changed, 771 insertions(+), 2 deletions(-) create mode 100644 app/assets/javascripts/peek.js create mode 100644 app/views/peek/views/_mysql2.html.haml create mode 100644 app/views/peek/views/_pg.html.haml create mode 100644 app/views/peek/views/_sql.html.haml create mode 100644 changelogs/unreleased/29010-perf-bar.yml create mode 100644 config/initializers/peek.rb create mode 100644 lib/gitlab/performance_bar.rb create mode 100644 lib/gitlab/performance_bar/peek_performance_bar_with_rack_body.rb create mode 100644 lib/gitlab/performance_bar/peek_query_tracker.rb create mode 100644 lib/peek/rblineprof/custom_controller_helpers.rb create mode 100644 spec/features/user_can_display_performance_bar_spec.rb create mode 100644 vendor/assets/javascripts/peek.js create mode 100644 vendor/assets/javascripts/peek.performance_bar.js create mode 100644 vendor/assets/stylesheets/peek.scss diff --git a/Gemfile b/Gemfile index 715ce2bc6c2..c78c1f2fc4c 100644 --- a/Gemfile +++ b/Gemfile @@ -264,6 +264,17 @@ gem 'gettext_i18n_rails', '~> 1.8.0' gem 'gettext_i18n_rails_js', '~> 1.2.0' gem 'gettext', '~> 3.2.2', require: false, group: :development +# Perf bar +gem 'peek', '~> 1.0.1' +gem 'peek-gc', '~> 0.0.2' +gem 'peek-host', '~> 1.0.0' +gem 'peek-mysql2', '~> 1.1.0', group: :mysql +gem 'peek-performance_bar', '~> 1.2.1' +gem 'peek-pg', '~> 1.3.0', group: :postgres +gem 'peek-rblineprof', '~> 0.2.0' +gem 'peek-redis', '~> 1.2.0' +gem 'peek-sidekiq', '~> 1.0.3' + # Metrics group :metrics do gem 'allocations', '~> 1.0', require: false, platform: :mri diff --git a/Gemfile.lock b/Gemfile.lock index d34b84df5e6..676cd977e37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -56,6 +56,7 @@ GEM asciidoctor-plantuml (0.0.7) asciidoctor (~> 1.5) ast (2.3.0) + atomic (1.1.99) attr_encrypted (3.0.3) encryptor (~> 3.0.0) attr_required (1.0.0) @@ -131,6 +132,8 @@ GEM coffee-script-source (1.10.0) colorize (0.7.7) concurrent-ruby (1.0.5) + concurrent-ruby-ext (1.0.5) + concurrent-ruby (= 1.0.5) connection_pool (2.2.1) crack (0.4.3) safe_yaml (~> 1.0.0) @@ -548,6 +551,36 @@ GEM parser (2.4.0.0) ast (~> 2.2) path_expander (1.0.1) + peek (1.0.1) + concurrent-ruby (>= 0.9.0) + concurrent-ruby-ext (>= 0.9.0) + railties (>= 4.0.0) + peek-gc (0.0.2) + peek + peek-host (1.0.0) + peek + peek-mysql2 (1.1.0) + atomic (>= 1.0.0) + mysql2 + peek + peek-performance_bar (1.2.1) + peek (>= 0.1.0) + peek-pg (1.3.0) + concurrent-ruby + concurrent-ruby-ext + peek + pg + peek-rblineprof (0.2.0) + peek + rblineprof + peek-redis (1.2.0) + atomic (>= 1.0.0) + peek + redis + peek-sidekiq (1.0.3) + atomic (>= 1.0.0) + peek + sidekiq pg (0.18.4) po_to_json (1.0.1) json (>= 1.6.0) @@ -999,6 +1032,15 @@ DEPENDENCIES omniauth_crowd (~> 2.2.0) org-ruby (~> 0.9.12) paranoia (~> 2.2) + peek (~> 1.0.1) + peek-gc (~> 0.0.2) + peek-host (~> 1.0.0) + peek-mysql2 (~> 1.1.0) + peek-performance_bar (~> 1.2.1) + peek-pg (~> 1.3.0) + peek-rblineprof (~> 0.2.0) + peek-redis (~> 1.2.0) + peek-sidekiq (~> 1.0.3) pg (~> 0.18.2) poltergeist (~> 1.9.0) premailer-rails (~> 1.9.0) diff --git a/app/assets/javascripts/peek.js b/app/assets/javascripts/peek.js new file mode 100644 index 00000000000..de1a99fa3bd --- /dev/null +++ b/app/assets/javascripts/peek.js @@ -0,0 +1,16 @@ +import 'vendor/peek'; +import 'vendor/peek.performance_bar'; + +$(document).on('click', '#peek-show-queries', (e) => { + e.preventDefault(); + $('.peek-rblineprof-modal').hide(); + const $modal = $('#modal-peek-pg-queries'); + if ($modal.length) { + $modal.modal('toggle'); + } +}); + +$(document).on('click', '.js-lineprof-file', (e) => { + e.preventDefault(); + $(e.target).parents('.peek-rblineprof-file').find('.data').toggle(); +}); diff --git a/app/assets/javascripts/shortcuts.js b/app/assets/javascripts/shortcuts.js index 8ac71797c14..a4a7f3fa944 100644 --- a/app/assets/javascripts/shortcuts.js +++ b/app/assets/javascripts/shortcuts.js @@ -1,6 +1,8 @@ /* eslint-disable func-names, space-before-function-paren, no-var, prefer-rest-params, wrap-iife, quotes, prefer-arrow-callback, consistent-return, object-shorthand, no-unused-vars, one-var, one-var-declaration-per-line, no-else-return, comma-dangle, max-len */ /* global Mousetrap */ /* global findFileURL */ +import Cookies from 'js-cookie'; + import findAndFollowLink from './shortcuts_dashboard_navigation'; (function() { @@ -14,6 +16,7 @@ import findAndFollowLink from './shortcuts_dashboard_navigation'; Mousetrap.bind('?', this.onToggleHelp); Mousetrap.bind('s', Shortcuts.focusSearch); Mousetrap.bind('f', (e => this.focusFilter(e))); + Mousetrap.bind('p b', this.onTogglePerfBar); const $globalDropdownMenu = $('.global-dropdown-menu'); const $globalDropdownToggle = $('.global-dropdown-toggle'); @@ -53,6 +56,17 @@ import findAndFollowLink from './shortcuts_dashboard_navigation'; return Shortcuts.toggleHelp(this.enabledHelp); }; + Shortcuts.prototype.onTogglePerfBar = function(e) { + e.preventDefault(); + const performanceBarCookieName = 'perf_bar_enabled'; + if (Cookies.get(performanceBarCookieName) === 'true') { + Cookies.remove(performanceBarCookieName, { path: '/' }); + } else { + Cookies.set(performanceBarCookieName, true, { path: '/' }); + } + gl.utils.refreshCurrentPage(); + }; + Shortcuts.prototype.toggleMarkdownPreview = function(e) { // Check if short-cut was triggered while in Write Mode const $target = $(e.target); diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 47ce21d238b..91694ebcd1d 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -9,6 +9,7 @@ class ApplicationController < ActionController::Base include SentryHelper include WorkhorseHelper include EnforcesTwoFactorAuthentication + include Peek::Rblineprof::CustomControllerHelpers before_action :authenticate_user_from_private_token! before_action :authenticate_user_from_rss_token! @@ -18,7 +19,7 @@ class ApplicationController < ActionController::Base before_action :ldap_security_check before_action :sentry_context before_action :default_headers - before_action :add_gon_variables + before_action :add_gon_variables, unless: -> { request.path.start_with?('/-/peek') } before_action :configure_permitted_parameters, if: :devise_controller? before_action :require_email, unless: :devise_controller? @@ -63,6 +64,21 @@ class ApplicationController < ActionController::Base end end + def peek_enabled? + return false unless Gitlab::PerformanceBar.enabled? + return false unless current_user + + if RequestStore.active? + if RequestStore.store.key?(:peek_enabled) + RequestStore.store[:peek_enabled] + else + RequestStore.store[:peek_enabled] = cookies[:perf_bar_enabled].present? + end + else + cookies[:perf_bar_enabled].present? + end + end + protected # This filter handles both private tokens and personal access tokens diff --git a/app/helpers/nav_helper.rb b/app/helpers/nav_helper.rb index 88dfe78c90c..833d3c36b28 100644 --- a/app/helpers/nav_helper.rb +++ b/app/helpers/nav_helper.rb @@ -27,6 +27,7 @@ module NavHelper def nav_header_class class_name = '' class_name << " with-horizontal-nav" if defined?(nav) && nav + class_name << " with-peek" if peek_enabled? class_name end diff --git a/app/views/help/_shortcuts.html.haml b/app/views/help/_shortcuts.html.haml index ea8bbe92d86..331d1181220 100644 --- a/app/views/help/_shortcuts.html.haml +++ b/app/views/help/_shortcuts.html.haml @@ -27,6 +27,10 @@ %td.shortcut .key f %td Focus Filter + %tr + %td.shortcut + .key p b + %td Show/hide the Performance Bar %tr %td.shortcut .key ? diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index 1ef0d524dbb..eea33b5966f 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -28,6 +28,7 @@ = stylesheet_link_tag "application", media: "all" = stylesheet_link_tag "print", media: "print" = stylesheet_link_tag "test", media: "all" if Rails.env.test? + = stylesheet_link_tag 'peek' if peek_enabled? = Gon::Base.render_data @@ -37,6 +38,7 @@ = webpack_bundle_tag "main" = webpack_bundle_tag "raven" if current_application_settings.clientside_sentry_enabled = webpack_bundle_tag "test" if Rails.env.test? + = webpack_bundle_tag 'peek' if peek_enabled? - if content_for?(:page_specific_javascripts) = yield :page_specific_javascripts diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 03688e9ff21..2b07273a0a8 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -3,6 +3,7 @@ = render "layouts/head" %body{ class: @body_class, data: { page: body_data_page, project: "#{@project.path if @project}", group: "#{@group.path if @group}" } } = render "layouts/init_auto_complete" if @gfm_form + = render 'peek/bar' = render "layouts/header/default", title: header_title = render 'layouts/page', sidebar: sidebar, nav: nav diff --git a/app/views/peek/views/_mysql2.html.haml b/app/views/peek/views/_mysql2.html.haml new file mode 100644 index 00000000000..ac811a10ef5 --- /dev/null +++ b/app/views/peek/views/_mysql2.html.haml @@ -0,0 +1,4 @@ +- local_assigns.fetch(:view) + += render 'peek/views/sql', view: view +mysql diff --git a/app/views/peek/views/_pg.html.haml b/app/views/peek/views/_pg.html.haml new file mode 100644 index 00000000000..ee94c2f3274 --- /dev/null +++ b/app/views/peek/views/_pg.html.haml @@ -0,0 +1,4 @@ +- local_assigns.fetch(:view) + += render 'peek/views/sql', view: view +pg diff --git a/app/views/peek/views/_sql.html.haml b/app/views/peek/views/_sql.html.haml new file mode 100644 index 00000000000..16fc010f66f --- /dev/null +++ b/app/views/peek/views/_sql.html.haml @@ -0,0 +1,13 @@ +%strong + %a#peek-show-queries{ href: '#' } + %span{ data: { defer_to: "#{view.defer_key}-duration" } }... + \/ + %span{ data: { defer_to: "#{view.defer_key}-calls" } }... +#modal-peek-pg-queries.modal{ tabindex: -1 } + .modal-dialog + #modal-peek-pg-queries-content.modal-content + .modal-header + %a.close{ href: "#", "data-dismiss" => "modal" } × + %h4 + SQL queries + .modal-body{ data: { defer_to: "#{view.defer_key}-queries" } }... diff --git a/changelogs/unreleased/29010-perf-bar.yml b/changelogs/unreleased/29010-perf-bar.yml new file mode 100644 index 00000000000..f4167e5562f --- /dev/null +++ b/changelogs/unreleased/29010-perf-bar.yml @@ -0,0 +1,4 @@ +--- +title: Add an optional performance bar to view performance metrics for the current page +merge_request: 11439 +author: diff --git a/config/application.rb b/config/application.rb index b0533759252..8bbecf3ed0f 100644 --- a/config/application.rb +++ b/config/application.rb @@ -105,6 +105,7 @@ module Gitlab config.assets.precompile << "katex.css" config.assets.precompile << "katex.js" config.assets.precompile << "xterm/xterm.css" + config.assets.precompile << "peek.css" config.assets.precompile << "lib/ace.js" config.assets.precompile << "vendor/assets/fonts/*" config.assets.precompile << "test.css" diff --git a/config/initializers/peek.rb b/config/initializers/peek.rb new file mode 100644 index 00000000000..65432caac2a --- /dev/null +++ b/config/initializers/peek.rb @@ -0,0 +1,32 @@ +Rails.application.config.peek.adapter = :redis, { client: ::Redis.new(Gitlab::Redis.params) } + +Peek.into Peek::Views::Host +Peek.into Peek::Views::PerformanceBar +if Gitlab::Database.mysql? + require 'peek-mysql2' + PEEK_DB_CLIENT = ::Mysql2::Client + PEEK_DB_VIEW = Peek::Views::Mysql2 +else + require 'peek-pg' + PEEK_DB_CLIENT = ::PG::Connection + PEEK_DB_VIEW = Peek::Views::PG +end +Peek.into PEEK_DB_VIEW +Peek.into Peek::Views::Redis +Peek.into Peek::Views::Sidekiq +Peek.into Peek::Views::Rblineprof +Peek.into Peek::Views::GC + +# rubocop:disable Style/ClassAndModuleCamelCase +class PEEK_DB_CLIENT + class << self + attr_accessor :query_details + end + self.query_details = Concurrent::Array.new +end + +PEEK_DB_VIEW.prepend ::Gitlab::PerformanceBar::PeekQueryTracker + +class Peek::Views::PerformanceBar::ProcessUtilization + prepend ::Gitlab::PerformanceBar::PeekPerformanceBarWithRackBody +end diff --git a/config/routes.rb b/config/routes.rb index d909be38b42..4fd6cb5d439 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -42,6 +42,7 @@ Rails.application.routes.draw do get 'liveness' => 'health#liveness' get 'readiness' => 'health#readiness' resources :metrics, only: [:index] + mount Peek::Railtie => '/peek' end # Koding route diff --git a/config/webpack.config.js b/config/webpack.config.js index 3320f030f12..b84d6bb38d0 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -77,6 +77,7 @@ var config = { raven: './raven/index.js', vue_merge_request_widget: './vue_merge_request_widget/index.js', test: './test.js', + peek: './peek.js', }, output: { diff --git a/doc/workflow/shortcuts.md b/doc/workflow/shortcuts.md index c5b7488be69..87416008e98 100644 --- a/doc/workflow/shortcuts.md +++ b/doc/workflow/shortcuts.md @@ -6,7 +6,10 @@ You can see GitLab's keyboard shortcuts by using 'shift + ?' | Keyboard Shortcut | Description | | ----------------- | ----------- | +| <kbd>n</kbd> | Main navigation | | <kbd>s</kbd> | Focus search | +| <kbd>f</kbd> | Focus filter | +| <kbd>p b</kbd> | Show/hide the Performance Bar | | <kbd>?</kbd> | Show/hide this dialog | | <kbd>⌘</kbd> + <kbd>shift</kbd> + <kbd>p</kbd> | Toggle markdown preview | | <kbd>↑</kbd> | Edit last comment (when focused on an empty textarea) | diff --git a/lib/gitlab/performance_bar.rb b/lib/gitlab/performance_bar.rb new file mode 100644 index 00000000000..163a40ad306 --- /dev/null +++ b/lib/gitlab/performance_bar.rb @@ -0,0 +1,7 @@ +module Gitlab + module PerformanceBar + def self.enabled? + Feature.enabled?('gitlab_performance_bar') + end + end +end diff --git a/lib/gitlab/performance_bar/peek_performance_bar_with_rack_body.rb b/lib/gitlab/performance_bar/peek_performance_bar_with_rack_body.rb new file mode 100644 index 00000000000..d939a6ea18d --- /dev/null +++ b/lib/gitlab/performance_bar/peek_performance_bar_with_rack_body.rb @@ -0,0 +1,22 @@ +# This solves a bug with a X-Senfile header that wouldn't be set properly, see +# https://github.com/peek/peek-performance_bar/pull/27 +module Gitlab + module PerformanceBar + module PeekPerformanceBarWithRackBody + def call(env) + @env = env + reset_stats + + @total_requests += 1 + first_request if @total_requests == 1 + + env['process.request_start'] = @start.to_f + env['process.total_requests'] = total_requests + + status, headers, body = @app.call(env) + body = Rack::BodyProxy.new(body) { record_request } + [status, headers, body] + end + end + end +end diff --git a/lib/gitlab/performance_bar/peek_query_tracker.rb b/lib/gitlab/performance_bar/peek_query_tracker.rb new file mode 100644 index 00000000000..7ab80f5ee0f --- /dev/null +++ b/lib/gitlab/performance_bar/peek_query_tracker.rb @@ -0,0 +1,39 @@ +# Inspired by https://github.com/peek/peek-pg/blob/master/lib/peek/views/pg.rb +module Gitlab + module PerformanceBar + module PeekQueryTracker + def sorted_queries + PEEK_DB_CLIENT.query_details. + sort { |a, b| b[:duration] <=> a[:duration] } + end + + def results + super.merge(queries: sorted_queries) + end + + private + + def setup_subscribers + super + + # Reset each counter when a new request starts + before_request do + PEEK_DB_CLIENT.query_details = [] + end + + subscribe('sql.active_record') do |_, start, finish, _, data| + if RequestStore.active? && RequestStore.store[:peek_enabled] + track_query(data[:sql].strip, data[:binds], start, finish) + end + end + end + + def track_query(raw_query, bindings, start, finish) + query = Gitlab::Sherlock::Query.new(raw_query, start, finish) + query_info = { duration: '%.3f' % query.duration, sql: query.formatted_query } + + PEEK_DB_CLIENT.query_details << query_info + end + end + end +end diff --git a/lib/peek/rblineprof/custom_controller_helpers.rb b/lib/peek/rblineprof/custom_controller_helpers.rb new file mode 100644 index 00000000000..99f9c2c9b04 --- /dev/null +++ b/lib/peek/rblineprof/custom_controller_helpers.rb @@ -0,0 +1,96 @@ +module Peek + module Rblineprof + module CustomControllerHelpers + extend ActiveSupport::Concern + + # This will become useless once https://github.com/peek/peek-rblineprof/pull/5 + # is merged + def pygmentize(file_name, code, lexer = nil) + if lexer.present? + Gitlab::Highlight.highlight(file_name, code) + else + "<pre>#{Rack::Utils.escape_html(code)}</pre>" + end + end + + # rubocop:disable all + def inject_rblineprof + ret = nil + profile = lineprof(rblineprof_profiler_regex) do + ret = yield + end + + if response.content_type =~ %r|text/html| + sort = params[:lineprofiler_sort] + mode = params[:lineprofiler_mode] || 'cpu' + min = (params[:lineprofiler_min] || 5).to_i * 1000 + summary = params[:lineprofiler_summary] + + # Sort each file by the longest calculated time + per_file = profile.map do |file, lines| + total, child, excl, total_cpu, child_cpu, excl_cpu = lines[0] + + wall = summary == 'exclusive' ? excl : total + cpu = summary == 'exclusive' ? excl_cpu : total_cpu + idle = summary == 'exclusive' ? (excl - excl_cpu) : (total - total_cpu) + + [ + file, lines, + wall, cpu, idle, + sort == 'idle' ? idle : sort == 'cpu' ? cpu : wall + ] + end.sort_by{ |a,b,c,d,e,f| -f } + + output = '' + per_file.each do |file_name, lines, file_wall, file_cpu, file_idle, file_sort| + + output << "<div class='peek-rblineprof-file'><div class='heading'>" + + show_src = file_sort > min + tmpl = show_src ? "<a href='#' class='js-lineprof-file'>%s</a>" : "%s" + + if mode == 'cpu' + output << sprintf("<span class='duration'>% 8.1fms + % 8.1fms</span> #{tmpl}", file_cpu / 1000.0, file_idle / 1000.0, file_name.sub(Rails.root.to_s + '/', '')) + else + output << sprintf("<span class='duration'>% 8.1fms</span> #{tmpl}", file_wall/1000.0, file_name.sub(Rails.root.to_s + '/', '')) + end + + output << "</div>" # .heading + + next unless show_src + + output << "<div class='data'>" + code = [] + times = [] + File.readlines(file_name).each_with_index do |line, i| + code << line + wall, cpu, calls = lines[i + 1] + + if calls && calls > 0 + if mode == 'cpu' + idle = wall - cpu + times << sprintf("% 8.1fms + % 8.1fms (% 5d)", cpu / 1000.0, idle / 1000.0, calls) + else + times << sprintf("% 8.1fms (% 5d)", wall / 1000.0, calls) + end + else + times << ' ' + end + end + output << "<pre class='duration'>#{times.join("\n")}</pre>" + # The following line was changed from + # https://github.com/peek/peek-rblineprof/blob/8d3b7a283a27de2f40abda45974516693d882258/lib/peek/rblineprof/controller_helpers.rb#L125 + # This will become useless once https://github.com/peek/peek-rblineprof/pull/16 + # is merged and is implemented. + output << "<pre class='code highlight white'>#{pygmentize(file_name, code.join, 'ruby')}</pre>" + output << "</div></div>" # .data then .peek-rblineprof-file + end + + response.body += "<div class='peek-rblineprof-modal' id='line-profile'>#{output}</div>".html_safe + end + + ret + end + end + end +end diff --git a/spec/features/user_can_display_performance_bar_spec.rb b/spec/features/user_can_display_performance_bar_spec.rb new file mode 100644 index 00000000000..c2842255b86 --- /dev/null +++ b/spec/features/user_can_display_performance_bar_spec.rb @@ -0,0 +1,81 @@ +require 'rails_helper' + +describe 'User can display performacne bar', :js do + shared_examples 'performance bar is disabled' do + it 'does not show the performance bar by default' do + expect(page).not_to have_css('#peek') + end + + context 'when user press `pb`' do + before do + find('body').native.send_keys('pb') + end + + it 'does not show the performance bar by default' do + expect(page).not_to have_css('#peek') + end + end + end + + shared_examples 'performance bar is enabled' do + it 'does not show the performance bar by default' do + expect(page).not_to have_css('#peek') + end + + context 'when user press `pb`' do + before do + find('body').native.send_keys('pb') + end + + it 'does not show the performance bar by default' do + expect(page).not_to have_css('#peek') + end + end + end + + context 'when user is logged-out' do + before do + visit root_path + end + + context 'when the gitlab_performance_bar feature is disabled' do + before do + Feature.disable('gitlab_performance_bar') + end + + it_behaves_like 'performance bar is disabled' + end + + context 'when the gitlab_performance_bar feature is enabled' do + before do + Feature.enable('gitlab_performance_bar') + end + + it_behaves_like 'performance bar is disabled' + end + end + + context 'when user is logged-in' do + before do + login_as :user + + visit root_path + end + + context 'when the gitlab_performance_bar feature is disabled' do + before do + Feature.disable('gitlab_performance_bar') + end + + it_behaves_like 'performance bar is disabled' + end + + context 'when the gitlab_performance_bar feature is enabled' do + before do + Feature.enable('gitlab_performance_bar') + end + + it_behaves_like 'performance bar is enabled' + end + end +end diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index 140fd2720bf..ba247dcc5cf 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -20,8 +20,8 @@ describe Commit, models: true do end it 'caches the author' do + allow(RequestStore).to receive(:active?).and_return(true) user = create(:user, email: commit.author_email) - expect(RequestStore).to receive(:active?).twice.and_return(true) expect_any_instance_of(Commit).to receive(:find_author_by_any_email).and_call_original expect(commit.author).to eq(user) diff --git a/vendor/assets/javascripts/peek.js b/vendor/assets/javascripts/peek.js new file mode 100644 index 00000000000..f7e77de34ff --- /dev/null +++ b/vendor/assets/javascripts/peek.js @@ -0,0 +1,78 @@ +(function($) { + var fetchRequestResults, getRequestId, peekEnabled, toggleBar, updatePerformanceBar; + getRequestId = function() { + return $('#peek').data('request-id'); + }; + peekEnabled = function() { + return $('#peek').length; + }; + updatePerformanceBar = function(results) { + var key, label, data, table, html, tr, duration_td, sql_td, strong; + + Object.keys(results.data).forEach(function(key) { + Object.keys(results.data[key]).forEach(function(label) { + data = results.data[key][label]; + + if (label == 'queries') { + table = document.createElement('table'); + + for (var i = 0; i < data.length; i += 1) { + tr = document.createElement('tr'); + duration_td = document.createElement('td'); + sql_td = document.createElement('td'); + strong = document.createElement('strong'); + + strong.append(data[i]['duration'] + 'ms'); + duration_td.appendChild(strong); + tr.appendChild(duration_td); + + sql_td.appendChild(document.createTextNode(data[i]['sql'])); + tr.appendChild(sql_td); + + table.appendChild(tr); + } + + table.className = 'table'; + $("[data-defer-to=" + key + "-" + label + "]").html(table); + } else { + $("[data-defer-to=" + key + "-" + label + "]").text(results.data[key][label]); + } + }); + }); + return $(document).trigger('peek:render', [getRequestId(), results]); + }; + toggleBar = function(event) { + var wrapper; + if ($(event.target).is(':input')) { + return; + } + if (event.which === 96 && !event.metaKey) { + wrapper = $('#peek'); + if (wrapper.hasClass('disabled')) { + wrapper.removeClass('disabled'); + return document.cookie = "peek=true; path=/"; + } else { + wrapper.addClass('disabled'); + return document.cookie = "peek=false; path=/"; + } + } + }; + fetchRequestResults = function() { + return $.ajax('/-/peek/results', { + data: { + request_id: getRequestId() + }, + success: function(data, textStatus, xhr) { + return updatePerformanceBar(data); + }, + error: function(xhr, textStatus, error) {} + }); + }; + $(document).on('keypress', toggleBar); + $(document).on('peek:update', fetchRequestResults); + return $(function() { + if (peekEnabled()) { + return $(this).trigger('peek:update'); + } + }); +})(jQuery); diff --git a/vendor/assets/javascripts/peek.performance_bar.js b/vendor/assets/javascripts/peek.performance_bar.js new file mode 100644 index 00000000000..6ed86dce2f2 --- /dev/null +++ b/vendor/assets/javascripts/peek.performance_bar.js @@ -0,0 +1,182 @@ +var PerformanceBar, ajaxStart, renderPerformanceBar, updateStatus; + +PerformanceBar = (function() { + PerformanceBar.prototype.appInfo = null; + + PerformanceBar.prototype.width = null; + + PerformanceBar.formatTime = function(value) { + if (value >= 1000) { + return ((value / 1000).toFixed(3)) + "s"; + } else { + return (value.toFixed(0)) + "ms"; + } + }; + + function PerformanceBar(options) { + var k, v; + if (options == null) { + options = {}; + } + this.el = $('#peek-view-performance-bar .performance-bar'); + for (k in options) { + v = options[k]; + this[k] = v; + } + if (this.width == null) { + this.width = this.el.width(); + } + if (this.timing == null) { + this.timing = window.performance.timing; + } + } + + PerformanceBar.prototype.render = function(serverTime) { + var networkTime, perfNetworkTime; + if (serverTime == null) { + serverTime = 0; + } + this.el.empty(); + this.addBar('frontend', '#90d35b', 'domLoading', 'domInteractive'); + perfNetworkTime = this.timing.responseEnd - this.timing.requestStart; + if (serverTime && serverTime <= perfNetworkTime) { + networkTime = perfNetworkTime - serverTime; + this.addBar('latency / receiving', '#f1faff', this.timing.requestStart + serverTime, this.timing.requestStart + serverTime + networkTime); + this.addBar('app', '#90afcf', this.timing.requestStart, this.timing.requestStart + serverTime, this.appInfo); + } else { + this.addBar('backend', '#c1d7ee', 'requestStart', 'responseEnd'); + } + this.addBar('tcp / ssl', '#45688e', 'connectStart', 'connectEnd'); + this.addBar('redirect', '#0c365e', 'redirectStart', 'redirectEnd'); + this.addBar('dns', '#082541', 'domainLookupStart', 'domainLookupEnd'); + return this.el; + }; + + PerformanceBar.prototype.isLoaded = function() { + return this.timing.domInteractive; + }; + + PerformanceBar.prototype.start = function() { + return this.timing.navigationStart; + }; + + PerformanceBar.prototype.end = function() { + return this.timing.domInteractive; + }; + + PerformanceBar.prototype.total = function() { + return this.end() - this.start(); + }; + + PerformanceBar.prototype.addBar = function(name, color, start, end, info) { + var bar, left, offset, time, title, width; + if (typeof start === 'string') { + start = this.timing[start]; + } + if (typeof end === 'string') { + end = this.timing[end]; + } + if (!((start != null) && (end != null))) { + return; + } + time = end - start; + offset = start - this.start(); + left = this.mapH(offset); + width = this.mapH(time); + title = name + ": " + (PerformanceBar.formatTime(time)); + bar = $('<li></li>', { + 'data-title': title, + 'data-toggle': 'tooltip', + 'data-container': 'body' + }); + bar.css({ + width: width + "px", + left: left + "px", + background: color + }); + return this.el.append(bar); + }; + + PerformanceBar.prototype.mapH = function(offset) { + return offset * (this.width / this.total()); + }; + + return PerformanceBar; + +})(); + +renderPerformanceBar = function() { + var bar, resp, span, time; + resp = $('#peek-server_response_time'); + time = Math.round(resp.data('time') * 1000); + bar = new PerformanceBar; + bar.render(time); + span = $('<span>', { + 'data-toggle': 'tooltip', + 'data-title': 'Total navigation time for this page.', + 'data-container': 'body' + }).text(PerformanceBar.formatTime(bar.total())); + return updateStatus(span); +}; + +updateStatus = function(html) { + return $('#serverstats').html(html); +}; + +ajaxStart = null; + +$(document).on('pjax:start page:fetch turbolinks:request-start', function(event) { + return ajaxStart = event.timeStamp; +}); + +$(document).on('pjax:end page:load turbolinks:load', function(event, xhr) { + var ajaxEnd, serverTime, total; + if (ajaxStart == null) { + return; + } + ajaxEnd = event.timeStamp; + total = ajaxEnd - ajaxStart; + serverTime = xhr ? parseInt(xhr.getResponseHeader('X-Runtime')) : 0; + return setTimeout(function() { + var bar, now, span, tech; + now = new Date().getTime(); + bar = new PerformanceBar({ + timing: { + requestStart: ajaxStart, + responseEnd: ajaxEnd, + domLoading: ajaxEnd, + domInteractive: now + }, + isLoaded: function() { + return true; + }, + start: function() { + return ajaxStart; + }, + end: function() { + return now; + } + }); + bar.render(serverTime); + if ($.fn.pjax != null) { + tech = 'PJAX'; + } else { + tech = 'Turbolinks'; + } + span = $('<span>', { + 'data-toggle': 'tooltip', + 'data-title': tech + " navigation time", + 'data-container': 'body' + }).text(PerformanceBar.formatTime(total)); + updateStatus(span); + return ajaxStart = null; + }, 0); +}); + +$(function() { + if (window.performance) { + return renderPerformanceBar(); + } else { + return $('#peek-view-performance-bar').remove(); + } +}); diff --git a/vendor/assets/stylesheets/peek.scss b/vendor/assets/stylesheets/peek.scss new file mode 100644 index 00000000000..f1845fb9044 --- /dev/null +++ b/vendor/assets/stylesheets/peek.scss @@ -0,0 +1,94 @@ +//= require peek/views/performance_bar +//= require peek/views/rblineprof + +header.navbar-gitlab.with-peek { + top: 35px; +} + +#peek { + height: 35px; + background: #000; + line-height: 35px; + color: #999; + + &.disabled { + display: none; + } + + &.production { + background-color: #222; + } + + &.staging { + background-color: #291430; + } + + &.development { + background-color: #4c1210; + } + + .wrapper { + width: 800px; + margin: 0 auto; + } + + // UI Elements + .bucket { + background: #111; + display: inline-block; + padding: 4px 6px; + font-family: Consolas, "Liberation Mono", Courier, monospace; + line-height: 1; + color: #ccc; + border-radius: 3px; + box-shadow: 0 1px 0 rgba(255,255,255,.2), inset 0 1px 2px rgba(0,0,0,.25); + + .hidden { + display: none; + } + + &:hover .hidden { + display: inline; + } + } + + strong { + color: #fff; + } + + table { + strong { + color: #000; + } + } + + .view { + margin-right: 15px; + float: left; + + &:last-child { + margin-right: 0; + } + } + + .css-truncate { + &.css-truncate-target, + .css-truncate-target { + display: inline-block; + max-width: 125px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + vertical-align: top; + } + + &.expandable:hover .css-truncate-target, + &.expandable:hover.css-truncate-target { + max-width: 10000px !important; + } + } +} + +#modal-peek-pg-queries-content { + color: #000; +} -- GitLab From c712193920f2c7ed629865bfddef42aba8cccdb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Mon, 12 Jun 2017 19:31:00 +0000 Subject: [PATCH 229/249] Merge branch 'sh-fix-refactor-uploader-work-dir' into 'master' Set artifact working directory to be in the destination store to prevent unnecessary I/O Closes #33274 See merge request !11905 --- app/uploaders/artifact_uploader.rb | 4 ++ app/uploaders/gitlab_uploader.rb | 19 +++++++++ app/uploaders/lfs_object_uploader.rb | 12 ------ .../sh-fix-refactor-uploader-work-dir.yml | 4 ++ spec/uploaders/artifact_uploader_spec.rb | 15 +++++-- spec/uploaders/gitlab_uploader_spec.rb | 15 +++++++ spec/uploaders/lfs_object_uploader_spec.rb | 39 ++++++++++++------- 7 files changed, 77 insertions(+), 31 deletions(-) create mode 100644 changelogs/unreleased/sh-fix-refactor-uploader-work-dir.yml diff --git a/app/uploaders/artifact_uploader.rb b/app/uploaders/artifact_uploader.rb index 3bc0408f557..14addb6cf14 100644 --- a/app/uploaders/artifact_uploader.rb +++ b/app/uploaders/artifact_uploader.rb @@ -23,6 +23,10 @@ class ArtifactUploader < GitlabUploader File.join(self.class.local_artifacts_store, 'tmp/cache') end + def work_dir + File.join(self.class.local_artifacts_store, 'tmp/work') + end + private def default_local_path diff --git a/app/uploaders/gitlab_uploader.rb b/app/uploaders/gitlab_uploader.rb index e4e6d6f46b1..136ec6cc6af 100644 --- a/app/uploaders/gitlab_uploader.rb +++ b/app/uploaders/gitlab_uploader.rb @@ -53,4 +53,23 @@ class GitlabUploader < CarrierWave::Uploader::Base def exists? file.try(:exists?) end + + # Override this if you don't want to save files by default to the Rails.root directory + def work_dir + # Default path set by CarrierWave: + # https://github.com/carrierwaveuploader/carrierwave/blob/v1.0.0/lib/carrierwave/uploader/cache.rb#L182 + CarrierWave.tmp_path + end + + private + + # To prevent files from moving across filesystems, override the default + # implementation: + # http://github.com/carrierwaveuploader/carrierwave/blob/v1.0.0/lib/carrierwave/uploader/cache.rb#L181-L183 + def workfile_path(for_file = original_filename) + # To be safe, keep this directory outside of the the cache directory + # because calling CarrierWave.clean_cache_files! will remove any files in + # the cache directory. + File.join(work_dir, @cache_id, version_name.to_s, for_file) + end end diff --git a/app/uploaders/lfs_object_uploader.rb b/app/uploaders/lfs_object_uploader.rb index 02589959c2f..d11ebf0f9ca 100644 --- a/app/uploaders/lfs_object_uploader.rb +++ b/app/uploaders/lfs_object_uploader.rb @@ -16,16 +16,4 @@ class LfsObjectUploader < GitlabUploader def work_dir File.join(Gitlab.config.lfs.storage_path, 'tmp', 'work') end - - private - - # To prevent LFS files from moving across filesystems, override the default - # implementation: - # http://github.com/carrierwaveuploader/carrierwave/blob/v1.0.0/lib/carrierwave/uploader/cache.rb#L181-L183 - def workfile_path(for_file = original_filename) - # To be safe, keep this directory outside of the the cache directory - # because calling CarrierWave.clean_cache_files! will remove any files in - # the cache directory. - File.join(work_dir, @cache_id, version_name.to_s, for_file) - end end diff --git a/changelogs/unreleased/sh-fix-refactor-uploader-work-dir.yml b/changelogs/unreleased/sh-fix-refactor-uploader-work-dir.yml new file mode 100644 index 00000000000..255608bd89a --- /dev/null +++ b/changelogs/unreleased/sh-fix-refactor-uploader-work-dir.yml @@ -0,0 +1,4 @@ +--- +title: Set artifact working directory to be in the destination store to prevent unnecessary I/O +merge_request: +author: diff --git a/spec/uploaders/artifact_uploader_spec.rb b/spec/uploaders/artifact_uploader_spec.rb index 24e2e3a9f0e..b3fac65c55e 100644 --- a/spec/uploaders/artifact_uploader_spec.rb +++ b/spec/uploaders/artifact_uploader_spec.rb @@ -17,22 +17,29 @@ describe ArtifactUploader do describe '.artifacts_upload_path' do subject { described_class.artifacts_upload_path } - + it { is_expected.to start_with(path) } it { is_expected.to end_with('tmp/uploads/') } end describe '#store_dir' do subject { uploader.store_dir } - + it { is_expected.to start_with(path) } it { is_expected.to end_with("#{job.project_id}/#{job.id}") } end describe '#cache_dir' do subject { uploader.cache_dir } - + + it { is_expected.to start_with(path) } + it { is_expected.to end_with('/tmp/cache') } + end + + describe '#work_dir' do + subject { uploader.work_dir } + it { is_expected.to start_with(path) } - it { is_expected.to end_with('tmp/cache') } + it { is_expected.to end_with('/tmp/work') } end end diff --git a/spec/uploaders/gitlab_uploader_spec.rb b/spec/uploaders/gitlab_uploader_spec.rb index 78e9d9cf46c..a144b39f74f 100644 --- a/spec/uploaders/gitlab_uploader_spec.rb +++ b/spec/uploaders/gitlab_uploader_spec.rb @@ -53,4 +53,19 @@ describe GitlabUploader do expect(subject.move_to_store).to eq(true) end end + + describe '#cache!' do + it 'moves the file from the working directory to the cache directory' do + # One to get the work dir, the other to remove it + expect(subject).to receive(:workfile_path).exactly(2).times.and_call_original + # Test https://github.com/carrierwavesubject/carrierwave/blob/v1.0.0/lib/carrierwave/sanitized_file.rb#L200 + expect(FileUtils).to receive(:mv).with(anything, /^#{subject.work_dir}/).and_call_original + expect(FileUtils).to receive(:mv).with(/^#{subject.work_dir}/, /#{subject.cache_dir}/).and_call_original + + fixture = Rails.root.join('spec', 'fixtures', 'rails_sample.jpg') + subject.cache!(fixture_file_upload(fixture)) + + expect(subject.file.path).to match(/#{subject.cache_dir}/) + end + end end diff --git a/spec/uploaders/lfs_object_uploader_spec.rb b/spec/uploaders/lfs_object_uploader_spec.rb index c3b72e7d677..7088bc23334 100644 --- a/spec/uploaders/lfs_object_uploader_spec.rb +++ b/spec/uploaders/lfs_object_uploader_spec.rb @@ -1,21 +1,9 @@ require 'spec_helper' describe LfsObjectUploader do - let(:uploader) { described_class.new(build_stubbed(:empty_project)) } - - describe '#cache!' do - it 'caches the file in the cache directory' do - # One to get the work dir, the other to remove it - expect(uploader).to receive(:workfile_path).exactly(2).times.and_call_original - expect(FileUtils).to receive(:mv).with(anything, /^#{uploader.work_dir}/).and_call_original - expect(FileUtils).to receive(:mv).with(/^#{uploader.work_dir}/, /^#{uploader.cache_dir}/).and_call_original - - fixture = Rails.root.join('spec', 'fixtures', 'rails_sample.jpg') - uploader.cache!(fixture_file_upload(fixture)) - - expect(uploader.file.path).to start_with(uploader.cache_dir) - end - end + let(:lfs_object) { create(:lfs_object, :with_file) } + let(:uploader) { described_class.new(lfs_object) } + let(:path) { Gitlab.config.lfs.storage_path } describe '#move_to_cache' do it 'is true' do @@ -28,4 +16,25 @@ describe LfsObjectUploader do expect(uploader.move_to_store).to eq(true) end end + + describe '#store_dir' do + subject { uploader.store_dir } + + it { is_expected.to start_with(path) } + it { is_expected.to end_with("#{lfs_object.oid[0, 2]}/#{lfs_object.oid[2, 2]}") } + end + + describe '#cache_dir' do + subject { uploader.cache_dir } + + it { is_expected.to start_with(path) } + it { is_expected.to end_with('/tmp/cache') } + end + + describe '#work_dir' do + subject { uploader.work_dir } + + it { is_expected.to start_with(path) } + it { is_expected.to end_with('/tmp/work') } + end end -- GitLab From 1f9238490c60116f2cb64d432550e1acce605dda Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Mon, 12 Jun 2017 19:51:30 +0000 Subject: [PATCH 230/249] Merge branch 'rc/load-images-in-phantomjs' into 'master' Let PhantomJS load local images See merge request !12003 --- features/support/capybara.rb | 4 +++- spec/features/help_pages_spec.rb | 16 +++++----------- spec/features/projects/artifacts/file_spec.rb | 1 + spec/support/capybara.rb | 4 +++- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/features/support/capybara.rb b/features/support/capybara.rb index 6da8aaac6cb..f4691647d4b 100644 --- a/features/support/capybara.rb +++ b/features/support/capybara.rb @@ -11,8 +11,10 @@ Capybara.register_driver :poltergeist do |app| js_errors: true, timeout: timeout, window_size: [1366, 768], + url_whitelist: %w[localhost 127.0.0.1], + url_blacklist: %w[.mp4 .png .gif .avi .bmp .jpg .jpeg], phantomjs_options: [ - '--load-images=no' + '--load-images=yes' ] ) end diff --git a/spec/features/help_pages_spec.rb b/spec/features/help_pages_spec.rb index e0b2404e60a..31014f5cad2 100644 --- a/spec/features/help_pages_spec.rb +++ b/spec/features/help_pages_spec.rb @@ -34,7 +34,7 @@ describe 'Help Pages', feature: true do end end - context 'in a production environment with version check enabled', js: true do + context 'in a production environment with version check enabled', :js do before do allow(Rails.env).to receive(:production?) { true } allow(current_application_settings).to receive(:version_check_enabled) { true } @@ -44,18 +44,12 @@ describe 'Help Pages', feature: true do visit help_path end - it 'should display a version check image' do - expect(find('.js-version-status-badge')).to be_visible + it 'has a version check image' do + expect(find('.js-version-status-badge', visible: false)['src']).to end_with('/version-check-url') end - it 'should have a src url' do - expect(find('.js-version-status-badge')['src']).to match(/\/version-check-url/) - end - - it 'should hide the version check image if the image request fails' do - # We use '--load-images=no' with poltergeist so we must trigger manually - execute_script("$('.js-version-status-badge').trigger('error');") - + it 'hides the version check image if the image request fails' do + # We use '--load-images=yes' with poltergeist so the image fails to load expect(find('.js-version-status-badge', visible: false)).not_to be_visible end end diff --git a/spec/features/projects/artifacts/file_spec.rb b/spec/features/projects/artifacts/file_spec.rb index 25c4f3c87a2..860373e531b 100644 --- a/spec/features/projects/artifacts/file_spec.rb +++ b/spec/features/projects/artifacts/file_spec.rb @@ -39,6 +39,7 @@ feature 'Artifact file', :js, feature: true do context 'JPG file' do before do + page.driver.browser.url_blacklist = [] visit_file('rails_sample.jpg') wait_for_requests diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index b8ca8f22a3d..c34e76fa72f 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -14,8 +14,10 @@ Capybara.register_driver :poltergeist do |app| js_errors: true, timeout: timeout, window_size: [1366, 768], + url_whitelist: %w[localhost 127.0.0.1], + url_blacklist: %w[.mp4 .png .gif .avi .bmp .jpg .jpeg], phantomjs_options: [ - '--load-images=no' + '--load-images=yes' ] ) end -- GitLab From 2c46d8e58095218c16092b733f429dc3d092ced8 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon <grzegorz@gitlab.com> Date: Tue, 13 Jun 2017 07:17:03 +0000 Subject: [PATCH 231/249] Merge branch 'fix-filename-of-artifact-uploader' into 'master' Fix filename method of GitlabUploader to return always real filename Closes #33524 See merge request !12113 --- app/uploaders/gitlab_uploader.rb | 4 ++++ spec/requests/api/runner_spec.rb | 25 ++++++++++++++++++++++-- spec/uploaders/artifact_uploader_spec.rb | 16 +++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/app/uploaders/gitlab_uploader.rb b/app/uploaders/gitlab_uploader.rb index 136ec6cc6af..0da7a025591 100644 --- a/app/uploaders/gitlab_uploader.rb +++ b/app/uploaders/gitlab_uploader.rb @@ -61,6 +61,10 @@ class GitlabUploader < CarrierWave::Uploader::Base CarrierWave.tmp_path end + def filename + super || file&.filename + end + private # To prevent files from moving across filesystems, override the default diff --git a/spec/requests/api/runner_spec.rb b/spec/requests/api/runner_spec.rb index be83514ed9c..9556c99dea1 100644 --- a/spec/requests/api/runner_spec.rb +++ b/spec/requests/api/runner_spec.rb @@ -431,8 +431,29 @@ describe API::Runner do expect(response).to have_http_status(201) expect(json_response['id']).to eq(test_job.id) expect(json_response['dependencies'].count).to eq(2) - expect(json_response['dependencies']).to include({ 'id' => job.id, 'name' => job.name, 'token' => job.token }, - { 'id' => job2.id, 'name' => job2.name, 'token' => job2.token }) + expect(json_response['dependencies']).to include( + { 'id' => job.id, 'name' => job.name, 'token' => job.token }, + { 'id' => job2.id, 'name' => job2.name, 'token' => job2.token }) + end + end + + context 'when pipeline have jobs with artifacts' do + let!(:job) { create(:ci_build_tag, :artifacts, pipeline: pipeline, name: 'spinach', stage: 'test', stage_idx: 0) } + let!(:test_job) { create(:ci_build, pipeline: pipeline, name: 'deploy', stage: 'deploy', stage_idx: 1) } + + before do + job.success + end + + it 'returns dependent jobs' do + request_job + + expect(response).to have_http_status(201) + expect(json_response['id']).to eq(test_job.id) + expect(json_response['dependencies'].count).to eq(1) + expect(json_response['dependencies']).to include( + { 'id' => job.id, 'name' => job.name, 'token' => job.token, + 'artifacts_file' => { 'filename' => 'ci_build_artifacts.zip', 'size' => 106365 } }) end end diff --git a/spec/uploaders/artifact_uploader_spec.rb b/spec/uploaders/artifact_uploader_spec.rb index b3fac65c55e..2a3bd0e3bb2 100644 --- a/spec/uploaders/artifact_uploader_spec.rb +++ b/spec/uploaders/artifact_uploader_spec.rb @@ -42,4 +42,20 @@ describe ArtifactUploader do it { is_expected.to start_with(path) } it { is_expected.to end_with('/tmp/work') } end + + describe '#filename' do + # we need to use uploader, as this makes to use mounter + # which initialises uploader.file object + let(:uploader) { job.artifacts_file } + + subject { uploader.filename } + + it { is_expected.to be_nil } + + context 'with artifacts' do + let(:job) { create(:ci_build, :artifacts) } + + it { is_expected.not_to be_nil } + end + end end -- GitLab From 06e97a9da42125a736bdec451e46890ff573ea37 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Wed, 14 Jun 2017 09:22:27 +0000 Subject: [PATCH 232/249] Merge branch '33639-whitespace' into 'master' Adds back whitespace for job's trace Closes #33639 See merge request !12142 --- app/assets/stylesheets/pages/builds.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/assets/stylesheets/pages/builds.scss b/app/assets/stylesheets/pages/builds.scss index d931a78e112..a3ada980678 100644 --- a/app/assets/stylesheets/pages/builds.scss +++ b/app/assets/stylesheets/pages/builds.scss @@ -150,6 +150,7 @@ overflow-y: scroll; overflow-x: hidden; padding: 10px 20px 20px 5px; + white-space: pre; } .environment-information { -- GitLab From 624a02b9c8ccc9384d06e03b2d3b4061c9f25229 Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@gitlab.com> Date: Mon, 12 Jun 2017 14:57:43 +0000 Subject: [PATCH 233/249] Merge branch 'gitlab-workhorse-2.1.1' into 'master' Update gitlab-workhorse to v2.1.1 See merge request !12049 --- GITLAB_WORKHORSE_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GITLAB_WORKHORSE_VERSION b/GITLAB_WORKHORSE_VERSION index 227cea21564..3e3c2f1e5ed 100644 --- a/GITLAB_WORKHORSE_VERSION +++ b/GITLAB_WORKHORSE_VERSION @@ -1 +1 @@ -2.0.0 +2.1.1 -- GitLab From 385ba538aa21cfb299ce21ca1920054b5c6d3587 Mon Sep 17 00:00:00 2001 From: Phil Hughes <me@iamphill.com> Date: Tue, 13 Jun 2017 14:54:49 +0000 Subject: [PATCH 234/249] Merge branch '33629-scroll-color' into 'master' Change border color of job's scroll controllers to $border-color Closes #33629 See merge request !12129 --- app/assets/stylesheets/pages/builds.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/stylesheets/pages/builds.scss b/app/assets/stylesheets/pages/builds.scss index a3ada980678..a5a876d167b 100644 --- a/app/assets/stylesheets/pages/builds.scss +++ b/app/assets/stylesheets/pages/builds.scss @@ -72,7 +72,7 @@ display: flex; justify-content: flex-end; background: $gray-light; - border: 1px solid $gray-normal; + border: 1px solid $border-color; color: $gl-text-color; .truncated-info { -- GitLab From e5e2d90ab0248093c7c5a8d2a3c7645dd4f7c2b0 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon <grzegorz@gitlab.com> Date: Wed, 14 Jun 2017 07:35:27 +0000 Subject: [PATCH 235/249] Merge branch 'fix-external-ci-services' into 'master' Allow to access statuses for external CI services Closes #30714, #29369, and #15220 See merge request !11176 --- .../projects/application_controller.rb | 4 - app/controllers/projects/graphs_controller.rb | 1 - .../projects/pipelines_controller.rb | 1 - app/helpers/projects_helper.rb | 5 +- app/models/generic_commit_status.rb | 1 + app/policies/project_policy.rb | 2 +- app/serializers/build_details_entity.rb | 2 +- app/serializers/build_serializer.rb | 2 +- app/serializers/deployment_entity.rb | 4 +- .../{build_entity.rb => job_entity.rb} | 4 +- app/serializers/job_group_entity.rb | 2 +- app/services/git_push_service.rb | 6 +- app/services/git_tag_push_service.rb | 4 +- .../fix-support-for-external-ci-services.yml | 4 + lib/gitlab/ci/status/external/common.rb | 4 + .../projects/pipelines_controller_spec.rb | 37 ++++- .../projects/features_visibility_spec.rb | 5 +- spec/helpers/projects_helper_spec.rb | 33 +++++ .../gitlab/ci/status/external/common_spec.rb | 9 +- spec/policies/project_policy_spec.rb | 12 ++ spec/serializers/build_details_entity_spec.rb | 4 +- spec/serializers/build_entity_spec.rb | 82 ----------- spec/serializers/job_entity_spec.rb | 137 ++++++++++++++++++ .../pipeline_details_entity_spec.rb | 14 ++ spec/serializers/stage_entity_spec.rb | 11 ++ 25 files changed, 278 insertions(+), 112 deletions(-) rename app/serializers/{build_entity.rb => job_entity.rb} (89%) create mode 100644 changelogs/unreleased/fix-support-for-external-ci-services.yml delete mode 100644 spec/serializers/build_entity_spec.rb create mode 100644 spec/serializers/job_entity_spec.rb diff --git a/app/controllers/projects/application_controller.rb b/app/controllers/projects/application_controller.rb index cb4bd0ad5f5..603a51266da 100644 --- a/app/controllers/projects/application_controller.rb +++ b/app/controllers/projects/application_controller.rb @@ -80,10 +80,6 @@ class Projects::ApplicationController < ApplicationController cookies.permanent[:diff_view] = params.delete(:view) if params[:view].present? end - def builds_enabled - return render_404 unless @project.feature_available?(:builds, current_user) - end - def require_pages_enabled! not_found unless Gitlab.config.pages.enabled end diff --git a/app/controllers/projects/graphs_controller.rb b/app/controllers/projects/graphs_controller.rb index 43fc0c39801..df5221fe95f 100644 --- a/app/controllers/projects/graphs_controller.rb +++ b/app/controllers/projects/graphs_controller.rb @@ -5,7 +5,6 @@ class Projects::GraphsController < Projects::ApplicationController before_action :require_non_empty_project before_action :assign_ref_vars before_action :authorize_download_code! - before_action :builds_enabled, only: :ci def show respond_to do |format| diff --git a/app/controllers/projects/pipelines_controller.rb b/app/controllers/projects/pipelines_controller.rb index 6223e7943f8..8effb792689 100644 --- a/app/controllers/projects/pipelines_controller.rb +++ b/app/controllers/projects/pipelines_controller.rb @@ -4,7 +4,6 @@ class Projects::PipelinesController < Projects::ApplicationController before_action :authorize_read_pipeline! before_action :authorize_create_pipeline!, only: [:new, :create] before_action :authorize_update_pipeline!, only: [:retry, :cancel] - before_action :builds_enabled, only: :charts wrap_parameters Ci::Pipeline diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 7441b58fddb..c11dd49f4a7 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -218,6 +218,10 @@ module ProjectsHelper nav_tabs << :container_registry end + if project.builds_enabled? && can?(current_user, :read_pipeline, project) + nav_tabs << :pipelines + end + tab_ability_map.each do |tab, ability| if can?(current_user, ability, project) nav_tabs << tab @@ -231,7 +235,6 @@ module ProjectsHelper { environments: :read_environment, milestones: :read_milestone, - pipelines: :read_pipeline, snippets: :read_project_snippet, settings: :admin_project, builds: :read_build, diff --git a/app/models/generic_commit_status.rb b/app/models/generic_commit_status.rb index 8867ba0d2ff..532b8f4ad69 100644 --- a/app/models/generic_commit_status.rb +++ b/app/models/generic_commit_status.rb @@ -11,6 +11,7 @@ class GenericCommitStatus < CommitStatus def set_default_values self.context ||= 'default' self.stage ||= 'external' + self.stage_idx ||= 1000000 end def tags diff --git a/app/policies/project_policy.rb b/app/policies/project_policy.rb index 3959b895f44..47518dddb61 100644 --- a/app/policies/project_policy.rb +++ b/app/policies/project_policy.rb @@ -203,7 +203,7 @@ class ProjectPolicy < BasePolicy unless project.feature_available?(:builds, user) && repository_enabled cannot!(*named_abilities(:build)) - cannot!(*named_abilities(:pipeline)) + cannot!(*named_abilities(:pipeline) - [:read_pipeline]) cannot!(*named_abilities(:pipeline_schedule)) cannot!(*named_abilities(:environment)) cannot!(*named_abilities(:deployment)) diff --git a/app/serializers/build_details_entity.rb b/app/serializers/build_details_entity.rb index 3c25b497e2e..7582ab3e08c 100644 --- a/app/serializers/build_details_entity.rb +++ b/app/serializers/build_details_entity.rb @@ -1,4 +1,4 @@ -class BuildDetailsEntity < BuildEntity +class BuildDetailsEntity < JobEntity expose :coverage, :erased_at, :duration expose :tag_list, as: :tags expose :user, using: UserEntity diff --git a/app/serializers/build_serializer.rb b/app/serializers/build_serializer.rb index 79b67001199..bae9932847f 100644 --- a/app/serializers/build_serializer.rb +++ b/app/serializers/build_serializer.rb @@ -1,5 +1,5 @@ class BuildSerializer < BaseSerializer - entity BuildEntity + entity JobEntity def represent_status(resource) data = represent(resource, { only: [:status] }) diff --git a/app/serializers/deployment_entity.rb b/app/serializers/deployment_entity.rb index 8b3de1bed0f..e493c9162fd 100644 --- a/app/serializers/deployment_entity.rb +++ b/app/serializers/deployment_entity.rb @@ -24,6 +24,6 @@ class DeploymentEntity < Grape::Entity expose :user, using: UserEntity expose :commit, using: CommitEntity - expose :deployable, using: BuildEntity - expose :manual_actions, using: BuildEntity + expose :deployable, using: JobEntity + expose :manual_actions, using: JobEntity end diff --git a/app/serializers/build_entity.rb b/app/serializers/job_entity.rb similarity index 89% rename from app/serializers/build_entity.rb rename to app/serializers/job_entity.rb index c01efa9dd5c..889fd0c6023 100644 --- a/app/serializers/build_entity.rb +++ b/app/serializers/job_entity.rb @@ -1,11 +1,11 @@ -class BuildEntity < Grape::Entity +class JobEntity < Grape::Entity include RequestAwareEntity expose :id expose :name expose :build_path do |build| - path_to(:namespace_project_job, build) + build.target_url || path_to(:namespace_project_job, build) end expose :retry_path, if: -> (*) { build&.retryable? } do |build| diff --git a/app/serializers/job_group_entity.rb b/app/serializers/job_group_entity.rb index 04487e59009..8554de55517 100644 --- a/app/serializers/job_group_entity.rb +++ b/app/serializers/job_group_entity.rb @@ -4,7 +4,7 @@ class JobGroupEntity < Grape::Entity expose :name expose :size expose :detailed_status, as: :status, with: StatusEntity - expose :jobs, with: BuildEntity + expose :jobs, with: JobEntity private diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb index f080e6326a1..fb1d4aed58b 100644 --- a/app/services/git_push_service.rb +++ b/app/services/git_push_service.rb @@ -101,12 +101,12 @@ class GitPushService < BaseService UpdateMergeRequestsWorker .perform_async(@project.id, current_user.id, params[:oldrev], params[:newrev], params[:ref]) - SystemHookPushWorker.perform_async(build_push_data.dup, :push_hooks) - EventCreateService.new.push(@project, current_user, build_push_data) + Ci::CreatePipelineService.new(@project, current_user, build_push_data).execute(:push) + + SystemHookPushWorker.perform_async(build_push_data.dup, :push_hooks) @project.execute_hooks(build_push_data.dup, :push_hooks) @project.execute_services(build_push_data.dup, :push_hooks) - Ci::CreatePipelineService.new(@project, current_user, build_push_data).execute(:push) if push_remove_branch? AfterBranchDeleteService diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb index 7c424fba428..9917a39b795 100644 --- a/app/services/git_tag_push_service.rb +++ b/app/services/git_tag_push_service.rb @@ -8,10 +8,12 @@ class GitTagPushService < BaseService @push_data = build_push_data EventCreateService.new.push(project, current_user, @push_data) + Ci::CreatePipelineService.new(project, current_user, @push_data).execute(:push) + SystemHooksService.new.execute_hooks(build_system_push_data.dup, :tag_push_hooks) project.execute_hooks(@push_data.dup, :tag_push_hooks) project.execute_services(@push_data.dup, :tag_push_hooks) - Ci::CreatePipelineService.new(project, current_user, @push_data).execute(:push) + ProjectCacheWorker.perform_async(project.id, [], [:commit_count, :repository_size]) true diff --git a/changelogs/unreleased/fix-support-for-external-ci-services.yml b/changelogs/unreleased/fix-support-for-external-ci-services.yml new file mode 100644 index 00000000000..eecb4519259 --- /dev/null +++ b/changelogs/unreleased/fix-support-for-external-ci-services.yml @@ -0,0 +1,4 @@ +--- +title: Fix support for external CI services +merge_request: 11176 +author: diff --git a/lib/gitlab/ci/status/external/common.rb b/lib/gitlab/ci/status/external/common.rb index 4969a350862..9307545b5b1 100644 --- a/lib/gitlab/ci/status/external/common.rb +++ b/lib/gitlab/ci/status/external/common.rb @@ -3,6 +3,10 @@ module Gitlab module Status module External module Common + def label + subject.description + end + def has_details? subject.target_url.present? && can?(user, :read_commit_status, subject) diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb index c880da1e36a..7660866be8b 100644 --- a/spec/controllers/projects/pipelines_controller_spec.rb +++ b/spec/controllers/projects/pipelines_controller_spec.rb @@ -5,9 +5,12 @@ describe Projects::PipelinesController do let(:user) { create(:user) } let(:project) { create(:empty_project, :public) } + let(:feature) { ProjectFeature::DISABLED } before do project.add_developer(user) + project.project_feature.update( + builds_access_level: feature) sign_in(user) end @@ -160,16 +163,26 @@ describe Projects::PipelinesController do format: :json end - it 'retries a pipeline without returning any content' do - expect(response).to have_http_status(:no_content) - expect(build.reload).to be_retried + context 'when builds are enabled' do + let(:feature) { ProjectFeature::ENABLED } + + it 'retries a pipeline without returning any content' do + expect(response).to have_http_status(:no_content) + expect(build.reload).to be_retried + end + end + + context 'when builds are disabled' do + it 'fails to retry pipeline' do + expect(response).to have_http_status(:not_found) + end end end describe 'POST cancel.json' do let!(:pipeline) { create(:ci_pipeline, project: project) } let!(:build) { create(:ci_build, :running, pipeline: pipeline) } - + before do post :cancel, namespace_id: project.namespace, project_id: project, @@ -177,9 +190,19 @@ describe Projects::PipelinesController do format: :json end - it 'cancels a pipeline without returning any content' do - expect(response).to have_http_status(:no_content) - expect(pipeline.reload).to be_canceled + context 'when builds are enabled' do + let(:feature) { ProjectFeature::ENABLED } + + it 'cancels a pipeline without returning any content' do + expect(response).to have_http_status(:no_content) + expect(pipeline.reload).to be_canceled + end + end + + context 'when builds are disabled' do + it 'fails to retry pipeline' do + expect(response).to have_http_status(:not_found) + end end end end diff --git a/spec/features/projects/features_visibility_spec.rb b/spec/features/projects/features_visibility_spec.rb index c49648f54bd..d76b5e4ef1b 100644 --- a/spec/features/projects/features_visibility_spec.rb +++ b/spec/features/projects/features_visibility_spec.rb @@ -68,9 +68,12 @@ describe 'Edit Project Settings', feature: true do end describe 'project features visibility pages' do + let(:pipeline) { create(:ci_empty_pipeline, project: project) } + let(:job) { create(:ci_build, pipeline: pipeline) } + let(:tools) do { - builds: namespace_project_pipelines_path(project.namespace, project), + builds: namespace_project_job_path(project.namespace, project, job), issues: namespace_project_issues_path(project.namespace, project), wiki: namespace_project_wiki_path(project.namespace, project, :home), snippets: namespace_project_snippets_path(project.namespace, project), diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index a695621b87a..3ed0b0a756b 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -300,4 +300,37 @@ describe ProjectsHelper do expect(helper.send(:visibility_select_options, project, Gitlab::VisibilityLevel::PRIVATE)).to include('Private') end end + + describe '#get_project_nav_tabs' do + let(:project) { create(:empty_project) } + let(:user) { create(:user) } + + before do + allow(helper).to receive(:can?) { true } + end + + subject do + helper.send(:get_project_nav_tabs, project, user) + end + + context 'when builds feature is enabled' do + before do + allow(project).to receive(:builds_enabled?).and_return(true) + end + + it "does include pipelines tab" do + is_expected.to include(:pipelines) + end + end + + context 'when builds feature is disabled' do + before do + allow(project).to receive(:builds_enabled?).and_return(false) + end + + it "do not include pipelines tab" do + is_expected.not_to include(:pipelines) + end + end + end end diff --git a/spec/lib/gitlab/ci/status/external/common_spec.rb b/spec/lib/gitlab/ci/status/external/common_spec.rb index 5a97d98b55f..e58f5d8d4df 100644 --- a/spec/lib/gitlab/ci/status/external/common_spec.rb +++ b/spec/lib/gitlab/ci/status/external/common_spec.rb @@ -4,9 +4,10 @@ describe Gitlab::Ci::Status::External::Common do let(:user) { create(:user) } let(:project) { external_status.project } let(:external_target_url) { 'http://example.gitlab.com/status' } + let(:external_description) { 'my description' } let(:external_status) do - create(:generic_commit_status, target_url: external_target_url) + create(:generic_commit_status, target_url: external_target_url, description: external_description) end subject do @@ -15,6 +16,12 @@ describe Gitlab::Ci::Status::External::Common do .extend(described_class) end + describe '#label' do + it 'returns description' do + expect(subject.label).to eq external_description + end + end + describe '#has_action?' do it { is_expected.not_to have_action } end diff --git a/spec/policies/project_policy_spec.rb b/spec/policies/project_policy_spec.rb index 0d3af1f4499..848fd547e10 100644 --- a/spec/policies/project_policy_spec.rb +++ b/spec/policies/project_policy_spec.rb @@ -139,6 +139,18 @@ describe ProjectPolicy, models: true do is_expected.not_to include(:read_build, :read_pipeline) end end + + context 'when builds are disabled' do + before do + project.project_feature.update( + builds_access_level: ProjectFeature::DISABLED) + end + + it do + is_expected.not_to include(:read_build) + is_expected.to include(:read_pipeline) + end + end end context 'reporter' do diff --git a/spec/serializers/build_details_entity_spec.rb b/spec/serializers/build_details_entity_spec.rb index 396ba96e9b3..b92c1c28ba8 100644 --- a/spec/serializers/build_details_entity_spec.rb +++ b/spec/serializers/build_details_entity_spec.rb @@ -3,8 +3,8 @@ require 'spec_helper' describe BuildDetailsEntity do set(:user) { create(:admin) } - it 'inherits from BuildEntity' do - expect(described_class).to be < BuildEntity + it 'inherits from JobEntity' do + expect(described_class).to be < JobEntity end describe '#as_json' do diff --git a/spec/serializers/build_entity_spec.rb b/spec/serializers/build_entity_spec.rb deleted file mode 100644 index 46d43a80ef7..00000000000 --- a/spec/serializers/build_entity_spec.rb +++ /dev/null @@ -1,82 +0,0 @@ -require 'spec_helper' - -describe BuildEntity do - let(:user) { create(:user) } - let(:build) { create(:ci_build, :failed) } - let(:project) { build.project } - let(:request) { double('request') } - - before do - allow(request).to receive(:current_user).and_return(user) - end - - let(:entity) do - described_class.new(build, request: request) - end - - subject { entity.as_json } - - it 'contains paths to build page and retry action' do - expect(subject).to include(:build_path, :retry_path) - expect(subject[:retry_path]).not_to be_nil - end - - it 'does not contain sensitive information' do - expect(subject).not_to include(/token/) - expect(subject).not_to include(/variables/) - end - - it 'contains whether it is playable' do - expect(subject[:playable]).to eq build.playable? - end - - it 'contains timestamps' do - expect(subject).to include(:created_at, :updated_at) - end - - it 'contains details' do - expect(subject).to include :status - expect(subject[:status]).to include :icon, :favicon, :text, :label - end - - context 'when build is a regular job' do - it 'does not contain path to play action' do - expect(subject).not_to include(:play_path) - end - - it 'is not a playable job' do - expect(subject[:playable]).to be false - end - end - - context 'when build is a manual action' do - let(:build) { create(:ci_build, :manual) } - - context 'when user is allowed to trigger action' do - before do - project.add_developer(user) - - create(:protected_branch, :developers_can_merge, - name: 'master', project: project) - end - - it 'contains path to play action' do - expect(subject).to include(:play_path) - end - - it 'is a playable action' do - expect(subject[:playable]).to be true - end - end - - context 'when user is not allowed to trigger action' do - it 'does not contain path to play action' do - expect(subject).not_to include(:play_path) - end - - it 'is not a playable action' do - expect(subject[:playable]).to be false - end - end - end -end diff --git a/spec/serializers/job_entity_spec.rb b/spec/serializers/job_entity_spec.rb new file mode 100644 index 00000000000..88cdfba1145 --- /dev/null +++ b/spec/serializers/job_entity_spec.rb @@ -0,0 +1,137 @@ +require 'spec_helper' + +describe JobEntity do + let(:user) { create(:user) } +<<<<<<< HEAD:spec/serializers/build_entity_spec.rb + let(:build) { create(:ci_build, :failed) } + let(:project) { build.project } +======= + let(:job) { create(:ci_build) } + let(:project) { job.project } +>>>>>>> da66c90... Merge branch 'fix-external-ci-services' into 'master':spec/serializers/job_entity_spec.rb + let(:request) { double('request') } + + before do + allow(request).to receive(:current_user).and_return(user) + end + + let(:entity) do + described_class.new(job, request: request) + end + + subject { entity.as_json } + +<<<<<<< HEAD:spec/serializers/build_entity_spec.rb + it 'contains paths to build page and retry action' do + expect(subject).to include(:build_path, :retry_path) + expect(subject[:retry_path]).not_to be_nil +======= + it 'contains paths to job page action' do + expect(subject).to include(:build_path) +>>>>>>> da66c90... Merge branch 'fix-external-ci-services' into 'master':spec/serializers/job_entity_spec.rb + end + + it 'does not contain sensitive information' do + expect(subject).not_to include(/token/) + expect(subject).not_to include(/variables/) + end + + it 'contains whether it is playable' do + expect(subject[:playable]).to eq job.playable? + end + + it 'contains timestamps' do + expect(subject).to include(:created_at, :updated_at) + end + + it 'contains details' do + expect(subject).to include :status + expect(subject[:status]).to include :icon, :favicon, :text, :label + end + +<<<<<<< HEAD:spec/serializers/build_entity_spec.rb + context 'when build is a regular job' do +======= + context 'when job is retryable' do + before do + job.update(status: :failed) + end + + it 'contains cancel path' do + expect(subject).to include(:retry_path) + end + end + + context 'when job is cancelable' do + before do + job.update(status: :running) + end + + it 'contains cancel path' do + expect(subject).to include(:cancel_path) + end + end + + context 'when job is a regular job' do +>>>>>>> da66c90... Merge branch 'fix-external-ci-services' into 'master':spec/serializers/job_entity_spec.rb + it 'does not contain path to play action' do + expect(subject).not_to include(:play_path) + end + + it 'is not a playable job' do + expect(subject[:playable]).to be false + end + end + + context 'when job is a manual action' do + let(:job) { create(:ci_build, :manual) } + + context 'when user is allowed to trigger action' do + before do + project.add_developer(user) + + create(:protected_branch, :developers_can_merge, + name: 'master', project: project) + end + + it 'contains path to play action' do + expect(subject).to include(:play_path) + end + + it 'is a playable action' do + expect(subject[:playable]).to be true + end + end + + context 'when user is not allowed to trigger action' do + it 'does not contain path to play action' do + expect(subject).not_to include(:play_path) + end + + it 'is not a playable action' do + expect(subject[:playable]).to be false + end + end + end + + context 'when job is generic commit status' do + let(:job) { create(:generic_commit_status, target_url: 'http://google.com') } + + it 'contains paths to target action' do + expect(subject).to include(:build_path) + end + + it 'does not contain paths to other action paths' do + expect(subject).not_to include(:retry_path, :cancel_path, :play_path) + end + + it 'contains timestamps' do + expect(subject).to include(:created_at, :updated_at) + end + + it 'contains details' do + expect(subject).to include :status + expect(subject[:status]).to include :icon, :favicon, :text, :label + end + end +end diff --git a/spec/serializers/pipeline_details_entity_spec.rb b/spec/serializers/pipeline_details_entity_spec.rb index 03cc5ae9b63..5cb9b9945b6 100644 --- a/spec/serializers/pipeline_details_entity_spec.rb +++ b/spec/serializers/pipeline_details_entity_spec.rb @@ -91,6 +91,20 @@ describe PipelineDetailsEntity do end end + context 'when pipeline has commit statuses' do + let(:pipeline) { create(:ci_empty_pipeline) } + + before do + create(:generic_commit_status, pipeline: pipeline) + end + + it 'contains stages' do + expect(subject).to include(:details) + expect(subject[:details]).to include(:stages) + expect(subject[:details][:stages].first).to include(name: 'external') + end + end + context 'when pipeline has YAML errors' do let(:pipeline) do create(:ci_pipeline, config: { rspec: { invalid: :value } }) diff --git a/spec/serializers/stage_entity_spec.rb b/spec/serializers/stage_entity_spec.rb index 64b3217b809..40e303f7b89 100644 --- a/spec/serializers/stage_entity_spec.rb +++ b/spec/serializers/stage_entity_spec.rb @@ -54,6 +54,17 @@ describe StageEntity do it 'exposes the group key' do expect(subject).to include :groups end + + context 'and contains commit status' do + before do + create(:generic_commit_status, pipeline: pipeline, stage: 'test') + end + + it 'contains commit status' do + groups = subject[:groups].map { |group| group[:name] } + expect(groups).to include('generic') + end + end end end end -- GitLab From afa807d446b966bd81217a02832fab9407c78487 Mon Sep 17 00:00:00 2001 From: Sean Packham <sean@seanpackham.com> Date: Wed, 14 Jun 2017 08:25:17 +0000 Subject: [PATCH 236/249] Merge branch 'docs/personal-access-tokens' into 'master' Add docs for personal access tokens Closes #31740 and #33261 See merge request !12128 --- doc/administration/raketasks/github_import.md | 4 +- doc/api/README.md | 84 +++++++++++------- doc/api/oauth2.md | 2 +- doc/api/session.md | 13 ++- doc/api/users.md | 2 +- doc/ci/docker/using_docker_build.md | 8 +- .../account/two_factor_authentication.md | 55 ++++++------ .../profile/img/personal_access_tokens.png | Bin 0 -> 18555 bytes doc/user/profile/personal_access_tokens.md | 57 ++++++++++++ doc/user/project/container_registry.md | 15 ++-- .../project/new_ci_build_permissions_model.md | 8 +- 11 files changed, 162 insertions(+), 86 deletions(-) create mode 100644 doc/user/profile/img/personal_access_tokens.png create mode 100644 doc/user/profile/personal_access_tokens.md diff --git a/doc/administration/raketasks/github_import.md b/doc/administration/raketasks/github_import.md index affb4d17861..04c70c3644e 100644 --- a/doc/administration/raketasks/github_import.md +++ b/doc/administration/raketasks/github_import.md @@ -3,7 +3,7 @@ >**Note:** > > - [Introduced][ce-10308] in GitLab 9.1. -> - You need a personal access token in order to retrieve and import GitHub +> - You need a personal access token in order to retrieve and import GitHub > projects. You can get it from: https://github.com/settings/tokens > - You also need to pass an username as the second argument to the rake task > which will become the owner of the project. @@ -19,7 +19,7 @@ bundle exec rake import:github[access_token,root,foo/bar] RAILS_ENV=production ``` In this case, `access_token` is your GitHub personal access token, `root` -is your GitLab username, and `foo/bar` is the new GitLab namespace/project that +is your GitLab username, and `foo/bar` is the new GitLab namespace/project that will get created from your GitHub project. Subgroups are also possible: `foo/foo/bar`. diff --git a/doc/api/README.md b/doc/api/README.md index 2175b305e02..e7b48076ad1 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -55,6 +55,11 @@ following locations: - [V3 to V4](v3_to_v4.md) - [Version](version.md) +The following documentation is for the [internal CI API](ci/README.md): + +- [Builds](ci/builds.md) +- [Runners](ci/runners.md) + ## Road to GraphQL API v4 will be the last REST API that we support. Going forward, we will start @@ -63,20 +68,27 @@ endpoints. GraphQL has a number of benefits: 1. We avoid having to maintain two different APIs. 2. Callers of the API can request only what they need. +<<<<<<< HEAD ### Internal CI API +======= +3. It is versioned by default. -The following documentation is for the [internal CI API](ci/README.md): - -- [Builds](ci/builds.md) -- [Runners](ci/runners.md) +It will co-exist with the current v4 REST API. If we have a v5 API, this should +be a compatibility layer on top of GraphQL. +>>>>>>> f8740d5... Merge branch 'docs/personal-access-tokens' into 'master' ## Authentication -Most API requests require authentication via a session cookie or token. For those cases where it is not required, this will be mentioned in the documentation -for each individual endpoint. For example, the [`/projects/:id` endpoint](projects.md). -There are three types of tokens available: private tokens, OAuth 2 tokens, and personal -access tokens. +Most API requests require authentication via a session cookie or token. For +those cases where it is not required, this will be mentioned in the documentation +for each individual endpoint. For example, the [`/projects/:id` endpoint](projects.md). + +There are three types of access tokens available: + +1. [OAuth2 tokens](#oauth2-tokens) +1. [Private tokens](#private-tokens) +1. [Personal access tokens](#personal-access-tokens) If authentication information is invalid or omitted, an error message will be returned with status code `401`: @@ -87,20 +99,13 @@ returned with status code `401`: } ``` -### Session Cookie +### Session cookie When signing in to GitLab as an ordinary user, a `_gitlab_session` cookie is set. The API will use this cookie for authentication if it is present, but using the API to generate a new session cookie is currently not supported. -### Private Tokens - -You need to pass a `private_token` parameter via query string or header. If passed as a -header, the header name must be `PRIVATE-TOKEN` (uppercase and with a dash instead of -an underscore). You can find or reset your private token in your account page -(`/profile/account`). - -### OAuth 2 Tokens +### OAuth2 tokens You can use an OAuth 2 token to authenticate with the API by passing it either in the `access_token` parameter or in the `Authorization` header. @@ -113,30 +118,31 @@ curl --header "Authorization: Bearer OAUTH-TOKEN" https://gitlab.example.com/api Read more about [GitLab as an OAuth2 client](oauth2.md). -### Personal Access Tokens +### Private tokens -> [Introduced][ce-3749] in GitLab 8.8. +Private tokens provide full access to the GitLab API. Anyone with access to +them can interact with GitLab as if they were you. You can find or reset your +private token in your account page (`/profile/account`). -You can create as many personal access tokens as you like from your GitLab -profile (`/profile/personal_access_tokens`); perhaps one for each application -that needs access to the GitLab API. +For examples of usage, [read the basic usage section](#basic-usage). -Once you have your token, pass it to the API using either the `private_token` -parameter or the `PRIVATE-TOKEN` header. +### Personal access tokens -> [Introduced][ce-5951] in GitLab 8.15. +Instead of using your private token which grants full access to your account, +personal access tokens could be a better fit because of their granular +permissions. -Personal Access Tokens can be created with one or more scopes that allow various actions -that a given token can perform. Although there are only two scopes available at the -moment – `read_user` and `api` – the groundwork has been laid to add more scopes easily. +Once you have your token, pass it to the API using either the `private_token` +parameter or the `PRIVATE-TOKEN` header. For examples of usage, +[read the basic usage section](#basic-usage). -At any time you can revoke any personal access token by just clicking **Revoke**. +[Read more about personal access tokens.][pat] ### Impersonation tokens > [Introduced][ce-9099] in GitLab 9.0. Needs admin permissions. -Impersonation tokens are a type of [Personal Access Token](#personal-access-tokens) +Impersonation tokens are a type of [personal access token][pat] that can only be created by an admin for a specific user. They are a better alternative to using the user's password/private token @@ -145,9 +151,11 @@ or private token, since the password/token can change over time. Impersonation tokens are a great fit if you want to build applications or tools which authenticate with the API as a specific user. -For more information about the usage please refer to the +For more information, refer to the [users API](users.md#retrieve-user-impersonation-tokens) docs. +For examples of usage, [read the basic usage section](#basic-usage). + ### Sudo > Needs admin permissions. @@ -200,11 +208,16 @@ GET /projects?private_token=9koXpg98eAheJpvBs5tK&sudo=23 curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" --header "SUDO: 23" "https://gitlab.example.com/api/v4/projects" ``` -## Basic Usage +## Basic usage API requests should be prefixed with `api` and the API version. The API version is defined in [`lib/api.rb`][lib-api-url]. +For endpoints that require [authentication](#authentication), you need to pass +a `private_token` parameter via query string or header. If passed as a header, +the header name must be `PRIVATE-TOKEN` (uppercase and with a dash instead of +an underscore). + Example of a valid API request: ``` @@ -217,6 +230,12 @@ Example of a valid API request using cURL and authentication via header: curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v4/projects" ``` +Example of a valid API request using cURL and authentication via a query string: + +```shell +curl "https://gitlab.example.com/api/v4/projects?private_token=9koXpg98eAheJpvBs5tK" +``` + The API uses JSON to serialize data. You don't need to specify `.json` at the end of an API URL. @@ -432,3 +451,4 @@ programming languages. Visit the [GitLab website] for a complete list. [ce-3749]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3749 [ce-5951]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5951 [ce-9099]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9099 +[pat]: ../user/profile/personal_access_tokens.md diff --git a/doc/api/oauth2.md b/doc/api/oauth2.md index 46fe64d382e..07cb64cb373 100644 --- a/doc/api/oauth2.md +++ b/doc/api/oauth2.md @@ -134,4 +134,4 @@ access_token = client.password.get_token('user@example.com', 'secret') puts access_token.token ``` -[personal access tokens]: ./README.md#personal-access-tokens \ No newline at end of file +[personal access tokens]: ../user/profile/personal_access_tokens.md diff --git a/doc/api/session.md b/doc/api/session.md index 7dd504b67c5..f79eac11689 100644 --- a/doc/api/session.md +++ b/doc/api/session.md @@ -1,11 +1,9 @@ # Session API -## Deprecation Notice - -1. Starting in GitLab 8.11, this feature has been *disabled* for users with two-factor authentication turned on. -2. These users can access the API using [personal access tokens] instead. - ---- +>**Deprecation notice:** +Starting in GitLab 8.11, this feature has been **disabled** for users with +[two-factor authentication][2fa] turned on. These users can access the API +using [personal access tokens] instead. You can login with both GitLab and LDAP credentials in order to obtain the private token. @@ -52,4 +50,5 @@ Example response: } ``` -[personal access tokens]: ./README.md#personal-access-tokens +[2fa]: ../user/profile/account/two_factor_authentication.md +[personal access tokens]: ../user/profile/personal_access_tokens.md diff --git a/doc/api/users.md b/doc/api/users.md index f4167ba2605..91ce4f6dac3 100644 --- a/doc/api/users.md +++ b/doc/api/users.md @@ -804,7 +804,7 @@ Example response: It creates a new impersonation token. Note that only administrators can do this. You are only able to create impersonation tokens to impersonate the user and perform -both API calls and Git reads and writes. The user will not see these tokens in his profile +both API calls and Git reads and writes. The user will not see these tokens in their profile settings page. ``` diff --git a/doc/ci/docker/using_docker_build.md b/doc/ci/docker/using_docker_build.md index 408d46a756c..f7c2a0ef0ca 100644 --- a/doc/ci/docker/using_docker_build.md +++ b/doc/ci/docker/using_docker_build.md @@ -282,9 +282,9 @@ which can be avoided if a different driver is used, for example `overlay`. > **Notes:** - This feature requires GitLab 8.8 and GitLab Runner 1.2. -- Starting from GitLab 8.12, if you have 2FA enabled in your account, you need - to pass a personal access token instead of your password in order to login to - GitLab's Container Registry. +- Starting from GitLab 8.12, if you have [2FA] enabled in your account, you need + to pass a [personal access token][pat] instead of your password in order to + login to GitLab's Container Registry. Once you've built a Docker image, you can push it up to the built-in [GitLab Container Registry](../../user/project/container_registry.md). For example, @@ -409,3 +409,5 @@ Some things you should be aware of when using the Container Registry: [docker-in-docker]: https://blog.docker.com/2013/09/docker-can-now-run-within-docker/ [docker-cap]: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities +[2fa]: ../../user/profile/account/two_factor_authentication.md +[pat]: ../../user/profile/personal_access_tokens.md diff --git a/doc/user/profile/account/two_factor_authentication.md b/doc/user/profile/account/two_factor_authentication.md index fb69d934ae1..590c3f862fb 100644 --- a/doc/user/profile/account/two_factor_authentication.md +++ b/doc/user/profile/account/two_factor_authentication.md @@ -125,23 +125,14 @@ applications and U2F devices. ## Personal access tokens When 2FA is enabled, you can no longer use your normal account password to -authenticate with Git over HTTPS on the command line, you must use a personal -access token instead. - -1. Log in to your GitLab account. -1. Go to your **Profile Settings**. -1. Go to **Access Tokens**. -1. Choose a name and expiry date for the token. -1. Click on **Create Personal Access Token**. -1. Save the personal access token somewhere safe. - -When using Git over HTTPS on the command line, enter the personal access token -into the password field. +authenticate with Git over HTTPS on the command line or when using +[GitLab's API][api], you must use a [personal access token][pat] instead. ## Recovery options To disable two-factor authentication on your account (for example, if you have lost your code generation device) you can: + * [Use a saved recovery code](#use-a-saved-recovery-code) * [Generate new recovery codes using SSH](#generate-new-recovery-codes-using-ssh) * [Ask a GitLab administrator to disable two-factor authentication on your account](#ask-a-gitlab-administrator-to-disable-two-factor-authentication-on-your-account) @@ -154,8 +145,9 @@ codes. If you saved these codes, you can use one of them to sign in. To use a recovery code, enter your username/email and password on the GitLab sign-in page. When prompted for a two-factor code, enter the recovery code. -> **Note:** Once you use a recovery code, you cannot re-use it. You can still - use the other recovery codes you saved. +>**Note:** +Once you use a recovery code, you cannot re-use it. You can still use the other +recovery codes you saved. ### Generate new recovery codes using SSH @@ -190,11 +182,14 @@ a new set of recovery codes with SSH. two-factor code. Then, visit your Profile Settings and add a new device so you do not lose access to your account again. ``` -3. Go to the GitLab sign-in page and enter your username/email and password. When prompted for a two-factor code, enter one of the recovery codes obtained -from the command-line output. -> **Note:** After signing in, visit your **Profile Settings -> Account** immediately to set up two-factor authentication with a new - device. +3. Go to the GitLab sign-in page and enter your username/email and password. + When prompted for a two-factor code, enter one of the recovery codes obtained + from the command-line output. + +>**Note:** +After signing in, visit your **Profile settings > Account** immediately to set +up two-factor authentication with a new device. ### Ask a GitLab administrator to disable two-factor authentication on your account @@ -206,23 +201,23 @@ Sign in and re-enable two-factor authentication as soon as possible. ## Note to GitLab administrators - You need to take special care to that 2FA keeps working after -[restoring a GitLab backup](../../../raketasks/backup_restore.md). - + [restoring a GitLab backup](../../../raketasks/backup_restore.md). - To ensure 2FA authorizes correctly with TOTP server, you may want to ensure -your GitLab server's time is synchronized via a service like NTP. Otherwise, -you may have cases where authorization always fails because of time differences. - -[Google Authenticator]: https://support.google.com/accounts/answer/1066447?hl=en -[FreeOTP]: https://freeotp.github.io/ -[YubiKey]: https://www.yubico.com/products/yubikey-hardware/ - + your GitLab server's time is synchronized via a service like NTP. Otherwise, + you may have cases where authorization always fails because of time differences. - The GitLab U2F implementation does _not_ work when the GitLab instance is accessed from -multiple hostnames, or FQDNs. Each U2F registration is linked to the _current hostname_ at -the time of registration, and cannot be used for other hostnames/FQDNs. + multiple hostnames, or FQDNs. Each U2F registration is linked to the _current hostname_ at + the time of registration, and cannot be used for other hostnames/FQDNs. For example, if a user is trying to access a GitLab instance from `first.host.xyz` and `second.host.xyz`: - The user logs in via `first.host.xyz` and registers their U2F key. - The user logs out and attempts to log in via `first.host.xyz` - U2F authentication suceeds. - - The user logs out and attempts to log in via `second.host.xyz` - U2F authentication fails, because + - The user logs out and attempts to log in via `second.host.xyz` - U2F authentication fails, because the U2F key has only been registered on `first.host.xyz`. + +[Google Authenticator]: https://support.google.com/accounts/answer/1066447?hl=en +[FreeOTP]: https://freeotp.github.io/ +[YubiKey]: https://www.yubico.com/products/yubikey-hardware/ +[api]: ../../../api/README.md +[pat]: ../personal_access_tokens.md diff --git a/doc/user/profile/img/personal_access_tokens.png b/doc/user/profile/img/personal_access_tokens.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa63dbe3426a674436a49a7ac67f313aab0c55d GIT binary patch literal 18555 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 Hl+XkKIVvG{ literal 0 HcmV?d00001 diff --git a/doc/user/profile/personal_access_tokens.md b/doc/user/profile/personal_access_tokens.md new file mode 100644 index 00000000000..9488ce1ef30 --- /dev/null +++ b/doc/user/profile/personal_access_tokens.md @@ -0,0 +1,57 @@ +# Personal access tokens + +> [Introduced][ce-3749] in GitLab 8.8. + +Personal access tokens are useful if you need access to the [GitLab API][api]. +Instead of using your private token which grants full access to your account, +personal access tokens could be a better fit because of their +[granular permissions](#limiting-scopes-of-a-personal-access-token). + +You can also use them to authenticate against Git over HTTP. They are the only +accepted method of authentication when you have +[Two-Factor Authentication (2FA)][2fa] enabled. + +Once you have your token, [pass it to the API][usage] using either the +`private_token` parameter or the `PRIVATE-TOKEN` header. + +## Creating a personal access token + +You can create as many personal access tokens as you like from your GitLab +profile. + +1. Log in to your GitLab account. +1. Go to your **Profile settings**. +1. Go to **Access tokens**. +1. Choose a name and optionally an expiry date for the token. +1. Choose the [desired scopes](#limiting-scopes-of-a-personal-access-token). +1. Click on **Create personal access token**. +1. Save the personal access token somewhere safe. Once you leave or refresh + the page, you won't be able to access it again. + + + +## Revoking a personal access token + +At any time, you can revoke any personal access token by just clicking the +respective **Revoke** button under the 'Active personal access tokens' area. + +## Limiting scopes of a personal access token + +Personal access tokens can be created with one or more scopes that allow various +actions that a given token can perform. The available scopes are depicted in +the following table. + +| Scope | Description | +| ----- | ----------- | +|`read_user` | Allows access to the read-only endpoints under `/users`. Essentially, any of the `GET` requests in the [Users API][users] are allowed ([introduced][ce-5951] in GitLab 8.15). | +| `api` | Grants complete access to the API (read/write) ([introduced][ce-5951] in GitLab 8.15). Required for accessing Git repositories over HTTP when 2FA is enabled. | +| `read_registry` | Allows to read [container registry] images if a project is private and authorization is required ([introduced][ce-11845] in GitLab 9.3). | + +[2fa]: ../account/two_factor_authentication.md +[api]: ../../api/README.md +[ce-3749]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3749 +[ce-5951]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5951 +[ce-11845]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11845 +[container registry]: ../project/container_registry.md +[users]: ../../api/users.md +[usage]: ../../api/README.md#basic-usage diff --git a/doc/user/project/container_registry.md b/doc/user/project/container_registry.md index 10c281448a3..c6862f48040 100644 --- a/doc/user/project/container_registry.md +++ b/doc/user/project/container_registry.md @@ -8,8 +8,8 @@ Registry across your GitLab instance, visit the [administrator documentation](../../administration/container_registry.md). - Starting from GitLab 8.12, if you have 2FA enabled in your account, you need - to pass a personal access token instead of your password in order to login to - GitLab's Container Registry. + to pass a [personal access token][pat] instead of your password in order to + login to GitLab's Container Registry. - Multiple level image names support was added in GitLab 9.1 With the Docker Container Registry integrated into GitLab, every project can @@ -106,12 +106,11 @@ and [Using the GitLab Container Registry documentation](../../ci/docker/using_do ## Using with private projects -If a project is private, credentials will need to be provided for authorization. -The preferred way to do this, is by using personal access tokens, which can be -created under `/profile/personal_access_tokens`. The minimal scope needed is: -`read_registry`. +> [Introduced][ce-11845] in GitLab 9.3. -This feature was introduced in GitLab 9.3. +If a project is private, credentials will need to be provided for authorization. +The preferred way to do this, is by using [personal access tokens][pat]. +The minimal scope needed is `read_registry`. ## Troubleshooting the GitLab Container Registry @@ -256,4 +255,6 @@ The solution: check the [IAM permissions again](https://docs.docker.com/registry Once the right permissions were set, the error will go away. [ce-4040]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4040 +[ce-11845]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11845 [docker-docs]: https://docs.docker.com/engine/userguide/intro/ +[pat]: ../profile/personal_access_tokens.md diff --git a/doc/user/project/new_ci_build_permissions_model.md b/doc/user/project/new_ci_build_permissions_model.md index e9512497d6c..271adee7da1 100644 --- a/doc/user/project/new_ci_build_permissions_model.md +++ b/doc/user/project/new_ci_build_permissions_model.md @@ -212,9 +212,9 @@ Container Registries for private projects. access token created explicitly for this purpose). This issue is resolved with latest changes in GitLab Runner 1.8 which receives GitLab credentials with build data. -- Starting with GitLab 8.12, if you have 2FA enabled in your account, you need - to pass a personal access token instead of your password in order to login to - GitLab's Container Registry. +- Starting from GitLab 8.12, if you have [2FA] enabled in your account, you need + to pass a [personal access token][pat] instead of your password in order to + login to GitLab's Container Registry. Your jobs can access all container images that you would normally have access to. The only implication is that you can push to the Container Registry of the @@ -239,3 +239,5 @@ test: [update-docs]: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update [workhorse]: https://gitlab.com/gitlab-org/gitlab-workhorse [jobenv]: ../../ci/variables/README.md#predefined-variables-environment-variables +[2fa]: ../profile/account/two_factor_authentication.md +[pat]: ../profile/personal_access_tokens.md -- GitLab From 5d9c2798611fda032deed93137f66c2a60334e53 Mon Sep 17 00:00:00 2001 From: Sean McGivern <sean@mcgivern.me.uk> Date: Mon, 12 Jun 2017 08:24:27 +0000 Subject: [PATCH 237/249] Merge branch 'sh-recaptcha-fix-try2' into 'master' Make sure reCAPTCHA configuration is loaded when spam checks are initiated Closes #33532 See merge request !12080 --- app/controllers/concerns/spammable_actions.rb | 10 +++++++++- changelogs/unreleased/sh-recaptcha-fix-try2.yml | 4 ++++ spec/controllers/projects/issues_controller_spec.rb | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/sh-recaptcha-fix-try2.yml diff --git a/app/controllers/concerns/spammable_actions.rb b/app/controllers/concerns/spammable_actions.rb index d0a692070d9..b68d76aeff0 100644 --- a/app/controllers/concerns/spammable_actions.rb +++ b/app/controllers/concerns/spammable_actions.rb @@ -17,10 +17,18 @@ module SpammableActions private + def ensure_spam_config_loaded! + return @spam_config_loaded if defined?(@spam_config_loaded) + + @spam_config_loaded = Gitlab::Recaptcha.load_configurations! + end + def recaptcha_check_with_fallback(&fallback) if spammable.valid? redirect_to spammable elsif render_recaptcha? + ensure_spam_config_loaded! + if params[:recaptcha_verification] flash[:alert] = 'There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.' end @@ -35,7 +43,7 @@ module SpammableActions default_params = { request: request } recaptcha_check = params[:recaptcha_verification] && - Gitlab::Recaptcha.load_configurations! && + ensure_spam_config_loaded! && verify_recaptcha return default_params unless recaptcha_check diff --git a/changelogs/unreleased/sh-recaptcha-fix-try2.yml b/changelogs/unreleased/sh-recaptcha-fix-try2.yml new file mode 100644 index 00000000000..94729252c6f --- /dev/null +++ b/changelogs/unreleased/sh-recaptcha-fix-try2.yml @@ -0,0 +1,4 @@ +--- +title: Make sure reCAPTCHA configuration is loaded when spam checks are initiated +merge_request: +author: diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb index a38ae2eb990..b65e9e0dfc0 100644 --- a/spec/controllers/projects/issues_controller_spec.rb +++ b/spec/controllers/projects/issues_controller_spec.rb @@ -260,6 +260,7 @@ describe Projects::IssuesController do before { allow_any_instance_of(described_class).to receive(:verify_recaptcha).and_return(false) } it 'rejects an issue recognized as a spam' do + expect(Gitlab::Recaptcha).to receive(:load_configurations!).and_return(true) expect { update_spam_issue }.not_to change{ issue.reload.title } end -- GitLab From 840169eeb126502c87c8c4589283ebea0b1755dd Mon Sep 17 00:00:00 2001 From: Douwe Maan <douwe@selenight.nl> Date: Thu, 8 Jun 2017 10:33:25 -0500 Subject: [PATCH 238/249] Revert 'New file from interface on existing branch' --- .../javascripts/blob/blob_file_dropzone.js | 2 +- .../blob/create_branch_dropdown.js | 88 ---------- .../blob/target_branch_dropdown.js | 152 ------------------ app/assets/javascripts/dispatcher.js | 11 -- app/assets/javascripts/main.js | 4 - app/assets/javascripts/new_commit_form.js | 11 +- app/assets/stylesheets/pages/projects.scss | 3 +- app/controllers/concerns/creates_commit.rb | 5 - app/controllers/projects/blob_controller.rb | 2 - .../projects/branches_controller.rb | 7 +- app/controllers/projects/tree_controller.rb | 1 - app/views/projects/blob/_remove.html.haml | 4 +- app/views/projects/commit/_change.html.haml | 14 +- app/views/shared/_branch_switcher.html.haml | 8 - app/views/shared/_new_commit_form.html.haml | 2 +- .../blob/_branch_page_create.html.haml | 8 - .../blob/_branch_page_default.html.haml | 10 -- changelogs/unreleased/dm-revert-mr-8427.yml | 4 + features/steps/project/source/browse_files.rb | 5 +- .../projects/branches_controller_spec.rb | 14 -- spec/features/projects/blobs/edit_spec.rb | 6 +- .../projects/blobs/user_create_spec.rb | 94 ----------- .../features/projects/user_create_dir_spec.rb | 16 +- .../blob/create_branch_dropdown_spec.js | 106 ------------ .../blob/target_branch_dropdown_spec.js | 118 -------------- .../fixtures/project_branches.json | 5 - .../fixtures/target_branch_dropdown.html.haml | 28 ---- spec/support/target_branch_helpers.rb | 16 -- 28 files changed, 24 insertions(+), 720 deletions(-) delete mode 100644 app/assets/javascripts/blob/create_branch_dropdown.js delete mode 100644 app/assets/javascripts/blob/target_branch_dropdown.js delete mode 100644 app/views/shared/_branch_switcher.html.haml delete mode 100644 app/views/shared/projects/blob/_branch_page_create.html.haml delete mode 100644 app/views/shared/projects/blob/_branch_page_default.html.haml create mode 100644 changelogs/unreleased/dm-revert-mr-8427.yml delete mode 100644 spec/features/projects/blobs/user_create_spec.rb delete mode 100644 spec/javascripts/blob/create_branch_dropdown_spec.js delete mode 100644 spec/javascripts/blob/target_branch_dropdown_spec.js delete mode 100644 spec/javascripts/fixtures/project_branches.json delete mode 100644 spec/javascripts/fixtures/target_branch_dropdown.html.haml delete mode 100644 spec/support/target_branch_helpers.rb diff --git a/app/assets/javascripts/blob/blob_file_dropzone.js b/app/assets/javascripts/blob/blob_file_dropzone.js index 4568b86f298..dc636050221 100644 --- a/app/assets/javascripts/blob/blob_file_dropzone.js +++ b/app/assets/javascripts/blob/blob_file_dropzone.js @@ -35,7 +35,7 @@ export default class BlobFileDropzone { this.removeFile(file); }); this.on('sending', function (file, xhr, formData) { - formData.append('branch_name', form.find('input[name="branch_name"]').val()); + formData.append('branch_name', form.find('.js-branch-name').val()); formData.append('create_merge_request', form.find('.js-create-merge-request').val()); formData.append('commit_message', form.find('.js-commit-message').val()); }); diff --git a/app/assets/javascripts/blob/create_branch_dropdown.js b/app/assets/javascripts/blob/create_branch_dropdown.js deleted file mode 100644 index 95517f51b1c..00000000000 --- a/app/assets/javascripts/blob/create_branch_dropdown.js +++ /dev/null @@ -1,88 +0,0 @@ -class CreateBranchDropdown { - constructor(el, targetBranchDropdown) { - this.targetBranchDropdown = targetBranchDropdown; - this.el = el; - this.dropdownBack = this.el.closest('.dropdown').querySelector('.dropdown-menu-back'); - this.cancelButton = this.el.querySelector('.js-cancel-branch-btn'); - this.newBranchField = this.el.querySelector('#new_branch_name'); - this.newBranchCreateButton = this.el.querySelector('.js-new-branch-btn'); - - this.newBranchCreateButton.setAttribute('disabled', ''); - - this.addBindings(); - this.cleanupWrapper = this.cleanup.bind(this); - document.addEventListener('beforeunload', this.cleanupWrapper); - } - - cleanup() { - this.cleanBindings(); - document.removeEventListener('beforeunload', this.cleanupWrapper); - } - - cleanBindings() { - this.newBranchField.removeEventListener('keyup', this.enableBranchCreateButtonWrapper); - this.newBranchField.removeEventListener('change', this.enableBranchCreateButtonWrapper); - this.newBranchField.removeEventListener('keydown', this.handleNewBranchKeydownWrapper); - this.dropdownBack.removeEventListener('click', this.resetFormWrapper); - this.cancelButton.removeEventListener('click', this.handleCancelClickWrapper); - this.newBranchCreateButton.removeEventListener('click', this.createBranchWrapper); - } - - addBindings() { - this.enableBranchCreateButtonWrapper = this.enableBranchCreateButton.bind(this); - this.handleNewBranchKeydownWrapper = this.handleNewBranchKeydown.bind(this); - this.resetFormWrapper = this.resetForm.bind(this); - this.handleCancelClickWrapper = this.handleCancelClick.bind(this); - this.createBranchWrapper = this.createBranch.bind(this); - - this.newBranchField.addEventListener('keyup', this.enableBranchCreateButtonWrapper); - this.newBranchField.addEventListener('change', this.enableBranchCreateButtonWrapper); - this.newBranchField.addEventListener('keydown', this.handleNewBranchKeydownWrapper); - this.dropdownBack.addEventListener('click', this.resetFormWrapper); - this.cancelButton.addEventListener('click', this.handleCancelClickWrapper); - this.newBranchCreateButton.addEventListener('click', this.createBranchWrapper); - } - - handleCancelClick(e) { - e.preventDefault(); - e.stopPropagation(); - - this.resetForm(); - this.dropdownBack.click(); - } - - handleNewBranchKeydown(e) { - const keyCode = e.which; - const ENTER_KEYCODE = 13; - if (keyCode === ENTER_KEYCODE) { - this.createBranch(e); - } - } - - enableBranchCreateButton() { - if (this.newBranchField.value !== '') { - this.newBranchCreateButton.removeAttribute('disabled'); - } else { - this.newBranchCreateButton.setAttribute('disabled', ''); - } - } - - resetForm() { - this.newBranchField.value = ''; - this.enableBranchCreateButtonWrapper(); - } - - createBranch(e) { - e.preventDefault(); - - if (this.newBranchCreateButton.getAttribute('disabled') === '') { - return; - } - const newBranchName = this.newBranchField.value; - this.targetBranchDropdown.setNewBranch(newBranchName); - this.resetForm(); - } -} - -window.gl = window.gl || {}; -gl.CreateBranchDropdown = CreateBranchDropdown; diff --git a/app/assets/javascripts/blob/target_branch_dropdown.js b/app/assets/javascripts/blob/target_branch_dropdown.js deleted file mode 100644 index d52d69b1274..00000000000 --- a/app/assets/javascripts/blob/target_branch_dropdown.js +++ /dev/null @@ -1,152 +0,0 @@ -/* eslint-disable class-methods-use-this */ -const SELECT_ITEM_MSG = 'Select'; - -class TargetBranchDropDown { - constructor(dropdown) { - this.dropdown = dropdown; - this.$dropdown = $(dropdown); - this.fieldName = this.dropdown.getAttribute('data-field-name'); - this.form = this.dropdown.closest('form'); - this.createDropdown(); - } - - static bootstrap() { - const dropdowns = document.querySelectorAll('.js-project-branches-dropdown'); - [].forEach.call(dropdowns, dropdown => new TargetBranchDropDown(dropdown)); - } - - createDropdown() { - const self = this; - this.$dropdown.glDropdown({ - selectable: true, - filterable: true, - search: { - fields: ['title'], - }, - data: (term, callback) => $.ajax({ - url: self.dropdown.getAttribute('data-refs-url'), - data: { - ref: self.dropdown.getAttribute('data-ref'), - show_all: true, - }, - dataType: 'json', - }).done(refs => callback(self.dropdownData(refs))), - toggleLabel(item, el) { - if (el.is('.is-active')) { - return item.text; - } - return SELECT_ITEM_MSG; - }, - clicked(options) { - options.e.preventDefault(); - self.onClick.call(self); - }, - fieldName: self.fieldName, - }); - return new gl.CreateBranchDropdown(this.form.querySelector('.dropdown-new-branch'), this); - } - - onClick() { - this.enableSubmit(); - this.$dropdown.trigger('change.branch'); - } - - enableSubmit() { - const submitBtn = this.form.querySelector('[type="submit"]'); - if (this.branchInput && this.branchInput.value) { - submitBtn.removeAttribute('disabled'); - } else { - submitBtn.setAttribute('disabled', ''); - } - } - - dropdownData(refs) { - const branchList = this.dropdownItems(refs); - this.cachedRefs = refs; - this.addDefaultBranch(branchList); - this.addNewBranch(branchList); - return { Branches: branchList }; - } - - dropdownItems(refs) { - return refs.map(this.dropdownItem); - } - - dropdownItem(ref) { - return { id: ref, text: ref, title: ref }; - } - - addDefaultBranch(branchList) { - // when no branch is selected do nothing - if (!this.branchInput) { - return; - } - - const branchInputVal = this.branchInput.value; - const currentBranchIndex = this.searchBranch(branchList, branchInputVal); - - if (currentBranchIndex === -1) { - this.unshiftBranch(branchList, this.dropdownItem(branchInputVal)); - } - } - - addNewBranch(branchList) { - if (this.newBranch) { - this.unshiftBranch(branchList, this.newBranch); - } - } - - searchBranch(branchList, branchName) { - return _.findIndex(branchList, el => branchName === el.id); - } - - unshiftBranch(branchList, branch) { - const branchIndex = this.searchBranch(branchList, branch.id); - - if (branchIndex === -1) { - branchList.unshift(branch); - } - } - - setNewBranch(newBranchName) { - this.newBranch = this.dropdownItem(newBranchName); - this.refreshData(); - this.selectBranch(this.searchBranch(this.glDropdown.fullData.Branches, newBranchName)); - } - - refreshData() { - this.glDropdown.fullData = this.dropdownData(this.cachedRefs); - this.clearFilter(); - } - - clearFilter() { - // apply an empty filter in order to refresh the data - this.glDropdown.filter.filter(''); - this.dropdown.closest('.dropdown').querySelector('.dropdown-page-one .dropdown-input-field').value = ''; - } - - selectBranch(index) { - const branch = this.dropdown.closest('.dropdown').querySelectorAll('li a')[index]; - - if (!branch.classList.contains('is-active')) { - branch.click(); - } else { - this.closeDropdown(); - } - } - - closeDropdown() { - this.dropdown.closest('.dropdown').querySelector('.dropdown-menu-close').click(); - } - - get branchInput() { - return this.form.querySelector(`input[name="${this.fieldName}"]`); - } - - get glDropdown() { - return this.$dropdown.data('glDropdown'); - } -} - -window.gl = window.gl || {}; -gl.TargetBranchDropDown = TargetBranchDropDown; diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index 51cc8c085b2..ca90729c791 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -329,25 +329,14 @@ import initSettingsPanels from './settings_panels'; shortcut_handler = new ShortcutsNavigation(); new TreeView(); new BlobViewer(); - gl.TargetBranchDropDown.bootstrap(); break; case 'projects:find_file:show': shortcut_handler = true; break; - case 'projects:blob:new': - gl.TargetBranchDropDown.bootstrap(); - break; - case 'projects:blob:create': - gl.TargetBranchDropDown.bootstrap(); - break; case 'projects:blob:show': new BlobViewer(); - gl.TargetBranchDropDown.bootstrap(); initBlob(); break; - case 'projects:blob:edit': - gl.TargetBranchDropDown.bootstrap(); - break; case 'projects:blame:show': initBlob(); break; diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js index fe367d0c42a..ed7629948ca 100644 --- a/app/assets/javascripts/main.js +++ b/app/assets/javascripts/main.js @@ -39,10 +39,6 @@ import './shortcuts_network'; // behaviors import './behaviors/'; -// blob -import './blob/create_branch_dropdown'; -import './blob/target_branch_dropdown'; - // templates import './templates/issuable_template_selector'; import './templates/issuable_template_selectors'; diff --git a/app/assets/javascripts/new_commit_form.js b/app/assets/javascripts/new_commit_form.js index 658879607e2..04073ef7270 100644 --- a/app/assets/javascripts/new_commit_form.js +++ b/app/assets/javascripts/new_commit_form.js @@ -1,23 +1,20 @@ /* eslint-disable func-names, space-before-function-paren, no-var, prefer-rest-params, wrap-iife, no-return-assign, max-len */ (function() { this.NewCommitForm = (function() { - function NewCommitForm(form, targetBranchName = 'target_branch') { + function NewCommitForm(form) { this.form = form; - this.targetBranchName = targetBranchName; this.renderDestination = this.renderDestination.bind(this); - this.targetBranchDropdown = form.find('button.js-target-branch'); + this.branchName = form.find('.js-branch-name'); this.originalBranch = form.find('.js-original-branch'); this.createMergeRequest = form.find('.js-create-merge-request'); this.createMergeRequestContainer = form.find('.js-create-merge-request-container'); - this.targetBranchDropdown.on('change.branch', this.renderDestination); + this.branchName.keyup(this.renderDestination); this.renderDestination(); } NewCommitForm.prototype.renderDestination = function() { var different; - var targetBranch = this.form.find(`input[name="${this.targetBranchName}"]`); - - different = targetBranch.val() !== this.originalBranch.val(); + different = this.branchName.val() !== this.originalBranch.val(); if (different) { this.createMergeRequestContainer.show(); if (!this.wasDifferent) { diff --git a/app/assets/stylesheets/pages/projects.scss b/app/assets/stylesheets/pages/projects.scss index a2f781a6a6e..062665bc634 100644 --- a/app/assets/stylesheets/pages/projects.scss +++ b/app/assets/stylesheets/pages/projects.scss @@ -769,8 +769,7 @@ pre.light-well { } .project-refs-form .dropdown-menu, -.dropdown-menu-projects, -.dropdown-menu-branches { +.dropdown-menu-projects { width: 300px; @media (min-width: $screen-sm-min) { diff --git a/app/controllers/concerns/creates_commit.rb b/app/controllers/concerns/creates_commit.rb index 183eb00ef67..36ad307a93b 100644 --- a/app/controllers/concerns/creates_commit.rb +++ b/app/controllers/concerns/creates_commit.rb @@ -1,11 +1,6 @@ module CreatesCommit extend ActiveSupport::Concern - def set_start_branch_to_branch_name - branch_exists = @repository.find_branch(@branch_name) - @start_branch = @branch_name if branch_exists - end - def create_commit(service, success_path:, failure_path:, failure_view: nil, success_notice: nil) if can?(current_user, :push_code, @project) @project_to_commit_into = @project diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index d8d14ea1fed..66e6a9a451c 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -26,8 +26,6 @@ class Projects::BlobController < Projects::ApplicationController end def create - set_start_branch_to_branch_name - create_commit(Files::CreateService, success_notice: "The file has been successfully created.", success_path: -> { namespace_project_blob_path(@project.namespace, @project, File.join(@branch_name, @file_path)) }, failure_view: :new, diff --git a/app/controllers/projects/branches_controller.rb b/app/controllers/projects/branches_controller.rb index d8ed470e461..70b06cfd9b4 100644 --- a/app/controllers/projects/branches_controller.rb +++ b/app/controllers/projects/branches_controller.rb @@ -10,10 +10,10 @@ class Projects::BranchesController < Projects::ApplicationController def index @sort = params[:sort].presence || sort_value_name @branches = BranchesFinder.new(@repository, params).execute + @branches = Kaminari.paginate_array(@branches).page(params[:page]) respond_to do |format| format.html do - paginate_branches @refs_pipelines = @project.pipelines.latest_successful_for_refs(@branches.map(&:name)) @max_commits = @branches.reduce(0) do |memo, branch| @@ -22,7 +22,6 @@ class Projects::BranchesController < Projects::ApplicationController end end format.json do - paginate_branches unless params[:show_all] render json: @branches.map(&:name) end end @@ -106,10 +105,6 @@ class Projects::BranchesController < Projects::ApplicationController end end - def paginate_branches - @branches = Kaminari.paginate_array(@branches).page(params[:page]) - end - def url_to_autodeploy_setup(project, branch_name) namespace_project_new_blob_path( project.namespace, diff --git a/app/controllers/projects/tree_controller.rb b/app/controllers/projects/tree_controller.rb index f8eb8e00a5d..266a15c1cf9 100644 --- a/app/controllers/projects/tree_controller.rb +++ b/app/controllers/projects/tree_controller.rb @@ -36,7 +36,6 @@ class Projects::TreeController < Projects::ApplicationController def create_dir return render_404 unless @commit_params.values.all? - set_start_branch_to_branch_name create_commit(Files::CreateDirService, success_notice: "The directory has been successfully created.", success_path: namespace_project_tree_path(@project.namespace, @project, File.join(@branch_name, @dir_name)), failure_path: namespace_project_tree_path(@project.namespace, @project, @ref)) diff --git a/app/views/projects/blob/_remove.html.haml b/app/views/projects/blob/_remove.html.haml index db6662a95ac..c8ca0406213 100644 --- a/app/views/projects/blob/_remove.html.haml +++ b/app/views/projects/blob/_remove.html.haml @@ -6,7 +6,7 @@ %h3.page-title Delete #{@blob.name} .modal-body - = form_tag namespace_project_blob_path(@project.namespace, @project, @id), method: :delete, class: 'form-horizontal js-replace-blob-form js-quick-submit js-requires-input' do + = form_tag namespace_project_blob_path(@project.namespace, @project, @id), method: :delete, class: 'form-horizontal js-delete-blob-form js-quick-submit js-requires-input' do = render 'shared/new_commit_form', placeholder: "Delete #{@blob.name}" .form-group @@ -15,4 +15,4 @@ = link_to "Cancel", '#', class: "btn btn-cancel", "data-dismiss" => "modal" :javascript - new NewCommitForm($('.js-replace-blob-form')) + new NewCommitForm($('.js-delete-blob-form')) diff --git a/app/views/projects/commit/_change.html.haml b/app/views/projects/commit/_change.html.haml index b5f67cae341..281d823da52 100644 --- a/app/views/projects/commit/_change.html.haml +++ b/app/views/projects/commit/_change.html.haml @@ -18,14 +18,13 @@ = label_tag 'start_branch', branch_label, class: 'control-label' .col-sm-10 = hidden_field_tag :start_branch, @project.default_branch, id: 'start_branch' - = dropdown_tag(@project.default_branch, options: { title: "Switch branch", filter: true, placeholder: "Search branches", toggle_class: 'js-project-refs-dropdown js-target-branch dynamic', dropdown_class: 'dropdown-menu-selectable', data: { field_name: "start_branch", selected: @project.default_branch, start_branch: @project.default_branch, refs_url: namespace_project_branches_path(@project.namespace, @project), submit_form_on_click: false } }) + = dropdown_tag(@project.default_branch, options: { title: "Switch branch", filter: true, placeholder: "Search branches", toggle_class: 'js-project-refs-dropdown dynamic', dropdown_class: 'dropdown-menu-selectable', data: { field_name: "start_branch", selected: @project.default_branch, start_branch: @project.default_branch, refs_url: namespace_project_branches_path(@project.namespace, @project), submit_form_on_click: false } }) - if can?(current_user, :push_code, @project) - .js-create-merge-request-container - .checkbox - = label_tag do - = check_box_tag 'create_merge_request', 1, true, class: 'js-create-merge-request', id: nil - Start a <strong>new merge request</strong> with these changes + .checkbox + = label_tag do + = check_box_tag 'create_merge_request', 1, true, class: 'js-create-merge-request', id: nil + Start a <strong>new merge request</strong> with these changes - else = hidden_field_tag 'create_merge_request', 1, id: nil .form-actions @@ -35,6 +34,3 @@ - unless can?(current_user, :push_code, @project) .inline.prepend-left-10 = commit_in_fork_help - -:javascript - new NewCommitForm($('.js-#{type}-form'), 'start_branch') diff --git a/app/views/shared/_branch_switcher.html.haml b/app/views/shared/_branch_switcher.html.haml deleted file mode 100644 index 69e3f3042a9..00000000000 --- a/app/views/shared/_branch_switcher.html.haml +++ /dev/null @@ -1,8 +0,0 @@ -- dropdown_toggle_text = @branch_name || tree_edit_branch -= hidden_field_tag 'branch_name', dropdown_toggle_text - -.dropdown - = dropdown_toggle dropdown_toggle_text, { toggle: 'dropdown', selected: dropdown_toggle_text, field_name: 'branch_name', form_id: '.js-edit-blob-form', refs_url: namespace_project_branches_path(@project.namespace, @project) }, { toggle_class: 'js-project-branches-dropdown js-target-branch' } - .dropdown-menu.dropdown-menu-selectable.dropdown-menu-paging.dropdown-menu-branches - = render partial: 'shared/projects/blob/branch_page_default' - = render partial: 'shared/projects/blob/branch_page_create' diff --git a/app/views/shared/_new_commit_form.html.haml b/app/views/shared/_new_commit_form.html.haml index 0b37fe3013b..25a56f84ec5 100644 --- a/app/views/shared/_new_commit_form.html.haml +++ b/app/views/shared/_new_commit_form.html.haml @@ -7,7 +7,7 @@ .form-group.branch = label_tag 'branch_name', 'Target branch', class: 'control-label' .col-sm-10 - = render 'shared/branch_switcher' + = text_field_tag 'branch_name', @branch_name || tree_edit_branch, required: true, class: "form-control js-branch-name ref-name" .js-create-merge-request-container .checkbox diff --git a/app/views/shared/projects/blob/_branch_page_create.html.haml b/app/views/shared/projects/blob/_branch_page_create.html.haml deleted file mode 100644 index c279a0d8846..00000000000 --- a/app/views/shared/projects/blob/_branch_page_create.html.haml +++ /dev/null @@ -1,8 +0,0 @@ -.dropdown-page-two.dropdown-new-branch - = dropdown_title('Create new branch', back: true) - = dropdown_content do - %input#new_branch_name.default-dropdown-input.append-bottom-10{ type: "text", placeholder: "Name new branch" } - %button.btn.btn-primary.pull-left.js-new-branch-btn{ type: "button" } - Create - %button.btn.btn-default.pull-right.js-cancel-branch-btn{ type: "button" } - Cancel diff --git a/app/views/shared/projects/blob/_branch_page_default.html.haml b/app/views/shared/projects/blob/_branch_page_default.html.haml deleted file mode 100644 index 9bf78d10878..00000000000 --- a/app/views/shared/projects/blob/_branch_page_default.html.haml +++ /dev/null @@ -1,10 +0,0 @@ -.dropdown-page-one - = dropdown_title "Select branch" - = dropdown_filter "Search branches" - = dropdown_content - = dropdown_loading - = dropdown_footer do - %ul.dropdown-footer-list - %li - %a.create-new-branch.dropdown-toggle-page{ href: "#" } - Create new branch diff --git a/changelogs/unreleased/dm-revert-mr-8427.yml b/changelogs/unreleased/dm-revert-mr-8427.yml new file mode 100644 index 00000000000..a91cff2e9cd --- /dev/null +++ b/changelogs/unreleased/dm-revert-mr-8427.yml @@ -0,0 +1,4 @@ +--- +title: Revert 'New file from interface on existing branch' +merge_request: +author: diff --git a/features/steps/project/source/browse_files.rb b/features/steps/project/source/browse_files.rb index d099d7af167..80aa3a047a0 100644 --- a/features/steps/project/source/browse_files.rb +++ b/features/steps/project/source/browse_files.rb @@ -89,10 +89,7 @@ class Spinach::Features::ProjectSourceBrowseFiles < Spinach::FeatureSteps end step 'I fill the new branch name' do - first('button.js-target-branch', visible: true).click - find('.create-new-branch', visible: true).click - find('#new_branch_name', visible: true).set('new_branch_name') - find('.js-new-branch-btn', visible: true).click + fill_in :branch_name, with: 'new_branch_name', visible: true end step 'I fill the new file name with an illegal name' do diff --git a/spec/controllers/projects/branches_controller_spec.rb b/spec/controllers/projects/branches_controller_spec.rb index f285e5333d6..f9e21f9d8f6 100644 --- a/spec/controllers/projects/branches_controller_spec.rb +++ b/spec/controllers/projects/branches_controller_spec.rb @@ -367,19 +367,5 @@ describe Projects::BranchesController do expect(parsed_response.first).to eq 'master' end end - - context 'show_all = true' do - it 'returns all the branches name' do - get :index, - namespace_id: project.namespace, - project_id: project, - format: :json, - show_all: true - - parsed_response = JSON.parse(response.body) - - expect(parsed_response.length).to eq(project.repository.branches.count) - end - end end end diff --git a/spec/features/projects/blobs/edit_spec.rb b/spec/features/projects/blobs/edit_spec.rb index 1a38997450d..d04c3248ead 100644 --- a/spec/features/projects/blobs/edit_spec.rb +++ b/spec/features/projects/blobs/edit_spec.rb @@ -102,7 +102,7 @@ feature 'Editing file blob', feature: true, js: true do it 'shows blob editor with same branch' do expect(page).to have_current_path(namespace_project_edit_blob_path(project.namespace, project, tree_join(branch, file_path))) - expect(find('.js-target-branch .dropdown-toggle-text').text).to eq(branch) + expect(find('.js-branch-name').value).to eq(branch) end end @@ -112,7 +112,7 @@ feature 'Editing file blob', feature: true, js: true do end it 'shows blob editor with patch branch' do - expect(find('.js-target-branch .dropdown-toggle-text').text).to eq('patch-1') + expect(find('.js-branch-name').value).to eq('patch-1') end end end @@ -128,7 +128,7 @@ feature 'Editing file blob', feature: true, js: true do it 'shows blob editor with same branch' do expect(page).to have_current_path(namespace_project_edit_blob_path(project.namespace, project, tree_join(branch, file_path))) - expect(find('.js-target-branch .dropdown-toggle-text').text).to eq(branch) + expect(find('.js-branch-name').value).to eq(branch) end end end diff --git a/spec/features/projects/blobs/user_create_spec.rb b/spec/features/projects/blobs/user_create_spec.rb deleted file mode 100644 index 4b6c55f5f44..00000000000 --- a/spec/features/projects/blobs/user_create_spec.rb +++ /dev/null @@ -1,94 +0,0 @@ -require 'spec_helper' - -feature 'New blob creation', feature: true, js: true do - include TargetBranchHelpers - - given(:user) { create(:user) } - given(:role) { :developer } - given(:project) { create(:project) } - given(:content) { 'class NextFeature\nend\n' } - - background do - login_as(user) - project.team << [user, role] - visit namespace_project_new_blob_path(project.namespace, project, 'master') - end - - def edit_file - wait_for_requests - fill_in 'file_name', with: 'feature.rb' - execute_script("ace.edit('editor').setValue('#{content}')") - end - - def commit_file - click_button 'Commit changes' - end - - context 'with default target branch' do - background do - edit_file - commit_file - end - - scenario 'creates the blob in the default branch' do - expect(page).to have_content 'master' - expect(page).to have_content 'successfully created' - expect(page).to have_content 'NextFeature' - end - end - - context 'with different target branch' do - background do - edit_file - select_branch('feature') - commit_file - end - - scenario 'creates the blob in the different branch' do - expect(page).to have_content 'feature' - expect(page).to have_content 'successfully created' - end - end - - context 'with a new target branch' do - given(:new_branch_name) { 'new-feature' } - - background do - edit_file - create_new_branch(new_branch_name) - commit_file - end - - scenario 'creates the blob in the new branch' do - expect(page).to have_content new_branch_name - expect(page).to have_content 'successfully created' - end - scenario 'returns you to the mr' do - expect(page).to have_content 'New Merge Request' - expect(page).to have_content "From #{new_branch_name} into master" - expect(page).to have_content 'Add new file' - end - end - - context 'the file already exist in the source branch' do - background do - Files::CreateService.new( - project, - user, - start_branch: 'master', - branch_name: 'master', - commit_message: 'Create file', - file_path: 'feature.rb', - file_content: content - ).execute - edit_file - commit_file - end - - scenario 'shows error message' do - expect(page).to have_content('A file with this name already exists') - expect(page).to have_content('New file') - expect(page).to have_content('NextFeature') - end - end -end diff --git a/spec/features/projects/user_create_dir_spec.rb b/spec/features/projects/user_create_dir_spec.rb index 5dfdc465d7d..aeb7e0b7c33 100644 --- a/spec/features/projects/user_create_dir_spec.rb +++ b/spec/features/projects/user_create_dir_spec.rb @@ -1,8 +1,6 @@ require 'spec_helper' feature 'New directory creation', feature: true, js: true do - include TargetBranchHelpers - given(:user) { create(:user) } given(:role) { :developer } given(:project) { create(:project) } @@ -36,23 +34,11 @@ feature 'New directory creation', feature: true, js: true do end end - context 'with different target branch' do - background do - select_branch('feature') - create_directory - end - - scenario 'creates the directory in the different branch' do - expect(page).to have_content 'feature' - expect(page).to have_content 'The directory has been successfully created' - end - end - context 'with a new target branch' do given(:new_branch_name) { 'new-feature' } background do - create_new_branch(new_branch_name) + fill_in :branch_name, with: new_branch_name create_directory end diff --git a/spec/javascripts/blob/create_branch_dropdown_spec.js b/spec/javascripts/blob/create_branch_dropdown_spec.js deleted file mode 100644 index 6dbaa47c544..00000000000 --- a/spec/javascripts/blob/create_branch_dropdown_spec.js +++ /dev/null @@ -1,106 +0,0 @@ -import '~/gl_dropdown'; -import '~/blob/create_branch_dropdown'; -import '~/blob/target_branch_dropdown'; - -describe('CreateBranchDropdown', () => { - const fixtureTemplate = 'static/target_branch_dropdown.html.raw'; - // selectors - const createBranchSel = '.js-new-branch-btn'; - const backBtnSel = '.dropdown-menu-back'; - const cancelBtnSel = '.js-cancel-branch-btn'; - const branchNameSel = '#new_branch_name'; - const branchName = 'new_name'; - let dropdown; - - function createDropdown() { - const dropdownEl = document.querySelector('.js-project-branches-dropdown'); - const projectBranches = getJSONFixture('project_branches.json'); - dropdown = new gl.TargetBranchDropDown(dropdownEl); - dropdown.cachedRefs = projectBranches; - return dropdown; - } - - function createBranchBtn() { - return document.querySelector(createBranchSel); - } - - function backBtn() { - return document.querySelector(backBtnSel); - } - - function cancelBtn() { - return document.querySelector(cancelBtnSel); - } - - function branchNameEl() { - return document.querySelector(branchNameSel); - } - - function changeBranchName(text) { - branchNameEl().value = text; - branchNameEl().dispatchEvent(new Event('change')); - } - - preloadFixtures(fixtureTemplate); - - beforeEach(() => { - loadFixtures(fixtureTemplate); - createDropdown(); - }); - - it('disable submit when branch name is empty', () => { - expect(createBranchBtn()).toBeDisabled(); - }); - - it('enable submit when branch name is present', () => { - changeBranchName(branchName); - - expect(createBranchBtn()).not.toBeDisabled(); - }); - - it('resets the form when cancel btn is clicked and triggers dropdownback', () => { - const spyBackEvent = spyOnEvent(backBtnSel, 'click'); - changeBranchName(branchName); - - cancelBtn().click(); - - expect(branchNameEl()).toHaveValue(''); - expect(spyBackEvent).toHaveBeenTriggered(); - }); - - it('resets the form when back btn is clicked', () => { - changeBranchName(branchName); - - backBtn().click(); - - expect(branchNameEl()).toHaveValue(''); - }); - - describe('new branch creation', () => { - beforeEach(() => { - changeBranchName(branchName); - }); - it('sets the new branch name and updates the dropdown', () => { - spyOn(dropdown, 'setNewBranch'); - - createBranchBtn().click(); - - expect(dropdown.setNewBranch).toHaveBeenCalledWith(branchName); - }); - - it('resets the form', () => { - createBranchBtn().click(); - - expect(branchNameEl()).toHaveValue(''); - }); - - it('is triggered with enter keypress', () => { - spyOn(dropdown, 'setNewBranch'); - const enterEvent = new Event('keydown'); - enterEvent.which = 13; - branchNameEl().dispatchEvent(enterEvent); - - expect(dropdown.setNewBranch).toHaveBeenCalledWith(branchName); - }); - }); -}); diff --git a/spec/javascripts/blob/target_branch_dropdown_spec.js b/spec/javascripts/blob/target_branch_dropdown_spec.js deleted file mode 100644 index 99c9537d2ec..00000000000 --- a/spec/javascripts/blob/target_branch_dropdown_spec.js +++ /dev/null @@ -1,118 +0,0 @@ -import '~/gl_dropdown'; -import '~/blob/create_branch_dropdown'; -import '~/blob/target_branch_dropdown'; - -describe('TargetBranchDropdown', () => { - const fixtureTemplate = 'static/target_branch_dropdown.html.raw'; - let dropdown; - - function createDropdown() { - const projectBranches = getJSONFixture('project_branches.json'); - const dropdownEl = document.querySelector('.js-project-branches-dropdown'); - dropdown = new gl.TargetBranchDropDown(dropdownEl); - dropdown.cachedRefs = projectBranches; - dropdown.refreshData(); - return dropdown; - } - - function submitBtn() { - return document.querySelector('button[type="submit"]'); - } - - function searchField() { - return document.querySelector('.dropdown-page-one .dropdown-input-field'); - } - - function element() { - return document.querySelectorAll('div.dropdown-content li a'); - } - - function elementAtIndex(index) { - return element()[index]; - } - - function clickElementAtIndex(index) { - elementAtIndex(index).click(); - } - - preloadFixtures(fixtureTemplate); - - beforeEach(() => { - loadFixtures(fixtureTemplate); - createDropdown(); - }); - - it('disable submit when branch is not selected', () => { - document.querySelector('input[name="target_branch"]').value = null; - clickElementAtIndex(1); - - expect(submitBtn().getAttribute('disabled')).toEqual(''); - }); - - it('enable submit when a branch is selected', () => { - clickElementAtIndex(1); - - expect(submitBtn().getAttribute('disabled')).toBe(null); - }); - - it('triggers change.branch event on a branch click', () => { - spyOnEvent(dropdown.$dropdown, 'change.branch'); - clickElementAtIndex(0); - - expect('change.branch').toHaveBeenTriggeredOn(dropdown.$dropdown); - }); - - describe('dropdownData', () => { - it('cache the refs', () => { - const refs = dropdown.cachedRefs; - dropdown.cachedRefs = null; - - dropdown.dropdownData(refs); - - expect(dropdown.cachedRefs).toEqual(refs); - }); - - it('returns the Branches with the newBranch and defaultBranch', () => { - const refs = dropdown.cachedRefs; - dropdown.branchInput.value = 'master'; - dropdown.newBranch = { id: 'new_branch', text: 'new_branch', title: 'new_branch' }; - - const branches = dropdown.dropdownData(refs).Branches; - - expect(branches.length).toEqual(4); - expect(branches[0]).toEqual(dropdown.newBranch); - expect(branches[1]).toEqual({ id: 'master', text: 'master', title: 'master' }); - expect(branches[2]).toEqual({ id: 'development', text: 'development', title: 'development' }); - expect(branches[3]).toEqual({ id: 'staging', text: 'staging', title: 'staging' }); - }); - }); - - describe('setNewBranch', () => { - it('adds the new branch and select it', () => { - const branchName = 'new_branch'; - - dropdown.setNewBranch(branchName); - - expect(elementAtIndex(0)).toHaveClass('is-active'); - expect(elementAtIndex(0)).toContainHtml(branchName); - }); - - it("doesn't add a new branch if already exists in the list", () => { - const branchName = elementAtIndex(0).text; - const initialLength = element().length; - - dropdown.setNewBranch(branchName); - - expect(element().length).toEqual(initialLength); - }); - - it('clears the search filter', () => { - const branchName = elementAtIndex(0).text; - searchField().value = 'searching'; - - dropdown.setNewBranch(branchName); - - expect(searchField().value).toEqual(''); - }); - }); -}); diff --git a/spec/javascripts/fixtures/project_branches.json b/spec/javascripts/fixtures/project_branches.json deleted file mode 100644 index a96a4c0c095..00000000000 --- a/spec/javascripts/fixtures/project_branches.json +++ /dev/null @@ -1,5 +0,0 @@ -[ - "master", - "development", - "staging" -] diff --git a/spec/javascripts/fixtures/target_branch_dropdown.html.haml b/spec/javascripts/fixtures/target_branch_dropdown.html.haml deleted file mode 100644 index 821fb7940a0..00000000000 --- a/spec/javascripts/fixtures/target_branch_dropdown.html.haml +++ /dev/null @@ -1,28 +0,0 @@ -%form.js-edit-blob-form - %input{type: 'hidden', name: 'target_branch', value: 'master'} - %div - .dropdown - %button.dropdown-menu-toggle.js-project-branches-dropdown.js-target-branch{type: 'button', data: {toggle: 'dropdown', selected: 'master', field_name: 'target_branch', form_id: '.js-edit-blob-form'}} - .dropdown-menu.dropdown-menu-selectable.dropdown-menu-paging - .dropdown-page-one - .dropdown-title 'Select branch' - .dropdown-input - %input.dropdown-input-field{type: 'search', value: ''} - %i.fa.fa-search.dropdown-input-search - %i.fa.fa-times-dropdown-input-clear.js-dropdown-input-clear{role: 'button'} - .dropdown-content - .dropdown-footer - %ul.dropdown-footer-list - %li - %a.create-new-branch.dropdown-toggle-page{href: "#"} - Create new branch - .dropdown-page-two.dropdown-new-branch - %button.dropdown-title-button.dropdown-menu-back{type: 'button'} - .dropdown_title 'Create new branch' - .dropdown_content - %input#new_branch_name.default-dropdown-input{ type: "text", placeholder: "Name new branch" } - %button.btn.btn-primary.pull-left.js-new-branch-btn{ type: "button" } - Create - %button.btn.btn-default.pull-right.js-cancel-branch-btn{ type: "button" } - Cancel - %button{type: 'submit'} diff --git a/spec/support/target_branch_helpers.rb b/spec/support/target_branch_helpers.rb deleted file mode 100644 index 01d1c53fe6c..00000000000 --- a/spec/support/target_branch_helpers.rb +++ /dev/null @@ -1,16 +0,0 @@ -module TargetBranchHelpers - def select_branch(name) - first('button.js-target-branch').click - wait_for_requests - all('a[data-group="Branches"]').find do |el| - el.text == name - end.click - end - - def create_new_branch(name) - first('button.js-target-branch').click - click_link 'Create new branch' - fill_in 'new_branch_name', with: name - click_button 'Create' - end -end -- GitLab From 72390bf3dfa5f4890d4028867a32ca9a346d131c Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Thu, 15 Jun 2017 21:02:57 +0200 Subject: [PATCH 239/249] Fix conflict in doc/api/README.md --- doc/api/README.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/doc/api/README.md b/doc/api/README.md index e7b48076ad1..4f189c16673 100644 --- a/doc/api/README.md +++ b/doc/api/README.md @@ -62,21 +62,16 @@ The following documentation is for the [internal CI API](ci/README.md): ## Road to GraphQL -API v4 will be the last REST API that we support. Going forward, we will start -on moving to GraphQL and deprecate the use of controller-specific -endpoints. GraphQL has a number of benefits: +Going forward, we will start on moving to +[GraphQL](http://graphql.org/learn/best-practices/) and deprecate the use of +controller-specific endpoints. GraphQL has a number of benefits: 1. We avoid having to maintain two different APIs. 2. Callers of the API can request only what they need. -<<<<<<< HEAD - -### Internal CI API -======= 3. It is versioned by default. It will co-exist with the current v4 REST API. If we have a v5 API, this should be a compatibility layer on top of GraphQL. ->>>>>>> f8740d5... Merge branch 'docs/personal-access-tokens' into 'master' ## Authentication -- GitLab From d6aa09d9a2c428db94b7f519a5868863709d433a Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon <grzesiek.bizon@gmail.com> Date: Thu, 15 Jun 2017 22:34:48 +0200 Subject: [PATCH 240/249] Resolve conflicts in job entity specs --- spec/serializers/job_entity_spec.rb | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/spec/serializers/job_entity_spec.rb b/spec/serializers/job_entity_spec.rb index 88cdfba1145..ce29bc9cd05 100644 --- a/spec/serializers/job_entity_spec.rb +++ b/spec/serializers/job_entity_spec.rb @@ -2,13 +2,8 @@ require 'spec_helper' describe JobEntity do let(:user) { create(:user) } -<<<<<<< HEAD:spec/serializers/build_entity_spec.rb - let(:build) { create(:ci_build, :failed) } - let(:project) { build.project } -======= let(:job) { create(:ci_build) } let(:project) { job.project } ->>>>>>> da66c90... Merge branch 'fix-external-ci-services' into 'master':spec/serializers/job_entity_spec.rb let(:request) { double('request') } before do @@ -21,14 +16,8 @@ describe JobEntity do subject { entity.as_json } -<<<<<<< HEAD:spec/serializers/build_entity_spec.rb - it 'contains paths to build page and retry action' do - expect(subject).to include(:build_path, :retry_path) - expect(subject[:retry_path]).not_to be_nil -======= it 'contains paths to job page action' do expect(subject).to include(:build_path) ->>>>>>> da66c90... Merge branch 'fix-external-ci-services' into 'master':spec/serializers/job_entity_spec.rb end it 'does not contain sensitive information' do @@ -49,31 +38,17 @@ describe JobEntity do expect(subject[:status]).to include :icon, :favicon, :text, :label end -<<<<<<< HEAD:spec/serializers/build_entity_spec.rb - context 'when build is a regular job' do -======= context 'when job is retryable' do before do job.update(status: :failed) end - it 'contains cancel path' do + it 'contains retry path' do expect(subject).to include(:retry_path) end end - context 'when job is cancelable' do - before do - job.update(status: :running) - end - - it 'contains cancel path' do - expect(subject).to include(:cancel_path) - end - end - context 'when job is a regular job' do ->>>>>>> da66c90... Merge branch 'fix-external-ci-services' into 'master':spec/serializers/job_entity_spec.rb it 'does not contain path to play action' do expect(subject).not_to include(:play_path) end -- GitLab From 821ef1d0cbd8958033b8020cfb27ea20a7fbb005 Mon Sep 17 00:00:00 2001 From: Robert Speicher <robert@gitlab.com> Date: Thu, 15 Jun 2017 20:10:50 +0000 Subject: [PATCH 241/249] Merge branch 'sh-support-cdns' into 'master' Support a configurable Rails asset_host to allow for CDNs See merge request !12102 --- config/environments/production.rb | 2 +- doc/administration/environment_variables.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 82a19085b1d..c5cbfcf64cf 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -50,7 +50,7 @@ Rails.application.configure do # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) # Enable serving of images, stylesheets, and JavaScripts from an asset server - # config.action_controller.asset_host = "http://assets.example.com" + config.action_controller.asset_host = ENV['GITLAB_CDN_HOST'] if ENV['GITLAB_CDN_HOST'].present? # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) # config.assets.precompile += %w( search.js ) diff --git a/doc/administration/environment_variables.md b/doc/administration/environment_variables.md index b6676026d06..9bcd13a52f7 100644 --- a/doc/administration/environment_variables.md +++ b/doc/administration/environment_variables.md @@ -13,6 +13,7 @@ override certain values. Variable | Type | Description -------- | ---- | ----------- +`GITLAB_CDN_HOST` | string | Sets the hostname for a CDN to serve static assets (e.g. `mycdnsubdomain.fictional-cdn.com`) `GITLAB_ROOT_PASSWORD` | string | Sets the password for the `root` user on installation `GITLAB_HOST` | string | The full URL of the GitLab server (including `http://` or `https://`) `RAILS_ENV` | string | The Rails environment; can be one of `production`, `development`, `staging` or `test` @@ -58,6 +59,9 @@ to the naming scheme `GITLAB_#{name in 1_settings.rb in upper case}`. ## Omnibus configuration +To set environment variables, follow [these +instructions](https://docs.gitlab.com/omnibus/settings/environment-variables.html). + It's possible to preconfigure the GitLab docker image by adding the environment variable `GITLAB_OMNIBUS_CONFIG` to the `docker run` command. For more information see the ['preconfigure-docker-container' section in the Omnibus documentation](http://docs.gitlab.com/omnibus/docker/#preconfigure-docker-container). -- GitLab From e8344b0dee1d56d5e0e834ab107efc7f137488ee Mon Sep 17 00:00:00 2001 From: Jacob Schatz <jschatz@gitlab.com> Date: Thu, 15 Jun 2017 22:00:48 +0000 Subject: [PATCH 242/249] Merge branch '33676-update-ruby-metrics-endpoint-text' into 'master' Update ruby metrics endpoint text to be clearer See merge request !12157 --- app/views/admin/application_settings/_form.html.haml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/views/admin/application_settings/_form.html.haml b/app/views/admin/application_settings/_form.html.haml index d552704df88..280c5930f3d 100644 --- a/app/views/admin/application_settings/_form.html.haml +++ b/app/views/admin/application_settings/_form.html.haml @@ -299,8 +299,9 @@ %fieldset %legend Metrics - Prometheus %p - Setup Prometheus to measure a variety of statistics that partially overlap and complement Influx based metrics. - This setting requires a + Enable a Prometheus metrics endpoint at `#{metrics_path}` to expose a variety of statistics on the health and performance of GitLab. Additional information on authenticating and connecting to the metrics endpoint is available + = link_to 'here', admin_health_check_path + \. This setting requires a = link_to 'restart', help_page_path('administration/restart_gitlab') to take effect. = link_to icon('question-circle'), help_page_path('administration/monitoring/performance/introduction') -- GitLab From 21483a7bdc4c7676366e8ce86263c09ae03359fd Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Fri, 16 Jun 2017 09:21:46 +0000 Subject: [PATCH 243/249] Merge branch 'convdev-docs' into 'master' Convdev docs See merge request !12189 --- doc/user/admin_area/monitoring/convdev.md | 29 ++++++++++++++++++ .../monitoring/img/convdev_index.png | Bin 0 -> 31012 bytes .../admin_area/settings/usage_statistics.md | 3 +- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 doc/user/admin_area/monitoring/convdev.md create mode 100644 doc/user/admin_area/monitoring/img/convdev_index.png diff --git a/doc/user/admin_area/monitoring/convdev.md b/doc/user/admin_area/monitoring/convdev.md new file mode 100644 index 00000000000..3d93c7557a4 --- /dev/null +++ b/doc/user/admin_area/monitoring/convdev.md @@ -0,0 +1,29 @@ +# Conversational Development Index + +> [Introduced][ce-30469] in GitLab 9.3. + +Conversational Development Index (ConvDev) gives you an overview of your entire +instance's feature usage, from idea to production. It looks at your usage in the +past 30 days, averaged over the number of active users in that time period. It also +provides a lead score per feature, which is calculated based on GitLab's analysis +of top performing instances, based on [usage ping data][ping] that GitLab has +collected. Your score is compared to the lead score, expressed as a percentage. +The overall index score is an average over all your feature scores. + + + +The page also provides helpful links to articles and GitLab docs, to help you +improve your scores. + +Your GitLab instance's usage ping must be activated in order to use this feature. +Usage ping data is aggregated on GitLab's servers for analysis. Your usage +information is **not sent** to any other GitLab instances. + +If you have just started using GitLab, it may take a few weeks for data to be +collected before this feature is available. + +This feature is accessible only to a system admin, at +**Admin area > Monitoring > ConvDev Index**. + +[ce-30469]: https://gitlab.com/gitlab-org/gitlab-ce/issues/30469 +[ping]: ../settings/usage_statistics.md#usage-ping diff --git a/doc/user/admin_area/monitoring/img/convdev_index.png b/doc/user/admin_area/monitoring/img/convdev_index.png new file mode 100644 index 0000000000000000000000000000000000000000..4e47ff2228d090ef86b1c8d0bc1231b4d890f512 GIT binary patch literal 31012 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 literal 0 HcmV?d00001 diff --git a/doc/user/admin_area/settings/usage_statistics.md b/doc/user/admin_area/settings/usage_statistics.md index f3745d0efa7..d874688cc29 100644 --- a/doc/user/admin_area/settings/usage_statistics.md +++ b/doc/user/admin_area/settings/usage_statistics.md @@ -3,7 +3,8 @@ GitLab Inc. will periodically collect information about your instance in order to perform various actions. -All statistics are opt-out, you can disable them from the admin panel. +All statistics are opt-out, you can enable/disable them from the admin panel +under **Admin area > Settings > Usage statistics**. ## Version check -- GitLab From 8933ba3b4f619b0daf123b6a9c81ad0790f9cbd0 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Fri, 16 Jun 2017 06:54:54 +0000 Subject: [PATCH 244/249] Merge branch 'confidential-issues-redesign-docs' into 'master' Confidential issues redesign docs See merge request !12195 --- .../project/issues/confidential_issues.md | 5 ++--- .../img/confidential_issues_issue_page.png | Bin 14230 -> 90001 bytes 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/user/project/issues/confidential_issues.md b/doc/user/project/issues/confidential_issues.md index 1760b182114..208be7d0ed5 100644 --- a/doc/user/project/issues/confidential_issues.md +++ b/doc/user/project/issues/confidential_issues.md @@ -43,9 +43,8 @@ next to the issues that are marked as confidential. --- -Likewise, while inside the issue, you can see the eye-slash icon right next to -the issue number, but there is also an indicator in the comment area that the -issue you are commenting on is confidential. +While inside the issue, you can see a persistent dark banner at the top of the +screen.  diff --git a/doc/user/project/issues/img/confidential_issues_issue_page.png b/doc/user/project/issues/img/confidential_issues_issue_page.png index f04ec8ff32bf49b31873f678c37933ecad1ef516..91f7cc8d3caabe9d07b4d6f57b2f5bd14c8b28f3 100755 GIT binary patch literal 90001 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	o^dOC!G5sdI^Ky7=kEAr5+RwBN9 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⪚royR|8{g_8jSv9FXb6@ni|Jh*CA< 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 Tl+^_+*FK%QhIdLepS<{AlV`bi literal 14230 zcmd73Ra6|`_AUw`KmtL6gg}slkl-F%f(3WFao5mTaCdiy;0{gU(zv@5q;V%$;~}_R zetYl#IcML8`*Oz}<F1FUnoH(f-&|iU=~)%3C@+D9L4tvVgoGs}DW;5sgaSuGdWQM} z<tb->nW^qcKv$FneS3U-JU>6*+S>a3`LoY-E&_qzZ~d{fv}A8@f9J}5e}BKXxA*JU zud1r5tE;Q}`uf$?RZhUfV<4@!x0j8LEi5c7CMKq<tLyai^l{m&xw$zdCB@y{{rLEJ zaB#4;ww95R@%Hxa;NXConmRo_eQs{<`}gl<Wo5p;zH)MMiHV8dzI_7#z{<*MadGj> zmoEYW0&qCIqod>R-@nYv%+k`*MMXs$8yj5Cl|n*7(&0x&Mn>G++`+-Y`T6-dIXM?M zw~>*N&d$yO0RgS8t&@|JAP`7fTU%XS{R!#l=%|~U8y_Fv$jFGIqGDWJ+~d*K@87>S zH#hb4^wO5=?tI0vva;yt=)AnVrZ<l7yuJ<(4~u%k?n2~c0~-X~YkvIraeaULc=hLD zs#Pzp!^z2M`D|<GaBghn;Jzv8_xXO{Y+><Q$MWu<`#7D}$t{)emW<h2_{rMi-s;b$ z*@sQ|<IQF5$a)82V*l#oVSC|WwDvyR_CEEyQ|_QudarV?k64G(!_vT?+l#Qu2|r+L z>+n3IbzY#%;-NL;zQ9eU#;LG-DZUQgx;1K&+-=zv9lKDTI8|=Y9U@w3^QT_pxI*pw zNKEZ!|9xqIW|ME<+}{11F(D!0?(xOrDdGX%`M8^WUmXRi_dGnidRQ5|9@Y;XD{!66 zc<3%TC{%si@H}buNmzdiAR%!`ONj}CTow*yS;PDl2?E#s1LNF9Su*5E>SHL~E7|n- zpE;nT&>mR%(Px@(3rlYLUy@w6qo!|k>1iWBx%+?8d&0#T3(b8~3`-IPo``tb%D(W7 z7FJ~R`c|_7j&?58sS-8pdkf`XwS^g_R?kV7Zt|wL!JTvT(O#gn!sQWE(k1XvqpPyr z>Tn<>!87bA;Bme(!8Xa4`aXVH>v3v@N0tg0Q#n`cd-ojG$=+KKadYa>KH*64Po{F8 zR>0bZt{S{?zsVlltQVknad=S_N)?52RiE*Fm|#vMdD5p0Gw@Gk?N(0Wm-HfP$(IR! zKQKCf`VcJ+yvBR~R!K^6<vmq^B3=xa*%!3q_Lh|86tw5%IN!&#Zz4~3WQ*btO$FyA z&J?81qm?{ce`XV;kV{lB5|D5h)tvLXDM~-k7Bdw;Tq~QKpd%Eojo5WK)21|eHFvV& z5OIhs<^-~04G%U>uUaM@t(}ZG1VsgJd|Pwf$pr$q@A2oyYXz4m`Cva!MN-0)l_}DA zx9_OSUlaRd-xcIWR!)LR+mCw6Yst?<yz;}PbMrmjpKyO%JZy)Ygk$K9JsN{de*<@x za|P7xd~_sULBTiJd#(CcZ?u|98GfeLd}8@5VGeJNtHTvXB9rQQPi_5sIF?E@#V6mJ z=O4~-VUqCs1!gbZL#wUwo@*)VjK}k-&f}a^&5Ru|A6cy;{2}LUXhiOlsV2nkDu}sM zNAA2NMWJGavF%z7?jqpz4PI}>K;Afc&6|n+2Dtfz-YVSwrhGwj>dnM-@roZPIOH;j z>{mDM?1;q#u-pyPcJ${&`tr?I@T;U_bhl}~R`vxkql7{Z0A71NK`US2K;r!kj?U-Y zh@fyldkFIFlb)wj%b@QqDgRnOiK%+;G<K3M*!1wGeSExtOMP}?d*QhB+ANHNS<RDr zL%|7sz^e9(F?bec?uIW`{0aHJIO+FvF#bpK_)y|;7BcoP@4&cCuT>=&EG3)E&s|-$ zA|sVB_r8b!<rw;0YHL;5j&J%3E^oN?nA`VP?x1;AoHB#V2N*bZlO$S;68#jQ{##5( z^mQvLf1M!XI@;B=lCy|)NMoasWt;eO6rcW8EcQrM6-WEB6w|!(?9&K{greNiNp{l6 z7^De@ETBl-X*d={9j(L%b$k$KmA?7x&3XymyT3OCA0Hp20Xy>8PD#5`9F>(Q3~E+> zTlz%BBQrZ6L#j0rpIu!3-qi;55{Q3hd9MR{9xhiW-I#0eo00h0wNdJ0TBM7VUHmQc zdHS{MCepZiNaG~9SG^v!ctt2EInbo<YO7Bil1$Oc9&F*=)_b?UzR*<w*wli>g1kQ% z;9&L92SU=mPE^FdQObv;QVnwAJ;!vMk1v;O4u7UxQ~H8xczE$ZR=ILwkj~HZgWe7! z=7eXo5l40C;O|O$Cviufs*`rNSAn)pY~@X9{dd^qnjUIEUBq*S`B1}qe8vYmq%WLS zj>TNQ+-aH$16ZtJYKmJ2K7vudv~{!>mGUZ%(8Y*(J6`#c@@Xj$wWlmc1ux|G=JQJ> zV`rz|4A*cT!bYM`?QHO#ieXQ%v@MVvRi_+;K(vC~%+|M%EBkkujNgNf(?=-4jNz1^ z;fY32w0#z?-6}(QIg=MsrU!|)PF>g`7rkDC@xzm!z5#DU|EMymH34t;>)ykOEl>Wq zhZPI9c-_-`HVbp9yI(W5u^sFUgJvZJ!d4UpJ}w9!UIst{=O(~;A(Y_ef&6aZ-GPt$ zIK$GMD_nl^mBV#epN36+`yby&l3!npKfpR{;&J7uAMN^G;g_NPirg4WGswJfEb!~q zL|~Min5Uxs4fKUA{E|^9dv(btNz6$!;@ZPQiy=vp>|p%8At7LeVg}MuC{dM6R}~+; z*JKlW2imN!kJGQyiuj#zh|ef^qQfE0ONM(3{Jm;chYuXs!q31K9m+vf8GKM(k@Gf1 z&w4s6(gLy9z}7#+NsKfDSNtd`G1+7uT0yQ*>l=P}_Mpr472h*g5^gAI4fm3p+Q6mH zDB+y3n&?M}t}I=J@g#A~{BB@YA-l*)!Oi6Yed*-eVg++K;k7!xeQG5a5Uhn<VC&4@ zD9)@{Cf0$s#|h#KsfiM!e9dV3WfA>D>at40#I3kvbT*dJ$sF!gxxROg^EfmKKSvz1 zPQ3#kgKE0i{H=-_RrNc{on~>%pRE$zC_5nM+0$3r`3s}o;IECJE|J&%P`At<P4z=S zVjLnHvgcGW%W4G##k}D2xZ;(v1;cq^(+?T*qx#g0AS3URn_Z^=KyEZHzKJH*HCtJ~ z9=X^jx>D!t{?l_O`#1E7ARn%m8EZsJ9deqk_94Y?*8bGN2tI#-7bo^ZA8;~Y!}}1M z+w4_6>M-qz^L!hhz~N(RacjM7H=!*Aj8}B>xk?$22DxNP?)>N=O#6q9z_&9MM(Stj za{i&ZNQp1&(L2qjAuOO_tk^Ri$rq06N-#W1?Bb>+MY5*dS1p;3fa+u{_;8PEdB7>F zsr=$vvbI?icykLl80geO(mhtpfckCMN|0x@gR_OJg*?!ACt_-*OOT@(HRh>vADeu6 zXFcB^jI{e||Lvpu>EKm=iY>Vc>_5B~Kp~>nfim5YH}Ip3R}R(gC`K+0>IQqi(7{g< zTA~E4lJ1G1R)w=k2kF1W??(!C#r;G4?l<L7<ZsXZK(jT@HNibtjDb)J;9wV4t2{(7 zsylgG1|d=MDdf~HZ|eMtG5rE=NST)AC%%a6@EYeASEOzs5o72<&;a`hayx1wB8Keh z!aBuDNQof%Ft^#n(Kv3BQ#lhXAXBK|I2`LN8BvGNg_aL#tdOSFJm2o@WK{+aBV}~| z8QUSaxVU%^D!QQEJ&mJDh&22cb*tK}v~}#^n<n&q#8*T17)@7RfsTG{EZ}fKrSJ1Z zqOiAd6_B>caJ7ua;Vd;~_I`cm!R_cdTRz91u8lD=97h51#y_3l)P?jPK(lzu0%GK$ z8}I?eh_}wec%G@)<XP<><}kFgNjim{;^{i5dPVbYUf_lZ)}d+z%Fg!~XWLS`igSqP zZncR`wL`_VvNc}zBiDPi3(NlgwS><EUYCTW+SNajv+xWYCk<k~b{_T+yeIZC%Rfq^ z)*20)w8X4JaZJt)P+v57t&p?H(EUYv!J!WXsJ=*f^_)D^nn#&B6$j(xc+g->vF1^U za+qplAYi0_%$)%UA}=qjlVK{KFU(AO@M`_g&R7tbi_fzMbTeGrx-!*NJ`*iIG2z`E z$C=k%hV9wG@X!VIKRiGUU#xg=X~1Tssz;Dehf_EIYcX&Il6YjtPo0Oa;u$Y!!XJ&C z?d_dE7C~OcYfSG>>G*&m!*)TI5vDS-Fp2AUMtAk_v~I6Rk#@%_$T&NPM|T%hW1eP5 z_kt5R;~XQUdhqzN{yYo3{Beb`S=-U|3m!!%ioDMGP^h*P;|w<Wr#D`zM(A0*^I0+P z496}9JcfdrB)9hJ6@QwO>kYiIqvao+uUCwC)j<*hb+S=Cf4g24epGXubpJ+v`WC+s zVy~CD!rdGOaT@{Is8U#hZP+SC5FTJ@K>WtV!t7-=1BK0D#=+nO4|s|>eBOCDGmKj6 zSbf(0?dV}qA!LGj7_l*O6YR)CHSRpTP(!Z+j&Rh<h7k8PRMsoDl;NCsel&UDTDR^; zvo%1NjkmBac$_V&x6%}>-GPpMryi%=*NQ-ouO6E>DK3uQa`?WFcy_`T`Ck70bIKRh zazjGu_>%aNdFbi_k@dJ$mjIo5L-iXJrl=cF_aJnwk;j!o<<_g83hfW!Z#D;4wa%J8 z_En$CX**L5u)}d2mp{NI;D(P1D<os%S(i03BTANU@0)sLKfsw-&(3skHbV^#=Or<U zlMtk>0UE^7L(*m<c*QeXNktFbBkpj0#dAb<BugY{|LrI|hll(5Xy;zOCIz=7><~LM z6x5x!r!QdR+LT$(xS&4ne^jbAY!Tel=&&ePTAyUS9{1pO=BD$m<nRCN-jR@uX_1_t zjsyQrP6x|Y3Y1a=LF*{gXp@w2zupT^_n{F~q4tT3o_u1$5EIV(>>sLkSN-_NYzcM- zTTF?vY#vdSjwdoCYL@cO8y~?liO~N?+kan^f~r(4G)%i2)eE9CQ(Q%|lAM;t7)KZM zw--kGkv#ZlP3snayBeE@KWJ&8sD|kk-vp!_6M+uBUv<>S8ye`}RRLKV?spl$EIB#( z?@mn9BL?Wg<69pa>fXt9iek;^cfaX*ibUI09HUd}d)@ed*F>U%Zz)ht4zIvm^$&{h zuPN8_@AojlGUmCc;NfWGt03hA+WQ=!;%B3XUb$wf7DoqH5m2YH4zS-xS<Kkei#c?R z%o;KRMbpS<U*wL<GiIhqEy?36bPx^JMUP_2St*O~-!8oJrY)ZnIqZ7&(OzopVC^$p z=L6W0QRz07HYY2`wkF(}oD#`<-{GB1HLJEon+s9GHO-!;D<2JdM!42bk%pyJt=P|6 zPpc3zX##~WY$#{=UnlmEP_r>?zeb(pxNwY?WU)I)%iN`tdC(c1(o@YKzCCs_fv-<Y zoJ|1r<8!m>8CvI=y=?{tPDEwAZ=<R0)HP{|^GgpmMBzlGjS?WI6n8PIX8hth@b95_ z7Rx{9wz(^dfa#TxI7St;DF~q>d<(lhZ6qQpodU)%?_5$C9@%UNlY1k62FMS}Yhm#< zg{zX0<5Z@%0PJsS8gqdQt*Xm<F4D)~2llg{yCL_>2D^it^iETwv#|2VmZiGh!Lvn6 zxxVIoHS^2+G;LAvWBhaQdFGwZow4V?e3Lml4sV*X*SKW`kN3Fo6(RT@y*0q|59TgJ z#ZL&(9n=kV;R!?)gV_j_s-tlDTb4ysn`UXkH%ng<f0lhQkGe6b0@U5bm<<O9<3-#5 zv@Il$8;ivP_tF$SoXd$|3Gv`@i4xu6oihc*!Y~i`Yq$ycLG9eFHSNT@5HaB5Q}7#n zC;=-gArCnZc~0z}WZi3_w5>n1EN~X{OwN=~yenff{Z_A_Uy9}?@zUgPQ|bjXU=0kk zEPRfgSbuVR!7|8cQ{Iwd8>E9bOr!PL+=-~1myKMX_8L3|Q|BcHpA&mmZVRaI7`;iu z8QIw@K9G=k^3}7T(Iu+Agp_v_0QnFk7u>H-_6r;=Au%Qa$lGwLr>Hsh8F!Kh8i$B9 zOTuGMkz}O6avW7h?%-k0uiU4~h|q%!fQDnsq~P%86rzP-`(sDOT&hX&>j^M3(DY-x z1qy*U&lyo0tuI^tyS>`|ch*HOxbYw<=_i@mL616S?<?n&+doxqD?5nlxhASIuOoXH zzfGGO8F4EVK~xp-xxbdD9nyKF1gV_HJf;K(_ixhwP*-k(@ajhwc-8bXqPC##e_o_# zdnO~GN^f@4$m{OO2(e(b*Cv8%X~X!(>4o936X8Ho^m(%wCXl2`Up<EyvDRCzC`sBp z4dybKM+GOpYl0m2-weE8-~Q!3Y+~@9FBW?@BQNu-n&q}xZvNc1q^EHEbtvHeM^L~M zkC=={FTUT;aO$RtpQ{}qTLR~$Ue~sq?dBT_pG_zCW@jhYmqG=ra6)-E?@eo9X$Ora z74g4RSc_U)^rV!6OQivIB8%Sk(XoO$ljWlsYCso%xOVb^)!5)4-OS8KCN)iZDhz4; z^l4Mq;N-NCBhHCaA^8`_EvH9P&AXB9DP&LV2f-)P%2U1UvW=k3KN`yf!I~y<x$X4_ z>Yk};*n9ZkcaC0Mp-&G{yK(XLX`^QIjU(KlQ>6YVY_^HDhJFCt92$YHE=>XGay%6n zR@var;><AOVW(WD2!_GuW(Q*QcS{em{-ywXwY_m1AaJm_#5hqCfH)cV9hQl+2MSTr zJkMQ>>vxU|5%eb~E<RiNB}sI`@LD%V8~Ns&XdYrF`_SplGvq)WJ_L^3wX(M}V|`6l z&Nx^uP}|7u!pQ;p&%Bgb<YH&ZWkKQ9+GMS9nQWWZXfaZp8g)Zv&wF&3NZT}gkvgSX z?N)w_)3?da@!wPUe@h*Yk=<>K^07rqRNrg_E3_d^0)Gx+Gz@M9jpYxhNO$3?_@QUw zl(F11;H)00iL~)%%W?&$ZMFLiD7`2+Yt20h>28seZ{yQv;Gvo?IKdSh{PW7o8)?W} z#j)V%!l`w7;bVQ3gosQ0uEr+6Yu(DoX`*nI@>ENBXif0SJTg1=gWJb2oHF6|ZyTO9 zxB9#Fa;8y(^ylBU-M$BDVk~_g!hxH6WPR{it!S#cUl?_bb-Yz@cM79vVQpeQEo~H? z{I0%yWUYKCm<Uk&*X-rvvm3+5FYD*ap$mItR`v3K7ps~zWp#_0C&Bx~5G8QQ)RmSk zl2<zdE4RdqSYu@6y(S+ehE2q~3F9&ak;JSJrz1A)PmsmawNe_*hxk|>^19s#-48&7 zU%ejbv9xDwx#qZHIG~yJ8R@Fa{=Bn8hS7}2ofWSuEpK5iy)CA4ipqTXQ|EooI0EpN z#X4?m8Yth_)VZ%K*VM}|nPH#K1!js~BDLvqn9%v3(ki*clkZ^ub^#OJ0~K<ohU&eN zaHeap7V)}m9pt}^*}+3wgvED!Xj;teeW5$x4E@)O7N5Fb=DrimD7#5eFo8d)ZHT-5 zPb-=EOx&%Yn=i;6$tAk5KMEQe+AcK~TgtAt%yDkr2&+xsbYVJh#e^mNulAy6lg(>5 zZ^cWquP%J64Yc9({^4EheoE(>j;%b?MSIoKNGC9W*4@StNAiWuO!H{Fy;Phk>E*#t zcGs$D4Z+jWLZNxy25pM@GFo4@b|~Augr|lGcYwPE=_->syKqex75lfR<Nb$v4+c2c zVMs{&xJZXJ4~e7eFaMj8Pf|w=x-{AU&J~(#&PwFWrHR@!d*yFeu8T_4T7M{M`f5S3 zxHvQ<K{>1}kdv?&v!1QF%?D?V&sf#EdQjvxW;8Tjv1EdsH!0>p@Voerv4b{Sw#Vm4 zJ}-O5M!pmG7ew!IAtUiJ8BA{UBnlR;K1bSp`&oeVKiTZPGfbYc?Jtpp;7E_uAS@Ou zMUIZzMqL@Vn;8D7CG#p)Q*k)b-&*kF-!`olMCoR0vW=d8gn!Rl{HC{H6n+zUyEW}p zMlGk_DH%BH{4T~T0)Nwz^l}RONe{lNr>zX!{``9DBAgFM`j8bG<rdLR!z{=mN8+a9 zD&KhC_ahWQCRcHEszEf|ghJ~)72vJ*%uNebRO@rn%Sol7w3oK$&%r1OnvM(28t2L; zLA&#G(G^Xb64;4GGc50nLPe(XX>ykKFUydgYH7gk;H~-l+w{IIU;5P;ZBR2x*|SN* zDK~!gh{aaLxd^IQ9Wf0^>jAg!kskk8*5#lWvUYIOf@jfNTf&QFO&+9ycbF)Yrq@!s z5e2@j9M_b*yjM*viv!6}5+REvgNotus~Uvq%I;4<130?&m06yHZYpj1En@z?pPNwL zVw@2FsFw@zkpN{}#~$fX#6({o3H->)2xs5=`7(q7e{dgqn&>sLw35x3qG>aLmsNs{ z@oRgq>|3s;XG7h_s1WNLp4>{>5@MOEP^p$uPzfCVaRD*`hBJ~fqR@ym)61>a?Wirl z))&IaoO{*vf0o*EzW7L)923H2QBzYBUa~H4Vy0;C{R9r<7x_i*w&!e;4&OlGJEP+H z&wbp*i*a+jPJhz+(0Mgwyhy+7LY^wt5)?rbW_`~BkMq*48Im%ka_e*Qd>fsqE-tnr zR0Y1)fcsMzkvMv{sD=RAL&7pmLu?e&x>(x=Y|?DfFqy9~u!?F6#L!I4*mnGlkQ70^ zIkcpWMi&-hHPX;dlKmx2iw^EOgq7~{2BRb2<?klWpJ2vph>w)*nbNmh{mebuOf57P z){`$HKIZ-aa^YxuG09^rx>t>JKb<v-(pzy8U*ez5Z+*j|v7KnJXElK<ooj~sEsySE z8uRboaek)v3yiY|Su{nb9PKDD*qRNyk@Hvg$jQpopZt1uS@M4d0FWN6EcA2!i9Y>5 zqz8+%SyM89$FnA8@<GRh4tueTaC1Ad*EXIUyQ`Gs<RA(=WPS<3>8S^cA?Reb1-g#3 zXTqq>6qZu=*>9T9>b-Lgw{~vM2g(2?XYbC?GnY)ep>JfKBo6&kaGB($X^A|@Pd%P> zIQg+$(Z$_xv5Y^rF}Pc8RPUSvaddaz#~P_oLed7g0MaD$oSgTUA~m>xpqJaFZs5Z3 zsU!I`FTn6ggMJ%eKVKBSYz8h8tOg8Jw|Xv}5p|bQ<^+*|fnOsqW^%4{UVrH1e5O-U zKGf0xT++WW(L1>W%0GI}SsmBzQ6dV!jELUr&awFms;F<acT1cB?=-*T3%yXls8xS1 z+!6d1?d5Khu2MuQ&0x!EBt`gfQ_+uX6HNlN>gJ;xitUS9ft@9L>dWMnNw!sWn^?#< zXQ;K<GGxXtpM9%DX|(Np>$#qq^v)~(8}#BR8es|3t}>{-NNDLwKWz6ILGMTYuv3SD zO*W5m?46~BXrHW&NE_hs*3Z$zLEK-y#U{hFQz12wts`&Qd2H3$EG?1nJDPq9M1U*_ zQPp3Bv19M54!m;vjbztAY$feDDd$)g$}s*2WdgKHE+<}-#)%yGf2Px?r@62kIah#U z(@W=_J@X1P<to&iov(jb_JajJm;5DtHvHnMxU=z@?uXHVGt14Aggxi^JtS(^jaOvi z9))_q-f~cfDoxxr8UrC(Tfnc9@V-J2QGT|}%X*SATiRwf3R+t~Z&ZmE^!QGnNzFh6 zy`_Wh&j3qLRNaPV`byN|uXAXVS>8)D^uJ?`FKl9{n2Ud(eTYFXxSlhwA*if-Si5`m zexUKC7vx6w?+dvF7c=>1X;Jxf!^IbUpV&?ZlmQ;O9gkFR5l3DdcPn4W)`%Qz!C}xL zDhpNh_#=Jai`oYNuf1L(AiB*|nlAMh210A5{MKe)vw6oyU*Kpp$5fayFgh%J>yoIC zQQ8xFizCM9Lp?T==O&RvG2oG8wLHP#-ZIRFH&4HJSQZPp9^bO=PLzyOlkpg+Vx?oO zD~9@|K%H|JW~V45=u%(d#1ZVTXeC0ZPy0Yz+_T8C&F3n~MYDyehw0CrGlWDDJQ7~r zY{ZPeE)O}ht0zJk&r@q^=7Be*L2CAPha9!lW_Cs246ZjY{Bajict27t=V;2X(5NWe zbJ25-4nl7rSjTb0Ycl`z{oAN8`CqT+#f2!5uYEc{Ngi})f@D}VqNL82)$9d_HD8KT zx^pCQnAN!{@Ptyi!g{uKV?ISY3G~nQEzyn%Fyt<*PVqg*uz!UE|96k2TX^6-_D;dU zoodP2{wDN4<liw*fABFSe6deh9HpBn@|_6>9<U#*D9V%|(f)-u(92pHM&MAA)RaoU zBlw|gqCYYuik>VM-$*i~>bc~(18OE-ViCKs7cE@sBYD`#dm-OEm9zH=<{jn8k{o0q zKR#u-N(rlJMMGrTS`*8@0s9$l-!f#Uk8}<M2Iu@nQ+KNBx-1Lm+^s^t4fl@=7iKEt zJ}~rc5Lxxro>8Ermo>)E8TiU)5E-F;&UL9>3N1Pu{}{ob@;33Wpdpc{cx#NmrVYit zX2;>gd)3f7y<qDpEoAZ2FYa{G2ieSn*zn&Xg99pMW`<i|)7`MAA`&B9C%(s^YuZ!u zB~AV!zYiZ1n9iG=s1)|MRbC4Ys%3?9jPbP!D$uVLz1hJ!nK%kCTeuR&+C#&gp<hv} zACVbg(DCiYd?u&p4Q&yYU(8K)*n*xmgZcwMl@`*3Vo;q_h&pP^=HIA{-g>s>2?gw5 zU`^?>>}n~NiQLT;x;d?VfCxfy^igMXd9UbXqW@U@@P*9N7)xIeOhsD^o%mIu-tJuq zx=$HF`_<{vTvZV3mNs*_G){4bk}x~cq!@&dfHqC9S<w*5lRp;is59%PT;&aF@Qln7 z3G#GJ-wzZ8>R~n{UZS-8#7JP+{<(so2<I$mQ`O)*C`{F+A$A4qIDQfHo(I^dvlWhq zi~IBcvJ2}|mlkzTa6ig<lV`b;3U&IIE3g2^f#W}IjmDlU&%9~V`Q9ZzxOn$)vQ;)3 zXPgXO!Vys<)!RMp&^mLNtH4zR1pWT7v_tB$xN&4v$5$`3>epM&6g}usNIVN&^8w$9 z&~qQ?5xOEOOPSDDwwzS#??mgM{EACa3#I$d!=0%N?Tor5hl8BRKNMu>FpMyrgiQ|C zeu(sAv3V)Anlfmp(S|{>aSju=jPV(#Xme9HCjJL|#1}fFuhW=3`Va-=dKXzf1E=Gt zy)q<6RU0y0^6IAF|G-YMK-Hy@2H`C955Zw7Ur2uYCaHYsQzlu+Tly_*ZbDKP{|tXB zrcRVYD7wE>g2b>vOe52l)B2kPp3q0R<ikX@HS~<mKYy<8C`Z;e3AvftvHoIi)ty@r z4^AuRmuQ|`wlVtW<5FU>e(1skrQyEWWcZRwv7|N*#Xh0-Q6v}1D@W#p*Pt}PW8Y_R z>XQLrjif~@%W1u%5*6zBK`%!Y3WB%xi=6t@&iFv2R9fAlU07}iB6*T3S}CG8Dtebd zN$&J}Bfi4o9)A&wxEr1BsJpGu34wlIx`?U#;s|Ri;T!<n8H&|3wFU+Q;~Jr+=TCf> zhAS=5l3@K28n*5F*9fQa(^!q<cXHEGr3BSt0pmaHJ8#!M`s*?HFRba9ZFV*-P(kbe zS`mL9YJba}b{%XjP7*ryafW%(z4}`i-puXiqtaXBaH_?($pPH<N;<DAimr`V%R@FW zK>n|16OROi5+BnQ1^94D)RA7UXlFofX81_^w&#-()bUbW=6!DtZa*$()=r(%V2X9e z4^Q4dgS$Z7$})fJ<o{<p5g7vGw3g+wXh#1GsJH@h8_1o$l4Il3#R%h9fOdWZwoq)= z?x1TQrrV&(C;wK){0;Ooj
nA=XH>eC2*bBw-avXbDh`s*1j>r{8DPlhgo48@x+ zSyp>Tw(q|KrxU1XJ4E()Fdm-kiZ7e#(xSNvJ+gq(i7cz%G7?Nix}Y`S8vRfrOZ-Oi z%sZ<0`koF{Gc~g2XK=umrYP`LAB2pdtr?6cj9`;%wz^Tu;GL{FB<ow^B<bv{>`|1y zr*m};aSk60mbQq6e7dNC-};g_4^DR;Oh?A{h!I35@txL!b?x1nWeph1wiM-BV^B>0 z60FI<>YoKoh7pa>6y8A#jei#p!9{jb<5)l+RGkPT(Ok2)xD6Nzas-A1E)~O@HTF{{ z^tWkGL`A!DY{bt6cCZF4_&@rp@$Phf0^u~x&-aytIGESxIA*F5P0HcGSDc64qO%mO z0%GoozSLdyK~sLEhQM4`M>rraU`b7mD{t?+j(u@VrUyfpu|3t+_S{NA`j(y6r<+42 zY4ecGgT!YCJ3o&5jKe|fhj;0lvEN-QJoxy)%X}SAkY+>-Ax0ASY=N|2$4G%<BD;== z%x50O7pfhK(n@A9!_H`kw0I`s`n{^PBA#i<-!;1blaf!9PTvYk2-;?T2M*TD;I`NB z)(H3>Sr1Mvl?(i^hc5}OJtwH{;$7ZrdtATK-(E&vYCgcnB4P8>iZ6q0u@Z;iZ4VWE z<(Jz{rmHuL0SOg3%=i0I(_6Hbz~Lia{7>=Gwwp2YeC<Q}2fTRCeTvz~5Cj&?6A-<q zDbuoYE(cL2H`pDgHT~Ion0<ax);`y4L>OQ|6VYWZ98g$A_Kk)J-8R;bmmvKdneF!B z*Z}o4;o=9hr^PVbUtZqq{`fca#vnH^PgxAuX)e)SkzVgoLUVkTTmD+tWJGwK#NbIV zWI|t@jD)syZLPgRycN^A9`D5xH0LP4tI;aNZZ@f6{$sg>JHOj9AUZRI>v*^CTJ}n8 z*-ilGr|z$U#hZh=qqEI1vSe%D=g$d~=UW>NZ{so5_I#-V2-Uu{B`k*nf8`9IB$7hk zZF?s*_nX}WEBIEubuQ#oIAZ)L!n8=!Qbz6hETZ-wsKF@aSIX%_k4P-$@S^u<9a-QE zl&jBAN1vrRzUDVDUz%4Gs2T%Y0mMY2l(8YWeu{xEMbGQFT4UYT<(}R|+f6YpOetTk zP4Kepy7l3;XFE=x4>uca!dzsR-qhznLW!8<R>$f<%KL(?io()C6X_2}dd2epuBaiH z+_qC8(;?(SPCm>~;V~}y(>;^COCn+W5M%3S+^YxF6_m$bMEr}8nIYe;K+P6249}aq zfCs&*n<+>4#V*K6<~6hG&W0H1GqDnkvhTw-h5DhoYT9*$5rzF6gzs5L1&de7UZ&E5 zG2z6y=zHBE6h6v8T;#1B*$ve|Ie3B$B;~qVo0lL!IS9Eqo>0#5mC2qb*UY?-i?hZk zbTN9OsvPG`n=2Vyyi<rt6y5+{zD&$iqOcE5I<LP<sb3Cgt6m_T5g6VuGIN}%n;}|| z<O*6^GmBV-%ygA-O-g+u2|3&O$QKvv)gccKk7r9rr}7ZoyX<aqvXK&RzV-0ZtKmE6 zr!#2@Ny`&>GD}dTWtZ*rwXdg1P}cLB^pgn}myT@gJSUG;fstV!1b=+CrL0bqg40#1 zRopYO5Z3lfe1sASEyV|}E8-=)<xz6b6l<3c{zPaguS#FCoF1tCdNVA+1oJ6|a%%t1 zh1Nw1f8Hnqd|cxIZCj?(s`5J8YkLAVYURpwS*v@=Y6S}|v4X*!x^XZm*~&&yqkgg? zvkW{hT?x_Hi_0Q&x(QaYI@gt?O$+$hTb>{%IijlkNSVipo3$7tFr%Turn<=5t0G#~ z0kLj!=*9U&d-tnRP=nRz{0;`+t_<$Gd}b(XaZ6?T8c9^P6B0KM|4;#Js;P1n`(e5^ zzEWo~yikMaQL&CbFqSyZRNt`niA`27IE1>DG%m~WdRlfs?C1UtH_9@W9LE3rhV+W{ zWl2ew**jx9M47IwNgk=)pNl%aHLxX&u9~2pf$$wzezjWDOit>ssM64Ftl4z|vK$y5 zUI+bQe0a$!u@r)hqpF3)B~$*U$^_<!C(!q(h1M<Gg;007OAl$OchhLVJ`7vz)3Y_0 zAzdnXA*BRAGMnjZZ#ZjKu+b>1DV#p+pJV+7ODnjXft1KN&SWLAT2vhyIb0Gg?)$@4 zyNzmOKW3h*YEiQq-PFE6Lt2ZaRVNDt5!)55AZlaSF=mu+*bVDKwJB!uxo@iZxe*H- zBdfJf9WGvst}?pe(z+zFg6-vo5i!*rn5^`F*B#)!%X#wSM5~lxb!nY~;TuA7M;s4Q zY_A@IQZF0s>1$|+=QI704nz{KOjdbTNQyw>Yh)HveaCPujvM9<{zfV!aja4_eMkoc zsSxcyH*M7l=xqP|Q{aDBc6^#B%B9*J3IAclv80am|My$`TZi}myi?0EuzEwT$7B5e zO`of@nCY=ll#qgOPz^%%P{p(z2%d{J<K~o@!rwLE*;2pAeTT|r=<JDcn)pd7R8A!b zFJN2t!6p{JO9<~L1=<M~7^N)-(!mA7x(Wi2ml?n)D|!DCX-s*1QRIZ+J~mL2Uqg1! z&`JCN<W)tE?6|Gx*kAgE0c+%|uP`V{2SsA9631G0H8+4p3VI^}_wgUvfRg-B)F1_; zVAF*^X%jZF1z~YR8KMAW^#5Ds?@etwX%f}`T^mEkyS2gL!S84*bJC-FtXi{;+^+Ms z_8Bs4Y<caIPbIwC-C{AAf~wcAWx`BP<3VbNi*yfY*kemk_?OQ3_(M$OpnL9U&E?Cg zSA~Iq!dNe@2Fp)tFj+<1DY1&9DN6z3hE-zk?P7Lo%6S!WsA$u~u%AV9gLHhc3Y-i- zRMNXz=bU^9%<LU^+RC6x2Cd+Yp?e0D7qmcP%R{N+mlUeyGITG>ZbpJyD}%s~)fSv( zp(qBVkMsd#;*q`u*2VKouM2V#{0OJRZRQV6OlX_Yi!CLYn0`~b;kN7*EQD{M)BK&r zX<|2JE1W;<TA5tFqfK!z%}ka$b7!LxKvk6955RR~K~m1|Qa1i-nQumD(Q#|PPh;ap zJBz%M+QAiPh=1{!u5qKr1E?RB@Zn__KX=*VWglCdnYRN3oc;O>_?qn1cZTZJbe0%> zB2iwYEnC|Q+9fNj4J9zL<B)a{m5Ge?8?@LL*~`OzFuSQIM1JwsoEwV>d+T95B(7S{ z?(M{MhVT2$noW#5I{g~CFVK3M_U9y*>OKK&9NM29%fI<1i5As?ZaMozfDNo&sB2nJ zT*UDef#R~+;)yVhuO^Soy*t2sH8Q6ZnVvZ8vl@v)s4*<0T7(QQlQ}fP=4Sq$nDnv` z!KnDzyoKIJVePZsn<6*%CUkP`iur=E<vcTmw;X)Op-KXETpf15T~*N4BZ9goFmO2e ztfH!jtISn6Yf<qz##i(Z^ZuKZn2!_vosC-KX`<q=9~6HBMyeJgTld6!)=q;njmG<G zwvDc|xnur==iTAk48!fn>o>Bd<qpy$=m0uLfm$--P;1bP#jWZsCY9{H2^FYc$Pclp z)s-&_H7MRT)7J~V49+gin^`yE`Fj=jQOI|6WO|VlU8!wTm_xuSwyQudGva{*;rJY+ z=7aN%hKlTf3>?S$xAP^htDu<;rRht6OGO_>!UhEE=-c)~Pm%I?QdW?S#96kZR<U_Z zjJkD~j987P$bAm+WNQtOwn(wp+rv&CO0R#aFfN6Yn~(XI`VJy+yNy1o_%z|H+wTdf zhb<Y0{2;gS!Q(+IANw$K`^i3A69wpbp&5AT{qeYwu)T0Hf$`(KZ@;M6bt#bte~uJj zZ*uW5)B5iHFz?v-l+B1jPJc2fa)gsafgn8Bqu(Fm(?%OF<2^M|KD7wsYof?wKp(O@ zi14+!Z0Nb>-~F_qf*U4f-wcvD>5Omkodg;+r>A}>TCmN!5=}oEOli=!qo`cuKlscy zm-+S3iwYyB_>o(brlrSVpJ`i%1qgJXz~{`G(~o1l_*g^M5X+ClgPX+0wa${-&#`xT zJ0lp1qq+m?Wd~OAKYg$9WYHje;49Kht^Q{;M8(Ws+Y#oZrmp7POAeA<<&+jly&TXT z=$|zR2**EEVH|R1fC^gs6supT*_T;(eiU)+^~>j79m{|wnNAQv`!=kP6vbidBTed( zfJ7c@5sAAUIk(GnhJM|`it}=gML^Y;k(RJA;;!{i*!!ac8tgQIx7j;HfI03aDo}u8 zKx>bWo#(2pg`x6NdkEagAduH2mXKYB;4gP1Q)HB*SN&7R@R?FNI7SAlW&kh~PfYVC zf+&XEX0j-49C+|@G!u^16*IQZUpflIa<b}Q=QN42{qdR}Q6=d$BxY6;s7hvM0s2Ro zDic8NM$S==_N~-rhsRN~C+T}{hqv$yfOb4Wnyhu)Hi7_(ahl!TOkvt3bb&7IqmEX& z|LP*m?{`92NGbfN0=zjbT-4C92Nplo55(ER(#Y_C2$91}P8oLEhzt`N69MVr4p&Pm zDSOiF&nf}Ek_ix{HX~t}t%J&73#{$^Dnv0`zB~_<N3)vbd!ca~rG0JRAQb@VwvOU~ zD;zm-Ta;75=jNi-nKEbc)~x2AW!Irtrly&JW=pj{Dj>K6m}jM1J+CC3>n;vn`YSi! zxQT45Gxe|h6%09j2A}k;C1`vZJi)IhILUU~zUfY{2UNl?(e_HmikVDnRdwoi2}mMW zgw#*}*CQz=98`GaUd}GX0k2?7kxe3%0ZcT;Puxm9<1X_^LlytU0`bF<TDKyf$w><# zn2lJm*M(f62XcbsLRPmNC1}(7xje^b6?YhxlAN;)$#pd<gX&4vk^w^v#kpH~<d3V& z7srv>JDH;Yc-P>pDA2;DIOG)Xe|I(p*uQtekWCgC=0~p0d$>j|;`KI8RH+WsJigVd z`x0V7Cwt8n$E;<Gt3=|~DAYiL42Rz*C8i$VNsr(NYe-c6oYB1g70Dz{2@3y1h67~n ztDv`s*k>}opQzaQJH$D$kE<k0nU4ypA6^?;zDoQ_;a45C>Fap=p@o+4<7?pCbrc00 zhOk0yhq{0P#BmHw&P^7s(q9%h^B(w-!bQF4{_fZ^Y^EPSOzb86F(Bkw@uM$7EcC%M zMOANzR|HfM(-43Vdu&$TivfxKB?*;*$|vmNxFz;{0#Qr<MQ@efzyt6<-3*qKEh6Fi z3*puZ2B3v3d&jOKr^LpXx~c2fMJDzZlaSDdt8jc#eNzPaUdkX3|D~>x4&+o-H~hT| z;ECO7ZK@8UwcT$aN~B=<I2`uupM4t=($`z3kp%|ae%rgR4NH-(CS2NYI@j?OONB#n zzvs%Z_2#V2$YS}v@=P8tHml^vq7lQ`J7)hqvZ~eoJrecbD*o56&yLb!ue}u^mhGy6 z{SS}3OP-GLI?VmXH(DfrFoo@L0~L@?;sehuF-h#6kBV|XM`~B%$ZKSIh6KVoA$kgU zsXaxvbg=+57Y-=N8vLJ(vogpYkViD4=BPY3=J>5vd+H;9%TqxSm@$!>tI<Mk>)R%< zGC#Zgfk76IbAbBPRugWG?;vMa4up$%_b^O=H=lxVTxM|O)!ImD`jdn|&*-x+)0<&M zQ536DX=nYi(SmkcXi1d0`eJZe3!@7gIryGyBY%-t^Q6<ow1=a7dhOQ2$VjyzA7%SN z{gdelFiyp!HIoVXo~2GB4<KvWLQbv~OTTscF<YBC)0!WnPrKyX6m^PSIEz#ld#pX7 zdy*o!hs$g=gPpzRFF1`6N}?|Uk3$HrC?_wK>XuV`u=AHUu3R0V)mD{`ka?oF8Exn~ zF4d;8#8#tB2);Rp-z_;9OG(kV0Y=|E#h;5I<}l8oNsyY|#l`ArP=fN^ck#TEDD+tb zOfJ>){c8CIt<KLfo@E|(_VD7S)u(M?;iFE*U^(QW0iw%QsG3oYX<j6j?5=_Ly8c|q zBQUCAE_VWKWoo)t!m0HXlg>9=Q*yptUiMYFhaxUo2xZGshorq<%zzlxmsWiH1*yq1 z4F#w&oxo`+8r;pWe*=<+$C)i3!zZ+EYY&v*qf@oKe~$7Pk~@C__>0jv2Az(LAP$9L zjGJ18jbDQN&Ao6~$->BuiUCZES%&Q&tF_L<D=xRz8o0Ctvl8I?oxC+cz@7tucwrtN zCzXvbYoQD9D&4{~9l>cD?Nm8BnZsU~09uFp8j?2_@G!eVw(#^}9MY@JM`{;B2|po9 z^#zJTbPgbh1S}c}<cPx+^B_<qj%g?f1cb#ge(Y*bx^%X-kvDaiR$4U0*f9CeQQ)6c Z$;g=Lei^&Sy8e$O^-W%^TtwgR{{nyrCpiEB -- GitLab From 8b4bf126085ddbc87ae4971fe985e6fc3be02116 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Fri, 16 Jun 2017 06:56:39 +0000 Subject: [PATCH 245/249] Merge branch 'jira-integ-docs' into 'master' Jira integ docs See merge request !12196 --- .../integrations/img/jira_service_page.png | Bin 12228 -> 83466 bytes doc/user/project/integrations/jira.md | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/user/project/integrations/img/jira_service_page.png b/doc/user/project/integrations/img/jira_service_page.png index c74351b57b832eb6b3501d9dd016bd1eb571000f..e69376f74c4b267e52f969d5e79ae769bdfd53b5 100644 GIT binary patch literal 83466 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	C!$zw$}qZp#@$;#@H`KEPu#KeMmP| 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 HI&<xBoz`S^ literal 12228 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 S=_g~9>4iL04*k^R-TwdqiEN<& diff --git a/doc/user/project/integrations/jira.md b/doc/user/project/integrations/jira.md index a048260b033..d54c1fc78b4 100644 --- a/doc/user/project/integrations/jira.md +++ b/doc/user/project/integrations/jira.md @@ -98,14 +98,14 @@ in the table below. | Field | Description | | ----- | ----------- | | `Web URL` | The base URL to the JIRA instance web interface which is being linked to this GitLab project. E.g., `https://jira.example.com`. | -| `JIRA API URL` | The base URL to the JIRA instance API. Web URL value will be used if not set. E.g., `https://jira-api.example.com`. | -| `Project key` | The short identifier for your JIRA project, all uppercase, e.g., `PROJ`. | +| `JIRA API URL` | The base URL to the JIRA instance API. E.g., `https://jira-api.example.com`. This is optional. If not entered, the Web URL value be used. | +| `Project key` | Put a JIRA project key (in uppercase), e.g. `MARS` in this field. This is only for testing the configuration settings. JIRA integration in GitLab works with _all_ JIRA projects in your JIRA instance. This field will be removed in a future release. | | `Username` | The user name created in [configuring JIRA step](#configuring-jira). | | `Password` |The password of the user created in [configuring JIRA step](#configuring-jira). | | `JIRA issue transition` | This is the ID of a transition that moves issues to a closed state. You can find this number under JIRA workflow administration ([see screenshot](img/jira_workflow_screenshot.png)). **Closing JIRA issues via commits or Merge Requests won't work if you don't set the ID correctly.** | After saving the configuration, your GitLab project will be able to interact -with the linked JIRA project. +with all JIRA projects in your JIRA instance.  -- GitLab From e066db394c93e64e8c68edd421d91bc419cbe564 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Fri, 16 Jun 2017 06:57:15 +0000 Subject: [PATCH 246/249] Merge branch 'issue-board-docs' into 'master' Issue board docs See merge request !12197 --- doc/user/project/issue_board.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index 5aa8337b75d..ebea7062ecb 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -31,10 +31,11 @@ Below is a table of the definitions used for GitLab's Issue Board. | **Card** | Every card represents an issue and it is shown under the list for which it has a label. The information you can see on a card consists of the issue number, the issue title, the assignee and the labels associated with it. You can drag cards around from one list to another. You can re-order cards within a list. | There are two types of lists, the ones you create based on your labels, and -one default: +two defaults: - Label list: a list based on a label. It shows all opened issues with that label. -- **Done** (default): shows all closed issues. Always appears on the very right. +- **Backlog** (default): shows all open issues that does not belong to one of lists. Always appears on the very left. +- **Closed** (default): shows all closed issues. Always appears on the very right.  -- GitLab From bb599f3970328375d01adaf2888eccca0665a223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Coutable?= <remy@rymai.me> Date: Fri, 16 Jun 2017 09:35:00 +0000 Subject: [PATCH 247/249] Merge branch 'sh-fix-issue-33756' into 'master' Wait for all Ajax and Vue requests to complete in JavaScript tests Closes #33756 See merge request !12203 --- spec/support/wait_for_requests.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/support/wait_for_requests.rb b/spec/support/wait_for_requests.rb index 05ec9026141..1cbe609c0e0 100644 --- a/spec/support/wait_for_requests.rb +++ b/spec/support/wait_for_requests.rb @@ -7,7 +7,7 @@ module WaitForRequests def block_and_wait_for_requests_complete Gitlab::Testing::RequestBlockerMiddleware.block_requests! wait_for('pending requests complete') do - Gitlab::Testing::RequestBlockerMiddleware.num_active_requests.zero? + Gitlab::Testing::RequestBlockerMiddleware.num_active_requests.zero? && finished_all_requests? end ensure Gitlab::Testing::RequestBlockerMiddleware.allow_requests! @@ -40,13 +40,13 @@ module WaitForRequests end def finished_all_vue_resource_requests? - page.evaluate_script('window.activeVueResources || 0').zero? + Capybara.page.evaluate_script('window.activeVueResources || 0').zero? end def finished_all_ajax_requests? - return true if page.evaluate_script('typeof jQuery === "undefined"') + return true if Capybara.page.evaluate_script('typeof jQuery === "undefined"') - page.evaluate_script('jQuery.active').zero? + Capybara.page.evaluate_script('jQuery.active').zero? end def javascript_test? -- GitLab From 9b723c948ed0857c0f893b672ab11094f8be117b Mon Sep 17 00:00:00 2001 From: Joshua Lambert <joshua@gitlab.com> Date: Mon, 19 Jun 2017 00:21:19 -0400 Subject: [PATCH 248/249] Update doc for 9.3 --- doc/user/project/integrations/prometheus.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md index d3fb5916dc6..3de14d456e8 100644 --- a/doc/user/project/integrations/prometheus.md +++ b/doc/user/project/integrations/prometheus.md @@ -167,15 +167,15 @@ environment which has had a successful deployment. ## Determining the performance impact of a merge > [Introduced][ce-10408] in GitLab 9.2. +> GitLab 9.3 added the [numeric comparison](https://gitlab.com/gitlab-org/gitlab-ce/issues/27439) of the 30 minute averages. Developers can view the performance impact of their changes within the merge -request workflow. When a source branch has been deployed to an environment, a -sparkline will appear showing the average memory consumption of the app. The dot +request workflow. When a source branch has been deployed to an environment, a sparkline and numeric comparison of the average memory consumption will appear. On the sparkline, a dot indicates when the current changes were deployed, with up to 30 minutes of -performance data displayed before and after. The sparkline will be updated after +performance data displayed before and after. The comparison shows the difference between the 30 minute average before and after the deployment. This information is be updated after each commit has been deployed. -Once merged and the target branch has been redeployed, the sparkline will switch +Once merged and the target branch has been redeployed, the metrics will switch to show the new environments this revision has been deployed to. Performance data will be available for the duration it is persisted on the -- GitLab From 853accec4e2544716e3ea226fef08c02dc779947 Mon Sep 17 00:00:00 2001 From: Joshua Lambert <joshua@gitlab.com> Date: Mon, 19 Jun 2017 00:24:35 -0400 Subject: [PATCH 249/249] Update screenshot --- .../img/merge_request_performance.png | Bin 66775 -> 60194 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/user/project/integrations/img/merge_request_performance.png b/doc/user/project/integrations/img/merge_request_performance.png index 93b2626fed7868a36cec5138cc4f5f245edaa331..eba6515a6ae01a9a9d33c9522fd7db083b5ed306 100644 GIT binary patch literal 60194 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	UPuK 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 Z3-ijju^!{1H@ni^zoV^IsPgpXe*m83Y`Fjc literal 66775 zcmd43bx@p5(=UvK0Ko%+;1CEd!QDb|SrQzATQ<16ySu~UEbbCKxJy`EgR{819Fp9* zpXWWN>eTt`tM96<8b+?ZdVbwAJ=5Jqu!6h<+6#ggFfcG^Qj#A&!N4Gfz`(%sBf&kj zFy%Fh!N5KPNqrDea)RBP^EU2QK=oQ_dBjE!$P!boWKE-5)K5e~1vdP=752qJJQ|$G zczO*6ra6rt?N{mbKMI%=_Fs*Ei$2Kj+CRnTHvoyQ*2BRnS-IcM3eF90Y(Jcx*f9>B z@-O~wf{9O|$c_frn-|yGYxTb7FgD&N?PdAh^^-I{n&J%`J;StGbi*fGge`H9N1FU} z<jAR+GVu2Zr_GICSbGWpz;j15_4%)+pBh;nQ=1N;ks;XMBN7cayZQI+ZqR?%5GU|X z&wl^qMY#Tl#J`0z!S9a$S^V4kyDtj-o9I7<FzELe|0yzM{#0T9Zv+Vbq4$3y^gjuB zJ^zQ^|G|mZ;q_XJ8<Wn`FQGaUc<Ee>eDAd2K)dpkd+<SkeTONG_4B>3J6t;8-P?<~ z#kiMWEek^I{a3c%3g#XR?8m1|*R#@1=8Icc=39ufO_t=V4&|ROxwLa7Lz8Vmmz1ZV zR#z9^$*nE51KFk6E%y`3$~NcQW>Z*^#)VJ0Z0uZFNIqnLe=aVtG4f`e?|R>%c2>2} zF!J6ci(uvsx+|+pkcfROZO+kQD1G|8i_e=>k7J>{yd;@WeV-aPIWj&zKGkyV`!>@4 z<ES-nyUDm#a@ezyoWFFRKH!p)W&aAuGa>cqlVMohk$|O*&z4+ON{JhpPfarYutID? znO|AqKvhZ6gXeBS3A8^)+Jr{F@ur4Mhjh&%#j*feMC+!tgH<4Ve2FlAzeGaR%HuZq zXz6|i(ssjqCi3T}0B|kp@_ihQjpnq^<=M-<o`A=ifB>6r+CKI>R6S5f?&KB&P)^QS zEYl(*BDNcdNZ)z#Yw_4q%GhpuT=wg*_ceK%A$Z;hkqQ#dGjAti{EN*F5SPo87V#_~ zCYEy*9?P(lB*8M|BY>g+j6f!bg`kJyub1Yy>-2-{u<nr`0$E=0kZR-pFTUt4KI2}~ zs=u5|VPGlHmI;LBW4gd%VZ@wCT&6k79*6`le?(t}@0YqNmSZQ+r7*m6l*tJDTtf## zo&^#YxaaV4(SUJ*C2J1czgfmB0Au}~@f6GsaAbA6YjVUgQ!2$xpYR2@_!KH16Tu5u zQHB<-<&f;Ys_dPJj5H#x#(e8K#vD9V(ui{XK`$Z1sIKY}5Az0c{z}~_dlJ5UrcUxA z3j`^V%~ozSs--SR#wdwyySv!UOpnhBL08}FP(LgB!_ua(1lzt(^!<KD#gQkst{%eg z=)uKrYNC;sl~;I5eVXm2l-h+Ys+{z5PileTl{j%@0-a}2XOdyH!R}D?NLdH4unSGE z%`j$SmE0XYrP1>2Gma4?-BoRpR53wWCgGwY*L3G$-nFO*sCfdEwVs{;x4#nmILUaq z4e<p_)E$5!ki~wCR1EyGrVVP=IhWM*!G763^=K8a`j;+9ZR-x4-TrYUM87aKq4=HD z{NsJq&-Hk=%kmF^PLnun+%=5voX5oG2O<o`;!!H5&N@MmW*4^Q<zyma;>WFr_T5bk zUUA2XNq5z4kDn{MW$w42lP{i@80gv=sKDLjWqVJzmja9T9(Fbff)Ab3huadTt<IAm z`4=B(VE&^lP;XBLS=OK6ESy1jO#+GP&V;IoV0szfB=zKx44F#oF)Qo`H#c7i1SC6e zvZfAi?G&-f6WlZxoLL}E==bk$>_#G~OOZFm^G{VZYpEkRoxV2Zv)k9Md_!%^i{h-G zJbg*DzVED;6ao8*B{trOozs+p5j$V$+54B7M{?>a@=>qc$48{86!M_Vl-<mY>eq5% z)yoAcYVpzNTc+2vTAB0)z5)!EC;bJWgCeWd?Hyg^{>J@8;;Wl6B_ksOX5AZucM`&i zAM&YWP<sQ>A6fE4wcxdN=}l9DFM`i%NVbB}I;-!(-Wy|o-0*jv0Zz8#uLr!L7bwz8 z9$0Wsj4#X^S`PC5()bLsyo?T|eR=8o#`Fr)x1Y3KGxE$MaGHGdl#{5ul?^&D0*iHw zuL2*NmDB95V7ITzn9#C$Sk#wqeE<)qzCz{!iFF;8Wdc`I=%Wlr=jo~dM+c!hlg9?v zEtuC!ohG+jmW%V-p4}dtbqDuH>uAJY{BzE3&bGRJd8U_jjyj{H*O1aCLd})Dhf@mv ztKNq|h>lj(<#UTs-{sbp3kuhSwSw_!yP$)g(=w3q#hK<?h~A~$*2-J%yOT@TK$^n8 z>r5TL0Nl=^5E4!xi!`Arw<ArIS>tnqe3youWfes^mWVuJ`n^y>VKITJYC-rN0+Y1T zahNDq?IXY8dGpVqid+-+V5;NeD%^nfwgY=Jl(-Nz$-&rR<{RY&W8>@@P=ziM#$*I? z#qL7|Z(K5OpliPM*lKd@*9H-9o)NM_6Unu{p4<TY1Hw+l=-l`nAju6SILgds>BC-u z9|%j^-`cJXM=}w{XL1t4&3YLSGK=kebHy%P8#Htew+(H(-?uE+Y0H0elu@7AcRi|i zM5#V~>ocnOXi=`CZiKpUaE5(2dS~VsOWfhn+Tbn>YiVJY&S!Y~k*$q*HA5oOZ~WRC zK9OJO#j0(@@|8t-KEwXf+S`#=2P7Z=?n6<N-Y$*7@mZTBS}f6OIC2o&L`#j2VnPb) zF*QsAjISvR;T*gyoUunam5^6Ai1QdF&iY1@K${qbU>MwQ=wT{p;=%xw%x@;h7w7&u zMeaVcM~1~3yr{GCG_<JRpRmw?&aA4w&Ogo6p9l20VN7<W@)g)(!eCJRWb9erhPq|T z@EfvGp1~V^PadE<XQ%G&aZ?1bzDs2Fh2x4iaD;=t6fS5?SjOU_F|oF9sNaj#3%Awz zP!f!|tWd56@U_v{y7kEc=U9^udU!a=>vp1zY>lkA@^0u-ZxTIj_3k%=mR|mVTnimq z2bwL+QR9pWx(+#Ahr?cbTw?72|Dw><z65cW*dmVy4~ixP#(NbJb5<J@OuerT0vTI- zgEtM8Wq_*rt&RFmh!_&9Q&^;PA_pxa6+;fb8z~zd&C3c2>_2FRb9ri6=<@xTDS75B z>N+<wiASk)Ywe=Jxmrc8m5P2Y^kcE$Kyn%flqCtnNc@29Pk=jY=aP(osBVqc;nkP& zib}nW)C8wTtooas#?)f-0nN%Ug)<$4=x&tie=Exi`!Z~-cMxKs9`J&QvcR^&O>?qT z3NufAnUot@!2Y=7JZgr6LyOCWJ?YCNx9GGz-=6W7WYUmn0v@&0&y<sj*%I^Q^bjLW zD=K;&0mh7kSX197c=jo3o?E`j3Uf_W+@=Kvl@i|I_lmH#A#VV%QvfopH%Ll&S8IMH z8Y7g_<E<(uU2H1`6LP(eBEkBuKdr1Jkp8IZ<Ne`xg>q#;v4@6(AG;Bpba5|3-;>F6 z6L5!4Eww#d>n`<cKVH|9S`71gEVzwV-Z-5eoX@*Hx}2~IIki0AbzhV=>B81N+NhaW zF3mq&hWfTvpL#ktdNx=rYpDs`KeRsnta7*9ZF1V>qZ#8myb$8QpSdhEJ9M-g_z`M3 z6F~$x6mqui^{iky7|sG6pq(eDKJ-MiwY<`K7}HuWyZVo`F()7`Vn+*#MDq$g{A4v4 zp^OY~G9}h4-o(X3eZ&rd-_w0XTMU6@i;T0fd$*&?=<bH%pKdk`E{I|E1oBnLC8f!p zpv$%^iND3s0TfHYH)RTMiJQc2j=i{<_$YD|wpSqPuTIOOZ(_%s=jH!uY%X^rF+@Rf z_Xnf`eHWt}ht4WSo$H<Buw4Ey&6%wVz)|cAkI3Yw1gcL--_>|4II>fJVA;I(VyhRW zrG>}u8+6(RAZU!cNhTZzs{lH`(z+QOWyg85jLWz9Y*6q>b*hxCzLd6gbVz%}755U5 z-p2H6)nqoxL*MrX@Eul0eyFf&HOe4_v|@&X8FzqLzqarDi~V^;(fjGP2jvBY&}|?- zx69OCu~gH;C4vrM+3f-}uFBTgbY0Pg1`;BkONhF&yIo0dNnkoEKkUrP8_rbk?YU&8 z$rW%r?i^)CCie3x#kyC;dDm!nv$@b2NA$pJS-@;g8nz9E!Y)5*wB?zw2O=)dVO%bM zBLA<`)#;CFi|>g2#tJG%*5c}KvEAEGYM9ESCH0Hx#~~de<5cQu^~D4Sl#*51KxCb$ za9KGs-NBk2m6ilJNoZuP{?A<?1(|T1YuMFKqojsRo2YmrmK-|l^y~WdPKN+s6>KZM zB(8iRl7EeZfB-Gh-K!y<)UVaKCKDI>hd{};JJvI;-a3ZC18XxGQWR8ULgSdWWU#X0 zKnin`8Wpv;!ie!p%}z%<O+OJ#CQ-~TXSO7_!xD{@55zQ3rg!Ts_Y%c0xRNjE9Euc+ z$NXdzH1W29-gd;IA(W^cc}N|(<ZzP+q$KLAt_LM5M4E{!orW|mDT$+C8RPSsu?1!? zP<|Y1fQy`q#<|ABu35_=N-GHc@Dl25>yB+VzYP+2?m}?%@N+iw5s$z1`2OI0Kai`A zbgB9NXu$Y81aiMMaIpmGj8I_OQ{xQy;X&5Ku{LZu?0PCO%;R!13eXJsdqJoYQ~;QM z6icwM8%)_gew;>22q={Vgg)<Q(l&^GHCaOqoGg<9uwgq^i@|3{Fi39gzT{f_(9wT% z(haX#-uVuPJ|A=C6BY*0eOO>GBpHFPsAl~~ZC+tcL>Z{;<ye~jv!65~b=NK_!=>4M zrwmS&bTyli5vDH^gM4CbIGu=~9|hyw825$SJI~;VmviKJc>(71r`Ld=muFc%C|ucK zgmHu$l+%wfDw&P>vzO_|8r~l(q4Dlx5joa4Dgcz>`}f;GYf;7`aH3~=>A8FRG{oJ~ zXw2VWmq_5=;&MwO@mqM72`F))5;5}n_{0&T&Jlg5-VPP>Wsu%k1@LaAXEU-IgK(w* z)C&49)Aw{ZCn#CHi*sqbzjJ8>hg?U<I$~F83kYPR6RH~JO`bFwmbz$Ir|QXom>NyY zD{txAl>FXnRD+EDoKk6q3OJS3;Za7>%i(HT+!mCS0FDhzjFBM6Fj>{r0G*IKR|i8J zSriF?D?#y*E~l<PDioRkewu2n*?9-h<FmcDkWCnToB71U<pge%i-y?&o+tobbn!Cl z;n4H(7GW0{ec8QpewH(z*?Y#?L>!}fOSnZ$^ibh=CIp4nKQ?rPn_M&`wh>Q49%o!7 z{+@V5R8V$+lQKm`48^Q9O30Z#Ps*Sn7`V3VQeg@^L6q6n6>?VdB}!2;oi|_r>q5^S zRs~?fi&{jPAqN=TBJWR`jtGPWYGqAAR>^~*!1LH$V1HP`4+t=W8CPu5PHS2z8BJCa z;9J}yA*I1tRInNUW?TNd1lA-ZHgXISkp#k(#M=&Tmyq*2V`r$Kt;$ZvL76W!;BTqe zKp}d=dO2DMF4u11b*MPJ)hPqvI_Z>X14vu$j6Ysk1SFO(Ht9=z7r9)1m&13rKS0G7 zwOFa}8PL{zhvmY%AV4q);kxAgk6OQ10Qh>|0$AnX`c&Ab*2dvBky)1%W|(<jJnfOR z0{g}?P+&9}xt8W8aN9Kjwj0g!*i7d72$5AWDm+R-5}SU{r}rER#A7<!*iuyh$Sm2k zfV)LsLLgPj?j@iAa{Gqfh&TT2L!ss1*(No|wEzVt3g%MqqFuwSs_kc!XY&r7DJ|)f zxf|2MssW8f(7{Zgg8~v1$c?o~eH3AXGvh4&0f3Ubo5WOuCa3d4uKx63t$3H+#)|~6 zI;Kw`JO{kO_9AZAEa>}!5E!&HJB!aY;dwo%!xRS6?!47McX839Xm`EDXjE@O_)!6R zzF$OYp+%_X*<!uR)e5?hIAfn*;%$TqH9ET<ogM|W=|F0s|DI`{tlXIP2DTPlUwh3Z zJ1xAr{woa8X^%|ceC)CVwt2fFytE?R_lTOcef?BP@3nCi?miNm=lq-)>2J?#h^ON) zJjn{*J6nIX#TnxG)WWd?eEFKSiIEUKS;nfq8Fb*5f5y&TPWLH5T8y7k@F*X~*~|6* zxK8{`ro)2}C!NG#rXh4d$|CIW5{a2!2QX+XxlI;c?ByDzfKJR``)YbDr+tvxFA8*^ zJ9Td6L1j<bi7@xxMT1NW?&-jBOD)U?q@j6t<p!VPN+keA)}>H?_rdL8cN(%_*#zU_ zVtyDpxeL9|SaVKxU6ZQ+8Pv`dcGBAfZUQj-mg10d@C&q9n|kJ6JXzD#T7mb@B{~3# zzg~?@&;dCL<A-psumVFq1}ITwj)=_6`6m|k*~8Ra!$!05$&JdTDyw1DNT{ckbZ$R` zeI<RdRg~;|yD@LSid$(8iYZ}Ep9C8<3tb}?^&bl%vehwih8H(+cIGZF$3Aop$g(;m z-hKBL{HOs`)|5ddJnD;fTAEa?yyF3C{JD90Hy83J=yrBb3-|j}Ekx=o{64`<+p3x# zPxvB!;psra+lqX`AP)~)3{_%6^dNJD=PC-gpNz7yXtbx`N_p-#f%a2mp}SL%nj?Fs zi>tj<H__*|VRYmIj8ROm&x%5)q7hPim8!qI@LV6Y^luleuNFiWn*pQ{R|PcW{8lUu zm&T>V^u&hcgOSy@h;4Vk+y;r3`bUVi4Bku&LWJeF!E7!^4CuSddeMr`l{Ov4gv-Fu zi~72beUn4MM3DHu7F+-gS5qW#UhyX2*+(?$uvnU;q-uwH1*h;D0ReH6`5V-Oc*H1W zEyZ3=G;Fk(XG2Kp86SY^3F<G;M7bB`g`HCJcjP~8^Bf_nMAveQK&oU7Sl+tGZ#SN? zAF2G*ynh#*6KrtN?~@;i_xz0ECF#}MRdPnaur~T6iYOw@Pb>j6r6wqM-9P}emO^#m z%xA2+XE$wM-Aq2FtbBv2rgr5!jBdYkWQoQFZNh%{;$Dg$D<2kpPz<FY)ftgY{E9lR zQL_H?kGk#2<vIZ71IohJ@|ah3RLlp6^tn$P^;<7V`$`O=ZrP%T7hKK-Xidf=79mwb z=<4?i9|7f$?v+KGB(9NJz8)2~MM9>hZlrde0WLQ`_K()7FCUIiEwA<FiJ}h*=9h2J z2R6r4LcA^=TW_&08d_c5Z&$(}s$D6POc|;wZdZG17x|i)9U#89(1(ltMN3X~*cK0g z@W1BU$Ay3?^LaSO_Y^twBT_OG5Y;*nP@jGriDFLvU0)uTNo;4x(23IXmoOz2B;G=p zB|{r9hPzK7mQuJjn9Xtsp$ex0o=J-_PznnFu=%+SJlNP}HNWQF%J3-$&%WJ)!N;*O zqb0RZNONs_0-_TU%j8f|<hMHc6&1@NKKDuqD05EH*CLR3E~+BnI04yp(<$*V?edmG z+G1oY2CoG72&sB_$OUrWUHbm`n3_r2cYi24qCS=LABUF$Ad=&)*ZeEEg=&Mwj(|?Q z9}9kPjbj9aIWrMFbft}MN?HB+CZ-gr6~WJv<xqnIU*X`yaPMTU0%;H*gg-eq4ps8& zi8Ry{(iMUA(!Ege$W;+{t>v!tgmo`rf(|wc>lNtW$dSjcZ>Yy00n0ullo4I<pAkMK zZ52ClzC)rdeLw=`>;d6o9r?T?dg60RGy&AME*iv)P$vG%hD=v?$)BzXQxGZoUyG=? z7_}$V=x$c5NNo+nn&9};^~pK=q4VH1&z4@(<|Tpz;1IM8^%NFZta54G(luGY6BSq- zQUNS)5PKd%=PQ{eEz3mj1(uc?n`}c}-{k9D?3}az$IS$+<JhOPq&58E)^E)HxXVDK zU7D9{p;2cS^v32Da^@FfB?n3!y9nW^tEtsC!}{t3;QMS7;&gHxLq*C67Vh^`rBX{# zE6&~6qKZZi03omK?+>r#5^z7FacPd%bO@ZWbHV4q#2#+!JEd3PQ`v8#=ga(9ATz(# zOB0QK1_Evi1nBW-rzz{s3;f1R!8rh~4e~-%6~CVZGbkkyEU0+bh;1L2C(pn6ZaAXI zjn(B<qmBMolvs{z_7uy-6=MoTYI}ZbR4qlr<R)j0_~+Hngbl^2TPpT&#}URlveU|G zh6f+G1oqLud4qP)=7z*dF#6)EhzeUO|JTgV?f5Mv2wak+Uc!GIP03$ghOUTJnxr{G zrHGyD%F;6lBk-nj&p8})<c=FWp)M(>nKC>W!XupyXoo210AE){MnZQr0r!0~$9C|& z`H|b<(7ZOf_7B=Xzy<EKf+a%RBF1WiF)?7v1@Ks9zkkp((+J(yL66vWzO%M_%!sVp z+a5Pw-u4whShqTyE-hWbHa8RF^0|lq+1^eRDKtO2{I7%L$&BK`e@YZf$)81b{#fgG zvb|HZS6F21VmD|VA&^^ox_2h)tX!YL*;iH?!oLdzsK+TwY;WZihA_xQh(cqd@a%6J z;C&MF`;3vFt4jPFOi`Sx+ueq<H}mfHlA<7q!IVpWYi%Q|GU3OJxuS14exX`<*p(V* z&js?O0?5n97#p#9yng-B2sj>_FE%*_kkU*9zU-wwPG2IHlj(uPXON_9C`&NoXep;@ z4?Nhc8_7+jGQoBgqX>^sc@Ux3w<0y8AvQS`TQrU|Fx#B(Orqq1VXs=9Je`ida=BOD zu6O5{l&99qpaHe(Z%1_m=3JfmcRX%Zp{HE?q-Tm_tsbY_{q6UH&54m0+WVJi<;#ly zp1^!uZcLxtFKw(*oc5GJH)Z44otNJSH5whd5Z?H>@l0~ednj_;)9g>4u*9(&b+CW^ zv>4{0;^5%0iS~4$`0IUnGA9DzE(EYahr$J4BDMnce$EAS=_k-&3cW?z0RrNkXg<m@ zvp(&D|3nL(#w!4FKo2*<l4kTTGf*n+2%c7#i$<lvizh<=?wVve-#|SH=nm3t+EGk3 z9KpVuCd2-CK|9UDW;8x-ERzT+u3-i)))LIG??xuvA_5iuo1gnvA}Rc-A36Oz7Rj{I zZzBo^UixMy$I|R>;|Z^5h7^76EhsYfCl+hvuV|E<$9cNrm6@yO>uopY7p9b@mXWIN zKbjmeC9QGS(ZD=*U3LupeS(vdlV@>FwRX}B=@prBbR7}S-QUh6LtEXk=Y4XNN4Kwp zwf1EfAI*3bU7q4y!u)7<2XnRN^JOC=&BIOFzan8zZNCaHr#~^XF3A1wz}VmV@t=@j z(4TM_CIJ4w2mkM#k^H}UVgBC+|4&M1LC^kgl>g`8zdT+3iDv%8#wwKj&#)iZf7m1g zF^T?W2xj$9fUpZff%?1Q-}>(w*+0?0KS=y%@c---c=H>W|F^-vG5y~t1%bQ&L{$Gj z!{;}{|H$l}Mi98k@ly6P+xa>E;o`%t@0Ppsq%|qXeTEOb{uaX~DYhXF7GLG}q%i>) zTJN`RAKl(aojoq|Tt_kEC$uL&1)raur@j$O`W~%|eL3WG#N(LYWNnz&f?Bl)z+K}O zo>SkzUIE)RfTPaQ21l>Em4o&PSs+ic41Sc}4H2#TQ-IUU$z>yAa<<%{yzBZ3W3*u_ zvR5$ew%cz~5zkVq&SCndd0hnEmNk)8x15$X<`aS!?hd^>vJ~mvZeh-{P_>Yd!cYb3 zNSy4%memFF6F;la!-Tu4X%&)SP^?IzM_&c%l4(;U4g*Y0*V%b>`Q1Unjl|E+WdV*z zos44-k94Dpo@-Nw(%lmKjsMJ=G^01UY;*;R{Y0<}($Kl0-EIdW)p|~&c=4i8u?}WT zmT-=9@pxYJJhIWm&87b-;IlB-&~hdkU}Tj)v6U|=4Xw`mGrOB>+VaDO_+IA0M+VU- zsH??g^eTea=9M0_yw}4@MQ{dm^}{)1=&{Jr(GovXw!cdj5FIDoKCXN7YXuzJ34yrW zCok)bb)c+<PxBvkMdyHVcXuDXzwGP|>=9_Gc2&jqd3wjCHcrmkowFYBTP7y1+jJjV zueV&AOc(P+KG7i*uU=$5|55^`Zu#6sygYgxpZHv=@WvcQ@pFdU-k)jGJC>9k_$N{G zsm|KLWADV39>gVWynqQmg5H&%W}PQpjt-SxON-{|4&*x}jG0vbVeo9fO;By0OKTtc zLycB*Uo?GVAPV-K>00v>#^)7|0Q@!=X`oM>+%ZG6|Jm%7;O~9sem=x{a)fZQ1v8br zyV$?#3qBl-gMEGa1GM`(=w@UuQU;Ril+gEHT|NWt;173+?yiagtgTP#AsuTJe50XW zQ=??wo<Z7nw2q=9`+0WNzW%<rm~&e`bE<Bi)VwzOeAKYKZKbrga}CrV2qE-rY$|k| zm-)p;RhppYGW8Qq2FXr0mKP&e_2!g=r;p)}-q#=7HmUCuU{z)`UvGOKI0ztaThxAk zA#xzUG`R3SkfB6`iC%aHn}{e5W_ZM5z12!TlB(z9TFw;pqW>HRajFB`h~(Nv1T=at zDFWzwF%d5ZRnHB{mq~~}7`gR(*H{QH>MhcLbv3zGJa<7D^yQ(hMa%+U13^imxYhf! z$rspdIS7>pL+!gCITJPg-@II^rA_WYR(iFUTy+jy8iD9(yn@Z#wwQZ)knHE=oF=8i zn{0a54`Fe+y=!@QgTvu<qL>dKafWHv3Xz^uKO#x=z*4g2V?#+F?=v0_#whDiOMO&6 z6z9Z83<Az#NqZUa#((sENL2grW?4wqz|r2;#C{iM3fXYf48jQ|ZgK_xYqr({DFBb* zclASKP?l#3kfQ!5HUI6d_z$+(J5e%r<ggh=rs>Bhp*(q=8~s;>La#i}AeJ6ykUU)I zxJDe)NYG@YUwdG>1msNdGO4`UEbZdr-c@&vC&tGD%g++0+u|b#9Y3wk$euT0-!Jm$ z80NvP?#}yeg?Z3ZjC#C$ImD1*EaZ!Q%_j|x8=mJv*DSWJ@hmaBQPwubX85+uJC`Q7 z)ZjtK!{Oz0ZMP%4JiRnbborBh`h@scar=$-p*M_ot2ET7mPML@r~;0=_ox2n4PsN3 zM|E>2P3vy_UnZtV1=Ld-kJ3mK*-om9DkXe)1WFhtVj-tx_lCx_ZAYyLf{{pIbN;jo z=FG^ch`;xJvOWw^kf5MI!|euMncAJF$E`7Ch}4GrIhSkO+xD@L1p?sY1S~763JWKe zH09gxu?+@sIg1eM?l&3Ypv@!0yR@N3jPJ?yoX}6stezfJ4Q7}^jCt0*r!}7~+=wR1 zQ)8E?cMep4IyEEPlV_;>28ke0cL=}?sJ_2ma5A`yO>MjK8_72CR$1RP%2$q@d=l*A zexMpJHIo0EJ6XQx^79y<)syXI1!otU96I?^jhX2qjy>oy@Ax8@Q@TV&lT6fn?jh#m zy-guRW}iXxhF{vJrZy?(wcT2II>_ygqLgJk_WkbO3IDyBZvgxDj;VD3;U7{T4j;>% zj&05|S~xgfqL!kcxGpGx<WV@(ZK90|m4-f0GX=kjYjq>b*LzKz3S*D}=HbT|>g7`` z3p&ydwBs3Cwk5sgYJuzhQA};*BxyVVIkJD}^zDlp_<(SLubS;Namy6(*)@6}gxnXR z(#Z9>X6*Xxgnd3^G(1DucpHbeUJ%fOR2rcoT};xJv28;0m3%3c=BweI8#}*^xs8X7 z%Tf-~mi-ph$r<q0LkH-{CKCx_0#Mx!c%FdHDsS|UUpU{C={kiEf&f66T8XcCI;keD zq&kNep@)$hfswbx^r}Kp(YltUX9J(zYU|oASNhCIQ}!tW?-c$62Xs})10h*JJWs9( zQMsUY(Ngr(RRPh027t$&dIgOe|A<*&6dOkBaeRQiRx{PaqE0U%SW4bdL5M@jb$%wt z+MfWvRN2wx-1S7e-kUV2yoK6zzUjN#0LrHgelc>rqu}q#7>yQieeCT3JZu+VwO4Y) z=-?)LRJ(O+GQ<3yeLi|-hQTG<v(nd>OrdKVYZndrsh`tI%?L@GP6|)61o$XAG>)1# zP#FP)%Ga#?&S+K6+{#f|?Mw84<?=lZ(t_Mwo)Sgzf^((TkCwzUi;*KslQ-Hg2TJBa zpVcy(nN?5`tE?6PJ}OI;IWQ{Yh?DRqo$!B8%yD3HZPY6Bh!3d&YcjQV_9JpZ1ccfk zbe!%KDAH@S#c3aVxxB}e`-_MyU{TRdzNrD1aswsO+blI2q?mELvNMt5_(H8Lrw6c7 z8NS0ee&Y3D2#Zok{=8QC*KCE{v2ii=S|SgwD=+HD>m3Qtv8igtz*nTyo2E(tp3_|< zGU3s)jsfl0hEW%;bcPF3pBP0w9Hq;i6M*NX((@S-{60aOW2HY;uRZgGjN=4fP;D%z z#o4iavo}+W?$S?;QG%3xaZptKAYvs4tW41hFY#p%#q~!y)h|@7a+h<StF)VwFXDAd zu7i54p5us9+=pOUrOxE%?`V|HG-Z6M$~T>B@ZTq0Nzja@OmJbO;PNH3?yEyPMXW$A z-9k2(bK%?7{oVnj`&7T^AG&lnHKjzWz%4Oqqm4&hzO1}`cl{J6yPjEcf&G#<k;Loe z5it$mw3`3gNR``IFP2TSdlpv2sjld)^wOnMh2}D#5l?1Xm&)35=QK+uk)pGK4$D?+ zR&Vjy?NN@gO{JXL3~A(rV49lN$9X*_dbF$sH1iAkHbe~9jZq5_>HwsAy3e<=zP9CS zM=cA-abCEhIMF4=M&CU4t}f}fnsi=vq`B-w*>Wyaq+QUWT_48FzZO6N^iba>DY6Rv z@fFhV|9G`>MaF*5Zm)ZGQgg|%<(Jto3zO}uDW<*{`y*{9$%dbGg*wF;*OKn7@xg9M zK|nvm3=o&*%A~?p!;rJBCbfUmgf-IBF`n*f)EGEv6s8vQaM*1P*z=UQJs1i>KDNG0 zAlzpYPa+iU29?+J4}0|l)73F<y~KvkMevWl&x#9|eHUaT4NvFy77xNOFIiS{EthJ; z+ruii&c2&ZoEtog-18d8KF^8Rd2TACB^1Z(kox^-WE|1}`T`siek=z!<6EwFDvfG> zisk~&jn8glOo}h?!->oZS21WlNOO)H+{Ng}i112N4bUhk$ko2~?ci}qcx-fXuDNrx zd${ZFDet+MLJ_9VOPGK?vmNrN@}5r+qtv8GOv;l@bJjuP=;SjrZHfOF6N<d4)q_CO z9qS{~tj4%l?S3EtJ>NVy#dl!0^XidHB=75UTdxg_?X)pFtI|r`B}K&JKEmWqX~BC< zcTf|4w^p`*I?Y$_@b1b~)W(H{hvKaX?%`*R1StMxQc8k0A^P8S`0QG*5AwLPD`cCI z-DYkXtvm8ymGId1xW?>poe}1{y!avY`4{`LxAs5lHlPK!ZWi>%+Pq&w?Yv{7o!)R_ zeUQBvNN!9@MxsiH?OX?zQ~xwaimqyhigQyRkr8`PF7Ih|^|ol69r(BSo0oDlH}H)N zP08m~@zj5NaMNq4s%moN{qTPB%bRbB`s%Z%@vHIs_?HFstY2ao#y6;7Ws#KtxXJl! zZiuv524ws$8h~@9FT;A~l#)_G=%#MstTCQeHvN#ezE|d7qF}h^ITuL3THEuz5R{sU zGidMmQ3hb?UOiL??XLQdRN6f(T(t<E)N8kDq*JKAr?;oRKE4h1KxYQbYupTYC%sf! z)x!5q9fX{NjW!3_15T)%x{)J50a|EHM1s;6I4g{SjDQT@sb1{e8FGFnTUllww#1b4 zmQy1ZN%}UOV@fmN<c<g)-+70v*c5@<bCO6hG`zn)w!TX(Q0tSuKcF}hBE1`YHFq}p zNPd`dziatGgtJ3l1N2haB2YxMkOC!Ce~iKt7@hwi;!F^PTs2i`-ee%zt+WhX-B1m) z$pv7SLi3H(iACviv#lC4HKt?0IU*-^?5ZlVgLRCGxU5#3F-&~T7JgPLp6Z@Qxer#G zsh|{wE&rPwu;mGWGHBoB%I;cE8&tZFO{N4|+8cl<GCP`|y2p_FjBXV-eLi8wltD?c zUXlr*YTs}vtEZ4?=cXu-izU!ZH*T<+1&a+oKgSGH6zi`^vwf7)lI;D-zPI((JBnCN zDh2xOn%xjq7W=LHH}op|ETJM5rBvdtmOG#?y+;cWd7jBqm9hO+Bp@%6x8LTwIZjQs zSzkycY9~88%Q&Hb5s+ZZj_CD@d+v*u_UU!?+P=nFxv7*$Wp!wm;DnaFyX@SQDd#P& zNgKL>D{DC8m#<;OdmTp7nMIm>`G=RQ`KP<#_n1(EV<htO9<Dn)k<wd$c@?P#YIh%m zI-yAcvn*Y9mXp}ZE&=))5thc8lrM~2VtMP#3qZ6rx$}GREGcyTMP;TTMHrL9QEu=b zlqHX!>DRD>U!U&`7#>A5IqWi~c~0)gtX5V`@U@xwS%f=TTGze6m+WBqIw(Y-lq~|1 zXR3c~`o`e0yCq(bT##0vxVgN%`7koqLyhm5!B*!;HD35^BK;^XLBC;nP4BtM+0gZm zB=^dyo0YJC-9&DJCugCxI^Q_8{Zn*ONx=MQFJG>M&=bMftuaFy7G$gA(c{q|Keejn zfuDKk@ieoYgOHE?gm29ylab2>$_ZDJQXLzC`J+LD&=DoBhh5zuffCs~^h1iKw``I9 z;6q}0XWoxWZe@7-9<x8DWIoQZM%#YuMh{Ymz~j(C6sxW(U;jK5jwD}DXE`Bebf^HG zuo1YN$l~q865$Uqc3-JUiE6ClN6YD^aGBbUKl`Xu>U~S2Qmy8TU7_4FhzNgT2m8E1 z;wBK+paW93@-VaYLW}bKAT4n0y0zfzwt~JX9CwB-f(uNxoCs+1P<>=~^{3kjPHSeY z)wU+HoqRsqg=CG=6;tVr+vK<B+gs=Nlw5H6(mj^3^2<I+@!{WT+278=(;HACthq^Y z;^r=;F_%_lXL;I{FY)>}<MUl2t^+fVSDOp?@Iv;LKm)aw2LMk9AH|5bF)<~elSRwZ zQMQ9;QSQCh=^(N3MbQpo04_$d>}%=_7s?06Nf$u1HfK`lr45!X0Q;{Ud)E+nrk(#> z&_88oFl+A2DaI8?X}+yHnVQioUy5es#4aH(L!?Vx6}Ki{yT5WSv!Rsgr=qE(b4r#F zuSN%bv2`Psd@<dvjp<w}{ZZK&<_Y^Yx)r}uRvR0}r65ts)KX&ymtUB5A0(O~Cl-}u zbs7`in%(oIi6-NPhHAxo39aeqpv>p<Cytmiq7&7L^5g_`fTytHK5cFbh;5N_A^Ho$ zoU&cKH$R&gy_41Rj6f`Opr{-7hTXHCN4a^<t_%gU_Tp|uC56pT9$R{5-^c!Jiiu!P zhC4qPBFh%k@;tbjo!!CK?JfH|qEdde`c%iX&YGXynA9|38HF^~-BeudES!hm=@b^J zzXNaE0Rp%9aIVts3ZUmIItj@kr}S%KPC%s71B(}zr-Rpc;S$dM#R}zqi%}-!r~0GX z7T4p!XWGcpOnWX}9#$mlz&-~A@)_+-<Hn28=Kb#@ng6;;Pi8H`uY_uKZa^&tqmO89 zoB}tcSgy3eYfNWC3!f{6(b;p0H=sz$m55$Q5=ivbUt7LH8jT#AXA(f(vbA?7>})&X z#H#~a;@p$q(}UP*WOA)Vr~2+mgAQr{TgTMEgIt<C#tG!8aG|koGlr?!m3Df51VdZ? zu(#5Da3=|mmJEjlo|l=eI6$F{V>kjk*YW~!-o!s;YHx-?a|s>pR&vS^Y;@5`j9T-2 zozi=uS6zL#=Zl2vJV}w5CBya63HudpS>kd1{?SQ|?b3Dnh}be$yev-2Vul01=I%2t zDmVW&6ZkSy)D!k;P3FwJ2%QTtp<Xfoeaj_vRh9Dwcce7cZD29^^|x3*e_i86s<3@q ze3|dP<`+G_QN6zI3^%wbEv3fxka?8e+fmZd%REa#N>pJ)M4tIaHb#c%gJY{774pbD z_MBfWg+mV$!Gz4hpO{CL7X@A~HTHfsx^EX4ZH>rC=l>V+0f<oX(6>m4PTMPFf6*)w z@n0tY0Iv{UbP%HV;YAfzwn?P}t)U5Z5H4?KmzJ-O{_!A0x2IKYtodqD*T9{deV#qL zVG-@wU`bN%$WkE1?v>R+B_T&$&CN>CoEkXo<ZMvJ`9|;D3nr{2=QN)4k#H9#DC}XX zdeVj*D^$GW^0nQ-*{;W%W2Jmb5%)01b#F-q5N(_iyxBExUo0UnI@SWw%L<G<%-vB+ z(>TbYz_6Kq5UnITETQE4zKbWsX_}wRmd?CQAEYh|hc)<%?v}5^0<Dwh%<J>gUQewY znS<lDj%61;)50~`6mJiojCxvtCMLhugqkRN3`#pj<KAs(EW|zK2i&;h>t|kP!y+Gt z0<T@Yd2$xk9tQKB-8R!e>YMU{6h7}4xvBJs8vHwPLuEB4H(FKQ)LM{#EVoiX6Tu?- z=saYYx3;nW2{Jl2UPbCO045&KJs-K?j%X(`<!ptEZQEpszcug^L$}@pi{z7WmRbpf zy0gC9U<%}pSLV&o20iCe6Lx?e!PhyhE)ztT;(f=P1uQPS1go48aLY;74S8jq@)jk9 zR-s|XsD87P<w(?>@3D=MyW*o!a!2RV1?Ng?<!0n}VBfXE1uL+|NTG#VTc({q0Y&M& zb-=e&hj!i@WrHmo#E({`rNo+rEbg>>tb_MB6?A9W;`ap7f(_>VGa*YIP(T`+p5ivr zI<#|kP}MNuCu5q3bBf2;&!*};K5*n{?DUi3seYC9<FO53!l7a|)uqpG@!@;-WsHa- z*2fq0@6k(A1)X_$gm|=!NuC@nLM1gq63+jIP2#|&^A<5^PMn*H1tO^=@|szQ_CHnX z#GhH<3hZycy&+#0t>EYrOD%%RX`#HYC$e!pVQ(WuO`Dpx(o0Dv=lu+-t5?~U>N6Sc za6VUCj|anNgZDpm#Qs!+VuN#zWeXW5al|HT^7X#z^Qvvx59Lz@cgxa|97_lJPVy!c z(tct|4DNkH0?8hj7tzHK^(p1{ozD`kI#EiFGVZW1$!uIT=fbepc=N$Fl_MtKm?9b+ z7z)}no!9jwyMB&2j3XWMSy4$DlA2$bcYji||Mjx{K;3`EQs7~C)my&#_jz-K#{lEk z-ulULlk~~kK;6cVhHpI6M(z#!;Xd*`NYGi(HrY1k!5aqk$yi|dzC;^*K?$!{PAkql zbA1p?g$(Z@aIS)up<NcH*ujb1xiANEoqaMdCORd}Dh_5lvPQ@@=DuA+l`Sh<RR75+ zIXOFq_AfHGd7VM{Uz{J!u~UNbl@$>MYx(zInh4a1>OZ5i>(|BjYL8S;1vqVLUp@O` zFs!yX=R7ruwV6T7N0`c2tl1R5)DsX%H-9E;F#N@xe=P>we>|cT#P7~JAL^K@#fLoo zSr;JmT$~Dyr2-WG43aJ1Jfo2`f)el&r&C@Nb|zm%QbBVY>j53k70K`-8#&mjUckkj zE2pvO#Q`3|FcscJ70a>&e*aa?2|Hju;L3ouq0E{xXZE3^`7+vM@Y|O<@#o&nM0fQh zkM_sMU#<_gac)Axb*zVHxPE+s)u6rSwb#A#$j-Psso8RSk^cc>*shCE+nvIB&N)8t zZe$|_zrw+5A+03UY=a;n{%0(R^n>1EJLcZ7cvR(L<3iu@0pt>Wr7M+xeRe9?vi#?5 zynEb#t=yFM<v!2d;X^EW^+XTW%fpAk^6DdY!OzAR8XT~KrToJYdVA~HM}^O=3qeHb z+9_Y<@*i;)TREIlAmLU;fK9D%T}vySE=9Pben?kxDik5JWd=E7@%cTktgW}OG2fS4 z=_{NR`ZC_Gz_{QWJMF=-N!yx;<<~VbefavoGN5hdF!9^xdRGg?&o0PtU9HdJsHvs6 z<ya==tcgOMlr8&g<%B}slYB*Y=2anT;2(z6kw18`Rc3P*a7eUhuyw~(V}2DFJ96j` zFD1E{T5DrM*KR8wqdhD4yth55*AAHcg(0Ii?>lXwAEPT9z?Qfqq$RgnMc*c}tU0bY z@F*QXk5Kqnd5~Nr?VzJ9*tREGRWM(Jjou}tMGLk>y#m$%sr>YGNWrw%O=#8@D(?ZI zy7M|+Vk8Zpv(atl9Dw}wcV_aVT?;I%&0kENJKDYx6)E=G`7*hT;7rgbHT*y~fM1Uu zbwnlsmihd3js!U~%^UCWd_D&3yodx_<*?Mh8v#¬~i(9e`ktY?3$|E$6`1)W=5g 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 XnoW2Y>Jm^yszB<Mym-FYyN~||4Osb} -- GitLab