fix(groups): eliminacion total de sondeo periodico manteniendo arquitectura reactiva mercure (v1.24.5)
parent
ac1efaa08a
commit
5257e9e63e
16
CHANGELOG.md
16
CHANGELOG.md
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "og-webconsole",
|
||||
"version": "1.24.4",
|
||||
"version": "1.24.5",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue