<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/spec/features/dashboard, branch document-lambda-deploy</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Replace rails_helper.rb with spec_helper.rb</title>
<updated>2019-08-30T02:26:18+00:00</updated>
<author>
<name>Ash McKenzie</name>
<email>amckenzie@gitlab.com</email>
</author>
<published>2019-08-29T07:56:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=19ff9d9899a9f1a69ca4cd9df357c7a9716edcbb'/>
<id>19ff9d9899a9f1a69ca4cd9df357c7a9716edcbb</id>
<content type='text'>
rails_helper.rb's only logic was to require
spec_helper.rb.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
rails_helper.rb's only logic was to require
spec_helper.rb.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'todos/include-issue-mr-titles' into 'master'</title>
<updated>2019-08-28T05:40:19+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2019-08-28T05:40:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=6262a91e365c658dc7d4ea286cd0e7201249bfa4'/>
<id>6262a91e365c658dc7d4ea286cd0e7201249bfa4</id>
<content type='text'>
Add Issue and Merge Request titles to Todo items

Closes #63488

See merge request gitlab-org/gitlab-ce!30435</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add Issue and Merge Request titles to Todo items

Closes #63488

See merge request gitlab-org/gitlab-ce!30435</pre>
</div>
</content>
</entry>
<entry>
<title>Add Issue and Merge Request titles to Todo items</title>
<updated>2019-08-28T01:09:24+00:00</updated>
<author>
<name>Arun Kumar Mohan</name>
<email>arunmohandm@gmail.com</email>
</author>
<published>2019-06-27T05:56:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=4ca32c2b55519aa2b7852c879ad700e8fa290f80'/>
<id>4ca32c2b55519aa2b7852c879ad700e8fa290f80</id>
<content type='text'>
Only displays the todo body if the todo has a note.
This is to avoid redundant Issue or Merge Request titles
displayed both in the Todo title and body.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only displays the todo body if the todo has a note.
This is to avoid redundant Issue or Merge Request titles
displayed both in the Todo title and body.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sh-project-feature-nplus-one' into 'master'</title>
<updated>2019-08-27T06:41:38+00:00</updated>
<author>
<name>Jan Provaznik</name>
<email>jprovaznik@gitlab.com</email>
</author>
<published>2019-08-27T06:41:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=f91b5d5840996736ee18ef457653cdd225f8445f'/>
<id>f91b5d5840996736ee18ef457653cdd225f8445f</id>
<content type='text'>
Remove N+1 SQL query loading project feature in dashboard

Closes #66482

See merge request gitlab-org/gitlab-ce!32169</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove N+1 SQL query loading project feature in dashboard

Closes #66482

See merge request gitlab-org/gitlab-ce!32169</pre>
</div>
</content>
</entry>
<entry>
<title>Change misleading pipeline status tooltip</title>
<updated>2019-08-23T21:28:46+00:00</updated>
<author>
<name>Scott Hampton</name>
<email>shampton@gitlab.com</email>
</author>
<published>2019-08-23T21:28:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=f093ceb4a0b15420cfe64fa9d97e73531b5fb35c'/>
<id>f093ceb4a0b15420cfe64fa9d97e73531b5fb35c</id>
<content type='text'>
Some pipeline status icon tooltips were showing
"Commit: ..." which customers found to be
misleading since it was not the commit that was
failing but the pipeline.

We are changing all status icon tooltips to say
"Pipeline: ..." instead of "Commit: ..." now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some pipeline status icon tooltips were showing
"Commit: ..." which customers found to be
misleading since it was not the commit that was
failing but the pipeline.

We are changing all status icon tooltips to say
"Pipeline: ..." instead of "Commit: ..." now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove N+1 SQL query loading project feature in dashboard</title>
<updated>2019-08-23T21:11:23+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2019-08-23T20:53:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=29e60b0643ca5451919df233a9aeb4825779e846'/>
<id>29e60b0643ca5451919df233a9aeb4825779e846</id>
<content type='text'>
Projects that have a pipeline may need to check whether the user has
permission to read the build (`can?(current_user, :read_build,
project)`), which requires checking the `project_features` table.
This would cause an N+1 SQL query for each project.

