Commit Graph

  • 33df768702 Merge branch 'main' of https://git.rebreak.org/chahine/rebreak-monorepo main 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
  • 1f20056ef3 chore(graphify): graph.html untracken (Hook-unmaintainbar bei >5k Knoten), manifest syncen chahinebrini 2026-06-10 13:35:27 +02:00