-
e20b21e0ef
feat(mdm): healthcheck sends ProfileList, disables nefilter when lock profile missing; cfgutil fallback in Magic App
main
chahinebrini
2026-06-18 14:21:45 +02:00
-
33df768702
Merge branch 'main' of https://git.rebreak.org/chahine/rebreak-monorepo
chahinebrini
2026-06-18 10:41:14 +02:00
-
-
afa4ff1f7b
docs: add CI/CD workflow and vitest pipeline integration docs
chahinebrini
2026-06-18 10:41:02 +02:00
-
cc613848ff
Merge pull request 'ci: integrate backend vitest tests into woodpecker pipeline' (#1) from vitest-pipeline-integration into main
chahine
2026-06-18 08:36:14 +00:00
-
-
2486b686db
ci: run nitro prepare and tests in single backend directory command
chahinebrini
2026-06-18 10:32:19 +02:00
-
45606d10c7
ci: generate nitro types before running backend tests
chahinebrini
2026-06-18 10:28:19 +02:00
-
ad94a99a50
ci: run backend tests in woodpecker pipeline
chahinebrini
2026-06-18 10:22:09 +02:00
-
b9c48dfd63
test: update stale comments in test fixes
chahinebrini
2026-06-18 10:19:48 +02:00
-
21ac150685
test: add reframe pattern to JB-002 mock response
chahinebrini
2026-06-18 10:12:41 +02:00
-
eb3fb129e9
test: update mail classifier score expectations
chahinebrini
2026-06-18 10:12:37 +02:00
-
057c6533af
test: align voice quota tests with pro plan limits
chahinebrini
2026-06-18 10:12:33 +02:00
-
8a24ee890d
test: add domainSubmission mock to profile-counts tests
chahinebrini
2026-06-18 10:12:29 +02:00
-
-
c477b300ad
feat(ios): Extensions melden Protection-State ans Backend
chahinebrini
2026-06-18 09:42:18 +02:00
-
b0a7091ac7
feat(backend): /api/protection/event akzeptiert Extension-Secret
chahinebrini
2026-06-18 09:38:05 +02:00
-
a7ac5545ae
fix(magic): entferne reportDeviceProtectionState aus Lock-Profil-Flow
chahinebrini
2026-06-18 09:22:41 +02:00
-
97f8d593a5
feat(protection): /api/protection/event aktualisiert device_protection_states
chahinebrini
2026-06-18 09:10:33 +02:00
-
45d7981680
Clean up webhook test marker
chahinebrini
2026-06-18 08:49:28 +02:00
-
35fa161803
Test Gitea webhook deploy
chahinebrini
2026-06-18 08:47:16 +02:00
-
97206b7865
Support Gitea webhooks in deploy listener
chahinebrini
2026-06-18 08:46:20 +02:00
-
2475c082de
Use HTTPS for Gitea fetch on staging server
chahinebrini
2026-06-18 08:35:46 +02:00
-
b04c4d1c93
fix(magic): melde Lock-Profil ans Backend und zeige 'Voller Schutz aktiv'
chahinebrini
2026-06-18 08:34:45 +02:00
-
4e60081be9
Test Gitea-based deploy
chahinebrini
2026-06-18 08:32:01 +02:00
-
9044bd036e
Clean up Woodpecker pipeline comments
chahinebrini
2026-06-18 08:28:49 +02:00
-
a5581cf077
Fix admin deploy host key check
chahinebrini
2026-06-18 08:26:26 +02:00
-
92ab26605f
feat(magic): inline Lock-Profil via QR-Code + lokaler Server
chahinebrini
2026-06-18 08:24:57 +02:00
-
5404f6676b
Retrigger deploy with correct docker volume env
chahinebrini
2026-06-18 08:23:40 +02:00
-
6cd484ee57
Use WOODPECKER_VOLUME for SSH key mount
chahinebrini
2026-06-18 08:19:57 +02:00
-
ff4511e9c8
Mount host SSH key into deploy containers
chahinebrini
2026-06-18 08:15:54 +02:00
-
a4ac5cf058
chore: remove accidentally added embedded repo
chahinebrini
2026-06-18 08:13:45 +02:00
-
ee5f71a8df
fix(magic): send MDM enqueue commands as plist XML to NanoMDM; inline lock profile
chahinebrini
2026-06-18 08:13:33 +02:00
-
4064b8d975
Use mounted SSH key for deploy steps
chahinebrini
2026-06-18 08:13:07 +02:00
-
1e66c512f1
Clean up Woodpecker pipeline
chahinebrini
2026-06-18 08:08:40 +02:00
-
681356f0e9
Retrigger pipeline after secret fix
chahinebrini
2026-06-18 07:55:49 +02:00
-
bbe2415757
chore: remove accidentally added embedded repo
chahinebrini
2026-06-18 07:55:38 +02:00
-
1878f6d10e
feat(magic): continue to lock profile after enrollment, check icon, push fallback
chahinebrini
2026-06-18 07:55:27 +02:00
-
53f5b2a2f1
Add debug output for deploy key
chahinebrini
2026-06-18 07:52:49 +02:00
-
3db9dd9326
Decode deploy key from base64 in pipeline
chahinebrini
2026-06-18 07:45:43 +02:00
-
57b9b3a567
Use alpine:3.21 for deploy steps to fix OpenSSH key format
chahinebrini
2026-06-18 07:41:40 +02:00
-
f83e5bf914
Remove broken submodule entry
chahinebrini
2026-06-18 07:38:07 +02:00
-
6b1583efdc
Remove broken submodule entry and ignore local research folder
chahinebrini
2026-06-18 07:37:12 +02:00
-
b6ee2e9004
Trigger Woodpecker pipeline
chahinebrini
2026-06-18 07:35:09 +02:00
-
da4a94da49
chore: remove accidentally added embedded repo
chahinebrini
2026-06-18 07:25:51 +02:00
-
c6035b97d9
feat(magic): inline enrollment in device card, remove preflight, align flag order
chahinebrini
2026-06-18 07:25:43 +02:00
-
abeb1462f4
Add Woodpecker CI pipeline for staging deploys
chahinebrini
2026-06-18 07:24:35 +02:00
-
709f8cb32e
chore: remove accidentally added embedded repo
chahinebrini
2026-06-18 07:10:27 +02:00
-
e6fad4f51e
fix(magic): always show supervised + lock profile true/false; company from exists
chahinebrini
2026-06-18 07:10:12 +02:00
-
dd84f8ec38
fix(backend): mdm.get must use status.enrolled, not hardcoded true
chahinebrini
2026-06-18 06:47:05 +02:00
-
0efdf2f8f1
fix(magic): show complete protection button for known disenrolled devices
chahinebrini
2026-06-18 06:28:04 +02:00
-
e14a36f95a
fix(backend): keep mdmId when device exists but is disenrolled; add exists flag
chahinebrini
2026-06-18 06:28:03 +02:00
-
bb8e0d3f62
fix(backend): mdm.get always returns full status shape even when not enrolled
chahinebrini
2026-06-18 06:10:33 +02:00
-
ac7bd800bc
fix(magic): inline iPhone search in device card instead of detect page
chahinebrini
2026-06-18 06:03:04 +02:00
-
5117c7b37c
fix(backend): getMdmStatusByUdid must check enrollments.enabled
chahinebrini
2026-06-18 06:03:01 +02:00
-
2919ce45b8
feat(magic): sync current ReBreak Magic app state
chahinebrini
2026-06-18 05:23:26 +02:00
-
b9dddc00e7
ci: remove temporary test workflows
chahinebrini
2026-06-18 05:17:33 +02:00
-
cb6dd0555a
fix(magic): show backend MDM status even when iPhone is not connected via USB
chahinebrini
2026-06-18 05:16:22 +02:00
-
c1f5f5804d
ci: add temporary ubuntu test workflow
chahinebrini
2026-06-18 05:09:29 +02:00
-
7d76c5168b
ci: add temporary runner test workflow
chahinebrini
2026-06-18 05:03:00 +02:00
-
85cadd19a0
ci: use self-hosted runner raynis-builder for backend and admin deploys
chahinebrini
2026-06-18 04:58:21 +02:00
-
c8f5bfc82e
fix(backend): make user_devices migration idempotent for fresh DBs
chahinebrini
2026-06-18 04:04:05 +02:00
-
7bf26a3138
test(backend): add unit tests for MDM health-check DB helpers
chahinebrini
2026-06-18 03:47:24 +02:00
-
15b4441deb
feat(backend): add MDM health check cron
chahinebrini
2026-06-18 03:38:30 +02:00
-
74784fc4da
feat(backend): add bulk MDM health status helpers
chahinebrini
2026-06-18 03:33:20 +02:00
-
b107262d60
feat(mdm): add NanoMDM health columns migration for UserDevice
chahinebrini
2026-06-18 03:25:09 +02:00
-
9065543b5a
feat(backend): extend UserDevice with MDM health columns
chahinebrini
2026-06-18 03:11:50 +02:00
-
943efe4b45
fix(backend): remove hardwareId references, use deviceId only
chahinebrini
2026-06-18 00:06:39 +02:00
-
a60def33d9
Merge feat/magic-ios-section into main
chahinebrini
2026-06-17 23:51:29 +02:00
-
-
6245fc4573
fix(magic): real MDM supervised state, mdmId matching, MDM status for unknown USB devices
chahinebrini
2026-06-17 23:47:33 +02:00
-
75d1b06105
feat(magic): iOS device card warning badge, USB hint, split backend/local cards and auto-sync
chahinebrini
2026-06-17 23:32:41 +02:00
-
b87ec08431
feat(mdm): remove mdm_lock type, derive lockProfileInstalled from nefilter state
chahinebrini
2026-06-17 22:32:40 +02:00
-
5b0a4d03d2
feat(magic): identify current device via hardwareId, migrate existing devices
chahinebrini
2026-06-17 17:18:40 +02:00
-
e4b28be5be
feat(magic): dedicated iOS section in dashboard with on-demand sync
chahinebrini
2026-06-17 07:44:24 +02:00
-
-
48af756a86
tmp(magic): debug logging for current device matching
chahinebrini
2026-06-17 03:19:10 +02:00
-
10ca1c4bc5
tmp(backend): debug bypass code 000000 -> charioanouar session
chahinebrini
2026-06-17 03:13:36 +02:00
-
b829f9ba3e
fix(magic): match current device by session deviceId, remove confusing overall status card
chahinebrini
2026-06-17 03:06:38 +02:00
-
4c46ac69c9
fix(magic): remove device-release from Magic sheet, Magic does not remove devices
chahinebrini
2026-06-17 02:59:05 +02:00
-
81c516b831
fix(magic): robust hostname matching for current device detection
chahinebrini
2026-06-17 02:52:00 +02:00
-
6b44fb2927
chore(prisma): add migration_lock.toml for deploy
chahinebrini
2026-06-17 02:38:44 +02:00
-
026c319b30
fix(magic): robust device parsing, dashboard only protects current device
chahinebrini
2026-06-17 02:29:35 +02:00
-
37f3173539
chore: add scripts/dev.sh for local app dev against server
chahinebrini
2026-06-16 22:05:53 +02:00
-
2f1d5ec83c
fix(magic): use solid heroicon for star rating
chahinebrini
2026-06-16 20:55:25 +02:00
-
298a0089bb
feat(magic): redesign status dashboard with hero cards and device sheet
chahinebrini
2026-06-16 20:53:39 +02:00
-
b5e89b5973
feat(magic): add DeviceDetailSheet component
chahinebrini
2026-06-16 20:49:39 +02:00
-
0258c818f3
feat(magic): add DeviceHeroCard and DeviceListItem components
chahinebrini
2026-06-16 20:45:43 +02:00
-
118269a8c9
feat(magic): add IosStarRating and CooldownCountdown components
chahinebrini
2026-06-16 20:42:59 +02:00
-
8953e1f7d6
feat(magic): add useDeviceStatus composable
chahinebrini
2026-06-16 20:39:35 +02:00
-
8f5e34ae67
feat(magic): expose cooldown commands and extend device types
chahinebrini
2026-06-16 20:33:38 +02:00
-
97977011ae
feat(backend): include status, cooldownUntil, lastSeenAt and sleep flag
chahinebrini
2026-06-16 20:28:21 +02:00
-
4ee6849f3f
feat(backend): add cooldown and cancel-cooldown endpoints
chahinebrini
2026-06-16 20:21:00 +02:00
-
b9bd577e47
feat(backend): add magicCooldownUntil to UserDevice
chahinebrini
2026-06-16 20:13:23 +02:00
-
1a270739bc
feat(coach): Lyra-LLM auf direkten Anthropic Haiku 4.5 + SOS-Fallback-Kette; ElevenLabs reaktiviert
chahinebrini
2026-06-11 22:41:59 +02:00
-
21c1e31877
docs(diga): Nacht-Session — Eval-Records, Akte 10/11, Magic-Scope-Entscheidung
chahinebrini
2026-06-11 06:36:33 +02:00
-
444688b6e9
test(eval): Concurrency-Limit + 429-Retry für Lyra-Eval-Suite
chahinebrini
2026-06-11 06:36:32 +02:00
-
2c33ba55a4
fix(backend): username (Login-Identifikator) aus öffentlichen Payloads entfernt
chahinebrini
2026-06-11 06:36:16 +02:00
-
63fae25531
fix(android-protection): explicit specialUse FGS type — Samsung/Android 16 crash loop
chahinebrini
2026-06-10 22:33:28 +02:00
-
df3c4fafa3
fix(mail): force full-sweep on idle-daemon recovery (cold-start + downtime>5min)
chahinebrini
2026-06-10 21:58:00 +02:00
-
8697fee2e8
fix(deploy): warte auf Backend-Port 3016 vor idle-Daemon-Restart
chahinebrini
2026-06-10 15:47:24 +02:00
-
7ce5e58f8d
fix(backend): fix imapflow bundling — inline-Funktion statt fragiler Regex
chahinebrini
2026-06-10 15:35:52 +02:00
-
c4fe7d356f
fix(rebreak-native): iOS app-lock freeze (Face ID stuck, needs hard-quit)
chahinebrini
2026-06-10 15:11:12 +02:00
-
adb686d9a3
ci(deploy-staging): bump Node heap to 4GB for nitro build (fix OOM)
chahinebrini
2026-06-10 15:06:34 +02:00
-
1493752634
fix(backend): IMAP ECONNRESET crash-loop + dm-push ESM interop
chahinebrini
2026-06-10 14:59:37 +02:00