Skip to content

chore(release): v0.17.0 - #190

Merged
jakub-przepiora merged 53 commits into
mainfrom
release/v0.17.0
Jul 19, 2026
Merged

jakub-przepiora merged 53 commits into
mainfrom
release/v0.17.0

Conversation

@jakub-przepiora

Copy link
Copy Markdown
Contributor

Release v0.17.0 (develop → main)

Version bump (backend/config/version.php → v0.17.0) + CHANGELOG finalized. MINOR bump — new features since the last main release (v0.16.2); 51 commits.

Highlights

Platform apps (new)

  • OpenMES Desktop — Tauri app for Windows / macOS / Linux, bundles PHP + backend, unattended install, tray, LAN server, in-app self-updater.
  • Workstation device registration + live roster (feat(workstation): shop-floor device registration + live admin roster #175) — shop-floor PCs self-register by IP; Admin → Workstation Devices shows them live.
  • OpenMES mobile (Android) — Expo/React Native client.
  • Multi-platform release pipeline — a tag now ships the web ZIP + desktop installers (.exe/.dmg/.deb/.rpm) + Android .apk.

MES features

Full list in CHANGELOG.md under [0.17.0].

Merge / tag procedure

main is protected — this PR is for you to merge (I can't admin-merge). After merge, push the tag v0.17.0 on main; the release workflow then builds & attaches all artifacts (web ZIP + desktop installers + apk). The tagged tree already carries version.php = v0.17.0, so the workflow's version check passes.

CI (Laravel tests) will run on this PR; full backend suite is green locally (1896 passed).

Svannte and others added 30 commits June 23, 2026 10:01
SoiBien-AI and others added 22 commits July 7, 2026 16:50
…id nullable)

Also remove composer.phar and empty .rr.yaml from git tracking.
…-view

[feat] Per-order machines to run supervisor view #89
- PriorityRuleRequest: reject non-"equals" conditions for the customer.tier
  source (a numeric comparison casts the tier string to 0 and matches nonsense).
- CustomerMetricsService: lock and re-check the work order inside the
  transaction so concurrent completions can't double-count revenue/orders.
- Priority Settings band editor: block save when any threshold is blank
  instead of silently coercing an empty field to 0.

Adds tests and en/pl strings. Full suite green (1690).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…and-priority

feat: finish up whole feature
Resolve conflicts from the merged customer-management & priority feature (#173):
- CHANGELOG.md: keep both the read-confirmation and customer/priority entries.
- lang/en.json, lang/pl.json: union of both features' translation keys (parity preserved).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…#175)

* feat(workstation): shop-floor device registration + live admin roster

Workstation client PCs self-register against the MAIN app by IP and
heartbeat; Admin → Structure → Workstation Devices shows them live
(online/offline derived from last_seen_at) via an Electric shape.

- Public, rate-limited API: POST /api/workstations/register + /heartbeat
- WorkstationDevice model (soft-delete + audit), migration with a partial
  unique index on device_uuid, factory
- Web admin roster page (ResourceTable) + forget (soft-delete)
- Registered in SoftDeleteRegistry + ShapeRegistry; i18n en/pl parity
- Tests: registration/heartbeat/validation, admin authz + soft-delete

* docs(roadmap): add workflow/UX orchestration items from field feedback

Operator/supervisor/scheduler workflow items surfaced by a high-volume
plant's feedback (unified production+scrap reporting, role-based entry
points, machine-counter reporting, shift board, start-of-shift + multi-day
Gantt scheduling, made-to-order vs stock order entry). Tagged 'probable'.
…187)

Extends the release workflow so a tag/dispatch produces installers for
every platform, all attached to the same GitHub Release:

- web: existing self-contained ZIP (unchanged) — creates the release
- desktop: Tauri matrix (windows .exe/NSIS, macOS .dmg, linux .deb/.rpm),
  each bundling PHP + the backend; PHP runtime fetched per-OS, backend
  built (composer + vite) and injected via bundle-resources + --config
- mobile: Expo prebuild + Gradle assembleRelease -> Android .apk

Jobs fan out from the web job (needs: web) and upload to the release by
tag, so a desktop/mobile failure never blocks the web artifact.
#186)

* feat(desktop): OpenMES Desktop app (Tauri) + unattended install preset

Brings the desktop platform app to develop alongside mobile/. A Tauri
(Rust + webview) shell that bundles PHP + the backend and runs OpenMES as
a local desktop app / LAN MES server, with an in-app self-updater.

- desktop/: Tauri app (src-tauri Rust, TS control panel, icons, build
  scripts for self-contained Windows .exe and Linux .deb/.rpm)
- Backend INSTALLER_PRESET mode: unattended install (skips env/db wizard
  steps, straight to admin creation) that the desktop shell drives —
  InstallController + install views + bootstrap/app.php
- InstallPresetTest covers the preset behaviour

The shop-floor workstation feature lands separately in #175.

* fix(desktop): address CodeRabbit review on #186

- installer: stop leaking raw PDO exception messages to pre-auth visitors
  (log instead); reject path-traversal in sqlite db_database before it hits
  storage_path(); move admin-step validation into a CreateAdminRequest Form
  Request (per project convention)
- tauri: harden config — withGlobalTauri=false + a CSP (permissive only for
  localhost so the served MES app's websockets/SSE keep working)
- panel: AbortController in ensureDbMode so boot retries don't stack duplicate
  DB-choice listeners
- updater: snapshot the SQLite DB before migrating and restore it on rollback,
  so restored old code never runs against the migrated schema
…185)

* feat(work-orders): add elapsed-time "Age" column to work-order lists

Add an "Age" column (now - created_at) to the admin and supervisor work-order
lists, showing a compact human-readable duration (just now / 5m / 3h / 2d / 1y)
with the exact creation time on hover.

- New reusable elapsed() formatter in lib/i18n.js
- Opt-in `live: true` column flag on ResourceTable: a shared 30s clock ticks
  live cells via context, so tables without one schedule no timer
- Opt-in `sortAccessor` column flag so "Age" sorts by actual age (ascending =
  youngest first) while global search keeps using created_at
- Vitest setup covering the duration formatting; wired into CI + pre-commit

created_at was already synced on the work-order Electric shapes, so no schema
or shape change.

Closes #100

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* perf(work-orders): isolate live-clock ticks to a provider component

Move the 30s clock state out of ResourceTable into a small LiveClockProvider
wrapper, so a tick re-renders only the provider and the NowContext consumers
(the live cells) rather than the whole ResourceTable body. Previously the tick
re-ran the live query/filter and handed DataTable freshly allocated props
(visibleRows, the inline rangeLabel), defeating its memoization and reconciling
the entire grid every 30s.

Addresses CodeRabbit review on #185.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…c report ids (#188)

