Skip to content

Commit 3d95236

Browse files
committed
Handle case of mismatched record types
If the wrong kind of record invades the list of `roleRecordIds`, the call to get the actual role record will fail. Guard against that.
1 parent cd9328a commit 3d95236

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

app/manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"manifest_version": 4,
44
"name": "Toastmasters Agenda",
55
"disable_app_level_comments": false,
6-
"version_name": "2.1.4",
7-
"version_number": 23,
6+
"version_name": "2.1.5",
7+
"version_number": 24,
88
"sizing_mode": "fill_container",
99
"initial_height": 300,
1010
"initial_width": 300,

src/components/roles.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,23 @@ export default function Roles() {
2828
.get('roleRecordIds')
2929
.getRecords()
3030
.map((rolePointer, i) => {
31-
const roleRecord = rolePointer.getRoleRecord();
31+
let roleRecord;
32+
let roleRecordId;
33+
34+
try {
35+
roleRecordId = rolePointer.get('roleRecordId') ||
36+
'<unknown>';
37+
roleRecord = rolePointer.getRoleRecord();
38+
} catch(e) { }
39+
3240
return (
3341
roleRecord
34-
? <Role roleRecord={rolePointer.getRoleRecord()} />
42+
? <Role roleRecord={roleRecord} />
3543
: (
3644
<tr key={`error-${i}`}>
3745
<td colSpan="3">
38-
Error loading record with recordId{' '}
39-
= {rolePointer.get('roleRecordId')}.
46+
Error loading record with{' '}
47+
<tt>recordId = {roleRecordId}</tt>.
4048
</td>
4149
</tr>
4250
)

0 commit comments

Comments
 (0)