aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/apis/hypothesis/HypothesisUtils.ts10
-rw-r--r--src/client/views/MainView.tsx15
2 files changed, 17 insertions, 8 deletions
diff --git a/src/client/apis/hypothesis/HypothesisUtils.ts b/src/client/apis/hypothesis/HypothesisUtils.ts
index 16f132e97..8d941cac6 100644
--- a/src/client/apis/hypothesis/HypothesisUtils.ts
+++ b/src/client/apis/hypothesis/HypothesisUtils.ts
@@ -50,16 +50,16 @@ export namespace Hypothesis {
var success = false;
const onSuccess = action(() => {
- console.log("EDITSUCCESS");
+ console.log("EDIT SUCCESS");
+ success = true;
clearTimeout(interval);
DocumentLinksButton.invisibleWebDoc = undefined;
document.removeEventListener("editSuccess", onSuccess);
- success = true;
});
- console.log("SEND addLink");
+ console.log("send addLink");
const newHyperlink = `[${title}\n](${url})`;
- const interval = setInterval(() => // keep trying to scroll every 250ms until annotations have loaded and editing is successful
+ const interval = setInterval(() => // keep trying to edit until annotations have loaded and editing is successful
!success && document.dispatchEvent(new CustomEvent<{ newHyperlink: string, id: string }>("addLink", {
detail: { newHyperlink: newHyperlink, id: annotationId },
bubbles: true
@@ -70,7 +70,7 @@ export namespace Hypothesis {
clearInterval(interval);
DocumentLinksButton.invisibleWebDoc = undefined;
}
- }), 15000); // give up if no success after 15s
+ }), 12000); // give up if no success after 12s
document.addEventListener("editSuccess", onSuccess);
};
diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx
index ef44e0a4e..11ffcc734 100644
--- a/src/client/views/MainView.tsx
+++ b/src/client/views/MainView.tsx
@@ -824,12 +824,21 @@ export class MainView extends React.Component {
</div>;
</span>, ele);
- const interval = setInterval(() => {
+ var success = false;
+ const onSuccess = () => {
+ console.log("EDIT SUCCESS");
+ success = true;
+ clearTimeout(interval);
+ document.removeEventListener("editSuccess", onSuccess);
+ };
+
+ const interval = setInterval(() => { // keep trying to click until annotations have loaded and editing is successful
console.log("clicked");
- simulateMouseClick(ele, 50, 50, 50, 50);
+ !success && simulateMouseClick(ele, 50, 50, 50, 50);
}, 500);
- setTimeout(() => clearInterval(interval), 10000);
+ setTimeout(() => !success && clearInterval(interval), 10000); // give up if no success after 10s
+ document.addEventListener("editSuccess", onSuccess);
});
}
}