From 78ea35da298d76078a72267d11d26151e8076977 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Mon, 4 Jun 2018 15:13:58 -0400 Subject: [PATCH] Mark documents as viewed after a short delay instead of immediately. This should result in more accurate view counts --- app/scenes/Document/Document.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/scenes/Document/Document.js b/app/scenes/Document/Document.js index ae809986e..efa69b2a5 100644 --- a/app/scenes/Document/Document.js +++ b/app/scenes/Document/Document.js @@ -34,6 +34,7 @@ import Search from 'scenes/Search'; import Error404 from 'scenes/Error404'; const AUTOSAVE_INTERVAL = 3000; +const MARK_AS_VIEWED_AFTER = 3000; const DISCARD_CHANGES = ` You have unsaved changes. Are you sure you want to discard them? @@ -52,6 +53,7 @@ type Props = { @observer class DocumentScene extends React.Component { savedTimeout: TimeoutID; + viewTimeout: TimeoutID; @observable editorComponent; @observable editCache: ?string; @@ -80,6 +82,8 @@ class DocumentScene extends React.Component { componentWillUnmount() { clearTimeout(this.savedTimeout); + clearTimeout(this.viewTimeout); + this.props.ui.clearActiveDocument(); } @@ -115,7 +119,7 @@ class DocumentScene extends React.Component { if (this.props.auth.user) { if (!this.isEditing && document.publishedAt) { - document.view(); + this.viewTimeout = setTimeout(document.view, MARK_AS_VIEWED_AFTER); } // Update url to match the current one