feat: Rename to Toju and add translation
Some checks failed
Deploy Web Apps / deploy (push) Successful in 5m52s
Build Android APK / build-android-apk (push) Failing after 23m15s
Queue Release Build / prepare (push) Successful in 1m42s
Queue Release Build / build-linux (push) Failing after 9m33s
Queue Release Build / build-windows (push) Successful in 26m5s
Queue Release Build / finalize (push) Has been skipped

This commit is contained in:
2026-06-05 17:13:03 +02:00
parent 8ecfc9a1fe
commit ee293d7daf
301 changed files with 8247 additions and 2218 deletions

View File

@@ -41,6 +41,7 @@ import {
loadLastViewedChatFromStorage,
saveLastViewedChatToStorage
} from '../../infrastructure/persistence';
import { AppI18nService } from '../../core/i18n';
import { ServerDirectoryFacade } from '../../domains/server-directory';
import { hasRoomBanForUser } from '../../domains/access-control';
import { Room } from '../../shared-kernel';
@@ -71,6 +72,7 @@ export class RoomsEffects {
private db = inject(DatabaseService);
private webrtc = inject(RealtimeSessionFacade);
private serverDirectory = inject(ServerDirectoryFacade);
private readonly i18n = inject(AppI18nService);
private readonly signalingConnection = new RoomSignalingConnection(
this.webrtc,
@@ -203,7 +205,7 @@ export class RoomsEffects {
withLatestFrom(this.store.select(selectCurrentUser)),
switchMap(([{ name, description, topic, isPrivate, password, sourceId, sourceUrl }, currentUser]) => {
if (!currentUser) {
return of(RoomsActions.createRoomFailure({ error: 'Not logged in' }));
return of(RoomsActions.createRoomFailure({ error: this.i18n.instant('servers.errors.notLoggedIn') }));
}
const allEndpoints = this.serverDirectory.servers();
@@ -276,7 +278,7 @@ export class RoomsEffects {
withLatestFrom(this.store.select(selectCurrentUser)),
switchMap(([{ roomId, password: _password, serverInfo }, currentUser]) => {
if (!currentUser) {
return of(RoomsActions.joinRoomFailure({ error: 'Not logged in' }));
return of(RoomsActions.joinRoomFailure({ error: this.i18n.instant('servers.errors.notLoggedIn') }));
}
return from(this.getBlockedRoomAccessActions(roomId, currentUser)).pipe(
@@ -417,9 +419,9 @@ export class RoomsEffects {
return of(RoomsActions.joinRoomSuccess({ room: newRoom }));
}
return of(RoomsActions.joinRoomFailure({ error: 'Room not found' }));
return of(RoomsActions.joinRoomFailure({ error: this.i18n.instant('servers.errors.roomNotFound') }));
}),
catchError(() => of(RoomsActions.joinRoomFailure({ error: 'Room not found' })))
catchError(() => of(RoomsActions.joinRoomFailure({ error: this.i18n.instant('servers.errors.roomNotFound') })))
);
}),
catchError((error) => of(RoomsActions.joinRoomFailure({ error: error.message })))
@@ -619,7 +621,7 @@ export class RoomsEffects {
savedRooms
]) => {
if (!user) {
return of(RoomsActions.joinRoomFailure({ error: 'Not logged in' }));
return of(RoomsActions.joinRoomFailure({ error: this.i18n.instant('servers.errors.notLoggedIn') }));
}
const activateViewedRoom = () => {
@@ -883,7 +885,7 @@ export class RoomsEffects {
return [];
}
const blockedActions: BlockedRoomAccessAction[] = [RoomsActions.joinRoomFailure({ error: 'You are banned from this server' })];
const blockedActions: BlockedRoomAccessAction[] = [RoomsActions.joinRoomFailure({ error: this.i18n.instant('servers.errors.banned') })];
const storedRoom = await this.db.getRoom(roomId);
if (storedRoom) {