This change also has a beneficial side effect that may avoid a race
condition. When a user deletes a project, the project is queued for
deletion and the user is redirected back to the dashboard page. However,
the following may happen:

1. The dashboard page may load this deleted project in the list of
20 projects.
2. The view will load the project pipeline status from the cache and
attempt to show each project.
3. When the view encounters the deleted project, it calls
`can?(current_user, :read_build, project)` to determine whether to
display the pipeline status.
4. Sidekiq deletes the project from the database.
5. However, since the deleted project is still loaded in memory, it will
attempt to call `project.project_feature.access_level`.
6. Since `project_feature` was not eager loaded, a lazy `SELECT` call is
made to the database.
7. This `SELECT` call returns nothing, and the user sees a 500 error.

By eager loading `project_feature`, we can ensure that we have a
consistent view and avoid records from being deleted later.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66482
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Projects that have a pipeline may need to check whether the user has
permission to read the build (`can?(current_user, :read_build,
project)`), which requires checking the `project_features` table.
This would cause an N+1 SQL query for each project.

This change also has a beneficial side effect that may avoid a race
condition. When a user deletes a project, the project is queued for
deletion and the user is redirected back to the dashboard page. However,
the following may happen:

1. The dashboard page may load this deleted project in the list of
20 projects.
2. The view will load the project pipeline status from the cache and
attempt to show each project.
3. When the view encounters the deleted project, it calls
`can?(current_user, :read_build, project)` to determine whether to
display the pipeline status.
4. Sidekiq deletes the project from the database.
5. However, since the deleted project is still loaded in memory, it will
attempt to call `project.project_feature.access_level`.
6. Since `project_feature` was not eager loaded, a lazy `SELECT` call is
made to the database.
7. This `SELECT` call returns nothing, and the user sees a 500 error.

By eager loading `project_feature`, we can ensure that we have a
consistent view and avoid records from being deleted later.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66482
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolve Incorrect empty state message on "Explore projects"</title>
<updated>2019-08-02T06:43:31+00:00</updated>
<author>
<name>Dennis Tang</name>
<email>750946-dennis@users.noreply.gitlab.com</email>
</author>
<published>2019-08-02T06:43:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=2330ad3c3b453a3605094403396b354ddaafca19'/>
<id>2330ad3c3b453a3605094403396b354ddaafca19</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Backport ToDo feature specs from EE</title>
<updated>2019-07-29T11:54:15+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2019-07-24T15:11:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=646521bdc7c6e995ccbd02ba771be3a6c4b00d78'/>
<id>646521bdc7c6e995ccbd02ba771be3a6c4b00d78</id>
<content type='text'>
This ensures that both CE and EE have the same specs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ensures that both CE and EE have the same specs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'frozen_string_spec_features' into 'master'</title>
<updated>2019-07-29T08:29:43+00:00</updated>
<author>
<name>Rémy Coutable</name>
<email>remy@rymai.me</email>
</author>
<published>2019-07-29T08:29:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=aa0d8b4cbac34c3aac20fbb45c676e0c8d22f1f9'/>
<id>aa0d8b4cbac34c3aac20fbb45c676e0c8d22f1f9</id>
<content type='text'>
Add frozen_string_literal to spec/features

See merge request gitlab-org/gitlab-ce!31131</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add frozen_string_literal to spec/features

See merge request gitlab-org/gitlab-ce!31131</pre>
</div>
</content>
</entry>
<entry>
<title>Add frozen_string_literal to spec/features</title>
<updated>2019-07-26T01:23:30+00:00</updated>
<author>
<name>Thong Kuah</name>
<email>tkuah@gitlab.com</email>
</author>
<published>2019-07-25T05:24:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=73e848850c2fbb890ae7d5e0886cd2d85aafa3d2'/>
<id>73e848850c2fbb890ae7d5e0886cd2d85aafa3d2</id>
<content type='text'>
Using the sed script from
https://gitlab.com/gitlab-org/gitlab-ce/issues/59758
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using the sed script from
https://gitlab.com/gitlab-org/gitlab-ce/issues/59758
</pre>
</div>
</content>
</entry>
</feed>
