Add new service classes to create and update project and personal
snippets. These classes are responsible for enforcing restricted
visibility settings for non-admin users.
Automatically link commit ranges to compare page.
Closes#2103
Implemented as proposed in the last paragraph of the issue:
> We could do something similar to Ruby, where `1..5` means `1,2,3,4,5` and `1...5` means `1,2,3,4`: `..` means inclusive, `...` means exclusive. In our case, `sha1...sha4` would mean `sha2,sha3,sha4` (exclusive with regards to `sha1`) and `sha1..sha4` would mean `sha1^...sha4`, i.e. `sha1,sha2,sha3,sha4` (inclusive to `sha1`).
- `sha1...sha4` now links to `compare/sha1...sha4`
- `sha1..sha4` now links to `compare/sha1^...sha4`.
See merge request !1649
GitLab UI development kit and UI guide help section
Page with UI elements get generated from current css so you can immediately check how your css changes affects common ui elements. Because it requires GitLab runnning I cannot put it to documentation so I just put link to localhost from development section
cc @developers @sabba @sytse
See merge request !1653
Reduce amount of custom css and increase usage of default bootstrap
* Copy variables template file for configuring bootstrap variables
* Move layout and bootstrap to `base/` directory and explicitly set import order
* Apply some styles from flatly theme
* Replace bs-callout with alert
* Refactor gitlab css state colors
* Cleanup css variables
* Remove custom css for panels and navs
See merge request !1651
Fix editor in IE producing errors #1096
IE seems to handle form submission oddly. It gets fired twice - once from javascript and once from the form click, producing 2 identical requests and causing #1096.
Similar issues: http://stackoverflow.com/questions/14373800
Returning false from the click event seems to fix it and shouldn't cause any side-effects.
See merge request !366
Add tag push notifications to HipChat and Slack messages and normalize output of messages to be consistent
Add tag_push event notification to HipChat and Slack services.
For each service, normalize message output to use:
- User name instead of username
- Include first line of title in message description
- Link to "Issue #X" instead of "#X"
See merge request !370
Ruby str_equal uses memcmp internally to compare String.
Memcmp is vunerable to timing attacks because it returns early
on mismatch (on most x32 platforms memcmp uses a bytewise comparision).
Devise.secure_compare implements a constant time comparision instead.