<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/app/views/projects/notes, branch api-shared-groups</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>Display new diff notes and allow creation through the web interface</title>
<updated>2016-07-06T22:51:00+00:00</updated>
<author>
<name>Douwe Maan</name>
<email>douwe@selenight.nl</email>
</author>
<published>2016-06-20T17:23:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=29d574868a044fbfdf7a2458fbb3d951cfe58171'/>
<id>29d574868a044fbfdf7a2458fbb3d951cfe58171</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract parts of LegacyDiffNote into DiffOnNote concern and move part of responsibility to other classes</title>
<updated>2016-07-06T22:50:59+00:00</updated>
<author>
<name>Douwe Maan</name>
<email>douwe@selenight.nl</email>
</author>
<published>2016-06-20T17:15:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=a27462a5c6da0182f6b3a55c9417e6405f2c0415'/>
<id>a27462a5c6da0182f6b3a55c9417e6405f2c0415</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Style diff and blob file headers the same way</title>
<updated>2016-07-06T22:50:59+00:00</updated>
<author>
<name>Douwe Maan</name>
<email>douwe@selenight.nl</email>
</author>
<published>2016-06-20T16:57:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=375193455aa5cb752f1035a6cc69160170a58477'/>
<id>375193455aa5cb752f1035a6cc69160170a58477</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unneeded div</title>
<updated>2016-07-06T22:50:58+00:00</updated>
<author>
<name>Douwe Maan</name>
<email>douwe@selenight.nl</email>
</author>
<published>2016-06-20T16:55:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=4c1bf77c7fd3e62be4b9f6fd54520db0f7fc346b'/>
<id>4c1bf77c7fd3e62be4b9f6fd54520db0f7fc346b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Memoize the maximum access level for the author of notes</title>
<updated>2016-06-29T13:26:00+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2016-06-28T22:14:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=8c29b0b06554eb9549fe9bd2f33e80ce149752fd'/>
<id>8c29b0b06554eb9549fe9bd2f33e80ce149752fd</id>
<content type='text'>
In #19273, we saw that retrieving ProjectTeam#human_max_access for each
note takes the bulk of the time when rendering certain issues or merge requests.
We observe that most of the comments in an issue are typically done by the
same users. This MR memoizes the max access level by user ID.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In #19273, we saw that retrieving ProjectTeam#human_max_access for each
note takes the bulk of the time when rendering certain issues or merge requests.
We observe that most of the comments in an issue are typically done by the
same users. This MR memoizes the max access level by user ID.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support for rendering/redacting multiple documents</title>
<updated>2016-06-24T09:46:39+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-06-21T11:35:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d470f3d1954a33d2ea6069fadcbb9810267b024f'/>
<id>d470f3d1954a33d2ea6069fadcbb9810267b024f</id>
<content type='text'>
This commit changes the way certain documents are rendered (currently
only Notes) and how documents are redacted. Previously both rendering
and redacting would run on a per document basis. The result of this was
that for every document we'd have to run countless queries just to
figure out if we could display a set of links or not.

This commit changes things around so that redacting Markdown documents
is no longer tied into the html-pipeline Gem. This in turn allows it to
redact multiple documents in a single pass, thus reducing the number of
queries needed.

In turn rendering issue/merge request notes has been adjusted to take
advantage of this new setup. Instead of rendering Markdown somewhere
deep down in a view the Markdown is rendered and redacted in the
controller (taking the current user and all that into account). This has
been done in such a way that the "markdown()" helper method can still be
used on its own.

This particular commit also paves the way for caching rendered HTML on
object level. Right now there's an accessor method Note#note_html which
is used for setting/getting the rendered HTML. Once we cache HTML on row
level we can simply change this field to be a column and call a "save"
whenever needed and we're pretty much done.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit changes the way certain documents are rendered (currently
only Notes) and how documents are redacted. Previously both rendering
and redacting would run on a per document basis. The result of this was
that for every document we'd have to run countless queries just to
figure out if we could display a set of links or not.

This commit changes things around so that redacting Markdown documents
is no longer tied into the html-pipeline Gem. This in turn allows it to
redact multiple documents in a single pass, thus reducing the number of
queries needed.

In turn rendering issue/merge request notes has been adjusted to take
advantage of this new setup. Instead of rendering Markdown somewhere
deep down in a view the Markdown is rendered and redacted in the
controller (taking the current user and all that into account). This has
been done in such a way that the "markdown()" helper method can still be
used on its own.

This particular commit also paves the way for caching rendered HTML on
object level. Right now there's an accessor method Note#note_html which
is used for setting/getting the rendered HTML. Once we cache HTML on row
level we can simply change this field to be a column and call a "save"
whenever needed and we're pretty much done.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'note-emoji-system-note' into 'master'</title>
<updated>2016-06-20T19:14:35+00:00</updated>
<author>
<name>Jacob Schatz</name>
<email>jschatz@gitlab.com</email>
</author>
<published>2016-06-20T19:14:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=681a3acf97196c1b7c567a5bbd02552a9ecf3115'/>
<id>681a3acf97196c1b7c567a5bbd02552a9ecf3115</id>
<content type='text'>

Hides award emoji &amp; access level on system notes

## What does this MR do?

Hides award emoji &amp; access level on system notes as they aren't applicable to them notes.

## Screenshots (if relevant)

![Screen_Shot_2016-06-13_at_16.14.03](/uploads/c105c37d0f140dea7480b56242c14ed9/Screen_Shot_2016-06-13_at_16.14.03.png)

See merge request !4629</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

Hides award emoji &amp; access level on system notes

## What does this MR do?

