3859d9d555
Root cause #1: BrowserMultiFormatReader constructor takes 0 args so hints and timing options (passed as args) were silently ignored. Hints are now applied as reader.reader.hints, and timing as instance properties. Root cause #2: ZXing per-frame 'no barcode' exceptions have message=undefined causing .toLowerCase() to crash in old message-text filter. Switched to instanceof checks against NotFoundException, ChecksumException, FormatException which properly distinguishes normal 'no barcode' frames from real errors. Tested in browser — hint setting and error filtering both verified working.