diff --git a/assets/icons/64x64.png b/assets/icons/64x64.png
new file mode 100644
index 00000000..9da91a93
Binary files /dev/null and b/assets/icons/64x64.png differ
diff --git a/flatpak/com.github.ransome1.sleek.appdata.xml b/flatpak/com.github.ransome1.sleek.appdata.xml
index eabc493b..34dfebd9 100755
--- a/flatpak/com.github.ransome1.sleek.appdata.xml
+++ b/flatpak/com.github.ransome1.sleek.appdata.xml
@@ -9,7 +9,7 @@
Robin Ahle
-
+
https://github.com/ransome1/sleek
https://github.com/ransome1/sleek/issues
diff --git a/flatpak/com.github.ransome1.sleek.desktop b/flatpak/com.github.ransome1.sleek.desktop
index 8323b059..8781a19c 100755
--- a/flatpak/com.github.ransome1.sleek.desktop
+++ b/flatpak/com.github.ransome1.sleek.desktop
@@ -1,5 +1,5 @@
[Desktop Entry]
-Version=2.0.0
+Version=2.0.1
Name=sleek
Exec=sleek
Type=Application
diff --git a/package.json b/package.json
index 72e4f376..85c6a4e0 100644
--- a/package.json
+++ b/package.json
@@ -3,16 +3,17 @@
"main": "./src/main/main.ts",
"scripts": {
"build": "concurrently \"yarn run peggy\" \"yarn run build:main\" \"yarn run build:renderer\"",
+ "build:dll": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts",
"build:main": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts",
"build:renderer": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.prod.ts",
- "postinstall": "ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts",
+ "postinstall": "ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && npm run build:dll",
"lint": "cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx",
- "package": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build --publish never",
- "dir": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder --dir",
- "mac": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -m --arm64 --publish never",
- "mas": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -m mas --universal --publish never",
- "masDev": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -m 'mas-dev' --arm64 --publish never",
- "appimage": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -l appimage --universal --publish never",
+ "package": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build --publish never && yarn run build:dll",
+ "dir": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder --dir --publish never && yarn run build:dll",
+ "mac": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -m --arm64 --publish never && yarn run build:dll",
+ "mas": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -m mas --universal --publish never && yarn run build:dll",
+ "masDev": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -m 'mas-dev' --arm64 --publish never && yarn run build:dll",
+ "appimage": "ts-node ./.erb/scripts/clean.js dist && yarn run build && electron-builder build -l appimage --universal --publish never && yarn run build:dll",
"peggy": "peggy --format es --output ./src/main/modules/FilterLang/FilterLang.js ./src/main/modules/FilterLang/FilterLang.pegjs",
"rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir release/app",
"start": "ts-node ./.erb/scripts/check-port-in-use.js && yarn run start:renderer",
diff --git a/release/app/package.json b/release/app/package.json
index 6749a8b3..832c4f86 100644
--- a/release/app/package.json
+++ b/release/app/package.json
@@ -1,6 +1,6 @@
{
"name": "sleek",
- "version": "2.0.0",
+ "version": "2.0.1",
"description": "todo.txt manager for Linux, Windows and MacOS, free and open-source (FOSS)",
"synopsis": "todo.txt manager for Linux, Windows and MacOS, free and open-source (FOSS)",
"keywords": [
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index e0c90839..32412e1f 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,6 +1,6 @@
name: sleek
base: core20
-version: "2.0.0"
+version: "2.0.1"
summary: todo.txt manager for Linux, free and open-source (FOSS)
description: |
sleek is an open-source (FOSS) todo manager based on the todo.txt syntax. Stripped down to only the most necessary features, and with a clean and simple interface, sleek aims to help you focus on getting things done.
diff --git a/src/main/config.tsx b/src/main/config.tsx
index 0ace73b0..2ccba7a1 100644
--- a/src/main/config.tsx
+++ b/src/main/config.tsx
@@ -8,6 +8,9 @@ import createTray from './modules/Tray';
import { File, ConfigData } from './util';
import processDataRequest from './modules/ProcessDataRequest';
import handleTheme from './modules/Theme';
+import crypto from 'crypto';
+
+const anonymousUserId = crypto.randomUUID() || null;
const userDataDirectory = path.join(app.getPath('userData'), 'userData');
if (!fs.existsSync(userDataDirectory)) fs.mkdirSync(userDataDirectory)
@@ -62,7 +65,18 @@ const defaultConfigData = {
};
const configPath = path.join(userDataDirectory, 'config.json');
-const configStorage = new Store({ cwd: userDataDirectory, name: 'config' });
+const configStorage = new Store({
+ cwd: userDataDirectory,
+ name: 'config',
+ beforeEachMigration: (store, context) => {
+ console.log(`[config.json] migrating from ${context.fromVersion} → ${context.toVersion}`);
+ },
+ migrations: {
+ '2.0.1': store => {
+ store.set('anonymousUserId', anonymousUserId);
+ },
+ }
+});
const filtersPath = path.join(userDataDirectory, 'filters.json');
const filterStorage = new Store<{}>({ cwd: userDataDirectory, name: 'filters' });
diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx
index d5eb3829..58ebdb30 100644
--- a/src/renderer/App.tsx
+++ b/src/renderer/App.tsx
@@ -196,10 +196,15 @@ const App = () => {
}, [zoom]);
useEffect(() => {
- if (matomo) {
+ const anonymousUserId = store.get('anonymousUserId');
+ if(anonymousUserId && matomo) {
var _mtm = window._mtm = window._mtm || [];
_mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
- var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
+ if(anonymousUserId) _mtm.push({'anonymousUserId': anonymousUserId });
+ var
+ d = document,
+ g = d.createElement('script'),
+ s = d.getElementsByTagName('script')[0];
g.async = true;
g.src = 'https://www.datenkrake.eu/matomo/js/container_WVsEueTV.js';
s.parentNode.insertBefore(g, s);
diff --git a/yarn.lock b/yarn.lock
index dae05dc1..81ce020f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2134,9 +2134,9 @@
"@types/json-schema" "*"
"@types/estree@*", "@types/estree@^1.0.0":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd"
- integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.4.tgz#d9748f5742171b26218516cf1828b8eafaf8a9fa"
+ integrity sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==
"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33":
version "4.17.39"
@@ -2222,9 +2222,9 @@
"@types/istanbul-lib-report" "*"
"@types/jest@*", "@types/jest@^29.5.2":
- version "29.5.6"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.6.tgz#f4cf7ef1b5b0bfc1aa744e41b24d9cc52533130b"
- integrity sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==
+ version "29.5.7"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.7.tgz#2c0dafe2715dd958a455bc10e2ec3e1ec47b5036"
+ integrity sha512-HLyetab6KVPSiF+7pFcUyMeLsx25LDNDemw9mGsJBkai/oouwrjTycocSDYopMEwFhN2Y4s9oPyOCZNofgSt2g==
dependencies:
expect "^29.0.0"
pretty-format "^29.0.0"
@@ -3589,9 +3589,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001524, caniuse-lite@^1.0.30001541:
- version "1.0.30001558"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001558.tgz#d2c6e21fdbfe83817f70feab902421a19b7983ee"
- integrity sha512-/Et7DwLqpjS47JPEcz6VnxU9PwcIdVi0ciLXRWBQdj1XFye68pSQYpV0QtPTfUKWuOaEig+/Vez2l74eDc1tPQ==
+ version "1.0.30001559"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001559.tgz#95a982440d3d314c471db68d02664fb7536c5a30"
+ integrity sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==
chalk@^2.4.2:
version "2.4.2"
@@ -4699,9 +4699,9 @@ electron-store@^8.1.0:
type-fest "^2.17.0"
electron-to-chromium@^1.4.535:
- version "1.4.570"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.570.tgz#5fb79061ead248a411bc8532da34d1dbf6ae23c1"
- integrity sha512-5GxH0PLSIfXKOUMMHMCT4M0olwj1WwAxsQHzVW5Vh3kbsvGw8b4k7LHQmTLC2aRhsgFzrF57XJomca4XLc/WHA==
+ version "1.4.571"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.571.tgz#8aa71539eb82db98740c3ec861256cc34e0356fd"
+ integrity sha512-Sc+VtKwKCDj3f/kLBjdyjMpNzoZsU6WuL/wFb6EH8USmHEcebxRXcRrVpOpayxd52tuey4RUDpUsw5OS5LhJqg==
electron@^25.8.1:
version "25.9.3"