<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigindev _class='hudson.plugins.git.util.Build'><buildNumber>641</buildNumber><marked><SHA1>8e6de334ff1868b55765df18097a3b5d1a8581ee</SHA1><branch><SHA1>8e6de334ff1868b55765df18097a3b5d1a8581ee</SHA1><name>refs/remotes/origin/dev</name></branch></marked><revision><SHA1>8e6de334ff1868b55765df18097a3b5d1a8581ee</SHA1><branch><SHA1>8e6de334ff1868b55765df18097a3b5d1a8581ee</SHA1><name>refs/remotes/origin/dev</name></branch></revision></refsremotesorigindev></buildsByBranchName><lastBuiltRevision><SHA1>8e6de334ff1868b55765df18097a3b5d1a8581ee</SHA1><branch><SHA1>8e6de334ff1868b55765df18097a3b5d1a8581ee</SHA1><name>refs/remotes/origin/dev</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://jenkins.younex.de/job/build-logship-frontend/641/artifact</artifactsUrl><changesUrl>https://jenkins.younex.de/job/build-logship-frontend/changes</changesUrl><displayUrl>https://jenkins.younex.de/job/build-logship-frontend/641/</displayUrl><testsUrl>https://jenkins.younex.de/job/build-logship-frontend/641/testReport</testsUrl></action><building>false</building><displayName>#641</displayName><duration>55017</duration><estimatedDuration>57393</estimatedDuration><fullDisplayName>build-logship-frontend #641</fullDisplayName><id>641</id><inProgress>false</inProgress><keepLog>false</keepLog><number>641</number><queueId>5241</queueId><result>SUCCESS</result><timestamp>1781136000932</timestamp><url>https://jenkins.younex.de/job/build-logship-frontend/641/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/generate-shipments.vue</affectedPath><commitId>027ddda068804943b349120fd0573e490719ec58</commitId><timestamp>1781076109000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>increase desktop shipment generation wrapper width
</comment><date>2026-06-10 09:21:49 +0200</date><id>027ddda068804943b349120fd0573e490719ec58</id><msg>increase desktop shipment generation wrapper width</msg><path><editType>edit</editType><file>app/pages/generate-shipments.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>android/app/build.gradle</affectedPath><affectedPath>android/update-files/version.json</affectedPath><affectedPath>android/app/src/main/AndroidManifest.xml</affectedPath><affectedPath>capacitor.config.ts</affectedPath><affectedPath>scripts/upload-mobile-update.sh</affectedPath><affectedPath>android/.gitignore</affectedPath><affectedPath>android/update-files/.deploy.env.example</affectedPath><affectedPath>app/composables/useBarcodeScanner.js</affectedPath><commitId>55462f4501d1541f21279ab0c293b906627f3f78</commitId><timestamp>1781081372000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>add upload script for android app
</comment><date>2026-06-10 10:49:32 +0200</date><id>55462f4501d1541f21279ab0c293b906627f3f78</id><msg>add upload script for android app</msg><path><editType>edit</editType><file>capacitor.config.ts</file></path><path><editType>edit</editType><file>app/composables/useBarcodeScanner.js</file></path><path><editType>add</editType><file>scripts/upload-mobile-update.sh</file></path><path><editType>edit</editType><file>android/.gitignore</file></path><path><editType>edit</editType><file>android/app/build.gradle</file></path><path><editType>add</editType><file>android/update-files/.deploy.env.example</file></path><path><editType>edit</editType><file>android/update-files/version.json</file></path><path><editType>edit</editType><file>android/app/src/main/AndroidManifest.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.env-dev</affectedPath><affectedPath>nuxt.config.ts</affectedPath><affectedPath>app/pages/accounting/amazon-orders-check.vue</affectedPath><affectedPath>server/api/accounting/amazon/orders-sync.post.ts</affectedPath><affectedPath>.env-prod</affectedPath><commitId>8b4412696fb35c3b94193818e9de2e21f6e7c21f</commitId><timestamp>1781087960000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>change method how amazon sync to fix invoices works (adding new line instead modify existing)
</comment><date>2026-06-10 12:39:20 +0200</date><id>8b4412696fb35c3b94193818e9de2e21f6e7c21f</id><msg>change method how amazon sync to fix invoices works (adding new line instead modify existing)</msg><path><editType>edit</editType><file>app/pages/accounting/amazon-orders-check.vue</file></path><path><editType>edit</editType><file>server/api/accounting/amazon/orders-sync.post.ts</file></path><path><editType>edit</editType><file>.env-dev</file></path><path><editType>edit</editType><file>nuxt.config.ts</file></path><path><editType>edit</editType><file>.env-prod</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/dashboard/PicklistGenerateModal.vue</affectedPath><affectedPath>server/api/print/picklist.post.ts</affectedPath><affectedPath>app/pages/index.vue</affectedPath><affectedPath>app/components/dashboard/OpenShipmentsModal.vue</affectedPath><affectedPath>app/composables/states.ts</affectedPath><affectedPath>app/composables/usePicklistPdf.ts</affectedPath><commitId>739cab2780d642dd97fc8dd8821849fca193439d</commitId><timestamp>1781088907000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>add ordering to picklist regeneration on dashboard
</comment><date>2026-06-10 12:55:07 +0200</date><id>739cab2780d642dd97fc8dd8821849fca193439d</id><msg>add ordering to picklist regeneration on dashboard</msg><path><editType>edit</editType><file>app/pages/index.vue</file></path><path><editType>add</editType><file>server/api/print/picklist.post.ts</file></path><path><editType>edit</editType><file>app/components/dashboard/OpenShipmentsModal.vue</file></path><path><editType>add</editType><file>app/components/dashboard/PicklistGenerateModal.vue</file></path><path><editType>edit</editType><file>app/composables/states.ts</file></path><path><editType>edit</editType><file>app/composables/usePicklistPdf.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/api/accounting/ebay/orders-check.get.ts</affectedPath><affectedPath>server/api/accounting/ebay/orders-sync.post.ts</affectedPath><affectedPath>server/api/accounting/amazon/orders-sync.post.ts</affectedPath><affectedPath>app/components/MainNavigationMenu.vue</affectedPath><affectedPath>app/pages/accounting/ebay-orders-check.vue</affectedPath><affectedPath>server/utils/marketplaceOrderSync.ts</affectedPath><affectedPath>app/composables/menu/admin/accounting.ts</affectedPath><affectedPath>server/utils/ebayOrdersApi.ts</affectedPath><commitId>ab8097554e8e22722bdfb1074fa5a9f5ad538191</commitId><timestamp>1781090532000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add ebay invoice amount check like we have for amazon
</comment><date>2026-06-10 13:22:12 +0200</date><id>ab8097554e8e22722bdfb1074fa5a9f5ad538191</id><msg>Add ebay invoice amount check like we have for amazon</msg><path><editType>edit</editType><file>app/components/MainNavigationMenu.vue</file></path><path><editType>add</editType><file>app/pages/accounting/ebay-orders-check.vue</file></path><path><editType>add</editType><file>server/api/accounting/ebay/orders-sync.post.ts</file></path><path><editType>add</editType><file>server/utils/ebayOrdersApi.ts</file></path><path><editType>edit</editType><file>server/api/accounting/amazon/orders-sync.post.ts</file></path><path><editType>add</editType><file>server/api/accounting/ebay/orders-check.get.ts</file></path><path><editType>edit</editType><file>app/composables/menu/admin/accounting.ts</file></path><path><editType>add</editType><file>server/utils/marketplaceOrderSync.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.env-dev</affectedPath><affectedPath>nuxt.config.ts</affectedPath><affectedPath>server/utils/marketplaceOrderSync.ts</affectedPath><affectedPath>server/api/accounting/ebay/orders-sync.post.ts</affectedPath><affectedPath>server/api/accounting/amazon/orders-sync.post.ts</affectedPath><affectedPath>.env-prod</affectedPath><commitId>e95560cecc1aa6ed1d33aecb5fa8a230748b8754</commitId><timestamp>1781096766000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add ebay invoice amount check like we have for amazon
</comment><date>2026-06-10 15:06:06 +0200</date><id>e95560cecc1aa6ed1d33aecb5fa8a230748b8754</id><msg>Add ebay invoice amount check like we have for amazon</msg><path><editType>edit</editType><file>nuxt.config.ts</file></path><path><editType>edit</editType><file>server/api/accounting/amazon/orders-sync.post.ts</file></path><path><editType>edit</editType><file>server/utils/marketplaceOrderSync.ts</file></path><path><editType>edit</editType><file>.env-dev</file></path><path><editType>edit</editType><file>server/api/accounting/ebay/orders-sync.post.ts</file></path><path><editType>edit</editType><file>.env-prod</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>capacitor.config.ts</affectedPath><affectedPath>app/composables/useAuthSession.ts</affectedPath><affectedPath>nuxt.config.ts</affectedPath><affectedPath>app/router.options.ts</affectedPath><affectedPath>server/api/app-auth/token-refresh.post.ts</affectedPath><affectedPath>server/api/app-auth/login.post.ts</affectedPath><affectedPath>app/plugins/00.capacitor-api.client.ts</affectedPath><affectedPath>package.json</affectedPath><affectedPath>server/middleware/00.app-auth.ts</affectedPath><commitId>a56d8597a324d4f11193bd224def2d752ccfda02</commitId><timestamp>1781101487000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>initial native step for android done
</comment><date>2026-06-10 16:24:47 +0200</date><id>a56d8597a324d4f11193bd224def2d752ccfda02</id><msg>initial native step for android done</msg><path><editType>add</editType><file>app/plugins/00.capacitor-api.client.ts</file></path><path><editType>add</editType><file>app/composables/useAuthSession.ts</file></path><path><editType>add</editType><file>server/middleware/00.app-auth.ts</file></path><path><editType>edit</editType><file>package.json</file></path><path><editType>add</editType><file>server/api/app-auth/token-refresh.post.ts</file></path><path><editType>edit</editType><file>app/router.options.ts</file></path><path><editType>edit</editType><file>capacitor.config.ts</file></path><path><editType>edit</editType><file>nuxt.config.ts</file></path><path><editType>add</editType><file>server/api/app-auth/login.post.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>reference/recipes.md</affectedPath><affectedPath>android/app/capacitor.build.gradle</affectedPath><affectedPath>android/capacitor.settings.gradle</affectedPath><commitId>3cfbf64df740073fd45c7b0224f846cf71a000cc</commitId><timestamp>1781101738000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Wire native @capacitor/preferences + document dual build target