Hides award emoji &amp; access level on system notes as they aren't applicable to them notes.

## Screenshots (if relevant)

![Screen_Shot_2016-06-13_at_16.14.03](/uploads/c105c37d0f140dea7480b56242c14ed9/Screen_Shot_2016-06-13_at_16.14.03.png)

See merge request !4629</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'markdowner' into 'master'</title>
<updated>2016-06-20T17:18:13+00:00</updated>
<author>
<name>Jacob Schatz</name>
<email>jschatz@gitlab.com</email>
</author>
<published>2016-06-20T17:18:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=a0aaa6a0b8427ff1fd6811adb4cf59ab8e64a969'/>
<id>a0aaa6a0b8427ff1fd6811adb4cf59ab8e64a969</id>
<content type='text'>

POC: Markdown shortcut buttons

## What does this MR do?
Adds markdown shortcut buttons to text area for comments. 

## Are there points in the code the reviewer needs to double check?
Because changing `textarea.val('something')` kills the natural browser undo stack, I had to implement a custom undo stack using state. You can't use the "undoable" state undo pattern because you need to go back to a previous state regardless of cursor position. The undo also adds an undo history item once you delete stuff or press enter.

You can also edit multiple textareas at once and it will keep an undo history for each textarea individually, so the undo state should not collide between textareas.

## Why was this MR needed?
It has been requested multiple times and the competition has it. https://gitlab.com/gitlab-org/gitlab-ce/issues/17185#note_12073433

Libraries are available that already implement this functionality but they are enormous and bloaty. I implemented this in very few lines of code and kept it very simple and as minimal as possible. This was also some competitions approach. I believe so as to not include too much JS. 

Adding extra buttons with new functionality **should only need new HTML and no new JS**.

Only extra complex thing was adding a overridden undo stack, which was made as simple as possible as well.

## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ce/issues/17185#note_12073433

## Screenshots (if relevant)

**NOTE:** One thing you cannot see in this screenshot is that I am pressing &lt;kbd&gt;Cmd&lt;/kbd&gt;&lt;kbd&gt;Z&lt;/kbd&gt; to undo and &lt;kbd&gt;Cmd&lt;/kbd&gt;&lt;kbd&gt;Shift&lt;/kbd&gt;&lt;kbd&gt;Z&lt;/kbd&gt; to redo which is the undo/redo stack I implemented. &lt;kbd&gt;Ctrl&lt;/kbd&gt;&lt;kbd&gt;Y&lt;/kbd&gt; also works for redo. 
![markdown-editor](/uploads/2517bfb1a7b4269da7fcc4003c88b7f6/markdown-editor.gif)

cc @dzaporozhets for UI

cc @iamphill @alfredo1 for JS review

cc @JobV if you like the idea.

Fixes: #17185

See merge request !4305</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

POC: Markdown shortcut buttons

## What does this MR do?
Adds markdown shortcut buttons to text area for comments. 

## Are there points in the code the reviewer needs to double check?
Because changing `textarea.val('something')` kills the natural browser undo stack, I had to implement a custom undo stack using state. You can't use the "undoable" state undo pattern because you need to go back to a previous state regardless of cursor position. The undo also adds an undo history item once you delete stuff or press enter.

You can also edit multiple textareas at once and it will keep an undo history for each textarea individually, so the undo state should not collide between textareas.

## Why was this MR needed?
It has been requested multiple times and the competition has it. https://gitlab.com/gitlab-org/gitlab-ce/issues/17185#note_12073433

Libraries are available that already implement this functionality but they are enormous and bloaty. I implemented this in very few lines of code and kept it very simple and as minimal as possible. This was also some competitions approach. I believe so as to not include too much JS. 

Adding extra buttons with new functionality **should only need new HTML and no new JS**.

Only extra complex thing was adding a overridden undo stack, which was made as simple as possible as well.

## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ce/issues/17185#note_12073433

## Screenshots (if relevant)

**NOTE:** One thing you cannot see in this screenshot is that I am pressing &lt;kbd&gt;Cmd&lt;/kbd&gt;&lt;kbd&gt;Z&lt;/kbd&gt; to undo and &lt;kbd&gt;Cmd&lt;/kbd&gt;&lt;kbd&gt;Shift&lt;/kbd&gt;&lt;kbd&gt;Z&lt;/kbd&gt; to redo which is the undo/redo stack I implemented. &lt;kbd&gt;Ctrl&lt;/kbd&gt;&lt;kbd&gt;Y&lt;/kbd&gt; also works for redo. 
![markdown-editor](/uploads/2517bfb1a7b4269da7fcc4003c88b7f6/markdown-editor.gif)

cc @dzaporozhets for UI

cc @iamphill @alfredo1 for JS review

cc @JobV if you like the idea.

Fixes: #17185

See merge request !4305</pre>
</div>
</content>
</entry>
<entry>
<title>Move buttons to upper right.</title>
<updated>2016-06-17T10:52:22+00:00</updated>
<author>
<name>Jacob Schatz</name>
<email>jschatz1@gmail.com</email>
</author>
<published>2016-05-27T21:30:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=7717cb727fba74fcb9eee11559f9e97558795707'/>
<id>7717cb727fba74fcb9eee11559f9e97558795707</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Initial markdown ez buttons</title>
<updated>2016-06-17T10:52:22+00:00</updated>
<author>
<name>Jacob Schatz</name>
<email>jschatz1@gmail.com</email>
</author>
<published>2016-05-26T14:47:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=0fd56975ea57c2c646034ab929f6839c6e7a6a02'/>
<id>0fd56975ea57c2c646034ab929f6839c6e7a6a02</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
