{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.TimerTrigger$TimerTriggerCause",
          "shortDescription" : "Started by timer"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 787,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
            "branch" : [
              {
                "SHA1" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
            "branch" : [
              {
                "SHA1" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
        "branch" : [
          {
            "SHA1" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
            "name" : "refs/remotes/origin/dev"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/younex1/erp-nuxt-frontend.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#787",
  "duration" : 64924,
  "estimatedDuration" : 61562,
  "executor" : null,
  "fullDisplayName" : "build-logship-frontend #787",
  "id" : "787",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 787,
  "queueId" : 5963,
  "result" : "SUCCESS",
  "timestamp" : 1793667600164,
  "url" : "https://jenkins.younex.de/view/all/job/build-logship-frontend/787/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/materials/warehouse-builder/index.vue",
          ".claude/rules/materials/warehouse-builder.md"
        ],
        "commitId" : "67fb6d6041a9cdb3636ab85556ba3e41e0ad5242",
        "timestamp" : 1793614337000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Warehouse Builder: single head row (selects, tabs, inline stat pills, version/reload/fullscreen) and fullscreen app mode (hides the ERP chrome via html.wb-fullscreen + browser fullscreen, auto-restore on leave); editor height calibrated to the viewport\u000a",
        "date" : "2026-11-02 11:12:17 +0100",
        "id" : "67fb6d6041a9cdb3636ab85556ba3e41e0ad5242",
        "msg" : "Warehouse Builder: single head row (selects, tabs, inline stat pills, version/reload/fullscreen) and fullscreen app mode (hides the ERP chrome via html.wb-fullscreen + browser fullscreen, auto-restore on leave); editor height calibrated to the viewport",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".claude/rules/materials/warehouse-builder.md"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/materials/warehouse-builder/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "server/api/invoices/[id]/dhl-surcharge-report.get.ts",
          "app/pages/sales/invoices/[id]/view.vue",
          "server/utils/invoices/dhlSurchargeReportPdf.ts",
          ".claude/rules/fulfillment/fee-invoice-generator.md",
          "server/utils/invoices/dhlSurchargeReportData.ts",
          "server/api/fulfillment/generate-fee-report.post.ts",
          "app/pages/sales/invoices/[id]/edit.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "08b36be0cd4826d8531c7affa9df5a670046fe1c",
        "timestamp" : 1793616305000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "DHL Nachbelastung attachment per fee invoice: branded per-shipment breakdown PDF (GET /api/invoices/[id]/dhl-surcharge-report, summary/json modes) from the SHIPPINGFEE_NACHBELASTUNG fee lines of the generated order, button on the invoice view/edit pages; fee report gets a proper Nachbelastung section (shipment, DHL invoice + positions, DHL total / billed / surcharge)\u000a",
        "date" : "2026-11-02 11:45:05 +0100",
        "id" : "08b36be0cd4826d8531c7affa9df5a670046fe1c",
        "msg" : "DHL Nachbelastung attachment per fee invoice: branded per-shipment breakdown PDF (GET /api/invoices/[id]/dhl-surcharge-report, summary/json modes) from the SHIPPINGFEE_NACHBELASTUNG fee lines of the generated order, button on the invoice view/edit pages; fee report gets a proper Nachbelastung section (shipment, DHL invoice + positions, DHL total / billed / surcharge)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/[id]/edit.vue"
          },
          {
            "editType" : "edit",
            "file" : "server/api/fulfillment/generate-fee-report.post.ts"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/fulfillment/fee-invoice-generator.md"
          },
          {
            "editType" : "add",
            "file" : "server/utils/invoices/dhlSurchargeReportData.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/[id]/view.vue"
          },
          {
            "editType" : "add",
            "file" : "server/api/invoices/[id]/dhl-surcharge-report.get.ts"
          },
          {
            "editType" : "add",
            "file" : "server/utils/invoices/dhlSurchargeReportPdf.ts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".claude/rules/fulfillment/fee-invoice-generator.md",
          "server/utils/invoices/dhlSurchargeReportData.ts"
        ],
        "commitId" : "a8d99ca4fb8fdf4af8c8329e94976c6fa4cf8b94",
        "timestamp" : 1793618803000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "DHL Nachbelastung report: file-name fallback resolves the invoice number for both DHL file-name schemes (mirrors create_fulfillment.py)\u000a",
        "date" : "2026-11-02 12:26:43 +0100",
        "id" : "a8d99ca4fb8fdf4af8c8329e94976c6fa4cf8b94",
        "msg" : "DHL Nachbelastung report: file-name fallback resolves the invoice number for both DHL file-name schemes (mirrors create_fulfillment.py)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".claude/rules/fulfillment/fee-invoice-generator.md"
          },
          {
            "editType" : "edit",
            "file" : "server/utils/invoices/dhlSurchargeReportData.ts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/procurements/my-orders/[id].vue",
          "app/pages/sales/invoices/[id]/edit.vue",
          "app/pages/sales/fulfillment-orders/[id]/edit.vue",
          ".claude/rules/nuxt/nuxt4-conventions.md"
        ],
        "commitId" : "c29d7966d9218de3e0d2eaf201c9fcd9e700e7c2",
        "timestamp" : 1793620845000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Fix 500 on hard reload of sales invoice edit (and fulfillment-orders edit, inbound-notification detail): root-level <Teleport to=\"body\"> next to the async <NuxtLayout> hydrated out of order in the prod build (insertBefore … not a child of this node); wrapped in <ClientOnly> like procurements/invoices edit; recipe note in nuxt4-conventions.md\u000a",
        "date" : "2026-11-02 13:00:45 +0100",
        "id" : "c29d7966d9218de3e0d2eaf201c9fcd9e700e7c2",
        "msg" : "Fix 500 on hard reload of sales invoice edit (and fulfillment-orders edit, inbound-notification detail): root-level <Teleport to=\"body\"> next to the async <NuxtLayout> hydrated out of order in the prod build (insertBefore … not a child of this node); wrapped in <ClientOnly> like procurements/invoices edit; recipe note in nuxt4-conventions.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/sales/fulfillment-orders/[id]/edit.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/[id]/edit.vue"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/nuxt/nuxt4-conventions.md"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/procurements/my-orders/[id].vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "reference/saas/logship-cloud-konzept.pdf",
          "app/pages/mobile/tasks.vue",
          "reference/saas/logship-cloud-konzept.html",
          "app/pages/mobile/generate-shipments.vue",
          "server/api/requests/requests/browse.get.ts",
          "app/pages/mobile/index.vue"
        ],
        "commitId" : "75e2a35d6209b4fd4d203569e9f121aa74b27f03",
        "timestamp" : 1793621603000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Mobile tasks: browse list defaults to own open tickets (SalesRep_ID + IsComplete=false via browse.get.ts mine/openOnly, Meine offenen/Alle toggle, pinned pushed tasks deduped), separate camera / gallery buttons for ticket photos; fix invisible text on pushed-task buttons (--mob-blue-soft used as background = same blue as text; also timer display, In-Arbeit tag, generate-shipments segment pill + shipper chip); dashboard: compact Offene-Aufträge strip with one scrollable org-chip row, flatter task tiles (14 instead of 4 visible per phone screen); reference/saas concept doc\u000a",
        "date" : "2026-11-02 13:13:23 +0100",
        "id" : "75e2a35d6209b4fd4d203569e9f121aa74b27f03",
        "msg" : "Mobile tasks: browse list defaults to own open tickets (SalesRep_ID + IsComplete=false via browse.get.ts mine/openOnly, Meine offenen/Alle toggle, pinned pushed tasks deduped), separate camera / gallery buttons for ticket photos; fix invisible text on pushed-task buttons (--mob-blue-soft used as background = same blue as text; also timer display, In-Arbeit tag, generate-shipments segment pill + shipper chip); dashboard: compact Offene-Aufträge strip with one scrollable org-chip row, flatter task tiles (14 instead of 4 visible per phone screen); reference/saas concept doc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/tasks.vue"
          },
          {
            "editType" : "edit",
            "file" : "server/api/requests/requests/browse.get.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/generate-shipments.vue"
          },
          {
            "editType" : "add",
            "file" : "reference/saas/logship-cloud-konzept.html"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/index.vue"
          },
          {
            "editType" : "add",
            "file" : "reference/saas/logship-cloud-konzept.pdf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "android/update-files/version.json",
          "android/app/build.gradle",
          "app/pages/mobile/tasks.vue",
          "server/api/requests/requests/browse.get.ts"
        ],
        "commitId" : "9950ade8f88bf740a22245b600e996f969b704b4",
        "timestamp" : 1793623232000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Mobile tasks browse: 'mine' scope = open tickets of the session organization (AD_Org_ID = logship_organization_id, org 0/* = no org filter) instead of the assignee; chip renamed 'Offene meiner Org'\u000a",
        "date" : "2026-11-02 13:40:32 +0100",
        "id" : "9950ade8f88bf740a22245b600e996f969b704b4",
        "msg" : "Mobile tasks browse: 'mine' scope = open tickets of the session organization (AD_Org_ID = logship_organization_id, org 0/* = no org filter) instead of the assignee; chip renamed 'Offene meiner Org'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "android/update-files/version.json"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/tasks.vue"
          },
          {
            "editType" : "edit",
            "file" : "android/app/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "server/api/requests/requests/browse.get.ts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/mobile/tasks.vue",
          "app/components/mobile/CameraCapture.vue"
        ],
        "commitId" : "efa639ef0dbff30aa2bada22de90d11d93a114ad",
        "timestamp" : 1793623380000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Mobile tasks: 'Foto aufnehmen' uses a new in-app getUserMedia camera overlay (<MobileCameraCapture>, ported from the receive page) instead of <input capture=environment>, which the Android WebView file chooser routes to the gallery; shots feed the same pending-photo / ticket-image lists, 'Aus Galerie' stays a file input\u000a",
        "date" : "2026-11-02 13:43:00 +0100",
        "id" : "efa639ef0dbff30aa2bada22de90d11d93a114ad",
        "msg" : "Mobile tasks: 'Foto aufnehmen' uses a new in-app getUserMedia camera overlay (<MobileCameraCapture>, ported from the receive page) instead of <input capture=environment>, which the Android WebView file chooser routes to the gallery; shots feed the same pending-photo / ticket-image lists, 'Aus Galerie' stays a file input",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app/components/mobile/CameraCapture.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/tasks.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "android/update-files/version.json",
          "android/app/build.gradle",
          "app/pages/mobile/tasks.vue",
          "server/api/requests/requests/browse.get.ts"
        ],
        "commitId" : "c8f25c2067e77798abbfb3d0d7fb7ecf2bead84e",
        "timestamp" : 1793623812000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Mobile tasks browse 'mine' = desktop My-Tickets 'Bei uns' court (IsComplete false and IsMerchantAction not true, org visibility by role) instead of session org; chip 'Bei uns (offen)'\u000a",
        "date" : "2026-11-02 13:50:12 +0100",
        "id" : "c8f25c2067e77798abbfb3d0d7fb7ecf2bead84e",
        "msg" : "Mobile tasks browse 'mine' = desktop My-Tickets 'Bei uns' court (IsComplete false and IsMerchantAction not true, org visibility by role) instead of session org; chip 'Bei uns (offen)'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "server/api/requests/requests/browse.get.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/tasks.vue"
          },
          {
            "editType" : "edit",
            "file" : "android/update-files/version.json"
          },
          {
            "editType" : "edit",
            "file" : "android/app/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "reference/jasper-reports/invoice/C_Invoice_Lines.jrxml",
          "app/pages/users/organizations/[id]/edit.vue",
          "reference/jasper-reports/invoice/Letterhead_Footer.jrxml",
          "reference/jasper-reports/invoice/C_Invoice_Address.jrxml",
          "app/pages/users/organizations/create.vue",
          "server/api/admin/organizations/[id]/organization-info/index.put.ts",
          ".claude/rules/printing/jasper-shipment-report.md",
          "app/components/admin/OrgFormField.vue",
          "server/utils/orgInfoPayload.ts",
          "reference/jasper-reports/README.md",
          "reference/jasper-reports/invoice/C_Invoice_Document.jrxml",
          "app/composables/useOrganizationForm.ts",
          "server/api/admin/organizations/store.post.ts",
          "app/pages/users/organizations/index.vue",
          "server/api/admin/organizations/update.put.ts",
          "app/pages/users/organizations/[id]/duplicate.vue",
          "app/components/admin/OrganizationForm.vue",
          "reference/jasper-reports/invoice/C_Invoice_OrgInfoblock.jrxml",
          "reference/jasper-reports/invoice/C_Invoice_TaxLines.jrxml"
        ],
        "commitId" : "f1e371daca5a2d57ba1497c1d9a55dea31797678",
        "timestamp" : 1793630440000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoice Jasper logo on black fixed + organization page rebuilt (full AD_Org/AD_OrgInfo CRUD, logo upload, Nuxt UI)\u000a\u000aInvoice template (reference/jasper-reports/invoice/, deployed + compiled on the host root reports folder): the logo is\u000aembedded from ad_image.binarydata like every other template instead of COLUMN_LOOKUP(\"image\") (AWT image → JPEG\u000are-encode printed the transparent PNG on a black block); orgs without a logo print COALESCE(companyname, name) as text.\u000a\u000aOrganization pages (/create, /edit/organization-:id, /duplicate): <AdminOrganizationForm> on Nuxt UI (hero with logo\u000atile + upload/remove, tabs Stammdaten / Briefkopf & Belege / Adresse / Logistik & Struktur, info tooltips per field\u000asaying where the value is printed), all AD_Org columns (companyname, C_BPartner_ID, …) and AD_OrgInfo columns\u000a(Logo_ID via nested AD_Image, LY_Subtitle, ReceiptFooterMsg, TaxID, DUNS, phones, e-mail, C_Location_ID with inline\u000aaddress card, warehouses, org type, parent org, supervisor, calendar, time zone, transfer bank, cash book);\u000achanged-field writes, '' clears a reference; store creates the org and PUTs the auto-created AD_OrgInfo; shared\u000apayload builder server/utils/orgInfoPayload.ts; list gets a Company Name column + lazy fetch.\u000a",
        "date" : "2026-11-02 15:40:40 +0100",
        "id" : "f1e371daca5a2d57ba1497c1d9a55dea31797678",
        "msg" : "Invoice Jasper logo on black fixed + organization page rebuilt (full AD_Org/AD_OrgInfo CRUD, logo upload, Nuxt UI)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "server/api/admin/organizations/[id]/organization-info/index.put.ts"
          },
          {
            "editType" : "add",
            "file" : "reference/jasper-reports/invoice/C_Invoice_Address.jrxml"
          },
          {
            "editType" : "add",
            "file" : "app/composables/useOrganizationForm.ts"
          },
          {
            "editType" : "add",
            "file" : "app/components/admin/OrgFormField.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/admin/OrganizationForm.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/organizations/index.vue"
          },
          {
            "editType" : "edit",
            "file" : "reference/jasper-reports/README.md"
          },
          {
            "editType" : "add",
            "file" : "server/utils/orgInfoPayload.ts"
          },
          {
            "editType" : "edit",
            "file" : "server/api/admin/organizations/update.put.ts"
          },
          {
            "editType" : "add",
            "file" : "reference/jasper-reports/invoice/C_Invoice_Document.jrxml"
          },
          {
            "editType" : "add",
            "file" : "reference/jasper-reports/invoice/C_Invoice_Lines.jrxml"
          },
          {
            "editType" : "add",
            "file" : "reference/jasper-reports/invoice/C_Invoice_TaxLines.jrxml"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/organizations/[id]/duplicate.vue"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/printing/jasper-shipment-report.md"
          },
          {
            "editType" : "edit",
            "file" : "server/api/admin/organizations/store.post.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/organizations/create.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/organizations/[id]/edit.vue"
          },
          {
            "editType" : "add",
            "file" : "reference/jasper-reports/invoice/Letterhead_Footer.jrxml"
          },
          {
            "editType" : "add",
            "file" : "reference/jasper-reports/invoice/C_Invoice_OrgInfoblock.jrxml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/leads/CloseLeadModal.vue",
          "app/components/AgGrid/AgLeadExpireToggle.vue",
          "app/pages/users/leads/index.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "c83fc53be899ebea1a71e35b67602349373e9463",
        "timestamp" : 1793631086000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Leads list: clock column opens a close-lead modal (Expired / Recycled with lost reason from the LostReason list, or 'Kunde geworden' = Converted) instead of a blind one-click expire; 'Hide closed' filter now hides E/R/C, converted rows tinted green with user-check icon, one-click reopen for any closed lead\u000a",
        "date" : "2026-11-02 15:51:26 +0100",
        "id" : "c83fc53be899ebea1a71e35b67602349373e9463",
        "msg" : "Leads list: clock column opens a close-lead modal (Expired / Recycled with lost reason from the LostReason list, or 'Kunde geworden' = Converted) instead of a blind one-click expire; 'Hide closed' filter now hides E/R/C, converted rows tinted green with user-check icon, one-click reopen for any closed lead",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/AgGrid/AgLeadExpireToggle.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/leads/index.vue"
          },
          {
            "editType" : "add",
            "file" : "app/components/leads/CloseLeadModal.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".claude/rules/leads/crm-qualification.md"
        ],
        "commitId" : "f0ce63aca1642654bcefe3180aa896635c2592c8",
        "timestamp" : 1793631093000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Recipe: leads list close-lead modal\u000a",
        "date" : "2026-11-02 15:51:33 +0100",
        "id" : "f0ce63aca1642654bcefe3180aa896635c2592c8",
        "msg" : "Recipe: leads list close-lead modal",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".claude/rules/leads/crm-qualification.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package-lock.json",
          "app/composables/states.ts",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js",
          "app/components/BarcodeScanner.vue",
          "public/scanbot/bin/complete/ScanbotSDK.Core.js",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd-threads.worker.js",
          "app/pages/mobile/picklist.vue",
          "public/scanbot/bin/complete/ScanbotSDK.Asm-simd.wasm",
          "app/composables/useBarcodeScanner.js",
          "android/update-files/version.json",
          "public/scanbot/ScanbotSDK.ui2.min.js",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd-threads.wasm",
          "nuxt.config.ts",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd-threads.js",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd-threads.worker.js",
          "public/scanbot/bin/complete/ScanbotSDK.Asm-simd-threads.worker.js",
          "public/scanbot/bin/complete/ScanbotSDK.Asm-simd-threads.wasm",
          "public/scanbot/ScanbotSDK.min.js",
          "public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Core.js",
          "public/scanbot/ScanbotSDK.ui2.min.js.LICENSE.txt",
          "public/scanbot/bin/complete/ScanbotSDK.Asm.wasm",
          "android/app/build.gradle",
          "public/scanbot/bin/complete/ScanbotSDK.Asm-simd-threads.js",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Asm.wasm",
          "app/pages/mobile/index.vue",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd.wasm",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd-threads.js",
          "package.json",
          "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd-threads.wasm",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm.wasm",
          "public/scanbot/bin/complete/ScanbotSDK.Core-simd.js",
          "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd.wasm"
        ],
        "commitId" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
        "timestamp" : 1793658994000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Replace mobile barcode scanner with Scanbot SDK\u000a",
        "date" : "2026-11-02 23:36:34 +0100",
        "id" : "6c162c77f5a03aa47c28c57f70d9b6dbaf05c278",
        "msg" : "Replace mobile barcode scanner with Scanbot SDK",
        "paths" : [
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Asm-simd.wasm"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd-threads.wasm"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/index.vue"
          },
          {
            "editType" : "edit",
            "file" : "android/app/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "package.json"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/ScanbotSDK.ui2.min.js.LICENSE.txt"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Core-simd.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd-threads.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/ScanbotSDK.ui2.min.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd-threads.worker.js"
          },
          {
            "editType" : "edit",
            "file" : "app/composables/states.ts"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Asm-simd-threads.worker.js"
          },
          {
            "editType" : "edit",
            "file" : "app/components/BarcodeScanner.vue"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Core.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd.wasm"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd-threads.worker.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd-threads.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Asm-simd-threads.wasm"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Asm-simd-threads.wasm"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm-simd.wasm"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Core.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Asm.wasm"
          },
          {
            "editType" : "edit",
            "file" : "nuxt.config.ts"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/ScanbotSDK.min.js"
          },
          {
            "editType" : "edit",
            "file" : "package-lock.json"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js"
          },
          {
            "editType" : "edit",
            "file" : "android/update-files/version.json"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Asm.wasm"
          },
          {
            "editType" : "edit",
            "file" : "app/composables/useBarcodeScanner.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/picklist.vue"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Asm-simd-threads.js"
          },
          {
            "editType" : "add",
            "file" : "public/scanbot/bin/complete/ScanbotSDK.Asm.wasm"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.younex.de/user/info",
      "fullName" : "info"
    }
  ]
}