Add shortcut to toggle markdown preview
Allow to toggle markdown preview with shortcut `ctrl+shift+p` (`cmd+shift+p` on OSX).
- If the user is focused on a md textarea, `ctrl-shift-p` will show the preview, otherwise native browser event is fired
- The textarea is re-focused after disabling the preview tab
- Results of markdown render is cached for fast toggles
I'm on linux, so if someone can test it on OS X, it would be great!
Closes#14038
See merge request !3111
Add a `gemojione:sprite` Rake task
This task will generate a standard and Retina sprite of all of the
current Gemojione Emojis, with the accompanying SCSS map.
It will not appear in `rake -T` output, and the dependent gems are not
included in the Gemfile by default, because this task will only be
needed occasionally.
See merge request !3130
This task will generate a standard and Retina sprite of all of the
current Gemojione Emojis, with the accompanying SCSS map.
It will not appear in `rake -T` output, and the dependent gems are not
included in the Gemfile by default, because this task will only be
needed occasionally.
[ci skip]
Commit limits
Prevent timeouts when creating/viewing Merge Requests with many
commits. Also, reduce the number of commits shown in the UI from 500
to 100.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/14031
This MR avoids Unicorn timeouts in some places and takes 4.5 seconds
off load times in others, when manually testing with a 4500-commit
compare/MR in the linux repo. It does not limit the number of Commit
objects instantiated in memory, just the amount of HTML generated. It
seems that having 4500 commits objects is not a problem in itself. If
it ever becomes one we could do something for Commit objects like we
did for Diff (introduce a CommitCollection or something).
See merge request !3095
Use dedicated methods for counting branches and tags
This started out as "Lets add two methods to count and cache some data" and ended up in a clean-up/fix of some existing code. The two problems were:
1. Different code was used for adding/removing branches/tags via Git and the UI
2. The code used for the UI didn't have any RSpec tests, and I couldn't find any Spinach tests either (though grepping for Spinach stuff is hard)
This MR addresses the following:
1. `Repository#branch_count` and `Repository#tag_count` are used to count and cache the number of branches/tags, these methods are then used on the branches/commits/tags pages.
2. `Repository#add_tag`, `Repository#add_branch`, `Repository#rm_tag` and `Repository#rm_branch` now all the appropriate before/after hook methods instead of calling a random single cache expiration method. This ensures caches are properly flushed when adding/removing tags/branches via the UI.
3. RSpec tests were added for the above methods.
This fixes gitlab-org/gitlab-ce#13459
See merge request !3128