Merge branch 'stable-2.15'

* stable-2.15:
  Fix autocomplete on android
  Basic documentation of WIP in intro-user.txt
  Revert "PolyGerrit: Add support for showing or hiding the star from the change list"
  Evaluate streams in GroupIncludeCacheImpl while the db is still open
  Fix group names prefixed with uuid-*

Change-Id: I6d70d062a17dfbe23d2b4d5e2a3b6f38988392ef
This commit is contained in:
Jonathan Nieder
2017-10-26 15:24:27 -07:00
13 changed files with 64 additions and 41 deletions

View File

@@ -482,6 +482,52 @@ followed by `topic=...`.
$ git push origin HEAD:refs/heads/master -o topic=multi-master
----
[[wip]]
== Work-in-Progress Changes
Work-in-Progress (WIP) changes are visible to anyone, but do not notify or
require an action from a reviewer.
Specifically, when you mark a change as Work-in-Progress:
* Reviewers are not notified for most operations, such as adding or removing,
posting comments, and so on. See the REST API documentation
link:rest-api-changes.html#set-review-notifications[tables] for more
information.
* The change does not show in reviewers' dashboards.
WIP changes are useful when:
* You have implemented only part of a change, but want to push your change
to the server to run tests or perform other actions before requesting
reviewer feedback.
* During a review, you realize you need to rework your change, and you
want to stop notifying reviewers of the change until you finish your
update.
To set the status of a change to Work-in-Progress, you can use either
the command line or the user interface. To use the command line, append
`%wip` to your push request.
----
$ git push origin HEAD:refs/for/master%wip
----
Alternatively, click *WIP* from the Change screen.
To mark the change as ready for review, append `%ready` to your push
request.
----
$ git push origin HEAD:refs/for/master%ready
----
Alternatively, click *Ready* from the Change screen.
[[wip-polygerrit]]
In the new PolyGerrit UI, you can mark a change as WIP, by selecting *WIP* from
the *More* menu. The Change screen updates with a yellow header, indicating that
the change is in a Work-in-Progress state. To mark a change as ready for review,
click *Start Review*.
[[private-changes]]
== Private Changes

View File

@@ -3818,6 +3818,7 @@ the `errors` field set containing details of why they failed.
}
----
[[set-review-notifications]]
.Notifications
An email will be sent using the "comment" template.

View File

