mirror of
https://github.com/haexhub/haex-hub.git
synced 2025-12-16 14:10:52 +01:00
This update migrates desktop grid settings from localStorage to the database and introduces a comprehensive device management system. Features: - New haex_devices table for device identification and naming - Device-specific settings with foreign key relationships - Preset-based icon sizes (Small, Medium, Large, Extra Large) - Grid positioning improvements to prevent dragging behind PageHeader - Dynamic icon sizing based on database settings Database Changes: - Created haex_devices table with deviceId (UUID) and name columns - Modified haex_settings to include device_id FK and updated unique constraint - Migration 0002_loose_quasimodo.sql for schema changes Technical Improvements: - Replaced arbitrary icon size slider (60-200px) with preset system - Icons use actual measured dimensions for proper grid centering - Settings sync on vault mount for cross-device consistency - Proper bounds checking during icon drag operations Bump version to 0.1.7
140 lines
3.2 KiB
JSON
140 lines
3.2 KiB
JSON
{
|
|
"haex": {
|
|
"settings": {
|
|
"name": "haex_settings",
|
|
"columns": {
|
|
"id": "id",
|
|
"deviceId": "device_id",
|
|
"key": "key",
|
|
"type": "type",
|
|
"value": "value",
|
|
|
|
"haexTimestamp": "haex_timestamp"
|
|
}
|
|
},
|
|
"extensions": {
|
|
"name": "haex_extensions",
|
|
"columns": {
|
|
"id": "id",
|
|
"author": "author",
|
|
"description": "description",
|
|
"entry": "entry",
|
|
"homepage": "homepage",
|
|
"enabled": "enabled",
|
|
"icon": "icon",
|
|
"name": "name",
|
|
"public_key": "public_key",
|
|
"signature": "signature",
|
|
"url": "url",
|
|
"version": "version",
|
|
|
|
"haexTimestamp": "haex_timestamp"
|
|
}
|
|
},
|
|
"extension_permissions": {
|
|
"name": "haex_extension_permissions",
|
|
"columns": {
|
|
"id": "id",
|
|
"extensionId": "extension_id",
|
|
"resourceType": "resource_type",
|
|
"action": "action",
|
|
"target": "target",
|
|
"constraints": "constraints",
|
|
"status": "status",
|
|
"createdAt": "created_at",
|
|
"updateAt": "updated_at",
|
|
|
|
"haexTimestamp": "haex_timestamp"
|
|
}
|
|
},
|
|
"notifications": {
|
|
"name": "haex_notifications",
|
|
"columns": {
|
|
"id": "id",
|
|
"alt": "alt",
|
|
"date": "date",
|
|
"icon": "icon",
|
|
"image": "image",
|
|
"read": "read",
|
|
"source": "source",
|
|
"text": "text",
|
|
"title": "title",
|
|
"type": "type",
|
|
|
|
"haexTimestamp": "haex_timestamp"
|
|
}
|
|
},
|
|
"workspaces": {
|
|
"name": "haex_workspaces",
|
|
"columns": {
|
|
"id": "id",
|
|
"deviceId": "device_id",
|
|
"name": "name",
|
|
"position": "position",
|
|
"createdAt": "created_at",
|
|
|
|
"haexTimestamp": "haex_timestamp"
|
|
}
|
|
},
|
|
"desktop_items": {
|
|
"name": "haex_desktop_items",
|
|
"columns": {
|
|
"id": "id",
|
|
"workspaceId": "workspace_id",
|
|
"itemType": "item_type",
|
|
"extensionId": "extension_id",
|
|
"systemWindowId": "system_window_id",
|
|
"positionX": "position_x",
|
|
"positionY": "position_y",
|
|
|
|
"haexTimestamp": "haex_timestamp"
|
|
}
|
|
},
|
|
"devices": {
|
|
"name": "haex_devices",
|
|
"columns": {
|
|
"id": "id",
|
|
"deviceId": "device_id",
|
|
"name": "name",
|
|
"createdAt": "created_at",
|
|
"updatedAt": "updated_at",
|
|
|
|
"haexTimestamp": "haex_timestamp"
|
|
}
|
|
},
|
|
|
|
"crdt": {
|
|
"logs": {
|
|
"name": "haex_crdt_logs",
|
|
"columns": {
|
|
"id": "id",
|
|
"haexTimestamp": "haex_timestamp",
|
|
"tableName": "table_name",
|
|
"rowPks": "row_pks",
|
|
"opType": "op_type",
|
|
"columnName": "column_name",
|
|
"newValue": "new_value",
|
|
"oldValue": "old_value"
|
|
}
|
|
},
|
|
"snapshots": {
|
|
"name": "haex_crdt_snapshots",
|
|
"columns": {
|
|
"snapshotId": "snapshot_id",
|
|
"created": "created",
|
|
"epochHlc": "epoch_hlc",
|
|
"locationUrl": "location_url",
|
|
"fileSizeBytes": "file_size_bytes"
|
|
}
|
|
},
|
|
"configs": {
|
|
"name": "haex_crdt_configs",
|
|
"columns": {
|
|
"key": "key",
|
|
"value": "value"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|