From 4e01efd64c3156ce0515220aa8dfa7bd4f01fc25 Mon Sep 17 00:00:00 2001 From: Maksym Tsymbarov Date: Fri, 6 Feb 2026 17:36:44 +0200 Subject: [PATCH 1/4] Fixed Redirect Url encoding --- ui-ngx/src/app/modules/login/pages/login/login.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-ngx/src/app/modules/login/pages/login/login.component.ts b/ui-ngx/src/app/modules/login/pages/login/login.component.ts index afe029791b..5f83872261 100644 --- a/ui-ngx/src/app/modules/login/pages/login/login.component.ts +++ b/ui-ngx/src/app/modules/login/pages/login/login.component.ts @@ -78,7 +78,7 @@ export class LoginComponent extends PageComponent implements OnInit { getOAuth2Uri(oauth2Client: OAuth2ClientLoginInfo): string { let result = ""; if (this.authService.redirectUrl) { - result += "?prevUri=" + this.authService.redirectUrl; + result += "?prevUri=" + encodeURIComponent(this.authService.redirectUrl); } return oauth2Client.url + result; } From 6380a5d9c73a85761d7aa1eda9911acc358c06cd Mon Sep 17 00:00:00 2001 From: Maksym Tsymbarov Date: Thu, 5 Feb 2026 14:46:42 +0200 Subject: [PATCH 2/4] Fixed Popover placement for Marker, Polygon and Circle overlay config --- .../settings/common/map/marker-image-settings.component.ts | 5 +++-- .../common/map/shape-fill-image-settings.component.ts | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/marker-image-settings.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/marker-image-settings.component.ts index 6da6c809e0..989e9ef0c7 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/marker-image-settings.component.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/marker-image-settings.component.ts @@ -82,11 +82,12 @@ export class MarkerImageSettingsComponent implements ControlValueAccessor { renderer: this.renderer, componentType: MarkerImageSettingsPanelComponent, hostView: this.viewContainerRef, - preferredPlacement: 'left', + preferredPlacement: 'leftOnly', context: { markerImageSettings: this.modelValue, }, - isModal: true + isModal: true, + overlayStyle: {padding: '10px'} }); markerImageSettingsPanelPopover.tbComponentRef.instance.popover = markerImageSettingsPanelPopover; markerImageSettingsPanelPopover.tbComponentRef.instance.markerImageSettingsApplied.subscribe((markerImageSettings) => { diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/shape-fill-image-settings.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/shape-fill-image-settings.component.ts index 5c9bbb260f..74f4ddd1eb 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/shape-fill-image-settings.component.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/common/map/shape-fill-image-settings.component.ts @@ -82,11 +82,12 @@ export class ShapeFillImageSettingsComponent implements ControlValueAccessor { renderer: this.renderer, componentType: ShapeFillImageSettingsPanelComponent, hostView: this.viewContainerRef, - preferredPlacement: 'left', + preferredPlacement: 'leftOnly', context: { shapeFillImageSettings: this.modelValue, }, - isModal: true + isModal: true, + overlayStyle: {padding: '10px'} }).tbComponentRef.instance.shapeFillImageSettingsApplied.subscribe((shapeFillImageSettings) => { this.modelValue = shapeFillImageSettings; this.propagateChange(this.modelValue); From 685bddbf8def902734367c7c11b74ea94e97e1be Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Tue, 10 Feb 2026 16:17:15 +0200 Subject: [PATCH 3/4] UI: Fixed ngx-hm-carousel after migration to Angular 20 --- ui-ngx/patches/ngx-hm-carousel+19.0.0.patch | 31 +++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 ui-ngx/patches/ngx-hm-carousel+19.0.0.patch diff --git a/ui-ngx/patches/ngx-hm-carousel+19.0.0.patch b/ui-ngx/patches/ngx-hm-carousel+19.0.0.patch new file mode 100644 index 0000000000..0dfee707e1 --- /dev/null +++ b/ui-ngx/patches/ngx-hm-carousel+19.0.0.patch @@ -0,0 +1,31 @@ +diff --git a/node_modules/ngx-hm-carousel/fesm2022/ngx-hm-carousel.mjs b/node_modules/ngx-hm-carousel/fesm2022/ngx-hm-carousel.mjs +index 117f782..70e49a7 100644 +--- a/node_modules/ngx-hm-carousel/fesm2022/ngx-hm-carousel.mjs ++++ b/node_modules/ngx-hm-carousel/fesm2022/ngx-hm-carousel.mjs +@@ -1,5 +1,5 @@ + import * as i0 from '@angular/core'; +-import { Directive, inject, ViewContainerRef, TemplateRef, input, PLATFORM_ID, DestroyRef, Renderer2, NgZone, ChangeDetectorRef, viewChild, ElementRef, contentChildren, contentChild, computed, signal, effect, forwardRef, Component, ChangeDetectionStrategy } from '@angular/core'; ++import { Directive, inject, ViewContainerRef, TemplateRef, input, PLATFORM_ID, DestroyRef, Renderer2, NgZone, ChangeDetectorRef, viewChild, ElementRef, contentChildren, contentChild, computed, signal, effect, forwardRef, Component, ChangeDetectionStrategy, afterNextRender } from '@angular/core'; + import { DOCUMENT, isPlatformBrowser, NgTemplateOutlet, AsyncPipe } from '@angular/common'; + import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop'; + import { NG_VALUE_ACCESSOR } from '@angular/forms'; +@@ -340,7 +340,7 @@ class NgxHmCarouselComponent { + }); + }); + }); +- const effectRef = effect(() => { ++ afterNextRender(() => { + this.rootElm = this.container().nativeElement; + this.containerElm = this.rootElm.children[0]; + this.init(); +@@ -365,10 +365,6 @@ class NgxHmCarouselComponent { + ]) + .pipe(takeUntilDestroyed(this._destroyRef)) + .subscribe(); +- // only exec once +- effectRef.destroy(); +- }, { +- allowSignalWrites: true, + }); + } + ngOnDestroy() { From 95d07fc626473163eaaed9c6ea286ef6bad7d8d4 Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Tue, 10 Feb 2026 18:27:33 +0200 Subject: [PATCH 4/4] UI: Fixed minor bug after migration to Angular 20 --- .../modules/home/pages/mobile/common/editor-panel.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-ngx/src/app/modules/home/pages/mobile/common/editor-panel.component.ts b/ui-ngx/src/app/modules/home/pages/mobile/common/editor-panel.component.ts index 9f2e850b53..dbc1a5d9c8 100644 --- a/ui-ngx/src/app/modules/home/pages/mobile/common/editor-panel.component.ts +++ b/ui-ngx/src/app/modules/home/pages/mobile/common/editor-panel.component.ts @@ -48,7 +48,7 @@ export class EditorPanelComponent implements OnInit { tinyMceOptions: Partial = { base_url: '/assets/tinymce', suffix: '.min', - plugins: ['link', 'table', 'image', 'imagetools', 'lists', 'fullscreen'], + plugins: ['link', 'table', 'image', 'lists', 'fullscreen'], menubar: 'edit insert view format', toolbar: ['fontfamily fontsize | bold italic underline strikethrough forecolor backcolor', 'alignleft aligncenter alignright alignjustify | bullist | link table image | fullscreen'],