Skip to content

Commit

Permalink
fix(jira): sometimes crashing app for wrong config #253
Browse files Browse the repository at this point in the history
  • Loading branch information
johannesjo committed Nov 1, 2019
1 parent 754beb2 commit d23d98f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 11 deletions.
2 changes: 1 addition & 1 deletion electron/jira.ts
Expand Up @@ -93,6 +93,6 @@ const parseHostAndPort = (config: JiraCfg) => {
protocol = 'https';
}

console.log({host, protocol, port});
// console.log({host, protocol, port});
return {host, protocol, port};
};
6 changes: 5 additions & 1 deletion src/app/core/error-handler/global-error-handler.class.ts
Expand Up @@ -41,7 +41,10 @@ const _createErrorAlert = (eSvc: ElectronService, err: string, stackTrace: strin


const isHandledError = (err): boolean => {
return (err && err.hasOwnProperty(HANDLED_ERROR_PROP_STR));
const errStr = (typeof err === 'string') ? err : err.toString();
// NOTE: for some unknown reason sometimes err is undefined while err.toString is not...
// this is why we also check the string value
return (err && err.hasOwnProperty(HANDLED_ERROR_PROP_STR)) || (errStr.match(HANDLED_ERROR_PROP_STR));
};

@Injectable()
Expand All @@ -62,6 +65,7 @@ export class GlobalErrorHandler implements ErrorHandler {
const errStr = (typeof err === 'string') ? err : err.toString();
// tslint:disable-next-line
const stack = err && err.stack;
console.log(isHandledError(err), err[HANDLED_ERROR_PROP_STR], errStr);

// if not our custom error handler we have a critical error on our hands
if (!isHandledError(err)) {
Expand Down
12 changes: 3 additions & 9 deletions src/app/features/issue/jira/jira-api.service.ts
Expand Up @@ -9,13 +9,7 @@ import {
JIRA_REQUEST_TIMEOUT_DURATION
} from './jira.const';
import {ProjectService} from '../../project/project.service';
import {
mapIssueResponse,
mapIssuesResponse,
mapResponse,
mapToSearchResults,
mapTransitionResponse
} from './jira-issue/jira-issue-map.util';
import {mapIssueResponse, mapIssuesResponse, mapResponse, mapToSearchResults, mapTransitionResponse} from './jira-issue/jira-issue-map.util';
import {JiraOriginalStatus, JiraOriginalTransition, JiraOriginalUser} from './jira-api-responses';
import {JiraCfg} from './jira';
import {ElectronService} from 'ngx-electron';
Expand Down Expand Up @@ -314,8 +308,8 @@ export class JiraApiService {
return fromPromise(promise)
.pipe(
catchError((err) => {
const errTxt = getJiraResponseErrorTxt(err);
this._snackService.open({type: 'ERROR', msg: `Jira: ${errTxt}`});
const errTxt = `Jira: ${getJiraResponseErrorTxt(err)}`;
this._snackService.open({type: 'ERROR', msg: errTxt});
return throwError({[HANDLED_ERROR_PROP_STR]: errTxt});
}),
first(),
Expand Down

0 comments on commit d23d98f

Please sign in to comment.