• Dmitriy Zaporozhets's avatar
    Merge branch 'fix-error-500-global-search-issues' into 'master' · c75ac821
    Dmitriy Zaporozhets authored
    Fix Error 500 when doing a search in dashboard before visiting any project
    
    If a search turned up an issue, under certain conditions you would see this error:
    
    ```
    ActionView::Template::Error (undefined method `path_with_namespace' for nil:NilClass):
         6:   - if issue.description.present?
         7:     .description.term
         8:       = preserve do
         9:         = search_md_sanitize(markdown(issue.description))
        10:   %span.light
        11:     #{issue.project.name_with_namespace}
        12:   - if issue.closed?
      lib/gitlab/markdown/upload_link_filter.rb:36:in `build_url'
      lib/gitlab/markdown/upload_link_filter.rb:31:in `process_link_attr'
      lib/gitlab/markdown/upload_link_filter.rb:18:in `block in call'
      lib/gitlab/markdown/upload_link_filter.rb:17:in `call'
      lib/gitlab/markdown.rb:127:in `gfm'
      lib/gitlab/markdown.rb:24:in `render'
      app/helpers/gitlab_markdown_helper.rb:61:in `markdown'
      app/views/search/results/_issue.html.haml:9:in `block in _app_views_search_results__issue_html_haml__4127460390996300432_59973760'
      app/views/search/results/_issue.html.haml:8:in `_app_views_search_results__issue_html_haml__4127460390996300432_59973760'
      app/views/search/_results.html.haml:20:in `_app_views_search__results_html_haml__589475855773452465_61761440'
      app/views/search/show.html.haml:5:in `_app_views_search_show_html_haml___1852335078065998536_69780120'
    ```
    
    Confirmed this is issue still happens in GitLab 8.4, and it also happens on GitLab.com. Here's how to reproduce:
    
    1. Login in a new browser.
    2. Enter a search term on the top right that will land a hit in the "Issues" (e.g. GitLab).
    3. Click on "Issues" tab. You should get an Error 500.
    
    The issue is that @project isn't assigned to anything.
    
    See merge request !2110
    c75ac821
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG 99.7 KB