@@ -25,7 +25,6 @@ limitations under the License.
columnNames: {
type: Array,
value: [
'Star',
'Subject',
'Status',
'Owner',

View File

@@ -58,7 +58,6 @@ limitations under the License.
test('getComplementColumns', () => {
let columns = [
'Star',
'Subject',
'Status',
'Owner',
@@ -71,7 +70,6 @@ limitations under the License.
assert.deepEqual(element.getComplementColumns(columns), []);
columns = [
'Star',
'Subject',
'Status',
'Assignee',
@@ -86,7 +84,6 @@ limitations under the License.
test('isColumnHidden', () => {
const columnToCheck = 'Project';
let columnsToDisplay = [
'Star',
'Subject',
'Status',
'Owner',
@@ -99,7 +96,6 @@ limitations under the License.
assert.isFalse(element.isColumnHidden(columnToCheck, columnsToDisplay));
columnsToDisplay = [
'Star',
'Subject',
'Status',
'Owner',

View File

@@ -109,8 +109,7 @@ limitations under the License.
<td class="cell keyboard">
<span class="positionIndicator">&#x25b6;</span>
</td>
<td class="cell star"
hidden$="[[_computeHideStar(loggedIn, visibleChangeTableColumns)]]">
<td class="cell star" hidden$="[[!showStar]]" hidden>
<gr-change-star change="{{change}}"></gr-change-star>
</td>
<td class="cell number" hidden$="[[!showNumber]]" hidden>

View File

@@ -29,8 +29,11 @@
type: String,
computed: '_computeChangeURL(change)',
},
showStar: {
type: Boolean,
value: false,
},
showNumber: Boolean,
loggedIn: Boolean,
},
behaviors: [
@@ -112,10 +115,5 @@
if (!change.topic) { return ''; }
return Gerrit.Nav.getUrlForTopic(change.topic);
},
_computeHideStar(loggedIn, visibleChangeTableColumns) {
return !loggedIn ||
this.isColumnHidden('Star', visibleChangeTableColumns) ? true : false;
},
});
})();

View File

@@ -116,7 +116,6 @@ limitations under the License.
test('no hidden columns', () => {
element.visibleChangeTableColumns = [
'Star',
'Subject',
'Status',
'Owner',
@@ -137,7 +136,6 @@ limitations under the License.
test('no hidden columns', () => {
element.visibleChangeTableColumns = [
'Star',
'Subject',
'Status',
'Owner',
@@ -158,7 +156,6 @@ limitations under the License.
test('project column hidden', () => {
element.visibleChangeTableColumns = [
'Star',
'Subject',
'Status',
'Owner',

View File

@@ -64,7 +64,8 @@ limitations under the License.
class$="[[_computeUserHeaderClass(_userId)]]"></gr-user-header>
<gr-change-list
changes="{{_changes}}"
selected-index="{{viewState.selectedChangeIndex}}"></gr-change-list>
selected-index="{{viewState.selectedChangeIndex}}"
show-star="[[loggedIn]]"></gr-change-list>
<nav>
<a id="prevArrow"
href$="[[_computeNavLink(_query, _offset, -1, _changesPerPage)]]"

View File

@@ -58,11 +58,10 @@ limitations under the License.
<table id="changeList">
<tr class="headerRow">
<th class="topHeader keyboard"></th>
<th class="topHeader star"
hidden$="[[_computeHideStar(_loggedIn, visibleChangeTableColumns)]]"></th>
<th class="topHeader star" hidden$="[[!showStar]]" hidden></th>
<th class="topHeader number" hidden$="[[!showNumber]]" hidden>#</th>
<template is="dom-repeat" items="[[changeTableColumns]]" as="item">
<th class$="topHeader [[_lowerCase(item)]]"
<th class$="[[_lowerCase(item)]] topHeader"
hidden$="[[isColumnHidden(item, visibleChangeTableColumns)]]">
[[item]]
</th>
@@ -101,8 +100,8 @@ limitations under the License.
change="[[change]]"
visible-change-table-columns="[[visibleChangeTableColumns]]"
show-number="[[showNumber]]"
label-names="[[labelNames]]"
logged-in="[[_loggedIn]]"></gr-change-list-item>
show-star="[[showStar]]"
label-names="[[labelNames]]"></gr-change-list-item>
</template>
</template>
</table>

View File

@@ -75,6 +75,10 @@
notify: true,
},
showNumber: Boolean, // No default value to prevent flickering.
showStar: {
type: Boolean,
value: false,
},
showReviewedState: {
type: Boolean,
value: false,
@@ -85,10 +89,6 @@
},
changeTableColumns: Array,
visibleChangeTableColumns: Array,
_loggedIn: {
type: Boolean,
value: false,
},
},
behaviors: [
@@ -137,11 +137,7 @@
_loadPreferences() {
return this._getLoggedIn().then(loggedIn => {
this._loggedIn = loggedIn;
this.changeTableColumns = this.columnNames.filter(column => {
return column !== 'Star';
});
this.changeTableColumns = this.columnNames;
if (!loggedIn) {
this.showNumber = false;
@@ -318,11 +314,6 @@
return null;
},
_computeHideStar(loggedIn, visibleChangeTableColumns) {
return !loggedIn ||
this.isColumnHidden('Star', visibleChangeTableColumns) ? true : false;
},
_getListItems() {
return Polymer.dom(this.root).querySelectorAll('gr-change-list-item');
},

View File

@@ -301,7 +301,6 @@ limitations under the License.
legacycid_in_change_table: true,
time_format: 'HHMM_12',
change_table: [
'Star',
'Subject',
'Status',
'Owner',
@@ -333,7 +332,6 @@ limitations under the License.
legacycid_in_change_table: true,
time_format: 'HHMM_12',
change_table: [
'Star',
'Subject',
'Status',
'Owner',

View File

@@ -50,6 +50,7 @@ limitations under the License.
user-id="[[params.user]]"
class$="[[_computeUserHeaderClass(params.user)]]"></gr-user-header>
<gr-change-list
show-star
show-reviewed-state
account="[[account]]"
selected-index="{{viewState.selectedChangeIndex}}"

View File

@@ -42,7 +42,6 @@ limitations under the License.
sandbox = sinon.sandbox.create();
columns = [
'Star',
'Subject',
'Status',
'Owner',
@@ -148,7 +147,6 @@ limitations under the License.
let checked = false;
assert.deepEqual(element._updateDisplayedColumns(columns, name, checked),
[
'Star',
'Status',
'Owner',
'Assignee',
@@ -160,7 +158,6 @@ limitations under the License.
checked = true;
assert.deepEqual(element._updateDisplayedColumns(columns, name, checked),
[
'Star',
'Subject',
'Status',
'Owner',