fix(groups): eliminacion total de sondeo periodico manteniendo arquitectura reactiva mercure (v1.24.5)
oggui-debian-package/pipeline/tag This commit looks good Details
testing/ogGui-multibranch/pipeline/head There was a failure building this commit Details
oggui-debian-package/pipeline/head This commit looks good Details

main
Juan Manuel Bardallo 2026-10-30 20:16:37 +01:00
parent ac1efaa08a
commit 5257e9e63e
3 changed files with 10 additions and 17 deletions

View File

@ -1,19 +1,19 @@
# Changelog
## [1.24.4] - 2026-10-30
## [1.24.5] - 2026-10-30
### Changed
- **Estandarización de Metadatos (`remaining_minutes`)**:
- Simplificado el procesado de metadatos de plugins para consumir directamente la clave unificada `remaining_minutes` (snake_case), manteniendo compatibilidad defensiva limpia (`??`).
### Removed
- **Eliminación Total de Sondeo Periódico (`GroupsComponent`)**:
- Retirado el temporizador `interval(30000)` en `GroupsComponent`. La arquitectura se mantiene 100% reactiva exclusivamente mediante los eventos push de Mercure (SSE), evitando cualquier sobrecarga innecesaria en el servidor.
## [1.24.4] - 2026-10-30
## [1.24.3] - 2026-10-30
### Fixed
- **Sincronización Recíproca de Metadatos y Auto-Conexión Mercure (`PluginService`, `GroupsComponent`)**:
- Solucionado el fallo de actualización del tiempo restante en vivo: `meta.remaining_minutes` (snake_case fijado en la carga inicial HTTP) bloqueaba la lectura de las actualizaciones reactivas de Mercure emitidas en camelCase (`remainingMinutes`).
- `setPluginMetadata` normaliza y actualiza recíprocamente ambas claves (`remainingMinutes` y `remaining_minutes`) en cada evento recibido.
- **Sincronización de Metadatos y Auto-Conexión Mercure (`PluginService`, `GroupsComponent`)**:
- Solucionado el fallo de actualización del tiempo restante en vivo: `meta.remaining_minutes` bloqueaba la lectura de actualizaciones si los nombres diferían.
- Auto-conexión garantizada de Mercure en `PluginService`: si la URL de Mercure se resuelve de forma asíncrona tras la carga de la configuración, se conecta de manera transparente al solicitar estados o badges.
- Implementado sondeo de seguridad en segundo plano cada 30 segundos en `GroupsComponent` para mantener siempre sincronizados los minutos y badges de plugins ante micro-cortes o reconexiones de SSE.
## [1.24.2] - 2026-10-30

View File

@ -1,6 +1,6 @@
{
"name": "og-webconsole",
"version": "1.24.4",
"version": "1.24.5",
"scripts": {
"ng": "ng",
"start": "ng serve",

View File

@ -9,7 +9,7 @@ import { ToastrService } from 'ngx-toastr';
import { JoyrideService } from 'ngx-joyride';
import { FlatTreeControl } from '@angular/cdk/tree';
import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';
import { Subscription, interval } from 'rxjs';
import { Subscription } from 'rxjs';
import { DataService } from './services/data.service';
import { UnidadOrganizativa, Client, TreeNode, FlatNode, Command } from './model/model';
import { ManageOrganizationalUnitComponent } from './shared/organizational-units/manage-organizational-unit/manage-organizational-unit.component';
@ -278,13 +278,6 @@ export class GroupsComponent implements OnInit, OnDestroy {
this.cd.detectChanges();
})
);
// Sincronización periódica de seguridad cada 30s para refrescar tiempo restante y estado de plugins
this.subscriptions.add(
interval(30000).subscribe(() => {
this.pluginService.loadActivePluginsStatus().subscribe();
})
);
}
private updateClientStatus(clientUuid: string, status: string): void {