diff --git a/.act/events/push-dev.json b/.act/events/push-dev.json new file mode 100644 index 0000000..2bff2be --- /dev/null +++ b/.act/events/push-dev.json @@ -0,0 +1,3 @@ +{ + "ref": "refs/heads/dev" +} diff --git a/.act/events/push-main.json b/.act/events/push-main.json new file mode 100644 index 0000000..ccb4cb1 --- /dev/null +++ b/.act/events/push-main.json @@ -0,0 +1,3 @@ +{ + "ref": "refs/heads/main" +} diff --git a/.act/run b/.act/run new file mode 100755 index 0000000..3bbdc0f --- /dev/null +++ b/.act/run @@ -0,0 +1,6 @@ +#!/bin/sh +# Auto-detect Docker socket from active context, then delegate to act. +# Respects DOCKER_HOST if already set. +exec env \ + DOCKER_HOST="${DOCKER_HOST:-$(docker context inspect -f '{{.Endpoints.docker.Host}}' 2>/dev/null)}" \ + act "$@" diff --git a/.act/secrets.example b/.act/secrets.example new file mode 100644 index 0000000..525a4ed --- /dev/null +++ b/.act/secrets.example @@ -0,0 +1 @@ +GITHUB_TOKEN=ghp_your_personal_access_token_here diff --git a/.actrc b/.actrc new file mode 100644 index 0000000..6f584ea --- /dev/null +++ b/.actrc @@ -0,0 +1,5 @@ +--container-daemon-socket /var/run/docker.sock +--env ELECTRON_SKIP_BINARY_DOWNLOAD=1 +-P ubuntu-latest=catthehacker/ubuntu:act-latest +-P macos-14=catthehacker/ubuntu:act-latest +-P windows-latest=catthehacker/ubuntu:act-latest diff --git a/.gitignore b/.gitignore index 25f0be1..6f699c9 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ examples/chats/*.zip # Playwright MCP screenshots .playwright-mcp/ + +# Local GitHub Actions secrets +.act/secrets diff --git a/CHANGELOG.md b/CHANGELOG.md index f427d97..fb45ef7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.30.2](https://github.com/rodrigogs/whats-reader/compare/v1.30.1...v1.30.2) (2026-04-03) + + +### Performance Improvements + +* reduce Electron app bundle size ([bf6b3b1](https://github.com/rodrigogs/whats-reader/commit/bf6b3b102d6cb5fdb3f8a6e06fb9c5e0a9240fe4)) + ## [1.30.1](https://github.com/rodrigogs/whats-reader/compare/v1.30.0...v1.30.1) (2026-04-01) diff --git a/package-lock.json b/package-lock.json index ad50f25..da4c5ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "whats-reader", - "version": "1.30.1", + "version": "1.30.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "whats-reader", - "version": "1.30.1", + "version": "1.30.2", "license": "AGPL-3.0", "dependencies": { "@floating-ui/dom": "^1.7.6", diff --git a/package.json b/package.json index 3bfeeaa..573f398 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "whats-reader", "productName": "WhatsApp Backup Reader", - "version": "1.30.1", + "version": "1.30.2", "description": "A desktop app to read and visualize WhatsApp chat exports", "license": "AGPL-3.0", "author": { @@ -35,20 +35,26 @@ "electron:build:mac": "npm run build && electron-builder --mac", "electron:build:win": "npm run build && electron-builder --win", "electron:build:linux": "npm run build && electron-builder --linux", - "machine-translate": "inlang machine translate --project project.inlang" + "machine-translate": "inlang machine translate --project project.inlang", + "act:setup": "docker pull catthehacker/ubuntu:act-latest && test -f .act/secrets || cp .act/secrets.example .act/secrets", + "act:ci": "npm run act:ci:lint && npm run act:ci:typecheck && npm run act:ci:build", + "act:ci:lint": ".act/run push -W .github/workflows/ci.yml -e .act/events/push-dev.json -j lint", + "act:ci:typecheck": ".act/run push -W .github/workflows/ci.yml -e .act/events/push-dev.json -j typecheck", + "act:ci:build": ".act/run push -W .github/workflows/ci.yml -e .act/events/push-dev.json -j build", + "act:release": ".act/run push -W .github/workflows/release.yml --secret-file .act/secrets -e .act/events/push-main.json", + "act:build": ".act/run workflow_dispatch -W .github/workflows/build.yml --secret-file .act/secrets --input version=${VERSION:-0.0.0-local} --matrix platform:linux-x64", + "act:deploy": ".act/run workflow_dispatch -W .github/workflows/deploy.yml -j build" }, "dependencies": { - "@floating-ui/dom": "^1.7.6", - "@huggingface/transformers": "^3.8.1", - "electron-updater": "^6.8.3", - "idb-keyval": "^6.2.2", - "jszip": "^3.10.1" + "electron-updater": "^6.8.3" }, "overrides": { "cookie": "^0.7.0" }, "devDependencies": { "@biomejs/biome": "2.4.10", + "@floating-ui/dom": "^1.7.6", + "@huggingface/transformers": "^3.8.1", "@inlang/cli": "^3.1.9", "@inlang/paraglide-js": "2.15.1", "@inlang/plugin-m-function-matcher": "^2.2.4", @@ -63,6 +69,8 @@ "cross-env": "^10.1.0", "electron": "^39.8.6", "electron-builder": "~26.0.12", + "idb-keyval": "^6.2.2", + "jszip": "^3.10.1", "semantic-release": "^25.0.3", "svelte": "^5.55.1", "svelte-check": "^4.4.6", @@ -88,6 +96,9 @@ "electron/**/*", "!**/*.map", "!**/*.md", + "!**/*.ts", + "!**/*.d.mts", + "!**/tsconfig*", "!**/LICENSE", "!**/README", "!**/.github", @@ -95,7 +106,11 @@ "!**/tests", "!**/__tests__", "!**/docs", - "!**/examples" + "!**/examples", + "!build/og-image*.png", + "!build/apple-touch-icon.png", + "!build/web-app-manifest-*.png", + "!build/site.webmanifest" ], "asarUnpack": [ "**/*.{node,dll}" diff --git a/src/app.html b/src/app.html index 2c5b206..2e75c3d 100644 --- a/src/app.html +++ b/src/app.html @@ -6,7 +6,6 @@ - diff --git a/src/lib/assets/favicon.png b/src/lib/assets/favicon.png new file mode 100644 index 0000000..7a2ea03 Binary files /dev/null and b/src/lib/assets/favicon.png differ diff --git a/src/lib/assets/favicon.svg b/src/lib/assets/favicon.svg deleted file mode 100644 index 55e454e..0000000 --- a/src/lib/assets/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index e2ecb3c..6979ff5 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,5 +1,5 @@