From 0ce226d3beb14817282637b66d165d883a8c36c9 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Fri, 23 Mar 2018 12:38:55 +0200 Subject: [PATCH 1/9] feat: add adjust start time checkbox to worklog modal (#98) add adjust start time checkbox to worklog modal and logic, including saving this option to local storage ISSUES CLOSED: #84 --- .../Modals/WorklogModal/WorklogModal.jsx | 91 +++++++++++++++---- 1 file changed, 72 insertions(+), 19 deletions(-) diff --git a/app/containers/Modals/WorklogModal/WorklogModal.jsx b/app/containers/Modals/WorklogModal/WorklogModal.jsx index b3c677609..4955c2386 100644 --- a/app/containers/Modals/WorklogModal/WorklogModal.jsx +++ b/app/containers/Modals/WorklogModal/WorklogModal.jsx @@ -34,6 +34,9 @@ import TimePicker from 'rc-time-picker'; import Button, { ButtonGroup, } from '@atlaskit/button'; +import { + CheckboxStateless as Checkbox, +} from '@atlaskit/checkbox'; import { ModalContentContainer, @@ -42,11 +45,13 @@ import { import { uiActions, worklogsActions, + settingsActions, } from 'actions'; import { getModalState, getUiState, getEditWorklog, + getSettingsState, } from 'selectors'; import { @@ -82,8 +87,11 @@ type State = { remainingEstimateValue: 'new' | 'leave' | 'manual' | 'auto', remainingEstimateSetTo: string, remainingEstimateReduceBy: string, + adjustStartTime: boolean, }; +const JIRA_TIME_REGEXP = /^(\d{1,2}d{1}(\s{1}|$))?(\d{1,2}h{1}(\s{1}|$))?(\d{1,2}m{1}(\s{1}|$))?(\d{1,2}s{1}(\s{1}|$))?$/g; + class WorklogModal extends Component { state = { calendarOpened: false, @@ -125,13 +133,15 @@ class WorklogModal extends Component { setDateAndTimeToNow = () => { const now = moment(); - this.setState({ startTime: now }); - this.setState({ date: now.format('MM/DD/YYYY') }); + this.setState({ + startTime: now, + date: now.format('MM/DD/YYYY'), + }); } timeInput: any; - handleTimeChange = label => (value) => { + handleTimeChange = (label: 'startTime') => (value) => { this.setState({ [label]: value }); } @@ -139,18 +149,42 @@ class WorklogModal extends Component { const jiraTime = e.target.value || ''; const isValid = this.checkIfJiraTime(jiraTime); if (isValid) { - this.setState({ timeSpent: jiraTime, jiraTimeError: null }); + this.setState(({ startTime }) => { + if (this.props.adjustStartTime) { + const newStartTime = startTime.clone().subtract( + jiraTime.split(' ').map((t) => { + const value = +(t.substr(0, t.length - 1)); + switch (t.substr(-1)) { + case 's': + return value; + case 'm': + return value * 60; + case 'h': + return value * 60 * 60; + case 'd': + return value * 60 * 60 * 8; + } + }).reduce((s, v) => s + v, 0), + 's', + ); + return { + timeSpent: jiraTime, + jiraTimeError: null, + startTime: newStartTime, + date: newStartTime.format('MM/DD/YYYY'), + }; + } + return { + timeSpent: jiraTime, + jiraTimeError: null, + }; + }); } else { this.setState({ timeSpent: jiraTime, jiraTimeError: 'invalid format' }); } } - checkIfJiraTime = (jiraTime) => { - if (/^(\d{1,2}d{1}(\s{1}|$))?(\d{1,2}h{1}(\s{1}|$))?(\d{1,2}m{1}(\s{1}|$))?(\d{1,2}s{1}(\s{1}|$))?$/g.test(jiraTime)) { - return true; - } - return false; - } + checkIfJiraTime = RegExp.prototype.test.bind(JIRA_TIME_REGEXP) render() { const { @@ -160,6 +194,7 @@ class WorklogModal extends Component { saveInProcess, dispatch, issue, + adjustStartTime, }: Props = this.props; const { @@ -301,16 +336,33 @@ class WorklogModal extends Component { } {/* FROM */} - + + Started - + +
+ +
+ { + dispatch(settingsActions.setLocalDesktopSetting( + adjustStartTime, + 'notAdjustStartTime', + )); + }} + /> +
{/* ESTIMATE */} @@ -348,6 +400,7 @@ function mapStateToProps(state) { state, 'worklogs.requests.saveWorklog.status', ).pending, + adjustStartTime: !getSettingsState('localDesktopSettings')(state).notAdjustStartTime, }; } From 6f6c23a337cf74f077c86283d29cfb37c24d06ee Mon Sep 17 00:00:00 2001 From: Dmytro Date: Fri, 23 Mar 2018 15:25:00 +0200 Subject: [PATCH 2/9] feat(Tracking): add checkbox to post comment also as issue comment (#99) * feat(Tracking): add checkbox to post worklog comment also as issue comment ISSUES CLOSED: #90 * fix: fix comment field cancel behavior --- .../WorklogCommentDialog.jsx | 9 ++- .../WorklogCommentOptions.jsx | 68 +++++++++++++++++++ .../WorklogCommentDialog/styled/index.jsx | 4 ++ app/reducers/ui.js | 1 + app/sagas/worklogs.js | 7 ++ app/types/ui.js | 1 + 6 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 app/containers/IssueView/TrackingBar/WorklogCommentDialog/WorklogCommentOptions.jsx diff --git a/app/containers/IssueView/TrackingBar/WorklogCommentDialog/WorklogCommentDialog.jsx b/app/containers/IssueView/TrackingBar/WorklogCommentDialog/WorklogCommentDialog.jsx index 3e6956598..d38f824f2 100644 --- a/app/containers/IssueView/TrackingBar/WorklogCommentDialog/WorklogCommentDialog.jsx +++ b/app/containers/IssueView/TrackingBar/WorklogCommentDialog/WorklogCommentDialog.jsx @@ -23,6 +23,7 @@ import { EditButtonContainer, } from './styled'; +import WorklogCommentOptions from './WorklogCommentOptions'; type Props = { issue: Issue, @@ -47,15 +48,18 @@ class WorklogCommentDialog extends PureComponent { this.state = { dialogOpen: false, isEditing: true, + comment: this.props.comment, }; } onConfirm = () => { this.exitEditingMode(); + this.props.onSetComment(this.state.comment); }; onCancel = () => { this.exitEditingMode(); + this.setState({ comment: this.props.comment }); }; toggleDialog = () => { @@ -89,8 +93,8 @@ class WorklogCommentDialog extends PureComponent { autoFocus isEditing isInitiallySelected - value={this.props.comment} - onChange={e => this.props.onSetComment(e.target.value)} + value={this.state.comment} + onChange={e => this.setState({ comment: e.target.value })} /> } readView={( @@ -106,6 +110,7 @@ class WorklogCommentDialog extends PureComponent { onConfirm={this.onConfirm} onCancel={this.onCancel} /> + void, +}; + +const WorklogCommentOptions: StatelessFunctionalComponent = ({ + postAlsoAsIssueComment, + changePostOption, +}: Props): Node => + + + + + ; + +export default compose( + connect( + state => ({ + postAlsoAsIssueComment: getUiState('postAlsoAsIssueComment')(state), + }), + dispatch => ({ dispatch }), + ), + withHandlers({ + changePostOption: ({ + dispatch, + postAlsoAsIssueComment, + }: { + postAlsoAsIssueComment: boolean, + dispatch: Dispatch, + }) => () => dispatch(uiActions.setUiState('postAlsoAsIssueComment', !postAlsoAsIssueComment)) + }) +)(WorklogCommentOptions); diff --git a/app/containers/IssueView/TrackingBar/WorklogCommentDialog/styled/index.jsx b/app/containers/IssueView/TrackingBar/WorklogCommentDialog/styled/index.jsx index 9d44d4cac..afec11aa2 100644 --- a/app/containers/IssueView/TrackingBar/WorklogCommentDialog/styled/index.jsx +++ b/app/containers/IssueView/TrackingBar/WorklogCommentDialog/styled/index.jsx @@ -18,3 +18,7 @@ export const EditButton = styled(EditFilledIcon)` export const EditButtonContainer = styled.div` cursor: pointer; `; + +export const IssueCommentCheckboxWrapper = styled.div` + margin-left: -10px; +`; diff --git a/app/reducers/ui.js b/app/reducers/ui.js index 810bea0c3..07bf79a3b 100644 --- a/app/reducers/ui.js +++ b/app/reducers/ui.js @@ -45,6 +45,7 @@ const initialState: UiState = { editWorklogId: null, worklogFormIssueId: null, worklogComment: '', + postAlsoAsIssueComment: false, remainingEstimateValue: 'auto', remainingEstimateNewValue: '', remainingEstimateReduceByValue: '', diff --git a/app/sagas/worklogs.js b/app/sagas/worklogs.js index 22029b37f..541a0475a 100644 --- a/app/sagas/worklogs.js +++ b/app/sagas/worklogs.js @@ -22,6 +22,7 @@ import { import { types, uiActions, + issuesActions, } from 'actions'; import { getResourceIds, @@ -266,9 +267,15 @@ export function* uploadWorklog(options: any): Generator<*, *, *> { }, }); + const postAlsoAsIssueComment = yield select(getUiState('postAlsoAsIssueComment')); + if (postAlsoAsIssueComment && options.comment) { + yield put(issuesActions.commentRequest(options.comment, options.issueId)); + } + // reset ui state yield put(uiActions.resetUiState([ 'worklogComment', + 'postAlsoAsIssueComment', 'remainingEstimateValue', 'remainingEstimateNewValue', 'remainingEstimateReduceByValue', diff --git a/app/types/ui.js b/app/types/ui.js index 48aded22a..7acdbef3d 100644 --- a/app/types/ui.js +++ b/app/types/ui.js @@ -89,6 +89,7 @@ export type UiState = {| editWorklogId: Id | null, worklogFormIssueId: Id | null, worklogComment: string, + postAlsoAsIssueComment: boolean, remainingEstimateValue: RemainingEstimate, remainingEstimateNewValue: string, remainingEstimateReduceByValue: string, From 804bfb66143c6fb21f8d7abadf8f09fd8ddb6f2b Mon Sep 17 00:00:00 2001 From: Dmytro Date: Mon, 26 Mar 2018 14:37:31 +0300 Subject: [PATCH 3/9] fix(Issue Detail View): fix too wide comments tab if there are comments with long strings (#100) ISSUES CLOSED: #83 --- app/containers/IssueView/IssueComments/styled/index.jsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/containers/IssueView/IssueComments/styled/index.jsx b/app/containers/IssueView/IssueComments/styled/index.jsx index 15f8131fb..fbe382682 100644 --- a/app/containers/IssueView/IssueComments/styled/index.jsx +++ b/app/containers/IssueView/IssueComments/styled/index.jsx @@ -66,6 +66,9 @@ export const CommentBody = styled.span` color: #172B4D; font-weight: 400; margin-left: 48px; + & > p, & > div, & > span { + word-break: break-all; + } `; export const CommentAvatar = styled.img` From 33043bda2c34ad94a6186071f0134ebe16131116 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Mon, 26 Mar 2018 14:37:40 +0300 Subject: [PATCH 4/9] feat(Tracking): worklog comment as a required item (#101) add worklog comment as a required item option in setting, open comment dialog instead of stopping timer if this option is set and comment are empty ISSUES CLOSED: #81 --- .../ErrorBoundary/ErrorBoundary.jsx | 2 +- .../IssueView/TrackingBar/TrackingBar.jsx | 27 ++++++++++--------- .../WorklogCommentDialog.jsx | 17 +++++++----- .../SettingsModal/General/GeneralSettings.jsx | 19 ++++++++++++- .../SettingsModal/General/styled/index.jsx | 23 ++++++++++++++++ .../Modals/SettingsModal/SettingsModal.jsx | 7 +++++ app/reducers/ui.js | 1 + app/sagas/timer.js | 14 ++++++++-- app/types/settings.js | 2 ++ app/types/ui.js | 1 + 10 files changed, 89 insertions(+), 24 deletions(-) diff --git a/app/components/ErrorBoundary/ErrorBoundary.jsx b/app/components/ErrorBoundary/ErrorBoundary.jsx index d28f5768b..2cecdd838 100644 --- a/app/components/ErrorBoundary/ErrorBoundary.jsx +++ b/app/components/ErrorBoundary/ErrorBoundary.jsx @@ -38,7 +38,7 @@ class ErrorBoundary extends Component { return (

Something went wrong.

- You may try to + You may try to   - + Clearing cache will cause logout. +
+ + Configure whether to forbid sending worlogs without comment + + + setEmptyWorklogSettings(!isEmptyWorklogForbid)} + /> + ); diff --git a/app/containers/Modals/SettingsModal/General/styled/index.jsx b/app/containers/Modals/SettingsModal/General/styled/index.jsx index f5fb594dd..38b1761f5 100644 --- a/app/containers/Modals/SettingsModal/General/styled/index.jsx +++ b/app/containers/Modals/SettingsModal/General/styled/index.jsx @@ -12,3 +12,26 @@ export const ContentLabel = styled.span` font-weight: 600; color: black; `; + +export const InputNumber = styled.input.attrs({ + type: 'number', +})` + appearance: none; + color: inherit; + font-size: 16px; + font-family: inherit; + letter-spacing: inherit; + + background: transparent; + border: 0; + box-sizing: border-box; + cursor: inherit; + line-height: inherit; + margin: 0; + outline: none; + padding: 0; + width: 100%; + :invalid { + box-shadow: none; + } +`; diff --git a/app/containers/Modals/SettingsModal/SettingsModal.jsx b/app/containers/Modals/SettingsModal/SettingsModal.jsx index 253a53c9e..8ec4e1e8f 100644 --- a/app/containers/Modals/SettingsModal/SettingsModal.jsx +++ b/app/containers/Modals/SettingsModal/SettingsModal.jsx @@ -135,6 +135,13 @@ const SettingsModal: StatelessFunctionalComponent = ({ clearChache={() => dispatch( settingsActions.clearElectronCache(), )} + setEmptyWorklogSettings={(value) => { + dispatch(settingsActions.setLocalDesktopSetting( + value, + 'isEmptyWorklogForbid', + )); + } + } /> } {tab === 'Notifications' && diff --git a/app/reducers/ui.js b/app/reducers/ui.js index 07bf79a3b..6f465723f 100644 --- a/app/reducers/ui.js +++ b/app/reducers/ui.js @@ -49,6 +49,7 @@ const initialState: UiState = { remainingEstimateValue: 'auto', remainingEstimateNewValue: '', remainingEstimateReduceByValue: '', + isCommentDialogOpen: false, selectedIssueId: null, issuesSourceType: null, diff --git a/app/sagas/timer.js b/app/sagas/timer.js index 2bad072ed..7a12707fa 100644 --- a/app/sagas/timer.js +++ b/app/sagas/timer.js @@ -40,6 +40,7 @@ import { import { throwError, infoLog, + notify, } from './ui'; import { uploadWorklog, @@ -282,8 +283,17 @@ export function* timerFlow(): Generator<*, *, *> { yield cancel(); } } else { - yield call(stopTimer, channel, timerInstance); - yield cancel(); + const { isEmptyWorklogForbid } = yield select(getSettingsState('localDesktopSettings')); + const comment = yield select(getUiState('worklogComment')); + if (isEmptyWorklogForbid && !comment) { + yield fork(notify, { + title: 'Please set comment for worklog', + }); + yield put(uiActions.setUiState('isCommentDialogOpen', true)); + } else { + yield call(stopTimer, channel, timerInstance); + yield cancel(); + } } } } catch (err) { diff --git a/app/types/settings.js b/app/types/settings.js index d9015b1c7..f40b34591 100644 --- a/app/types/settings.js +++ b/app/types/settings.js @@ -38,4 +38,6 @@ export type SettingsGeneral = { showScreenshotPreview: boolean, trayShowTimer: boolean, updateChannel: string, + + isEmptyWorklogForbid: boolean, }; diff --git a/app/types/ui.js b/app/types/ui.js index 7acdbef3d..1e3dc3177 100644 --- a/app/types/ui.js +++ b/app/types/ui.js @@ -93,6 +93,7 @@ export type UiState = {| remainingEstimateValue: RemainingEstimate, remainingEstimateNewValue: string, remainingEstimateReduceByValue: string, + isCommentDialogOpen: boolean, selectedIssueId: Id | null, issuesSourceType: string | null, From 26b060891ddb25568400440ef5ab578c790a1ead Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 27 Mar 2018 14:37:19 +0300 Subject: [PATCH 5/9] fix(Browsing Issues): fix for filter of issues for sprint (#102) ISSUES CLOSED: 94 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f7e3e0f8a..51bd96649 100644 --- a/package.json +++ b/package.json @@ -161,7 +161,7 @@ "electron-log": "2.2.14", "electron-updater": "2.20.1", "font-awesome": "4.7.0", - "jira-connector": "github:web-pal/jira-connector#c32722762d8d00c908f2449f6091e34f93937e7e", + "jira-connector": "github:web-pal/jira-connector#290772714e5ad00aa34854dcc5cd22f6a9c4ce43", "keytar": "^4.1.0", "merge-images": "1.0.7", "minimist": "^1.2.0", From 193c8621c6a9a12cb1f723f3abdcbdc39e28fc7e Mon Sep 17 00:00:00 2001 From: "Vladimir Pal (BeDoIt)" Date: Tue, 27 Mar 2018 14:38:15 +0300 Subject: [PATCH 6/9] refactor: remove extra put in saga issues --- app/sagas/issues.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/sagas/issues.js b/app/sagas/issues.js index f41e0d8b9..2483c2b4c 100644 --- a/app/sagas/issues.js +++ b/app/sagas/issues.js @@ -417,12 +417,6 @@ export function* refetchIssues(debouncing: boolean): Generator<*, void, *> { refetchFilterIssuesMarker: true, }, })); - yield put(resourcesActions.setResourceMeta({ - resourceName: 'issues', - meta: { - refetchFilterIssuesMarker: true, - }, - })); const sidebarType = yield select(getUiState('sidebarType')); if (sidebarType === 'recent') { From 7e476a4c64e76439084a6ac7b1686b70b927ad30 Mon Sep 17 00:00:00 2001 From: "Vladimir Pal (BeDoIt)" Date: Tue, 27 Mar 2018 14:45:49 +0300 Subject: [PATCH 7/9] refactor: update yarn.lock --- flow-typed/npm/jira-connector_vx.x.x.js | 4 +- yarn.lock | 281 ++++++++++++++---------- 2 files changed, 161 insertions(+), 124 deletions(-) diff --git a/flow-typed/npm/jira-connector_vx.x.x.js b/flow-typed/npm/jira-connector_vx.x.x.js index ef4eb3133..69c7450e7 100644 --- a/flow-typed/npm/jira-connector_vx.x.x.js +++ b/flow-typed/npm/jira-connector_vx.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 98a8fdfb523a7fa14051f8457ecadaa5 -// flow-typed version: <>/jira-connector_vgithub:web-pal/jira-connector#c32722762d8d00c908f2449f6091e34f93937e7e/flow_v0.68.0 +// flow-typed signature: 8411dbe2c40ff4c6fe857b1d5ee3150a +// flow-typed version: <>/jira-connector_vgithub:web-pal/jira-connector#290772714e5ad00aa34854dcc5cd22f6a9c4ce43/flow_v0.68.0 /** * This is an autogenerated libdef stub for: diff --git a/yarn.lock b/yarn.lock index 1ba841102..b817bb8b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,9 +30,9 @@ version "0.0.6" resolved "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz#9cafb171af82329490353b4816f03347aa150a30" -"@atlaskit/analytics-next@^1.1.2": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@atlaskit/analytics-next/-/analytics-next-1.1.6.tgz#e919760ff66807df1f812deb1bb78a10a86e32c1" +"@atlaskit/analytics-next@^1.1.2", "@atlaskit/analytics-next@^1.1.9": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@atlaskit/analytics-next/-/analytics-next-1.1.9.tgz#59e69e0c5057d3bdc047b3f1e86e002cfed157a0" dependencies: prop-types "^15.5.10" @@ -51,7 +51,7 @@ "@atlaskit/theme" "^2.4.1" styled-components "1.4.6 - 3" -"@atlaskit/button@6.6.3", "@atlaskit/button@^6.6.2": +"@atlaskit/button@6.6.3": version "6.6.3" resolved "https://registry.yarnpkg.com/@atlaskit/button/-/button-6.6.3.tgz#8cd275ca510b2301fdb495608fd172cd082e61ea" dependencies: @@ -60,6 +60,15 @@ babel-runtime "^6.26.0" styled-components "1.4.6 - 3" +"@atlaskit/button@^6.6.2": + version "6.6.4" + resolved "https://registry.yarnpkg.com/@atlaskit/button/-/button-6.6.4.tgz#03be2d78592f5a57d5fc6db9886ca962709fdeb6" + dependencies: + "@atlaskit/analytics-next" "^1.1.9" + "@atlaskit/theme" "^2.4.1" + babel-runtime "^6.26.0" + styled-components "1.4.6 - 3" + "@atlaskit/calendar@3.2.1": version "3.2.1" resolved "https://registry.yarnpkg.com/@atlaskit/calendar/-/calendar-3.2.1.tgz#b6649ebfdf39150a156d08a5d45518de02224783" @@ -207,8 +216,8 @@ uuid "^3.1.0" "@atlaskit/layer-manager@^2.8.1": - version "2.8.2" - resolved "https://registry.yarnpkg.com/@atlaskit/layer-manager/-/layer-manager-2.8.2.tgz#fc79b6deaafafbcabc2cbf96f00df65495b1317e" + version "2.8.3" + resolved "https://registry.yarnpkg.com/@atlaskit/layer-manager/-/layer-manager-2.8.3.tgz#49a2f6ff1acd2d25d493b8ecaa6181bae216c51f" dependencies: focusin "^2.0.0" prop-types "^15.5.10" @@ -287,7 +296,7 @@ prop-types "^15.5.10" styled-components "1.4.6 - 3" -"@atlaskit/tooltip@8.4.1", "@atlaskit/tooltip@^8.4.1": +"@atlaskit/tooltip@8.4.1": version "8.4.1" resolved "https://registry.yarnpkg.com/@atlaskit/tooltip/-/tooltip-8.4.1.tgz#69c13f4d9d2df90f8e17d165c087e21dd9104cb7" dependencies: @@ -297,6 +306,16 @@ react-transition-group "^2.2.1" styled-components "1.4.6 - 3" +"@atlaskit/tooltip@^8.4.1": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@atlaskit/tooltip/-/tooltip-8.4.2.tgz#2af48ef96bfcf599c2ffe99a993fc5619f9fbea5" + dependencies: + "@atlaskit/layer-manager" "^2.8.1" + "@atlaskit/theme" "^2.4.1" + react-deprecate "^0.1.0" + react-transition-group "^2.2.1" + styled-components "1.4.6 - 3" + "@atlaskit/util-common@^1.5.2": version "1.5.2" resolved "https://registry.yarnpkg.com/@atlaskit/util-common/-/util-common-1.5.2.tgz#ae9e96c540aa2517ca922542333ac24eb3473cbc" @@ -364,8 +383,8 @@ to-fast-properties "^2.0.0" "@types/node@^7.0.18": - version "7.0.56" - resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.56.tgz#b6b659049191822be43c14610c1785d4b9cddecf" + version "7.0.57" + resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.57.tgz#eed149b2c75cdbd7b9823c3fd64ecddbdc68ed9c" JSONStream@^1.0.4: version "1.3.2" @@ -452,12 +471,13 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5, ajv@^5.3.0, ajv@^5.5.0: json-schema-traverse "^0.3.0" ajv@^6.0.1, ajv@^6.1.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.3.0.tgz#1650a41114ef00574cac10b8032d8f4c14812da7" + version "6.4.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.4.0.tgz#d3aff78e9277549771daf0164cff48482b754fc6" dependencies: fast-deep-equal "^1.0.0" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" + uri-js "^3.0.2" align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" @@ -486,8 +506,8 @@ ansi-escapes@^1.1.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" ansi-escapes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" ansi-gray@^0.1.1: version "0.1.1" @@ -1635,10 +1655,11 @@ bindings@~1.3.0: resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" bl@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" dependencies: - readable-stream "^2.0.5" + readable-stream "^2.3.5" + safe-buffer "^5.1.1" blob@0.0.4: version "0.0.4" @@ -1826,6 +1847,10 @@ browserslist@^2.1.2: caniuse-lite "^1.0.30000792" electron-to-chromium "^1.3.30" +buffer-from@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" + buffer-indexof-polyfill@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz#a9fb806ce8145d5428510ce72f278bb363a638bf" @@ -1879,8 +1904,8 @@ builder-util-runtime@4.0.3: sax "^1.2.4" builder-util-runtime@^4.0.3, builder-util-runtime@^4.0.5: - version "4.1.0" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.1.0.tgz#7dcd042d555d2f161a5538d7a0ea8c292daa0683" + version "4.2.0" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.2.0.tgz#c56aa18d34390143da031c418c9d3a055fbd3522" dependencies: bluebird-lst "^1.0.5" debug "^3.1.0" @@ -2031,12 +2056,12 @@ caniuse-api@^1.5.2: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000817" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000817.tgz#c9f8e236887cf60ae623d1fb1e5ec92877ab1229" + version "1.0.30000820" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000820.tgz#7c20e25cea1768b261b724f82e3a6a253aaa1468" caniuse-lite@^1.0.30000792: - version "1.0.30000817" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000817.tgz#e993c380eb4bfe76a2aed4223f841c02d6e0d832" + version "1.0.30000820" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000820.tgz#6e36ee75187a2c83d26d6504a1af47cc580324d2" capture-stack-trace@^1.0.0: version "1.0.0" @@ -2120,8 +2145,8 @@ check-types@^7.3.0: resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.3.0.tgz#468f571a4435c24248f5fd0cb0e8d87c3c341e7d" chokidar@^2.0.0, chokidar@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7" + version "2.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" dependencies: anymatch "^2.0.0" async-each "^1.0.0" @@ -2135,7 +2160,7 @@ chokidar@^2.0.0, chokidar@^2.0.2: readdirp "^2.0.0" upath "^1.0.0" optionalDependencies: - fsevents "^1.0.0" + fsevents "^1.1.2" chownr@^1.0.1: version "1.0.1" @@ -2228,12 +2253,12 @@ clone-stats@^0.0.1: resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" clone@^1.0.0, clone@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f" + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" clone@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" co@^4.6.0: version "4.6.0" @@ -2414,9 +2439,10 @@ concat-stream@1.6.0: typedarray "^0.0.6" concat-stream@^1.4.7, concat-stream@^1.6.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26" + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: + buffer-from "^1.0.0" inherits "^2.0.3" readable-stream "^2.2.2" typedarray "^0.0.6" @@ -2435,8 +2461,8 @@ concurrently@3.5.1: tree-kill "^1.1.0" configstore@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" + version "3.1.2" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" dependencies: dot-prop "^4.1.0" graceful-fs "^4.1.2" @@ -2482,9 +2508,9 @@ conventional-changelog-angular@^1.6.6: compare-func "^1.3.1" q "^1.5.1" -conventional-changelog-atom@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.4.tgz#4917759947f4db86073f9d3838a2d54302d5843d" +conventional-changelog-atom@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.5.tgz#456fb0245965cb41b38dbc558829aaeadf678ed2" dependencies: q "^1.5.1" @@ -2498,23 +2524,23 @@ conventional-changelog-cli@1.3.8: meow "^3.7.0" tempfile "^1.1.1" -conventional-changelog-codemirror@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.4.tgz#debc43991d487d7964e65087fbbe034044bd51fb" +conventional-changelog-codemirror@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.5.tgz#3e82f128912c86c1e1e0f1dab5ce745d0c2a78a8" dependencies: q "^1.5.1" -conventional-changelog-core@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.5.tgz#45b6347c4c6512e1f163f7ff55c9f5bcb88fd990" +conventional-changelog-core@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.6.tgz#a750621cfb943c9c990c95d5ae8f18fc35be38fa" dependencies: - conventional-changelog-writer "^3.0.4" - conventional-commits-parser "^2.1.5" + conventional-changelog-writer "^3.0.5" + conventional-commits-parser "^2.1.6" dateformat "^3.0.0" get-pkg-repo "^1.0.0" - git-raw-commits "^1.3.4" + git-raw-commits "^1.3.5" git-remote-origin-url "^2.0.0" - git-semver-tags "^1.3.4" + git-semver-tags "^1.3.5" lodash "^4.2.1" normalize-package-data "^2.3.5" q "^1.5.1" @@ -2522,21 +2548,21 @@ conventional-changelog-core@^2.0.5: read-pkg-up "^1.0.1" through2 "^2.0.0" -conventional-changelog-ember@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.6.tgz#f3825d7434168f3d9211b5532dc1d5769532b668" +conventional-changelog-ember@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.7.tgz#096a14794e054fc08dde055364e98aaee8b1a8c4" dependencies: q "^1.5.1" -conventional-changelog-eslint@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.5.tgz#8bae05ebbf574e6506caf7b37dc51ca21b74d220" +conventional-changelog-eslint@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.6.tgz#e9060f450ec8d63c671e54bd471e0502ee19183f" dependencies: q "^1.5.1" -conventional-changelog-express@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.4.tgz#812a9cf778677e12f978ac9c40d85297c0bfcca9" +conventional-changelog-express@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.5.tgz#b01b9f9a8f2d4e37bbafec7cc7d9c0b0570f6b26" dependencies: q "^1.5.1" @@ -2552,23 +2578,23 @@ conventional-changelog-jscs@^0.1.0: dependencies: q "^1.4.1" -conventional-changelog-jshint@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.4.tgz#b2de33cd0870d9af804ac6a4fded0ee25b69c9bb" +conventional-changelog-jshint@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.5.tgz#ae9fadbeb9b05cd305e665efd0df54dfb19a00f9" dependencies: compare-func "^1.3.1" q "^1.5.1" -conventional-changelog-preset-loader@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.6.tgz#b29af6332f9313857be36427623c9016bfeeaf33" +conventional-changelog-preset-loader@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.7.tgz#58a7ef85f980ca17f1373dc222ff449606222fb6" -conventional-changelog-writer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.4.tgz#705b46a8b8277bd7fd79cad8032095b5d803864c" +conventional-changelog-writer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.5.tgz#d7ce157209c55057a2487e645193a2e6b9027943" dependencies: compare-func "^1.3.1" - conventional-commits-filter "^1.1.5" + conventional-commits-filter "^1.1.6" dateformat "^3.0.0" handlebars "^4.0.2" json-stringify-safe "^5.0.1" @@ -2579,35 +2605,35 @@ conventional-changelog-writer@^3.0.4: through2 "^2.0.0" conventional-changelog@^1.1.10: - version "1.1.18" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.18.tgz#ffe28798e4ddef5f6e2f74398e8248bcb233360b" + version "1.1.19" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.19.tgz#a2b2335839e16122cc4ccec6ef57312c749d67c5" dependencies: conventional-changelog-angular "^1.6.6" - conventional-changelog-atom "^0.2.4" - conventional-changelog-codemirror "^0.3.4" - conventional-changelog-core "^2.0.5" - conventional-changelog-ember "^0.3.6" - conventional-changelog-eslint "^1.0.5" - conventional-changelog-express "^0.3.4" + conventional-changelog-atom "^0.2.5" + conventional-changelog-codemirror "^0.3.5" + conventional-changelog-core "^2.0.6" + conventional-changelog-ember "^0.3.7" + conventional-changelog-eslint "^1.0.6" + conventional-changelog-express "^0.3.5" conventional-changelog-jquery "^0.1.0" conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^0.3.4" - conventional-changelog-preset-loader "^1.1.6" + conventional-changelog-jshint "^0.3.5" + conventional-changelog-preset-loader "^1.1.7" conventional-commit-types@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz#5db95739d6c212acbe7b6f656a11b940baa68946" -conventional-commits-filter@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.5.tgz#77aac065e3de9c1a74b801e8e25c9affb3184f65" +conventional-commits-filter@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831" dependencies: is-subset "^0.1.1" modify-values "^1.0.0" -conventional-commits-parser@^2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.5.tgz#9ac3a4ab221c0c3c9e9dd2c09ae01e6d1e1dabe0" +conventional-commits-parser@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.6.tgz#e594bbd8342d3e6758aa0344ca074719d69a7dc0" dependencies: JSONStream "^1.0.4" is-text-path "^1.0.0" @@ -3202,8 +3228,8 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" ejs@^2.5.7: - version "2.5.7" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" + version "2.5.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.8.tgz#2ab6954619f225e6193b7ac5f7c39c48fefe4380" electron-builder-lib@19.55.3: version "19.55.3" @@ -3478,8 +3504,8 @@ error-stack-parser@^1.3.6: stackframe "^0.3.1" es-abstract@^1.7.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" + version "1.11.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" dependencies: es-to-primitive "^1.1.1" function-bind "^1.1.1" @@ -4064,8 +4090,8 @@ filename-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" filesize@^3.5.11: - version "3.6.0" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.0.tgz#22d079615624bb6fd3c04026120628a41b3f4efa" + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" fill-range@^2.1.0: version "2.2.3" @@ -4302,7 +4328,7 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.0.0: +fsevents@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" dependencies: @@ -4379,9 +4405,9 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.4.tgz#442c3df5985b4f5689e9e43597f5194736aac001" +git-raw-commits@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.5.tgz#0951ae8dc80e5cee8ef54934db4ef65a6d161c60" dependencies: dargs "^4.0.1" lodash.template "^4.0.2" @@ -4396,9 +4422,9 @@ git-remote-origin-url@^2.0.0: gitconfiglocal "^1.0.0" pify "^2.3.0" -git-semver-tags@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.4.tgz#2ceb2a355c6d7514c123c35e297067d08caf3a92" +git-semver-tags@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.5.tgz#b803e8ee36c09e8cec3e9441f5bac292fd163c18" dependencies: meow "^4.0.0" semver "^5.5.0" @@ -4491,8 +4517,8 @@ global@^4.3.0: process "~0.5.1" globals@^11.0.1, globals@^11.1.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0" + version "11.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.4.0.tgz#b85c793349561c16076a3c13549238a27945f1bc" globals@^9.18.0: version "9.18.0" @@ -4899,8 +4925,8 @@ icss-utils@^2.1.0: postcss "^6.0.1" ieee754@^1.1.4: - version "1.1.10" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.10.tgz#719a6f7b026831e64bdb838b0de1bb0029bbf716" + version "1.1.11" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" ignore-by-default@^1.0.1: version "1.0.1" @@ -5108,7 +5134,7 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" -is-ci@^1.1.0: +is-ci@^1.0.10, is-ci@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" dependencies: @@ -5262,8 +5288,8 @@ is-path-cwd@^1.0.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" dependencies: is-path-inside "^1.0.0" @@ -5425,9 +5451,9 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -"jira-connector@github:web-pal/jira-connector#c32722762d8d00c908f2449f6091e34f93937e7e": +"jira-connector@github:web-pal/jira-connector#290772714e5ad00aa34854dcc5cd22f6a9c4ce43": version "2.7.0" - resolved "https://codeload.github.com/web-pal/jira-connector/tar.gz/c32722762d8d00c908f2449f6091e34f93937e7e" + resolved "https://codeload.github.com/web-pal/jira-connector/tar.gz/290772714e5ad00aa34854dcc5cd22f6a9c4ce43" dependencies: oauth "^0.9.12" request "^2.83.0" @@ -5552,8 +5578,8 @@ keycode@^2.1.2, keycode@^2.1.7: resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" keytar@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/keytar/-/keytar-4.2.0.tgz#1c43ce1dff113a300c28e65dae700564520ee972" + version "4.2.1" + resolved "https://registry.yarnpkg.com/keytar/-/keytar-4.2.1.tgz#8a06a6577fdf6373e0aa6b112277e63dec77fd12" dependencies: nan "2.8.0" prebuild-install "^2.4.1" @@ -5862,8 +5888,8 @@ loud-rejection@^1.0.0: signal-exit "^3.0.0" lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" lru-cache@^4.0.1: version "4.1.2" @@ -6012,8 +6038,8 @@ micromatch@^2.3.11, micromatch@^2.3.7: regex-cache "^0.4.2" micromatch@^3.1.4: - version "3.1.9" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89" + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -6027,7 +6053,7 @@ micromatch@^3.1.4: object.pick "^1.3.0" regex-not "^1.0.0" snapdragon "^0.8.1" - to-regex "^3.0.1" + to-regex "^3.0.2" miller-rabin@^4.0.0: version "4.0.1" @@ -6129,8 +6155,8 @@ mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd minimist "0.0.8" modify-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" + version "1.0.1" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" moment-duration-format@2.2.1: version "2.2.1" @@ -7084,8 +7110,8 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 supports-color "^3.2.3" postcss@^6.0.1: - version "6.0.20" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.20.tgz#686107e743a12d5530cb68438c590d5b2bf72c3c" + version "6.0.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.21.tgz#8265662694eddf9e9a5960db6da33c39e4cd069d" dependencies: chalk "^2.3.2" source-map "^0.6.1" @@ -7253,6 +7279,10 @@ punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + q@^1.1.2, q@^1.4.1, q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -7293,8 +7323,8 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" raf-schd@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-2.1.0.tgz#64d645723380ec25cc1714e909b953ef1cf254bf" + version "2.1.1" + resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-2.1.1.tgz#0b59964cee2e96b7dd46ffaeb5c08740f3a5e7ab" raf@^3.0.0: version "3.4.0" @@ -7566,7 +7596,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3: +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5: version "2.3.5" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" dependencies: @@ -8420,8 +8450,8 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" spdy-transport@^2.0.18: - version "2.0.20" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d" + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1" dependencies: debug "^2.6.8" detect-node "^2.0.3" @@ -8904,7 +8934,7 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" -to-regex@^3.0.1: +to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" dependencies: @@ -9155,19 +9185,26 @@ upath@^1.0.0: resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d" update-notifier@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" + version "2.4.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.4.0.tgz#f9b4c700fbfd4ec12c811587258777d563d8c866" dependencies: boxen "^1.2.1" chalk "^2.0.1" configstore "^3.0.0" import-lazy "^2.1.0" + is-ci "^1.0.10" is-installed-globally "^0.1.0" is-npm "^1.0.0" latest-version "^3.0.0" semver-diff "^2.0.0" xdg-basedir "^3.0.0" +uri-js@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-3.0.2.tgz#f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa" + dependencies: + punycode "^2.1.0" + urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" From 3f639028f7e892dc704b6a97a6e89bac3c835bbf Mon Sep 17 00:00:00 2001 From: Architektor Date: Tue, 27 Mar 2018 14:52:32 +0300 Subject: [PATCH 8/9] chore: bump version to 2.6.4 --- app/package.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/package.json b/app/package.json index 720c5c1f6..6637af9c3 100644 --- a/app/package.json +++ b/app/package.json @@ -1,7 +1,7 @@ { "name": "Chronos", "productName": "Chronos", - "version": "2.6.3", + "version": "2.6.4", "description": "Native app for time-tracking fully integrated with JIRA", "main": "./main.prod.js", "scripts": { diff --git a/package.json b/package.json index 821b4ef9f..004b303b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Chronos", - "version": "2.6.3", + "version": "2.6.4", "description": "Full functionality time tracking software with direct JIRA integration", "scripts": { "build": "concurrently \"yarn build-main\" \"yarn build-renderer\"", From 91be1652f32fe23cbb952fc5338c3b712b26a6bd Mon Sep 17 00:00:00 2001 From: Architektor Date: Tue, 27 Mar 2018 14:52:33 +0300 Subject: [PATCH 9/9] chore: update CHANGELOG --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cccd1d10..8a9865e07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ + +## [2.6.4](https://github.com/web-pal/chronos-timetracker/compare/v2.6.3...v2.6.4) (2018-03-27) + + +### Bug Fixes + +* **Browsing Issues:** fix for filter of issues for sprint ([#102](https://github.com/web-pal/chronos-timetracker/issues/102)) ([26b0608](https://github.com/web-pal/chronos-timetracker/commit/26b0608)) +* **Issue Detail View:** fix too wide comments tab if there are comments with long strings ([#100](https://github.com/web-pal/chronos-timetracker/issues/100)) ([804bfb6](https://github.com/web-pal/chronos-timetracker/commit/804bfb6)), closes [#83](https://github.com/web-pal/chronos-timetracker/issues/83) + + +### Features + +* add adjust start time checkbox to worklog modal ([#98](https://github.com/web-pal/chronos-timetracker/issues/98)) ([0ce226d](https://github.com/web-pal/chronos-timetracker/commit/0ce226d)), closes [#84](https://github.com/web-pal/chronos-timetracker/issues/84) +* **Tracking:** add checkbox to post comment also as issue comment ([#99](https://github.com/web-pal/chronos-timetracker/issues/99)) ([6f6c23a](https://github.com/web-pal/chronos-timetracker/commit/6f6c23a)), closes [#90](https://github.com/web-pal/chronos-timetracker/issues/90) +* **Tracking:** worklog comment as a required item ([#101](https://github.com/web-pal/chronos-timetracker/issues/101)) ([33043bd](https://github.com/web-pal/chronos-timetracker/commit/33043bd)), closes [#81](https://github.com/web-pal/chronos-timetracker/issues/81) + + + ## [2.6.3](https://github.com/web-pal/chronos-timetracker/compare/v2.6.2...v2.6.3) (2018-03-21)