cap sync registers @capacitor/preferences for the bundled Capacitor app
target. Document the web-SSR vs bundled-app-SPA dual build in
reference/recipes.md (BUILD_TARGET/CAP_BUNDLED switch, the app-only fetch
interceptor + useAuthSession, the app-auth middleware/endpoints, and the
ops gotchas).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</comment><date>2026-06-10 16:28:58 +0200</date><id>3cfbf64df740073fd45c7b0224f846cf71a000cc</id><msg>Wire native @capacitor/preferences + document dual build target</msg><path><editType>edit</editType><file>reference/recipes.md</file></path><path><editType>edit</editType><file>android/capacitor.settings.gradle</file></path><path><editType>edit</editType><file>android/app/capacitor.build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>reference/app-spa-deploy.md</affectedPath><commitId>c85d553185233b37c37a22f4a61c4ca1f17e6e07</commitId><timestamp>1781102646000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add bundled-app deploy &amp; CORS notes (reference/app-spa-deploy.md)

Tailored to the current nginx: the /api Nuxt path needs NO nginx change
(location / forwards OPTIONS + headers to Nitro; the app-auth middleware
emits CORS + answers preflight). The one required change is Strapi's CORS
allow-list (https://localhost) for /media-api uploads. Includes verify
curls and the APK ship steps.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</comment><date>2026-06-10 16:44:06 +0200</date><id>c85d553185233b37c37a22f4a61c4ca1f17e6e07</id><msg>Add bundled-app deploy &amp; CORS notes (reference/app-spa-deploy.md)</msg><path><editType>add</editType><file>reference/app-spa-deploy.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>android/update-files/version.json</affectedPath><affectedPath>android/app/build.gradle</affectedPath><commitId>30ae13902599097c11ea443c66363fbd7031afda</commitId><timestamp>1781103998000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Bump app to 1.0.2 (code 3) for the bundled-SPA release

First release of the bundled (CAP_BUNDLED) app — versionName must increase
above the deployed 1.0.1 for the in-app updater to offer it. version.json
updated to match.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</comment><date>2026-06-10 17:06:38 +0200</date><id>30ae13902599097c11ea443c66363fbd7031afda</id><msg>Bump app to 1.0.2 (code 3) for the bundled-SPA release</msg><path><editType>edit</editType><file>android/update-files/version.json</file></path><path><editType>edit</editType><file>android/app/build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/composables/useAppUpdate.ts</affectedPath><commitId>aa4b4ae3fb39ae37d9fd35244f02ccbf5332fc54</commitId><timestamp>1781104498000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Fix in-app updater: offer update when installed version can't be read

useAppUpdate fell into `updateAvailable = false` whenever getAppVersion()
returned null (older APK without the AppUpdate plugin, or the plugin
rejected) — so those devices saw "no update" forever, contradicting the
code comment's stated intent. Offer the update in that case instead, and
fetch the version manifest with cache: 'no-store'.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</comment><date>2026-06-10 17:14:58 +0200</date><id>aa4b4ae3fb39ae37d9fd35244f02ccbf5332fc54</id><msg>Fix in-app updater: offer update when installed version can't be read</msg><path><editType>edit</editType><file>app/composables/useAppUpdate.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>reference/app-spa-deploy.md</affectedPath><affectedPath>reference/recipes.md</affectedPath><affectedPath>scripts/release-app.sh</affectedPath><commitId>e8d00e506350cfcc1658e2028626e16a235ce87a</commitId><timestamp>1781105765000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add scripts/release-app.sh — one-command bundled-app release

Unifies the release cycle into one script: bump version (build.gradle +
version.json) → npm run build:app → npm run cap:sync:app → gradle
assembleDebug → stage into android/update-files/ → hand off to the existing
scripts/upload-mobile-update.sh. Auto-bumps the patch (or takes an explicit
versionName), with --no-upload to build/stage only. Docs updated.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</comment><date>2026-06-10 17:36:05 +0200</date><id>e8d00e506350cfcc1658e2028626e16a235ce87a</id><msg>Add scripts/release-app.sh — one-command bundled-app release</msg><path><editType>edit</editType><file>reference/recipes.md</file></path><path><editType>add</editType><file>scripts/release-app.sh</file></path><path><editType>edit</editType><file>reference/app-spa-deploy.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>android/app/build.gradle</affectedPath><affectedPath>android/update-files/version.json</affectedPath><commitId>c99c323c58b5098bb1cf4b758d53da61d73753c7</commitId><timestamp>1781105930000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add script to full build the android app
</comment><date>2026-06-10 17:38:50 +0200</date><id>c99c323c58b5098bb1cf4b758d53da61d73753c7</id><msg>Add script to full build the android app</msg><path><editType>edit</editType><file>android/app/build.gradle</file></path><path><editType>edit</editType><file>android/update-files/version.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/mobile/receive.vue</affectedPath><affectedPath>app/app.vue</affectedPath><affectedPath>app/composables/useBarcodeScanner.js</affectedPath><affectedPath>app/components/MobileThemeToggle.vue</affectedPath><affectedPath>app/pages/mobile/index.vue</affectedPath><commitId>bb0234dfc6988e1594f91f4cc7bafb7118bb8ceb</commitId><timestamp>1781107325000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>enhance mobile
</comment><date>2026-06-10 18:02:05 +0200</date><id>bb0234dfc6988e1594f91f4cc7bafb7118bb8ceb</id><msg>enhance mobile</msg><path><editType>edit</editType><file>app/composables/useBarcodeScanner.js</file></path><path><editType>edit</editType><file>app/components/MobileThemeToggle.vue</file></path><path><editType>edit</editType><file>app/pages/mobile/receive.vue</file></path><path><editType>edit</editType><file>app/pages/mobile/index.vue</file></path><path><editType>edit</editType><file>app/app.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/signin.vue</affectedPath><commitId>eb242404315fa470fe45fd44a090d13e18f926b2</commitId><timestamp>1781107710000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Hide "Mobile worker" toggle in the native app (always-on there)

In the bundled Capacitor app every user is a mobile worker, so force the
flag on (mobileWorker: isNativeApp) and hide the selectable chip. Web
sign-in is unchanged. The server enforceMobileWorkerGate stays authoritative.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</comment><date>2026-06-10 18:08:30 +0200</date><id>eb242404315fa470fe45fd44a090d13e18f926b2</id><msg>Hide "Mobile worker" toggle in the native app (always-on there)</msg><path><editType>edit</editType><file>app/pages/signin.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>android/update-files/version.json</affectedPath><affectedPath>android/app/build.gradle</affectedPath><commitId>3c160aa33ad8e3ab999ce0100735b4b0d719709c</commitId><timestamp>1781107776000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>enhances mobile
</comment><date>2026-06-10 18:09:36 +0200</date><id>3c160aa33ad8e3ab999ce0100735b4b0d719709c</id><msg>enhances mobile</msg><path><editType>edit</editType><file>android/update-files/version.json</file></path><path><editType>edit</editType><file>android/app/build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/signin.vue</affectedPath><affectedPath>android/app/src/main/AndroidManifest.xml</affectedPath><affectedPath>app/composables/useAuthSession.ts</affectedPath><affectedPath>package.json</affectedPath><affectedPath>android/app/capacitor.build.gradle</affectedPath><affectedPath>android/capacitor.settings.gradle</affectedPath><affectedPath>app/composables/useBiometricAuth.ts</affectedPath><commitId>a2360ebe7f1f1b7a42811e74d464afe0a854d162</commitId><timestamp>1781109514000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add biometric login for the native Android app (Phase 1)

Fingerprint/Face login via @capgo/capacitor-native-biometric. After a normal
password login the app stores a biometric-bound snapshot (refresh token +
context, never the password) in the Android Keystore (getSecureCredentials);
on the next visit "Login with fingerprint" unlocks it, mints a fresh access
token via the existing /api/app-auth/token-refresh, and signs in — no new
server route. App-only: all logic is gated by isNativePlatform and the
plugins are dynamically imported, so the web sign-in/build is unchanged
(verified). Adds USE_BIOMETRIC/USE_FINGERPRINT to the manifest.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</comment><date>2026-06-10 18:38:34 +0200</date><id>a2360ebe7f1f1b7a42811e74d464afe0a854d162</id><msg>Add biometric login for the native Android app (Phase 1)</msg><path><editType>edit</editType><file>app/pages/signin.vue</file></path><path><editType>edit</editType><file>android/capacitor.settings.gradle</file></path><path><editType>add</editType><file>app/composables/useBiometricAuth.ts</file></path><path><editType>edit</editType><file>app/composables/useAuthSession.ts</file></path><path><editType>edit</editType><file>android/app/capacitor.build.gradle</file></path><path><editType>edit</editType><file>package.json</file></path><path><editType>edit</editType><file>android/app/src/main/AndroidManifest.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>android/update-files/version.json</affectedPath><affectedPath>android/app/build.gradle</affectedPath><commitId>8e6de334ff1868b55765df18097a3b5d1a8581ee</commitId><timestamp>1781113014000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>add biometric
</comment><date>2026-06-10 19:36:54 +0200</date><id>8e6de334ff1868b55765df18097a3b5d1a8581ee</id><msg>add biometric</msg><path><editType>edit</editType><file>android/update-files/version.json</file></path><path><editType>edit</editType><file>android/app/build.gradle</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName><id>info</id></culprit></freeStyleBuild>