chahinebrini
2475c082de
Use HTTPS for Gitea fetch on staging server
ci/woodpecker/push/woodpecker Pipeline was successful
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
Build ReBreak Magic Windows / NSIS Installer (x64) (push) Has been cancelled
2026-06-18 08:35:46 +02:00
chahinebrini
b04c4d1c93
fix(magic): melde Lock-Profil ans Backend und zeige 'Voller Schutz aktiv'
...
- Nach lokaler Lock-Profil-Installation wird der Status per reportDeviceProtectionState ans Backend gemeldet
- Backend-Status wird danach neu geladen
- Bei vollständigem Schutz wird 'Voller Schutz aktiv' angezeigt und die Aktion deaktiviert
2026-06-18 08:34:45 +02:00
chahinebrini
4e60081be9
Test Gitea-based deploy
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 08:32:01 +02:00
chahinebrini
9044bd036e
Clean up Woodpecker pipeline comments
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
ci/woodpecker/push/woodpecker Pipeline was successful
2026-06-18 08:28:49 +02:00
chahinebrini
a5581cf077
Fix admin deploy host key check
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
ci/woodpecker/push/woodpecker Pipeline was successful
Build ReBreak Magic Windows / NSIS Installer (x64) (push) Has been cancelled
2026-06-18 08:26:26 +02:00
chahinebrini
92ab26605f
feat(magic): inline Lock-Profil via QR-Code + lokaler Server
...
- Umbau von MDM-Push auf QR-Code-basierte lokale Profil-Installation
- Automatischer Übergang Enrollment → Lock-Profil nach erfolgreichem Scan
- Lokaler Server erlaubt nun mehrere aufeinanderfolgende Profil-Starts
- .sixth/ in .gitignore aufgenommen
2026-06-18 08:24:57 +02:00
chahinebrini
5404f6676b
Retrigger deploy with correct docker volume env
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 08:23:40 +02:00
chahinebrini
6cd484ee57
Use WOODPECKER_VOLUME for SSH key mount
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 08:19:57 +02:00
chahinebrini
ff4511e9c8
Mount host SSH key into deploy containers
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
Build ReBreak Magic Windows / NSIS Installer (x64) (push) Has been cancelled
2026-06-18 08:15:54 +02:00
chahinebrini
a4ac5cf058
chore: remove accidentally added embedded repo
2026-06-18 08:13:45 +02:00
chahinebrini
ee5f71a8df
fix(magic): send MDM enqueue commands as plist XML to NanoMDM; inline lock profile
2026-06-18 08:13:33 +02:00
chahinebrini
4064b8d975
Use mounted SSH key for deploy steps
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 08:13:07 +02:00
chahinebrini
1e66c512f1
Clean up Woodpecker pipeline
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 08:08:40 +02:00
chahinebrini
681356f0e9
Retrigger pipeline after secret fix
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
Build ReBreak Magic Windows / NSIS Installer (x64) (push) Has been cancelled
2026-06-18 07:55:49 +02:00
chahinebrini
bbe2415757
chore: remove accidentally added embedded repo
2026-06-18 07:55:38 +02:00
chahinebrini
1878f6d10e
feat(magic): continue to lock profile after enrollment, check icon, push fallback
2026-06-18 07:55:27 +02:00
chahinebrini
53f5b2a2f1
Add debug output for deploy key
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 07:52:49 +02:00
chahinebrini
3db9dd9326
Decode deploy key from base64 in pipeline
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 07:45:43 +02:00
chahinebrini
57b9b3a567
Use alpine:3.21 for deploy steps to fix OpenSSH key format
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 07:41:40 +02:00
chahinebrini
f83e5bf914
Remove broken submodule entry
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 07:38:07 +02:00
chahinebrini
6b1583efdc
Remove broken submodule entry and ignore local research folder
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 07:37:12 +02:00
chahinebrini
b6ee2e9004
Trigger Woodpecker pipeline
ci/woodpecker/push/woodpecker Pipeline failed
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
Build ReBreak Magic Windows / NSIS Installer (x64) (push) Has been cancelled
2026-06-18 07:35:09 +02:00
chahinebrini
da4a94da49
chore: remove accidentally added embedded repo
2026-06-18 07:25:51 +02:00
chahinebrini
c6035b97d9
feat(magic): inline enrollment in device card, remove preflight, align flag order
2026-06-18 07:25:43 +02:00
chahinebrini
abeb1462f4
Add Woodpecker CI pipeline for staging deploys
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 07:24:35 +02:00
chahinebrini
709f8cb32e
chore: remove accidentally added embedded repo
Deploy Staging / Build backend (Nitro) (push) Has been cancelled
Deploy Staging / Deploy zu Hetzner (push) Has been cancelled
2026-06-18 07:10:27 +02:00
chahinebrini
e6fad4f51e
fix(magic): always show supervised + lock profile true/false; company from exists
2026-06-18 07:10:12 +02:00
chahinebrini
dd84f8ec38
fix(backend): mdm.get must use status.enrolled, not hardcoded true
2026-06-18 06:47:05 +02:00
chahinebrini
0efdf2f8f1
fix(magic): show complete protection button for known disenrolled devices
2026-06-18 06:28:04 +02:00
chahinebrini
e14a36f95a
fix(backend): keep mdmId when device exists but is disenrolled; add exists flag
2026-06-18 06:28:03 +02:00
chahinebrini
bb8e0d3f62
fix(backend): mdm.get always returns full status shape even when not enrolled
2026-06-18 06:10:33 +02:00
chahinebrini
ac7bd800bc
fix(magic): inline iPhone search in device card instead of detect page
2026-06-18 06:03:04 +02:00
chahinebrini
5117c7b37c
fix(backend): getMdmStatusByUdid must check enrollments.enabled
2026-06-18 06:03:01 +02:00
chahinebrini
2919ce45b8
feat(magic): sync current ReBreak Magic app state
...
Include recent Magic app work: Tauri native shell, iOS device detection
via supervise-magic sidecar, MDM client, local HTTP server, new pages
(detect, enroll, supervise, sideload, pair, preflight, configure, done),
and updated device section/status UI.
2026-06-18 05:23:26 +02:00
chahinebrini
b9dddc00e7
ci: remove temporary test workflows
2026-06-18 05:17:33 +02:00
chahinebrini
cb6dd0555a
fix(magic): show backend MDM status even when iPhone is not connected via USB
2026-06-18 05:16:22 +02:00
chahinebrini
c1f5f5804d
ci: add temporary ubuntu test workflow
2026-06-18 05:09:29 +02:00
chahinebrini
7d76c5168b
ci: add temporary runner test workflow
2026-06-18 05:03:00 +02:00
chahinebrini
85cadd19a0
ci: use self-hosted runner raynis-builder for backend and admin deploys
2026-06-18 04:58:21 +02:00
chahinebrini
c8f5bfc82e
fix(backend): make user_devices migration idempotent for fresh DBs
...
Add CREATE TABLE IF NOT EXISTS for rebreak.user_devices to the
hardware_id migration so fresh databases can migrate despite the
alphabetical ordering mismatch with 20260430_add_user_devices.
Also apply Prettier formatting to mdm.ts.
2026-06-18 04:04:05 +02:00
chahinebrini
7bf26a3138
test(backend): add unit tests for MDM health-check DB helpers
2026-06-18 03:53:26 +02:00
chahinebrini
15b4441deb
feat(backend): add MDM health check cron
2026-06-18 03:42:18 +02:00
chahinebrini
74784fc4da
feat(backend): add bulk MDM health status helpers
...
Add MdmEnrollmentStatus, UserDeviceMdmHealthRecord types and helpers:
- getLinkedUserDevices() to load iOS devices with NanoMDM UDIDs
- getMdmEnrollmentStatusesByUdids() for bulk NanoMDM lookups
- updateUserDeviceMdmHealth() to mirror status on UserDevice
Also fix PoolConfig option casing: queryTimeout -> query_timeout.
2026-06-18 03:36:13 +02:00
chahinebrini
b107262d60
feat(mdm): add NanoMDM health columns migration for UserDevice
...
Adds mdm_id, mdm_enrolled, mdm_supervised, mdm_last_seen_at and an
index on mdm_id. Uses IF NOT EXISTS to stay idempotent because mdm_id
was added manually before the migration was created.
2026-06-18 03:29:30 +02:00
chahinebrini
9065543b5a
feat(backend): extend UserDevice with MDM health columns
...
Add mirrored NanoMDM enrollment, supervision and last-seen fields
(mdm_enrolled, mdm_supervised, mdm_last_seen_at) to UserDevice model.
Migration will follow in a separate task.
2026-06-18 03:15:09 +02:00
chahinebrini
943efe4b45
fix(backend): remove hardwareId references, use deviceId only
2026-06-18 00:06:39 +02:00
chahinebrini
a60def33d9
Merge feat/magic-ios-section into main
2026-06-17 23:51:29 +02:00
chahinebrini
6245fc4573
fix(magic): real MDM supervised state, mdmId matching, MDM status for unknown USB devices
2026-06-17 23:47:33 +02:00
chahinebrini
75d1b06105
feat(magic): iOS device card warning badge, USB hint, split backend/local cards and auto-sync
2026-06-17 23:32:41 +02:00
chahinebrini
b87ec08431
feat(mdm): remove mdm_lock type, derive lockProfileInstalled from nefilter state
2026-06-17 22:32:40 +02:00