- Remove the WIP `__e2e__` test-control route group and its import: it
  referenced App\Http\Controllers\TestControl\TenantController, the
  EnsureE2eEnabled middleware and config/e2e.php — none of which exist in the
  repo (leaked from 'feat: custom fields wip'). It broke `php artisan
  route:list` and would 500 on /__e2e__/* instead of the intended 404. No spec
  references it; reintroduce complete (routes + controller + middleware + config)
  if the isolated-tenant harness is wanted.
- Constrain reports.show / cost-reports.show to `whereNumber('workOrder')` so a
  non-numeric id (e.g. /admin/reports/net-requirements) 404s instead of hitting
  the controller with a string id and 500ing on an invalid-integer query.
* feat(bom): select multi bom in orders

* fix(refactor): code fixes reported in code review by CodeRabbit

---------

Co-authored-by: jakub-przepiora <jakub.przepioraa@gmail.com>
…pec (#189)

The spec was missing the final `});` closing its `test.describe(...)` block,
so Playwright failed to parse it — and because collection aborts on the first
unparseable file, this broke the ENTIRE E2E suite (0 specs could run). E2E
isn't part of the CI test gate, so it slipped onto develop unnoticed.
Adds the missing close; the file now parses and lists its test.
@coderabbitai

coderabbitai Bot commented Jul 19, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 734 files, which is 634 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 72b3a97b-c923-469c-a5dc-6decafc9ed80

📥 Commits

Reviewing files that changed from the base of the PR and between 4937366 and ce06162.

⛔ Files ignored due to path filters (52)
  • backend/composer.lock is excluded by !**/*.lock
  • backend/package-lock.json is excluded by !**/package-lock.json
  • design/openmes-fable-remix/project/screenshots/01-modal2.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/01-modal3.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/01-states.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/02-modal2.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/02-modal3.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/02-states.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/board.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/components-ref.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/components-ref2.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/dropdown-ref.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/m-detail.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/m-queue.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/m-queue2.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/m-sheet.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/m-sheet2.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/m-swipe.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/mobile-section.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/mobile-top.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/modal.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/sticky.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/table-final.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/table-ref.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/screenshots/table.png is excluded by !**/*.png
  • design/openmes-fable-remix/project/uploads/pasted-1781206913461-0.png is excluded by !**/*.png
  • desktop/package-lock.json is excluded by !**/package-lock.json
  • desktop/src-tauri/Cargo.lock is excluded by !**/*.lock
  • desktop/src-tauri/icons/128x128.png is excluded by !**/*.png
  • desktop/src-tauri/icons/128x128@2x.png is excluded by !**/*.png
  • desktop/src-tauri/icons/32x32.png is excluded by !**/*.png
  • desktop/src-tauri/icons/64x64.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square107x107Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square142x142Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square150x150Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square284x284Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square30x30Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square310x310Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square44x44Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square71x71Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/Square89x89Logo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/StoreLogo.png is excluded by !**/*.png
  • desktop/src-tauri/icons/icon.ico is excluded by !**/*.ico
  • desktop/src-tauri/icons/icon.png is excluded by !**/*.png
  • desktop/src/assets/tauri.svg is excluded by !**/*.svg
  • desktop/src/assets/typescript.svg is excluded by !**/*.svg
  • desktop/src/assets/vite.svg is excluded by !**/*.svg
  • mobile/assets/fonts/GeistMono_400Regular.ttf is excluded by !**/*.ttf
  • mobile/assets/fonts/GeistMono_500Medium.ttf is excluded by !**/*.ttf
  • mobile/assets/fonts/GeistMono_600SemiBold.ttf is excluded by !**/*.ttf
  • mobile/package-lock.json is excluded by !**/package-lock.json
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (800)
  • .githooks/pre-commit
  • .github/workflows/release.yml
  • .github/workflows/tests.yml
  • .gitignore
  • CHANGELOG.md
  • ROADMAP.md
  • backend/app/Casts/DaysOfWeek.php
  • backend/app/Console/Commands/RecalculatePriorityCommand.php
  • backend/app/Enums/PriorityCondition.php
  • backend/app/Enums/PriorityRuleSource.php
  • backend/app/Enums/Tier.php
  • backend/app/Http/Controllers/Api/V1/AdminDashboardController.php
  • backend/app/Http/Controllers/Api/V1/AlertController.php
  • backend/app/Http/Controllers/Api/V1/BatchStepController.php
  • backend/app/Http/Controllers/Api/V1/CrewBreakWindowController.php
  • backend/app/Http/Controllers/Api/V1/CrewController.php
  • backend/app/Http/Controllers/Api/V1/CsvImportController.php
  • backend/app/Http/Controllers/Api/V1/CustomFieldDefinitionController.php
  • backend/app/Http/Controllers/Api/V1/DivisionController.php
  • backend/app/Http/Controllers/Api/V1/IntegrationConfigController.php
  • backend/app/Http/Controllers/Api/V1/LabelTemplateController.php
  • backend/app/Http/Controllers/Api/V1/LineController.php
  • backend/app/Http/Controllers/Api/V1/LineStatusController.php
  • backend/app/Http/Controllers/Api/V1/MachineMonitorController.php
  • backend/app/Http/Controllers/Api/V1/MaterialController.php
  • backend/app/Http/Controllers/Api/V1/MaterialLotController.php
  • backend/app/Http/Controllers/Api/V1/PalletController.php
  • backend/app/Http/Controllers/Api/V1/ProductTypeController.php
  • backend/app/Http/Controllers/Api/V1/ProductionCostReportController.php
  • backend/app/Http/Controllers/Api/V1/QualityControlTaskController.php
  • backend/app/Http/Controllers/Api/V1/QualityControlTriggerController.php
  • backend/app/Http/Controllers/Api/V1/ScheduleCapacityController.php
  • backend/app/Http/Controllers/Api/V1/ShiftHandoverController.php
  • backend/app/Http/Controllers/Api/V1/TrashController.php
  • backend/app/Http/Controllers/Api/V1/ViewTemplateController.php
  • backend/app/Http/Controllers/Api/V1/WebhookController.php
  • backend/app/Http/Controllers/Api/V1/WorkerAbsenceController.php
  • backend/app/Http/Controllers/Api/V1/WorkstationRegistrationController.php
  • backend/app/Http/Controllers/InstallController.php
  • backend/app/Http/Controllers/Web/Admin/CrewController.php
  • backend/app/Http/Controllers/Web/Admin/CustomerController.php
  • backend/app/Http/Controllers/Web/Admin/DashboardController.php
  • backend/app/Http/Controllers/Web/Admin/EmployeeScheduleController.php
  • backend/app/Http/Controllers/Web/Admin/PriorityRuleController.php
  • backend/app/Http/Controllers/Web/Admin/ProcessTemplateManagementController.php
  • backend/app/Http/Controllers/Web/Admin/ScheduleCapacityController.php
  • backend/app/Http/Controllers/Web/Admin/SchedulePlannerController.php
  • backend/app/Http/Controllers/Web/Admin/WorkOrderManagementController.php
  • backend/app/Http/Controllers/Web/Admin/WorkstationDeviceController.php
  • backend/app/Http/Controllers/Web/IssueManagementController.php
  • backend/app/Http/Controllers/Web/Operator/BatchController.php
  • backend/app/Http/Controllers/Web/Operator/IssueController.php
  • backend/app/Http/Controllers/Web/Operator/WorkOrderController.php
  • backend/app/Http/Controllers/Web/Packaging/PackagingController.php
  • backend/app/Http/Controllers/Web/Supervisor/WorkOrderController.php
  • backend/app/Http/Middleware/HandleInertiaRequests.php
  • backend/app/Http/Requests/Api/RegisterWorkstationRequest.php
  • backend/app/Http/Requests/Api/V1/StoreTemplateStepRequest.php
  • backend/app/Http/Requests/Api/V1/UpdateTemplateStepRequest.php
  • backend/app/Http/Requests/CustomFieldDefinitionRequest.php
  • backend/app/Http/Requests/IntegrationConfigRequest.php
  • backend/app/Http/Requests/LabelTemplateRequest.php
  • backend/app/Http/Requests/ScheduleCapacityCellRequest.php
  • backend/app/Http/Requests/ViewTemplateRequest.php
  • backend/app/Http/Requests/Web/Admin/PriorityBandsRequest.php
  • backend/app/Http/Requests/Web/Admin/PriorityRuleRequest.php
  • backend/app/Http/Requests/Web/Admin/StoreCustomerRequest.php
  • backend/app/Http/Requests/Web/Admin/StoreWorkOrderRequest.php
  • backend/app/Http/Requests/Web/Admin/TemplateStepRequest.php
  • backend/app/Http/Requests/Web/Admin/UpdateCustomerRequest.php
  • backend/app/Http/Requests/Web/Admin/UpdateWorkOrderRequest.php
  • backend/app/Http/Requests/Web/Install/CreateAdminRequest.php
  • backend/app/Jobs/ProcessCsvImport.php
  • backend/app/Jobs/RecalculatePriorities.php
  • backend/app/Models/BatchStep.php
  • backend/app/Models/Crew.php
  • backend/app/Models/Customer.php
  • backend/app/Models/Line.php
  • backend/app/Models/PriorityRule.php
  • backend/app/Models/ProcessTemplate.php
  • backend/app/Models/ScheduleChangeLog.php
  • backend/app/Models/Shift.php
  • backend/app/Models/TemplateStep.php
  • backend/app/Models/WorkOrder.php
  • backend/app/Models/WorkOrderPlacement.php
  • backend/app/Models/WorkstationDevice.php
  • backend/app/Services/Auth/AuthService.php
  • backend/app/Services/CsvImport/CsvParserService.php
  • backend/app/Services/CsvImport/WorkOrderImportService.php
  • backend/app/Services/Customer/CustomerMetricsService.php
  • backend/app/Services/Material/MaterialService.php
  • backend/app/Services/ProcessTemplate/SnapshotService.php
  • backend/app/Services/Schedule/CapacityService.php
  • backend/app/Services/WorkOrder/BatchService.php
  • backend/app/Services/WorkOrder/PriorityScoringService.php
  • backend/app/Services/WorkOrder/WorkOrderService.php
  • backend/app/Support/PriorityBandRegistry.php
  • backend/app/Support/SoftDeleteRegistry.php
  • backend/app/Support/TabRegistry.php
  • backend/app/Support/TierPromotionRegistry.php
  • backend/app/Sync/ShapeRegistry.php
  • backend/app/Sync/Shapes/WorkOrdersActiveShape.php
  • backend/bootstrap/app.php
  • backend/composer.json
  • backend/config/version.php
  • backend/database/factories/BatchStepFactory.php
  • backend/database/factories/CustomerFactory.php
  • backend/database/factories/PriorityRuleFactory.php
  • backend/database/factories/WorkstationDeviceFactory.php
  • backend/database/migrations/2026_06_23_120000_create_crew_line_table.php
  • backend/database/migrations/2026_06_23_130000_add_required_operators_to_template_steps.php
  • backend/database/migrations/2026_07_05_100000_add_secondary_line_id_to_work_orders_table.php
  • backend/database/migrations/2026_07_05_110000_add_secondary_placement_to_work_orders_table.php
  • backend/database/migrations/2026_07_05_120000_create_workstation_devices_table.php
  • backend/database/migrations/2026_07_06_100000_create_work_order_placements_table.php
  • backend/database/migrations/2026_07_06_120000_create_schedule_change_logs_table.php
  • backend/database/migrations/2026_07_08_100000_create_customers_table.php
  • backend/database/migrations/2026_07_08_100100_add_customer_id_to_work_orders_table.php
  • backend/database/migrations/2026_07_08_120000_add_read_confirmation_to_batch_steps.php
  • backend/database/migrations/2026_07_09_100000_create_priority_rules_table.php
  • backend/database/migrations/2026_07_09_100100_add_priority_score_to_work_orders_table.php
  • backend/database/migrations/2026_07_09_100200_add_priority_bands_setting.php
  • backend/database/migrations/2026_07_09_110000_add_unit_price_and_counted_to_work_orders_table.php
  • backend/database/migrations/2026_07_09_110100_add_tier_promotion_setting.php
  • backend/database/migrations/2026_07_09_120000_register_top_customers_dashboard_widget.php
  • backend/database/migrations/2026_07_16_120000_create_work_order_boms_table.php
  • backend/database/seeders/PrintShopDemoSeeder.php
  • backend/lang/en.json
  • backend/lang/pl.json
  • backend/lang/tr.json
  • backend/lang/vi.json
  • backend/package.json
  • backend/resources/css/app.css
  • backend/resources/js/Pages/admin/Dashboard.jsx
  • backend/resources/js/Pages/admin/crews/Create.jsx
  • backend/resources/js/Pages/admin/crews/Edit.jsx
  • backend/resources/js/Pages/admin/crews/fields.js
  • backend/resources/js/Pages/admin/customers/Create.jsx
  • backend/resources/js/Pages/admin/customers/Edit.jsx
  • backend/resources/js/Pages/admin/customers/Index.jsx
  • backend/resources/js/Pages/admin/customers/fields.js
  • backend/resources/js/Pages/admin/lines/Create.jsx
  • backend/resources/js/Pages/admin/lines/Edit.jsx
  • backend/resources/js/Pages/admin/lines/Show.jsx
  • backend/resources/js/Pages/admin/material-lots/Create.jsx
  • backend/resources/js/Pages/admin/material-lots/Edit.jsx
  • backend/resources/js/Pages/admin/material-lots/Index.jsx
  • backend/resources/js/Pages/admin/materials/Create.jsx
  • backend/resources/js/Pages/admin/materials/Edit.jsx
  • backend/resources/js/Pages/admin/materials/fields.js
  • backend/resources/js/Pages/admin/pallets/Edit.jsx
  • backend/resources/js/Pages/admin/pallets/PalletForm.jsx
  • backend/resources/js/Pages/admin/priority-rules/Create.jsx
  • backend/resources/js/Pages/admin/priority-rules/Edit.jsx
  • backend/resources/js/Pages/admin/priority-rules/Index.jsx
  • backend/resources/js/Pages/admin/priority-rules/fields.js
  • backend/resources/js/Pages/admin/process-templates/Bom.jsx
  • backend/resources/js/Pages/admin/process-templates/Create.jsx
  • backend/resources/js/Pages/admin/process-templates/Edit.jsx
  • backend/resources/js/Pages/admin/process-templates/Show.jsx
  • backend/resources/js/Pages/admin/product-types/Create.jsx
  • backend/resources/js/Pages/admin/product-types/Edit.jsx
  • backend/resources/js/Pages/admin/product-types/Show.jsx
  • backend/resources/js/Pages/admin/schedule/Capacity.jsx
  • backend/resources/js/Pages/admin/schedule/Planner.jsx
  • backend/resources/js/Pages/admin/schedule/employees/Create.jsx
  • backend/resources/js/Pages/admin/schedule/employees/Day.jsx
  • backend/resources/js/Pages/admin/schedule/employees/Month.jsx
  • backend/resources/js/Pages/admin/schedule/employees/Team.jsx
  • backend/resources/js/Pages/admin/schedule/planner/OrderCard.jsx
  • backend/resources/js/Pages/admin/schedule/planner/dnd.jsx
  • backend/resources/js/Pages/admin/schedule/planner/helpers.js
  • backend/resources/js/Pages/admin/schedule/planner/modals.jsx
  • backend/resources/js/Pages/admin/schedule/planner/panels.jsx
  • backend/resources/js/Pages/admin/schedule/planner/views.jsx
  • backend/resources/js/Pages/admin/schedule/planner/views2.jsx
  • backend/resources/js/Pages/admin/users/Create.jsx
  • backend/resources/js/Pages/admin/users/Edit.jsx
  • backend/resources/js/Pages/admin/users/UserForm.jsx
  • backend/resources/js/Pages/admin/work-orders/Create.jsx
  • backend/resources/js/Pages/admin/work-orders/Edit.jsx
  • backend/resources/js/Pages/admin/work-orders/Index.jsx
  • backend/resources/js/Pages/admin/work-orders/Show.jsx
  • backend/resources/js/Pages/admin/work-orders/WorkOrderForm.jsx
  • backend/resources/js/Pages/admin/work-orders/fields.js
  • backend/resources/js/Pages/admin/workstation-devices/Index.jsx
  • backend/resources/js/Pages/admin/workstations/Create.jsx
  • backend/resources/js/Pages/operator/Queue.jsx
  • backend/resources/js/Pages/operator/SelectLine.jsx
  • backend/resources/js/Pages/operator/WorkOrderDetail.jsx
  • backend/resources/js/Pages/operator/Workstation.jsx
  • backend/resources/js/Pages/supervisor/work-orders/Create.jsx
  • backend/resources/js/Pages/supervisor/work-orders/Edit.jsx
  • backend/resources/js/Pages/supervisor/work-orders/Index.jsx
  • backend/resources/js/Pages/supervisor/work-orders/Show.jsx
  • backend/resources/js/app.jsx
  • backend/resources/js/components/LabelPrintMenu.jsx
  • backend/resources/js/components/ResourceForm.jsx
  • backend/resources/js/components/ResourceTable.jsx
  • backend/resources/js/layouts/AppLayout.jsx
  • backend/resources/js/layouts/adminNav.js
  • backend/resources/js/lib/elapsed.test.js
  • backend/resources/js/lib/http.js
  • backend/resources/js/lib/i18n.js
  • backend/resources/js/lib/load.js
  • backend/resources/views/install/admin.blade.php
  • backend/resources/views/install/complete.blade.php
  • backend/resources/views/install/database.blade.php
  • backend/resources/views/install/environment.blade.php
  • backend/resources/views/install/welcome.blade.php
  • backend/routes/api.php
  • backend/routes/console.php
  • backend/routes/web.php
  • backend/tests/Feature/Api/AdminConfigReadApiTest.php
  • backend/tests/Feature/Api/AdminDashboardTest.php
  • backend/tests/Feature/Api/AlertsApiTest.php
  • backend/tests/Feature/Api/AuthTest.php
  • backend/tests/Feature/Api/CrewBreakWindowTest.php
  • backend/tests/Feature/Api/CsvImportTest.php
  • backend/tests/Feature/Api/MachineMonitorTest.php
  • backend/tests/Feature/Api/OrgStructureApiTest.php
  • backend/tests/Feature/Api/PackagingReadApiTest.php
  • backend/tests/Feature/Api/ProductionCostReportApiTest.php
  • backend/tests/Feature/Api/QualityControlTaskTest.php
  • backend/tests/Feature/Api/ScheduleCapacityApiTest.php
  • backend/tests/Feature/Api/ShiftHandoverTest.php
  • backend/tests/Feature/Api/TrashApiTest.php
  • backend/tests/Feature/Api/V1/MaterialApiTest.php
  • backend/tests/Feature/Api/V1/MaterialLotGenealogyTest.php
  • backend/tests/Feature/Api/ViewTemplateApiTest.php
  • backend/tests/Feature/Api/WebhookApiTest.php
  • backend/tests/Feature/Api/WorkerAbsenceTest.php
  • backend/tests/Feature/Api/WorkstationRegistrationTest.php
  • backend/tests/Feature/CustomerMetricsTest.php
  • backend/tests/Feature/InstallPresetTest.php
  • backend/tests/Feature/PriorityScoringTest.php
  • backend/tests/Feature/StepReadConfirmationTest.php
  • backend/tests/Feature/Supervisor/WorkOrderMachinesTest.php
  • backend/tests/Feature/Web/Admin/CrewLineAssignmentTest.php
  • backend/tests/Feature/Web/Admin/CustomerControllerTest.php
  • backend/tests/Feature/Web/Admin/PriorityRuleControllerTest.php
  • backend/tests/Feature/Web/Admin/ProcessTemplateStepWebTest.php
  • backend/tests/Feature/Web/Admin/ScheduleCapacityTest.php
  • backend/tests/Feature/Web/Admin/SchedulePlannerBoardTest.php
  • backend/tests/Feature/Web/Admin/SchedulePlannerChangesTest.php
  • backend/tests/Feature/Web/Admin/SchedulePlannerCustomerTest.php
  • backend/tests/Feature/Web/Admin/SchedulePlannerHourlyTest.php
  • backend/tests/Feature/Web/Admin/SchedulePlannerSecondaryLineTest.php
  • backend/tests/Feature/Web/Admin/WorkOrderCustomerTest.php
  • backend/tests/Feature/Web/Admin/WorkstationDeviceTest.php
  • backend/tests/Feature/WorkOrder/MultiBomOrderTest.php
  • backend/tests/Unit/Casts/DaysOfWeekTest.php
  • backend/tests/Unit/Services/CapacityServiceTest.php
  • backend/tests/Unit/Services/SnapshotServiceTest.php
  • backend/tests/Unit/Services/WorkOrderMultiBomTest.php
  • backend/vitest.config.js
  • design/openmes-fable-remix/README.md
  • design/openmes-fable-remix/chats/chat1.md
  • design/openmes-fable-remix/project/OpenMES Components.dc.html
  • design/openmes-fable-remix/project/OpenMES Floor.dc.html
  • design/openmes-fable-remix/project/OpenMES Mobile.dc.html
  • design/openmes-fable-remix/project/OpenMES Prototype.dc.html
  • design/openmes-fable-remix/project/support.js
  • desktop/.gitignore
  • desktop/README.md
  • desktop/index.html
  • desktop/package.json
  • desktop/scripts/build-linux.sh
  • desktop/scripts/build-windows.sh
  • desktop/scripts/bundle-resources.sh
  • desktop/scripts/fetch-runtimes.sh
  • desktop/src-tauri/.gitignore
  • desktop/src-tauri/Cargo.toml
  • desktop/src-tauri/build.rs
  • desktop/src-tauri/capabilities/default.json
  • desktop/src-tauri/icons/icon.icns
  • desktop/src-tauri/src/lib.rs
  • desktop/src-tauri/src/main.rs
  • desktop/src-tauri/tauri.conf.json
  • desktop/src/main.ts
  • desktop/src/styles.css
  • desktop/tsconfig.json
  • desktop/vite.config.ts
  • docs/roadmap.md
  • mobile/api/adminConfig.ts
  • mobile/api/adminDashboard.ts
  • mobile/api/alerts.ts
  • mobile/api/bom.ts
  • mobile/api/crewBreakWindows.ts
  • mobile/api/csvImports.ts
  • mobile/api/issues.ts
  • mobile/api/machineMonitor.ts
  • mobile/api/materialLots.ts
  • mobile/api/orgStructure.ts
  • mobile/api/packaging.ts
  • mobile/api/productTypes.ts
  • mobile/api/qualityTasks.ts
  • mobile/api/reports.ts
  • mobile/api/scheduleCapacity.ts
  • mobile/api/scrapReasons.ts
  • mobile/api/shiftHandover.ts
  • mobile/api/trash.ts
  • mobile/api/viewTemplates.ts
  • mobile/api/webhooks.ts
  • mobile/api/workOrders.ts
  • mobile/api/workerAbsences.ts
  • mobile/app/(drawer)/(tabs)/_layout.tsx
  • mobile/app/(drawer)/(tabs)/index.tsx
  • mobile/app/(drawer)/(tabs)/issues.tsx
  • mobile/app/(drawer)/(tabs)/orders.tsx
  • mobile/app/(drawer)/(tabs)/profile.tsx
  • mobile/app/(drawer)/(tabs)/scan.tsx
  • mobile/app/(drawer)/_layout.tsx
  • mobile/app/(drawer)/admin/_layout.tsx
  • mobile/app/(drawer)/admin/activity-logs/index.tsx
  • mobile/app/(drawer)/admin/alerts-dashboard/index.tsx
  • mobile/app/(drawer)/admin/anomaly-reasons/[id].tsx
  • mobile/app/(drawer)/admin/anomaly-reasons/new.tsx
  • mobile/app/(drawer)/admin/catalog-admin/index.tsx
  • mobile/app/(drawer)/admin/companies/[id].tsx
  • mobile/app/(drawer)/admin/companies/new.tsx
  • mobile/app/(drawer)/admin/connectivity-admin/index.tsx
  • mobile/app/(drawer)/admin/cost-sources/[id].tsx
  • mobile/app/(drawer)/admin/cost-sources/new.tsx
  • mobile/app/(drawer)/admin/custom-fields/[id]/edit.tsx
  • mobile/app/(drawer)/admin/custom-fields/index.tsx
  • mobile/app/(drawer)/admin/custom-fields/new.tsx
  • mobile/app/(drawer)/admin/dashboard/index.tsx
  • mobile/app/(drawer)/admin/hr-command/index.tsx
  • mobile/app/(drawer)/admin/index.tsx
  • mobile/app/(drawer)/admin/inspection-plans/[id]/edit.tsx
  • mobile/app/(drawer)/admin/inspection-plans/new.tsx
  • mobile/app/(drawer)/admin/integrations/[id]/edit.tsx
  • mobile/app/(drawer)/admin/integrations/index.tsx
  • mobile/app/(drawer)/admin/integrations/new.tsx
  • mobile/app/(drawer)/admin/issue-types/[id].tsx
  • mobile/app/(drawer)/admin/issue-types/index.tsx
  • mobile/app/(drawer)/admin/issue-types/new.tsx
  • mobile/app/(drawer)/admin/issues/index.tsx
  • mobile/app/(drawer)/admin/line-statuses/index.tsx
  • mobile/app/(drawer)/admin/lot-genealogy/index.tsx
  • mobile/app/(drawer)/admin/lot-sequences/[id].tsx
  • mobile/app/(drawer)/admin/lot-sequences/new.tsx
  • mobile/app/(drawer)/admin/maintenance-command/index.tsx
  • mobile/app/(drawer)/admin/maintenance-events/index.tsx
  • mobile/app/(drawer)/admin/material-lots/[id]/index.tsx
  • mobile/app/(drawer)/admin/material-lots/index.tsx
  • mobile/app/(drawer)/admin/materials/[id]/edit.tsx
  • mobile/app/(drawer)/admin/materials/[id]/index.tsx
  • mobile/app/(drawer)/admin/materials/new.tsx
  • mobile/app/(drawer)/admin/oee/[lineId].tsx
  • mobile/app/(drawer)/admin/orders/index.tsx
  • mobile/app/(drawer)/admin/pallets/[id]/edit.tsx
  • mobile/app/(drawer)/admin/pallets/index.tsx
  • mobile/app/(drawer)/admin/pallets/new.tsx
  • mobile/app/(drawer)/admin/production-anomalies/index.tsx
  • mobile/app/(drawer)/admin/qc-triggers/[id]/edit.tsx
  • mobile/app/(drawer)/admin/qc-triggers/index.tsx
  • mobile/app/(drawer)/admin/qc-triggers/new.tsx
  • mobile/app/(drawer)/admin/quality-command/index.tsx
  • mobile/app/(drawer)/admin/schedule-capacity/index.tsx
  • mobile/app/(drawer)/admin/scrap-reasons/[id].tsx
  • mobile/app/(drawer)/admin/scrap-reasons/index.tsx
  • mobile/app/(drawer)/admin/scrap-reasons/new.tsx
  • mobile/app/(drawer)/admin/subassemblies/[id].tsx
  • mobile/app/(drawer)/admin/subassemblies/new.tsx
  • mobile/app/(drawer)/admin/subiekt/index.tsx
  • mobile/app/(drawer)/admin/trash/index.tsx
  • mobile/app/(drawer)/admin/update-check/index.tsx
  • mobile/app/(drawer)/admin/users/[id].tsx
  • mobile/app/(drawer)/admin/users/new.tsx
  • mobile/app/(drawer)/admin/view-templates/[id]/edit.tsx
  • mobile/app/(drawer)/admin/view-templates/index.tsx
  • mobile/app/(drawer)/admin/view-templates/new.tsx
  • mobile/app/(drawer)/admin/wall/index.tsx
  • mobile/app/(drawer)/admin/webhooks/[id]/edit.tsx
  • mobile/app/(drawer)/admin/webhooks/index.tsx
  • mobile/app/(drawer)/admin/webhooks/new.tsx
  • mobile/app/(drawer)/admin/work-orders/index.tsx
  • mobile/app/(drawer)/connectivity/_layout.tsx
  • mobile/app/(drawer)/connectivity/mappings/index.tsx
  • mobile/app/(drawer)/connectivity/modbus/index.tsx
  • mobile/app/(drawer)/connectivity/mqtt/index.tsx
  • mobile/app/(drawer)/connectivity/opcua/index.tsx
  • mobile/app/(drawer)/hr/absences/index.tsx
  • mobile/app/(drawer)/hr/absences/new.tsx
  • mobile/app/(drawer)/hr/break-windows/index.tsx
  • mobile/app/(drawer)/hr/break-windows/new.tsx
  • mobile/app/(drawer)/hr/crews/[id].tsx
  • mobile/app/(drawer)/hr/crews/new.tsx
  • mobile/app/(drawer)/hr/index.tsx
  • mobile/app/(drawer)/hr/personnel-classes/[id]/edit.tsx
  • mobile/app/(drawer)/hr/personnel-classes/index.tsx
  • mobile/app/(drawer)/hr/personnel-classes/new.tsx
  • mobile/app/(drawer)/hr/skills/[id].tsx
  • mobile/app/(drawer)/hr/skills/new.tsx
  • mobile/app/(drawer)/hr/wage-groups/[id].tsx
  • mobile/app/(drawer)/hr/wage-groups/new.tsx
  • mobile/app/(drawer)/hr/workers/[id].tsx
  • mobile/app/(drawer)/hr/workers/new.tsx
  • mobile/app/(drawer)/issues/[id].tsx
  • mobile/app/(drawer)/issues/index.tsx
  • mobile/app/(drawer)/issues/new.tsx
  • mobile/app/(drawer)/maintenance/events/[id].tsx
  • mobile/app/(drawer)/maintenance/events/new.tsx
  • mobile/app/(drawer)/maintenance/index.tsx
  • mobile/app/(drawer)/maintenance/tools/[id].tsx
  • mobile/app/(drawer)/maintenance/tools/new.tsx
  • mobile/app/(drawer)/operator/_layout.tsx
  • mobile/app/(drawer)/operator/alerts/index.tsx
  • mobile/app/(drawer)/operator/index.tsx
  • mobile/app/(drawer)/operator/orders/index.tsx
  • mobile/app/(drawer)/operator/scan/index.tsx
  • mobile/app/(drawer)/operator/shift/index.tsx
  • mobile/app/(drawer)/operator/today/index.tsx
  • mobile/app/(drawer)/orders/index.tsx
  • mobile/app/(drawer)/pakowanie/_layout.tsx
  • mobile/app/(drawer)/pakowanie/eans/new.tsx
  • mobile/app/(drawer)/pakowanie/label-templates/[id]/edit.tsx
  • mobile/app/(drawer)/pakowanie/label-templates/index.tsx
  • mobile/app/(drawer)/pakowanie/label-templates/new.tsx
  • mobile/app/(drawer)/production/index.tsx
  • mobile/app/(drawer)/production/process-segments/[id]/edit.tsx
  • mobile/app/(drawer)/production/process-segments/index.tsx
  • mobile/app/(drawer)/production/process-segments/new.tsx
  • mobile/app/(drawer)/production/product-types/[id].tsx
  • mobile/app/(drawer)/production/product-types/new.tsx
  • mobile/app/(drawer)/production/shifts/[id].tsx
  • mobile/app/(drawer)/production/shifts/new.tsx
  • mobile/app/(drawer)/production/templates/[id].tsx
  • mobile/app/(drawer)/production/templates/[id]/qc-templates/[qcId].tsx
  • mobile/app/(drawer)/production/templates/[id]/qc-templates/new.tsx
  • mobile/app/(drawer)/production/templates/index.tsx
  • mobile/app/(drawer)/quality/_layout.tsx
  • mobile/app/(drawer)/quality/index.tsx
  • mobile/app/(drawer)/quality/inspections/[id].tsx
  • mobile/app/(drawer)/quality/inspections/index.tsx
  • mobile/app/(drawer)/settings/index.tsx
  • mobile/app/(drawer)/structure/areas/[id]/edit.tsx
  • mobile/app/(drawer)/structure/areas/[id]/index.tsx
  • mobile/app/(drawer)/structure/areas/new.tsx
  • mobile/app/(drawer)/structure/divisions/[id].tsx
  • mobile/app/(drawer)/structure/divisions/index.tsx
  • mobile/app/(drawer)/structure/divisions/new.tsx
  • mobile/app/(drawer)/structure/factories/[id].tsx
  • mobile/app/(drawer)/structure/factories/[id]/divisions/new.tsx
  • mobile/app/(drawer)/structure/factories/new.tsx
  • mobile/app/(drawer)/structure/index.tsx
  • mobile/app/(drawer)/structure/lines/[id].tsx
  • mobile/app/(drawer)/structure/lines/[id]/statuses/new.tsx
  • mobile/app/(drawer)/structure/lines/[id]/workstations/[workstationId].tsx
  • mobile/app/(drawer)/structure/lines/[id]/workstations/new.tsx
  • mobile/app/(drawer)/structure/lines/new.tsx
  • mobile/app/(drawer)/structure/sites/[id]/edit.tsx
  • mobile/app/(drawer)/structure/sites/index.tsx
  • mobile/app/(drawer)/structure/sites/new.tsx
  • mobile/app/(drawer)/structure/workstation-types/[id].tsx
  • mobile/app/(drawer)/structure/workstation-types/new.tsx
  • mobile/app/(drawer)/supervisor/_layout.tsx
  • mobile/app/(drawer)/supervisor/analytics/cycle-time.tsx
  • mobile/app/(drawer)/supervisor/analytics/issue-stats.tsx
  • mobile/app/(drawer)/supervisor/analytics/overview.tsx
  • mobile/app/(drawer)/supervisor/analytics/production-by-line.tsx
  • mobile/app/(drawer)/supervisor/analytics/step-performance.tsx
  • mobile/app/(drawer)/supervisor/analytics/throughput.tsx
  • mobile/app/(drawer)/supervisor/anomalies/[id]/process.tsx
  • mobile/app/(drawer)/supervisor/index.tsx
  • mobile/app/(drawer)/supervisor/machine-monitor/index.tsx
  • mobile/app/(drawer)/supervisor/quality-tasks/index.tsx
  • mobile/app/(drawer)/supervisor/reports/batch-completion.tsx
  • mobile/app/(drawer)/supervisor/reports/downtime.tsx
  • mobile/app/(drawer)/supervisor/shift-handover/index.tsx
  • mobile/app/(drawer)/work-orders/[id]/anomalies/index.tsx
  • mobile/app/(drawer)/work-orders/[id]/anomalies/new.tsx
  • mobile/app/(drawer)/work-orders/[id]/attachments/index.tsx
  • mobile/app/(drawer)/work-orders/[id]/costs/index.tsx
  • mobile/app/(drawer)/work-orders/[id]/costs/new.tsx
  • mobile/app/(drawer)/work-orders/index.tsx
  • mobile/app/(drawer)/work-orders/new/index.tsx
  • mobile/app/+html.tsx
  • mobile/app/_layout.tsx
  • mobile/app/dev/components.tsx
  • mobile/app/maintenance/schedules/index.tsx
  • mobile/app/operator/_layout.tsx
  • mobile/app/operator/queue.tsx
  • mobile/app/operator/workstation.tsx
  • mobile/app/quality/inspections/index.tsx
  • mobile/assets/fonts/OFL.txt
  • mobile/assets/fonts/README.md
  • mobile/components/admin/CategorizedCodeNameForm.tsx
  • mobile/components/admin/CompanyForm.tsx
  • mobile/components/admin/ConnectionForm.tsx
  • mobile/components/admin/CrewForm.tsx
  • mobile/components/admin/LineForm.tsx
  • mobile/components/admin/LotSequenceForm.tsx
  • mobile/components/admin/MappingForm.tsx
  • mobile/components/admin/QcTemplateForm.tsx
  • mobile/components/admin/ShiftForm.tsx
  • mobile/components/admin/TopicForm.tsx
  • mobile/components/admin/UserForm.tsx
  • mobile/components/admin/WorkerForm.tsx
  • mobile/components/drawer/DrawerContent.tsx
  • mobile/components/drawer/PhoneBottomNav.tsx
  • mobile/components/drawer/PhoneTopBar.tsx
  • mobile/components/drawer/TopClock.tsx
  • mobile/components/maintenance/ToolForm.tsx
  • mobile/components/operator/DowntimeBanner.tsx
  • mobile/components/operator/MaterialAllocationModal.tsx
  • mobile/components/operator/OperatorBottomNav.tsx
  • mobile/components/operator/OperatorTopBar.tsx
  • mobile/components/schedule/DraggableBlockBar.tsx
  • mobile/components/schedule/EditScheduleModal.tsx
  • mobile/components/tablet/TabletSidebar.tsx
  • mobile/components/tablet/TabletStatusStrip.tsx
  • mobile/components/tablet/navItems.ts
  • mobile/components/ui/BottomTabBar.tsx
  • mobile/components/ui/Brand.tsx
  • mobile/components/ui/Button.tsx
  • mobile/components/ui/CustomFieldsPanel.tsx
  • mobile/components/ui/Detail.tsx
  • mobile/components/ui/Field.tsx
  • mobile/components/ui/FormSubmitBar.tsx
  • mobile/components/ui/HeroIcon.tsx
  • mobile/components/ui/InactiveToggle.tsx
  • mobile/components/ui/ListScreen.tsx
  • mobile/components/ui/MissingScreen.tsx
  • mobile/components/ui/OeeGauge.tsx
  • mobile/components/ui/OfflineBanner.tsx
  • mobile/components/ui/StateViews.tsx
  • mobile/components/ui/Switch.tsx
  • mobile/components/workorders/TransitionButtons.tsx
  • mobile/constants/api.ts
  • mobile/hooks/queries/useAdminConfig.ts
  • mobile/hooks/queries/useAdminDashboard.ts
  • mobile/hooks/queries/useAlerts.ts
  • mobile/hooks/queries/useBom.ts
  • mobile/hooks/queries/useCrewBreakWindows.ts
  • mobile/hooks/queries/useHr.ts
  • mobile/hooks/queries/useInspections.ts
  • mobile/hooks/queries/useIssues.ts
  • mobile/hooks/queries/useLines.ts
  • mobile/hooks/queries/useLot.ts
  • mobile/hooks/queries/useMachineMonitor.ts
  • mobile/hooks/queries/useMaintenance.ts
  • mobile/hooks/queries/useMaterialLots.ts
  • mobile/hooks/queries/useOps.ts
  • mobile/hooks/queries/useOrgStructure.ts
  • mobile/hooks/queries/usePackaging.ts
  • mobile/hooks/queries/usePersonnel.ts
  • mobile/hooks/queries/useProcessSegments.ts
  • mobile/hooks/queries/useProductTypes.ts
  • mobile/hooks/queries/useQualityTasks.ts
  • mobile/hooks/queries/useReports.ts
  • mobile/hooks/queries/useScheduleCapacity.ts
  • mobile/hooks/queries/useScrapReasons.ts
  • mobile/hooks/queries/useShiftHandover.ts
  • mobile/hooks/queries/useStructureIsa95.ts
  • mobile/hooks/queries/useTrash.ts
  • mobile/hooks/queries/useUsers.ts
  • mobile/hooks/queries/useViewTemplates.ts
  • mobile/hooks/queries/useWebhooks.ts
  • mobile/hooks/queries/useWorkOrders.ts
  • mobile/hooks/queries/useWorkerAbsences.ts
  • mobile/hooks/queries/useWorkstationTypes.ts
  • mobile/hooks/useEchoConnectionState.ts
  • mobile/hooks/useElectricInvalidate.ts
  • mobile/hooks/useElectricShape.ts
  • mobile/hooks/useScheduleRealtime.ts
  • mobile/hooks/useWorkOrderRealtime.ts
  • mobile/lang/de.json
  • mobile/lang/en.json
  • mobile/lang/pl.json
  • mobile/lang/tr.json
  • mobile/lib/electric.ts
  • mobile/lib/i18n.ts
  • mobile/metro.config.js
  • mobile/package.json
  • mobile/screens/(drawer)/(tabs)/index.tsx
  • mobile/screens/(drawer)/(tabs)/issues.tsx
  • mobile/screens/(drawer)/(tabs)/profile.tsx
  • mobile/screens/(drawer)/(tabs)/scan.tsx
  • mobile/screens/(drawer)/admin/AdminDashboard.tsx
  • mobile/screens/(drawer)/admin/AdminWorkOrders.tsx
  • mobile/screens/(drawer)/admin/AlertsScreen.tsx
  • mobile/screens/(drawer)/admin/alerts-dashboard/index.tsx
  • mobile/screens/(drawer)/admin/anomaly-reasons/[id].tsx
  • mobile/screens/(drawer)/admin/anomaly-reasons/index.tsx
  • mobile/screens/(drawer)/admin/anomaly-reasons/new.tsx
  • mobile/screens/(drawer)/admin/api-tokens/index.tsx
  • mobile/screens/(drawer)/admin/audit-logs/index.tsx
  • mobile/screens/(drawer)/admin/companies/[id].tsx
  • mobile/screens/(drawer)/admin/companies/index.tsx
  • mobile/screens/(drawer)/admin/companies/new.tsx
  • mobile/screens/(drawer)/admin/cost-sources/[id].tsx
  • mobile/screens/(drawer)/admin/cost-sources/index.tsx
  • mobile/screens/(drawer)/admin/cost-sources/new.tsx
  • mobile/screens/(drawer)/admin/custom-fields/form.tsx
  • mobile/screens/(drawer)/admin/custom-fields/index.tsx
  • mobile/screens/(drawer)/admin/event-logs/index.tsx
  • mobile/screens/(drawer)/admin/index.tsx
  • mobile/screens/(drawer)/admin/integrations/form.tsx
  • mobile/screens/(drawer)/admin/integrations/index.tsx
  • mobile/screens/(drawer)/admin/issue-types/form.tsx
  • mobile/screens/(drawer)/admin/issues/index.tsx
  • mobile/screens/(drawer)/admin/line-statuses/index.tsx
  • mobile/screens/(drawer)/admin/lot-genealogy/explorer.tsx
  • mobile/screens/(drawer)/admin/lot-sequences/[id].tsx
  • mobile/screens/(drawer)/admin/lot-sequences/index.tsx
  • mobile/screens/(drawer)/admin/lot-sequences/new.tsx
  • mobile/screens/(drawer)/admin/maintenance-events/index.tsx
  • mobile/screens/(drawer)/admin/materials/[id].tsx
  • mobile/screens/(drawer)/admin/materials/form.tsx
  • mobile/screens/(drawer)/admin/materials/index.tsx
  • mobile/screens/(drawer)/admin/modules/index.tsx
  • mobile/screens/(drawer)/admin/oee/[lineId].tsx
  • mobile/screens/(drawer)/admin/oee/index.tsx
  • mobile/screens/(drawer)/admin/pallets/form.tsx
  • mobile/screens/(drawer)/admin/pallets/index.tsx
  • mobile/screens/(drawer)/admin/production-anomalies/index.tsx
  • mobile/screens/(drawer)/admin/qc-triggers/form.tsx
  • mobile/screens/(drawer)/admin/qc-triggers/index.tsx
  • mobile/screens/(drawer)/admin/reports/index.tsx
  • mobile/screens/(drawer)/admin/schedule-capacity/index.tsx
  • mobile/screens/(drawer)/admin/scrap-reasons/form.tsx
  • mobile/screens/(drawer)/admin/subassemblies/[id].tsx
  • mobile/screens/(drawer)/admin/subassemblies/index.tsx
  • mobile/screens/(drawer)/admin/subassemblies/new.tsx
  • mobile/screens/(drawer)/admin/subiekt/index.tsx
  • mobile/screens/(drawer)/admin/system-settings/index.tsx
  • mobile/screens/(drawer)/admin/trash/index.tsx
  • mobile/screens/(drawer)/admin/users/[id].tsx
  • mobile/screens/(drawer)/admin/users/index.tsx
  • mobile/screens/(drawer)/admin/users/new.tsx
  • mobile/screens/(drawer)/admin/view-templates/form.tsx
  • mobile/screens/(drawer)/admin/view-templates/index.tsx
  • mobile/screens/(drawer)/admin/webhooks/form.tsx
  • mobile/screens/(drawer)/admin/webhooks/index.tsx
  • mobile/screens/(drawer)/connectivity/connections/[id].tsx
  • mobile/screens/(drawer)/connectivity/connections/index.tsx
  • mobile/screens/(drawer)/connectivity/index.tsx
  • mobile/screens/(drawer)/connectivity/messages/index.tsx
  • mobile/screens/(drawer)/connectivity/protocol/index.tsx
  • mobile/screens/(drawer)/connectivity/topics/[id].tsx
  • mobile/screens/(drawer)/connectivity/topics/index.tsx
  • mobile/screens/(drawer)/employee-schedule/AddActivityScreen.tsx
  • mobile/screens/(drawer)/employee-schedule/DayPlanScreen.tsx
  • mobile/screens/(drawer)/employee-schedule/MonthScreen.tsx
  • mobile/screens/(drawer)/employee-schedule/TeamDayScreen.tsx
  • mobile/screens/(drawer)/employee-schedule/WeekScreen.tsx
  • mobile/screens/(drawer)/employee-schedule/index.tsx
  • mobile/screens/(drawer)/hr/crews/[id].tsx
  • mobile/screens/(drawer)/hr/crews/index.tsx
  • mobile/screens/(drawer)/hr/crews/new.tsx
  • mobile/screens/(drawer)/hr/index.tsx
  • mobile/screens/(drawer)/hr/skills/[id].tsx
  • mobile/screens/(drawer)/hr/skills/index.tsx
  • mobile/screens/(drawer)/hr/skills/new.tsx
  • mobile/screens/(drawer)/hr/wage-groups/[id].tsx
  • mobile/screens/(drawer)/hr/wage-groups/index.tsx
  • mobile/screens/(drawer)/hr/wage-groups/new.tsx
  • mobile/screens/(drawer)/hr/workers/[id].tsx
  • mobile/screens/(drawer)/hr/workers/index.tsx
  • mobile/screens/(drawer)/hr/workers/new.tsx
  • mobile/screens/(drawer)/maintenance/events/[id].tsx
  • mobile/screens/(drawer)/maintenance/events/index.tsx
  • mobile/screens/(drawer)/maintenance/events/new.tsx
  • mobile/screens/(drawer)/maintenance/index.tsx
  • mobile/screens/(drawer)/maintenance/tools/[id].tsx
  • mobile/screens/(drawer)/maintenance/tools/index.tsx
  • mobile/screens/(drawer)/maintenance/tools/new.tsx
  • mobile/screens/(drawer)/orders/imports.tsx
  • mobile/screens/(drawer)/orders/index.tsx
  • mobile/screens/(drawer)/orders/work-orders.tsx
  • mobile/screens/(drawer)/packaging/label-templates/form.tsx
  • mobile/screens/(drawer)/packaging/label-templates/index.tsx
  • mobile/screens/(drawer)/pakowanie/eans/index.tsx
  • mobile/screens/(drawer)/pakowanie/eans/new.tsx
  • mobile/screens/(drawer)/pakowanie/index.tsx
  • mobile/screens/(drawer)/production/downtime/index.tsx
  • mobile/screens/(drawer)/production/index.tsx
  • mobile/screens/(drawer)/production/product-types/[id].tsx
  • mobile/screens/(drawer)/production/product-types/[id]/templates/index.tsx
  • mobile/screens/(drawer)/production/product-types/index.tsx
  • mobile/screens/(drawer)/production/product-types/new.tsx
  • mobile/screens/(drawer)/production/shifts/[id].tsx
  • mobile/screens/(drawer)/production/shifts/index.tsx
  • mobile/screens/(drawer)/production/shifts/new.tsx
  • mobile/screens/(drawer)/production/templates/[id].tsx
  • mobile/screens/(drawer)/production/templates/[id]/qc-templates/[qcId].tsx
  • mobile/screens/(drawer)/production/templates/[id]/qc-templates/index.tsx
  • mobile/screens/(drawer)/production/templates/[id]/qc-templates/new.tsx
  • mobile/screens/(drawer)/production/templates/[id]/steps/index.tsx
  • mobile/screens/(drawer)/schedule.tsx
  • mobile/screens/(drawer)/settings/index.tsx
  • mobile/screens/(drawer)/structure/divisions/[id].tsx
  • mobile/screens/(drawer)/structure/factories/[id].tsx
  • mobile/screens/(drawer)/structure/factories/[id]/divisions/index.tsx
  • mobile/screens/(drawer)/structure/factories/[id]/divisions/new.tsx
  • mobile/screens/(drawer)/structure/factories/index.tsx
  • mobile/screens/(drawer)/structure/factories/new.tsx
  • mobile/screens/(drawer)/structure/index.tsx
  • mobile/screens/(drawer)/structure/lines/[id].tsx
  • mobile/screens/(drawer)/structure/lines/[id]/statuses/index.tsx
  • mobile/screens/(drawer)/structure/lines/[id]/statuses/new.tsx
  • mobile/screens/(drawer)/structure/lines/[id]/workstations/[workstationId].tsx
  • mobile/screens/(drawer)/structure/lines/[id]/workstations/index.tsx
  • mobile/screens/(drawer)/structure/lines/[id]/workstations/new.tsx
  • mobile/screens/(drawer)/structure/lines/index.tsx
  • mobile/screens/(drawer)/structure/lines/new.tsx
  • mobile/screens/(drawer)/structure/workstation-types/[id].tsx
  • mobile/screens/(drawer)/structure/workstation-types/index.tsx
  • mobile/screens/(drawer)/structure/workstation-types/new.tsx
  • mobile/screens/+not-found.tsx
  • mobile/screens/admin/activity-logs/index.tsx
  • mobile/screens/admin/inspection-plans/edit.tsx
  • mobile/screens/admin/inspection-plans/list.tsx
  • mobile/screens/admin/inspection-plans/new.tsx
  • mobile/screens/admin/material-lots/[id].tsx
  • mobile/screens/admin/material-lots/index.tsx
  • mobile/screens/admin/system-logs/index.tsx
  • mobile/screens/connectivity/connections/edit.tsx
  • mobile/screens/connectivity/connections/new.tsx
  • mobile/screens/connectivity/mappings/edit.tsx
  • mobile/screens/connectivity/mappings/list.tsx
  • mobile/screens/connectivity/mappings/new.tsx
  • mobile/screens/connectivity/topics/edit.tsx
  • mobile/screens/connectivity/topics/new.tsx
  • mobile/screens/hr/personnel-classes/edit.tsx
  • mobile/screens/hr/personnel-classes/index.tsx
  • mobile/screens/hr/personnel-classes/new.tsx
  • mobile/screens/issues/[id].tsx
  • mobile/screens/issues/new.tsx
  • mobile/screens/login.tsx
  • mobile/screens/maintenance/schedules/edit.tsx
  • mobile/screens/maintenance/schedules/index.tsx
  • mobile/screens/maintenance/schedules/list.tsx
  • mobile/screens/maintenance/schedules/new.tsx
  • mobile/screens/operator/Queue.tsx
  • mobile/screens/operator/Workstation.tsx
  • mobile/screens/production/process-segments/edit.tsx
  • mobile/screens/production/process-segments/index.tsx
  • mobile/screens/production/process-segments/new.tsx
  • mobile/screens/quality/inspections/[id].tsx
  • mobile/screens/quality/inspections/[id]/run/index.tsx
  • mobile/screens/quality/inspections/index.tsx
  • mobile/screens/select-line.tsx
  • mobile/screens/structure/areas/[id].tsx
  • mobile/screens/structure/areas/edit.tsx
  • mobile/screens/structure/areas/new.tsx
  • mobile/screens/structure/sites/edit.tsx
  • mobile/screens/structure/sites/index.tsx
  • mobile/screens/structure/sites/new.tsx
  • mobile/screens/tablet/CatalogAdmin.tsx
  • mobile/screens/tablet/ConnectivityAdmin.tsx
  • mobile/screens/tablet/HrCommand.tsx
  • mobile/screens/tablet/LotGenealogyExplorer.tsx
  • mobile/screens/tablet/MaintenanceCommand.tsx
  • mobile/screens/tablet/OeeCommand.tsx
  • mobile/screens/tablet/OperatorTerminal.tsx
  • mobile/screens/tablet/PlantWall.tsx
  • mobile/screens/tablet/QualityCommand.tsx
  • mobile/screens/tablet/SupervisorWarRoom.tsx
  • mobile/screens/tablet/WorkOrders.tsx
  • mobile/screens/work-orders/[id].tsx
  • mobile/screens/work-orders/[id]/anomalies/index.tsx
  • mobile/screens/work-orders/[id]/anomalies/new.tsx
  • mobile/screens/work-orders/[id]/attachments/index.tsx
  • mobile/screens/work-orders/[id]/costs/index.tsx
  • mobile/screens/work-orders/[id]/costs/new.tsx
  • mobile/screens/work-orders/[id]/run/[batchId].tsx
  • mobile/screens/work-orders/new/index.tsx
  • mobile/stores/authStore.ts
  • mobile/stores/settingsStore.ts
  • mobile/types/api.ts
  • packages/ui/src/ActionSheet/index.web.jsx
  • packages/ui/src/BigStepper/index.web.jsx
  • packages/ui/src/BottomSheet/index.web.jsx
  • packages/ui/src/Button/index.native.tsx
  • packages/ui/src/Button/index.web.jsx
  • packages/ui/src/DataTable/index.native.tsx
  • packages/ui/src/DataTable/index.web.jsx
  • packages/ui/src/DatePicker/index.web.jsx
  • packages/ui/src/Drawer/index.web.jsx
  • packages/ui/src/Dropdown/index.web.jsx
  • packages/ui/src/FAB/index.web.jsx
  • packages/ui/src/LargeTitleHeader/index.web.jsx
  • packages/ui/src/SearchField/index.native.tsx
  • packages/ui/src/SearchField/index.web.jsx
  • packages/ui/src/Snackbar/index.web.jsx
  • packages/ui/src/SwipeRow/index.web.jsx
  • packages/ui/src/TabBar/index.web.jsx
  • packages/ui/src/TextField/index.native.tsx
  • packages/ui/src/TextField/index.web.jsx
  • packages/ui/src/TopAppBar/index.web.jsx
  • packages/ui/src/WheelPicker/index.web.jsx
  • packages/ui/src/lib/anchorPopover.web.js
  • packages/ui/src/tokens/index.ts
  • playwright.config.ts
  • tests/e2e/car-production-buildout.spec.ts
  • tests/e2e/material-hold-release.spec.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.17.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

# Conflicts:
#	CHANGELOG.md
#	backend/config/version.php
@jakub-przepiora
jakub-przepiora merged commit 8ef5a28 into main Jul 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants