From 65bea649f4872be03b804a14b15fcfa4f68e6023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20Norman=20Hauk=C3=A5s?= Date: Sun, 22 Nov 2015 18:05:52 +0100 Subject: [PATCH] added better error handling to rangy.js --- src/services/webpage.service.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/services/webpage.service.ts b/src/services/webpage.service.ts index 6885816..ee88fd2 100644 --- a/src/services/webpage.service.ts +++ b/src/services/webpage.service.ts @@ -102,10 +102,18 @@ module tagIt { private readdTagToPage (tagToLoad: ISenseTag) { this.$log.debug('addNewTagToPage'); - var savedRange : Range = rangy.deserializeRange( - tagToLoad.serializedSelectionRange, - document.getElementById('tagit-body')); + var savedRange : Range = undefined var selection = window.getSelection(); + try { + savedRange = rangy.deserializeRange( + tagToLoad.serializedSelectionRange, + document.getElementById('tagit-body')); + } catch (e) { + this.$log.error('Error in rangy.js: Was not able to deserialize range.'); + this.$log.error('In other words: The page might have changed. Is not able '); + this.$log.error('to determine where this tag should have been placed.'); + this.$log.error(e); + } //remove any present selections selection.removeAllRanges();