Skip to content

Commit be6d649

Browse files
authored
Merge pull request #324 from dhingrak/fix-404Errors-gracefully
Fix - NotFound errors gracefully
2 parents 40decea + 9de5f46 commit be6d649

File tree

7 files changed

+32
-17
lines changed

7 files changed

+32
-17
lines changed

src/css/main.css

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -477,12 +477,6 @@ kbd {
477477
border-radius: 12px;
478478
border: 1px solid black; }
479479

480-
.subscription-active {
481-
background: lime; }
482-
483-
.behind-notcatchingup {
484-
background: red; }
485-
486480
.toast-container-modal {
487481
width: 100%;
488482
height: 100%;

src/js/modules/competing/controllers/SubscriptionsViewParkedMessagesCtrl.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
define(['./_module'], function (app) {
22

33
'use strict';
4+
5+
function checkErrorStatus(error, $scope, msg) {
6+
if (error.statusCode === 404 || error.statusCode === 410) {
7+
// Setting the entries array to empty because the stream does not exist
8+
$scope.entries = [];
9+
} else {
10+
msg.failure('Failed to read parked messages: ' + error.message);
11+
}
12+
}
413

514
return app.controller('SubscriptionsViewParkedMessagesCtrl', [
615
'$scope', '$stateParams', 'CompetingService', 'poller', 'MessageService',
@@ -20,7 +29,7 @@ define(['./_module'], function (app) {
2029
$scope.entries = []
2130
}
2231
}, function(error){
23-
msg.failure('Failed to read parked messages: ' + error.message);
32+
checkErrorStatus(error, $scope, msg);
2433
});
2534

2635
$scope.pageForward = function(entries){
@@ -32,7 +41,7 @@ define(['./_module'], function (app) {
3241
if(data!==undefined && data["entries"]!==undefined && data["entries"].length > 0)
3342
$scope.entries = data["entries"];
3443
}, function(error){
35-
msg.failure('Failed to read parked messages: ' + error.message);
44+
checkErrorStatus(error, $scope, msg);
3645
});
3746
}
3847
};
@@ -63,7 +72,7 @@ define(['./_module'], function (app) {
6372

6473
});
6574
firstPagePoll.promise.catch(function (error) {
66-
msg.failure('Failed to read parked messages: ' + error.message);
75+
checkErrorStatus(error, $scope, msg);
6776
firstPagePoll.stop();
6877
});
6978

@@ -79,7 +88,7 @@ define(['./_module'], function (app) {
7988
$scope.entries = data["entries"];
8089
}
8190
}, function(error){
82-
msg.failure('Failed to read parked messages: ' + error.message);
91+
checkErrorStatus(error, $scope, msg);
8392
});
8493
}
8594
};
@@ -92,7 +101,7 @@ define(['./_module'], function (app) {
92101
$scope.entries = data["entries"];
93102
}
94103
}, function(error){
95-
msg.failure('Failed to read parked messages: ' + error.message);
104+
checkErrorStatus(error, $scope, msg);
96105
});
97106

98107
firstPagePoll.start();

src/js/modules/competing/templates/templates.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/js/modules/competing/views/subscriptions.item.viewparkedmessages.tpl.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ <h2 class="page-title">View Parked Messages - {{streamId}}::{{groupName}}</h2>
1919
<thead>
2020
<tr><th>Event #</th><th>Name</th><th>Type</th><th>Created Date</th><th></th></tr>
2121
</thead>
22-
<tbody ng-repeat="event in entries track by event.positionEventNumber">
22+
<tbody ng-repeat="event in entries track by event.positionEventNumber">
2323
<tr ng-class="{ 'invalid': !event.streamId }">
2424
<td>{{ event.positionEventNumber }}</td>
2525
<td>{{ event.title }}</td><td>{{ event.eventType }}</td>
@@ -40,4 +40,12 @@ <h2 class="page-title">View Parked Messages - {{streamId}}::{{groupName}}</h2>
4040
</td>
4141
</tr>
4242
</tbody>
43+
44+
<tbody ng-if="entries.length < 1">
45+
<tr>
46+
<td colspan="5">
47+
<em>No parked events for subscription {{streamId}}::{{groupName}}
48+
</td>
49+
</tr>
50+
</tbody>
4351
</table>

src/js/modules/streams/controllers/StreamsItemEventsCtrl.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ define(['./_module'], function (app) {
1717

1818
atom.start($stateParams)
1919
.then(null, function (error) {
20-
msg.failure('Failed to read events for stream \''+$scope.streamId+'\': ' + error.message);
20+
if (error.statusCode === 404 || error.statusCode === 410) {
21+
$scope.entries = []
22+
} else {
23+
msg.failure('Failed to read events for stream \''+$scope.streamId+'\': ' + error.message);
24+
}
2125
}, function (data) {
2226
$scope.$parent.headOfStream = data.headOfStream;
2327
$scope.$broadcast('add-link-header', findSelf(data.links));

src/js/modules/streams/templates/templates.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ module.run(['$templateCache', function($templateCache) {
5454
'{{ event.metaData }} \n' +
5555
' </pre></div><div ng-if=event.isLinkMetaData><strong>Link metadata</strong><pre>\n' +
5656
'{{ event.linkMetaData }} \n' +
57-
' </pre></div></td></tr></tbody><tbody ng-hide=streams><tr><td colspan=5><em>No events for current path: {{ $stateParams | json }}</em></td></tr></tbody></table>');
57+
' </pre></div></td></tr></tbody><tbody ng-if="streams.length < 1"><tr><td colspan=5><em>No events for stream: {{ streamId }}</em></td></tr></tbody></table>');
5858
}]);
5959
})();
6060

src/js/modules/streams/views/streams.item.events.tpl.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@
4949
</td>
5050
</tr>
5151
</tbody>
52-
<tbody ng-hide="streams">
52+
<tbody ng-if="streams.length < 1">
5353
<tr>
5454
<td colspan="5">
55-
<em>No events for current path: {{ $stateParams | json }}
55+
<em>No events for stream: {{ streamId }}
5656
</td>
5757
</tr>
5858
</tbody>

0 commit comments

Comments
 (0)