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
|
6245fc4573
|
fix(magic): real MDM supervised state, mdmId matching, MDM status for unknown USB devices
|
2026-06-17 23:47:33 +02:00 |
|
chahinebrini
|
b87ec08431
|
feat(mdm): remove mdm_lock type, derive lockProfileInstalled from nefilter state
|
2026-06-17 22:32:40 +02:00 |
|
chahinebrini
|
4ee6849f3f
|
feat(backend): add cooldown and cancel-cooldown endpoints
|
2026-06-16 20:24:57 +02:00 |
|
chahinebrini
|
77edd67cbe
|
fix(magic): explicit imports + staging defaults + sheet height
- backend/api/magic/register: explicit import of MAGIC_DEVICE_LIMIT
and createAdGuardClient (Nitro auto-import was missing them
→ ReferenceError → HTTP 500 on /api/magic/register)
- mac-app: default backendBaseUrl falls back to staging.rebreak.org
(app.rebreak.org serves wrong TLS cert)
- native MagicSheet: fallback download/dmg URLs point to staging
- native settings: Magic sheet capped at detents=[0.85] so AppHeader
stays visible
- bundles all in-flight Magic feature work (pair create/redeem,
device endpoints, schema, adguard utils, mac-app, locales)
|
2026-06-03 08:25:02 +02:00 |
|
chahinebrini
|
c1edef8abd
|
feat(magic): RebreakMagic device-binding + DNS profile
- backend: /api/magic/{register,devices,profile,release} + AdGuard provisioning + 24h cooldown
- prisma: magic_binding_fields migration (additive on UserDevice)
- mac-app: Phase 2 - Login + MacRegistration + Profile install
- marketing: landing section + /download/rebreakmagic + DMG
- lyra: forbidden phrases + RebreakMagic coach guidance
|
2026-06-02 09:15:19 +02:00 |
|