feat: автосинхронизация компонентов для новых пользователей и Support Bundle
- Воркер теперь запускает SyncComponents при пустой local_components, чтобы новый пользователь получил каталог компонентов без ручного действия - Результат синхронизации компонентов персистируется в app_settings (last_component_sync_status/error/attempt_at) по аналогии с прайслистами - Добавлен эндпоинт GET /api/support-bundle: скачивает ZIP с диагностикой (app_info, local_db_stats, db_connection с TCP-пингом, sync_readiness, system_metrics с памятью и диском, schema_migrations, app.log) - Кнопка-иконка в шапке рядом с юзернеймом для скачивания бандла Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -80,6 +80,11 @@ func (w *Worker) runSync() {
|
||||
return
|
||||
}
|
||||
|
||||
// Populate component catalog on first run (empty local_components)
|
||||
if err := w.service.SyncComponentsIfEmpty(); err != nil {
|
||||
w.logger.Warn("background sync: initial component sync failed", "error", err)
|
||||
}
|
||||
|
||||
// Push pending changes first
|
||||
pushed, err := w.service.PushPendingChanges()
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user