From 51bc86ec6d2d9453d734c2dc4c8486ebe6442e27 Mon Sep 17 00:00:00 2001 From: Rukira Date: Mon, 24 Aug 2026 16:56:00 +0100 Subject: [PATCH 01/36] feat(release): add Forgejo release step to GitHub Actions pipeline Co-authored-by: Junie --- .github/workflows/release.yml | 67 +++++++++++++++++++++++- docs/plans/feature-6-release-pipeline.md | 3 +- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cbb09a6..a31dc1a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -99,7 +99,7 @@ jobs: if-no-files-found: error create-release: - name: Create GitHub Release + name: Create GitHub & Forgejo Releases needs: - bump-version - package @@ -140,3 +140,68 @@ jobs: gh release create "${RELEASE_TAG}" dist/* \ --title "WoW Backup ${RELEASE_TAG}" \ --notes "${RELEASE_BODY}" + + - name: Publish Forgejo Release + env: + FORGEJO_PAT: ${{ secrets.FORGEJO_PAT }} + RELEASE_TAG: ${{ needs.bump-version.outputs.tag }} + RELEASE_VERSION: ${{ needs.bump-version.outputs.version }} + run: | + RELEASE_BODY="### WoW Backup ${RELEASE_TAG} + + Automated release build for **WoW Backup v${RELEASE_VERSION}**. + + #### Available Packages + - **macOS**: \`.dmg\` installer (Apple Silicon & Intel) + - **Windows**: \`.msi\` Windows Installer + - **Linux**: \`.deb\` package (Debian / Ubuntu) + + --- + For detailed setup and installation notes, please refer to [INSTALL.md](https://git.asarius.site/rukira/wow-backup/src/tag/${RELEASE_TAG}/INSTALL.md)." + + echo "Publishing release ${RELEASE_TAG} to Forgejo (git.asarius.site)..." + + PAYLOAD=$(jq -n \ + --arg tag "$RELEASE_TAG" \ + --arg name "WoW Backup ${RELEASE_TAG}" \ + --arg body "$RELEASE_BODY" \ + '{tag_name: $tag, name: $name, body: $body, draft: false, prerelease: false}') + + CREATE_RESPONSE=$(curl -sS -X POST \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases" \ + -H "Authorization: token ${FORGEJO_PAT}" \ + -H "Content-Type: application/json" \ + -H "Accept: application/json" \ + -d "$PAYLOAD" || true) + + RELEASE_ID=$(echo "$CREATE_RESPONSE" | jq -r '.id // empty') + + if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" = "null" ]; then + echo "Release creation did not return an ID, checking if release already exists for tag ${RELEASE_TAG}..." + GET_RESPONSE=$(curl -sS -X GET \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/tags/${RELEASE_TAG}" \ + -H "Authorization: token ${FORGEJO_PAT}" \ + -H "Accept: application/json" || true) + RELEASE_ID=$(echo "$GET_RESPONSE" | jq -r '.id // empty') + fi + + if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" = "null" ]; then + echo "::error::Failed to create or find Forgejo release." + echo "Response: $CREATE_RESPONSE" + exit 1 + fi + + echo "Forgejo Release ID: ${RELEASE_ID}" + + for file in dist/*; do + [ -f "$file" ] || continue + filename=$(basename "$file") + echo "Uploading asset ${filename} to Forgejo release ${RELEASE_ID}..." + curl -sS --fail-with-body -X POST \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/${RELEASE_ID}/assets?name=${filename}" \ + -H "Authorization: token ${FORGEJO_PAT}" \ + -H "Accept: application/json" \ + -F "attachment=@${file}" + done + + echo "Forgejo release published successfully." diff --git a/docs/plans/feature-6-release-pipeline.md b/docs/plans/feature-6-release-pipeline.md index 4ae7d9b..aa978b9 100644 --- a/docs/plans/feature-6-release-pipeline.md +++ b/docs/plans/feature-6-release-pipeline.md @@ -3,7 +3,7 @@ **Status:** ✅ **Completed** ## Context -Automated multi-platform packaging and release pipeline for WoW Backup using GitHub Actions. Whenever changes are merged/pushed to the `main` branch, the pipeline calculates the next release version and tag, compiles native distributables for macOS, Windows, and Linux, and attaches all packaged binaries to a published GitHub Release. +Automated multi-platform packaging and release pipeline for WoW Backup using GitHub Actions. Whenever changes are merged/pushed to the `main` branch, the pipeline calculates the next release version and tag, compiles native distributables for macOS, Windows, and Linux, and attaches all packaged binaries to a published GitHub Release as well as a published Forgejo Release on `git.asarius.site` (`rukira/wow-backup`). ## Deliverables 1. **Dynamic Versioning in Gradle**: @@ -13,6 +13,7 @@ Automated multi-platform packaging and release pipeline for WoW Backup using Git - Automated semantic patch version computation and git tagging on push to `main` and `workflow_dispatch`. - Parallel runner matrix (`macos-latest`, `windows-latest`, `ubuntu-latest`) packaging `.dmg`, `.msi`, and `.deb`. - Automated GitHub Release creation with attached artifacts and release notes. + - Automated Forgejo Release creation on `git.asarius.site` (`rukira/wow-backup`) with attached distribution packages using `FORGEJO_PAT`. 3. **Installation Guide (`INSTALL.md`)**: - Detailed user installation guide for macOS (Gatekeeper bypass), Windows (SmartScreen bypass), and Linux (APT/DPKG). - Linked directly from `README.md`. From 12e6a6f94b6c372ebc5228bb54832f9d31b24ac8 Mon Sep 17 00:00:00 2001 From: Rukira Date: Mon, 24 Aug 2026 16:56:00 +0100 Subject: [PATCH 02/36] feat(release): add Forgejo release step to GitHub Actions pipeline Co-authored-by: Junie --- .github/workflows/release.yml | 67 +++++++++++++++++++++++- docs/plans/feature-6-release-pipeline.md | 3 +- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cbb09a6..a31dc1a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -99,7 +99,7 @@ jobs: if-no-files-found: error create-release: - name: Create GitHub Release + name: Create GitHub & Forgejo Releases needs: - bump-version - package @@ -140,3 +140,68 @@ jobs: gh release create "${RELEASE_TAG}" dist/* \ --title "WoW Backup ${RELEASE_TAG}" \ --notes "${RELEASE_BODY}" + + - name: Publish Forgejo Release + env: + FORGEJO_PAT: ${{ secrets.FORGEJO_PAT }} + RELEASE_TAG: ${{ needs.bump-version.outputs.tag }} + RELEASE_VERSION: ${{ needs.bump-version.outputs.version }} + run: | + RELEASE_BODY="### WoW Backup ${RELEASE_TAG} + + Automated release build for **WoW Backup v${RELEASE_VERSION}**. + + #### Available Packages + - **macOS**: \`.dmg\` installer (Apple Silicon & Intel) + - **Windows**: \`.msi\` Windows Installer + - **Linux**: \`.deb\` package (Debian / Ubuntu) + + --- + For detailed setup and installation notes, please refer to [INSTALL.md](https://git.asarius.site/rukira/wow-backup/src/tag/${RELEASE_TAG}/INSTALL.md)." + + echo "Publishing release ${RELEASE_TAG} to Forgejo (git.asarius.site)..." + + PAYLOAD=$(jq -n \ + --arg tag "$RELEASE_TAG" \ + --arg name "WoW Backup ${RELEASE_TAG}" \ + --arg body "$RELEASE_BODY" \ + '{tag_name: $tag, name: $name, body: $body, draft: false, prerelease: false}') + + CREATE_RESPONSE=$(curl -sS -X POST \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases" \ + -H "Authorization: token ${FORGEJO_PAT}" \ + -H "Content-Type: application/json" \ + -H "Accept: application/json" \ + -d "$PAYLOAD" || true) + + RELEASE_ID=$(echo "$CREATE_RESPONSE" | jq -r '.id // empty') + + if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" = "null" ]; then + echo "Release creation did not return an ID, checking if release already exists for tag ${RELEASE_TAG}..." + GET_RESPONSE=$(curl -sS -X GET \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/tags/${RELEASE_TAG}" \ + -H "Authorization: token ${FORGEJO_PAT}" \ + -H "Accept: application/json" || true) + RELEASE_ID=$(echo "$GET_RESPONSE" | jq -r '.id // empty') + fi + + if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" = "null" ]; then + echo "::error::Failed to create or find Forgejo release." + echo "Response: $CREATE_RESPONSE" + exit 1 + fi + + echo "Forgejo Release ID: ${RELEASE_ID}" + + for file in dist/*; do + [ -f "$file" ] || continue + filename=$(basename "$file") + echo "Uploading asset ${filename} to Forgejo release ${RELEASE_ID}..." + curl -sS --fail-with-body -X POST \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/${RELEASE_ID}/assets?name=${filename}" \ + -H "Authorization: token ${FORGEJO_PAT}" \ + -H "Accept: application/json" \ + -F "attachment=@${file}" + done + + echo "Forgejo release published successfully." diff --git a/docs/plans/feature-6-release-pipeline.md b/docs/plans/feature-6-release-pipeline.md index 4ae7d9b..aa978b9 100644 --- a/docs/plans/feature-6-release-pipeline.md +++ b/docs/plans/feature-6-release-pipeline.md @@ -3,7 +3,7 @@ **Status:** ✅ **Completed** ## Context -Automated multi-platform packaging and release pipeline for WoW Backup using GitHub Actions. Whenever changes are merged/pushed to the `main` branch, the pipeline calculates the next release version and tag, compiles native distributables for macOS, Windows, and Linux, and attaches all packaged binaries to a published GitHub Release. +Automated multi-platform packaging and release pipeline for WoW Backup using GitHub Actions. Whenever changes are merged/pushed to the `main` branch, the pipeline calculates the next release version and tag, compiles native distributables for macOS, Windows, and Linux, and attaches all packaged binaries to a published GitHub Release as well as a published Forgejo Release on `git.asarius.site` (`rukira/wow-backup`). ## Deliverables 1. **Dynamic Versioning in Gradle**: @@ -13,6 +13,7 @@ Automated multi-platform packaging and release pipeline for WoW Backup using Git - Automated semantic patch version computation and git tagging on push to `main` and `workflow_dispatch`. - Parallel runner matrix (`macos-latest`, `windows-latest`, `ubuntu-latest`) packaging `.dmg`, `.msi`, and `.deb`. - Automated GitHub Release creation with attached artifacts and release notes. + - Automated Forgejo Release creation on `git.asarius.site` (`rukira/wow-backup`) with attached distribution packages using `FORGEJO_PAT`. 3. **Installation Guide (`INSTALL.md`)**: - Detailed user installation guide for macOS (Gatekeeper bypass), Windows (SmartScreen bypass), and Linux (APT/DPKG). - Linked directly from `README.md`. From cfd093af720011f015534eb4957dab18dcf3769b Mon Sep 17 00:00:00 2001 From: Rukira Date: Mon, 24 Aug 2026 20:05:00 +0100 Subject: [PATCH 03/36] Fixing release job --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a31dc1a..5076c0e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -198,7 +198,8 @@ jobs: filename=$(basename "$file") echo "Uploading asset ${filename} to Forgejo release ${RELEASE_ID}..." curl -sS --fail-with-body -X POST \ - "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/${RELEASE_ID}/assets?name=${filename}" \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/${RELEASE_ID}/assets" \ + --url-query "name=${filename}" \ -H "Authorization: token ${FORGEJO_PAT}" \ -H "Accept: application/json" \ -F "attachment=@${file}" From 033febece6b2a595c149c2e923f235f337d38860 Mon Sep 17 00:00:00 2001 From: Rukira Date: Mon, 24 Aug 2026 20:05:00 +0100 Subject: [PATCH 04/36] Fixing release job --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a31dc1a..5076c0e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -198,7 +198,8 @@ jobs: filename=$(basename "$file") echo "Uploading asset ${filename} to Forgejo release ${RELEASE_ID}..." curl -sS --fail-with-body -X POST \ - "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/${RELEASE_ID}/assets?name=${filename}" \ + "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/${RELEASE_ID}/assets" \ + --url-query "name=${filename}" \ -H "Authorization: token ${FORGEJO_PAT}" \ -H "Accept: application/json" \ -F "attachment=@${file}" From 616fd21872425b3f2a18b0c120ad36fee01345b8 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 09:40:28 +0100 Subject: [PATCH 05/36] Fixing MacOS build issue. Improving documentation. --- INSTALL.md | 40 +++++-------------- composeApp/build.gradle.kts | 5 +++ .../rukira/wowbackup/logging/LoggingSetup.kt | 12 +++++- .../wowbackup/logging/LoggingSetupTest.kt | 39 ++++++++++++++++++ 4 files changed, 65 insertions(+), 31 deletions(-) create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt diff --git a/INSTALL.md b/INSTALL.md index c232741..e989cd3 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -6,13 +6,13 @@ This guide provides step-by-step instructions for installing and running **WoW B ## Download -Download the appropriate installer for your platform from the **[GitHub Releases](https://github.com/rukira/wow-backup/releases)** page: +Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases)**: -| Platform | Package Format | Installer File Pattern | -|---|---|---| -| **macOS** | DMG Disk Image | `WoW Backup-.dmg` | -| **Windows** | Windows Installer (MSI) | `WoW Backup-.msi` | -| **Linux** | Debian Package (DEB) | `wow-backup__amd64.deb` | +| Platform | Package Format | Installer File Pattern | +|--------------------------|---|---| +| **macOS** | DMG Disk Image | `WoW Backup-.dmg` | +| **Windows** | Windows Installer (MSI) | `WoW Backup-.msi` | +| **Linux** (Experimental) | Debian Package (DEB) | `wow-backup__amd64.deb` | --- @@ -27,16 +27,10 @@ Download the appropriate installer for your platform from the **[GitHub Releases Because WoW Backup is distributed without Apple Developer ID code-signing notarization, macOS Gatekeeper may show a warning on first launch (*"WoW Backup cannot be opened because the developer cannot be verified"* or *"Apple could not verify that WoW Backup is free of malware"*). To launch the app for the first time: - -- **Option A (Finder)**: - 1. Open Finder and navigate to `/Applications`. - 2. Right-click (or Control-click) on **WoW Backup.app** and choose **Open**. - 3. In the security popup, click **Open**. -- **Option B (Terminal)**: - Run the following command in Terminal to clear the quarantine attribute: - ```shell - xattr -d com.apple.quarantine "/Applications/WoW Backup.app" - ``` +1. Open **System Settings** +2. Navigate to **Security & Privacy**. +3. Click **Open Anyway** under **Allow apps downloaded from**. +4. Restart WoW Backup. --- @@ -68,17 +62,3 @@ If Windows Defender SmartScreen flags the installer (*"Windows protected your PC ``` 3. Launch **WoW Backup** from your desktop application launcher or run `wowbackup` in the terminal. ---- - -## First-Time Setup & Overview - -Once started, WoW Backup runs discreetly in the system tray / menu bar: - -1. **Accessing Dashboard**: Click the tray icon in the macOS menu bar or Windows/Linux system tray to open the application window. -2. **Settings Configuration**: - - Navigate to **Settings** (gear icon). - - Set your **World of Warcraft Installation Folder** (e.g. `_retail_` or `_classic_`). - - Select your **Backup Destination Folder**. - - Set your preferred **Daily Backup Time**, **Retention Policy** (number of backups to keep), and **Compression Mode** (`ZIP` or folder replication). - - Optionally enable **Launch at Startup** so backups occur automatically without manual intervention. -3. **Lifecycle**: Closing the main window hides it to the tray while keeping the scheduler running. To quit the application completely, select **Quit** from the tray menu. diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index f0bb771..ca42a48 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -31,6 +31,9 @@ kotlin { implementation(libs.logback.classic) implementation(libs.material.kolor) } + commonTest.dependencies { + implementation(kotlin("test")) + } } } @@ -72,6 +75,8 @@ compose.desktop { packageName = "WoW Backup" packageVersion = appVersion + modules("java.naming", "java.sql", "java.instrument", "jdk.unsupported") + macOS { bundleID = "com.rukira.wowbackup" iconFile.set(project.file("src/jvmMain/resources/icon.icns")) diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt index e4fc392..03f3e70 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt @@ -12,7 +12,12 @@ import java.io.File object LoggingSetup { + private var initialized = false + fun init() { + if (initialized) return + initialized = true + val logDir = AppDirectories.logsDir val logFile = File(logDir, "wowbackup.log") @@ -26,7 +31,7 @@ object LoggingSetup { val rollingPolicy = SizeAndTimeBasedRollingPolicy().apply { this.context = context - fileNamePattern = "${logDir}/wowbackup.%d{yyyy-MM-dd}.%i.log.gz" + fileNamePattern = "${logDir.absolutePath}/wowbackup.%d{yyyy-MM-dd}.%i.log.gz" setMaxFileSize(FileSize.valueOf("10MB")) maxHistory = 30 setTotalSizeCap(FileSize.valueOf("100MB")) @@ -46,5 +51,10 @@ object LoggingSetup { val rootLogger = context.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME) rootLogger.addAppender(fileAppender) + + Thread.setDefaultUncaughtExceptionHandler { thread, throwable -> + val uncaughtLogger = LoggerFactory.getLogger("UncaughtExceptionHandler") + uncaughtLogger.error("Uncaught exception on thread [${thread.name}]", throwable) + } } } diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt new file mode 100644 index 0000000..ab5c074 --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt @@ -0,0 +1,39 @@ +package com.rukira.wowbackup.logging + +import com.rukira.wowbackup.platform.AppDirectories +import io.github.oshai.kotlinlogging.KotlinLogging +import java.io.File +import kotlin.test.Test +import kotlin.test.assertTrue + +class LoggingSetupTest { + + private val testLogger = KotlinLogging.logger {} + + @Test + fun testLoggingSetupInitializesAndWritesToFile() { + LoggingSetup.init() + + val logsDir = AppDirectories.logsDir + assertTrue(logsDir.exists(), "Logs directory should exist") + assertTrue(logsDir.isDirectory, "Logs directory should be a directory") + + val testMessage = "Test log entry for unit verification - ${System.currentTimeMillis()}" + testLogger.info { testMessage } + + val logFile = File(logsDir, "wowbackup.log") + assertTrue(logFile.exists(), "wowbackup.log file should exist") + + val content = logFile.readText() + assertTrue(content.contains(testMessage), "wowbackup.log should contain the logged message") + } + + @Test + fun testAppDirectoriesLogsDir() { + val appDataDir = AppDirectories.appDataDir + val logsDir = AppDirectories.logsDir + + assertTrue(logsDir.absolutePath.startsWith(appDataDir.absolutePath), "Logs dir should be inside app data dir") + assertTrue(logsDir.name == "logs", "Logs directory should be named 'logs'") + } +} From 0ea2067e42d7667060324981d742d0de789c077d Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 09:40:28 +0100 Subject: [PATCH 06/36] Fixing MacOS build issue. Improving documentation. --- INSTALL.md | 40 +++++-------------- composeApp/build.gradle.kts | 5 +++ .../rukira/wowbackup/logging/LoggingSetup.kt | 12 +++++- .../wowbackup/logging/LoggingSetupTest.kt | 39 ++++++++++++++++++ 4 files changed, 65 insertions(+), 31 deletions(-) create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt diff --git a/INSTALL.md b/INSTALL.md index c232741..e989cd3 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -6,13 +6,13 @@ This guide provides step-by-step instructions for installing and running **WoW B ## Download -Download the appropriate installer for your platform from the **[GitHub Releases](https://github.com/rukira/wow-backup/releases)** page: +Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases)**: -| Platform | Package Format | Installer File Pattern | -|---|---|---| -| **macOS** | DMG Disk Image | `WoW Backup-.dmg` | -| **Windows** | Windows Installer (MSI) | `WoW Backup-.msi` | -| **Linux** | Debian Package (DEB) | `wow-backup__amd64.deb` | +| Platform | Package Format | Installer File Pattern | +|--------------------------|---|---| +| **macOS** | DMG Disk Image | `WoW Backup-.dmg` | +| **Windows** | Windows Installer (MSI) | `WoW Backup-.msi` | +| **Linux** (Experimental) | Debian Package (DEB) | `wow-backup__amd64.deb` | --- @@ -27,16 +27,10 @@ Download the appropriate installer for your platform from the **[GitHub Releases Because WoW Backup is distributed without Apple Developer ID code-signing notarization, macOS Gatekeeper may show a warning on first launch (*"WoW Backup cannot be opened because the developer cannot be verified"* or *"Apple could not verify that WoW Backup is free of malware"*). To launch the app for the first time: - -- **Option A (Finder)**: - 1. Open Finder and navigate to `/Applications`. - 2. Right-click (or Control-click) on **WoW Backup.app** and choose **Open**. - 3. In the security popup, click **Open**. -- **Option B (Terminal)**: - Run the following command in Terminal to clear the quarantine attribute: - ```shell - xattr -d com.apple.quarantine "/Applications/WoW Backup.app" - ``` +1. Open **System Settings** +2. Navigate to **Security & Privacy**. +3. Click **Open Anyway** under **Allow apps downloaded from**. +4. Restart WoW Backup. --- @@ -68,17 +62,3 @@ If Windows Defender SmartScreen flags the installer (*"Windows protected your PC ``` 3. Launch **WoW Backup** from your desktop application launcher or run `wowbackup` in the terminal. ---- - -## First-Time Setup & Overview - -Once started, WoW Backup runs discreetly in the system tray / menu bar: - -1. **Accessing Dashboard**: Click the tray icon in the macOS menu bar or Windows/Linux system tray to open the application window. -2. **Settings Configuration**: - - Navigate to **Settings** (gear icon). - - Set your **World of Warcraft Installation Folder** (e.g. `_retail_` or `_classic_`). - - Select your **Backup Destination Folder**. - - Set your preferred **Daily Backup Time**, **Retention Policy** (number of backups to keep), and **Compression Mode** (`ZIP` or folder replication). - - Optionally enable **Launch at Startup** so backups occur automatically without manual intervention. -3. **Lifecycle**: Closing the main window hides it to the tray while keeping the scheduler running. To quit the application completely, select **Quit** from the tray menu. diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index f0bb771..ca42a48 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -31,6 +31,9 @@ kotlin { implementation(libs.logback.classic) implementation(libs.material.kolor) } + commonTest.dependencies { + implementation(kotlin("test")) + } } } @@ -72,6 +75,8 @@ compose.desktop { packageName = "WoW Backup" packageVersion = appVersion + modules("java.naming", "java.sql", "java.instrument", "jdk.unsupported") + macOS { bundleID = "com.rukira.wowbackup" iconFile.set(project.file("src/jvmMain/resources/icon.icns")) diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt index e4fc392..03f3e70 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/logging/LoggingSetup.kt @@ -12,7 +12,12 @@ import java.io.File object LoggingSetup { + private var initialized = false + fun init() { + if (initialized) return + initialized = true + val logDir = AppDirectories.logsDir val logFile = File(logDir, "wowbackup.log") @@ -26,7 +31,7 @@ object LoggingSetup { val rollingPolicy = SizeAndTimeBasedRollingPolicy().apply { this.context = context - fileNamePattern = "${logDir}/wowbackup.%d{yyyy-MM-dd}.%i.log.gz" + fileNamePattern = "${logDir.absolutePath}/wowbackup.%d{yyyy-MM-dd}.%i.log.gz" setMaxFileSize(FileSize.valueOf("10MB")) maxHistory = 30 setTotalSizeCap(FileSize.valueOf("100MB")) @@ -46,5 +51,10 @@ object LoggingSetup { val rootLogger = context.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME) rootLogger.addAppender(fileAppender) + + Thread.setDefaultUncaughtExceptionHandler { thread, throwable -> + val uncaughtLogger = LoggerFactory.getLogger("UncaughtExceptionHandler") + uncaughtLogger.error("Uncaught exception on thread [${thread.name}]", throwable) + } } } diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt new file mode 100644 index 0000000..ab5c074 --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/logging/LoggingSetupTest.kt @@ -0,0 +1,39 @@ +package com.rukira.wowbackup.logging + +import com.rukira.wowbackup.platform.AppDirectories +import io.github.oshai.kotlinlogging.KotlinLogging +import java.io.File +import kotlin.test.Test +import kotlin.test.assertTrue + +class LoggingSetupTest { + + private val testLogger = KotlinLogging.logger {} + + @Test + fun testLoggingSetupInitializesAndWritesToFile() { + LoggingSetup.init() + + val logsDir = AppDirectories.logsDir + assertTrue(logsDir.exists(), "Logs directory should exist") + assertTrue(logsDir.isDirectory, "Logs directory should be a directory") + + val testMessage = "Test log entry for unit verification - ${System.currentTimeMillis()}" + testLogger.info { testMessage } + + val logFile = File(logsDir, "wowbackup.log") + assertTrue(logFile.exists(), "wowbackup.log file should exist") + + val content = logFile.readText() + assertTrue(content.contains(testMessage), "wowbackup.log should contain the logged message") + } + + @Test + fun testAppDirectoriesLogsDir() { + val appDataDir = AppDirectories.appDataDir + val logsDir = AppDirectories.logsDir + + assertTrue(logsDir.absolutePath.startsWith(appDataDir.absolutePath), "Logs dir should be inside app data dir") + assertTrue(logsDir.name == "logs", "Logs directory should be named 'logs'") + } +} From d211b34405c2e3002b0f1fb80301d90a43c4164b Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:09:41 +0100 Subject: [PATCH 07/36] License and readme updates --- README.md | 66 ++++++++++++++++++++++--------------------------------- 1 file changed, 26 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 3db5374..b533624 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,32 @@ # WoW Backup -A lightweight, native-feeling desktop application built with Kotlin and Compose Multiplatform to automatically backup and restore World of Warcraft configuration data (WTF and Interface directories) on macOS and Windows. +A lightweight, native-feeling desktop application to automatically backup World of Warcraft configuration data (WTF and Interface directories). -## Overview +World of Warcraft stores all UI configurations, macros, keybindings, and addon data in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, and automatically performs scheduled, timestamped backups (optionally compressed as ZIP archives). -World of Warcraft stores all UI configurations, macros, keybindings, and addon saved variables in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, automatically creates scheduled, timestamped backups (optionally compressed as ZIP archives), and will provide seamless one-click restoration. +## Installation & Download + +Pre-built binaries for **macOS**, **Windows**, and **Linux** are provided on each release. + +👉 **See [here](INSTALL.md)** for download links and step-by-step installation instructions. ## Key Features -- 🛡️ **System Tray Native Life Cycle**: Lives in the menu bar / system tray with custom template icons matching light/dark OS appearances. Closing the window hides to tray; quitting is explicit. - ⚙️ **Smart Auto-Configuration**: Automatically detects standard WoW install locations (supporting retail and classic directories) and validates folder permissions. -- ⏰ **Automated & Scheduled Backups**: Background scheduler powered by Cardiologist ensures dependable daily backups at a user-defined time. -- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured retention limit (1–30 backups). -- 🎮 **Game State Detection**: Checks for active WoW processes before running backups to prevent file-locking conflicts, with optional "force backup" override and safety confirmation. -- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped due to game execution. +- ⏰ **Automated & Scheduled Backups**: Background scheduler ensures regular backups at a user-defined time. +- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured limit. +- 🎮 **Game State Detection**: Checks for running WoW processes before running backups to prevent file-locking conflicts. +- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped. - 🚀 **Launch at Startup**: Integrated with macOS LaunchAgents (`~/Library/LaunchAgents/`) and Windows Registry (`HKCU\...\Run`). -- 🎨 **Modern Theming & Customization**: Dynamic Material 3 theming supporting System/Light/Dark modes and configurable accent colors (via MaterialKolor). -- 🔄 **Restore System (In Progress)**: Interactive restore interface to safely roll back WTF and Interface configurations. +- 🎨 **Theming & Customization**: Dynamic theming supporting Light/Dark mode, with configurable accent colors. + +--- + +## Application Data Locations +The app uses a configuration file to store user preferences. This file and runtime logs are stored in the following locations: +- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`) +- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`) +- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`) --- @@ -24,22 +34,14 @@ World of Warcraft stores all UI configurations, macros, keybindings, and addon s - **Language & Runtime**: Kotlin Multiplatform targeting Desktop (JVM, Java 17+) - **UI Framework**: JetBrains Compose Multiplatform with Material 3 Design -- **Architecture**: MVI / MVVM with Kotlin Coroutines and StateFlow -- **Scheduling**: `io.github.kevincianfarini.cardiologist` for drift-free daily execution -- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and size archiving in app data directories -- **Serialization**: `kotlinx-serialization-json` for typed JSON configuration persistence +- **Architecture**: MVVM with Kotlin Coroutines +- **Scheduling**: `io.github.kevincianfarini.cardiologist` +- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and archiving +- **Serialization**: Settings stored in a JSON file using `kotlinx-serialization-json` - **Theming**: `com.materialkolor:material-kolor` for dynamic palette generation --- -## Installation & Download - -Pre-built binaries for macOS, Windows, and Linux are automatically packaged and published on each release. - -👉 **See [INSTALL.md](INSTALL.md)** for download links, step-by-step installation instructions, Gatekeeper/SmartScreen bypass guidance, and initial setup notes. - ---- - ## Build & Run ### Prerequisites @@ -71,22 +73,6 @@ Pre-built binaries for macOS, Windows, and Linux are automatically packaged and --- -## Feature Implementation Status +## License -| Feature | Plan Document | Status | Description | -|---|---|---|---| -| **0. Foundation** | `docs/plans/feature-0-foundation.md` | ✅ **Completed** | Architecture, config persistence, logging, platform abstractions | -| **1. System Tray** | `docs/plans/feature-1-system-tray.md` | ✅ **Completed** | Tray icon, menu, tray-first lifecycle, window alignment | -| **2. Configuration** | `docs/plans/feature-2-configuration.md` | ✅ **Completed** | Full settings UI, path validation, native file dialogs, startup manager | -| **3. Backup Engine** | `docs/plans/feature-3-backup.md` | ✅ **Completed** | Parallel copy, ZIP compression, scheduler, history pruning, notifications | -| **4. Status Screen** | `docs/plans/feature-4-status.md` | ✅ **Completed** | Live status dashboard, progress indicator, manual backup trigger, shortcuts | -| **5. Restore Screen** | `docs/plans/feature-5-restore.md` | 🚧 **Pending** | Backup list browser, ZIP extraction, confirmation flow, safety checks | -| **6. Release Pipeline** | `docs/plans/feature-6-release-pipeline.md` | ✅ **Completed** | GitHub Actions multi-platform release pipeline & packaging automation | - ---- - -## Application Data Locations - -- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`) -- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`) -- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`) +This project is released into the public domain. See the [LICENSE](LICENSE) file or [unlicense.org](https://unlicense.org/) for details. From 88e64b25c8ca197eb4ddf2f58e4d03402828fee0 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:09:41 +0100 Subject: [PATCH 08/36] License and readme updates --- README.md | 66 ++++++++++++++++++++++--------------------------------- 1 file changed, 26 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 3db5374..b533624 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,32 @@ # WoW Backup -A lightweight, native-feeling desktop application built with Kotlin and Compose Multiplatform to automatically backup and restore World of Warcraft configuration data (WTF and Interface directories) on macOS and Windows. +A lightweight, native-feeling desktop application to automatically backup World of Warcraft configuration data (WTF and Interface directories). -## Overview +World of Warcraft stores all UI configurations, macros, keybindings, and addon data in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, and automatically performs scheduled, timestamped backups (optionally compressed as ZIP archives). -World of Warcraft stores all UI configurations, macros, keybindings, and addon saved variables in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, automatically creates scheduled, timestamped backups (optionally compressed as ZIP archives), and will provide seamless one-click restoration. +## Installation & Download + +Pre-built binaries for **macOS**, **Windows**, and **Linux** are provided on each release. + +👉 **See [here](INSTALL.md)** for download links and step-by-step installation instructions. ## Key Features -- 🛡️ **System Tray Native Life Cycle**: Lives in the menu bar / system tray with custom template icons matching light/dark OS appearances. Closing the window hides to tray; quitting is explicit. - ⚙️ **Smart Auto-Configuration**: Automatically detects standard WoW install locations (supporting retail and classic directories) and validates folder permissions. -- ⏰ **Automated & Scheduled Backups**: Background scheduler powered by Cardiologist ensures dependable daily backups at a user-defined time. -- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured retention limit (1–30 backups). -- 🎮 **Game State Detection**: Checks for active WoW processes before running backups to prevent file-locking conflicts, with optional "force backup" override and safety confirmation. -- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped due to game execution. +- ⏰ **Automated & Scheduled Backups**: Background scheduler ensures regular backups at a user-defined time. +- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured limit. +- 🎮 **Game State Detection**: Checks for running WoW processes before running backups to prevent file-locking conflicts. +- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped. - 🚀 **Launch at Startup**: Integrated with macOS LaunchAgents (`~/Library/LaunchAgents/`) and Windows Registry (`HKCU\...\Run`). -- 🎨 **Modern Theming & Customization**: Dynamic Material 3 theming supporting System/Light/Dark modes and configurable accent colors (via MaterialKolor). -- 🔄 **Restore System (In Progress)**: Interactive restore interface to safely roll back WTF and Interface configurations. +- 🎨 **Theming & Customization**: Dynamic theming supporting Light/Dark mode, with configurable accent colors. + +--- + +## Application Data Locations +The app uses a configuration file to store user preferences. This file and runtime logs are stored in the following locations: +- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`) +- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`) +- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`) --- @@ -24,22 +34,14 @@ World of Warcraft stores all UI configurations, macros, keybindings, and addon s - **Language & Runtime**: Kotlin Multiplatform targeting Desktop (JVM, Java 17+) - **UI Framework**: JetBrains Compose Multiplatform with Material 3 Design -- **Architecture**: MVI / MVVM with Kotlin Coroutines and StateFlow -- **Scheduling**: `io.github.kevincianfarini.cardiologist` for drift-free daily execution -- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and size archiving in app data directories -- **Serialization**: `kotlinx-serialization-json` for typed JSON configuration persistence +- **Architecture**: MVVM with Kotlin Coroutines +- **Scheduling**: `io.github.kevincianfarini.cardiologist` +- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and archiving +- **Serialization**: Settings stored in a JSON file using `kotlinx-serialization-json` - **Theming**: `com.materialkolor:material-kolor` for dynamic palette generation --- -## Installation & Download - -Pre-built binaries for macOS, Windows, and Linux are automatically packaged and published on each release. - -👉 **See [INSTALL.md](INSTALL.md)** for download links, step-by-step installation instructions, Gatekeeper/SmartScreen bypass guidance, and initial setup notes. - ---- - ## Build & Run ### Prerequisites @@ -71,22 +73,6 @@ Pre-built binaries for macOS, Windows, and Linux are automatically packaged and --- -## Feature Implementation Status +## License -| Feature | Plan Document | Status | Description | -|---|---|---|---| -| **0. Foundation** | `docs/plans/feature-0-foundation.md` | ✅ **Completed** | Architecture, config persistence, logging, platform abstractions | -| **1. System Tray** | `docs/plans/feature-1-system-tray.md` | ✅ **Completed** | Tray icon, menu, tray-first lifecycle, window alignment | -| **2. Configuration** | `docs/plans/feature-2-configuration.md` | ✅ **Completed** | Full settings UI, path validation, native file dialogs, startup manager | -| **3. Backup Engine** | `docs/plans/feature-3-backup.md` | ✅ **Completed** | Parallel copy, ZIP compression, scheduler, history pruning, notifications | -| **4. Status Screen** | `docs/plans/feature-4-status.md` | ✅ **Completed** | Live status dashboard, progress indicator, manual backup trigger, shortcuts | -| **5. Restore Screen** | `docs/plans/feature-5-restore.md` | 🚧 **Pending** | Backup list browser, ZIP extraction, confirmation flow, safety checks | -| **6. Release Pipeline** | `docs/plans/feature-6-release-pipeline.md` | ✅ **Completed** | GitHub Actions multi-platform release pipeline & packaging automation | - ---- - -## Application Data Locations - -- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`) -- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`) -- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`) +This project is released into the public domain. See the [LICENSE](LICENSE) file or [unlicense.org](https://unlicense.org/) for details. From df0640f857087c8bc59d4358c5c781e077756d58 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:10:15 +0100 Subject: [PATCH 09/36] Unlicense --- LICENSE | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to From 5b4798b7b2c94b611f54106d1d5445a0a120e388 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:10:15 +0100 Subject: [PATCH 10/36] Unlicense --- LICENSE | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to From 46587f7d28cea88a2ac82d3751bdd46991e0c4f5 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:17:38 +0100 Subject: [PATCH 11/36] Fixing versioning --- composeApp/build.gradle.kts | 3 ++- .../kotlin/com/rukira/wowbackup/BuildConfigTest.kt | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index ca42a48..cd49cd9 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -37,13 +37,14 @@ kotlin { } } -val appVersion = (project.findProperty("appVersion") as? String)?.takeIf { it.isNotBlank() } ?: "1.0.0" +val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNotBlank() } ?: "DEV-SNAPSHOT" val generatedSrcDir = layout.buildDirectory.dir("generated/src/jvmMain/kotlin") val generateBuildConfig by tasks.registering { val outputDir = generatedSrcDir val version = appVersion + inputs.property("version", version) outputs.dir(outputDir) doLast { val dir = outputDir.get().asFile.resolve("com/rukira/wowbackup") diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt new file mode 100644 index 0000000..91996fe --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt @@ -0,0 +1,11 @@ +package com.rukira.wowbackup + +import kotlin.test.Test +import kotlin.test.assertTrue + +class BuildConfigTest { + @Test + fun testBuildConfigVersionIsNotEmpty() { + assertTrue(BuildConfig.VERSION.isNotBlank(), "BuildConfig.VERSION should not be blank") + } +} From 5be2247cb4d414efbe510c5908fe4c2325b627a1 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:17:38 +0100 Subject: [PATCH 12/36] Fixing versioning --- composeApp/build.gradle.kts | 3 ++- .../kotlin/com/rukira/wowbackup/BuildConfigTest.kt | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index ca42a48..cd49cd9 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -37,13 +37,14 @@ kotlin { } } -val appVersion = (project.findProperty("appVersion") as? String)?.takeIf { it.isNotBlank() } ?: "1.0.0" +val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNotBlank() } ?: "DEV-SNAPSHOT" val generatedSrcDir = layout.buildDirectory.dir("generated/src/jvmMain/kotlin") val generateBuildConfig by tasks.registering { val outputDir = generatedSrcDir val version = appVersion + inputs.property("version", version) outputs.dir(outputDir) doLast { val dir = outputDir.get().asFile.resolve("com/rukira/wowbackup") diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt new file mode 100644 index 0000000..91996fe --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/BuildConfigTest.kt @@ -0,0 +1,11 @@ +package com.rukira.wowbackup + +import kotlin.test.Test +import kotlin.test.assertTrue + +class BuildConfigTest { + @Test + fun testBuildConfigVersionIsNotEmpty() { + assertTrue(BuildConfig.VERSION.isNotBlank(), "BuildConfig.VERSION should not be blank") + } +} From 6e15676f34d8b48f3935706b9b9d55d4ab06b957 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:19:13 +0100 Subject: [PATCH 13/36] Cleaning up install instructions --- INSTALL.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index e989cd3..6d6198f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,9 +1,5 @@ # Installing WoW Backup -This guide provides step-by-step instructions for installing and running **WoW Backup** on macOS, Windows, and Linux. - ---- - ## Download Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases)**: @@ -16,7 +12,7 @@ Download the appropriate installer for your platform from the **[latest release] --- -## macOS Installation +## macOS 1. Download the `.dmg` file from the latest release. 2. Double-click the `.dmg` file to mount the disk image. @@ -34,7 +30,7 @@ To launch the app for the first time: --- -## Windows Installation +## Windows 1. Download the `.msi` installer from the latest release. 2. Double-click the `.msi` file to start the installation wizard. @@ -48,7 +44,7 @@ If Windows Defender SmartScreen flags the installer (*"Windows protected your PC --- -## Linux Installation +## Linux (Experimental) 1. Download the `.deb` package from the latest release. 2. Open your terminal in the download folder and install the package: From 892448c57f6a901ba749e91682e3ea681c880605 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:19:13 +0100 Subject: [PATCH 14/36] Cleaning up install instructions --- INSTALL.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index e989cd3..6d6198f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,9 +1,5 @@ # Installing WoW Backup -This guide provides step-by-step instructions for installing and running **WoW Backup** on macOS, Windows, and Linux. - ---- - ## Download Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases)**: @@ -16,7 +12,7 @@ Download the appropriate installer for your platform from the **[latest release] --- -## macOS Installation +## macOS 1. Download the `.dmg` file from the latest release. 2. Double-click the `.dmg` file to mount the disk image. @@ -34,7 +30,7 @@ To launch the app for the first time: --- -## Windows Installation +## Windows 1. Download the `.msi` installer from the latest release. 2. Double-click the `.msi` file to start the installation wizard. @@ -48,7 +44,7 @@ If Windows Defender SmartScreen flags the installer (*"Windows protected your PC --- -## Linux Installation +## Linux (Experimental) 1. Download the `.deb` package from the latest release. 2. Open your terminal in the download folder and install the package: From 02cbf2094617e45c0371ef2b70ef4c293e88d0ab Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:21:39 +0100 Subject: [PATCH 15/36] Fixing versioning --- composeApp/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index cd49cd9..1c2e49c 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -37,7 +37,7 @@ kotlin { } } -val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNotBlank() } ?: "DEV-SNAPSHOT" +val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNotBlank() } ?: "0.0.1" val generatedSrcDir = layout.buildDirectory.dir("generated/src/jvmMain/kotlin") From 3a7a92800b8d4d5d1ea3ba8c53a58cccfd800347 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:21:39 +0100 Subject: [PATCH 16/36] Fixing versioning --- composeApp/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index cd49cd9..1c2e49c 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -37,7 +37,7 @@ kotlin { } } -val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNotBlank() } ?: "DEV-SNAPSHOT" +val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNotBlank() } ?: "0.0.1" val generatedSrcDir = layout.buildDirectory.dir("generated/src/jvmMain/kotlin") From 613ceb01b75d6845929a0cc6cd17637f0b65f2da Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:30:52 +0100 Subject: [PATCH 17/36] feat(update): add update detection and notification on status screen (WB-008) Co-authored-by: Junie --- composeApp/build.gradle.kts | 1 + .../wowbackup/platform/DesktopActions.kt | 13 ++ .../wowbackup/ui/status/StatusScreen.kt | 34 +++- .../wowbackup/ui/status/StatusViewModel.kt | 26 ++- .../com/rukira/wowbackup/update/SemVer.kt | 52 ++++++ .../rukira/wowbackup/update/UpdateChecker.kt | 102 +++++++++++ .../ui/status/StatusViewModelTest.kt | 67 +++++++ .../com/rukira/wowbackup/update/SemVerTest.kt | 97 ++++++++++ .../wowbackup/update/UpdateCheckerTest.kt | 172 ++++++++++++++++++ gradle/libs.versions.toml | 1 + 10 files changed, 557 insertions(+), 8 deletions(-) create mode 100644 composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt create mode 100644 composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 1c2e49c..9e78e71 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -33,6 +33,7 @@ kotlin { } commonTest.dependencies { implementation(kotlin("test")) + implementation(libs.kotlinx.coroutinesTest) } } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt index 5c41dcb..5593611 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt @@ -3,6 +3,7 @@ package com.rukira.wowbackup.platform import io.github.oshai.kotlinlogging.KotlinLogging import java.awt.Desktop import java.io.File +import java.net.URI private val logger = KotlinLogging.logger {} @@ -15,4 +16,16 @@ object DesktopActions { logger.error(e) { "Failed to open folder: $path" } } } + + fun openUrl(url: String) { + try { + if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) { + Desktop.getDesktop().browse(URI(url)) + } else { + logger.warn { "Desktop browsing is not supported on this platform" } + } + } catch (e: Exception) { + logger.error(e) { "Failed to open URL: $url" } + } + } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt index 8809df5..02ffa13 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt @@ -2,6 +2,7 @@ package com.rukira.wowbackup.ui.status import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -214,12 +215,33 @@ fun StatusScreen( } Spacer(Modifier.weight(1f)) - Text( - "WoW Backup v${BuildConfig.VERSION}", - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant, + Row( modifier = Modifier.fillMaxWidth(), - textAlign = androidx.compose.ui.text.style.TextAlign.Center, - ) + horizontalArrangement = Arrangement.Center, + verticalAlignment = Alignment.CenterVertically, + ) { + Text( + "WoW Backup v${BuildConfig.VERSION}", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + val update = uiState.updateInfo + if (update != null) { + Spacer(Modifier.width(8.dp)) + Text( + "• Update available (v${update.latestVersion})", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.error, + ) + Spacer(Modifier.width(6.dp)) + Button( + onClick = { DesktopActions.openUrl(update.releaseUrl) }, + contentPadding = PaddingValues(horizontal = 8.dp, vertical = 2.dp), + modifier = Modifier.height(26.dp), + ) { + Text("Download", style = MaterialTheme.typography.labelSmall) + } + } + } } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt index ff36ca0..3227a0e 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt @@ -7,13 +7,18 @@ import com.rukira.wowbackup.backup.BackupProgress import com.rukira.wowbackup.backup.BackupResult import com.rukira.wowbackup.backup.BackupScheduler import com.rukira.wowbackup.config.ConfigManager +import com.rukira.wowbackup.update.UpdateChecker +import com.rukira.wowbackup.update.UpdateInfo +import com.rukira.wowbackup.update.UpdateService import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -32,10 +37,25 @@ data class StatusUiState( val backupProgress: BackupProgress? = null, val totalBackups: Int = 0, val backupPath: String? = null, + val updateInfo: UpdateInfo? = null, ) @OptIn(kotlin.time.ExperimentalTime::class) -class StatusViewModel : ViewModel() { +class StatusViewModel( + private val updateService: UpdateService = UpdateChecker(), +) : ViewModel() { + + private val updateInfo = MutableStateFlow(null) + + init { + viewModelScope.launch(Dispatchers.IO) { + try { + updateInfo.value = updateService.checkForUpdate() + } catch (e: Exception) { + // Silently handle any uncaught exception + } + } + } // Only recomputes when backupPath or lastBackupResult changes — not on every progress tick private val totalBackups = combine( @@ -53,7 +73,8 @@ class StatusViewModel : ViewModel() { ConfigManager.config, BackupScheduler.state, totalBackups, - ) { config, scheduler, backupCount -> + updateInfo, + ) { config, scheduler, backupCount, update -> StatusUiState( isConfigured = config.isConfigured, lastBackupTime = scheduler.lastBackupTime?.let { formatRelativeTime(it) }, @@ -66,6 +87,7 @@ class StatusViewModel : ViewModel() { backupProgress = scheduler.currentProgress, totalBackups = backupCount, backupPath = config.backupPath, + updateInfo = update, ) }.flowOn(Dispatchers.IO).stateIn(viewModelScope, SharingStarted.WhileSubscribed(5000), StatusUiState()) diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt new file mode 100644 index 0000000..27efe6f --- /dev/null +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt @@ -0,0 +1,52 @@ +package com.rukira.wowbackup.update + +data class SemVer( + val major: Int, + val minor: Int = 0, + val patch: Int = 0, + val preRelease: String? = null, +) : Comparable { + + override fun compareTo(other: SemVer): Int { + if (this.major != other.major) return this.major.compareTo(other.major) + if (this.minor != other.minor) return this.minor.compareTo(other.minor) + if (this.patch != other.patch) return this.patch.compareTo(other.patch) + + // A version without a pre-release is greater than one with a pre-release + return when { + this.preRelease == null && other.preRelease == null -> 0 + this.preRelease == null && other.preRelease != null -> 1 + this.preRelease != null && other.preRelease == null -> -1 + else -> this.preRelease!!.compareTo(other.preRelease!!) + } + } + + fun isNewerThan(other: SemVer): Boolean = this > other + + override fun toString(): String { + val base = "$major.$minor.$patch" + return if (preRelease != null) "$base-$preRelease" else base + } + + companion object { + fun parseOrNull(version: String?): SemVer? { + if (version.isNullOrBlank()) return null + + val cleaned = version.trim().removePrefix("v").removePrefix("V").trim() + if (cleaned.isEmpty()) return null + + val parts = cleaned.split("-", limit = 2) + val core = parts[0] + val preRelease = parts.getOrNull(1)?.takeIf { it.isNotBlank() } + + val numParts = core.split(".") + if (numParts.isEmpty() || numParts.size > 3) return null + + val major = numParts[0].toIntOrNull() ?: return null + val minor = if (numParts.size > 1) numParts[1].toIntOrNull() ?: return null else 0 + val patch = if (numParts.size > 2) numParts[2].toIntOrNull() ?: return null else 0 + + return SemVer(major = major, minor = minor, patch = patch, preRelease = preRelease) + } + } +} diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt new file mode 100644 index 0000000..5b8e315 --- /dev/null +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt @@ -0,0 +1,102 @@ +package com.rukira.wowbackup.update + +import com.rukira.wowbackup.BuildConfig +import io.github.oshai.kotlinlogging.KotlinLogging +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.Json +import java.net.URI +import java.net.http.HttpClient +import java.net.http.HttpRequest +import java.net.http.HttpResponse +import java.time.Duration + +private val logger = KotlinLogging.logger {} + +@Serializable +internal data class ReleaseDto( + @SerialName("tag_name") val tagName: String = "", + val name: String? = null, + @SerialName("html_url") val htmlUrl: String? = null, +) + +data class UpdateInfo( + val latestVersion: String, + val releaseUrl: String, +) + +interface UpdateService { + suspend fun checkForUpdate(currentVersion: String = BuildConfig.VERSION): UpdateInfo? +} + +class UpdateChecker( + private val apiUrl: String = DEFAULT_API_URL, + private val fallbackUrl: String = DEFAULT_FALLBACK_URL, + private val httpClient: HttpClient = HttpClient.newBuilder() + .connectTimeout(Duration.ofSeconds(5)) + .build(), +) : UpdateService { + + private val json = Json { + ignoreUnknownKeys = true + isLenient = true + } + + override suspend fun checkForUpdate(currentVersion: String): UpdateInfo? = withContext(Dispatchers.IO) { + try { + val request = HttpRequest.newBuilder() + .uri(URI.create(apiUrl)) + .timeout(Duration.ofSeconds(5)) + .header("Accept", "application/json") + .header("User-Agent", "WoWBackup/${BuildConfig.VERSION}") + .GET() + .build() + + val response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()) + if (response.statusCode() != 200) { + logger.warn { "Update check received non-200 status code: ${response.statusCode()}" } + return@withContext null + } + + val body = response.body() + if (body.isNullOrBlank()) { + logger.warn { "Update check received empty response body" } + return@withContext null + } + + val release = json.decodeFromString(body) + val remoteSemVer = SemVer.parseOrNull(release.tagName) ?: run { + logger.warn { "Failed to parse remote release tag: '${release.tagName}'" } + return@withContext null + } + + val currentSemVer = SemVer.parseOrNull(currentVersion) ?: run { + logger.warn { "Failed to parse current version: '$currentVersion'" } + return@withContext null + } + + if (remoteSemVer.isNewerThan(currentSemVer)) { + val releaseUrl = release.htmlUrl?.takeIf { it.isNotBlank() } ?: fallbackUrl + val cleanTag = release.tagName.trim().removePrefix("v").removePrefix("V") + logger.info { "New update available: v$cleanTag (current: v$currentVersion). URL: $releaseUrl" } + UpdateInfo( + latestVersion = cleanTag, + releaseUrl = releaseUrl, + ) + } else { + logger.debug { "App is up to date: current=$currentVersion, remote=${release.tagName}" } + null + } + } catch (e: Exception) { + logger.warn(e) { "Failed to check for updates: ${e.message}" } + null + } + } + + companion object { + const val DEFAULT_API_URL = "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/latest" + const val DEFAULT_FALLBACK_URL = "https://git.asarius.site/rukira/wow-backup/releases" + } +} diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt new file mode 100644 index 0000000..fe72ba2 --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt @@ -0,0 +1,67 @@ +package com.rukira.wowbackup.ui.status + +import com.rukira.wowbackup.update.UpdateInfo +import com.rukira.wowbackup.update.UpdateService +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.advanceUntilIdle +import kotlinx.coroutines.test.resetMain +import kotlinx.coroutines.test.runTest +import kotlinx.coroutines.test.setMain +import kotlin.test.AfterTest +import kotlin.test.BeforeTest +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertNotNull +import kotlin.test.assertNull + +@OptIn(ExperimentalCoroutinesApi::class) +class StatusViewModelTest { + + private val testDispatcher = StandardTestDispatcher() + + @BeforeTest + fun setUp() { + Dispatchers.setMain(testDispatcher) + } + + @AfterTest + fun tearDown() { + Dispatchers.resetMain() + } + + @Test + fun testViewModelReceivesUpdateInfo() = runTest(testDispatcher) { + val mockService = object : UpdateService { + override suspend fun checkForUpdate(currentVersion: String): UpdateInfo { + return UpdateInfo( + latestVersion = "1.0.2", + releaseUrl = "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2", + ) + } + } + + val viewModel = StatusViewModel(updateService = mockService) + advanceUntilIdle() + + val state = viewModel.state.first { it.updateInfo != null } + assertNotNull(state.updateInfo) + assertEquals("1.0.2", state.updateInfo!!.latestVersion) + assertEquals("https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2", state.updateInfo!!.releaseUrl) + } + + @Test + fun testViewModelHandlesNoUpdate() = runTest(testDispatcher) { + val mockService = object : UpdateService { + override suspend fun checkForUpdate(currentVersion: String): UpdateInfo? = null + } + + val viewModel = StatusViewModel(updateService = mockService) + advanceUntilIdle() + + val state = viewModel.state.value + assertNull(state.updateInfo) + } +} diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt new file mode 100644 index 0000000..7032f9d --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt @@ -0,0 +1,97 @@ +package com.rukira.wowbackup.update + +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertFalse +import kotlin.test.assertNotNull +import kotlin.test.assertNull +import kotlin.test.assertTrue + +class SemVerTest { + + @Test + fun testParseStandardVersions() { + val v1 = SemVer.parseOrNull("1.0.0") + assertNotNull(v1) + assertEquals(1, v1.major) + assertEquals(0, v1.minor) + assertEquals(0, v1.patch) + assertNull(v1.preRelease) + + val v2 = SemVer.parseOrNull("v1.2.3") + assertNotNull(v2) + assertEquals(1, v2.major) + assertEquals(2, v2.minor) + assertEquals(3, v2.patch) + assertNull(v2.preRelease) + + val v3 = SemVer.parseOrNull("V2.0") + assertNotNull(v3) + assertEquals(2, v3.major) + assertEquals(0, v3.minor) + assertEquals(0, v3.patch) + + val v4 = SemVer.parseOrNull("0.0.1") + assertNotNull(v4) + assertEquals(0, v4.major) + assertEquals(0, v4.minor) + assertEquals(1, v4.patch) + } + + @Test + fun testParsePreReleaseVersions() { + val v = SemVer.parseOrNull("1.0.0-beta.1") + assertNotNull(v) + assertEquals(1, v.major) + assertEquals(0, v.minor) + assertEquals(0, v.patch) + assertEquals("beta.1", v.preRelease) + } + + @Test + fun testParseInvalidVersions() { + assertNull(SemVer.parseOrNull(null)) + assertNull(SemVer.parseOrNull("")) + assertNull(SemVer.parseOrNull(" ")) + assertNull(SemVer.parseOrNull("invalid")) + assertNull(SemVer.parseOrNull("1.a.3")) + assertNull(SemVer.parseOrNull("1.2.3.4")) + } + + @Test + fun testVersionComparison() { + val v001 = SemVer.parseOrNull("0.0.1")!! + val v100 = SemVer.parseOrNull("1.0.0")!! + val v101 = SemVer.parseOrNull("1.0.1")!! + val v102 = SemVer.parseOrNull("v1.0.2")!! + val v110 = SemVer.parseOrNull("1.1.0")!! + val v200 = SemVer.parseOrNull("2.0.0")!! + + assertTrue(v100.isNewerThan(v001)) + assertTrue(v101.isNewerThan(v100)) + assertTrue(v102.isNewerThan(v101)) + assertTrue(v110.isNewerThan(v102)) + assertTrue(v200.isNewerThan(v110)) + + assertFalse(v101.isNewerThan(v102)) + assertFalse(v102.isNewerThan(SemVer.parseOrNull("1.0.2")!!)) + } + + @Test + fun testPreReleaseComparison() { + val release = SemVer.parseOrNull("1.0.0")!! + val preRelease = SemVer.parseOrNull("1.0.0-alpha")!! + val preReleaseBeta = SemVer.parseOrNull("1.0.0-beta")!! + + assertTrue(release.isNewerThan(preRelease)) + assertFalse(preRelease.isNewerThan(release)) + assertTrue(preReleaseBeta.isNewerThan(preRelease)) + } + + @Test + fun testToString() { + assertEquals("1.0.0", SemVer.parseOrNull("1.0.0")?.toString()) + assertEquals("1.2.0", SemVer.parseOrNull("v1.2")?.toString()) + assertEquals("1.0.0-rc1", SemVer.parseOrNull("1.0.0-rc1")?.toString()) + } +} diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt new file mode 100644 index 0000000..c728994 --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt @@ -0,0 +1,172 @@ +package com.rukira.wowbackup.update + +import com.sun.net.httpserver.HttpServer +import kotlinx.coroutines.runBlocking +import java.net.InetSocketAddress +import kotlin.test.AfterTest +import kotlin.test.BeforeTest +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertNotNull +import kotlin.test.assertNull + +class UpdateCheckerTest { + + private lateinit var server: HttpServer + private var serverPort: Int = 0 + + @BeforeTest + fun setUp() { + server = HttpServer.create(InetSocketAddress("127.0.0.1", 0), 0) + serverPort = server.address.port + server.start() + } + + @AfterTest + fun tearDown() { + server.stop(0) + } + + @Test + fun testUpdateAvailableWhenRemoteIsNewer() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2", + "html_url": "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + exchange.responseHeaders.add("Content-Type", "application/json") + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + fallbackUrl = "https://git.asarius.site/rukira/wow-backup/releases", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.1") + assertNotNull(result) + assertEquals("1.0.2", result.latestVersion) + assertEquals("https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2", result.releaseUrl) + } + + @Test + fun testNoUpdateWhenUpToDate() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2", + "html_url": "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + exchange.responseHeaders.add("Content-Type", "application/json") + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.2") + assertNull(result) + } + + @Test + fun testNoUpdateWhenRunningNewerVersion() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2", + "html_url": "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + exchange.responseHeaders.add("Content-Type", "application/json") + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "2.0.0") + assertNull(result) + } + + @Test + fun testHttpErrorGracefullyReturnsNull() = runBlocking { + server.createContext("/releases/latest") { exchange -> + exchange.sendResponseHeaders(404, 0) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.0") + assertNull(result) + } + + @Test + fun testMalformedJsonGracefullyReturnsNull() = runBlocking { + server.createContext("/releases/latest") { exchange -> + val bytes = "Not valid JSON".toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.0") + assertNull(result) + } + + @Test + fun testFallbackUrlUsedWhenHtmlUrlMissing() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + fallbackUrl = "https://git.asarius.site/rukira/wow-backup/releases", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.0") + assertNotNull(result) + assertEquals("https://git.asarius.site/rukira/wow-backup/releases", result.releaseUrl) + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9e629fd..c8a2a2a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,6 +14,7 @@ materialKolor = "2.0.0" androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } kotlinx-coroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } +kotlinx-coroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } cardiologist = { module = "io.github.kevincianfarini.cardiologist:cardiologist", version.ref = "cardiologist" } From 472654180a4f0fb00e1c60e3ea046363a546a9a7 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:30:52 +0100 Subject: [PATCH 18/36] feat(update): add update detection and notification on status screen (WB-008) Co-authored-by: Junie --- composeApp/build.gradle.kts | 1 + .../wowbackup/platform/DesktopActions.kt | 13 ++ .../wowbackup/ui/status/StatusScreen.kt | 34 +++- .../wowbackup/ui/status/StatusViewModel.kt | 26 ++- .../com/rukira/wowbackup/update/SemVer.kt | 52 ++++++ .../rukira/wowbackup/update/UpdateChecker.kt | 102 +++++++++++ .../ui/status/StatusViewModelTest.kt | 67 +++++++ .../com/rukira/wowbackup/update/SemVerTest.kt | 97 ++++++++++ .../wowbackup/update/UpdateCheckerTest.kt | 172 ++++++++++++++++++ gradle/libs.versions.toml | 1 + 10 files changed, 557 insertions(+), 8 deletions(-) create mode 100644 composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt create mode 100644 composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt create mode 100644 composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 1c2e49c..9e78e71 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -33,6 +33,7 @@ kotlin { } commonTest.dependencies { implementation(kotlin("test")) + implementation(libs.kotlinx.coroutinesTest) } } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt index 5c41dcb..5593611 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/platform/DesktopActions.kt @@ -3,6 +3,7 @@ package com.rukira.wowbackup.platform import io.github.oshai.kotlinlogging.KotlinLogging import java.awt.Desktop import java.io.File +import java.net.URI private val logger = KotlinLogging.logger {} @@ -15,4 +16,16 @@ object DesktopActions { logger.error(e) { "Failed to open folder: $path" } } } + + fun openUrl(url: String) { + try { + if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) { + Desktop.getDesktop().browse(URI(url)) + } else { + logger.warn { "Desktop browsing is not supported on this platform" } + } + } catch (e: Exception) { + logger.error(e) { "Failed to open URL: $url" } + } + } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt index 8809df5..02ffa13 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusScreen.kt @@ -2,6 +2,7 @@ package com.rukira.wowbackup.ui.status import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -214,12 +215,33 @@ fun StatusScreen( } Spacer(Modifier.weight(1f)) - Text( - "WoW Backup v${BuildConfig.VERSION}", - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant, + Row( modifier = Modifier.fillMaxWidth(), - textAlign = androidx.compose.ui.text.style.TextAlign.Center, - ) + horizontalArrangement = Arrangement.Center, + verticalAlignment = Alignment.CenterVertically, + ) { + Text( + "WoW Backup v${BuildConfig.VERSION}", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + val update = uiState.updateInfo + if (update != null) { + Spacer(Modifier.width(8.dp)) + Text( + "• Update available (v${update.latestVersion})", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.error, + ) + Spacer(Modifier.width(6.dp)) + Button( + onClick = { DesktopActions.openUrl(update.releaseUrl) }, + contentPadding = PaddingValues(horizontal = 8.dp, vertical = 2.dp), + modifier = Modifier.height(26.dp), + ) { + Text("Download", style = MaterialTheme.typography.labelSmall) + } + } + } } } diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt index ff36ca0..3227a0e 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/status/StatusViewModel.kt @@ -7,13 +7,18 @@ import com.rukira.wowbackup.backup.BackupProgress import com.rukira.wowbackup.backup.BackupResult import com.rukira.wowbackup.backup.BackupScheduler import com.rukira.wowbackup.config.ConfigManager +import com.rukira.wowbackup.update.UpdateChecker +import com.rukira.wowbackup.update.UpdateInfo +import com.rukira.wowbackup.update.UpdateService import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -32,10 +37,25 @@ data class StatusUiState( val backupProgress: BackupProgress? = null, val totalBackups: Int = 0, val backupPath: String? = null, + val updateInfo: UpdateInfo? = null, ) @OptIn(kotlin.time.ExperimentalTime::class) -class StatusViewModel : ViewModel() { +class StatusViewModel( + private val updateService: UpdateService = UpdateChecker(), +) : ViewModel() { + + private val updateInfo = MutableStateFlow(null) + + init { + viewModelScope.launch(Dispatchers.IO) { + try { + updateInfo.value = updateService.checkForUpdate() + } catch (e: Exception) { + // Silently handle any uncaught exception + } + } + } // Only recomputes when backupPath or lastBackupResult changes — not on every progress tick private val totalBackups = combine( @@ -53,7 +73,8 @@ class StatusViewModel : ViewModel() { ConfigManager.config, BackupScheduler.state, totalBackups, - ) { config, scheduler, backupCount -> + updateInfo, + ) { config, scheduler, backupCount, update -> StatusUiState( isConfigured = config.isConfigured, lastBackupTime = scheduler.lastBackupTime?.let { formatRelativeTime(it) }, @@ -66,6 +87,7 @@ class StatusViewModel : ViewModel() { backupProgress = scheduler.currentProgress, totalBackups = backupCount, backupPath = config.backupPath, + updateInfo = update, ) }.flowOn(Dispatchers.IO).stateIn(viewModelScope, SharingStarted.WhileSubscribed(5000), StatusUiState()) diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt new file mode 100644 index 0000000..27efe6f --- /dev/null +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/SemVer.kt @@ -0,0 +1,52 @@ +package com.rukira.wowbackup.update + +data class SemVer( + val major: Int, + val minor: Int = 0, + val patch: Int = 0, + val preRelease: String? = null, +) : Comparable { + + override fun compareTo(other: SemVer): Int { + if (this.major != other.major) return this.major.compareTo(other.major) + if (this.minor != other.minor) return this.minor.compareTo(other.minor) + if (this.patch != other.patch) return this.patch.compareTo(other.patch) + + // A version without a pre-release is greater than one with a pre-release + return when { + this.preRelease == null && other.preRelease == null -> 0 + this.preRelease == null && other.preRelease != null -> 1 + this.preRelease != null && other.preRelease == null -> -1 + else -> this.preRelease!!.compareTo(other.preRelease!!) + } + } + + fun isNewerThan(other: SemVer): Boolean = this > other + + override fun toString(): String { + val base = "$major.$minor.$patch" + return if (preRelease != null) "$base-$preRelease" else base + } + + companion object { + fun parseOrNull(version: String?): SemVer? { + if (version.isNullOrBlank()) return null + + val cleaned = version.trim().removePrefix("v").removePrefix("V").trim() + if (cleaned.isEmpty()) return null + + val parts = cleaned.split("-", limit = 2) + val core = parts[0] + val preRelease = parts.getOrNull(1)?.takeIf { it.isNotBlank() } + + val numParts = core.split(".") + if (numParts.isEmpty() || numParts.size > 3) return null + + val major = numParts[0].toIntOrNull() ?: return null + val minor = if (numParts.size > 1) numParts[1].toIntOrNull() ?: return null else 0 + val patch = if (numParts.size > 2) numParts[2].toIntOrNull() ?: return null else 0 + + return SemVer(major = major, minor = minor, patch = patch, preRelease = preRelease) + } + } +} diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt new file mode 100644 index 0000000..5b8e315 --- /dev/null +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/update/UpdateChecker.kt @@ -0,0 +1,102 @@ +package com.rukira.wowbackup.update + +import com.rukira.wowbackup.BuildConfig +import io.github.oshai.kotlinlogging.KotlinLogging +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.Json +import java.net.URI +import java.net.http.HttpClient +import java.net.http.HttpRequest +import java.net.http.HttpResponse +import java.time.Duration + +private val logger = KotlinLogging.logger {} + +@Serializable +internal data class ReleaseDto( + @SerialName("tag_name") val tagName: String = "", + val name: String? = null, + @SerialName("html_url") val htmlUrl: String? = null, +) + +data class UpdateInfo( + val latestVersion: String, + val releaseUrl: String, +) + +interface UpdateService { + suspend fun checkForUpdate(currentVersion: String = BuildConfig.VERSION): UpdateInfo? +} + +class UpdateChecker( + private val apiUrl: String = DEFAULT_API_URL, + private val fallbackUrl: String = DEFAULT_FALLBACK_URL, + private val httpClient: HttpClient = HttpClient.newBuilder() + .connectTimeout(Duration.ofSeconds(5)) + .build(), +) : UpdateService { + + private val json = Json { + ignoreUnknownKeys = true + isLenient = true + } + + override suspend fun checkForUpdate(currentVersion: String): UpdateInfo? = withContext(Dispatchers.IO) { + try { + val request = HttpRequest.newBuilder() + .uri(URI.create(apiUrl)) + .timeout(Duration.ofSeconds(5)) + .header("Accept", "application/json") + .header("User-Agent", "WoWBackup/${BuildConfig.VERSION}") + .GET() + .build() + + val response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()) + if (response.statusCode() != 200) { + logger.warn { "Update check received non-200 status code: ${response.statusCode()}" } + return@withContext null + } + + val body = response.body() + if (body.isNullOrBlank()) { + logger.warn { "Update check received empty response body" } + return@withContext null + } + + val release = json.decodeFromString(body) + val remoteSemVer = SemVer.parseOrNull(release.tagName) ?: run { + logger.warn { "Failed to parse remote release tag: '${release.tagName}'" } + return@withContext null + } + + val currentSemVer = SemVer.parseOrNull(currentVersion) ?: run { + logger.warn { "Failed to parse current version: '$currentVersion'" } + return@withContext null + } + + if (remoteSemVer.isNewerThan(currentSemVer)) { + val releaseUrl = release.htmlUrl?.takeIf { it.isNotBlank() } ?: fallbackUrl + val cleanTag = release.tagName.trim().removePrefix("v").removePrefix("V") + logger.info { "New update available: v$cleanTag (current: v$currentVersion). URL: $releaseUrl" } + UpdateInfo( + latestVersion = cleanTag, + releaseUrl = releaseUrl, + ) + } else { + logger.debug { "App is up to date: current=$currentVersion, remote=${release.tagName}" } + null + } + } catch (e: Exception) { + logger.warn(e) { "Failed to check for updates: ${e.message}" } + null + } + } + + companion object { + const val DEFAULT_API_URL = "https://git.asarius.site/api/v1/repos/rukira/wow-backup/releases/latest" + const val DEFAULT_FALLBACK_URL = "https://git.asarius.site/rukira/wow-backup/releases" + } +} diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt new file mode 100644 index 0000000..fe72ba2 --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/ui/status/StatusViewModelTest.kt @@ -0,0 +1,67 @@ +package com.rukira.wowbackup.ui.status + +import com.rukira.wowbackup.update.UpdateInfo +import com.rukira.wowbackup.update.UpdateService +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.advanceUntilIdle +import kotlinx.coroutines.test.resetMain +import kotlinx.coroutines.test.runTest +import kotlinx.coroutines.test.setMain +import kotlin.test.AfterTest +import kotlin.test.BeforeTest +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertNotNull +import kotlin.test.assertNull + +@OptIn(ExperimentalCoroutinesApi::class) +class StatusViewModelTest { + + private val testDispatcher = StandardTestDispatcher() + + @BeforeTest + fun setUp() { + Dispatchers.setMain(testDispatcher) + } + + @AfterTest + fun tearDown() { + Dispatchers.resetMain() + } + + @Test + fun testViewModelReceivesUpdateInfo() = runTest(testDispatcher) { + val mockService = object : UpdateService { + override suspend fun checkForUpdate(currentVersion: String): UpdateInfo { + return UpdateInfo( + latestVersion = "1.0.2", + releaseUrl = "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2", + ) + } + } + + val viewModel = StatusViewModel(updateService = mockService) + advanceUntilIdle() + + val state = viewModel.state.first { it.updateInfo != null } + assertNotNull(state.updateInfo) + assertEquals("1.0.2", state.updateInfo!!.latestVersion) + assertEquals("https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2", state.updateInfo!!.releaseUrl) + } + + @Test + fun testViewModelHandlesNoUpdate() = runTest(testDispatcher) { + val mockService = object : UpdateService { + override suspend fun checkForUpdate(currentVersion: String): UpdateInfo? = null + } + + val viewModel = StatusViewModel(updateService = mockService) + advanceUntilIdle() + + val state = viewModel.state.value + assertNull(state.updateInfo) + } +} diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt new file mode 100644 index 0000000..7032f9d --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/SemVerTest.kt @@ -0,0 +1,97 @@ +package com.rukira.wowbackup.update + +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertFalse +import kotlin.test.assertNotNull +import kotlin.test.assertNull +import kotlin.test.assertTrue + +class SemVerTest { + + @Test + fun testParseStandardVersions() { + val v1 = SemVer.parseOrNull("1.0.0") + assertNotNull(v1) + assertEquals(1, v1.major) + assertEquals(0, v1.minor) + assertEquals(0, v1.patch) + assertNull(v1.preRelease) + + val v2 = SemVer.parseOrNull("v1.2.3") + assertNotNull(v2) + assertEquals(1, v2.major) + assertEquals(2, v2.minor) + assertEquals(3, v2.patch) + assertNull(v2.preRelease) + + val v3 = SemVer.parseOrNull("V2.0") + assertNotNull(v3) + assertEquals(2, v3.major) + assertEquals(0, v3.minor) + assertEquals(0, v3.patch) + + val v4 = SemVer.parseOrNull("0.0.1") + assertNotNull(v4) + assertEquals(0, v4.major) + assertEquals(0, v4.minor) + assertEquals(1, v4.patch) + } + + @Test + fun testParsePreReleaseVersions() { + val v = SemVer.parseOrNull("1.0.0-beta.1") + assertNotNull(v) + assertEquals(1, v.major) + assertEquals(0, v.minor) + assertEquals(0, v.patch) + assertEquals("beta.1", v.preRelease) + } + + @Test + fun testParseInvalidVersions() { + assertNull(SemVer.parseOrNull(null)) + assertNull(SemVer.parseOrNull("")) + assertNull(SemVer.parseOrNull(" ")) + assertNull(SemVer.parseOrNull("invalid")) + assertNull(SemVer.parseOrNull("1.a.3")) + assertNull(SemVer.parseOrNull("1.2.3.4")) + } + + @Test + fun testVersionComparison() { + val v001 = SemVer.parseOrNull("0.0.1")!! + val v100 = SemVer.parseOrNull("1.0.0")!! + val v101 = SemVer.parseOrNull("1.0.1")!! + val v102 = SemVer.parseOrNull("v1.0.2")!! + val v110 = SemVer.parseOrNull("1.1.0")!! + val v200 = SemVer.parseOrNull("2.0.0")!! + + assertTrue(v100.isNewerThan(v001)) + assertTrue(v101.isNewerThan(v100)) + assertTrue(v102.isNewerThan(v101)) + assertTrue(v110.isNewerThan(v102)) + assertTrue(v200.isNewerThan(v110)) + + assertFalse(v101.isNewerThan(v102)) + assertFalse(v102.isNewerThan(SemVer.parseOrNull("1.0.2")!!)) + } + + @Test + fun testPreReleaseComparison() { + val release = SemVer.parseOrNull("1.0.0")!! + val preRelease = SemVer.parseOrNull("1.0.0-alpha")!! + val preReleaseBeta = SemVer.parseOrNull("1.0.0-beta")!! + + assertTrue(release.isNewerThan(preRelease)) + assertFalse(preRelease.isNewerThan(release)) + assertTrue(preReleaseBeta.isNewerThan(preRelease)) + } + + @Test + fun testToString() { + assertEquals("1.0.0", SemVer.parseOrNull("1.0.0")?.toString()) + assertEquals("1.2.0", SemVer.parseOrNull("v1.2")?.toString()) + assertEquals("1.0.0-rc1", SemVer.parseOrNull("1.0.0-rc1")?.toString()) + } +} diff --git a/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt new file mode 100644 index 0000000..c728994 --- /dev/null +++ b/composeApp/src/jvmTest/kotlin/com/rukira/wowbackup/update/UpdateCheckerTest.kt @@ -0,0 +1,172 @@ +package com.rukira.wowbackup.update + +import com.sun.net.httpserver.HttpServer +import kotlinx.coroutines.runBlocking +import java.net.InetSocketAddress +import kotlin.test.AfterTest +import kotlin.test.BeforeTest +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertNotNull +import kotlin.test.assertNull + +class UpdateCheckerTest { + + private lateinit var server: HttpServer + private var serverPort: Int = 0 + + @BeforeTest + fun setUp() { + server = HttpServer.create(InetSocketAddress("127.0.0.1", 0), 0) + serverPort = server.address.port + server.start() + } + + @AfterTest + fun tearDown() { + server.stop(0) + } + + @Test + fun testUpdateAvailableWhenRemoteIsNewer() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2", + "html_url": "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + exchange.responseHeaders.add("Content-Type", "application/json") + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + fallbackUrl = "https://git.asarius.site/rukira/wow-backup/releases", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.1") + assertNotNull(result) + assertEquals("1.0.2", result.latestVersion) + assertEquals("https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2", result.releaseUrl) + } + + @Test + fun testNoUpdateWhenUpToDate() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2", + "html_url": "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + exchange.responseHeaders.add("Content-Type", "application/json") + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.2") + assertNull(result) + } + + @Test + fun testNoUpdateWhenRunningNewerVersion() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2", + "html_url": "https://git.asarius.site/rukira/wow-backup/releases/tag/v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + exchange.responseHeaders.add("Content-Type", "application/json") + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "2.0.0") + assertNull(result) + } + + @Test + fun testHttpErrorGracefullyReturnsNull() = runBlocking { + server.createContext("/releases/latest") { exchange -> + exchange.sendResponseHeaders(404, 0) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.0") + assertNull(result) + } + + @Test + fun testMalformedJsonGracefullyReturnsNull() = runBlocking { + server.createContext("/releases/latest") { exchange -> + val bytes = "Not valid JSON".toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.0") + assertNull(result) + } + + @Test + fun testFallbackUrlUsedWhenHtmlUrlMissing() = runBlocking { + val jsonResponse = """ + { + "id": 5, + "tag_name": "v1.0.2", + "name": "WoW Backup v1.0.2" + } + """.trimIndent() + + server.createContext("/releases/latest") { exchange -> + val bytes = jsonResponse.toByteArray() + exchange.sendResponseHeaders(200, bytes.size.toLong()) + exchange.responseBody.write(bytes) + exchange.close() + } + + val checker = UpdateChecker( + apiUrl = "http://127.0.0.1:$serverPort/releases/latest", + fallbackUrl = "https://git.asarius.site/rukira/wow-backup/releases", + ) + + val result = checker.checkForUpdate(currentVersion = "1.0.0") + assertNotNull(result) + assertEquals("https://git.asarius.site/rukira/wow-backup/releases", result.releaseUrl) + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9e629fd..c8a2a2a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,6 +14,7 @@ materialKolor = "2.0.0" androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } kotlinx-coroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } +kotlinx-coroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } cardiologist = { module = "io.github.kevincianfarini.cardiologist:cardiologist", version.ref = "cardiologist" } From 9cb66f888db77035fabb02c122ec78d14819c15d Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:44:52 +0100 Subject: [PATCH 19/36] Bug report template --- .gitea/issue_template/bug_report.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/issue_template/bug_report.yaml b/.gitea/issue_template/bug_report.yaml index f8e95c4..bc436de 100644 --- a/.gitea/issue_template/bug_report.yaml +++ b/.gitea/issue_template/bug_report.yaml @@ -62,6 +62,7 @@ body: options: - macOS - Windows + - Linux validations: required: true @@ -80,6 +81,7 @@ body: Logs help us understand what went wrong behind the scenes. Here's how to find them: **macOS:** Open Finder, press **Cmd+Shift+G**, and paste: `~/Library/Application Support/WoWBackup/logs` + **Windows:** Press **Win+R**, and paste: `%APPDATA%\WoWBackup\logs` You can also open this folder from the app: go to **Settings** and click the **Open Logs** button at the bottom. From 65962f35811bcabc8a7cae2a04c70a6e1d124b5b Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 10:44:52 +0100 Subject: [PATCH 20/36] Bug report template --- .gitea/issue_template/bug_report.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/issue_template/bug_report.yaml b/.gitea/issue_template/bug_report.yaml index f8e95c4..bc436de 100644 --- a/.gitea/issue_template/bug_report.yaml +++ b/.gitea/issue_template/bug_report.yaml @@ -62,6 +62,7 @@ body: options: - macOS - Windows + - Linux validations: required: true @@ -80,6 +81,7 @@ body: Logs help us understand what went wrong behind the scenes. Here's how to find them: **macOS:** Open Finder, press **Cmd+Shift+G**, and paste: `~/Library/Application Support/WoWBackup/logs` + **Windows:** Press **Win+R**, and paste: `%APPDATA%\WoWBackup\logs` You can also open this folder from the app: go to **Settings** and click the **Open Logs** button at the bottom. From 6fe133766e3a771f0eccd1dc173dac730df1bceb Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:24:05 +0100 Subject: [PATCH 21/36] Roadmap update --- docs/roadmap.md | 66 ++----------------------------------------------- 1 file changed, 2 insertions(+), 64 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index bcbbaec..5afa40c 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -4,75 +4,13 @@ This document outlines the current state of the project, remaining core features --- -## 1. Immediate Priority: Feature 5 (Restore System) +## Immediate Priority: Feature 5 (Restore System) The core backup and scheduling pipeline is complete, but the restoration flow is currently a stub placeholder. Implementing Feature 5 is the final step to complete the original functional scope of `docs/masterplan.md`. -### Tasks: -1. **Restore Engine (`RestoreEngine.kt`)** - - Implement `restoreBackup(entry: BackupEntry, targetDir: File): RestoreResult`. - - Support restoring from both timestamped directory structures and `.zip` archives (extracting using `ZipInputStream`). - - Clean/delete existing target folders (`WTF` and/or `Interface`) safely before copy/extraction. - - Implement live progress reporting (`RestoreProgress` with total files, completed count, current file name). - - Ensure full cancellation support via Kotlin Coroutines. -2. **Safety & Validation Mechanics** - - Warn or guard if World of Warcraft is currently running during restoration. - - Verify backup integrity and destination disk space before starting destructive deletion. - - Create an automatic temporary safety snapshot of current `WTF`/`Interface` folders prior to overwrite. -3. **Restore ViewModel (`RestoreViewModel.kt`)** - - Expose `RestoreUiState` combining available backups list, selected entry, progress, and confirmation states. - - Manage restore lifecycle (start, cancel, dismiss, error handling). -4. **Restore Screen UI (`RestoreScreen.kt`)** - - Replace placeholder with scrollable list of existing backups displaying date/time, archive size, and format badge. - - Material 3 confirmation dialog detailing destructive overwrite. - - Progress overlay with `LinearProgressIndicator`, active file, and cancellation button. - - Empty state when no backups are present. -5. **App Wiring** - - Connect `Screen.RESTORE` in `App.kt` to `RestoreScreen`. - - Enable the "Restore" button on `StatusScreen.kt`. - --- -## 2. Testing Infrastructure & Automated Test Suite - -Currently, the project contains no automated test suite (`src/jvmTest` is empty). Adding tests will prevent regressions during future maintenance. - -### Test Targets: -1. **`BackupHistoryTest`**: - - Timestamp parsing across formats and edge cases. - - Backup listing and correct descending sort order. - - Retention policy pruning (ensuring only oldest backups exceeding count are deleted). - - Metrics computation for directory trees and ZIP files. -2. **`BackupEngineTest` & `RestoreEngineTest`**: - - File copy accuracy, recursive folder preservation, and attribute retention. - - ZIP compression and decompression fidelity. - - Cancellation responsiveness and cleanup of partial writes. -3. **`ConfigManagerTest`**: - - JSON serialization / deserialization defaults and edge cases. - - Thread-safe updates and reactive `StateFlow` emissions. -4. **`WoWLocationsTest`**: - - Install directory heuristics and resolution from root `World of Warcraft` to `_retail_` or `_classic_`. - - Missing folder detection and permission warnings. - ---- - -## 3. Build Automation & Release Pipeline (Completed) - -Automated multi-platform packaging and release pipeline implemented via GitHub Actions (`.github/workflows/release.yml`) and documented in `INSTALL.md` and `docs/plans/feature-6-release-pipeline.md`. - -### Implemented: -1. **GitHub Actions Release Pipeline** - - Automated semantic patch version computation and git tagging on push to `main` and `workflow_dispatch`. - - Matrix builds on macOS (`macos-latest`), Windows (`windows-latest`), and Linux (`ubuntu-latest`). -2. **Automated Distribution Packaging & GitHub Releases** - - Automated artifact generation and release publishing for `.dmg` (macOS), `.msi` (Windows), and `.deb` (Linux). - - Dynamic version injection via `-PappVersion` in `composeApp/build.gradle.kts`. -3. **Installation Documentation** - - Detailed `INSTALL.md` guide covering installation and security prompts (Gatekeeper / SmartScreen) across all platforms. - ---- - -## 4. Future Enhancements (Post-v1.0) +## Future Enhancements (Post-v1.0) 1. **Multi-Flavour & Account Profile Support** - Support backing up multiple game versions simultaneously (`_retail_`, `_classic_`, `_classic_era_`, `_ptr_`). From 7056758728c8e72a0f257b502510138def282e4b Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:24:05 +0100 Subject: [PATCH 22/36] Roadmap update --- docs/roadmap.md | 66 ++----------------------------------------------- 1 file changed, 2 insertions(+), 64 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index bcbbaec..5afa40c 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -4,75 +4,13 @@ This document outlines the current state of the project, remaining core features --- -## 1. Immediate Priority: Feature 5 (Restore System) +## Immediate Priority: Feature 5 (Restore System) The core backup and scheduling pipeline is complete, but the restoration flow is currently a stub placeholder. Implementing Feature 5 is the final step to complete the original functional scope of `docs/masterplan.md`. -### Tasks: -1. **Restore Engine (`RestoreEngine.kt`)** - - Implement `restoreBackup(entry: BackupEntry, targetDir: File): RestoreResult`. - - Support restoring from both timestamped directory structures and `.zip` archives (extracting using `ZipInputStream`). - - Clean/delete existing target folders (`WTF` and/or `Interface`) safely before copy/extraction. - - Implement live progress reporting (`RestoreProgress` with total files, completed count, current file name). - - Ensure full cancellation support via Kotlin Coroutines. -2. **Safety & Validation Mechanics** - - Warn or guard if World of Warcraft is currently running during restoration. - - Verify backup integrity and destination disk space before starting destructive deletion. - - Create an automatic temporary safety snapshot of current `WTF`/`Interface` folders prior to overwrite. -3. **Restore ViewModel (`RestoreViewModel.kt`)** - - Expose `RestoreUiState` combining available backups list, selected entry, progress, and confirmation states. - - Manage restore lifecycle (start, cancel, dismiss, error handling). -4. **Restore Screen UI (`RestoreScreen.kt`)** - - Replace placeholder with scrollable list of existing backups displaying date/time, archive size, and format badge. - - Material 3 confirmation dialog detailing destructive overwrite. - - Progress overlay with `LinearProgressIndicator`, active file, and cancellation button. - - Empty state when no backups are present. -5. **App Wiring** - - Connect `Screen.RESTORE` in `App.kt` to `RestoreScreen`. - - Enable the "Restore" button on `StatusScreen.kt`. - --- -## 2. Testing Infrastructure & Automated Test Suite - -Currently, the project contains no automated test suite (`src/jvmTest` is empty). Adding tests will prevent regressions during future maintenance. - -### Test Targets: -1. **`BackupHistoryTest`**: - - Timestamp parsing across formats and edge cases. - - Backup listing and correct descending sort order. - - Retention policy pruning (ensuring only oldest backups exceeding count are deleted). - - Metrics computation for directory trees and ZIP files. -2. **`BackupEngineTest` & `RestoreEngineTest`**: - - File copy accuracy, recursive folder preservation, and attribute retention. - - ZIP compression and decompression fidelity. - - Cancellation responsiveness and cleanup of partial writes. -3. **`ConfigManagerTest`**: - - JSON serialization / deserialization defaults and edge cases. - - Thread-safe updates and reactive `StateFlow` emissions. -4. **`WoWLocationsTest`**: - - Install directory heuristics and resolution from root `World of Warcraft` to `_retail_` or `_classic_`. - - Missing folder detection and permission warnings. - ---- - -## 3. Build Automation & Release Pipeline (Completed) - -Automated multi-platform packaging and release pipeline implemented via GitHub Actions (`.github/workflows/release.yml`) and documented in `INSTALL.md` and `docs/plans/feature-6-release-pipeline.md`. - -### Implemented: -1. **GitHub Actions Release Pipeline** - - Automated semantic patch version computation and git tagging on push to `main` and `workflow_dispatch`. - - Matrix builds on macOS (`macos-latest`), Windows (`windows-latest`), and Linux (`ubuntu-latest`). -2. **Automated Distribution Packaging & GitHub Releases** - - Automated artifact generation and release publishing for `.dmg` (macOS), `.msi` (Windows), and `.deb` (Linux). - - Dynamic version injection via `-PappVersion` in `composeApp/build.gradle.kts`. -3. **Installation Documentation** - - Detailed `INSTALL.md` guide covering installation and security prompts (Gatekeeper / SmartScreen) across all platforms. - ---- - -## 4. Future Enhancements (Post-v1.0) +## Future Enhancements (Post-v1.0) 1. **Multi-Flavour & Account Profile Support** - Support backing up multiple game versions simultaneously (`_retail_`, `_classic_`, `_classic_era_`, `_ptr_`). From cdda6c915606ad71de7eff51657b1290d600523b Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:32:19 +0100 Subject: [PATCH 23/36] Sticky buttons in Settings --- .../wowbackup/ui/config/ConfigScreen.kt | 416 +++++++++--------- 1 file changed, 211 insertions(+), 205 deletions(-) diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt index 63922c0..95dd10d 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt @@ -63,214 +63,234 @@ fun ConfigScreen( var showForceBackupDialog by remember { mutableStateOf(false) } val scrollState = rememberScrollState() - Box(modifier = Modifier.fillMaxSize()) { - Column( - modifier = Modifier - .fillMaxSize() - .verticalScroll(scrollState) - .padding(24.dp), - verticalArrangement = Arrangement.spacedBy(16.dp), - ) { - Text("Settings", style = MaterialTheme.typography.headlineMedium) + Column(modifier = Modifier.fillMaxSize()) { + Box( + modifier = Modifier + .weight(1f) + .fillMaxWidth(), + ) { + Column( + modifier = Modifier + .fillMaxSize() + .verticalScroll(scrollState) + .padding(24.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { + Text("Settings", style = MaterialTheme.typography.headlineMedium) - // === WoW Installation === - SectionHeader("WoW Installation") + // === WoW Installation === + SectionHeader("WoW Installation") - PathField( - label = "WoW install location", - value = config.wowInstallPath ?: "", - error = errors["wowPath"], - onBrowse = { - val dir = pickFolder("Select WoW Install Folder", config.wowInstallPath?.let { File(it) }) - if (dir != null) viewModel.updateWoWPath(dir.absolutePath) - }, - ) + PathField( + label = "WoW install location", + value = config.wowInstallPath ?: "", + error = errors["wowPath"], + onBrowse = { + val dir = pickFolder("Select WoW Install Folder", config.wowInstallPath?.let { File(it) }) + if (dir != null) viewModel.updateWoWPath(dir.absolutePath) + }, + ) - // WoW path warnings (e.g. missing WTF/Interface, permission issues) - uiState.warnings["wowPath"]?.forEach { warning -> - Text( - warning, - color = MaterialTheme.colorScheme.tertiary, - style = MaterialTheme.typography.bodySmall, - ) - } - - // WoW validation summary when valid - uiState.wowValidation?.let { validation -> - if (validation.isValid) { - val wtfStatus = when { - validation.wtfReadable -> "WTF folder: found" - validation.hasWtf -> "WTF folder: found (not readable)" - else -> "WTF folder: not found" + // WoW path warnings (e.g. missing WTF/Interface, permission issues) + uiState.warnings["wowPath"]?.forEach { warning -> + Text( + warning, + color = MaterialTheme.colorScheme.tertiary, + style = MaterialTheme.typography.bodySmall, + ) } - val interfaceStatus = when { - validation.interfaceReadable -> "Interface folder: found" - validation.hasInterface -> "Interface folder: found (not readable)" - else -> "Interface folder: not found" + + // WoW validation summary when valid + uiState.wowValidation?.let { validation -> + if (validation.isValid) { + val wtfStatus = when { + validation.wtfReadable -> "WTF folder: found" + validation.hasWtf -> "WTF folder: found (not readable)" + else -> "WTF folder: not found" + } + val interfaceStatus = when { + validation.interfaceReadable -> "Interface folder: found" + validation.hasInterface -> "Interface folder: found (not readable)" + else -> "Interface folder: not found" + } + Text( + "$wtfStatus | $interfaceStatus", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } } + + OutlinedButton(onClick = { viewModel.detectWoWLocation() }) { + Text("Auto-detect") + } + + // === Backup Settings === + SectionHeader("Backup Settings") + + PathField( + label = "Backup destination", + value = config.backupPath ?: "", + error = errors["backupPath"], + onBrowse = { + val dir = pickFolder("Select Backup Destination", config.backupPath?.let { File(it) }) + if (dir != null) viewModel.updateBackupPath(dir.absolutePath) + }, + ) + + Text("Daily backup time", style = MaterialTheme.typography.bodyMedium) + TimePicker( + value = config.backupTimeOfDay, + onValueChange = { viewModel.updateBackupTime(it) }, + modifier = Modifier.width(240.dp), + ) + + Row(verticalAlignment = Alignment.CenterVertically) { + Text("Backups to keep:", style = MaterialTheme.typography.bodyMedium) + Spacer(Modifier.width(8.dp)) + HistoryCountSelector( + value = config.backupHistoryCount, + onValueChange = { viewModel.updateBackupHistoryCount(it) }, + ) + } + + CheckboxRow( + checked = config.forceBackupWhileRunning, + onCheckedChange = { checked -> + if (checked) { + showForceBackupDialog = true + } else { + viewModel.updateForceBackup(false) + } + }, + label = "Allow backup while WoW is running", + ) + + // === Folders to Backup === + SectionHeader("Folders to Backup") + + if (errors.containsKey("folders")) { + Text(errors["folders"]!!, color = MaterialTheme.colorScheme.error, style = MaterialTheme.typography.bodySmall) + } + + CheckboxRow( + checked = config.backupWtf, + onCheckedChange = { viewModel.updateBackupWtf(it) }, + label = "WTF", + description = "Contains account settings, keybinds, macros, and addon saved variables.", + ) + + CheckboxRow( + checked = config.backupInterface, + onCheckedChange = { viewModel.updateBackupInterface(it) }, + label = "Interface", + description = "Contains installed addons.", + ) + + // === Options === + SectionHeader("Options") + + CheckboxRow( + checked = config.compressionEnabled, + onCheckedChange = { viewModel.updateCompression(it) }, + label = "Compression", + description = "Compress backups to save disk space. Slightly slower backup/restore.", + ) + + CheckboxRow( + checked = config.notificationsEnabled, + onCheckedChange = { viewModel.updateNotifications(it) }, + label = "Notifications", + description = "Show system notifications for backup events.", + ) + + CheckboxRow( + checked = config.runAtStartup, + onCheckedChange = { viewModel.updateRunAtStartup(it) }, + label = "Run at startup", + description = "Launch WoW Backup automatically when you log in.", + ) + + // === Appearance === + SectionHeader("Appearance") + + Text("Theme", style = MaterialTheme.typography.bodyMedium) + SingleChoiceSegmentedButtonRow { + ThemeMode.entries.forEachIndexed { index, mode -> + SegmentedButton( + selected = config.themeMode == mode, + onClick = { viewModel.updateThemeMode(mode) }, + shape = SegmentedButtonDefaults.itemShape(index, ThemeMode.entries.size), + ) { + Text( + when (mode) { + ThemeMode.SYSTEM -> "System" + ThemeMode.LIGHT -> "Light" + ThemeMode.DARK -> "Dark" + }, + ) + } + } + } + + Text("Accent color", style = MaterialTheme.typography.bodyMedium) + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + AccentColor.entries.forEach { color -> + val isSelected = config.accentColor == color + Box( + modifier = Modifier + .size(36.dp) + .clip(CircleShape) + .background(color.seedColor, CircleShape) + .then( + if (isSelected) { + Modifier.border(2.dp, MaterialTheme.colorScheme.onSurface, CircleShape) + } else { + Modifier + }, + ) + .clickable { viewModel.updateAccentColor(color) }, + contentAlignment = Alignment.Center, + ) { + if (isSelected) { + Text( + "\u2713", + color = MaterialTheme.colorScheme.surface, + style = MaterialTheme.typography.labelLarge, + ) + } + } + } + } + Text( - "$wtfStatus | $interfaceStatus", + "Theme changes apply immediately.", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, ) } - } - OutlinedButton(onClick = { viewModel.detectWoWLocation() }) { - Text("Auto-detect") - } - - // === Backup Settings === - SectionHeader("Backup Settings") - - PathField( - label = "Backup destination", - value = config.backupPath ?: "", - error = errors["backupPath"], - onBrowse = { - val dir = pickFolder("Select Backup Destination", config.backupPath?.let { File(it) }) - if (dir != null) viewModel.updateBackupPath(dir.absolutePath) - }, - ) - - Text("Daily backup time", style = MaterialTheme.typography.bodyMedium) - TimePicker( - value = config.backupTimeOfDay, - onValueChange = { viewModel.updateBackupTime(it) }, - modifier = Modifier.width(240.dp), - ) - - Row(verticalAlignment = Alignment.CenterVertically) { - Text("Backups to keep:", style = MaterialTheme.typography.bodyMedium) - Spacer(Modifier.width(8.dp)) - HistoryCountSelector( - value = config.backupHistoryCount, - onValueChange = { viewModel.updateBackupHistoryCount(it) }, + VerticalScrollbar( + modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(), + adapter = rememberScrollbarAdapter(scrollState), + style = ScrollbarStyle( + minimalHeight = 48.dp, + thickness = 8.dp, + shape = RoundedCornerShape(4.dp), + hoverDurationMillis = 300, + unhoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.3f), + hoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.6f), + ), ) } - CheckboxRow( - checked = config.forceBackupWhileRunning, - onCheckedChange = { checked -> - if (checked) { - showForceBackupDialog = true - } else { - viewModel.updateForceBackup(false) - } - }, - label = "Allow backup while WoW is running", - ) - - // === Folders to Backup === - SectionHeader("Folders to Backup") - - if (errors.containsKey("folders")) { - Text(errors["folders"]!!, color = MaterialTheme.colorScheme.error, style = MaterialTheme.typography.bodySmall) - } - - CheckboxRow( - checked = config.backupWtf, - onCheckedChange = { viewModel.updateBackupWtf(it) }, - label = "WTF", - description = "Contains account settings, keybinds, macros, and addon saved variables.", - ) - - CheckboxRow( - checked = config.backupInterface, - onCheckedChange = { viewModel.updateBackupInterface(it) }, - label = "Interface", - description = "Contains installed addons.", - ) - - // === Options === - SectionHeader("Options") - - CheckboxRow( - checked = config.compressionEnabled, - onCheckedChange = { viewModel.updateCompression(it) }, - label = "Compression", - description = "Compress backups to save disk space. Slightly slower backup/restore.", - ) - - CheckboxRow( - checked = config.notificationsEnabled, - onCheckedChange = { viewModel.updateNotifications(it) }, - label = "Notifications", - description = "Show system notifications for backup events.", - ) - - CheckboxRow( - checked = config.runAtStartup, - onCheckedChange = { viewModel.updateRunAtStartup(it) }, - label = "Run at startup", - description = "Launch WoW Backup automatically when you log in.", - ) - - // === Appearance === - SectionHeader("Appearance") - - Text("Theme", style = MaterialTheme.typography.bodyMedium) - SingleChoiceSegmentedButtonRow { - ThemeMode.entries.forEachIndexed { index, mode -> - SegmentedButton( - selected = config.themeMode == mode, - onClick = { viewModel.updateThemeMode(mode) }, - shape = SegmentedButtonDefaults.itemShape(index, ThemeMode.entries.size), - ) { - Text( - when (mode) { - ThemeMode.SYSTEM -> "System" - ThemeMode.LIGHT -> "Light" - ThemeMode.DARK -> "Dark" - }, - ) - } - } - } - - Text("Accent color", style = MaterialTheme.typography.bodyMedium) - Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { - AccentColor.entries.forEach { color -> - val isSelected = config.accentColor == color - Box( - modifier = Modifier - .size(36.dp) - .clip(CircleShape) - .background(color.seedColor, CircleShape) - .then( - if (isSelected) { - Modifier.border(2.dp, MaterialTheme.colorScheme.onSurface, CircleShape) - } else { - Modifier - }, - ) - .clickable { viewModel.updateAccentColor(color) }, - contentAlignment = Alignment.Center, - ) { - if (isSelected) { - Text( - "\u2713", - color = MaterialTheme.colorScheme.surface, - style = MaterialTheme.typography.labelLarge, - ) - } - } - } - } - - Text( - "Theme changes apply immediately.", - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) - - // === Footer === - Spacer(Modifier.height(8.dp)) + // === Sticky Footer === HorizontalDivider() - Spacer(Modifier.height(8.dp)) Row( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 24.dp, vertical = 16.dp), horizontalArrangement = Arrangement.End, verticalAlignment = Alignment.CenterVertically, ) { @@ -303,20 +323,6 @@ fun ConfigScreen( } } - VerticalScrollbar( - modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(), - adapter = rememberScrollbarAdapter(scrollState), - style = ScrollbarStyle( - minimalHeight = 48.dp, - thickness = 8.dp, - shape = RoundedCornerShape(4.dp), - hoverDurationMillis = 300, - unhoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.3f), - hoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.6f), - ), - ) - } - // Force backup confirmation dialog if (showForceBackupDialog) { ConfirmationDialog( From b7bff1a7bd3170c8c6e288445b93d8b054ac4bef Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:32:19 +0100 Subject: [PATCH 24/36] Sticky buttons in Settings --- .../wowbackup/ui/config/ConfigScreen.kt | 416 +++++++++--------- 1 file changed, 211 insertions(+), 205 deletions(-) diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt index 63922c0..95dd10d 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/ui/config/ConfigScreen.kt @@ -63,214 +63,234 @@ fun ConfigScreen( var showForceBackupDialog by remember { mutableStateOf(false) } val scrollState = rememberScrollState() - Box(modifier = Modifier.fillMaxSize()) { - Column( - modifier = Modifier - .fillMaxSize() - .verticalScroll(scrollState) - .padding(24.dp), - verticalArrangement = Arrangement.spacedBy(16.dp), - ) { - Text("Settings", style = MaterialTheme.typography.headlineMedium) + Column(modifier = Modifier.fillMaxSize()) { + Box( + modifier = Modifier + .weight(1f) + .fillMaxWidth(), + ) { + Column( + modifier = Modifier + .fillMaxSize() + .verticalScroll(scrollState) + .padding(24.dp), + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { + Text("Settings", style = MaterialTheme.typography.headlineMedium) - // === WoW Installation === - SectionHeader("WoW Installation") + // === WoW Installation === + SectionHeader("WoW Installation") - PathField( - label = "WoW install location", - value = config.wowInstallPath ?: "", - error = errors["wowPath"], - onBrowse = { - val dir = pickFolder("Select WoW Install Folder", config.wowInstallPath?.let { File(it) }) - if (dir != null) viewModel.updateWoWPath(dir.absolutePath) - }, - ) + PathField( + label = "WoW install location", + value = config.wowInstallPath ?: "", + error = errors["wowPath"], + onBrowse = { + val dir = pickFolder("Select WoW Install Folder", config.wowInstallPath?.let { File(it) }) + if (dir != null) viewModel.updateWoWPath(dir.absolutePath) + }, + ) - // WoW path warnings (e.g. missing WTF/Interface, permission issues) - uiState.warnings["wowPath"]?.forEach { warning -> - Text( - warning, - color = MaterialTheme.colorScheme.tertiary, - style = MaterialTheme.typography.bodySmall, - ) - } - - // WoW validation summary when valid - uiState.wowValidation?.let { validation -> - if (validation.isValid) { - val wtfStatus = when { - validation.wtfReadable -> "WTF folder: found" - validation.hasWtf -> "WTF folder: found (not readable)" - else -> "WTF folder: not found" + // WoW path warnings (e.g. missing WTF/Interface, permission issues) + uiState.warnings["wowPath"]?.forEach { warning -> + Text( + warning, + color = MaterialTheme.colorScheme.tertiary, + style = MaterialTheme.typography.bodySmall, + ) } - val interfaceStatus = when { - validation.interfaceReadable -> "Interface folder: found" - validation.hasInterface -> "Interface folder: found (not readable)" - else -> "Interface folder: not found" + + // WoW validation summary when valid + uiState.wowValidation?.let { validation -> + if (validation.isValid) { + val wtfStatus = when { + validation.wtfReadable -> "WTF folder: found" + validation.hasWtf -> "WTF folder: found (not readable)" + else -> "WTF folder: not found" + } + val interfaceStatus = when { + validation.interfaceReadable -> "Interface folder: found" + validation.hasInterface -> "Interface folder: found (not readable)" + else -> "Interface folder: not found" + } + Text( + "$wtfStatus | $interfaceStatus", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } } + + OutlinedButton(onClick = { viewModel.detectWoWLocation() }) { + Text("Auto-detect") + } + + // === Backup Settings === + SectionHeader("Backup Settings") + + PathField( + label = "Backup destination", + value = config.backupPath ?: "", + error = errors["backupPath"], + onBrowse = { + val dir = pickFolder("Select Backup Destination", config.backupPath?.let { File(it) }) + if (dir != null) viewModel.updateBackupPath(dir.absolutePath) + }, + ) + + Text("Daily backup time", style = MaterialTheme.typography.bodyMedium) + TimePicker( + value = config.backupTimeOfDay, + onValueChange = { viewModel.updateBackupTime(it) }, + modifier = Modifier.width(240.dp), + ) + + Row(verticalAlignment = Alignment.CenterVertically) { + Text("Backups to keep:", style = MaterialTheme.typography.bodyMedium) + Spacer(Modifier.width(8.dp)) + HistoryCountSelector( + value = config.backupHistoryCount, + onValueChange = { viewModel.updateBackupHistoryCount(it) }, + ) + } + + CheckboxRow( + checked = config.forceBackupWhileRunning, + onCheckedChange = { checked -> + if (checked) { + showForceBackupDialog = true + } else { + viewModel.updateForceBackup(false) + } + }, + label = "Allow backup while WoW is running", + ) + + // === Folders to Backup === + SectionHeader("Folders to Backup") + + if (errors.containsKey("folders")) { + Text(errors["folders"]!!, color = MaterialTheme.colorScheme.error, style = MaterialTheme.typography.bodySmall) + } + + CheckboxRow( + checked = config.backupWtf, + onCheckedChange = { viewModel.updateBackupWtf(it) }, + label = "WTF", + description = "Contains account settings, keybinds, macros, and addon saved variables.", + ) + + CheckboxRow( + checked = config.backupInterface, + onCheckedChange = { viewModel.updateBackupInterface(it) }, + label = "Interface", + description = "Contains installed addons.", + ) + + // === Options === + SectionHeader("Options") + + CheckboxRow( + checked = config.compressionEnabled, + onCheckedChange = { viewModel.updateCompression(it) }, + label = "Compression", + description = "Compress backups to save disk space. Slightly slower backup/restore.", + ) + + CheckboxRow( + checked = config.notificationsEnabled, + onCheckedChange = { viewModel.updateNotifications(it) }, + label = "Notifications", + description = "Show system notifications for backup events.", + ) + + CheckboxRow( + checked = config.runAtStartup, + onCheckedChange = { viewModel.updateRunAtStartup(it) }, + label = "Run at startup", + description = "Launch WoW Backup automatically when you log in.", + ) + + // === Appearance === + SectionHeader("Appearance") + + Text("Theme", style = MaterialTheme.typography.bodyMedium) + SingleChoiceSegmentedButtonRow { + ThemeMode.entries.forEachIndexed { index, mode -> + SegmentedButton( + selected = config.themeMode == mode, + onClick = { viewModel.updateThemeMode(mode) }, + shape = SegmentedButtonDefaults.itemShape(index, ThemeMode.entries.size), + ) { + Text( + when (mode) { + ThemeMode.SYSTEM -> "System" + ThemeMode.LIGHT -> "Light" + ThemeMode.DARK -> "Dark" + }, + ) + } + } + } + + Text("Accent color", style = MaterialTheme.typography.bodyMedium) + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + AccentColor.entries.forEach { color -> + val isSelected = config.accentColor == color + Box( + modifier = Modifier + .size(36.dp) + .clip(CircleShape) + .background(color.seedColor, CircleShape) + .then( + if (isSelected) { + Modifier.border(2.dp, MaterialTheme.colorScheme.onSurface, CircleShape) + } else { + Modifier + }, + ) + .clickable { viewModel.updateAccentColor(color) }, + contentAlignment = Alignment.Center, + ) { + if (isSelected) { + Text( + "\u2713", + color = MaterialTheme.colorScheme.surface, + style = MaterialTheme.typography.labelLarge, + ) + } + } + } + } + Text( - "$wtfStatus | $interfaceStatus", + "Theme changes apply immediately.", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, ) } - } - OutlinedButton(onClick = { viewModel.detectWoWLocation() }) { - Text("Auto-detect") - } - - // === Backup Settings === - SectionHeader("Backup Settings") - - PathField( - label = "Backup destination", - value = config.backupPath ?: "", - error = errors["backupPath"], - onBrowse = { - val dir = pickFolder("Select Backup Destination", config.backupPath?.let { File(it) }) - if (dir != null) viewModel.updateBackupPath(dir.absolutePath) - }, - ) - - Text("Daily backup time", style = MaterialTheme.typography.bodyMedium) - TimePicker( - value = config.backupTimeOfDay, - onValueChange = { viewModel.updateBackupTime(it) }, - modifier = Modifier.width(240.dp), - ) - - Row(verticalAlignment = Alignment.CenterVertically) { - Text("Backups to keep:", style = MaterialTheme.typography.bodyMedium) - Spacer(Modifier.width(8.dp)) - HistoryCountSelector( - value = config.backupHistoryCount, - onValueChange = { viewModel.updateBackupHistoryCount(it) }, + VerticalScrollbar( + modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(), + adapter = rememberScrollbarAdapter(scrollState), + style = ScrollbarStyle( + minimalHeight = 48.dp, + thickness = 8.dp, + shape = RoundedCornerShape(4.dp), + hoverDurationMillis = 300, + unhoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.3f), + hoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.6f), + ), ) } - CheckboxRow( - checked = config.forceBackupWhileRunning, - onCheckedChange = { checked -> - if (checked) { - showForceBackupDialog = true - } else { - viewModel.updateForceBackup(false) - } - }, - label = "Allow backup while WoW is running", - ) - - // === Folders to Backup === - SectionHeader("Folders to Backup") - - if (errors.containsKey("folders")) { - Text(errors["folders"]!!, color = MaterialTheme.colorScheme.error, style = MaterialTheme.typography.bodySmall) - } - - CheckboxRow( - checked = config.backupWtf, - onCheckedChange = { viewModel.updateBackupWtf(it) }, - label = "WTF", - description = "Contains account settings, keybinds, macros, and addon saved variables.", - ) - - CheckboxRow( - checked = config.backupInterface, - onCheckedChange = { viewModel.updateBackupInterface(it) }, - label = "Interface", - description = "Contains installed addons.", - ) - - // === Options === - SectionHeader("Options") - - CheckboxRow( - checked = config.compressionEnabled, - onCheckedChange = { viewModel.updateCompression(it) }, - label = "Compression", - description = "Compress backups to save disk space. Slightly slower backup/restore.", - ) - - CheckboxRow( - checked = config.notificationsEnabled, - onCheckedChange = { viewModel.updateNotifications(it) }, - label = "Notifications", - description = "Show system notifications for backup events.", - ) - - CheckboxRow( - checked = config.runAtStartup, - onCheckedChange = { viewModel.updateRunAtStartup(it) }, - label = "Run at startup", - description = "Launch WoW Backup automatically when you log in.", - ) - - // === Appearance === - SectionHeader("Appearance") - - Text("Theme", style = MaterialTheme.typography.bodyMedium) - SingleChoiceSegmentedButtonRow { - ThemeMode.entries.forEachIndexed { index, mode -> - SegmentedButton( - selected = config.themeMode == mode, - onClick = { viewModel.updateThemeMode(mode) }, - shape = SegmentedButtonDefaults.itemShape(index, ThemeMode.entries.size), - ) { - Text( - when (mode) { - ThemeMode.SYSTEM -> "System" - ThemeMode.LIGHT -> "Light" - ThemeMode.DARK -> "Dark" - }, - ) - } - } - } - - Text("Accent color", style = MaterialTheme.typography.bodyMedium) - Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { - AccentColor.entries.forEach { color -> - val isSelected = config.accentColor == color - Box( - modifier = Modifier - .size(36.dp) - .clip(CircleShape) - .background(color.seedColor, CircleShape) - .then( - if (isSelected) { - Modifier.border(2.dp, MaterialTheme.colorScheme.onSurface, CircleShape) - } else { - Modifier - }, - ) - .clickable { viewModel.updateAccentColor(color) }, - contentAlignment = Alignment.Center, - ) { - if (isSelected) { - Text( - "\u2713", - color = MaterialTheme.colorScheme.surface, - style = MaterialTheme.typography.labelLarge, - ) - } - } - } - } - - Text( - "Theme changes apply immediately.", - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) - - // === Footer === - Spacer(Modifier.height(8.dp)) + // === Sticky Footer === HorizontalDivider() - Spacer(Modifier.height(8.dp)) Row( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 24.dp, vertical = 16.dp), horizontalArrangement = Arrangement.End, verticalAlignment = Alignment.CenterVertically, ) { @@ -303,20 +323,6 @@ fun ConfigScreen( } } - VerticalScrollbar( - modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(), - adapter = rememberScrollbarAdapter(scrollState), - style = ScrollbarStyle( - minimalHeight = 48.dp, - thickness = 8.dp, - shape = RoundedCornerShape(4.dp), - hoverDurationMillis = 300, - unhoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.3f), - hoverColor = MaterialTheme.colorScheme.onSurfaceVariant.copy(alpha = 0.6f), - ), - ) - } - // Force backup confirmation dialog if (showForceBackupDialog) { ConfirmationDialog( From 482089cd6296ba898340e5dcc940fa1b894ede73 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:38:37 +0100 Subject: [PATCH 25/36] Hiding dock icon for MacOS --- composeApp/build.gradle.kts | 8 +++++++- .../jvmMain/kotlin/com/rukira/wowbackup/main.kt | 3 +++ docs/plans/feature-1-system-tray.md | 17 +++++++++++++++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 9e78e71..df26346 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -70,7 +70,7 @@ compose.desktop { application { mainClass = "com.rukira.wowbackup.MainKt" - jvmArgs("-Dapple.awt.enableTemplateImages=true") + jvmArgs("-Dapple.awt.enableTemplateImages=true", "-Dapple.awt.UIElement=true") nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) @@ -82,6 +82,12 @@ compose.desktop { macOS { bundleID = "com.rukira.wowbackup" iconFile.set(project.file("src/jvmMain/resources/icon.icns")) + infoPlist { + extraKeysRawXml = """ + LSUIElement + + """.trimIndent() + } } windows { diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt index a9e0d8b..aee168b 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt @@ -28,6 +28,9 @@ import java.awt.GraphicsEnvironment private val logger = KotlinLogging.logger {} fun main() { + if (Platform.current == OS.Mac) { + System.setProperty("apple.awt.UIElement", "true") + } LoggingSetup.init() logger.info { "WoW Backup starting" } diff --git a/docs/plans/feature-1-system-tray.md b/docs/plans/feature-1-system-tray.md index 699456f..826321a 100644 --- a/docs/plans/feature-1-system-tray.md +++ b/docs/plans/feature-1-system-tray.md @@ -84,18 +84,31 @@ Strip all template code. Route to placeholder screens based on `currentScreen`: ### Step 5: Auto-show config if not configured In `main.kt`, on startup check `ConfigManager.isConfigured`. If false, set `currentScreen = Screen.CONFIG` and `isWindowVisible = true`. -### Step 6: macOS JVM args +### Step 6: macOS JVM args and Dock hiding (LSUIElement) **Files to modify:** - `composeApp/build.gradle.kts` — add to desktop application config: ```kotlin compose.desktop { application { - jvmArgs("-Dapple.awt.enableTemplateImages=true") + jvmArgs("-Dapple.awt.enableTemplateImages=true", "-Dapple.awt.UIElement=true") + + nativeDistributions { + macOS { + infoPlist { + extraKeysRawXml = """ + LSUIElement + + """.trimIndent() + } + } + } } } ``` +Also set `System.setProperty("apple.awt.UIElement", "true")` in `main.kt` for macOS so that the dock icon is suppressed during development runs. + ## Verification 1. `./gradlew composeApp:run` — app launches with tray icon visible 2. Tray icon shows context menu with Status, Settings, Quit From e873f14a7b342791025b00be2a0eecece1f2f107 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:38:37 +0100 Subject: [PATCH 26/36] Hiding dock icon for MacOS --- composeApp/build.gradle.kts | 8 +++++++- .../jvmMain/kotlin/com/rukira/wowbackup/main.kt | 3 +++ docs/plans/feature-1-system-tray.md | 17 +++++++++++++++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 9e78e71..df26346 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -70,7 +70,7 @@ compose.desktop { application { mainClass = "com.rukira.wowbackup.MainKt" - jvmArgs("-Dapple.awt.enableTemplateImages=true") + jvmArgs("-Dapple.awt.enableTemplateImages=true", "-Dapple.awt.UIElement=true") nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) @@ -82,6 +82,12 @@ compose.desktop { macOS { bundleID = "com.rukira.wowbackup" iconFile.set(project.file("src/jvmMain/resources/icon.icns")) + infoPlist { + extraKeysRawXml = """ + LSUIElement + + """.trimIndent() + } } windows { diff --git a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt index a9e0d8b..aee168b 100644 --- a/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt +++ b/composeApp/src/jvmMain/kotlin/com/rukira/wowbackup/main.kt @@ -28,6 +28,9 @@ import java.awt.GraphicsEnvironment private val logger = KotlinLogging.logger {} fun main() { + if (Platform.current == OS.Mac) { + System.setProperty("apple.awt.UIElement", "true") + } LoggingSetup.init() logger.info { "WoW Backup starting" } diff --git a/docs/plans/feature-1-system-tray.md b/docs/plans/feature-1-system-tray.md index 699456f..826321a 100644 --- a/docs/plans/feature-1-system-tray.md +++ b/docs/plans/feature-1-system-tray.md @@ -84,18 +84,31 @@ Strip all template code. Route to placeholder screens based on `currentScreen`: ### Step 5: Auto-show config if not configured In `main.kt`, on startup check `ConfigManager.isConfigured`. If false, set `currentScreen = Screen.CONFIG` and `isWindowVisible = true`. -### Step 6: macOS JVM args +### Step 6: macOS JVM args and Dock hiding (LSUIElement) **Files to modify:** - `composeApp/build.gradle.kts` — add to desktop application config: ```kotlin compose.desktop { application { - jvmArgs("-Dapple.awt.enableTemplateImages=true") + jvmArgs("-Dapple.awt.enableTemplateImages=true", "-Dapple.awt.UIElement=true") + + nativeDistributions { + macOS { + infoPlist { + extraKeysRawXml = """ + LSUIElement + + """.trimIndent() + } + } + } } } ``` +Also set `System.setProperty("apple.awt.UIElement", "true")` in `main.kt` for macOS so that the dock icon is suppressed during development runs. + ## Verification 1. `./gradlew composeApp:run` — app launches with tray icon visible 2. Tray icon shows context menu with Status, Settings, Quit From ed1c00ad11956bd6b5138be7dd2a4e87acedb6ba Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:48:58 +0100 Subject: [PATCH 27/36] Fixing install link --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 6d6198f..e270f5a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,7 +2,7 @@ ## Download -Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases)**: +Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases/latest)**: | Platform | Package Format | Installer File Pattern | |--------------------------|---|---| From 6e5fd227bff4621d6cd6aa2a837463544dd8e147 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 11:48:58 +0100 Subject: [PATCH 28/36] Fixing install link --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 6d6198f..e270f5a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,7 +2,7 @@ ## Download -Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases)**: +Download the appropriate installer for your platform from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases/latest)**: | Platform | Package Format | Installer File Pattern | |--------------------------|---|---| From cf9840c1b6d5908e8a586f7fcf7e4b9665e308a8 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:02:34 +0100 Subject: [PATCH 29/36] Release template fix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5076c0e..1a22ca1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -154,7 +154,7 @@ jobs: #### Available Packages - **macOS**: \`.dmg\` installer (Apple Silicon & Intel) - **Windows**: \`.msi\` Windows Installer - - **Linux**: \`.deb\` package (Debian / Ubuntu) + - **Linux (Experimental)**: \`.deb\` package (Debian / Ubuntu) --- For detailed setup and installation notes, please refer to [INSTALL.md](https://git.asarius.site/rukira/wow-backup/src/tag/${RELEASE_TAG}/INSTALL.md)." From fc4451bfbccbf798b932a4a1d365e23d1b5a9f46 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:02:34 +0100 Subject: [PATCH 30/36] Release template fix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5076c0e..1a22ca1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -154,7 +154,7 @@ jobs: #### Available Packages - **macOS**: \`.dmg\` installer (Apple Silicon & Intel) - **Windows**: \`.msi\` Windows Installer - - **Linux**: \`.deb\` package (Debian / Ubuntu) + - **Linux (Experimental)**: \`.deb\` package (Debian / Ubuntu) --- For detailed setup and installation notes, please refer to [INSTALL.md](https://git.asarius.site/rukira/wow-backup/src/tag/${RELEASE_TAG}/INSTALL.md)." From c8d85912b87c6349dd588d31f4171abc1c51774a Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:04:54 +0100 Subject: [PATCH 31/36] Updating INSTALL.md --- INSTALL.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/INSTALL.md b/INSTALL.md index e270f5a..1463ea0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -10,6 +10,8 @@ Download the appropriate installer for your platform from the **[latest release] | **Windows** | Windows Installer (MSI) | `WoW Backup-.msi` | | **Linux** (Experimental) | Debian Package (DEB) | `wow-backup__amd64.deb` | +_Note: The Linux version is untested and experimental. Use at your own risk._ + --- ## macOS From 8bc24446fa5d2e1974feced6558624bb0909ecc0 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:04:54 +0100 Subject: [PATCH 32/36] Updating INSTALL.md --- INSTALL.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/INSTALL.md b/INSTALL.md index e270f5a..1463ea0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -10,6 +10,8 @@ Download the appropriate installer for your platform from the **[latest release] | **Windows** | Windows Installer (MSI) | `WoW Backup-.msi` | | **Linux** (Experimental) | Debian Package (DEB) | `wow-backup__amd64.deb` | +_Note: The Linux version is untested and experimental. Use at your own risk._ + --- ## macOS From 2c7c530e2237142b230f1e47e09cd538e04d4be5 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:20:21 +0100 Subject: [PATCH 33/36] Hero image --- README.md | 4 +--- docs/screenshots/hero.png | Bin 0 -> 251806 bytes 2 files changed, 1 insertion(+), 3 deletions(-) create mode 100644 docs/screenshots/hero.png diff --git a/README.md b/README.md index b533624..174b8e3 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ # WoW Backup -A lightweight, native-feeling desktop application to automatically backup World of Warcraft configuration data (WTF and Interface directories). - -World of Warcraft stores all UI configurations, macros, keybindings, and addon data in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, and automatically performs scheduled, timestamped backups (optionally compressed as ZIP archives). +![WoW Backup](docs/screenshots/hero.png) ## Installation & Download diff --git a/docs/screenshots/hero.png b/docs/screenshots/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..54c80a78229354391303d4edc88355c7741972ff GIT binary patch literal 251806 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�v@%&hckEz9}C)Y0Ua*#x> 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

y&U^_A%sj(c9{+Kz-0`FmXAFH?%urKWszfOH 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 literal 0 HcmV?d00001 From b0aaeb940bcee721e39dec150ab0dd2d44452098 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:21:48 +0100 Subject: [PATCH 35/36] Hero image --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 174b8e3..0ed7b2c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -# WoW Backup - ![WoW Backup](docs/screenshots/hero.png) ## Installation & Download From 0784d7ce3f8723a25d3d333223c39c7784a133f5 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:21:48 +0100 Subject: [PATCH 36/36] Hero image --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 174b8e3..0ed7b2c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -# WoW Backup - ![WoW Backup](docs/screenshots/hero.png) ## Installation & Download

y&U^_A%sj(c9{+Kz-0`FmXAFH?%urKWszfOH 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 literal 0 HcmV?d00001 From 9a9b42a88c7407a3d7ca054e76a4f12d18cc6be4 Mon Sep 17 00:00:00 2001 From: Rukira Date: Tue, 25 Aug 2026 12:20:21 +0100 Subject: [PATCH 34/36] Hero image --- README.md | 4 +--- docs/screenshots/hero.png | Bin 0 -> 251806 bytes 2 files changed, 1 insertion(+), 3 deletions(-) create mode 100644 docs/screenshots/hero.png diff --git a/README.md b/README.md index b533624..174b8e3 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ # WoW Backup -A lightweight, native-feeling desktop application to automatically backup World of Warcraft configuration data (WTF and Interface directories). - -World of Warcraft stores all UI configurations, macros, keybindings, and addon data in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, and automatically performs scheduled, timestamped backups (optionally compressed as ZIP archives). +![WoW Backup](docs/screenshots/hero.png) ## Installation & Download diff --git a/docs/screenshots/hero.png b/docs/screenshots/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..54c80a78229354391303d4edc88355c7741972ff GIT binary patch literal 251806 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�v@%&hckEz9}C)Y0Ua*#x> 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