fix(insights): privacy fix

This commit is contained in:
Haoyu Xu
2023-07-30 04:34:25 -04:00
parent fecf67a522
commit a33da04729
6 changed files with 27 additions and 11 deletions

View File

@@ -31,7 +31,7 @@ let lastVoiceState = 'ended'
export default function Error() {
// eslint-disable-next-line no-unused-vars
const _trackEvt = useUmami('/error')
const _trackEvt = useUmami('/error', "Error")
const error = useRouteError();
const navigate = useNavigate();
const {

View File

@@ -11,7 +11,7 @@ import Border from '@/component/border';
export default function Changelogs() {
// eslint-disable-next-line no-unused-vars
const _trackEvt = useUmami('/changelogs')
const _trackEvt = useUmami('/changelogs', "Changelogs")
const {
setTitle,
setTabs,

View File

@@ -29,7 +29,7 @@ let lastVoiceState = 'ended'
export default function Home() {
// eslint-disable-next-line no-unused-vars
const _trackEvt = useUmami('/')
const _trackEvt = useUmami('/', "Dynamic Compile")
const {
setTitle,
setTabs,

View File

@@ -74,7 +74,7 @@ export default function Operator() {
const [config, setConfig] = useState(null)
const [spineData, setSpineData] = useState(null)
// eslint-disable-next-line no-unused-vars
const _trackEvt = useUmami(`/${key}`)
const _trackEvt = useUmami(`/${key}`, `${key}`)
const spineRef = useRef(null)
const [spineAnimation, setSpineAnimation] = useState(defaultSpineAnimation)
const { i18n } = useI18n()

View File

@@ -15,18 +15,28 @@ export const registerUmamiScript = (url, websiteId, dataDomain) => {
}
}
export default (url, referrer, websiteId, skipPageView) => {
export default (url, title, referrer, websiteId, skipPageView) => {
skipPageView = skipPageView || false
React.useEffect(() => {
if (!skipPageView && window.umami) {
if (!skipPageView && window.umami && import.meta.env.MODE !== 'development') {
try {
const umami = window.umami
umami.track(props => ({ ...props, url: url, referrer: referrer, website: websiteId }))
const dict = {}
if (title) {
dict.title = title
}
if (referrer) {
dict.referrer = referrer
}
if (websiteId) {
dict.websiteId = websiteId
}
umami.track(props => ({ ...props, url: url, ...dict }))
} catch (err) {
console.warn && console.warn(err.message)
}
}
}, [url, referrer, websiteId, skipPageView])
}, [url, title, referrer, websiteId, skipPageView])
const trackEvent = (eventValue) => {
try {

View File

@@ -89,7 +89,10 @@ export default class Settings {
this.#doNotTrack = doNotTrack
if (this.#doNotTrack) return
try {
window.umami?.track(props => ({ ...props, url: `/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam" : ""}` }));
window.umami?.track(props => ({
...props,
url: `/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam" : ""}`
}));
} catch(e) {
console.warn && console.warn(e.message)
}
@@ -97,9 +100,12 @@ export default class Settings {
functionInsights(functionName, toSkip = false) {
if (!this.#isInsightsInited || this.#doNotTrack || import.meta.env.MODE === 'development' || functionName === this.#lastFunctionInsights || toSkip) return
this.#lastFunctionInsights = functionName
try {
window.umami?.track(`${functionName}`);
window.umami?.track(props => ({
...props,
name: `${functionName}`,
url: `/${import.meta.env.VITE_LINK}${this.isWallpaperEngine ? "?steam" : ""}`
}));
} catch (e) {
console.warn && console.warn(e.message)
}