Remove all migration logic, scroll tutorial targets into view, mock URL uses device ID
- Remove legacy migration code: profiles→automations key fallbacks, segments array
fallback, standby_interval compat, profile_id compat, wled→led type mapping,
legacy calibration field, audio CSS migration, default template migration,
loadTargets alias, wled sub-tab mapping
- Scroll tutorial step targets into view when off-screen
- Mock device URL changed from mock://{led_count} to mock://{device_id},
hide mock URL badge on device cards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,9 +56,8 @@ class PictureTarget:
|
||||
@classmethod
|
||||
def from_dict(cls, data: dict) -> "PictureTarget":
|
||||
"""Create from dictionary, dispatching to the correct subclass."""
|
||||
target_type = data.get("target_type", "wled")
|
||||
# "wled" and "led" both map to WledPictureTarget (backward compat)
|
||||
if target_type in ("wled", "led"):
|
||||
target_type = data.get("target_type", "led")
|
||||
if target_type == "led":
|
||||
from wled_controller.storage.wled_picture_target import WledPictureTarget
|
||||
return WledPictureTarget.from_dict(data)
|
||||
if target_type == "key_colors":
|
||||
|
||||
Reference in New Issue
Block a user