@@ -289,7 +289,7 @@ export default {
289289 return new Promise ((resolve , reject ) => {
290290 interval = setInterval (function () {
291291 for (const message of messages) {
292- if (! _this .state . messages [ message] ) {
292+ if (! _this .loadedMessages . includes ( message . split ( ' [ ' )[ 0 ]) ) {
293293 counter += 1
294294 if (counter > 30 ) { // 30 * 300ms = 9 s timeout
295295 console .log (' not resolving' )
@@ -536,7 +536,7 @@ export default {
536536 return names .join (' , ' )
537537 },
538538 findMessagesInExpression (expression ) {
539- const RE = / (?<message>[A-Z ][A-Z0-9 _] + (\[ [0-9 ] \] )? )(\. (?<field>[A-Za-z0-9 _] + ))? / g
539+ const RE = / (?<message>[A-Z ][A-Z0-9 _] + (\[ [A-Za-z0-9 _ . ] + \] )? )(\. (?<field>[A-Za-z0-9 _] + ))? / g
540540 const match = []
541541 for (const m of expression .matchAll (RE )) {
542542 match .push ([m .groups .message , m .groups .field ])
@@ -553,7 +553,7 @@ export default {
553553 return [true , ' ' ]
554554 }
555555 for (const [message , field ] of messages) {
556- if (( ! (message in this .state . messageTypes ) && ! (( message + ' [0] ' ) in this . state . messageTypes ))) {
556+ if (! ( this .messagesInLog . includes ( message . split ( ' [ ' )[ 0 ] ))) {
557557 console .log (' ERROR: attempted to plot unavailable message: ' + message)
558558 this .state .plotLoading = false
559559 if (reask) {
@@ -595,11 +595,16 @@ export default {
595595 // TODO: USE this regex with lookahead once firefox supports it
596596 // let RE = /(?<!\.)\b[A-Z][A-Z0-9_]+\b/g
597597 let fields = this .findMessagesInExpression (expression1).map (field => field[0 ])
598+ console .log (fields)
598599 fields = fields === null ? [] : fields
599600 const messages = fields .length !== 0 ? (fields) : []
600601 // use time of first message for now
601602 let x
602603 if (messages .length > 0 ) {
604+ if (this .state .messages [messages[0 ]] === undefined ) {
605+ console .log (' ERROR: message ' + messages[0 ] + ' not found' )
606+ return { error: ' message ' + messages[0 ] + ' not found' }
607+ }
603608 x = this .state .messages [messages[0 ]].time_boot_ms
604609 } else {
605610 try {
@@ -1020,6 +1025,16 @@ export default {
10201025 },
10211026 expressions () {
10221027 return this .state .expressions
1028+ },
1029+ loadedMessages () {
1030+ return Object .keys (this .state .messages ).map (key => {
1031+ return key .split (' [' )[0 ]
1032+ })
1033+ },
1034+ messagesInLog () {
1035+ return Object .keys (this .state .messageTypes ).map (key => {
1036+ return key .split (' [' )[0 ]
1037+ })
10231038 }
10241039 },
10251040 watch: {
0 commit comments