1. We now display the index of the current issuable among all its project's
issuables, of the same type and with the same state.
2. Also, refactored a bit the Issuable helpers into a new IssuablesHelper
module.
3. Added acceptance specs for the sidebar counter.
Fix duplicate "me" in tooltip of the "thumbsup" awards Emoji
Steps to reproduce:
1. Go to a MR or issue
2. Click on "thumbsup" Emoji 3 times
3. Observe the tooltip becomes "me, me"
Closes#13374, #12788
See merge request !2804
Fix relative links in other markup formats
_Originally opened at !1845 by @ben.boeckel._
- - -
The RelativeLinkFilter was not applied to other document formats, e.g.,
reStructuredText, so links from the Files view or the Project view did
not work.
Fixes#3533.
See merge request !2798
Fix duplicated branch creation/deletion Web hooks/service notifications when using Web UI
Similar to 423d2d6, except duplicates occurred only if a Web service (e.g. Slack) were
configured.
When deleting a branch, this is what was happening:
1. DeleteBranchService calls execute_hooks and execute_services
2. The call to repository.rm_branch triggers the GitHooksService.
3. This, in turn, calls GitPushService and then calls the same hooks/services again.
5145706 now makes it no longer necessary for DeleteBranchService and CreateBranchService to execute
the branch hooks/services. Note that tags behave differently in GitTagPushService and GitPushService
is not called.
Closes#10330
See merge request !2763
Don't try to mark broken MR as mergable
In case merge request is broken, we shouldn't check if the sha
is mergable, as it will be null, and there's no point, as we know
that it's not mergable.
See merge request !2783
- Apply the RelativeLinkFilter filter to other formats, e.g.,
reStructuredText so links from the Files view or the Project view work
- Remove the AsciidocPipeline pipeline
Fixes#3533.
Fix milestone order in project and issue edit lists to due_date
_Originally opened at !2579 by @olirogers._
- - -
This MR orders the milestones by due date (earliest first) in the project and edit issue view. These suggestions were made be @orih in #6001 and fixes#6001.
This continues the work of !1934 to order milestones.
I found this annoying when creating milestones, found #6001 but no attached MR. This is my first for this project - comments and criticisms welcome.
See merge request !2780
Validate email addresses using Devise.email_regexp
Also:
- Get rid of legacy `:strict_mode`
- Get rid of custom `:email` validator
- Add some shared examples to spec emails validation
This supersedes !2754 and fixes#3851.
See merge request !2771
In case merge request is broken, we shouldn't check if the sha
is mergable, as it will be null, and there's no point, as we know
that it's not mergable.
Replaces "Create merge request" link with one to the MR when one exists
Fixes#3716
* Without MR:

* With MR:

* Without MR:

* With MR:

* Without MR:

* With MR:

See merge request !2670
Prevent rasterization artifacts in the logo, and simplify markup.
- Remove sketch-namespaced attributes.
- Remove unused groups, and cancel out unnecessary transforms.
- Use overlap to avoid rasterization artifacts in the logo.
- Remove viewBox parameter and define paths in their final form.
See merge request !2741
Smarter flushing of branch statistics caches
This basically ensures we only flush caches of branches whenever we really have to. See commit c514f8b850219cd3e5526e73e1d00e6729e2b466 for the details.
cc @joshfng @rspeicher
See merge request !2769
Instead of flushing the behind/ahead counts for all branches upon every
push we now only flush the cache of branches that actually need to have
these statistics recalculated. There are now basically 2 scenarios and
their effects:
1. A user pushes a commit to the default branch, this results in the
cache being flushed for all branches.
2. A user pushes to a non default branch, this results in _only_ the
cache for that branch being flushed.
The existing code (Repository#expire_cache) remains backwards compatible
with the previous behaviour, the new behaviour is only applied when a
branch name is passed as an argument. This ensures that when for example
a project is deleted the cache for all branches is flushed.
Similar to 423d2d6, except duplicates occurred only if a Web service (e.g. Slack) were
configured.
When deleting a branch, this is what was happening:
1. DeleteBranchService calls execute_hooks and execute_services
2. The call to repository.rm_branch triggers the GitHooksService.
3. This, in turn, calls GitPushService and then calls the same hooks/services again.
5145706 now makes it no longer necessary for DeleteBranchService and CreateBranchService to execute
the branch hooks/services. Note that tags behave differently in GitTagPushService and GitPushService
is not called.
Closes#10330