summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | Fix up all the decisions in the YML file.Connor Shea2016-06-061-115/+96
| | | | | | | | | |
| * | | | | | | | | Add gems and licenses that were previously missing. Approve a number of ↵Connor Shea2016-06-062-8/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | licenses after a bunch of research today.
| * | | | | | | | | Add some gems' licenses not caught by License Finder.Connor Shea2016-06-063-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add License Finder to CI (only runs on master).
| * | | | | | | | | Add License Finder gem.Connor Shea2016-06-062-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to rehost all our gems in our own gem host, we need to have the legal rights to do so for every gem should they be taken down from RubyGems. License Finder automates checking of gems to ensure that we're in the clear legally. Approved the MIT License because it essentially allows us to do "whatever" with those gems. I am not a lawyer. https://github.com/pivotal/LicenseFinder
* | | | | | | | | | Merge branch 'colorize-db-seed' into 'master' Rémy Coutable2016-06-072-7/+7
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix missed colorize methods. Fix #18250. cc: @twk3 See merge request !4495
| * | | | | | | | | | Fix missed colorize methods.Connor Shea2016-06-062-7/+7
| | | | | | | | | | |
* | | | | | | | | | | Merge branch 'bump-rouge' into 'master' Stan Hu2016-06-073-3/+4
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump rouge to 1.11.0 See: https://github.com/jneen/rouge/blob/master/CHANGELOG.md See merge request !4491
| * | | | | | | | | | | Bump rouge to 1.11.0Stan Hu2016-06-063-3/+4
|/ / / / / / / / / / /
* | | | | | | | | | | Merge branch '18254-use-better_errors-editor-links-in-sherlock' into 'master' Robert Speicher2016-06-072-3/+11
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use better_errors editor links in sherlock Closes #18254. Uses the same editor configuration of `better_errors` so that you don't have to configure things twice. Remember to have a custom initializer that specifies your editor. Example for atom. File `config/initializers/better_errors.rb`: ````ruby if defined?(BetterErrors) BetterErrors.editor = "atm://open?url=file://%{file}&line=%{line}" end ```` See merge request !4497
| * | | | | | | | | | Use better_errors editor links in sherlock18254-use-better_errors-editor-links-in-sherlockAlejandro Rodríguez2016-06-062-3/+11
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remember to configure your `better_errors` editor to point to your program of preference
* | | | | | | | | | Merge branch 'wiki-bottom-padding' into 'master' Jacob Schatz2016-06-061-1/+1
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add padding to bottom of wiki page, fix #12921. ## What does this MR do? Adds padding to the bottom of the wiki page so it's not right up against the edge of the browser window. ## What are the relevant issue numbers? #12921 ## Screenshots (if relevant) Before: ![Screen_Shot_2016-06-06_at_12.21.22_PM](/uploads/9710682a57f5e521253f17a65f896f4d/Screen_Shot_2016-06-06_at_12.21.22_PM.png) After: ![Screen_Shot_2016-06-06_at_12.20.50_PM](/uploads/002068b072050e0f8146757a0386d30f/Screen_Shot_2016-06-06_at_12.20.50_PM.png) cc: @jschatz1 See merge request !4490
| * | | | | | | | | Add padding to bottom of wiki page, fix #12921.Connor Shea2016-06-061-1/+1
| | |_|_|_|_|_|_|/ | |/| | | | | | |
* | | | | | | | | Merge branch 'issue_3359' into 'master' Yorick Peterse2016-06-065-6/+30
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicated notification settings and add unique index See merge request !4472
| * | | | | | | | | change add_concurrent_index function argumentsissue_3359Felipe Artur2016-06-062-10/+13
| | | | | | | | | |
| * | | | | | | | | Add index to notification settingsFelipe Artur2016-06-034-1/+22
| | |_|_|_|/ / / / | |/| | | | | | |
* | | | | | | | | Merge branch 'activity-links' into 'master' Jacob Schatz2016-06-061-3/+7
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed issue with activity links not being consistent ## What does this MR do? Previously, links for opening an issue/merge request & commenting where different. Opening would only have a link on the number whereas commenting would have link on the text as well. This standardises it to include the type as well (ie. issue) ## What are the relevant issue numbers? Closes #17621 ## Screenshots (if relevant) ![Screen_Shot_2016-06-01_at_12.12.09](/uploads/c778b007e6b6c068fcae30e34409ce98/Screen_Shot_2016-06-01_at_12.12.09.png) See merge request !4400
| * | | | | | | | | Fixed issue with activity links not being consistentactivity-linksPhil Hughes2016-06-021-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #17621
* | | | | | | | | | Merge branch 'edit-mobile' into 'master' Jacob Schatz2016-06-063-9/+26
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shows the edit comment button on mobile ## What does this MR do? Shows the edit comment button on mobile. ## What are the relevant issue numbers? Closes #17214 ## Screenshots (if relevant) ![Screen_Shot_2016-06-01_at_12.33.13](/uploads/d46b800c175a53821ea8e8af49c07641/Screen_Shot_2016-06-01_at_12.33.13.png) See merge request !4402
| * | | | | | | | | | Shows the edit comment button on mobileedit-mobilePhil Hughes2016-06-023-9/+26
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #17214
* | | | | | | | | | Merge branch ↵Jacob Schatz2016-06-067-70/+1
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '18026-consider-removing-issue-merge-request-previous-next-buttons' into 'master' Remove prev/next buttons on issues and merge requests ## What does this MR do? Remove prev/next buttons on issues and merge requests sidebar ## Are there points in the code the reviewer needs to double check? No ## Why was this MR needed? The buttons were rarely used and added at least 1 query each on every page load which we could live without. ## What are the relevant issue numbers? #18026 ## Screenshots (if relevant) Below is how it looks. Not sure if it's too much empty space. #17697 discusses a possible substitute for what to put there. ![Captura_de_pantalla_2016-06-06_a_las_11.09.26_a.m.](/uploads/7b379327aa6c608775f99bf47a9c3352/Captura_de_pantalla_2016-06-06_a_las_11.09.26_a.m..png) ![Captura_de_pantalla_2016-06-06_a_las_11.09.38_a.m.](/uploads/68bcae6754ed5ac48f1a6925fdd17d3f/Captura_de_pantalla_2016-06-06_a_las_11.09.38_a.m..png) See merge request !4442
| * | | | | | | | | | Remove prev/next buttons on issues and merge requests18026-consider-removing-issue-merge-request-previous-next-buttonsAlejandro Rodríguez2016-06-067-70/+1
| | |_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | The buttons were rarely used and added at least 1 query each on every page load.
* | | | | | | | | | Merge branch 'confidential-issue-notice' into 'master' Jacob Schatz2016-06-063-0/+40
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add confidential issue notice in comment box. ## What does this MR do? Adds a warning about confidential issues to the comment field when the issue is confidential. ## Are there points in the code the reviewer needs to double check? I don't think so. ## Why was this MR needed? It wasn't clear to users that they were commenting on a confidential issue, this makes it more explicit. ## What are the relevant issue numbers? Fixes #15288 ## Screenshots (if relevant) This is what it looks like at various screen sizes: ![Screen_Shot_2016-06-03_at_2.56.54_PM](/uploads/eb7f318bc19101f8514d7a4f10a77d73/Screen_Shot_2016-06-03_at_2.56.54_PM.png) ![Screen_Shot_2016-06-03_at_2.58.51_PM](/uploads/13674c3f1227b0d566b1d2aafc6712ed/Screen_Shot_2016-06-03_at_2.58.51_PM.png) ![Screen_Shot_2016-06-03_at_2.58.37_PM](/uploads/14ad419ed3ed86b7fbc080152e4030fa/Screen_Shot_2016-06-03_at_2.58.37_PM.png) cc: @jschatz1 @dzaporozhets See merge request !4473
| * | | | | | | | | Fix error on non-issue pages with comment areas.Connor Shea2016-06-051-1/+1
| | | | | | | | | |
| * | | | | | | | | Add Changelog entry.Connor Shea2016-06-031-0/+1
| | | | | | | | | |
| * | | | | | | | | Add confidential issue notice in comment box.Connor Shea2016-06-032-0/+39
| | | | | | | | | |
* | | | | | | | | | Merge branch 'notes-are-awardables' into 'master' Douwe Maan2016-06-0622-136/+1501
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes are awardables ## What does this MR do? Makes sure we can :thunder_cloud_rain: comments/notes. ## What are the relevant issue numbers? Follows up upon !2901, depends on !3785 Closes #3655 ## Screenshots (if relevant) TODO See merge request !4291
| * | | | | | | | | Updated MR notes.notes-are-awardablesFatih Acet2016-06-066-22/+21
| | | | | | | | | |
| * | | | | | | | | Update tests on wordingZ.J. van de Weg2016-06-061-2/+2
| | | | | | | | | |
| * | | | | | | | | Fix scss-lint.Fatih Acet2016-06-061-1/+1
| | | | | | | | | |
| * | | | | | | | | Added tests for award emoji feature.Fatih Acet2016-06-068-24/+1235
| | | | | | | | | |
| * | | | | | | | | Create and show emoji loader on the fly.Fatih Acet2016-06-062-6/+21
| | | | | | | | | |
| * | | | | | | | | Some design related tweaks.Fatih Acet2016-06-066-7/+24
| | | | | | | | | |
| * | | | | | | | | Be consistent on naming.Fatih Acet2016-06-061-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was named as $emojiBtn before I was using $emojiButton so updated them to be consistent.
| * | | | | | | | | Animate emoji when rendered.Fatih Acet2016-06-061-1/+12
| | | | | | | | | |
| * | | | | | | | | Fix mutual exclusivity for emoji only comments.Fatih Acet2016-06-061-1/+4
| | | | | | | | | |
| * | | | | | | | | Refactor awardsHandler methods to work with votesBlock.Fatih Acet2016-06-062-35/+36
| | | | | | | | | |
| * | | | | | | | | Award emoji implementation for notes.Fatih Acet2016-06-063-65/+92
| | | | | | | | | |
| * | | | | | | | | Show emoji menu in notes.Fatih Acet2016-06-063-3/+25
| | | | | | | | | |
| * | | | | | | | | Backend awardables on commentsZJ van de Weg2016-06-066-2/+61
| | |_|_|_|_|_|/ / | |/| | | | | | |
* | | | | | | | | Merge branch 'tests/extend-specs-for-build-badge' into 'master' Rémy Coutable2016-06-061-3/+23
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend specs for builds badge ## What does this MR do? This MR extends specs for builds badge. ## Why was this MR needed? We added an edge case to specs, while trying to reproduce problem described in #17549 ## What are the relevant issue numbers? #17549 See merge request !4401
| * | | | | | | | Extend specs for builds badgetests/extend-specs-for-build-badgeGrzegorz Bizon2016-06-031-3/+23
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | Related to #17549
* | | | | | | | Merge branch 'jquery2' into 'master' Jacob Schatz2016-06-068-18/+274
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgraded jQuery to version 2 ## What does this MR do? Upgrades jQuery to 2.2.1. Had to include the task_list JS file directly as it includes jQuery 1 directly https://github.com/github-archive/task_list/blob/master/app/assets/javascripts/task_list.coffee#L8 so when we change jQuery to `jquery2` it was including both jQuery 1 & 2. ## Are there points in the code the reviewer needs to double check? For any JS errors ## What are the relevant issue numbers? Closes #12440 See merge request !4384
| * | | | | | | Fixed JS errorsjquery2Phil Hughes2016-06-056-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CHANGELOG item
| * | | | | | | Upgraded jQuery to version 2Phil Hughes2016-06-052-1/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #12440
* | | | | | | | Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ceDmitriy Zaporozhets2016-06-0649-146/+1889
|\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch '15337-yubikey-support' into 'master' Rémy Coutable2016-06-0649-146/+1889
| |\ \ \ \ \ \ \ \ | | |_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow a U2F Device to be the Second Factor for Authentication Parent Issue: #15337 ## TODO - [ ] #15337 (!3905) FIDO/U2F 2FA using Yubikey - [x] Order a Yubikey? - [x] Do some reading to figure out what all this stuff means - [x] Look through the existing MR - [x] Browser support? - [x] Implementation - [x] User can register 2FA using their U2H device instead of authenticator - [x] Barebones flow - [x] Save the registration in the database - [x] Authentication flow - [x] First try after login/server start doesn't work - [x] User can log in using their U2F device - [x] Allow setting up authenticator if U2F is already set up (or vice versa) - [x] Change `two_factor_auths/new` to `show` - [x] `sign_requests` during registration? (Registering a device that has already been registered) - [x] 2FA skippable flow? - [x] Enforced 2FA flow (grace period?) - [x] Move the "Configure it Later" button to the right place - [x] Don't allow registration when the yubikey isn't plugged in - [x] Polish authentication flow - [x] Login should only show the 2FA method that's enabled - [x] Message to say that u2f only works on chrome, and it's recommended to enable otp as well. - [x] Index for key_handle - [x] Server-side errors while registering/logging in - [x] Handle non-chrome browsers - [x] Try to authenticate with a key that hasn't been registered (shouldn't work) - [x] Try the same key for multiple user accounts (should work) - [x] Fix existing tests - [x] Make sure CI is green - [x] Add tests - [x] Figure out how to fake the Yubikey - [x] Teaspoon tests for the React components - [x] Each device can only be registered once per user - [x] Feature specs - [x] Regular flows - [x] Test error cases - [x] Refactoring - [x] Refactor App ID - [x] Clean up the `show` action - [x] Annotate methods with definition of U2F - [x] Changelog - [x] Fix merge conflicts - [x] Verify flows - [x] Authenticator + no U2F - [x] U2F + no authenticator - [x] U2F + authenticator - [x] U2F + authenticator -> disable 2FA - [x] 2FA required with different grace periods - [x] Screenshots for MR - [x] Augment the [help docs](http://localhost:3000/help/profile/two_factor_authentication) - [x] Assign to endboss - [x] Ask for feedback on UI/UX - [x] Ask for feedback on copy - [x] Wait for review/merge - [x] Fix merge conflicts - [x] Wait for CI to pass - [x] Implement review comments/suggestions - [x] Move `TwoFactorAuthController#create_u2f` to a service - [x] Extra space before `Base64` in `u2f_registration` model - [x] Move `with/without_two_factor` scopes to class methods - [x] In `profiles/accounts/show`, add spaces at `{` and `}` - [x] Remove blank lines in `profiles/two_factor_auths/show` - [x] Fix typo in doc. "(universal 2nd factor )" - [x] Add "Added in 8.8" to doc - [x] In the doc, use 'Enable 2FA via mobile application' instead of 'Via Mobile Application' - [x] In the doc, use 'Enable 2FA via U2F device' instead of 'Via U2F Device - [x] Use "Two-Factor Authentication" everywhere - [x] Use `#icon` wrapper instead of `fa_stacked_icon` - [x] Check if `string` is enough for `key_handle` and `public_key` - [x] Separate `exercise` and `verify` phases of test (u2f_spec) - [x] Assert that `user_without_2fa` is _not_ in results (with_two_factor) - [x] Remove rubocop exception - [x] Refactor call to `User.with_two_factor.count` to not include `.length` - [x] Add a note that makes the "Disable" button/feature obvious - [x] Remove i18n - [x] Test in Firefox with addon (+ create new issue for support) - [x] Remove React - [x] Rewrite registration - [x] Switch underscore template to default style - [x] Rewrite authentication - [x] Move `register` haml to `u2f` dir - [x] Remove instance variables - [x] Fix tests - [x] Read SCSS guidelines - [x] Address @connorshea's comments regarding text style - [x] Make sure all classes and IDs are in line (add `js-` prefixes) - [x] Register - [x] Authenticate - [x] Refactoring? - [x] Include non-minifed version of bowser - [x] Audit log - [x] Look at the `browser` gem (and don't use bowser) - [x] Error message when on HTTP? - [x] Test on Mobile - [x] Fix merge conflicts - [x] Retest all flows - [x] Back to Rémy for review - [x] Make sure CI is green - [x] Wait for merge / more feedback - [x] Implement @rymai's changes - [x] JS/Coffeescript variables should be lowerCamelCase - [x] Spaces before/after `}` and `{` in HAML (and elsewhere) - [x] Rails view helpers in u2f HAML - [x] `%div.row.append-bottom-10` - [x] Wrap line in `without_two_factor` scope - [x] Exception-less flow in `U2F::CreateService` - [x] Fix merge conflicts - [x] Move service to model class method - [x] Fix teaspoon specs - [x] Address @rymai's suggestions about error handing - [x] Javascript error constants - [x] Fix merge conflicts - [x] One final review - [x] Test "registration with errors" flow - [x] Assign to Remy - [x] Wait for replies from @jschatz1 - [x] Address @rymai's comments - [x] Omit `%div` - [x] Scope `$.find` globally - [x] Replace `find('#element-id).click` with `click_on('Element Text') - [x] Rebase master + conflicts - [x] Look at https://news.ycombinator.com/item?id=11690774 - [x] Address @connorshea's comment regarding HTTPS on localhost - [x] Final sanity check - [x] Wait for [CI to pass](https://gitlab.com/gitlab-org/gitlab-ce/commit/c84179ad233529c33ee6ba8491cfea862c6cd864/builds) - [x] Address @rymai's next round of comments - [x] Interpolate `true` and `false` in DB scopes - [x] Why have `Gon::Base.render_data` thrice? - [x] `user_spec` should have correct spacing - [x] Use `arel_table[:id]` instead of `users.id` - [x] URL helper in `app/views/profiles/two_factor_auths/show.html.haml` - [x] Remove polyfill change - [x] Wait for [CI to pass](https://gitlab.com/gitlab-org/gitlab-ce/commit/0123ab8/builds) - [x] Address @jschatz1's comments - [x] Use `on('click', ...)` instead of `click(...)` - [x] Use `is` and `isnt` in coffeescript - [x] Use `and` and `or` in coffeescript - [x] Add `Gon::Base.render_data` to `devise_empty` (and other base layouts) - [x] Wait for [CI to pass](https://gitlab.com/gitlab-org/gitlab-ce/commit/401916397336174c582be3d3004a072f845d4b5f/builds) - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/75955710ef9a5f0dcee04e8617028c0e3ea5bf50/builds) to pass - [x] Fix merge conflicts - [x] Inspect diff / workflow - [x] Assign back to @rymai - [x] Make sure [ci](https://gitlab.com/gitlab-org/gitlab-ce/commit/2c6316b29a9276ef44c7b4b39363a611bf5973a6/builds) has passed - [x] Fix merge conflicts (probably introduced by [devise upgrade](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4216) - [x] Wait for [CI](https://gitlab.com/gitlab-org/gitlab-ce/commit/a5ef48b7aa63d0d9e45b41643043b57208eaab9f/builds) to pass - [x] Respond to @rymai's comments - [x] Use `elsif` - [x] Check if we need `and return` - [x] Only fetch key handles from the DB - [x] No annotations to models? - [x] Align hash keys in model - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/e0ef504734e7f14813c73bbb79f5c5f6fae3248c/builds) to pass - [ ] Wait for merge ## Screenshots ![Screenshot_2016-05-03_09.53.04](/uploads/1af3f277efa488dc107d36e6b4b07ca4/Screenshot_2016-05-03_09.53.04.png) ![Screenshot_2016-05-03_10.19.53](/uploads/2bfc67dfb96c0e005cce033d8b456813/Screenshot_2016-05-03_10.19.53.png) ![Screenshot_2016-05-03_10.19.56](/uploads/e912abedd5b1d07d7185cee9f204c5ff/Screenshot_2016-05-03_10.19.56.png) ![Screenshot_2016-05-03_10.20.04](/uploads/9350d5c98823d1f3d4e59517dfb8910a/Screenshot_2016-05-03_10.20.04.png) ![Screenshot_2016-05-03_10.31.15](/uploads/84473dc263e0643311a39006e649035f/Screenshot_2016-05-03_10.31.15.png) ![Screenshot_2016-05-03_10.31.22](/uploads/13ce43e0d7a565000af29984667eeb08/Screenshot_2016-05-03_10.31.22.png) ![Screenshot_2016-05-03_10.31.37](/uploads/b90fbb40dbf9bbd73af324f48ffdc948/Screenshot_2016-05-03_10.31.37.png) ![Screenshot_2016-05-03_10.36.48](/uploads/41a0fbc493c6fefeafd922b3ddf2a25e/Screenshot_2016-05-03_10.36.48.png) See merge request !3905
| | * | | | | | | Add the U2F feature to the CHANGELOG15337-yubikey-supportTimothy Andrew2016-06-061-0/+1
| | | | | | | | |
| | * | | | | | | Add documentation for U2F registration & authentication.Timothy Andrew2016-06-063-6/+57
| | | | | | | | |
| | * | | | | | | Add feature specs covering U2F registration and authentication.Timothy Andrew2016-06-062-0/+275
| | | | | | | | |
| | * | | | | | | Add a U2F-specific audit log entry after logging in.Timothy Andrew2016-06-062-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - "two-factor" for OTP-based 2FA - "two-factor-via-u2f-device" for U2F-based 2FA - "standard" for non-2FA login