From 3c1481d1471ccac5be14b74a595fe1fb4e3887f2 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Wed, 20 May 2026 08:54:22 +0200 Subject: [PATCH 01/10] Remove first Error from Console, to be reverted due to translation PR --- .../components/account-button/account-button.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts index e675251346..e2b2951e88 100644 --- a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts +++ b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts @@ -224,6 +224,6 @@ export class AccountButtonComponent extends BaseUiComponent implements OnInit { } else { stringForUserPresent = this.translate.instant(`Account of {} is not in this Meeting`); } - return stringForUserPresent.replace(`{}`, this.user.short_name); + return stringForUserPresent; } } From ed7bac9a233f696a65d44b38a6abb4133e110898 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Wed, 20 May 2026 10:09:46 +0200 Subject: [PATCH 02/10] Prevent Error from operator service 'cannot read this.operator is null' --- client/src/app/site/services/operator.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/site/services/operator.service.ts b/client/src/app/site/services/operator.service.ts index 755a84d527..fd8a4be799 100644 --- a/client/src/app/site/services/operator.service.ts +++ b/client/src/app/site/services/operator.service.ts @@ -411,7 +411,7 @@ export class OperatorService { public isInMeeting(meetingId: Id): boolean { const meeting = this.meetingRepo.getViewModel(meetingId); - return (meeting?.enable_anonymous && this.isAnonymous) || this.user.ensuredMeetingIds.includes(meetingId); + return (meeting?.enable_anonymous && this.isAnonymous) || this.user?.ensuredMeetingIds.includes(meetingId); } public hasCommitteeManagementRights(committee_id: number): boolean { From 9cf5d6ba20c6378b5fbbfa532dd0a6508452f8c2 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Wed, 20 May 2026 10:20:24 +0200 Subject: [PATCH 03/10] Add ? to all this.user in operator service --- client/src/app/site/services/operator.service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/app/site/services/operator.service.ts b/client/src/app/site/services/operator.service.ts index fd8a4be799..05c5cd5f3d 100644 --- a/client/src/app/site/services/operator.service.ts +++ b/client/src/app/site/services/operator.service.ts @@ -122,7 +122,7 @@ export class OperatorService { } public get onlyMeeting(): Id { - return this.user.onlyMeeting; + return this.user?.onlyMeeting; } public get canChangeOwnPassword(): boolean { @@ -643,7 +643,7 @@ export class OperatorService { ) { return true; } - const groups = this.user.groups(meetingId); + const groups = this.user?.groups(meetingId); if (!groups || !groups.length) { return false; } else if ( @@ -657,7 +657,7 @@ export class OperatorService { public isAllowedWithDelegation(...appliedSettings: DelegationSetting[]): boolean { return ( - !this.user.getMeetingUser(this.activeMeetingId)?.vote_delegated_to_id || + !this.user?.getMeetingUser(this.activeMeetingId)?.vote_delegated_to_id || !appliedSettings.some(appliedSetting => this.meetingSettings.instant(appliedSetting as keyof Settings)) ); } From 263f47224c89bec5711e3ba4ab9372aa47d47619 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Wed, 20 May 2026 10:28:06 +0200 Subject: [PATCH 04/10] Revert "Remove first Error from Console, to be reverted due to translation PR" This reverts commit 3c1481d1471ccac5be14b74a595fe1fb4e3887f2. --- .../components/account-button/account-button.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts index e2b2951e88..e675251346 100644 --- a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts +++ b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts @@ -224,6 +224,6 @@ export class AccountButtonComponent extends BaseUiComponent implements OnInit { } else { stringForUserPresent = this.translate.instant(`Account of {} is not in this Meeting`); } - return stringForUserPresent; + return stringForUserPresent.replace(`{}`, this.user.short_name); } } From b8ff168609e8f13cab12c58d8d1ab78921ea45d2 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Thu, 21 May 2026 13:49:00 +0200 Subject: [PATCH 05/10] Make short_name optional again --- .../components/account-button/account-button.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts index 18c2b5578a..784b443933 100644 --- a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts +++ b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts @@ -224,6 +224,6 @@ export class AccountButtonComponent extends BaseUiComponent implements OnInit { } else { stringForUserPresent = this.translate.instant(`Your account is not in this meeting.`); } - return this.user.short_name + ': ' + stringForUserPresent; + return this.user?.short_name + ': ' + stringForUserPresent; } } From 92bd7aa3ee80e59ea9f48b488f24d8713f08c3c9 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Fri, 22 May 2026 10:41:10 +0200 Subject: [PATCH 06/10] Only if you have results subscribe them --- .../vote-repository.service.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/client/src/app/gateways/repositories/polls/vote-repository.service/vote-repository.service.ts b/client/src/app/gateways/repositories/polls/vote-repository.service/vote-repository.service.ts index 34be35d030..e78cc4f13b 100644 --- a/client/src/app/gateways/repositories/polls/vote-repository.service/vote-repository.service.ts +++ b/client/src/app/gateways/repositories/polls/vote-repository.service/vote-repository.service.ts @@ -132,11 +132,13 @@ export class VoteRepositoryService extends BaseMeetingRelatedRepository Date: Fri, 22 May 2026 12:01:00 +0200 Subject: [PATCH 07/10] Remove unused OperatorService --- .../modules/chess-dialog/services/chess-challenge.service.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/services/chess-challenge.service.ts b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/services/chess-challenge.service.ts index 4813f85bfc..4a4400926e 100644 --- a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/services/chess-challenge.service.ts +++ b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/services/chess-challenge.service.ts @@ -3,7 +3,6 @@ import { MatDialog } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; import { NotifyResponse, NotifyService } from 'src/app/gateways/notify.service'; import { mediumDialogSettings } from 'src/app/infrastructure/utils/dialog-settings'; -import { OperatorService } from 'src/app/site/services/operator.service'; import { PromptService } from 'src/app/ui/modules/prompt-dialog'; import { ChessDialogModule } from '../chess-dialog.module'; @@ -14,7 +13,6 @@ import { ChessDialogModule } from '../chess-dialog.module'; export class ChessChallengeService { public constructor( private notifyService: NotifyService, - private op: OperatorService, private dialog: MatDialog, private translate: TranslateService, private prompt: PromptService From 3b4be3dd5abf953a89177656195b0ecc9bbf4c76 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Fri, 22 May 2026 13:18:17 +0200 Subject: [PATCH 08/10] Prevent Errors while in not own participants view --- .../participant-detail-view.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.ts index 39b248047d..efa331ed9a 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.ts @@ -133,7 +133,7 @@ export class ParticipantDetailViewComponent extends BaseMeetingComponent { public readonly groups: Observable; public get isMeetingAdminAndEditSelf(): boolean { - return this.operator.isMeetingAdmin && this.user.id === this.operator.user?.id; + return this.operator.isMeetingAdmin && this.user?.id === this.operator.user?.id; } public get showVoteWeight(): boolean { From a848e66fba38c10fc87dff773436dac880cbba9c Mon Sep 17 00:00:00 2001 From: Elblinator Date: Fri, 22 May 2026 14:17:11 +0200 Subject: [PATCH 09/10] Add redirect when logging out --- client/src/app/site/services/auth.service.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/app/site/services/auth.service.ts b/client/src/app/site/services/auth.service.ts index 89156d3fc4..66e1250ca9 100644 --- a/client/src/app/site/services/auth.service.ts +++ b/client/src/app/site/services/auth.service.ts @@ -112,6 +112,7 @@ export class AuthService { this.authTokenService.setRawAccessToken(null); this._logoutEvent.emit(); await this.DS.clear(); + this.router.navigate([`/login`]); this.lifecycleService.bootup(); } } From 17328a6933c7ae4a057b576b3ef48db550686392 Mon Sep 17 00:00:00 2001 From: Elblinator Date: Fri, 22 May 2026 14:30:57 +0200 Subject: [PATCH 10/10] Revert last change --- client/src/app/site/services/auth.service.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/client/src/app/site/services/auth.service.ts b/client/src/app/site/services/auth.service.ts index 66e1250ca9..89156d3fc4 100644 --- a/client/src/app/site/services/auth.service.ts +++ b/client/src/app/site/services/auth.service.ts @@ -112,7 +112,6 @@ export class AuthService { this.authTokenService.setRawAccessToken(null); this._logoutEvent.emit(); await this.DS.clear(); - this.router.navigate([`/login`]); this.lifecycleService.bootup(); } }