diff --git a/src/lib/project-saver-hoc.jsx b/src/lib/project-saver-hoc.jsx index dc3ee65cbc0e60092dda9d1e882d9e18d2a3dd7b..3898d08d679e5fdfd2400358cbf5e182533a45ae 100644 --- a/src/lib/project-saver-hoc.jsx +++ b/src/lib/project-saver-hoc.jsx @@ -251,6 +251,7 @@ const ProjectSaverHOC = function (WrappedComponent) { if (id && this.props.onUpdateProjectThumbnail) { this.storeProjectThumbnail(id); } + this.reportTelemetryEvent('projectDidSave'); return response; }) .catch(err => { @@ -291,9 +292,15 @@ const ProjectSaverHOC = function (WrappedComponent) { */ // TODO make a telemetry HOC and move this stuff there reportTelemetryEvent (event) { - if (this.props.onProjectTelemetryEvent) { - const metadata = collectMetadata(this.props.vm, this.props.reduxProjectTitle, this.props.locale); - this.props.onProjectTelemetryEvent(event, metadata); + try { + if (this.props.onProjectTelemetryEvent) { + const metadata = collectMetadata(this.props.vm, this.props.reduxProjectTitle, this.props.locale); + this.props.onProjectTelemetryEvent(event, metadata); + } + } catch (e) { + log.error('Telemetry error', event, e); + // This is intentionally fire/forget because a failure + // to report telemetry should not block saving } }