From e769a6ee4a4dad0612c53321fd96ab6328fac3b1 Mon Sep 17 00:00:00 2001 From: Myx Date: Sun, 17 May 2026 15:14:52 +0200 Subject: [PATCH] Fix private calls --- e2e/tests/voice/direct-call.spec.ts | 712 +++++++++++++++ electron/ipc/system.ts | 97 ++- electron/preload.ts | 12 + server/src/routes/link-metadata.ts | 3 +- server/src/websocket/handler.ts | 4 + toju-app/public/vlcjs/metoyou-vlc-player.js | 8 + toju-app/src/app/app.routes.ts | 15 + toju-app/src/app/app.ts | 8 +- .../platform/electron/electron-api.models.ts | 6 + .../services/notification-audio.service.ts | 36 + toju-app/src/app/domains/README.md | 4 + toju-app/src/app/domains/attachment/README.md | 24 +- .../attachment-persistence.service.ts | 45 +- .../attachment-transfer-transport.service.ts | 45 +- .../services/attachment-transfer.service.ts | 219 ++++- .../domain/constants/attachment.constants.ts | 3 + .../services/attachment-storage.service.ts | 119 ++- .../chat-messages/chat-messages.component.ts | 20 + .../chat-message-item.component.html | 67 +- .../chat-message-item.component.ts | 86 +- .../src/app/domains/direct-call/README.md | 16 + .../services/direct-call.service.spec.ts | 522 +++++++++++ .../services/direct-call.service.ts | 809 ++++++++++++++++++ .../domain/models/direct-call.model.ts | 37 + toju-app/src/app/domains/direct-call/index.ts | 2 + .../src/app/domains/direct-message/README.md | 16 +- .../services/direct-message.service.spec.ts | 54 +- .../services/direct-message.service.ts | 393 ++++++++- .../services/peer-delivery.service.ts | 28 +- .../domain/logic/direct-message.logic.ts | 49 ++ .../domain/models/direct-message.model.ts | 9 +- .../feature/dm-chat/dm-chat.component.html | 29 +- .../feature/dm-chat/dm-chat.component.ts | 128 ++- .../feature/dm-rail/dm-rail.component.html | 25 +- .../feature/dm-rail/dm-rail.component.ts | 110 ++- .../dm-workspace/dm-chat-panel.component.html | 7 + .../dm-workspace/dm-chat-panel.component.ts | 21 + .../dm-conversation-item.component.html | 54 ++ .../dm-conversation-item.component.ts | 216 +++++ .../dm-conversations-panel.component.html | 46 + .../dm-conversations-panel.component.ts | 38 + .../dm-workspace/dm-workspace.component.html | 95 +- .../dm-workspace/dm-workspace.component.ts | 136 +-- .../user-search-list.component.html | 26 + .../user-search-list.component.ts | 19 +- .../app/domains/experimental-media/README.md | 38 + .../experimental-media-settings.service.ts | 89 ++ .../experimental-vlc-player.component.html | 77 ++ .../experimental-vlc-player.component.ts | 109 +++ .../app/domains/experimental-media/index.ts | 2 + .../experimental-vlc-runtime.service.ts | 80 ++ .../src/app/domains/voice-session/README.md | 2 + .../private-call-controls.component.html | 71 ++ .../private-call-controls.component.ts | 43 + ...ivate-call-participant-card.component.html | 102 +++ ...private-call-participant-card.component.ts | 33 + .../direct-call/private-call.component.html | 202 +++++ .../direct-call/private-call.component.ts | 564 ++++++++++++ .../rooms-side-panel.component.ts | 45 +- .../voice-workspace-stream-tile.component.ts | 2 +- .../servers-rail/servers-rail.component.html | 50 ++ .../servers-rail/servers-rail.component.ts | 73 +- .../general-settings.component.html | 34 + .../general-settings.component.ts | 9 + .../remote-screen-share-request-controller.ts | 50 +- toju-app/src/app/shared-kernel/chat-events.ts | 34 +- .../shared-kernel/direct-call-contracts.ts | 13 + .../shared-kernel/direct-message-contracts.ts | 27 + toju-app/src/app/shared-kernel/index.ts | 1 + toju-app/src/assets/audio/call.wav | Bin 0 -> 10386844 bytes toju-app/src/index.html | 2 +- 71 files changed, 5821 insertions(+), 349 deletions(-) create mode 100644 e2e/tests/voice/direct-call.spec.ts create mode 100644 toju-app/public/vlcjs/metoyou-vlc-player.js create mode 100644 toju-app/src/app/domains/direct-call/README.md create mode 100644 toju-app/src/app/domains/direct-call/application/services/direct-call.service.spec.ts create mode 100644 toju-app/src/app/domains/direct-call/application/services/direct-call.service.ts create mode 100644 toju-app/src/app/domains/direct-call/domain/models/direct-call.model.ts create mode 100644 toju-app/src/app/domains/direct-call/index.ts create mode 100644 toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.html create mode 100644 toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.ts create mode 100644 toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.html create mode 100644 toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.ts create mode 100644 toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.html create mode 100644 toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.ts create mode 100644 toju-app/src/app/domains/experimental-media/README.md create mode 100644 toju-app/src/app/domains/experimental-media/application/services/experimental-media-settings.service.ts create mode 100644 toju-app/src/app/domains/experimental-media/feature/experimental-vlc-player/experimental-vlc-player.component.html create mode 100644 toju-app/src/app/domains/experimental-media/feature/experimental-vlc-player/experimental-vlc-player.component.ts create mode 100644 toju-app/src/app/domains/experimental-media/index.ts create mode 100644 toju-app/src/app/domains/experimental-media/infrastructure/services/experimental-vlc-runtime.service.ts create mode 100644 toju-app/src/app/features/direct-call/private-call-controls.component.html create mode 100644 toju-app/src/app/features/direct-call/private-call-controls.component.ts create mode 100644 toju-app/src/app/features/direct-call/private-call-participant-card.component.html create mode 100644 toju-app/src/app/features/direct-call/private-call-participant-card.component.ts create mode 100644 toju-app/src/app/features/direct-call/private-call.component.html create mode 100644 toju-app/src/app/features/direct-call/private-call.component.ts create mode 100644 toju-app/src/app/shared-kernel/direct-call-contracts.ts create mode 100644 toju-app/src/assets/audio/call.wav diff --git a/e2e/tests/voice/direct-call.spec.ts b/e2e/tests/voice/direct-call.spec.ts new file mode 100644 index 0000000..a1bef83 --- /dev/null +++ b/e2e/tests/voice/direct-call.spec.ts @@ -0,0 +1,712 @@ +import { expect, type Page } from '@playwright/test'; +import { test, type Client } from '../../fixtures/multi-client'; +import { + dumpRtcDiagnostics, + installAutoResumeAudioContext, + installWebRTCTracking, + waitForAllPeerAudioFlow, + waitForAudioFlow, + waitForAudioStatsPresent, + waitForConnectedPeerCount, + waitForInboundVideoFlow, + waitForOutboundVideoFlow, + waitForPeerConnected +} from '../../helpers/webrtc-helpers'; +import { RegisterPage } from '../../pages/register.page'; +import { ServerSearchPage } from '../../pages/server-search.page'; +import { ChatMessagesPage } from '../../pages/chat-messages.page'; +import { disableLastViewedChatResume } from '../../helpers/seed-test-endpoint'; + +interface DirectCallScenario { + alice: Client; + bob: Client; + charlie?: Client; + aliceUserId: string; + bobUserId: string; + charlieUserId?: string; +} + +interface AudioFlowDelta { + outboundBytesDelta: number; + inboundBytesDelta: number; + outboundPacketsDelta: number; + inboundPacketsDelta: number; +} + +interface VideoFlowDelta { + outboundBytesDelta: number; + inboundBytesDelta: number; + outboundPacketsDelta: number; + inboundPacketsDelta: number; +} + +const USER_PASSWORD = 'TestPass123!'; + +test.describe('Direct private calls', () => { + test.describe.configure({ timeout: 240_000 }); + + test('two users can ring, answer, chat, see self voice indicators, and exchange audio', async ({ createClient }) => { + const scenario = await createDirectCallScenario(createClient, { includeCharlie: true }); + const callMessage = `Call chat ${uniqueName('msg')}`; + const privateOnlyMessage = `Private before group ${uniqueName('msg')}`; + const groupMessage = `Group call chat ${uniqueName('msg')}`; + + await test.step('Alice starts a call from the search people card', async () => { + await disableLastViewedChatResume(scenario.alice.page); + await scenario.alice.page.goto('/search', { waitUntil: 'domcontentloaded' }); + await expect(scenario.alice.page.locator('app-user-search-list')).toBeVisible({ timeout: 20_000 }); + + const bobPeopleCard = scenario.alice.page.locator(`[data-testid="user-card-${scenario.bobUserId}"]`, { hasText: 'Bob' }).first(); + + await expect(bobPeopleCard).toBeVisible({ timeout: 20_000 }); + await bobPeopleCard.hover(); + await bobPeopleCard.getByRole('button', { name: 'Call Bob' }).click(); + await expect(scenario.alice.page).toHaveURL(/\/call\//, { timeout: 20_000 }); + await expect(scenario.alice.page.locator('app-private-call')).toBeVisible({ timeout: 20_000 }); + await expect(scenario.alice.page.locator('[data-testid^="server-rail-call-"]')).toHaveCount(1, { timeout: 20_000 }); + }); + + await test.step('Alice starts sharing before Bob joins', async () => { + await scenario.alice.page.getByRole('button', { name: 'Share screen' }).click(); + await expect(scenario.alice.page.getByRole('button', { name: 'Stop sharing screen' })).toBeVisible({ timeout: 20_000 }); + await expect(scenario.alice.page.getByTestId('private-call-focused-stream')).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Bob receives a ringing call and the ring stops when he answers', async () => { + await expect + .poll(async () => await getCallAudioPlayCount(scenario.bob.page), { + timeout: 20_000, + intervals: [500, 1_000] + }) + .toBeGreaterThan(0); + + await expect(scenario.bob.page.locator('[data-testid^="server-rail-call-"]')).toHaveCount(1, { timeout: 20_000 }); + await expect + .poll(async () => await getCallNotificationCount(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBeGreaterThan(0); + + await scenario.bob.page.getByRole('button', { name: 'Open private call' }).click(); + await expect(scenario.bob.page).toHaveURL(/\/call\//, { timeout: 20_000 }); + await scenario.bob.page.getByRole('button', { name: 'Join call' }).click(); + await expect(scenario.bob.page.getByRole('button', { name: 'Leave call' })).toBeVisible({ timeout: 20_000 }); + await expect(scenario.bob.page.locator('[data-testid^="server-rail-call-"]')).toHaveCount(1, { timeout: 20_000 }); + + await expect + .poll(async () => await getActiveCallAudioLoops(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(0); + + await expect + .poll(async () => await getCallAudioPauseCount(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBeGreaterThan(0); + }); + + await test.step('WebRTC connects and late-join screen share is visible', async () => { + await waitForPeerConnected(scenario.alice.page, 45_000); + await waitForPeerConnected(scenario.bob.page, 45_000); + await expectParticipantConnected(scenario.alice.page, scenario.aliceUserId); + await expectParticipantConnected(scenario.alice.page, scenario.bobUserId); + await expectParticipantConnected(scenario.bob.page, scenario.aliceUserId); + await expectParticipantConnected(scenario.bob.page, scenario.bobUserId); + + const aliceVideo = await waitForOutboundVideoFlow(scenario.alice.page, 30_000); + const bobVideo = await waitForInboundVideoFlow(scenario.bob.page, 30_000); + + if (!isOutboundVideoFlowing(aliceVideo) || !isInboundVideoFlowing(bobVideo)) { + console.log('[Alice direct-call RTC]\n' + (await dumpRtcDiagnostics(scenario.alice.page))); + console.log('[Bob direct-call RTC]\n' + (await dumpRtcDiagnostics(scenario.bob.page))); + } + + expectOutboundVideoFlow(aliceVideo, 'Alice late-join direct call screen share'); + expectInboundVideoFlow(bobVideo, 'Bob late-join direct call screen share'); + await expect(scenario.bob.page.getByTestId('private-call-focused-stream')).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Audio flows in both directions', async () => { + await waitForAudioStatsPresent(scenario.alice.page, 30_000); + await waitForAudioStatsPresent(scenario.bob.page, 30_000); + + const aliceDelta = await waitForAudioFlow(scenario.alice.page, 45_000); + const bobDelta = await waitForAudioFlow(scenario.bob.page, 45_000); + + if (!isAudioFlowing(aliceDelta) || !isAudioFlowing(bobDelta)) { + console.log('[Alice direct-call RTC]\n' + (await dumpRtcDiagnostics(scenario.alice.page))); + console.log('[Bob direct-call RTC]\n' + (await dumpRtcDiagnostics(scenario.bob.page))); + } + + expectAudioFlow(aliceDelta, 'Alice direct call'); + expectAudioFlow(bobDelta, 'Bob direct call'); + }); + + await test.step('Adding a third participant converts the call chat to an empty group chat', async () => { + if (!scenario.charlie || !scenario.charlieUserId) { + throw new Error('Expected direct-call scenario to include Charlie.'); + } + + const charlie = scenario.charlie; + + await scenario.alice.page.getByTestId('dm-input').fill(privateOnlyMessage); + await scenario.alice.page.getByTestId('dm-input').press('Enter'); + await expect(scenario.bob.page.locator('app-private-call aside app-dm-chat').getByText(privateOnlyMessage)).toBeVisible({ timeout: 20_000 }); + + await scenario.alice.page.getByLabel('Add user to call').selectOption(scenario.charlieUserId); + await scenario.alice.page.getByRole('button', { name: 'Add user' }).click(); + + await expect(scenario.alice.page.locator('app-private-call aside app-dm-chat').getByText(privateOnlyMessage)).toHaveCount(0, { + timeout: 20_000 + }); + + await expect(scenario.alice.page.locator('[data-testid^="dm-rail-item-dm-group-"]')).toHaveCount(0, { timeout: 20_000 }); + await expect(scenario.alice.page.locator('[data-testid^="server-rail-call-"]')).toHaveCount(1, { timeout: 20_000 }); + + await expect + .poll(async () => await getCallAudioPlayCount(charlie.page), { + timeout: 20_000, + intervals: [500, 1_000] + }) + .toBeGreaterThan(0); + + await charlie.page.getByRole('button', { name: 'Open private call' }).click(); + await expect(charlie.page).toHaveURL(/\/call\//, { timeout: 20_000 }); + await charlie.page.getByRole('button', { name: 'Join call' }).click(); + await expect(charlie.page.getByRole('button', { name: 'Leave call' })).toBeVisible({ timeout: 20_000 }); + await expect(charlie.page.locator('app-private-call aside app-dm-chat').getByText(privateOnlyMessage)).toHaveCount(0); + + await waitForConnectedPeerCount(scenario.alice.page, 2, 45_000); + await waitForConnectedPeerCount(scenario.bob.page, 2, 45_000); + await waitForConnectedPeerCount(charlie.page, 2, 45_000); + await Promise.all([ + waitForAllPeerAudioFlow(scenario.alice.page, 2, 45_000), + waitForAllPeerAudioFlow(scenario.bob.page, 2, 45_000), + waitForAllPeerAudioFlow(charlie.page, 2, 45_000) + ]); + + await expectParticipantConnected(scenario.alice.page, scenario.charlieUserId); + await expectParticipantConnected(scenario.bob.page, scenario.charlieUserId); + await expectParticipantConnected(charlie.page, scenario.aliceUserId); + await expectParticipantConnected(charlie.page, scenario.bobUserId); + await expectParticipantConnected(charlie.page, scenario.charlieUserId); + + await scenario.alice.page.getByTestId('dm-input').fill(groupMessage); + await scenario.alice.page.getByTestId('dm-input').press('Enter'); + await expect(scenario.bob.page.locator('app-private-call aside app-dm-chat').getByText(groupMessage)).toBeVisible({ timeout: 20_000 }); + await expect(charlie.page.locator('app-private-call aside app-dm-chat').getByText(groupMessage)).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Private call streams can switch between all-stream and focused viewing', async () => { + await scenario.bob.page.getByRole('button', { name: 'Turn camera on' }).click(); + await expect(scenario.bob.page.getByRole('button', { name: 'Turn camera off' })).toBeVisible({ timeout: 20_000 }); + + await expect + .poll(async () => await privateCallGridStreamCount(scenario.bob.page), { + timeout: 30_000, + intervals: [500, 1_000] + }) + .toBeGreaterThanOrEqual(2); + + await scenario.bob.page + .getByTestId('private-call-stream-grid') + .locator('app-voice-workspace-stream-tile') + .first() + .click(); + + await expect(scenario.bob.page.getByTestId('private-call-focused-stream')).toBeVisible({ timeout: 20_000 }); + await expect(scenario.bob.page.getByTestId('private-call-show-all-streams')).toBeVisible({ timeout: 20_000 }); + + await assertSustainedMediaFlow(scenario.alice.page, scenario.bob.page, 'direct call screen share and camera'); + + await scenario.bob.page.getByTestId('private-call-focused-stream').dblclick(); + await expect + .poll(async () => await hasFullscreenElement(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(true); + + await exitFullscreen(scenario.bob.page); + + await expect + .poll(async () => await hasFullscreenElement(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(false); + + await scenario.bob.page.getByTestId('private-call-show-all-streams').click(); + await expect(scenario.bob.page.getByTestId('private-call-stream-grid')).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Both clients show their own speaking indicator', async () => { + await expect(scenario.alice.page.getByTestId(`call-participant-${scenario.aliceUserId}`)).toHaveClass(/ring-emerald-400/, { + timeout: 20_000 + }); + + await expect(scenario.bob.page.getByTestId(`call-participant-${scenario.bobUserId}`)).toHaveClass(/ring-emerald-400/, { + timeout: 20_000 + }); + }); + + await test.step('Private call layout does not require vertical scrolling', async () => { + await expect + .poll(async () => await privateCallMainHasNoVerticalOverflow(scenario.alice.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(true); + + await expect + .poll(async () => await privateCallMainHasNoVerticalOverflow(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(true); + + await expect(scenario.alice.page.locator('app-private-call article').filter({ hasText: /Connected|Speaking/ })).toHaveCount(0); + await expect(scenario.bob.page.locator('app-private-call article').filter({ hasText: /Connected|Speaking/ })).toHaveCount(0); + await expect(scenario.alice.page.getByText('No live streams yet')).toHaveCount(0); + await expect(scenario.bob.page.getByText('No live streams yet')).toHaveCount(0); + + const originalWidth = await privateCallChatWidth(scenario.alice.page); + const resizer = scenario.alice.page.getByTestId('private-call-chat-resizer'); + const box = await resizer.boundingBox(); + + expect(box, 'private call chat resizer should be measurable').not.toBeNull(); + + if (box) { + await scenario.alice.page.mouse.move(box.x + box.width / 2, box.y + 20); + await scenario.alice.page.mouse.down(); + await scenario.alice.page.mouse.move(box.x - 96, box.y + 20); + await scenario.alice.page.mouse.up(); + } + + await expect + .poll(async () => await privateCallChatWidth(scenario.alice.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBeGreaterThan(originalWidth + 40); + }); + + await test.step('Embedded call chat syncs and does not expose another call button', async () => { + await expect(scenario.alice.page.locator('app-private-call aside').getByRole('button', { name: /Call/i })).toHaveCount(0); + await expect(scenario.bob.page.locator('app-private-call aside').getByRole('button', { name: /Call/i })).toHaveCount(0); + + await scenario.bob.page.getByTestId('dm-input').fill('typing from Bob'); + await expect(scenario.alice.page.getByTestId('dm-typing-indicator')).toContainText('Bob is typing', { timeout: 20_000 }); + + await scenario.alice.page.getByTestId('dm-input').fill(callMessage); + await scenario.alice.page.getByTestId('dm-input').press('Enter'); + await expect(scenario.bob.page.locator('app-private-call aside app-dm-chat').getByText(callMessage)).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Group chat call button rings every other participant', async () => { + if (!scenario.charlie) { + throw new Error('Expected direct-call scenario to include Charlie.'); + } + + await scenario.alice.page.getByRole('button', { name: 'Leave call' }).click(); + await expect(scenario.alice.page).toHaveURL(/\/dm\//, { timeout: 20_000 }); + await scenario.bob.page.getByRole('button', { name: 'Leave call' }).click(); + await expect(scenario.bob.page).toHaveURL(/\/dm\//, { timeout: 20_000 }); + await scenario.charlie.page.getByRole('button', { name: 'Leave call' }).click(); + await expect(scenario.charlie.page).toHaveURL(/\/dm\//, { timeout: 20_000 }); + + const bobPlayCountBeforeGroupCall = await getCallAudioPlayCount(scenario.bob.page); + const charliePlayCountBeforeGroupCall = await getCallAudioPlayCount(scenario.charlie.page); + + await scenario.alice.page + .locator('app-dm-chat header') + .getByRole('button', { name: /Call/i }) + .click(); + + await expect(scenario.alice.page).toHaveURL(/\/call\/dm-group-/, { timeout: 20_000 }); + + await expect + .poll(async () => await getCallAudioPlayCount(scenario.bob.page), { + timeout: 20_000, + intervals: [500, 1_000] + }) + .toBeGreaterThan(bobPlayCountBeforeGroupCall); + + await expect + .poll(async () => await getCallAudioPlayCount(scenario.charlie.page), { + timeout: 20_000, + intervals: [500, 1_000] + }) + .toBeGreaterThan(charliePlayCountBeforeGroupCall); + + await scenario.bob.page + .getByRole('button', { name: 'Open private call' }) + .last() + .click(); + + await scenario.bob.page.getByRole('button', { name: 'Join call' }).click(); + await expect + .poll(async () => await getActiveCallAudioLoops(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(0); + + await scenario.charlie.page + .getByRole('button', { name: 'Open private call' }) + .last() + .click(); + + await scenario.charlie.page.getByRole('button', { name: 'Join call' }).click(); + await expect + .poll(async () => await getActiveCallAudioLoops(scenario.charlie.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(0); + }); + }); + + test('missing and ended private calls do not leave stale call controls behind', async ({ createClient }) => { + const scenario = await createDirectCallScenario(createClient); + + await test.step('Unknown call routes render an inert empty state', async () => { + await scenario.alice.page.goto('/call/not-a-real-call', { waitUntil: 'domcontentloaded' }); + await expect(scenario.alice.page.getByText('No active call for this route.')).toBeVisible({ timeout: 20_000 }); + await expect(scenario.alice.page.getByRole('button', { name: 'Join call' })).toHaveCount(0); + }); + + await test.step('Caller leaving before answer clears recipient call route and rail icon', async () => { + await startCallFromSearch(scenario.alice.page, scenario.bobUserId, 'Bob'); + await scenario.bob.page.getByRole('button', { name: 'Open private call' }).click(); + await expect(scenario.bob.page).toHaveURL(/\/call\//, { timeout: 20_000 }); + + await scenario.alice.page.getByRole('button', { name: 'Leave call' }).click(); + await expect(scenario.alice.page).toHaveURL(/\/dm\//, { timeout: 20_000 }); + await expect(scenario.bob.page).toHaveURL(/\/dm\//, { timeout: 20_000 }); + await expect(scenario.bob.page.getByRole('button', { name: 'Open private call' })).toHaveCount(0); + await expect(scenario.bob.page.locator('[data-testid^="server-rail-call-"]')).toHaveCount(0); + await expect + .poll(async () => await getActiveCallAudioLoops(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(0); + }); + + await test.step('Leaving an answered call clears local ringing and returns to DM', async () => { + await startCallFromSearch(scenario.alice.page, scenario.bobUserId, 'Bob'); + await scenario.bob.page.getByRole('button', { name: 'Open private call' }).click(); + await scenario.bob.page.getByRole('button', { name: 'Join call' }).click(); + await expect(scenario.bob.page.getByRole('button', { name: 'Leave call' })).toBeVisible({ timeout: 20_000 }); + + await scenario.bob.page.getByRole('button', { name: 'Leave call' }).click(); + await expect(scenario.bob.page).toHaveURL(/\/dm\//, { timeout: 20_000 }); + await expect + .poll(async () => await getActiveCallAudioLoops(scenario.bob.page), { + timeout: 10_000, + intervals: [250, 500] + }) + .toBe(0); + }); + }); +}); + +async function createDirectCallScenario( + createClient: () => Promise, + options: { includeCharlie?: boolean } = {} +): Promise { + const suffix = uniqueName('direct-call'); + const serverName = `Direct Call Server ${suffix}`; + const alice = await createClient(); + const bob = await createClient(); + const charlie = options.includeCharlie ? await createClient() : undefined; + + await installDirectCallInstrumentation(alice.page); + await installDirectCallInstrumentation(bob.page); + + if (charlie) { + await installDirectCallInstrumentation(charlie.page); + } + + await registerUser(alice.page, `alice_${suffix}`, 'Alice'); + await registerUser(bob.page, `bob_${suffix}`, 'Bob'); + + if (charlie) { + await registerUser(charlie.page, `charlie_${suffix}`, 'Charlie'); + } + + const aliceUserId = await getCurrentUserId(alice.page); + const aliceSearch = new ServerSearchPage(alice.page); + + await aliceSearch.createServer(serverName, { description: 'E2E direct call discovery server' }); + await expect(alice.page).toHaveURL(/\/room\//, { timeout: 20_000 }); + await new ChatMessagesPage(alice.page).waitForReady(); + + const bobSearch = new ServerSearchPage(bob.page); + + await bobSearch.joinServerFromSearch(serverName); + await expect(bob.page).toHaveURL(/\/room\//, { timeout: 20_000 }); + await new ChatMessagesPage(bob.page).waitForReady(); + + if (charlie) { + const charlieSearch = new ServerSearchPage(charlie.page); + + await charlieSearch.joinServerFromSearch(serverName); + await expect(charlie.page).toHaveURL(/\/room\//, { timeout: 20_000 }); + await new ChatMessagesPage(charlie.page).waitForReady(); + } + + const bobRoomCard = alice.page.locator('[data-testid^="room-user-card-"]', { hasText: 'Bob' }).first(); + const charlieRoomCard = charlie ? alice.page.locator('[data-testid^="room-user-card-"]', { hasText: 'Charlie' }).first() : null; + + await expect(bobRoomCard).toBeVisible({ timeout: 20_000 }); + + if (charlieRoomCard) { + await expect(charlieRoomCard).toBeVisible({ timeout: 20_000 }); + } + + const bobUserCardTestId = await bobRoomCard.getAttribute('data-testid'); + const bobUserId = bobUserCardTestId?.replace('room-user-card-', ''); + const charlieUserCardTestId = charlieRoomCard ? await charlieRoomCard.getAttribute('data-testid') : null; + const charlieUserId = charlieUserCardTestId?.replace('room-user-card-', ''); + + if (!aliceUserId || !bobUserId || (charlie && !charlieUserId)) { + throw new Error('Expected direct-call scenario users to expose stable ids.'); + } + + return { + alice, + bob, + charlie, + aliceUserId, + bobUserId, + charlieUserId + }; +} + +async function installDirectCallInstrumentation(page: Page): Promise { + await installWebRTCTracking(page); + await installAutoResumeAudioContext(page); + await page.addInitScript(() => { + localStorage.setItem( + 'metoyou_voice_settings', + JSON.stringify({ + inputVolume: 100, + outputVolume: 100, + audioBitrate: 96, + latencyProfile: 'balanced', + includeSystemAudio: false, + noiseReduction: false, + screenShareQuality: 'balanced', + askScreenShareQuality: false + }) + ); + + const OriginalAudio = window.Audio; + const callAudioState = { + activeLoops: 0, + pauseCount: 0, + playCount: 0 + }; + const callNotificationState = { + count: 0, + bodies: [] as string[], + titles: [] as string[] + }; + + (window as Window & { __callAudioState?: typeof callAudioState }).__callAudioState = callAudioState; + (window as Window & { __callNotificationState?: typeof callNotificationState }).__callNotificationState = callNotificationState; + + function isCallAudio(audio: HTMLAudioElement): boolean { + return audio.src.includes('/assets/audio/call.wav') || audio.src.endsWith('assets/audio/call.wav'); + } + + (window as unknown as { Audio: typeof Audio }).Audio = function(this: HTMLAudioElement, src?: string) { + const audio = new OriginalAudio(src); + const originalPlay = audio.play.bind(audio); + const originalPause = audio.pause.bind(audio); + + audio.play = () => { + if (isCallAudio(audio)) { + callAudioState.playCount += 1; + + if (audio.loop) { + callAudioState.activeLoops += 1; + } + } + + return originalPlay(); + }; + + audio.pause = () => { + if (isCallAudio(audio)) { + callAudioState.pauseCount += 1; + + if (audio.loop && callAudioState.activeLoops > 0) { + callAudioState.activeLoops -= 1; + } + } + + return originalPause(); + }; + + return audio; + } as typeof Audio; + + window.Audio.prototype = OriginalAudio.prototype; + Object.setPrototypeOf(window.Audio, OriginalAudio); + + class MockNotification { + static permission: NotificationPermission = 'granted'; + + onclick: ((this: Notification, ev: Event) => unknown) | null = null; + + constructor(title: string, options?: NotificationOptions) { + callNotificationState.count += 1; + callNotificationState.titles.push(title); + callNotificationState.bodies.push(options?.body ?? ''); + } + + static async requestPermission(): Promise { + return 'granted'; + } + + close(): void {} + } + + (window as unknown as { Notification: typeof Notification }).Notification = MockNotification as unknown as typeof Notification; + }); +} + +async function registerUser(page: Page, username: string, displayName: string): Promise { + const registerPage = new RegisterPage(page); + + await registerPage.goto(); + await registerPage.register(username, displayName, USER_PASSWORD); + await expect(page).toHaveURL(/\/search/, { timeout: 20_000 }); +} + +async function startCallFromSearch(page: Page, userId: string, displayName: string): Promise { + await disableLastViewedChatResume(page); + await page.goto('/search', { waitUntil: 'domcontentloaded' }); + const peopleCard = page.locator(`[data-testid="user-card-${userId}"]`, { hasText: displayName }).first(); + + await expect(peopleCard).toBeVisible({ timeout: 20_000 }); + await peopleCard.hover(); + await peopleCard.getByRole('button', { name: `Call ${displayName}` }).click(); + await expect(page).toHaveURL(/\/call\//, { timeout: 20_000 }); +} + +async function getCurrentUserId(page: Page): Promise { + return await page.evaluate(() => localStorage.getItem('metoyou_currentUserId') ?? ''); +} + +async function getCallAudioPlayCount(page: Page): Promise { + return await page.evaluate(() => (window as Window & { __callAudioState?: { playCount: number } }).__callAudioState?.playCount ?? 0); +} + +async function getCallAudioPauseCount(page: Page): Promise { + return await page.evaluate(() => (window as Window & { __callAudioState?: { pauseCount: number } }).__callAudioState?.pauseCount ?? 0); +} + +async function getCallNotificationCount(page: Page): Promise { + return await page.evaluate(() => ( + window as Window & { __callNotificationState?: { count: number } } + ).__callNotificationState?.count ?? 0); +} + +async function getActiveCallAudioLoops(page: Page): Promise { + return await page.evaluate(() => (window as Window & { __callAudioState?: { activeLoops: number } }).__callAudioState?.activeLoops ?? 0); +} + +async function expectParticipantConnected(page: Page, userId: string | undefined): Promise { + if (!userId) { + throw new Error('Expected a stable participant id.'); + } + + await expect(page.getByTestId(`call-participant-${userId}`)).not.toHaveClass(/opacity-55/, { timeout: 20_000 }); +} + +async function assertSustainedMediaFlow(senderPage: Page, receiverPage: Page, label: string): Promise { + for (let sample = 0; sample < 3; sample++) { + const [ + senderAudio, + receiverAudio, + outboundVideo, + inboundVideo + ] = await Promise.all([ + waitForAudioFlow(senderPage, 30_000), + waitForAudioFlow(receiverPage, 30_000), + waitForOutboundVideoFlow(senderPage, 30_000), + waitForInboundVideoFlow(receiverPage, 30_000) + ]); + + expectAudioFlow(senderAudio, `${label} sender sample ${sample + 1}`); + expectAudioFlow(receiverAudio, `${label} receiver sample ${sample + 1}`); + expectOutboundVideoFlow(outboundVideo, `${label} outbound sample ${sample + 1}`); + expectInboundVideoFlow(inboundVideo, `${label} inbound sample ${sample + 1}`); + } +} + +async function privateCallMainHasNoVerticalOverflow(page: Page): Promise { + return await page.locator('app-private-call > section > main').evaluate((main) => main.scrollHeight <= main.clientHeight + 1); +} + +async function privateCallGridStreamCount(page: Page): Promise { + return await page + .getByTestId('private-call-stream-grid') + .locator('app-voice-workspace-stream-tile') + .count(); +} + +async function privateCallChatWidth(page: Page): Promise { + return await page.locator('app-private-call aside').evaluate((aside) => aside.getBoundingClientRect().width); +} + +async function hasFullscreenElement(page: Page): Promise { + return await page.evaluate(() => document.fullscreenElement !== null); +} + +async function exitFullscreen(page: Page): Promise { + await page.evaluate(async () => { + if (document.fullscreenElement) { + await document.exitFullscreen(); + } + }); +} + +function expectAudioFlow(delta: AudioFlowDelta, label: string): void { + expect(delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0, `${label} should send audio`).toBe(true); + expect(delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0, `${label} should receive audio`).toBe(true); +} + +function expectOutboundVideoFlow(delta: VideoFlowDelta, label: string): void { + expect(isOutboundVideoFlowing(delta), `${label} should send video`).toBe(true); +} + +function expectInboundVideoFlow(delta: VideoFlowDelta, label: string): void { + expect(isInboundVideoFlowing(delta), `${label} should receive video`).toBe(true); +} + +function isAudioFlowing(delta: AudioFlowDelta): boolean { + return (delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0) + && (delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0); +} + +function isOutboundVideoFlowing(delta: VideoFlowDelta): boolean { + return delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0; +} + +function isInboundVideoFlowing(delta: VideoFlowDelta): boolean { + return delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0; +} + +function uniqueName(prefix: string): string { + return `${prefix}-${Date.now()}-${Math.random().toString(36) + .slice(2, 8)}`; +} diff --git a/electron/ipc/system.ts b/electron/ipc/system.ts index 8fb8d92..571eebf 100644 --- a/electron/ipc/system.ts +++ b/electron/ipc/system.ts @@ -12,7 +12,7 @@ import { import * as fs from 'fs'; import * as fsp from 'fs/promises'; import * as path from 'path'; -import { fileURLToPath } from 'url'; +import { fileURLToPath, pathToFileURL } from 'url'; import { getDesktopSettingsSnapshot, updateDesktopSettings, @@ -519,12 +519,46 @@ export function setupSystemHandlers(): void { } }); + ipcMain.handle('get-file-url', async (_event, filePath: string) => { + if (typeof filePath !== 'string' || !filePath.trim()) { + return null; + } + + try { + await fsp.access(filePath, fs.constants.F_OK); + return pathToFileURL(filePath).toString(); + } catch { + return null; + } + }); + ipcMain.handle('read-file', async (_event, filePath: string) => { const data = await fsp.readFile(filePath); return data.toString('base64'); }); + ipcMain.handle('read-file-chunk', async (_event, filePath: string, start: number, end: number) => { + const fileHandle = await fsp.open(filePath, 'r'); + + try { + const safeStart = Math.max(0, Math.trunc(start)); + const safeEnd = Math.max(safeStart, Math.trunc(end)); + const buffer = Buffer.alloc(safeEnd - safeStart); + const result = await fileHandle.read(buffer, 0, buffer.length, safeStart); + + return buffer.subarray(0, result.bytesRead).toString('base64'); + } finally { + await fileHandle.close(); + } + }); + + ipcMain.handle('get-file-size', async (_event, filePath: string) => { + const stats = await fsp.stat(filePath); + + return stats.size; + }); + ipcMain.handle('read-clipboard-files', async () => { return await readClipboardFiles(); }); @@ -536,6 +570,13 @@ export function setupSystemHandlers(): void { return true; }); + ipcMain.handle('append-file', async (_event, filePath: string, base64Data: string) => { + const buffer = Buffer.from(base64Data, 'base64'); + + await fsp.appendFile(filePath, buffer); + return true; + }); + ipcMain.handle('delete-file', async (_event, filePath: string) => { try { await fsp.unlink(filePath); @@ -567,6 +608,60 @@ export function setupSystemHandlers(): void { cancelled: false }; }); + ipcMain.handle('save-existing-file-as', async (_event, sourceFilePath: string, defaultFileName: string) => { + if (typeof sourceFilePath !== 'string' || !sourceFilePath.trim()) { + return { saved: false, + cancelled: false }; + } + + const stats = await fsp.stat(sourceFilePath); + + if (!stats.isFile()) { + return { saved: false, + cancelled: false }; + } + + const result = await dialog.showSaveDialog({ + defaultPath: defaultFileName || path.basename(sourceFilePath) + }); + + if (result.canceled || !result.filePath) { + return { saved: false, + cancelled: true }; + } + + await fsp.copyFile(sourceFilePath, result.filePath); + + return { saved: true, + cancelled: false }; + }); + + ipcMain.handle('open-file-path', async (_event, filePath: string) => { + if (typeof filePath !== 'string' || !filePath.trim()) { + return { opened: false, + reason: 'missing-path' }; + } + + try { + const stats = await fsp.stat(filePath); + + if (!stats.isFile()) { + return { opened: false, + reason: 'not-a-file' }; + } + + const error = await shell.openPath(filePath); + + return error + ? { opened: false, + reason: error } + : { opened: true }; + } catch (error) { + return { opened: false, + reason: error instanceof Error ? error.message : 'open-failed' }; + } + }); + ipcMain.handle('ensure-dir', async (_event, dirPath: string) => { await fsp.mkdir(dirPath, { recursive: true }); return true; diff --git a/electron/preload.ts b/electron/preload.ts index 66f3f89..13972a3 100644 --- a/electron/preload.ts +++ b/electron/preload.ts @@ -282,9 +282,15 @@ export interface ElectronAPI { onDeepLinkReceived: (listener: (url: string) => void) => () => void; readClipboardFiles: () => Promise; readFile: (filePath: string) => Promise; + readFileChunk: (filePath: string, start: number, end: number) => Promise; + getFileSize: (filePath: string) => Promise; writeFile: (filePath: string, data: string) => Promise; + appendFile: (filePath: string, data: string) => Promise; saveFileAs: (defaultFileName: string, data: string) => Promise<{ saved: boolean; cancelled: boolean }>; + saveExistingFileAs: (sourceFilePath: string, defaultFileName: string) => Promise<{ saved: boolean; cancelled: boolean }>; + openFilePath: (filePath: string) => Promise<{ opened: boolean; reason?: string }>; fileExists: (filePath: string) => Promise; + getFileUrl: (filePath: string) => Promise; deleteFile: (filePath: string) => Promise; ensureDir: (dirPath: string) => Promise; @@ -404,9 +410,15 @@ const electronAPI: ElectronAPI = { }, readClipboardFiles: () => ipcRenderer.invoke('read-clipboard-files'), readFile: (filePath) => ipcRenderer.invoke('read-file', filePath), + readFileChunk: (filePath, start, end) => ipcRenderer.invoke('read-file-chunk', filePath, start, end), + getFileSize: (filePath) => ipcRenderer.invoke('get-file-size', filePath), writeFile: (filePath, data) => ipcRenderer.invoke('write-file', filePath, data), + appendFile: (filePath, data) => ipcRenderer.invoke('append-file', filePath, data), saveFileAs: (defaultFileName, data) => ipcRenderer.invoke('save-file-as', defaultFileName, data), + saveExistingFileAs: (sourceFilePath, defaultFileName) => ipcRenderer.invoke('save-existing-file-as', sourceFilePath, defaultFileName), + openFilePath: (filePath) => ipcRenderer.invoke('open-file-path', filePath), fileExists: (filePath) => ipcRenderer.invoke('file-exists', filePath), + getFileUrl: (filePath) => ipcRenderer.invoke('get-file-url', filePath), deleteFile: (filePath) => ipcRenderer.invoke('delete-file', filePath), ensureDir: (dirPath) => ipcRenderer.invoke('ensure-dir', dirPath), diff --git a/server/src/routes/link-metadata.ts b/server/src/routes/link-metadata.ts index b511f61..136a342 100644 --- a/server/src/routes/link-metadata.ts +++ b/server/src/routes/link-metadata.ts @@ -196,9 +196,8 @@ router.get('/link-metadata', async (req, res) => { const cached = metadataCache.get(url); if (cached) { - const { cachedAt, ...metadata } = cached; + const { cachedAt: _cachedAt, ...metadata } = cached; - console.log(`[Link Metadata] Cache hit for ${url} (cached at ${new Date(cachedAt).toISOString()})`); return res.json(metadata); } diff --git a/server/src/websocket/handler.ts b/server/src/websocket/handler.ts index 23b6461..fb0a6d6 100644 --- a/server/src/websocket/handler.ts +++ b/server/src/websocket/handler.ts @@ -484,6 +484,10 @@ export async function handleWebSocketMessage(connectionId: string, message: WsMe case 'direct-message': case 'direct-message-status': case 'direct-message-mutation': + case 'direct-message-typing': + case 'direct-message-sync-request': + case 'direct-message-sync': + case 'direct-call': case 'server_icon_peer_request': case 'server_icon_peer_data': forwardRtcMessage(user, message); diff --git a/toju-app/public/vlcjs/metoyou-vlc-player.js b/toju-app/public/vlcjs/metoyou-vlc-player.js new file mode 100644 index 0000000..598e9c7 --- /dev/null +++ b/toju-app/public/vlcjs/metoyou-vlc-player.js @@ -0,0 +1,8 @@ +(function registerMetoYouVlcPlaceholder(globalScope) { + globalScope.MetoYouVlcJs = { + isPlaceholder: true, + createPlayer() { + throw new Error('Experimental VLC.js playback is enabled, but no VLC.js runtime is bundled. Replace /vlcjs/metoyou-vlc-player.js with a runtime adapter to enable playback.'); + } + }; +})(window); diff --git a/toju-app/src/app/app.routes.ts b/toju-app/src/app/app.routes.ts index 9d5ac29..43fe380 100644 --- a/toju-app/src/app/app.routes.ts +++ b/toju-app/src/app/app.routes.ts @@ -44,6 +44,21 @@ export const routes: Routes = [ loadComponent: () => import('./domains/direct-message/feature/dm-workspace/dm-workspace.component').then((module) => module.DmWorkspaceComponent) }, + { + path: 'pm', + loadComponent: () => + import('./domains/direct-message/feature/dm-workspace/dm-workspace.component').then((module) => module.DmWorkspaceComponent) + }, + { + path: 'pm/:conversationId', + loadComponent: () => + import('./domains/direct-message/feature/dm-workspace/dm-workspace.component').then((module) => module.DmWorkspaceComponent) + }, + { + path: 'call/:callId', + loadComponent: () => + import('./features/direct-call/private-call.component').then((module) => module.PrivateCallComponent) + }, { path: 'settings', loadComponent: () => diff --git a/toju-app/src/app/app.ts b/toju-app/src/app/app.ts index 60ffdcf..9b85988 100644 --- a/toju-app/src/app/app.ts +++ b/toju-app/src/app/app.ts @@ -36,6 +36,7 @@ import { ElectronBridgeService } from './core/platform/electron/electron-bridge. import { UserStatusService } from './core/services/user-status.service'; import { GameActivityService } from './domains/game-activity'; import { PluginBootstrapService } from './domains/plugins'; +import { DirectCallService } from './domains/direct-call'; import { ServersRailComponent } from './features/servers/servers-rail/servers-rail.component'; import { TitleBarComponent } from './features/shell/title-bar/title-bar.component'; import { FloatingVoiceControlsComponent } from './domains/voice-session/feature/floating-voice-controls/floating-voice-controls.component'; @@ -99,6 +100,7 @@ export class App implements OnInit, OnDestroy { readonly electronBridge = inject(ElectronBridgeService); readonly userStatus = inject(UserStatusService); readonly gameActivity = inject(GameActivityService); + readonly directCalls = inject(DirectCallService); readonly dismissedDesktopUpdateNoticeKey = signal(null); readonly themeStudioFullscreenComponent = signal | null>(null); readonly themeStudioControlsPosition = signal<{ x: number; y: number } | null>(null); @@ -117,7 +119,11 @@ export class App implements OnInit, OnDestroy { return this.settingsModal.activePage() === 'theme' && this.settingsModal.themeStudioMinimized(); }); - readonly isDirectMessageRoute = computed(() => this.getRoutePath(this.currentRouteUrl()).startsWith('/dm')); + readonly isDirectMessageRoute = computed(() => { + const routePath = this.getRoutePath(this.currentRouteUrl()); + + return routePath.startsWith('/dm') || routePath.startsWith('/pm') || routePath.startsWith('/call'); + }); readonly desktopUpdateNoticeKey = computed(() => { const updateState = this.desktopUpdateState(); diff --git a/toju-app/src/app/core/platform/electron/electron-api.models.ts b/toju-app/src/app/core/platform/electron/electron-api.models.ts index 8fea11b..f6d2972 100644 --- a/toju-app/src/app/core/platform/electron/electron-api.models.ts +++ b/toju-app/src/app/core/platform/electron/electron-api.models.ts @@ -262,9 +262,15 @@ export interface ElectronApi { onDeepLinkReceived: (listener: (url: string) => void) => () => void; readClipboardFiles: () => Promise; readFile: (filePath: string) => Promise; + readFileChunk: (filePath: string, start: number, end: number) => Promise; + getFileSize: (filePath: string) => Promise; writeFile: (filePath: string, data: string) => Promise; + appendFile: (filePath: string, data: string) => Promise; saveFileAs: (defaultFileName: string, data: string) => Promise<{ saved: boolean; cancelled: boolean }>; + saveExistingFileAs?: (sourceFilePath: string, defaultFileName: string) => Promise<{ saved: boolean; cancelled: boolean }>; + openFilePath?: (filePath: string) => Promise<{ opened: boolean; reason?: string }>; fileExists: (filePath: string) => Promise; + getFileUrl: (filePath: string) => Promise; deleteFile: (filePath: string) => Promise; ensureDir: (dirPath: string) => Promise; onContextMenu: (listener: (params: ContextMenuParams) => void) => () => void; diff --git a/toju-app/src/app/core/services/notification-audio.service.ts b/toju-app/src/app/core/services/notification-audio.service.ts index 3ca43d0..ec0b5ce 100644 --- a/toju-app/src/app/core/services/notification-audio.service.ts +++ b/toju-app/src/app/core/services/notification-audio.service.ts @@ -7,6 +7,7 @@ import { Injectable, signal } from '@angular/core'; * Each key maps to a file in `src/assets/audio/`. */ export enum AppSound { + Call = 'call', Joining = 'joining', Leave = 'leave', Notification = 'notification' @@ -38,6 +39,8 @@ export class NotificationAudioService { private readonly sources = new Map(); + private readonly activeLoops = new Map(); + /** Reactive notification volume (0 - 1), persisted to localStorage. */ readonly notificationVolume = signal(this.loadVolume()); @@ -142,4 +145,37 @@ export class NotificationAudioService { }); }); } + + playLoop(sound: AppSound, volumeOverride?: number): void { + if (this.dndMuted() || this.activeLoops.has(sound)) + return; + + const src = this.sources.get(sound) ?? this.resolveAudioUrl(sound); + const vol = volumeOverride ?? this.notificationVolume(); + + if (vol === 0) + return; + + const audio = new Audio(src); + + audio.loop = true; + audio.preload = 'auto'; + audio.volume = Math.max(0, Math.min(1, vol)); + this.activeLoops.set(sound, audio); + audio.play().catch(() => { + this.activeLoops.delete(sound); + }); + } + + stop(sound: AppSound): void { + const audio = this.activeLoops.get(sound); + + if (!audio) + return; + + audio.pause(); + audio.currentTime = 0; + audio.remove(); + this.activeLoops.delete(sound); + } } diff --git a/toju-app/src/app/domains/README.md b/toju-app/src/app/domains/README.md index d43ae82..d232c16 100644 --- a/toju-app/src/app/domains/README.md +++ b/toju-app/src/app/domains/README.md @@ -13,6 +13,8 @@ infrastructure adapters and UI. | **authentication** | Login / register HTTP orchestration, user-bar UI | `AuthenticationService` | | **chat** | Messaging rules, sync logic, GIF/Klipy integration, chat UI | `KlipyService`, `canEditMessage()`, `ChatMessagesComponent` | | **direct-message** | One-to-one WebRTC messages, offline queueing, delivery state, and friends | `DirectMessageService`, `FriendService` | +| **direct-call** | Direct and small-group private calls initiated from people cards and direct messages | `DirectCallService` | +| **experimental-media** | Optional media playback experiments kept isolated from the default attachment path | `ExperimentalMediaSettingsService` | | **game-activity** | Local game detection, server metadata matching, P2P now-playing sync, and elapsed playtime formatting | `GameActivityService`, `formatGameActivityElapsed()` | | **notifications** | Notification preferences, unread tracking, desktop alert orchestration | `NotificationsFacade` | | **plugins** | Client-only plugin manifests, load ordering, registry state, and signal-server support metadata | `PluginHostService`, `PluginRegistryService` | @@ -32,6 +34,8 @@ The larger domains also keep longer design notes in their own folders: - [authentication/README.md](authentication/README.md) - [chat/README.md](chat/README.md) - [direct-message/README.md](direct-message/README.md) +- [direct-call/README.md](direct-call/README.md) +- [experimental-media/README.md](experimental-media/README.md) - [notifications/README.md](notifications/README.md) - [plugins/README.md](plugins/README.md) - [profile-avatar/README.md](profile-avatar/README.md) diff --git a/toju-app/src/app/domains/attachment/README.md b/toju-app/src/app/domains/attachment/README.md index a7d7c87..ede367f 100644 --- a/toju-app/src/app/domains/attachment/README.md +++ b/toju-app/src/app/domains/attachment/README.md @@ -76,6 +76,8 @@ graph TD Files move between peers using a request/response pattern over the WebRTC data channel. The sender announces a file, the receiver requests it, and chunks flow back one by one. +When Electron serves a file from disk, the sender reads one chunk at a time and uses the buffered data-channel send path so large saved media does not get loaded into renderer memory or flood the receiver. + ```mermaid sequenceDiagram participant S as Sender @@ -90,12 +92,12 @@ sequenceDiagram loop Every 64 KB chunk S->>R: file-chunk (attachmentId, index, data, progress, speed) - Note over R: Append to chunk buffer + Note over R: Append to chunk buffer, or append media directly to disk on Electron Note over R: Update progress + EWMA speed end Note over R: All chunks received - Note over R: Reassemble blob + Note over R: Reassemble blob, or open completed Electron media from disk Note over R: shouldPersistDownloadedAttachment? Save to disk ``` @@ -131,17 +133,27 @@ When the user navigates to a room, the manager watches the route and decides whi The decision lives in `shouldAutoRequestWhenWatched()` which calls `isAttachmentMedia()` and checks against `MAX_AUTO_SAVE_SIZE_BYTES`. +Browser chat views render audio/video larger than 50 MB with the same generic file interface as other downloads, even after the bytes are available. Attachments with audio/video MIME types that Chromium reports as unsupported also use the generic file interface instead of a broken native player. + +An optional experimental VLC.js adapter can be enabled from General settings. When enabled, unsupported downloaded audio/video files show a manual Play action that lazy-loads `/vlcjs/metoyou-vlc-player.js`. The runtime is intentionally isolated in the experimental media domain and is not part of the default attachment path. + ## Persistence -On Electron, completed downloads are written to the app-data directory. The storage path is resolved per room and bucket: +On Electron, local audio/video uploads are played through the original filesystem path when Electron exposes one, and received audio/video downloads are appended to an app-data file as chunks arrive. Completed audio/video downloads are then played through a file-backed media URL instead of being reloaded into a renderer `Blob`, which avoids full-file renderer memory pressure during download, startup restore, and playback. The storage path for downloaded server-room files is resolved per room and bucket: ``` -{appDataPath}/{serverId}/{roomName}/{bucket}/{attachmentId}.{ext?} +{appDataPath}/server/{roomName}/{bucket}/{attachmentId}.{ext?} ``` -Room names are sanitised to remove filesystem-unsafe characters. The bucket is either `attachments` or `media` depending on the attachment type. The original filename is kept in attachment metadata for display and downloads, but the stored file uses the attachment ID plus the original extension so two uploads with the same visible name do not overwrite each other. +Direct-message attachments use the conversation id instead of the server-room path: -`AttachmentPersistenceService` handles startup migration from an older localStorage-based format into the database, and restores attachment metadata from the DB on init. On browser builds, files stay in memory only. +``` +{appDataPath}/direct-messages/{conversationId}/{bucket}/{attachmentId}.{ext?} +``` + +Room and conversation names are sanitised to remove filesystem-unsafe characters. The bucket is `video`, `audio`, `image`, or `files` depending on the attachment type. The original filename is kept in attachment metadata for display and downloads, but the stored file uses the attachment ID plus the original extension so two uploads with the same visible name do not overwrite each other. + +`AttachmentPersistenceService` handles startup migration from an older localStorage-based format into the database, and restores attachment metadata from the DB on init. On Electron, saved audio/video records are restored as file-backed URLs; other restored files still need their bytes loaded when a `Blob` URL is required. On browser builds, files stay in memory only. ## Runtime store diff --git a/toju-app/src/app/domains/attachment/application/services/attachment-persistence.service.ts b/toju-app/src/app/domains/attachment/application/services/attachment-persistence.service.ts index ba81074..b7dbc3b 100644 --- a/toju-app/src/app/domains/attachment/application/services/attachment-persistence.service.ts +++ b/toju-app/src/app/domains/attachment/application/services/attachment-persistence.service.ts @@ -70,17 +70,20 @@ export class AttachmentPersistenceService { } catch { /* persistence is best-effort */ } } - async saveFileToDisk(attachment: Attachment, blob: Blob): Promise { + async saveFileToDisk(attachment: Attachment, blob: Blob): Promise { try { - const roomName = await this.resolveCurrentRoomName(); - const diskPath = await this.attachmentStorage.saveBlob(attachment, blob, roomName); + const storageContainer = await this.resolveStorageContainerName(attachment); + const diskPath = await this.attachmentStorage.saveBlob(attachment, blob, storageContainer); if (!diskPath) - return; + return null; attachment.savedPath = diskPath; void this.persistAttachmentMeta(attachment); + return diskPath; } catch { /* disk save is best-effort */ } + + return null; } async initFromDatabase(): Promise { @@ -120,6 +123,10 @@ export class AttachmentPersistenceService { }); } + async resolveStorageContainerName(attachment: Pick): Promise { + return this.runtimeStore.getMessageRoomId(attachment.messageId) ?? await this.resolveCurrentRoomName(); + } + private async loadFromDatabase(): Promise { try { const allRecords: AttachmentMeta[] = await this.database.getAllAttachments(); @@ -176,6 +183,11 @@ export class AttachmentPersistenceService { continue; if (attachment.savedPath) { + if (await this.restoreMediaAttachmentFromFileUrl(attachment, attachment.savedPath)) { + hasChanges = true; + continue; + } + const savedBase64 = await this.attachmentStorage.readFile(attachment.savedPath); if (savedBase64) { @@ -186,6 +198,11 @@ export class AttachmentPersistenceService { } if (attachment.filePath) { + if (await this.restoreMediaAttachmentFromFileUrl(attachment, attachment.filePath)) { + hasChanges = true; + continue; + } + const originalBase64 = await this.attachmentStorage.readFile(attachment.filePath); if (originalBase64) { @@ -222,6 +239,26 @@ export class AttachmentPersistenceService { ); } + private async restoreMediaAttachmentFromFileUrl(attachment: Attachment, filePath: string): Promise { + if (!this.isPlayableMedia(attachment)) { + return false; + } + + const fileUrl = await this.attachmentStorage.getFileUrl(filePath); + + if (!fileUrl) { + return false; + } + + attachment.objectUrl = fileUrl; + attachment.available = true; + return true; + } + + private isPlayableMedia(attachment: Pick): boolean { + return attachment.mime.startsWith('video/') || attachment.mime.startsWith('audio/'); + } + private async getRetainedSavedPathsForOtherMessages(messageId: string): Promise> { const retainedSavedPaths = new Set(); diff --git a/toju-app/src/app/domains/attachment/application/services/attachment-transfer-transport.service.ts b/toju-app/src/app/domains/attachment/application/services/attachment-transfer-transport.service.ts index bfcc33b..2d6752e 100644 --- a/toju-app/src/app/domains/attachment/application/services/attachment-transfer-transport.service.ts +++ b/toju-app/src/app/domains/attachment/application/services/attachment-transfer-transport.service.ts @@ -49,6 +49,11 @@ export class AttachmentTransferTransportService { diskPath: string, isCancelled: () => boolean ): Promise { + if (this.attachmentStorage.canReadFileChunks()) { + await this.streamFileFromDiskChunksToPeer(targetPeerId, messageId, fileId, diskPath, isCancelled); + return; + } + const base64Full = await this.attachmentStorage.readFile(diskPath); if (!base64Full) @@ -78,7 +83,45 @@ export class AttachmentTransferTransportService { data: base64Chunk }; - this.webrtc.sendToPeer(targetPeerId, fileChunkEvent); + await this.webrtc.sendToPeerBuffered(targetPeerId, fileChunkEvent); + } + } + + private async streamFileFromDiskChunksToPeer( + targetPeerId: string, + messageId: string, + fileId: string, + diskPath: string, + isCancelled: () => boolean + ): Promise { + const fileSize = await this.attachmentStorage.getFileSize(diskPath); + + if (fileSize === null) + return; + + const totalChunks = Math.ceil(fileSize / FILE_CHUNK_SIZE_BYTES); + + for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) { + if (isCancelled()) + break; + + const start = chunkIndex * FILE_CHUNK_SIZE_BYTES; + const end = Math.min(fileSize, start + FILE_CHUNK_SIZE_BYTES); + const base64Chunk = await this.attachmentStorage.readFileChunk(diskPath, start, end); + + if (base64Chunk === null) + return; + + const fileChunkEvent: FileChunkEvent = { + type: 'file-chunk', + messageId, + fileId, + index: chunkIndex, + total: totalChunks, + data: base64Chunk + }; + + await this.webrtc.sendToPeerBuffered(targetPeerId, fileChunkEvent); } } } diff --git a/toju-app/src/app/domains/attachment/application/services/attachment-transfer.service.ts b/toju-app/src/app/domains/attachment/application/services/attachment-transfer.service.ts index 6c7fe9f..4940930 100644 --- a/toju-app/src/app/domains/attachment/application/services/attachment-transfer.service.ts +++ b/toju-app/src/app/domains/attachment/application/services/attachment-transfer.service.ts @@ -28,6 +28,22 @@ import { AttachmentPersistenceService } from './attachment-persistence.service'; import { AttachmentRuntimeStore } from './attachment-runtime.store'; import { AttachmentTransferTransportService } from './attachment-transfer-transport.service'; +interface DiskReceiveAssembly { + path: string; + receivedCount: number; + receivedIndexes: Set; + total: number; +} + +interface ValidFileChunkPayload { + data: string; + fileId: string; + fromPeerId?: string; + index: number; + messageId: string; + total: number; +} + @Injectable({ providedIn: 'root' }) export class AttachmentTransferService { private readonly webrtc = inject(RealtimeSessionFacade); @@ -36,6 +52,9 @@ export class AttachmentTransferService { private readonly persistence = inject(AttachmentPersistenceService); private readonly transport = inject(AttachmentTransferTransportService); + private readonly diskReceiveAssemblies = new Map(); + private readonly diskReceiveChains = new Map>(); + getAttachmentMetasForMessages(messageIds: string[]): Record { const result: Record = {}; @@ -174,10 +193,19 @@ export class AttachmentTransferService { attachments.push(attachment); this.runtimeStore.setOriginalFile(`${messageId}:${fileId}`, file); - try { - attachment.objectUrl = URL.createObjectURL(file); + const fileUrl = attachment.filePath && this.isPlayableMedia(attachment) + ? await this.attachmentStorage.getFileUrl(attachment.filePath) + : null; + + if (fileUrl) { + attachment.objectUrl = fileUrl; attachment.available = true; - } catch { /* non-critical */ } + } else { + try { + attachment.objectUrl = URL.createObjectURL(file); + attachment.available = true; + } catch { /* non-critical */ } + } if (attachment.size <= MAX_AUTO_SAVE_SIZE_BYTES) { void this.persistence.saveFileToDisk(attachment, file); @@ -257,6 +285,19 @@ export class AttachmentTransferService { if (!attachment) return; + if (this.shouldReceiveToDisk(attachment)) { + this.enqueueDiskFileChunk(attachment, { + data, + fileId, + fromPeerId, + index, + messageId, + total + }); + + return; + } + const decodedBytes = this.transport.decodeBase64(data); const assemblyKey = `${messageId}:${fileId}`; const requestKey = this.buildRequestKey(messageId, fileId); @@ -274,7 +315,7 @@ export class AttachmentTransferService { this.updateTransferProgress(attachment, decodedBytes, fromPeerId); this.runtimeStore.touch(); - this.finalizeTransferIfComplete(attachment, assemblyKey, total); + void this.finalizeTransferIfComplete(attachment, assemblyKey, total); } async handleFileRequest(payload: FileRequestPayload): Promise { @@ -375,6 +416,7 @@ export class AttachmentTransferService { this.runtimeStore.deleteChunkBuffer(assemblyKey); this.runtimeStore.deleteChunkCount(assemblyKey); + void this.deleteDiskReceiveAssembly(assemblyKey); attachment.receivedBytes = 0; attachment.speedBps = 0; @@ -533,11 +575,11 @@ export class AttachmentTransferService { attachment.lastUpdateMs = now; } - private finalizeTransferIfComplete( + private async finalizeTransferIfComplete( attachment: Attachment, assemblyKey: string, total: number - ): void { + ): Promise { const receivedChunkCount = this.runtimeStore.getChunkCount(assemblyKey) ?? 0; const completeBuffer = this.runtimeStore.getChunkBuffer(assemblyKey); @@ -551,16 +593,167 @@ export class AttachmentTransferService { const blob = new Blob(completeBuffer, { type: attachment.mime }); - attachment.available = true; - attachment.objectUrl = URL.createObjectURL(blob); - - if (shouldPersistDownloadedAttachment(attachment)) { - void this.persistence.saveFileToDisk(attachment, blob); - } - this.runtimeStore.deleteChunkBuffer(assemblyKey); this.runtimeStore.deleteChunkCount(assemblyKey); + + if (shouldPersistDownloadedAttachment(attachment)) { + const diskPath = await this.persistence.saveFileToDisk(attachment, blob); + const fileUrl = diskPath && this.isPlayableMedia(attachment) + ? await this.attachmentStorage.getFileUrl(diskPath) + : null; + + if (fileUrl) { + attachment.objectUrl = fileUrl; + } else { + attachment.objectUrl = URL.createObjectURL(blob); + } + } else { + attachment.objectUrl = URL.createObjectURL(blob); + } + + attachment.available = true; this.runtimeStore.touch(); void this.persistence.persistAttachmentMeta(attachment); } + + private isPlayableMedia(attachment: Pick): boolean { + return attachment.mime.startsWith('video/') || attachment.mime.startsWith('audio/'); + } + + private shouldReceiveToDisk(attachment: Attachment): boolean { + return this.isPlayableMedia(attachment) && !attachment.filePath && this.attachmentStorage.canWriteFiles(); + } + + private enqueueDiskFileChunk( + attachment: Attachment, + payload: ValidFileChunkPayload + ): void { + const assemblyKey = `${payload.messageId}:${payload.fileId}`; + const previous = this.diskReceiveChains.get(assemblyKey) ?? Promise.resolve(); + const next = previous + .catch(() => undefined) + .then(() => this.handleDiskFileChunk(attachment, assemblyKey, payload)) + .catch((error: unknown) => this.handleDiskReceiveFailure(attachment, assemblyKey, error)); + + this.diskReceiveChains.set(assemblyKey, next); + void next.finally(() => { + if (this.diskReceiveChains.get(assemblyKey) === next) { + this.diskReceiveChains.delete(assemblyKey); + } + }); + } + + private async handleDiskFileChunk( + attachment: Attachment, + assemblyKey: string, + payload: ValidFileChunkPayload + ): Promise { + const decodedBytes = this.transport.decodeBase64(payload.data); + const requestKey = this.buildRequestKey(payload.messageId, payload.fileId); + + this.runtimeStore.deletePendingRequest(requestKey); + this.clearAttachmentRequestError(attachment); + + const assembly = await this.getOrCreateDiskReceiveAssembly(attachment, assemblyKey, payload.total); + + if (!assembly) { + throw new Error('Could not prepare media download on disk.'); + } + + if (assembly.receivedIndexes.has(payload.index)) { + return; + } + + if (payload.index !== assembly.receivedCount) { + throw new Error('Received media chunks out of order. Retry the download.'); + } + + const didAppend = await this.attachmentStorage.appendBase64(assembly.path, payload.data); + + if (!didAppend) { + throw new Error('Could not write media download to disk.'); + } + + assembly.receivedIndexes.add(payload.index); + assembly.receivedCount += 1; + this.updateTransferProgress(attachment, decodedBytes, payload.fromPeerId); + this.runtimeStore.touch(); + + if (assembly.receivedCount < assembly.total && (attachment.receivedBytes ?? 0) < attachment.size) { + return; + } + + const fileUrl = await this.attachmentStorage.getFileUrl(assembly.path); + + if (!fileUrl) { + throw new Error('Could not open completed media download from disk.'); + } + + attachment.savedPath = assembly.path; + attachment.objectUrl = fileUrl; + attachment.available = true; + this.diskReceiveAssemblies.delete(assemblyKey); + this.runtimeStore.touch(); + void this.persistence.persistAttachmentMeta(attachment); + } + + private async getOrCreateDiskReceiveAssembly( + attachment: Attachment, + assemblyKey: string, + total: number + ): Promise { + const existing = this.diskReceiveAssemblies.get(assemblyKey); + + if (existing) { + return existing; + } + + const storageContainer = await this.persistence.resolveStorageContainerName(attachment); + const path = await this.attachmentStorage.createWritableFile(attachment, storageContainer); + + if (!path) { + return null; + } + + const assembly: DiskReceiveAssembly = { + path, + receivedCount: 0, + receivedIndexes: new Set(), + total + }; + + this.diskReceiveAssemblies.set(assemblyKey, assembly); + + return assembly; + } + + private async handleDiskReceiveFailure( + attachment: Attachment, + assemblyKey: string, + error: unknown + ): Promise { + await this.deleteDiskReceiveAssembly(assemblyKey); + + attachment.available = false; + attachment.objectUrl = undefined; + attachment.receivedBytes = 0; + attachment.speedBps = 0; + attachment.startedAtMs = undefined; + attachment.lastUpdateMs = undefined; + attachment.requestError = error instanceof Error && error.message + ? error.message + : 'Media download failed. Retry the download.'; + + this.runtimeStore.touch(); + } + + private async deleteDiskReceiveAssembly(assemblyKey: string): Promise { + const assembly = this.diskReceiveAssemblies.get(assemblyKey); + + this.diskReceiveAssemblies.delete(assemblyKey); + + if (assembly?.path) { + await this.attachmentStorage.deleteFile(assembly.path); + } + } } diff --git a/toju-app/src/app/domains/attachment/domain/constants/attachment.constants.ts b/toju-app/src/app/domains/attachment/domain/constants/attachment.constants.ts index 8edcc15..a36f307 100644 --- a/toju-app/src/app/domains/attachment/domain/constants/attachment.constants.ts +++ b/toju-app/src/app/domains/attachment/domain/constants/attachment.constants.ts @@ -1,2 +1,5 @@ /** Maximum file size (bytes) that is automatically saved or pushed for inline previews. */ export const MAX_AUTO_SAVE_SIZE_BYTES = 10 * 1024 * 1024; // 10 MB + +/** Maximum browser-only audio/video size that renders with an inline media player. */ +export const MAX_BROWSER_INLINE_MEDIA_SIZE_BYTES = 50 * 1024 * 1024; // 50 MB diff --git a/toju-app/src/app/domains/attachment/infrastructure/services/attachment-storage.service.ts b/toju-app/src/app/domains/attachment/infrastructure/services/attachment-storage.service.ts index a688cab..4994d28 100644 --- a/toju-app/src/app/domains/attachment/infrastructure/services/attachment-storage.service.ts +++ b/toju-app/src/app/domains/attachment/infrastructure/services/attachment-storage.service.ts @@ -7,10 +7,24 @@ import { sanitizeAttachmentRoomName } from '../util/attachment-storage.util'; +const DIRECT_MESSAGE_STORAGE_PREFIX = 'direct-message:'; + @Injectable({ providedIn: 'root' }) export class AttachmentStorageService { private readonly electronBridge = inject(ElectronBridgeService); + canWriteFiles(): boolean { + const electronApi = this.electronBridge.getApi(); + + return !!electronApi?.appendFile && !!electronApi.writeFile && !!electronApi.getAppDataPath; + } + + canReadFileChunks(): boolean { + const electronApi = this.electronBridge.getApi(); + + return !!electronApi?.readFileChunk && !!electronApi.getFileSize; + } + async resolveExistingPath( attachment: Pick ): Promise { @@ -41,10 +55,73 @@ export class AttachmentStorageService { } } + async getFileSize(filePath: string): Promise { + const electronApi = this.electronBridge.getApi(); + + if (!electronApi?.getFileSize || !filePath) { + return null; + } + + try { + return await electronApi.getFileSize(filePath); + } catch { + return null; + } + } + + async readFileChunk(filePath: string, start: number, end: number): Promise { + const electronApi = this.electronBridge.getApi(); + + if (!electronApi?.readFileChunk || !filePath) { + return null; + } + + try { + return await electronApi.readFileChunk(filePath, start, end); + } catch { + return null; + } + } + + async getFileUrl(filePath: string): Promise { + const electronApi = this.electronBridge.getApi(); + + if (!electronApi?.getFileUrl || !filePath) { + return null; + } + + try { + return await electronApi.getFileUrl(filePath); + } catch { + return null; + } + } + async saveBlob( attachment: Pick, blob: Blob, roomName: string + ): Promise { + const diskPath = await this.createWritableFile(attachment, roomName); + + if (!diskPath) { + return null; + } + + try { + const arrayBuffer = await blob.arrayBuffer(); + + await this.writeBase64(diskPath, this.arrayBufferToBase64(arrayBuffer)); + + return diskPath; + } catch { + return null; + } + } + + async createWritableFile( + attachment: Pick, + roomName: string ): Promise { const electronApi = this.electronBridge.getApi(); const appDataPath = await this.resolveAppDataPath(); @@ -54,14 +131,12 @@ export class AttachmentStorageService { } try { - const directoryPath = `${appDataPath}/server/${sanitizeAttachmentRoomName(roomName)}/${resolveAttachmentStorageBucket(attachment.mime)}`; + const directoryPath = this.resolveStorageDirectoryPath(appDataPath, roomName, attachment.mime); await electronApi.ensureDir(directoryPath); - - const arrayBuffer = await blob.arrayBuffer(); const diskPath = `${directoryPath}/${resolveAttachmentStoredFilename(attachment.id, attachment.filename)}`; - await electronApi.writeFile(diskPath, this.arrayBufferToBase64(arrayBuffer)); + await this.writeBase64(diskPath, ''); return diskPath; } catch { @@ -69,6 +144,20 @@ export class AttachmentStorageService { } } + async appendBase64(filePath: string, base64Data: string): Promise { + const electronApi = this.electronBridge.getApi(); + + if (!electronApi?.appendFile || !filePath) { + return false; + } + + try { + return await electronApi.appendFile(filePath, base64Data); + } catch { + return false; + } + } + async deleteFile(filePath: string): Promise { const electronApi = this.electronBridge.getApi(); @@ -95,6 +184,18 @@ export class AttachmentStorageService { } } + private resolveStorageDirectoryPath(appDataPath: string, containerName: string, mime: string): string { + const bucket = resolveAttachmentStorageBucket(mime); + + if (containerName.startsWith(DIRECT_MESSAGE_STORAGE_PREFIX)) { + const conversationId = containerName.slice(DIRECT_MESSAGE_STORAGE_PREFIX.length); + + return `${appDataPath}/direct-messages/${sanitizeAttachmentRoomName(conversationId)}/${bucket}`; + } + + return `${appDataPath}/server/${sanitizeAttachmentRoomName(containerName)}/${bucket}`; + } + private async findExistingPath(candidates: (string | null | undefined)[]): Promise { const electronApi = this.electronBridge.getApi(); @@ -117,6 +218,16 @@ export class AttachmentStorageService { return null; } + private async writeBase64(filePath: string, base64Data: string): Promise { + const electronApi = this.electronBridge.getApi(); + + if (!electronApi || !filePath) { + return false; + } + + return await electronApi.writeFile(filePath, base64Data); + } + private arrayBufferToBase64(buffer: ArrayBuffer): string { let binary = ''; diff --git a/toju-app/src/app/domains/chat/feature/chat-messages/chat-messages.component.ts b/toju-app/src/app/domains/chat/feature/chat-messages/chat-messages.component.ts index 6865c81..3816951 100644 --- a/toju-app/src/app/domains/chat/feature/chat-messages/chat-messages.component.ts +++ b/toju-app/src/app/domains/chat/feature/chat-messages/chat-messages.component.ts @@ -278,6 +278,19 @@ export class ChatMessagesComponent { const electronApi = this.electronBridge.getApi(); if (electronApi) { + const diskPath = this.getAttachmentDiskPath(attachment); + + if (diskPath && electronApi.saveExistingFileAs) { + try { + const result = await electronApi.saveExistingFileAs(diskPath, attachment.filename); + + if (result.saved || result.cancelled) + return; + } catch { + /* fall back to blob/browser download */ + } + } + const blob = await this.getAttachmentBlob(attachment); if (blob) { @@ -326,6 +339,9 @@ export class ChatMessagesComponent { if (!attachment.objectUrl) return null; + if (attachment.objectUrl.startsWith('file:')) + return null; + try { const response = await fetch(attachment.objectUrl); @@ -335,6 +351,10 @@ export class ChatMessagesComponent { } } + private getAttachmentDiskPath(attachment: Attachment): string | null { + return attachment.savedPath || attachment.filePath || null; + } + private blobToBase64(blob: Blob): Promise { return new Promise((resolve, reject) => { const reader = new FileReader(); diff --git a/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.html b/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.html index 0867438..9d74753 100644 --- a/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.html +++ b/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.html @@ -112,7 +112,8 @@ type="button" class="font-semibold text-primary underline-offset-4 hover:underline" (click)="openMissingPluginStore(missingEmbed)" - >store + store. } @@ -359,6 +360,30 @@ } } @else { + @if (att.canOpenExternally) { + + } + @if (att.canUseExperimentalPlayer) { + + } + } + @if (att.canUseExperimentalPlayer) { + + } } @@ -379,6 +428,22 @@ } + @if (att.experimentalPlayerActive && att.objectUrl) { + @defer { + + } @loading { +
+ Loading experimental player... +
+ } + } } } diff --git a/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.ts b/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.ts index c34c92b..526252e 100644 --- a/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.ts +++ b/toju-app/src/app/domains/chat/feature/chat-messages/components/message-item/chat-message-item.component.ts @@ -20,7 +20,9 @@ import { lucideDownload, lucideEdit, lucideExpand, + lucideExternalLink, lucideImage, + lucidePlay, lucideReply, lucideSmile, lucideTrash2, @@ -29,8 +31,15 @@ import { import { Attachment, AttachmentFacade, + MAX_BROWSER_INLINE_MEDIA_SIZE_BYTES, MAX_AUTO_SAVE_SIZE_BYTES } from '../../../../../attachment'; +import { PlatformService } from '../../../../../../core/platform'; +import { ElectronBridgeService } from '../../../../../../core/platform/electron/electron-bridge.service'; +import { + ExperimentalMediaSettingsService +} from '../../../../../experimental-media'; +import { ExperimentalVlcPlayerComponent } from '../../../../../experimental-media/feature/experimental-vlc-player/experimental-vlc-player.component'; import { KlipyService } from '../../../../application/services/klipy.service'; import { hasDedicatedChatEmbed } from '../../../../domain/rules/link-embed.rules'; import { @@ -81,6 +90,9 @@ const RICH_MARKDOWN_PATTERNS = [ ]; interface ChatMessageAttachmentViewModel extends Attachment { + canOpenExternally: boolean; + canUseExperimentalPlayer: boolean; + experimentalPlayerActive: boolean; isAudio: boolean; isUploader: boolean; isVideo: boolean; @@ -112,6 +124,7 @@ interface MissingPluginEmbedFallback { ChatLinkEmbedComponent, UserAvatarComponent, PluginRenderHostComponent, + ExperimentalVlcPlayerComponent, ThemeNodeDirective ], viewProviders: [ @@ -120,7 +133,9 @@ interface MissingPluginEmbedFallback { lucideDownload, lucideEdit, lucideExpand, + lucideExternalLink, lucideImage, + lucidePlay, lucideReply, lucideSmile, lucideTrash2, @@ -140,9 +155,14 @@ export class ChatMessageItemComponent { private readonly klipy = inject(KlipyService); private readonly pluginRequirements = inject(PluginRequirementStateService); private readonly pluginUi = inject(PluginUiRegistryService); + private readonly electronBridge = inject(ElectronBridgeService); + private readonly platform = inject(PlatformService); + private readonly experimentalMedia = inject(ExperimentalMediaSettingsService); private readonly profileCard = inject(ProfileCardService); private readonly router = inject(Router); private readonly attachmentVersion = signal(this.attachmentsSvc.updated()); + private readonly experimentalPlayerAttachmentId = signal(null); + private readonly mediaSupportCache = new Map(); readonly message = input.required(); readonly repliedMessage = input(); @@ -539,13 +559,51 @@ export class ChatMessageItemComponent { this.downloadRequested.emit(attachment); } + openExperimentalPlayer(attachment: Attachment): void { + if (!attachment.available || !attachment.objectUrl) { + return; + } + + this.experimentalPlayerAttachmentId.set(attachment.id); + } + + async openAttachmentExternally(attachment: Attachment): Promise { + const diskPath = this.getAttachmentDiskPath(attachment); + const electronApi = this.electronBridge.getApi(); + + if (!diskPath || !electronApi?.openFilePath) { + return; + } + + await electronApi.openFilePath(diskPath); + } + + closeExperimentalPlayer(): void { + this.experimentalPlayerAttachmentId.set(null); + } + private buildAttachmentViewModel(attachment: Attachment): ChatMessageAttachmentViewModel { - const isVideo = this.isVideoAttachment(attachment); - const isAudio = this.isAudioAttachment(attachment); + const isRawVideo = this.isVideoAttachment(attachment); + const isRawAudio = this.isAudioAttachment(attachment); + const isRawPlayableMedia = isRawVideo || isRawAudio; + const isNativePlayableMedia = this.canPlayMediaType(attachment.mime); + const shouldUseDefaultFileInterface = isRawPlayableMedia && + (!isNativePlayableMedia || + (this.platform.isBrowser && attachment.size > MAX_BROWSER_INLINE_MEDIA_SIZE_BYTES)); + const isVideo = isRawVideo && !shouldUseDefaultFileInterface; + const isAudio = isRawAudio && !shouldUseDefaultFileInterface; const requiresMediaDownloadAcceptance = (isVideo || isAudio) && attachment.size > MAX_AUTO_SAVE_SIZE_BYTES; + const canUseExperimentalPlayer = this.experimentalMedia.vlcJsPlaybackEnabled() && + shouldUseDefaultFileInterface && + isRawPlayableMedia && + attachment.available && + !!attachment.objectUrl; return { ...attachment, + canOpenExternally: this.platform.isElectron && attachment.available && !!this.getAttachmentDiskPath(attachment), + canUseExperimentalPlayer, + experimentalPlayerActive: canUseExperimentalPlayer && this.experimentalPlayerAttachmentId() === attachment.id, isAudio, isUploader: this.isUploader(attachment), isVideo, @@ -572,6 +630,30 @@ export class ChatMessageItemComponent { private getLiveAttachment(attachmentId: string): Attachment | undefined { return this.attachmentsSvc.getForMessage(this.message().id).find((attachment) => attachment.id === attachmentId); } + + private getAttachmentDiskPath(attachment: Attachment): string | null { + return attachment.savedPath || attachment.filePath || null; + } + + private canPlayMediaType(mime: string): boolean { + if (!mime.startsWith('video/') && !mime.startsWith('audio/')) { + return false; + } + + const cached = this.mediaSupportCache.get(mime); + + if (cached !== undefined) { + return cached; + } + + const element = document.createElement(mime.startsWith('video/') ? 'video' : 'audio'); + + const canPlay = element.canPlayType(mime) !== ''; + + this.mediaSupportCache.set(mime, canPlay); + + return canPlay; + } } function parsePluginEmbedToken(content: string): PluginEmbedToken | null { diff --git a/toju-app/src/app/domains/direct-call/README.md b/toju-app/src/app/domains/direct-call/README.md new file mode 100644 index 0000000..a808adf --- /dev/null +++ b/toju-app/src/app/domains/direct-call/README.md @@ -0,0 +1,16 @@ +# Direct Call Domain + +Direct calls coordinate private voice sessions started from people cards, direct-message headers, or active-call rail icons. The domain owns call session state and call-control events; media capture, camera, screen sharing, playback, and voice activity stay in the existing voice and screen-share domains. + +## Flow + +1. `DirectCallService.startCall()` creates or reuses the direct-message conversation for a peer, while `startConversationCall()` starts from an existing one-to-one or group conversation. Both paths reuse a live call for the same peer or group before creating a new session. +2. The caller joins a call-scoped voice session and sends a `direct-call` ring event through `PeerDeliveryService`. Joining a direct call first leaves any other joined call or server voice channel. +3. The recipient stores the incoming session, loops `assets/audio/call.wav`, and shows a desktop notification when permission allows. The ring stops when the recipient joins, leaves, or the call ends. +4. Opening `/call/:callId` shows the private call surface with portraits, voice indicators, media controls, screen/camera tiles, add-user control, and a narrow DM chat panel. +5. If a third participant is invited, the call creates a fresh empty group conversation and switches the call chat panel to it. Existing one-to-one messages stay in the original PM and are not copied into the group chat. +6. Starting a call from a group chat uses the group conversation id as the call id and rings every other participant. +7. Joining, leaving, ending, participant additions, and call chat conversion updates are mirrored as `direct-call` events over the same P2P/signaling fallback path used by direct messages. +8. The server rail shows call icons only while at least one participant is joined. If a user is viewing a private call after the session ends, the route returns to the call's chat view. + +Two-person calls use the one-to-one direct-message conversation id as their call id. Converted group calls keep the original call id for media routing but point `conversationId` at the new group chat so active streams stay connected while the chat history boundary changes. diff --git a/toju-app/src/app/domains/direct-call/application/services/direct-call.service.spec.ts b/toju-app/src/app/domains/direct-call/application/services/direct-call.service.spec.ts new file mode 100644 index 0000000..4aaebd7 --- /dev/null +++ b/toju-app/src/app/domains/direct-call/application/services/direct-call.service.spec.ts @@ -0,0 +1,522 @@ +import { + Injector, + runInInjectionContext, + signal, + ɵChangeDetectionScheduler as ChangeDetectionScheduler, + ɵEffectScheduler as EffectScheduler +} from '@angular/core'; +import { Router } from '@angular/router'; +import { Store } from '@ngrx/store'; +import { Subject } from 'rxjs'; +import { NotificationAudioService, AppSound } from '../../../../core/services/notification-audio.service'; +import { + VoiceActivityService, + VoiceConnectionFacade, + VoicePlaybackService +} from '../../../voice-connection'; +import { VoiceSessionFacade } from '../../../voice-session'; +import { DirectMessageService, PeerDeliveryService } from '../../../direct-message'; +import { selectAllUsers, selectCurrentUser } from '../../../../store/users/users.selectors'; +import type { + ChatEvent, + DirectMessageParticipant, + User +} from '../../../../shared-kernel'; +import type { DirectMessageConversation } from '../../../direct-message'; +import type { DirectCallSession } from '../../domain/models/direct-call.model'; +import { DirectCallService } from './direct-call.service'; + +const alice = createUser('alice', 'Alice'); +const bob = createUser('bob', 'Bob'); +const charlie = createUser('charlie', 'Charlie'); + +describe('DirectCallService', () => { + it('only keeps sessions visible while a participant is joined', () => { + const context = createServiceContext({ currentUser: alice, allUsers: [alice, bob] }); + + expect(context.service.hasOngoingActivity(createSession('calling', false))).toBe(false); + expect(context.service.hasOngoingActivity(createSession('ringing', false))).toBe(false); + expect(context.service.hasOngoingActivity(createSession('connected', true))).toBe(true); + expect(context.service.hasOngoingActivity(createSession('connected', false))).toBe(false); + expect(context.service.hasOngoingActivity(createSession('ended', true))).toBe(false); + }); + + it('keeps a locally left call visible only until the last peer leaves', async () => { + const context = createServiceContext({ currentUser: alice, allUsers: [alice, bob] }); + const session = createSession('connected', true); + + session.participants.bob.joined = true; + (context.service as DirectCallService & { upsertSession: (nextSession: DirectCallSession) => void }).upsertSession(session); + + expect(context.service.visibleActiveSessions()).toHaveLength(1); + + context.service.leaveCall(session.callId); + + expect(context.service.visibleActiveSessions()).toHaveLength(1); + + context.directCallEvents.next(createCallEvent('leave', bob, ['alice', 'bob'])); + + await vi.waitFor(() => expect(context.service.visibleActiveSessions()).toHaveLength(0)); + }); + + it('hides an incoming call after the last joined participant leaves before answer', async () => { + const context = createServiceContext({ currentUser: bob, allUsers: [alice, bob] }); + + context.directCallEvents.next(createCallEvent('ring', alice, ['alice', 'bob'])); + + await vi.waitFor(() => expect(context.service.visibleActiveSessions()).toHaveLength(1)); + await vi.waitFor(() => expect(context.audio.playLoop).toHaveBeenCalledWith(AppSound.Call)); + + context.directCallEvents.next(createCallEvent('leave', alice, ['alice', 'bob'])); + + await vi.waitFor(() => expect(context.service.visibleActiveSessions()).toHaveLength(0)); + expect(context.audio.stop).toHaveBeenCalledWith(AppSound.Call); + }); + + it('rejoins an existing direct call instead of ringing a duplicate after leaving locally', async () => { + const context = createServiceContext({ currentUser: alice, allUsers: [alice, bob] }); + const session = createSession('connected', true); + + session.participants.alice.joined = false; + session.participants.bob.joined = true; + (context.service as DirectCallService & { upsertSession: (nextSession: DirectCallSession) => void }).upsertSession(session); + context.service.joinCall = vi.fn(async () => undefined); + + await context.service.startCall(bob); + + expect(context.service.visibleActiveSessions()).toHaveLength(1); + expect(context.service.joinCall).toHaveBeenCalledWith('dm-alice-bob'); + expect(context.delivery.sendCallEvent).not.toHaveBeenCalled(); + expect(context.router.navigate).toHaveBeenCalledWith(['/call', 'dm-alice-bob']); + }); + + it('reuses an existing group call by conversation id instead of creating a duplicate call', async () => { + const context = createServiceContext({ currentUser: alice, allUsers: [alice, bob, charlie] }); + const session = createGroupSession('dm-original-call', 'dm-group-live', [alice, bob, charlie]); + const conversation = createGroupConversation('dm-group-live', [alice, bob, charlie]); + + session.participants.alice.joined = false; + session.participants.bob.joined = true; + (context.service as DirectCallService & { upsertSession: (nextSession: DirectCallSession) => void }).upsertSession(session); + context.service.joinCall = vi.fn(async () => undefined); + + await context.service.startConversationCall(conversation); + + expect(context.service.visibleActiveSessions()).toHaveLength(1); + expect(context.service.joinCall).toHaveBeenCalledWith('dm-original-call'); + expect(context.directMessages.createGroupConversation).not.toHaveBeenCalled(); + expect(context.delivery.sendCallEvent).not.toHaveBeenCalled(); + expect(context.router.navigate).toHaveBeenCalledWith(['/call', 'dm-original-call']); + }); + + it('leaves a joined call before joining a different call', async () => { + const context = createServiceContext({ currentUser: alice, allUsers: [alice, bob, charlie] }); + const firstSession = createSession('connected', true); + const nextSession = createDirectSession('dm-alice-charlie', alice, charlie, 'connected', false); + + (context.service as DirectCallService & { upsertSession: (nextSession: DirectCallSession) => void }).upsertSession(firstSession); + (context.service as DirectCallService & { upsertSession: (nextSession: DirectCallSession) => void }).upsertSession(nextSession); + + await context.service.joinCall(nextSession.callId); + + expect(context.service.sessionById(firstSession.callId)?.participants.alice.joined).toBe(false); + expect(context.delivery.sendCallEvent).toHaveBeenCalledWith('bob', expect.objectContaining({ + directCall: expect.objectContaining({ + action: 'leave', + callId: firstSession.callId + }), + type: 'direct-call' + })); + }); + + it('disconnects the current voice channel before joining a call', async () => { + const voiceConnectedAlice: User = { + ...alice, + voiceState: { + isConnected: true, + isMuted: false, + isDeafened: false, + roomId: 'voice-room-1', + serverId: 'server-1' + } + }; + const context = createServiceContext({ currentUser: voiceConnectedAlice, allUsers: [voiceConnectedAlice, bob] }); + const session = createSession('connected', false); + + session.participants.bob.joined = true; + (context.service as DirectCallService & { upsertSession: (nextSession: DirectCallSession) => void }).upsertSession(session); + + await context.service.joinCall(session.callId); + + expect(context.voice.stopVoiceHeartbeat).toHaveBeenCalled(); + expect(context.voice.disableVoice).toHaveBeenCalled(); + expect(context.voice.broadcastMessage).toHaveBeenCalledWith(expect.objectContaining({ + type: 'voice-state', + voiceState: expect.objectContaining({ + isConnected: false, + roomId: 'voice-room-1', + serverId: 'server-1' + }) + })); + expect(context.voiceSession.endSession).toHaveBeenCalled(); + }); + + it('starts group calls by keeping the rail-visible call session and ringing every other participant', async () => { + const context = createServiceContext({ currentUser: alice, allUsers: [ + alice, + bob, + charlie + ] }); + const conversation = createGroupConversation('dm-group-test', [ + alice, + bob, + charlie + ]); + + context.service.joinCall = vi.fn(async (callId: string) => { + const session = context.service.sessionById(callId); + + if (!session) { + return; + } + + (context.service as DirectCallService & { upsertSession: (nextSession: DirectCallSession) => void }).upsertSession({ + ...session, + status: 'connected', + participants: { + ...session.participants, + alice: { + ...session.participants.alice, + joined: true + } + } + }); + }); + + await context.service.startConversationCall(conversation); + + expect(context.service.visibleActiveSessions()).toHaveLength(1); + expect(context.delivery.sendCallEvent).toHaveBeenCalledWith('bob', expect.objectContaining({ + directCall: expect.objectContaining({ + action: 'ring', + callId: 'dm-group-test' + }), + type: 'direct-call' + })); + + expect(context.delivery.sendCallEvent).toHaveBeenCalledWith('charlie', expect.objectContaining({ + directCall: expect.objectContaining({ + action: 'ring', + callId: 'dm-group-test' + }), + type: 'direct-call' + })); + + expect(context.router.navigate).toHaveBeenCalledWith(['/call', 'dm-group-test']); + }); +}); + +interface ServiceContextOptions { + allUsers: User[]; + currentUser: User; +} + +interface ServiceContext { + audio: { + playLoop: ReturnType; + stop: ReturnType; + }; + delivery: { + sendCallEvent: ReturnType; + }; + directCallEvents: Subject; + directMessages: { + createConversation: ReturnType; + createGroupConversation: ReturnType; + openConversation: ReturnType; + }; + router: { + navigate: ReturnType; + }; + service: DirectCallService; + voice: { + broadcastMessage: ReturnType; + disableVoice: ReturnType; + stopVoiceHeartbeat: ReturnType; + }; + voiceSession: { + endSession: ReturnType; + }; +} + +function createServiceContext(options: ServiceContextOptions): ServiceContext { + const currentUser = signal(options.currentUser); + const allUsers = signal(options.allUsers); + const directCallEvents = new Subject(); + const router = { + navigate: vi.fn(async () => true) + }; + const store = { + dispatch: vi.fn(), + selectSignal: vi.fn((selector: unknown) => { + if (selector === selectCurrentUser) { + return currentUser; + } + + if (selector === selectAllUsers) { + return allUsers; + } + + throw new Error('Unexpected selector requested by DirectCallService test.'); + }) + }; + const directMessages = { + createConversation: vi.fn(async (user: User) => createDirectConversation(options.currentUser, user)), + createGroupConversation: vi.fn(async (participants: DirectMessageParticipant[], title?: string, conversationId = 'dm-group-test') => ({ + ...createGroupConversation(conversationId, participants.map(participantToUser)), + title + })), + openConversation: vi.fn(async () => undefined) + }; + const delivery = { + directCallEvents$: directCallEvents.asObservable(), + sendCallEvent: vi.fn(() => true) + }; + const audio = { + playLoop: vi.fn(), + stop: vi.fn() + }; + const voice = { + broadcastMessage: vi.fn(), + disableVoice: vi.fn(), + ensureSignalingConnected: vi.fn(async () => true), + isDeafened: vi.fn(() => false), + isMuted: vi.fn(() => false), + setLocalStream: vi.fn(async () => undefined), + startVoiceHeartbeat: vi.fn(), + stopVoiceHeartbeat: vi.fn(), + syncOutgoingVoiceRouting: vi.fn(), + toggleMute: vi.fn() + }; + const voiceSession = { + endSession: vi.fn() + }; + const injector = Injector.create({ + providers: [ + { + provide: ChangeDetectionScheduler, + useValue: { + notify: vi.fn() + } + }, + { + provide: EffectScheduler, + useValue: { + add: vi.fn(), + flush: vi.fn(), + remove: vi.fn(), + schedule: vi.fn() + } + }, + { + provide: DirectMessageService, + useValue: directMessages + }, + { + provide: NotificationAudioService, + useValue: audio + }, + { + provide: PeerDeliveryService, + useValue: delivery + }, + { + provide: Router, + useValue: router + }, + { + provide: Store, + useValue: store + }, + { + provide: VoiceActivityService, + useValue: { + trackLocalMic: vi.fn(), + untrackLocalMic: vi.fn() + } + }, + { + provide: VoiceConnectionFacade, + useValue: voice + }, + { + provide: VoiceSessionFacade, + useValue: voiceSession + }, + { + provide: VoicePlaybackService, + useValue: { + playPendingStreams: vi.fn(), + teardownAll: vi.fn() + } + } + ] + }); + + return { + audio, + delivery, + directCallEvents, + directMessages, + router, + service: runInInjectionContext(injector, () => new DirectCallService()), + voice, + voiceSession + }; +} + +function createCallEvent(action: 'leave' | 'ring', sender: User, participantIds: string[]): ChatEvent { + return { + type: 'direct-call', + directCall: { + action, + callId: 'dm-alice-bob', + conversationId: 'dm-alice-bob', + createdAt: 10, + sender: toParticipant(sender), + participantIds, + participants: [alice, bob].map(toParticipant) + } + }; +} + +function createSession(status: DirectCallSession['status'], joined: boolean): DirectCallSession { + return { + callId: 'dm-alice-bob', + conversationId: 'dm-alice-bob', + createdAt: 10, + initiatorId: 'alice', + participantIds: ['alice', 'bob'], + participants: { + alice: { + userId: 'alice', + profile: toParticipant(alice), + joined + }, + bob: { + userId: 'bob', + profile: toParticipant(bob), + joined: false + } + }, + status + }; +} + +function createDirectSession( + callId: string, + currentUser: User, + peer: User, + status: DirectCallSession['status'], + joined: boolean +): DirectCallSession { + const currentParticipant = toParticipant(currentUser); + const peerParticipant = toParticipant(peer); + + return { + callId, + conversationId: callId, + createdAt: 10, + initiatorId: currentParticipant.userId, + participantIds: [currentParticipant.userId, peerParticipant.userId], + participants: { + [currentParticipant.userId]: { + userId: currentParticipant.userId, + profile: currentParticipant, + joined + }, + [peerParticipant.userId]: { + userId: peerParticipant.userId, + profile: peerParticipant, + joined: false + } + }, + status + }; +} + +function createGroupSession(callId: string, conversationId: string, users: User[]): DirectCallSession { + const participants = users.map(toParticipant); + + return { + callId, + conversationId, + createdAt: 10, + initiatorId: participants[0].userId, + participantIds: participants.map((participant) => participant.userId), + participants: Object.fromEntries(participants.map((participant) => [ + participant.userId, + { + userId: participant.userId, + profile: participant, + joined: false + } + ])), + status: 'connected' + }; +} + +function createDirectConversation(currentUser: User, peer: User): DirectMessageConversation { + const participants = [toParticipant(currentUser), toParticipant(peer)]; + const participantIds = participants.map((participant) => participant.userId).sort(); + + return { + id: `dm-${participantIds.join('-')}`, + kind: 'direct', + lastMessageAt: 10, + messages: [], + participantProfiles: Object.fromEntries(participants.map((participant) => [participant.userId, participant])), + participants: participantIds, + unreadCount: 0 + }; +} + +function createGroupConversation(conversationId: string, users: User[]): DirectMessageConversation { + const participants = users.map(toParticipant); + const participantIds = participants.map((participant) => participant.userId).sort(); + + return { + id: conversationId, + kind: 'group', + lastMessageAt: 10, + messages: [], + participantProfiles: Object.fromEntries(participants.map((participant) => [participant.userId, participant])), + participants: participantIds, + title: participants.map((participant) => participant.displayName).join(', '), + unreadCount: 0 + }; +} + +function participantToUser(participant: DirectMessageParticipant): User { + return createUser(participant.userId, participant.displayName); +} + +function toParticipant(user: User): DirectMessageParticipant { + return { + userId: user.oderId || user.id, + username: user.username, + displayName: user.displayName + }; +} + +function createUser(id: string, displayName: string): User { + return { + id, + oderId: id, + username: displayName.toLowerCase(), + displayName, + status: 'online', + role: 'member', + joinedAt: 1 + }; +} diff --git a/toju-app/src/app/domains/direct-call/application/services/direct-call.service.ts b/toju-app/src/app/domains/direct-call/application/services/direct-call.service.ts new file mode 100644 index 0000000..cbab558 --- /dev/null +++ b/toju-app/src/app/domains/direct-call/application/services/direct-call.service.ts @@ -0,0 +1,809 @@ +/* eslint-disable @typescript-eslint/member-ordering */ +import { + Injectable, + computed, + effect, + inject, + signal +} from '@angular/core'; +import { Router } from '@angular/router'; +import { Store } from '@ngrx/store'; +import { NotificationAudioService, AppSound } from '../../../../core/services/notification-audio.service'; +import { + VoiceActivityService, + VoiceConnectionFacade, + VoicePlaybackService +} from '../../../voice-connection'; +import { VoiceSessionFacade } from '../../../voice-session'; +import { DirectMessageService, PeerDeliveryService } from '../../../direct-message'; +import type { DirectMessageConversation } from '../../../direct-message'; +import { selectAllUsers, selectCurrentUser } from '../../../../store/users/users.selectors'; +import { UsersActions } from '../../../../store/users/users.actions'; +import { + DirectCallEventPayload, + DirectMessageParticipant, + User +} from '../../../../shared-kernel'; +import { DirectCallSession, participantToUser } from '../../domain/models/direct-call.model'; +import { toDirectMessageParticipant } from '../../../direct-message'; + +@Injectable({ providedIn: 'root' }) +export class DirectCallService { + private readonly router = inject(Router); + private readonly store = inject(Store); + private readonly delivery = inject(PeerDeliveryService); + private readonly directMessages = inject(DirectMessageService); + private readonly audio = inject(NotificationAudioService); + private readonly voice = inject(VoiceConnectionFacade); + private readonly voiceSession = inject(VoiceSessionFacade); + private readonly voiceActivity = inject(VoiceActivityService); + private readonly playback = inject(VoicePlaybackService); + private readonly currentUser = this.store.selectSignal(selectCurrentUser); + private readonly users = this.store.selectSignal(selectAllUsers); + private readonly sessionsSignal = signal([]); + + readonly sessions = computed(() => this.sessionsSignal()); + readonly activeSessions = computed(() => this.sessions().filter((session) => session.status !== 'ended')); + readonly visibleActiveSessions = computed(() => this.activeSessions().filter((session) => this.hasOngoingActivity(session))); + readonly currentSession = signal(null); + readonly hasActiveCall = computed(() => this.visibleActiveSessions().length > 0); + + constructor() { + this.delivery.directCallEvents$.subscribe((event) => { + if (event.directCall) { + void this.handleIncomingCallEvent(event.directCall); + } + }); + + effect(() => { + const session = this.currentSession(); + + if (!session || session.status === 'ended') { + return; + } + + const peerIds = this.remoteParticipantIds(session); + + this.voice.syncOutgoingVoiceRouting(peerIds); + }); + } + + sessionById(callId: string | null | undefined): DirectCallSession | null { + if (!callId) { + return null; + } + + return this.sessionsSignal().find((session) => session.callId === callId) ?? null; + } + + isCallingUser(user: User): boolean { + const userId = this.userKey(user); + + return this.visibleActiveSessions().some((session) => session.participantIds.includes(userId)); + } + + isCallingConversation(conversationId: string | null | undefined): boolean { + if (!conversationId) { + return false; + } + + return this.visibleActiveSessions().some((session) => session.callId === conversationId || session.conversationId === conversationId); + } + + hasConnectedParticipant(session: DirectCallSession | null | undefined): boolean { + if (!session || session.status === 'ended') { + return false; + } + + return Object.values(session.participants).some((participant) => participant.joined); + } + + hasOngoingActivity(session: DirectCallSession | null | undefined): boolean { + return this.hasConnectedParticipant(session); + } + + async startCall(user: User): Promise { + const conversation = await this.directMessages.createConversation(user); + const me = this.requireCurrentUser(); + const meParticipant = toDirectMessageParticipant(me); + const peerParticipant = toDirectMessageParticipant(user); + const participantIds = this.uniqueIds([meParticipant.userId, peerParticipant.userId]); + const activeSession = this.findLiveSessionForParticipants(participantIds, conversation.id); + + if (activeSession) { + return await this.rejoinLiveSession(activeSession); + } + + const existing = this.sessionById(conversation.id); + const session = existing ?? this.createSession({ + callId: conversation.id, + conversationId: conversation.id, + createdAt: Date.now(), + initiatorId: meParticipant.userId, + participantIds, + participants: [meParticipant, peerParticipant], + status: 'calling' + }); + + this.upsertSession(session); + this.currentSession.set(session); + await this.joinCall(session.callId, false); + this.sendCallEvent(peerParticipant.userId, 'ring', session); + await this.router.navigate(['/call', session.callId]); + return session; + } + + async startConversationCall(conversation: DirectMessageConversation): Promise { + if (this.isGroupConversation(conversation)) { + return await this.startGroupCall(conversation); + } + + const meId = this.currentUserId(); + const peerId = conversation.participants.find((participantId) => participantId !== meId); + + if (!peerId) { + throw new Error('Direct message conversation has no recipient to call.'); + } + + const peer = this.userForParticipant(peerId) ?? participantToUser(this.participantFromConversation(conversation, peerId)); + + return await this.startCall(peer); + } + + async openCall(callId: string): Promise { + const session = this.sessionById(callId); + + if (session?.conversationId) { + await this.directMessages.openConversation(session.conversationId); + } + + this.currentSession.set(session); + } + + async joinCall(callId: string, notifyPeers = true): Promise { + const session = this.sessionById(callId); + const me = this.requireCurrentUser(); + const meId = this.userKey(me); + + if (!session) { + return; + } + + this.leaveOtherJoinedCalls(callId); + this.leaveCurrentVoiceTargetForCall(callId); + this.audio.stop(AppSound.Call); + + const ok = await this.voice.ensureSignalingConnected(); + + if (!ok || !navigator.mediaDevices?.getUserMedia) { + return; + } + + const stream = await navigator.mediaDevices.getUserMedia({ + audio: { + echoCancellation: true, + noiseSuppression: false + } + }); + + await this.voice.setLocalStream(stream); + this.voiceActivity.trackLocalMic(meId, stream); + this.voice.startVoiceHeartbeat(session.callId, session.callId); + this.updateLocalVoiceState(session, true); + this.playback.playPendingStreams({ + isConnected: true, + outputVolume: 1, + isDeafened: this.voice.isDeafened() + }); + + const nextSession = this.markParticipantJoined(session, meId, true, 'connected'); + + this.upsertSession(nextSession); + this.currentSession.set(nextSession); + + if (notifyPeers) { + this.broadcastCallEvent('join', nextSession); + } + } + + leaveCall(callId: string, endForEveryone = false): void { + const session = this.sessionById(callId); + + if (!session) { + return; + } + + this.leaveJoinedSession(session, endForEveryone); + } + + leaveCurrentJoinedCall(exceptCallId?: string): void { + for (const session of this.sessionsSignal()) { + if (session.callId === exceptCallId || !this.isCurrentUserJoined(session)) { + continue; + } + + this.leaveJoinedSession(session); + } + } + + private leaveJoinedSession(session: DirectCallSession, endForEveryone = false): void { + const action = endForEveryone ? 'end' : 'leave'; + const nextSession = this.markCurrentUserLeft(session, endForEveryone); + + this.audio.stop(AppSound.Call); + this.broadcastCallEvent(action, nextSession); + this.stopLocalMedia(nextSession); + this.upsertSession(nextSession); + + this.currentSession.set(null); + } + + async inviteUser(callId: string, user: User): Promise { + const session = this.sessionById(callId); + + if (!session) { + return; + } + + const participant = toDirectMessageParticipant(user); + const nextSession = this.createSession({ + ...session, + participantIds: this.uniqueIds([...session.participantIds, participant.userId]), + participants: [...Object.values(session.participants).map((entry) => entry.profile), participant], + status: session.status + }); + const convertedSession = await this.convertToGroupConversationIfNeeded(this.preserveJoinedParticipants(session, nextSession)); + + this.upsertSession(convertedSession); + this.currentSession.set(convertedSession); + this.broadcastCallEvent('update', convertedSession, [participant.userId]); + this.sendCallEvent(participant.userId, 'ring', convertedSession); + } + + remoteParticipantIds(session: DirectCallSession): string[] { + const meId = this.currentUserId(); + + return session.participantIds.filter((participantId) => participantId !== meId); + } + + userForParticipant(participantId: string): User | null { + const known = this.users().find((user) => user.id === participantId || user.oderId === participantId || user.peerId === participantId); + + if (known) { + return known; + } + + const participant = this.currentSession()?.participants[participantId]?.profile; + + return participant ? participantToUser(participant) : null; + } + + private async handleIncomingCallEvent(payload: DirectCallEventPayload): Promise { + const meId = this.currentUserId(); + + if (!meId || payload.sender.userId === meId) { + return; + } + + const participants = this.callParticipantsFromPayload(payload); + const existing = this.sessionById(payload.callId); + const incomingSession = this.createSession({ + callId: payload.callId, + conversationId: payload.conversationId, + createdAt: payload.createdAt, + initiatorId: existing?.initiatorId ?? payload.sender.userId, + participantIds: this.uniqueIds([ + ...payload.participantIds, + meId, + payload.sender.userId + ]), + participants, + status: this.resolveIncomingStatus(payload.action, existing?.status) + }); + const preservedSession = existing ? this.preserveJoinedParticipants(existing, incomingSession) : incomingSession; + const session = this.applyIncomingParticipantState(preservedSession, payload); + + this.upsertSession(session); + this.currentSession.set(this.currentSession()?.callId === session.callId ? session : this.currentSession()); + this.markRemoteVoiceState(payload.sender.userId, session, payload.action === 'join'); + + if (payload.action === 'update') { + await this.ensureCallConversation(session); + return; + } + + if (payload.action === 'ring') { + await this.ensureCallConversation(session); + + if (session.status !== 'connected') { + this.audio.playLoop(AppSound.Call); + } else { + this.audio.stop(AppSound.Call); + } + + await this.showIncomingNotification(payload.sender.displayName, payload.callId); + return; + } + + this.audio.stop(AppSound.Call); + + if (payload.action === 'end') { + if (this.currentSession()?.callId === payload.callId) { + this.stopLocalMedia(session); + this.currentSession.set(null); + } + } + } + + private async startGroupCall(conversation: DirectMessageConversation): Promise { + const me = this.requireCurrentUser(); + const meParticipant = toDirectMessageParticipant(me); + const participantIds = this.uniqueIds([...conversation.participants, meParticipant.userId]); + const conversationParticipants = participantIds.map((participantId) => this.participantFromConversation(conversation, participantId)); + const participants = this.uniqueParticipants([meParticipant, ...conversationParticipants]); + const activeSession = this.findLiveSessionForParticipants(participantIds, conversation.id); + + if (activeSession) { + return await this.rejoinLiveSession(activeSession); + } + + const existing = this.sessionById(conversation.id); + const session = existing && existing.status !== 'ended' + ? existing + : this.createSession({ + callId: conversation.id, + conversationId: conversation.id, + createdAt: Date.now(), + initiatorId: meParticipant.userId, + participantIds, + participants, + status: 'calling' + }); + + this.upsertSession(session); + this.currentSession.set(session); + await this.joinCall(session.callId, false); + this.broadcastCallEvent('ring', this.sessionById(session.callId) ?? session); + await this.router.navigate(['/call', session.callId]); + return this.sessionById(session.callId) ?? session; + } + + private async rejoinLiveSession(session: DirectCallSession): Promise { + this.upsertSession(session); + this.currentSession.set(session); + + if (!this.isCurrentUserJoined(session)) { + await this.joinCall(session.callId); + } + + const nextSession = this.sessionById(session.callId) ?? session; + + await this.router.navigate(['/call', nextSession.callId]); + return nextSession; + } + + private leaveOtherJoinedCalls(callId: string): void { + this.leaveCurrentJoinedCall(callId); + } + + private leaveCurrentVoiceTargetForCall(callId: string): void { + const user = this.currentUser(); + const voiceState = user?.voiceState; + + if (!voiceState?.isConnected || (voiceState.roomId === callId && voiceState.serverId === callId)) { + return; + } + + const userId = user?.id; + const userKey = user ? this.userKey(user) : undefined; + + this.voice.stopVoiceHeartbeat(); + + if (userKey) { + this.voiceActivity.untrackLocalMic(userKey); + } + + this.voice.disableVoice(); + this.playback.teardownAll(); + this.voiceSession.endSession(); + + if (userId) { + this.store.dispatch(UsersActions.updateVoiceState({ + userId, + voiceState: { + isConnected: false, + isMuted: false, + isDeafened: false, + roomId: undefined, + serverId: undefined + } + })); + } + + this.voice.broadcastMessage({ + type: 'voice-state', + oderId: userKey, + displayName: user?.displayName || 'User', + voiceState: { + isConnected: false, + isMuted: false, + isDeafened: false, + roomId: voiceState.roomId, + serverId: voiceState.serverId + } + }); + } + + private async ensureConversation(sender: DirectMessageParticipant): Promise { + await this.directMessages.createConversation(participantToUser(sender)); + } + + private isGroupConversation(conversation: DirectMessageConversation): boolean { + return conversation.kind === 'group' || conversation.participants.length > 2; + } + + private participantFromConversation(conversation: DirectMessageConversation, participantId: string): DirectMessageParticipant { + const knownUser = this.userForParticipant(participantId); + const profile = conversation.participantProfiles[participantId]; + + if (knownUser) { + return toDirectMessageParticipant(knownUser); + } + + return profile ?? { + userId: participantId, + username: participantId, + displayName: participantId + }; + } + + private resolveIncomingStatus(action: DirectCallEventPayload['action'], currentStatus?: DirectCallSession['status']): DirectCallSession['status'] { + if (action === 'ring') { + return currentStatus === 'connected' ? 'connected' : 'ringing'; + } + + if (action === 'join') { + return 'connected'; + } + + if (action === 'end') { + return 'ended'; + } + + if (action === 'update') { + return currentStatus ?? 'ringing'; + } + + if (action === 'leave') { + return currentStatus === 'ringing' ? 'ringing' : 'connected'; + } + + return currentStatus ?? 'ringing'; + } + + private applyIncomingParticipantState(session: DirectCallSession, payload: DirectCallEventPayload): DirectCallSession { + if (payload.action === 'ring' || payload.action === 'join') { + return this.markParticipantJoined(session, payload.sender.userId, true, payload.action === 'join' ? 'connected' : session.status); + } + + if (payload.action === 'leave') { + const nextSession = this.markParticipantJoined(session, payload.sender.userId, false, session.status); + + return this.hasConnectedParticipant(nextSession) + ? nextSession + : { + ...nextSession, + status: 'ended' + }; + } + + if (payload.action === 'end') { + return { + ...session, + status: 'ended' + }; + } + + return session; + } + + private sendCallEvent(recipientId: string, action: DirectCallEventPayload['action'], session: DirectCallSession): void { + const me = this.requireCurrentUser(); + + this.delivery.sendCallEvent(recipientId, { + type: 'direct-call', + directCall: { + action, + callId: session.callId, + conversationId: session.conversationId, + createdAt: session.createdAt, + sender: toDirectMessageParticipant(me), + participantIds: session.participantIds, + participants: Object.values(session.participants).map((participant) => participant.profile) + } + }); + } + + private broadcastCallEvent(action: DirectCallEventPayload['action'], session: DirectCallSession, excludedParticipantIds: string[] = []): void { + const excluded = new Set(excludedParticipantIds); + + for (const participantId of this.remoteParticipantIds(session)) { + if (excluded.has(participantId)) { + continue; + } + + this.sendCallEvent(participantId, action, session); + } + } + + private async convertToGroupConversationIfNeeded(session: DirectCallSession): Promise { + if (session.participantIds.length <= 2) { + return session; + } + + const conversation = await this.directMessages.createGroupConversation( + Object.values(session.participants).map((participant) => participant.profile), + this.groupConversationTitle(session), + session.conversationId.startsWith('dm-group-') ? session.conversationId : undefined + ); + + return { + ...session, + conversationId: conversation.id + }; + } + + private preserveJoinedParticipants(previousSession: DirectCallSession, nextSession: DirectCallSession): DirectCallSession { + return { + ...nextSession, + participants: Object.fromEntries(Object.values(nextSession.participants).map((participant) => [ + participant.userId, + { + ...participant, + joined: previousSession.participants[participant.userId]?.joined ?? participant.joined + } + ])) + }; + } + + private async ensureCallConversation(session: DirectCallSession): Promise { + if (session.participantIds.length > 2) { + await this.directMessages.createGroupConversation( + Object.values(session.participants).map((participant) => participant.profile), + this.groupConversationTitle(session), + session.conversationId + ); + + return; + } + + const sender = Object.values(session.participants) + .map((participant) => participant.profile) + .find((participant) => participant.userId !== this.currentUserId()); + + if (sender) { + await this.ensureConversation(sender); + } + } + + private callParticipantsFromPayload(payload: DirectCallEventPayload): DirectMessageParticipant[] { + return this.uniqueParticipants([ + payload.sender, + toDirectMessageParticipant(this.requireCurrentUser()), + ...(payload.participants ?? []), + ...payload.participantIds + .map((participantId) => this.userForParticipant(participantId)) + .filter((user): user is User => !!user) + .map((user) => toDirectMessageParticipant(user)) + ]); + } + + private groupConversationTitle(session: DirectCallSession): string { + const names = Object.values(session.participants) + .map((participant) => participant.profile.displayName || participant.profile.username || participant.userId); + + if (names.length <= 3) { + return names.join(', '); + } + + return `${names.slice(0, 3).join(', ')} +${names.length - 3}`; + } + + private createSession(input: { + callId: string; + conversationId: string; + createdAt: number; + initiatorId: string; + participantIds: string[]; + participants: DirectMessageParticipant[]; + status: DirectCallSession['status']; + }): DirectCallSession { + const participants = Object.fromEntries(this.uniqueParticipants(input.participants).map((participant) => [ + participant.userId, + { + userId: participant.userId, + profile: participant, + joined: input.status === 'connected' && participant.userId === this.currentUserId() + } + ])); + + return { + callId: input.callId, + conversationId: input.conversationId, + createdAt: input.createdAt, + initiatorId: input.initiatorId, + participantIds: this.uniqueIds(input.participantIds), + participants, + status: input.status + }; + } + + private markParticipantJoined( + session: DirectCallSession, + participantId: string, + joined: boolean, + status: DirectCallSession['status'] + ): DirectCallSession { + const participant = session.participants[participantId]; + + return { + ...session, + status, + participants: { + ...session.participants, + ...(participant + ? { + [participantId]: { + ...participant, + joined + } + } + : {}) + } + }; + } + + private upsertSession(session: DirectCallSession): void { + this.sessionsSignal.update((sessions) => [...sessions.filter((entry) => entry.callId !== session.callId), session]); + } + + private markCurrentUserLeft(session: DirectCallSession, endForEveryone: boolean): DirectCallSession { + const meId = this.currentUserId(); + const locallyLeftSession = meId + ? this.markParticipantJoined(session, meId, false, session.status) + : session; + + return { + ...locallyLeftSession, + status: endForEveryone || !this.hasConnectedParticipant(locallyLeftSession) ? 'ended' as const : 'connected' as const + }; + } + + private findLiveSessionForParticipants(participantIds: string[], conversationId?: string | null): DirectCallSession | null { + const normalizedParticipantIds = this.uniqueIds(participantIds).sort(); + + return this.visibleActiveSessions().find((session) => { + if (conversationId && (session.callId === conversationId || session.conversationId === conversationId)) { + return true; + } + + const sessionParticipantIds = this.uniqueIds(session.participantIds).sort(); + + return sessionParticipantIds.length === normalizedParticipantIds.length + && sessionParticipantIds.every((participantId, index) => participantId === normalizedParticipantIds[index]); + }) ?? null; + } + + private isCurrentUserJoined(session: DirectCallSession): boolean { + const meId = this.currentUserId(); + + return !!meId && !!session.participants[meId]?.joined; + } + + private stopLocalMedia(session: DirectCallSession): void { + const meId = this.currentUserId(); + + if (meId) { + this.voiceActivity.untrackLocalMic(meId); + } + + this.voice.stopVoiceHeartbeat(); + this.voice.disableVoice(); + this.playback.teardownAll(); + this.updateLocalVoiceState(session, false); + } + + private updateLocalVoiceState(session: DirectCallSession, connected: boolean): void { + const user = this.currentUser(); + + if (!user?.id) { + return; + } + + this.store.dispatch(UsersActions.updateVoiceState({ + userId: user.id, + voiceState: { + isConnected: connected, + isMuted: connected ? this.voice.isMuted() : false, + isDeafened: connected ? this.voice.isDeafened() : false, + roomId: connected ? session.callId : undefined, + serverId: connected ? session.callId : undefined + } + })); + } + + private markRemoteVoiceState(userId: string, session: DirectCallSession, connected: boolean): void { + this.store.dispatch(UsersActions.updateVoiceState({ + userId, + voiceState: { + isConnected: connected, + isMuted: false, + isDeafened: false, + roomId: connected ? session.callId : undefined, + serverId: connected ? session.callId : undefined + } + })); + } + + private async showIncomingNotification(displayName: string, callId: string): Promise { + if (typeof Notification === 'undefined') { + return; + } + + let permission = Notification.permission; + + if (permission === 'default') { + permission = await Notification.requestPermission(); + } + + if (permission !== 'granted') { + return; + } + + const notification = new Notification('Incoming call', { + body: `${displayName} is calling you` + }); + + notification.onclick = () => { + window.focus(); + void this.router.navigate(['/call', callId]); + }; + } + + private uniqueParticipants(participants: DirectMessageParticipant[]): DirectMessageParticipant[] { + const seen = new Set(); + + return participants.filter((participant) => { + if (seen.has(participant.userId)) { + return false; + } + + seen.add(participant.userId); + return true; + }); + } + + private uniqueIds(ids: string[]): string[] { + return ids.filter((id, index) => !!id && ids.indexOf(id) === index); + } + + private userKey(user: User): string { + return user.oderId || user.id; + } + + private currentUserId(): string | null { + const user = this.currentUser(); + + return user ? this.userKey(user) : null; + } + + private requireCurrentUser(): User { + const user = this.currentUser(); + + if (!user) { + throw new Error('Cannot use calls without a current user.'); + } + + return user; + } +} diff --git a/toju-app/src/app/domains/direct-call/domain/models/direct-call.model.ts b/toju-app/src/app/domains/direct-call/domain/models/direct-call.model.ts new file mode 100644 index 0000000..58b415d --- /dev/null +++ b/toju-app/src/app/domains/direct-call/domain/models/direct-call.model.ts @@ -0,0 +1,37 @@ +import type { DirectMessageParticipant, User } from '../../../../shared-kernel'; + +export type DirectCallStatus = 'calling' | 'ringing' | 'connected' | 'ended'; + +export interface DirectCallParticipant { + userId: string; + profile: DirectMessageParticipant; + joined: boolean; +} + +export interface DirectCallSession { + callId: string; + conversationId: string; + createdAt: number; + initiatorId: string; + participantIds: string[]; + participants: Record; + status: DirectCallStatus; +} + +export function participantToUser(participant: DirectMessageParticipant): User { + return { + id: participant.userId, + oderId: participant.userId, + username: participant.username, + displayName: participant.displayName, + description: participant.description, + avatarUrl: participant.avatarUrl, + avatarHash: participant.avatarHash, + avatarMime: participant.avatarMime, + avatarUpdatedAt: participant.avatarUpdatedAt, + profileUpdatedAt: participant.profileUpdatedAt, + status: 'online', + role: 'member', + joinedAt: Date.now() + }; +} diff --git a/toju-app/src/app/domains/direct-call/index.ts b/toju-app/src/app/domains/direct-call/index.ts new file mode 100644 index 0000000..92e3a8a --- /dev/null +++ b/toju-app/src/app/domains/direct-call/index.ts @@ -0,0 +1,2 @@ +export * from './application/services/direct-call.service'; +export * from './domain/models/direct-call.model'; diff --git a/toju-app/src/app/domains/direct-message/README.md b/toju-app/src/app/domains/direct-message/README.md index 6cf6d6d..7d66b09 100644 --- a/toju-app/src/app/domains/direct-message/README.md +++ b/toju-app/src/app/domains/direct-message/README.md @@ -1,6 +1,8 @@ # Direct Message Domain -Direct messages provide local, offline-safe one-to-one messaging over the existing WebRTC data channel, with a signaling relay fallback when no peer data channel is available but a route to the recipient is known. +Direct messages provide local, offline-safe one-to-one and small-group messaging over the existing WebRTC data channel, with a signaling relay fallback when no peer data channel is available but a route to the recipient is known. + +The same `PeerDeliveryService` also exposes direct-call events for the `direct-call` domain so private calls can ring through either an open peer data channel or a known signaling route without adding a second recipient lookup path. ## Structure @@ -15,8 +17,8 @@ direct-message/ ## Flow 1. `DirectMessageService.sendMessage()` stores the message locally with `QUEUED`. -2. `PeerDeliveryService` tries to send a `direct-message` P2P event to the recipient's current peer id. -3. If no data channel is connected, `PeerDeliveryService` tries the recipient's known signaling route before leaving the message queued. +2. `PeerDeliveryService` tries to send a `direct-message` P2P event to every other participant's current peer id. +3. If no data channel is connected, `PeerDeliveryService` tries each participant's known signaling route before leaving the message queued. 4. If either transport sends, the sender advances to `SENT`; otherwise the message id remains in `OfflineMessageQueueService`. 5. The recipient persists the message as `DELIVERED` and sends a `direct-message-status` event back. 6. Opening the conversation marks incoming messages as `ACKNOWLEDGED` and emits a status event. @@ -29,6 +31,14 @@ The DM view reuses the chat domain's shared message list, composer, overlays, ma Message edits, deletions, and reaction changes are stored locally and mirrored to the peer with `direct-message-mutation` events. Delivery state remains direct-message-owned and is exposed separately from the visible shared chat row UI. +When a private call grows beyond two participants, the direct-call domain creates a new empty `group` conversation and points the call chat panel at it. The previous one-to-one conversation remains untouched, so private history is not copied into the group chat. Group conversations reuse the same composer, message list, attachment, GIF, markdown, link-embed, typing, mutation, and sync paths as one-to-one DMs; delivery simply fans out to every participant except the sender. + +The DM header and conversation list can start calls from both one-to-one and group conversations. Group calls reuse the group conversation id as the call id and send the same ring notification to every other participant. + +Typing state is DM-owned as well. The composer emits `direct-message-typing` events, and the chat view renders the active peer names with a short TTL so the embedded private-call chat has the same typing feedback as a standalone PM. + +When a conversation opens, a peer reconnects, or network service is restored, the selected conversation requests a bounded `direct-message-sync` snapshot from the peer. Incoming snapshots merge the newest messages by id instead of replacing local history, which lets clients backfill older PMs when their local stores drift. + ## GIFs The DM composer reuses the chat domain's KLIPY integration. Availability and GIF search go through the configured signal server API, and selected GIFs are sent as markdown image messages so the same proxy-fallback image rendering path is used in DMs and server chat. diff --git a/toju-app/src/app/domains/direct-message/application/services/direct-message.service.spec.ts b/toju-app/src/app/domains/direct-message/application/services/direct-message.service.spec.ts index 469f733..8508292 100644 --- a/toju-app/src/app/domains/direct-message/application/services/direct-message.service.spec.ts +++ b/toju-app/src/app/domains/direct-message/application/services/direct-message.service.spec.ts @@ -1,7 +1,9 @@ import { advanceDirectMessageStatus, createDirectConversation, + createGroupConversation, getDirectConversationId, + isGroupDirectConversation, updateMessageStatusInConversation, upsertDirectMessage } from '../../domain/logic/direct-message.logic'; @@ -17,6 +19,11 @@ const bob: DirectMessageParticipant = { username: 'bob', displayName: 'Bob' }; +const charlie: DirectMessageParticipant = { + userId: 'charlie', + username: 'charlie', + displayName: 'Charlie' +}; describe('DirectMessageService domain flow', () => { it('should create conversation', () => { @@ -44,6 +51,41 @@ describe('DirectMessageService domain flow', () => { expect(updatedConversation.messages[0].status).toBe('QUEUED'); }); + it('should create empty group conversation without direct-message history', () => { + const directConversation = upsertDirectMessage(createDirectConversation(alice, bob, 10), createMessage('message-1', 'SENT'), false); + const groupConversation = createGroupConversation('dm-group-test', [ + alice, + bob, + charlie + ], 30, 'Alice, Bob, Charlie'); + + expect(isGroupDirectConversation(groupConversation)).toBe(true); + expect(groupConversation.id).toBe('dm-group-test'); + expect(groupConversation.title).toBe('Alice, Bob, Charlie'); + expect(groupConversation.participants).toEqual([ + 'alice', + 'bob', + 'charlie' + ]); + + expect(groupConversation.messages).toEqual([]); + expect(directConversation.messages).toHaveLength(1); + }); + + it('should preserve group message recipient metadata', () => { + const conversation = createGroupConversation('dm-group-test', [ + alice, + bob, + charlie + ], 10); + const recipientIds = ['bob', 'charlie']; + const message = createMessage('message-1', 'QUEUED', conversation.id, recipientIds); + const updatedConversation = upsertDirectMessage(conversation, message, false); + + expect(updatedConversation.messages[0].recipientId).toBe('bob'); + expect(updatedConversation.messages[0].recipientIds).toEqual(recipientIds); + }); + it('should update status correctly', () => { expect(advanceDirectMessageStatus('QUEUED', 'SENT')).toBe('SENT'); expect(advanceDirectMessageStatus('SENT', 'DELIVERED')).toBe('DELIVERED'); @@ -52,12 +94,18 @@ describe('DirectMessageService domain flow', () => { }); }); -function createMessage(id: string, status: DirectMessage['status']): DirectMessage { +function createMessage( + id: string, + status: DirectMessage['status'], + conversationId = getDirectConversationId('alice', 'bob'), + recipientIds = ['bob'] +): DirectMessage { return { id, - conversationId: getDirectConversationId('alice', 'bob'), + conversationId, senderId: 'alice', - recipientId: 'bob', + recipientId: recipientIds[0], + recipientIds, content: 'Hello', timestamp: 20, status diff --git a/toju-app/src/app/domains/direct-message/application/services/direct-message.service.ts b/toju-app/src/app/domains/direct-message/application/services/direct-message.service.ts index e7ca30e..8672e3b 100644 --- a/toju-app/src/app/domains/direct-message/application/services/direct-message.service.ts +++ b/toju-app/src/app/domains/direct-message/application/services/direct-message.service.ts @@ -12,10 +12,13 @@ import { v4 as uuidv4 } from 'uuid'; import { DirectMessageRepository } from '../../infrastructure/direct-message.repository'; import { OfflineMessageQueueService } from './offline-message-queue.service'; import { PeerDeliveryService } from './peer-delivery.service'; +import { AttachmentFacade } from '../../../attachment'; import { advanceDirectMessageStatus, createDirectConversation, + createGroupConversation, getDirectConversationId, + isGroupDirectConversation, updateMessageStatusInConversation, upsertDirectMessage } from '../../domain/logic/direct-message.logic'; @@ -24,8 +27,12 @@ import { DirectMessageConversation, DirectMessageEventPayload, DirectMessageMutationEventPayload, + DirectMessageParticipant, + DirectMessageSyncEventPayload, + DirectMessageSyncRequestEventPayload, DirectMessageStatus, DirectMessageStatusEventPayload, + DirectMessageTypingEventPayload, toDirectMessageParticipant } from '../../domain/models/direct-message.model'; import type { @@ -35,16 +42,32 @@ import type { } from '../../../../shared-kernel'; import { selectCurrentUser } from '../../../../store/users/users.selectors'; +const DIRECT_MESSAGE_SYNC_LIMIT = 1000; +const DIRECT_MESSAGE_SYNC_REQUEST_COOLDOWN_MS = 5000; +const DIRECT_MESSAGE_TYPING_TTL_MS = 3000; +const DIRECT_MESSAGE_TYPING_PURGE_MS = 1000; +const DIRECT_MESSAGE_ATTACHMENT_STORAGE_PREFIX = 'direct-message:'; + +interface DirectMessageTypingEntry { + conversationId: string; + userId: string; + displayName: string; + expiresAt: number; +} + @Injectable({ providedIn: 'root' }) export class DirectMessageService { private readonly repository = inject(DirectMessageRepository); private readonly offlineQueue = inject(OfflineMessageQueueService); private readonly delivery = inject(PeerDeliveryService); + private readonly attachments = inject(AttachmentFacade); private readonly store = inject(Store); private readonly router = inject(Router); private readonly currentUser = this.store.selectSignal(selectCurrentUser); private readonly conversationsSignal = signal([]); private readonly selectedConversationIdSignal = signal(null); + private readonly typingEntriesSignal = signal([]); + private readonly lastSyncRequestAt = new Map(); private loadedOwnerId: string | null = null; readonly conversations = computed(() => [...this.conversationsSignal()].sort( @@ -62,6 +85,7 @@ export class DirectMessageService { (total, conversation) => total + conversation.unreadCount, 0 )); + readonly typingEntries = this.typingEntriesSignal.asReadonly(); constructor() { effect(() => { @@ -76,11 +100,15 @@ export class DirectMessageService { this.delivery.peerConnected$.subscribe(() => { void this.retryPending(); + void this.requestOpenConversationSync(); }); this.delivery.networkRestored$.subscribe(() => { void this.retryPending(); + void this.requestOpenConversationSync(); }); + + window.setInterval(() => this.purgeExpiredTypingEntries(), DIRECT_MESSAGE_TYPING_PURGE_MS); } async createConversation(user: User): Promise { @@ -106,12 +134,47 @@ export class DirectMessageService { return conversation; } + async createGroupConversation( + participants: DirectMessageParticipant[], + title?: string, + conversationId = `dm-group-${uuidv4()}` + ): Promise { + const currentUser = this.requireCurrentUser(); + const ownerId = this.getCurrentUserIdOrThrow(); + const currentParticipant = toDirectMessageParticipant(currentUser); + const allParticipants = this.uniqueParticipants([currentParticipant, ...participants]); + + await this.loadForOwner(ownerId); + + const existingConversation = this.conversationsSignal().find((conversation) => conversation.id === conversationId) + ?? await this.repository.getConversation(ownerId, conversationId); + + if (existingConversation) { + const mergedConversation = this.mergeConversationParticipants({ + ...existingConversation, + kind: 'group', + title: existingConversation.title || title + }, allParticipants); + + await this.persistConversation(ownerId, mergedConversation); + this.selectedConversationIdSignal.set(mergedConversation.id); + return mergedConversation; + } + + const conversation = createGroupConversation(conversationId, allParticipants, Date.now(), title); + + await this.persistConversation(ownerId, conversation); + this.selectedConversationIdSignal.set(conversation.id); + return conversation; + } + async openConversation(conversationId: string): Promise { const ownerId = this.getCurrentUserIdOrThrow(); await this.loadForOwner(ownerId); this.selectedConversationIdSignal.set(conversationId); await this.markRead(conversationId); + this.requestConversationSync(conversationId); } closeConversationView(conversationId?: string | null): void { @@ -152,10 +215,11 @@ export class DirectMessageService { const ownerId = this.getCurrentUserIdOrThrow(); const conversation = await this.requireConversation(ownerId, conversationId); const senderId = currentUser.oderId || currentUser.id; - const recipientId = conversation.participants.find((participantId) => participantId !== senderId); + const recipientIds = this.recipientIdsFor(conversation, senderId); + const recipientId = recipientIds[0]; if (!recipientId) { - throw new Error('Direct message conversation has no recipient.'); + throw new Error('Direct message conversation has no recipients.'); } const message: DirectMessage = { @@ -163,6 +227,7 @@ export class DirectMessageService { conversationId, senderId, recipientId, + recipientIds, content: normalizedContent, timestamp: Date.now(), status: 'QUEUED', @@ -172,7 +237,7 @@ export class DirectMessageService { }; await this.persistConversation(ownerId, upsertDirectMessage(conversation, message, false)); - await this.attemptDelivery(ownerId, message); + await this.attemptDelivery(ownerId, message, conversation); return message; } @@ -249,9 +314,8 @@ export class DirectMessageService { requestPeerAvatarSync(conversationId: string): void { const currentUserId = this.getCurrentUserId(); const conversation = this.conversationsSignal().find((entry) => entry.id === conversationId); - const peerId = conversation?.participants.find((participantId) => participantId !== currentUserId); - if (peerId) { + for (const peerId of this.recipientIdsFor(conversation, currentUserId)) { this.delivery.requestUserAvatar(peerId); } } @@ -321,13 +385,51 @@ export class DirectMessageService { for (const messageId of pendingMessageIds) { const message = messages.find((entry) => entry.id === messageId); + const conversation = message + ? this.conversationsSignal().find((entry) => entry.id === message.conversationId) + : null; - if (message) { - await this.attemptDelivery(ownerId, message); + if (message && conversation) { + await this.attemptDelivery(ownerId, message, conversation); } } } + typingUsers(conversationId: string | null | undefined): string[] { + if (!conversationId) { + return []; + } + + const now = Date.now(); + + return this.typingEntriesSignal() + .filter((entry) => entry.conversationId === conversationId && entry.expiresAt > now) + .map((entry) => entry.displayName); + } + + sendTyping(conversationId: string, isTyping = true): void { + const conversation = this.conversationsSignal().find((entry) => entry.id === conversationId); + const currentUser = this.currentUser(); + const currentUserId = this.getCurrentUserId(); + const recipientIds = this.recipientIdsFor(conversation, currentUserId); + + if (!conversation || !currentUser || recipientIds.length === 0) { + return; + } + + for (const recipientId of recipientIds) { + this.delivery.sendViaWebRTC(recipientId, { + type: 'direct-message-typing', + directMessageTyping: { + conversationId, + sender: toDirectMessageParticipant(currentUser), + isTyping, + updatedAt: Date.now() + } + }); + } + } + private async handlePeerEvent(event: ChatEvent): Promise { if (event.type === 'direct-message' && event.directMessage) { await this.handleIncomingMessage(event.directMessage); @@ -341,6 +443,21 @@ export class DirectMessageService { if (event.type === 'direct-message-mutation' && event.directMessageMutation) { await this.handleIncomingMutation(event.directMessageMutation); + return; + } + + if (event.type === 'direct-message-typing' && event.directMessageTyping) { + this.handleIncomingTyping(event.directMessageTyping); + return; + } + + if (event.type === 'direct-message-sync-request' && event.directMessageSyncRequest) { + await this.handleIncomingSyncRequest(event.directMessageSyncRequest); + return; + } + + if (event.type === 'direct-message-sync' && event.directMessageSync) { + await this.handleIncomingSync(event.directMessageSync); } } @@ -351,8 +468,16 @@ export class DirectMessageService { const sender = payload.sender; const conversationId = payload.message.conversationId || getDirectConversationId(currentParticipant.userId, sender.userId); + const participants = this.uniqueParticipants([ + currentParticipant, + sender, + ...(payload.participants ?? []) + ]); const existingConversation = this.conversationsSignal().find((conversation) => conversation.id === conversationId) - ?? createDirectConversation(currentParticipant, sender, payload.message.timestamp); + ?? (payload.conversationKind === 'group' || participants.length > 2 + ? createGroupConversation(conversationId, participants, payload.message.timestamp, payload.conversationTitle) + : createDirectConversation(currentParticipant, sender, payload.message.timestamp)); + const conversationWithParticipants = this.mergeConversationParticipants(existingConversation, participants); const incomingMessage: DirectMessage = { ...payload.message, conversationId, @@ -360,7 +485,7 @@ export class DirectMessageService { }; const shouldIncrementUnread = !this.isConversationVisible(conversationId); - await this.persistConversation(ownerId, upsertDirectMessage(existingConversation, incomingMessage, shouldIncrementUnread)); + await this.persistConversation(ownerId, upsertDirectMessage(conversationWithParticipants, incomingMessage, shouldIncrementUnread)); this.sendStatusUpdate(incomingMessage.senderId, { conversationId, messageId: incomingMessage.id, @@ -384,14 +509,20 @@ export class DirectMessageService { private isConversationVisible(conversationId: string): boolean { const currentUrl = this.router.url.split(/[?#]/, 1)[0]; - if (!currentUrl.startsWith('/dm/')) { + if (!currentUrl.startsWith('/dm/') && !currentUrl.startsWith('/pm/')) { + if (currentUrl.startsWith('/call/')) { + return this.selectedConversationIdSignal() === conversationId; + } + return false; } + const prefix = currentUrl.startsWith('/pm/') ? '/pm/' : '/dm/'; + try { - return decodeURIComponent(currentUrl.slice('/dm/'.length)) === conversationId; + return decodeURIComponent(currentUrl.slice(prefix.length)) === conversationId; } catch { - return currentUrl.slice('/dm/'.length) === conversationId; + return currentUrl.slice(prefix.length) === conversationId; } } @@ -402,6 +533,98 @@ export class DirectMessageService { await this.persistConversation(ownerId, this.applyMutation(conversation, payload)); } + private handleIncomingTyping(payload: DirectMessageTypingEventPayload): void { + const currentUserId = this.getCurrentUserId(); + + if (!currentUserId || payload.sender.userId === currentUserId) { + return; + } + + if (!payload.isTyping) { + this.typingEntriesSignal.update((entries) => entries.filter((entry) => + !(entry.conversationId === payload.conversationId && entry.userId === payload.sender.userId) + )); + + return; + } + + const nextEntry: DirectMessageTypingEntry = { + conversationId: payload.conversationId, + userId: payload.sender.userId, + displayName: payload.sender.displayName, + expiresAt: Date.now() + DIRECT_MESSAGE_TYPING_TTL_MS + }; + + this.typingEntriesSignal.update((entries) => [ + ...entries.filter((entry) => + !(entry.conversationId === nextEntry.conversationId && entry.userId === nextEntry.userId) + ), + nextEntry + ]); + } + + private async handleIncomingSyncRequest(payload: DirectMessageSyncRequestEventPayload): Promise { + const ownerId = this.getCurrentUserIdOrThrow(); + const currentUser = this.requireCurrentUser(); + const conversation = this.conversationsSignal().find((entry) => entry.id === payload.conversationId) + ?? await this.repository.getConversation(ownerId, payload.conversationId); + + if (!conversation || payload.sender.userId === ownerId) { + return; + } + + this.delivery.sendViaWebRTC(payload.sender.userId, { + type: 'direct-message-sync', + directMessageSync: { + conversationId: conversation.id, + sender: toDirectMessageParticipant(currentUser), + participants: Object.values(conversation.participantProfiles), + conversationKind: this.conversationKind(conversation), + conversationTitle: conversation.title, + messages: conversation.messages.slice(-DIRECT_MESSAGE_SYNC_LIMIT), + syncedAt: Date.now() + } + }); + } + + private async handleIncomingSync(payload: DirectMessageSyncEventPayload): Promise { + const ownerId = this.getCurrentUserIdOrThrow(); + const currentUser = this.requireCurrentUser(); + const currentParticipant = toDirectMessageParticipant(currentUser); + + if (payload.sender.userId === ownerId) { + return; + } + + const existingConversation = this.conversationsSignal().find((conversation) => conversation.id === payload.conversationId) + ?? await this.repository.getConversation(ownerId, payload.conversationId) + ?? (payload.conversationKind === 'group' || payload.participants.length > 2 + ? createGroupConversation(payload.conversationId, [currentParticipant, ...payload.participants], payload.syncedAt, payload.conversationTitle) + : createDirectConversation(currentParticipant, payload.sender, payload.syncedAt)); + const participantProfiles = { + ...existingConversation.participantProfiles, + ...Object.fromEntries(payload.participants.map((participant) => [participant.userId, participant])), + [currentParticipant.userId]: currentParticipant + }; + const syncBaseConversation: DirectMessageConversation = { + ...existingConversation, + kind: payload.conversationKind ?? existingConversation.kind, + title: payload.conversationTitle ?? existingConversation.title, + participants: Object.keys(participantProfiles).sort(), + participantProfiles + }; + const mergedConversation = payload.messages.reduce( + (conversation, message) => upsertDirectMessage(conversation, message, false), + syncBaseConversation + ); + + await this.persistConversation(ownerId, mergedConversation); + + if (this.selectedConversationIdSignal() === payload.conversationId) { + await this.markRead(payload.conversationId); + } + } + private async applyAndSendMutation( conversationId: string, payload: DirectMessageMutationEventPayload @@ -409,11 +632,11 @@ export class DirectMessageService { const ownerId = this.getCurrentUserIdOrThrow(); const conversation = await this.requireConversation(ownerId, conversationId); const updatedConversation = this.applyMutation(conversation, payload); - const recipientId = conversation.participants.find((participantId) => participantId !== ownerId); + const recipientIds = this.recipientIdsFor(conversation, ownerId); await this.persistConversation(ownerId, updatedConversation); - if (recipientId) { + for (const recipientId of recipientIds) { this.delivery.sendViaWebRTC(recipientId, { type: 'direct-message-mutation', directMessageMutation: payload @@ -474,23 +697,38 @@ export class DirectMessageService { return { ...conversation, messages }; } - private async attemptDelivery(ownerId: string, message: DirectMessage): Promise { + private async attemptDelivery(ownerId: string, message: DirectMessage, conversation: DirectMessageConversation): Promise { const currentUser = this.requireCurrentUser(); - const sent = this.delivery.sendViaWebRTC(message.recipientId, { - type: 'direct-message', - directMessage: { - message, - sender: toDirectMessageParticipant(currentUser) - } - }); + const recipientIds = this.recipientIdsFor(conversation, ownerId); - if (!sent) { - await this.offlineQueue.enqueue(ownerId, message.id); - return; + let sentCount = 0; + + for (const recipientId of recipientIds) { + if (this.delivery.sendViaWebRTC(recipientId, { + type: 'direct-message', + directMessage: { + message, + sender: toDirectMessageParticipant(currentUser), + participants: Object.values(conversation.participantProfiles), + conversationKind: this.conversationKind(conversation), + conversationTitle: conversation.title + } + })) { + sentCount += 1; + } } - await this.offlineQueue.markDelivered(ownerId, message.id); - await this.updateStatus(message.id, 'SENT'); + if (sentCount < recipientIds.length) { + await this.offlineQueue.enqueue(ownerId, message.id); + } + + if (sentCount > 0) { + await this.updateStatus(message.id, 'SENT'); + } + + if (sentCount === recipientIds.length) { + await this.offlineQueue.markDelivered(ownerId, message.id); + } } private sendStatusUpdate(recipientId: string, payload: DirectMessageStatusEventPayload): void { @@ -500,6 +738,52 @@ export class DirectMessageService { }); } + private requestOpenConversationSync(): void { + const conversationId = this.selectedConversationIdSignal(); + + if (conversationId) { + this.requestConversationSync(conversationId); + } + } + + private requestConversationSync(conversationId: string): void { + const conversation = this.conversationsSignal().find((entry) => entry.id === conversationId); + const currentUser = this.currentUser(); + const currentUserId = this.getCurrentUserId(); + const recipientIds = this.recipientIdsFor(conversation, currentUserId); + + if (!conversation || !currentUser || recipientIds.length === 0) { + return; + } + + const now = Date.now(); + + for (const recipientId of recipientIds) { + const syncKey = `${conversationId}:${recipientId}`; + + if (now - (this.lastSyncRequestAt.get(syncKey) ?? 0) < DIRECT_MESSAGE_SYNC_REQUEST_COOLDOWN_MS) { + continue; + } + + this.lastSyncRequestAt.set(syncKey, now); + + this.delivery.sendViaWebRTC(recipientId, { + type: 'direct-message-sync-request', + directMessageSyncRequest: { + conversationId, + sender: toDirectMessageParticipant(currentUser), + requestedAt: Date.now() + } + }); + } + } + + private purgeExpiredTypingEntries(): void { + const now = Date.now(); + + this.typingEntriesSignal.update((entries) => entries.filter((entry) => entry.expiresAt > now)); + } + private async loadForOwner(ownerId: string | null): Promise { if (!ownerId) { this.loadedOwnerId = null; @@ -512,10 +796,14 @@ export class DirectMessageService { } this.loadedOwnerId = ownerId; - this.conversationsSignal.set(await this.repository.loadConversations(ownerId)); + const conversations = await this.repository.loadConversations(ownerId); + + conversations.forEach((conversation) => this.rememberConversationAttachmentStorage(conversation)); + this.conversationsSignal.set(conversations); } private async persistConversation(ownerId: string, conversation: DirectMessageConversation): Promise { + this.rememberConversationAttachmentStorage(conversation); await this.repository.saveConversation(ownerId, conversation); this.conversationsSignal.update((conversations) => { const nextConversations = conversations.filter((entry) => entry.id !== conversation.id); @@ -525,6 +813,55 @@ export class DirectMessageService { }); } + private rememberConversationAttachmentStorage(conversation: DirectMessageConversation): void { + const storageContainer = `${DIRECT_MESSAGE_ATTACHMENT_STORAGE_PREFIX}${conversation.id}`; + + for (const message of conversation.messages) { + this.attachments.rememberMessageRoom(message.id, storageContainer); + } + } + + private mergeConversationParticipants( + conversation: DirectMessageConversation, + participants: DirectMessageParticipant[] + ): DirectMessageConversation { + const participantProfiles = { + ...conversation.participantProfiles, + ...Object.fromEntries(participants.map((participant) => [participant.userId, participant])) + }; + + return { + ...conversation, + participants: Object.keys(participantProfiles).sort(), + participantProfiles + }; + } + + private recipientIdsFor(conversation: DirectMessageConversation | null | undefined, currentUserId: string | null | undefined): string[] { + if (!conversation || !currentUserId) { + return []; + } + + return conversation.participants.filter((participantId) => participantId !== currentUserId); + } + + private conversationKind(conversation: DirectMessageConversation): 'direct' | 'group' { + return isGroupDirectConversation(conversation) ? 'group' : 'direct'; + } + + private uniqueParticipants(participants: DirectMessageParticipant[]): DirectMessageParticipant[] { + const seen = new Set(); + + return participants.filter((participant) => { + if (!participant.userId || seen.has(participant.userId)) { + return false; + } + + seen.add(participant.userId); + return true; + }); + } + private async requireConversation(ownerId: string, conversationId: string): Promise { await this.loadForOwner(ownerId); diff --git a/toju-app/src/app/domains/direct-message/application/services/peer-delivery.service.ts b/toju-app/src/app/domains/direct-message/application/services/peer-delivery.service.ts index ea23f6c..24c4b5b 100644 --- a/toju-app/src/app/domains/direct-message/application/services/peer-delivery.service.ts +++ b/toju-app/src/app/domains/direct-message/application/services/peer-delivery.service.ts @@ -22,7 +22,19 @@ export class PeerDeliveryService { this.webrtc.onMessageReceived, this.webrtc.onSignalingMessage as Observable ).pipe( - filter((event) => event.type === 'direct-message' || event.type === 'direct-message-status' || event.type === 'direct-message-mutation') + filter((event) => event.type === 'direct-message' + || event.type === 'direct-message-status' + || event.type === 'direct-message-mutation' + || event.type === 'direct-message-typing' + || event.type === 'direct-message-sync-request' + || event.type === 'direct-message-sync') + ); + + readonly directCallEvents$: Observable = merge( + this.webrtc.onMessageReceived, + this.webrtc.onSignalingMessage as Observable + ).pipe( + filter((event) => event.type === 'direct-call') ); readonly peerConnected$ = this.webrtc.onPeerConnected; @@ -60,6 +72,10 @@ export class PeerDeliveryService { }); } + sendCallEvent(recipientId: string, event: ChatEvent): boolean { + return this.sendViaWebRTC(recipientId, event); + } + syncOnReconnect(onReconnect: () => void): void { this.peerConnected$.subscribe(() => onReconnect()); } @@ -84,7 +100,15 @@ export class PeerDeliveryService { } private sendViaSignaling(recipientId: string, event: ChatEvent): boolean { - if (event.type !== 'direct-message' && event.type !== 'direct-message-status' && event.type !== 'direct-message-mutation') { + if ( + event.type !== 'direct-message' + && event.type !== 'direct-message-status' + && event.type !== 'direct-message-mutation' + && event.type !== 'direct-message-typing' + && event.type !== 'direct-message-sync-request' + && event.type !== 'direct-message-sync' + && event.type !== 'direct-call' + ) { return false; } diff --git a/toju-app/src/app/domains/direct-message/domain/logic/direct-message.logic.ts b/toju-app/src/app/domains/direct-message/domain/logic/direct-message.logic.ts index d367e5d..676db23 100644 --- a/toju-app/src/app/domains/direct-message/domain/logic/direct-message.logic.ts +++ b/toju-app/src/app/domains/direct-message/domain/logic/direct-message.logic.ts @@ -37,6 +37,7 @@ export function createDirectConversation( return { id: getDirectConversationId(currentUser.userId, peer.userId), + kind: 'direct', participants, participantProfiles: { [currentUser.userId]: currentUser, @@ -48,6 +49,31 @@ export function createDirectConversation( }; } +export function createGroupConversation( + conversationId: string, + participants: DirectMessageParticipant[], + now: number, + title?: string +): DirectMessageConversation { + const uniqueParticipants = uniqueDirectMessageParticipants(participants); + const participantIds = uniqueParticipants.map((participant) => participant.userId).sort(); + + return { + id: conversationId, + kind: 'group', + title: title || buildGroupConversationTitle(uniqueParticipants), + participants: participantIds, + participantProfiles: Object.fromEntries(uniqueParticipants.map((participant) => [participant.userId, participant])), + messages: [], + lastMessageAt: now, + unreadCount: 0 + }; +} + +export function isGroupDirectConversation(conversation: DirectMessageConversation): boolean { + return conversation.kind === 'group' || conversation.participants.length > 2; +} + export function upsertDirectMessage( conversation: DirectMessageConversation, message: DirectMessage, @@ -89,3 +115,26 @@ export function updateMessageStatusInConversation( return { ...conversation, messages }; } + +function uniqueDirectMessageParticipants(participants: DirectMessageParticipant[]): DirectMessageParticipant[] { + const seen = new Set(); + + return participants.filter((participant) => { + if (!participant.userId || seen.has(participant.userId)) { + return false; + } + + seen.add(participant.userId); + return true; + }); +} + +function buildGroupConversationTitle(participants: DirectMessageParticipant[]): string { + const names = participants.map((participant) => participant.displayName || participant.username || participant.userId); + + if (names.length <= 3) { + return names.join(', '); + } + + return `${names.slice(0, 3).join(', ')} +${names.length - 3}`; +} diff --git a/toju-app/src/app/domains/direct-message/domain/models/direct-message.model.ts b/toju-app/src/app/domains/direct-message/domain/models/direct-message.model.ts index 61373a2..7958fd6 100644 --- a/toju-app/src/app/domains/direct-message/domain/models/direct-message.model.ts +++ b/toju-app/src/app/domains/direct-message/domain/models/direct-message.model.ts @@ -1,17 +1,24 @@ import type { User } from '../../../../shared-kernel'; import type { DirectMessage, DirectMessageParticipant } from '../../../../shared-kernel'; +export type DirectMessageConversationKind = 'direct' | 'group'; + export type { DirectMessage, DirectMessageEventPayload, DirectMessageMutationEventPayload, DirectMessageParticipant, + DirectMessageSyncEventPayload, + DirectMessageSyncRequestEventPayload, DirectMessageStatus, - DirectMessageStatusEventPayload + DirectMessageStatusEventPayload, + DirectMessageTypingEventPayload } from '../../../../shared-kernel'; export interface DirectMessageConversation { id: string; + kind?: DirectMessageConversationKind; + title?: string; participants: string[]; participantProfiles: Record; messages: DirectMessage[]; diff --git a/toju-app/src/app/domains/direct-message/feature/dm-chat/dm-chat.component.html b/toju-app/src/app/domains/direct-message/feature/dm-chat/dm-chat.component.html index f7e2a34..7abfe64 100644 --- a/toju-app/src/app/domains/direct-message/feature/dm-chat/dm-chat.component.html +++ b/toju-app/src/app/domains/direct-message/feature/dm-chat/dm-chat.component.html @@ -13,10 +13,25 @@ [showStatusBadge]="true" size="md" /> -
+

{{ peerName() }}

-

Direct Message

+

{{ isGroupConversation() ? 'Group Chat' : 'Direct Message' }}

+ @if (showCallButton() && conversation()) { + + } @if (conversation()) { @@ -58,6 +73,15 @@ appThemeNode="chatComposerBar" class="chat-bottom-bar absolute bottom-0 left-0 right-2 z-10 bg-background/85 backdrop-blur-md" > + @if (typingUsers().length > 0) { +
+ {{ typingUsers().join(', ') }} {{ typingUsers().length === 1 ? 'is' : 'are' }} typing... +
+ } + (); + private openedConversationId: string | null = null; + readonly directCalls = inject(DirectCallService); readonly directMessages = inject(DirectMessageService); readonly currentUser = this.store.selectSignal(selectCurrentUser); readonly allUsers = this.store.selectSignal(selectAllUsers); readonly showGifPicker = signal(false); + readonly conversationId = input(null); + readonly showCallButton = input(true); readonly composerBottomPadding = signal(140); readonly gifPickerAnchorRight = signal(16); readonly linkMetadataByMessageId = signal>({}); @@ -87,15 +98,26 @@ export class DmChatComponent { readonly routeConversationId = toSignal(this.route.paramMap.pipe(map((params) => params.get('conversationId'))), { initialValue: this.route.snapshot.paramMap.get('conversationId') }); + readonly effectiveConversationId = computed(() => this.conversationId() ?? this.routeConversationId()); readonly currentUserId = computed(() => this.currentUser()?.oderId || this.currentUser()?.id || ''); readonly conversation = this.directMessages.selectedConversation; readonly klipyEnabled = computed(() => this.klipy.isEnabled(null)); readonly conversationKey = computed(() => this.conversation()?.id ?? 'dm:none'); + readonly typingUsers = computed(() => { + void this.directMessages.typingEntries(); + + return this.directMessages.typingUsers(this.conversation()?.id); + }); readonly peerUser = computed(() => { const conversation = this.conversation(); return conversation ? this.peerUserFor(conversation) : null; }); + readonly isGroupConversation = computed(() => { + const conversation = this.conversation(); + + return !!conversation && (conversation.kind === 'group' || conversation.participants.length > 2); + }); readonly participantUsers = computed(() => { const conversation = this.conversation(); const knownUsers = this.allUsers(); @@ -173,22 +195,57 @@ export class DmChatComponent { readonly peerName = computed(() => { const conversation = this.conversation(); const currentUserId = this.currentUserId(); + + if (conversation && this.isGroupConversation()) { + return conversation.title || this.groupConversationTitle(conversation); + } + const peerId = conversation?.participants.find((participantId) => participantId !== currentUserId); return peerId ? conversation?.participantProfiles[peerId]?.displayName || peerId : 'Direct Message'; }); + readonly peerCallIcon = computed(() => { + const conversation = this.conversation(); + + if (conversation && this.isGroupConversation()) { + return this.directCalls.isCallingConversation(conversation.id) ? 'lucidePhoneCall' : 'lucidePhone'; + } + + const peer = this.peerUser(); + + return peer && this.directCalls.isCallingUser(peer) ? 'lucidePhoneCall' : 'lucidePhone'; + }); + readonly canCallConversation = computed(() => { + const conversation = this.conversation(); + + if (!conversation) { + return false; + } + + if (this.isGroupConversation()) { + return conversation.participants.some((participantId) => participantId !== this.currentUserId()); + } + + return !!this.peerUser(); + }); constructor() { effect(() => { - const conversationId = this.routeConversationId(); + const conversationId = this.effectiveConversationId(); - if (conversationId) { + if (!conversationId) { + this.openedConversationId = null; + return; + } + + if (conversationId !== this.openedConversationId) { + this.openedConversationId = conversationId; void this.directMessages.openConversation(conversationId); } }); effect(() => { - void this.routeConversationId(); + void this.effectiveConversationId(); void this.klipy.refreshAvailability(null); }); @@ -226,11 +283,28 @@ export class DmChatComponent { this.replyTo.set(null); if (event.pendingFiles.length > 0) { + this.attachments.rememberMessageRoom(message.id, `direct-message:${conversation.id}`); this.attachments.publishAttachments(message.id, event.pendingFiles, this.currentUserId() || undefined); } }); } + handleTypingStarted(): void { + const conversationId = this.conversation()?.id; + + if (conversationId) { + this.directMessages.sendTyping(conversationId, true); + } + } + + async callConversation(): Promise { + const conversation = this.conversation(); + + if (conversation && this.canCallConversation()) { + await this.directCalls.startConversationCall(conversation); + } + } + setReplyTo(message: ChatMessageReplyEvent): void { this.replyTo.set(message); } @@ -325,6 +399,20 @@ export class DmChatComponent { const electronApi = this.electronBridge.getApi(); if (electronApi) { + const diskPath = this.getAttachmentDiskPath(attachment); + + if (diskPath && electronApi.saveExistingFileAs) { + try { + const result = await electronApi.saveExistingFileAs(diskPath, attachment.filename); + + if (result.saved || result.cancelled) { + return; + } + } catch { + /* fall back to blob/browser download */ + } + } + const blob = await this.getAttachmentBlob(attachment); if (blob) { @@ -391,12 +479,16 @@ export class DmChatComponent { continue; } - const urls = this.linkMetadata.extractUrls(message.content).filter((url) => !hasDedicatedChatEmbed(url)); + const urls = this.linkMetadata.extractUrls(message.content) + .filter((url) => !hasDedicatedChatEmbed(url)) + .filter((url) => !this.metadataRequestKeys.has(this.metadataRequestKey(message.id, url))); if (urls.length === 0) { continue; } + urls.forEach((url) => this.metadataRequestKeys.add(this.metadataRequestKey(message.id, url))); + const metadata = (await this.linkMetadata.fetchAllMetadata(urls)).filter((entry) => !entry.failed); if (metadata.length === 0) { @@ -410,11 +502,19 @@ export class DmChatComponent { } } + private metadataRequestKey(messageId: string, url: string): string { + return `${messageId}:${url}`; + } + private async getAttachmentBlob(attachment: Attachment): Promise { if (!attachment.objectUrl) { return null; } + if (attachment.objectUrl.startsWith('file:')) { + return null; + } + try { const response = await fetch(attachment.objectUrl); @@ -424,6 +524,10 @@ export class DmChatComponent { } } + private getAttachmentDiskPath(attachment: Attachment): string | null { + return attachment.savedPath || attachment.filePath || null; + } + private blobToBase64(blob: Blob): Promise { return new Promise((resolve, reject) => { const reader = new FileReader(); @@ -445,6 +549,10 @@ export class DmChatComponent { } private peerUserFor(conversation: NonNullable>): User | null { + if (conversation.kind === 'group' || conversation.participants.length > 2) { + return null; + } + const currentUserId = this.currentUserId(); const peerId = conversation.participants.find((participantId) => participantId !== currentUserId); @@ -454,4 +562,16 @@ export class DmChatComponent { return this.participantUsers().find((user) => user.id === peerId || user.oderId === peerId) ?? null; } + + private groupConversationTitle(conversation: NonNullable>): string { + const names = conversation.participants + .filter((participantId) => participantId !== this.currentUserId()) + .map((participantId) => conversation.participantProfiles[participantId]?.displayName || participantId); + + if (names.length <= 3) { + return names.join(', '); + } + + return `${names.slice(0, 3).join(', ')} +${names.length - 3}`; + } } diff --git a/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.html b/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.html index fc87b61..8a3e140 100644 --- a/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.html +++ b/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.html @@ -29,9 +29,11 @@ [class.dm-rail-slide-out]="item.isExiting" [class.pointer-events-none]="item.isExiting" [ngClass]="isSelectedItem(item) ? 'rounded-lg ring-2 ring-primary/40 bg-primary/10' : 'rounded-xl bg-card'" + [attr.data-testid]="'dm-rail-item-' + item.id" [title]="item.label" [attr.aria-current]="isSelectedItem(item) ? 'page' : null" (click)="openItem(item)" + (contextmenu)="openContextMenu($event, item)" >
@if (item.avatarUrl) { @@ -58,7 +60,7 @@ class="absolute -bottom-1 -right-1 grid h-4 w-4 place-items-center rounded-full bg-secondary text-muted-foreground shadow-sm ring-2 ring-card" > @@ -72,3 +74,24 @@
}
+ +@if (contextMenu(); as menu) { + + + +} diff --git a/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.ts b/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.ts index d339817..69b2575 100644 --- a/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.ts +++ b/toju-app/src/app/domains/direct-message/feature/dm-rail/dm-rail.component.ts @@ -12,8 +12,15 @@ import { CommonModule } from '@angular/common'; import { NavigationEnd, Router } from '@angular/router'; import { Store } from '@ngrx/store'; import { NgIcon, provideIcons } from '@ng-icons/core'; -import { lucideMessageCircle, lucideUser } from '@ng-icons/lucide'; +import { + lucideLogOut, + lucideMessageCircle, + lucideTrash2, + lucideUser, + lucideUsers +} from '@ng-icons/lucide'; import { filter, map } from 'rxjs'; +import { ContextMenuComponent } from '../../../../shared'; import { DirectMessageService } from '../../application/services/direct-message.service'; import { FriendService } from '../../application/services/friend.service'; import { selectAllUsers, selectCurrentUser } from '../../../../store/users/users.selectors'; @@ -30,13 +37,23 @@ interface DmRailItem { unreadCount: number; } +interface DmRailContextMenuState { + x: number; + y: number; + item: DmRailItem; +} + const EXIT_ANIMATION_MS = 160; @Component({ selector: 'app-dm-rail', standalone: true, - imports: [CommonModule, NgIcon], - viewProviders: [provideIcons({ lucideMessageCircle, lucideUser })], + imports: [ + CommonModule, + ContextMenuComponent, + NgIcon + ], + viewProviders: [provideIcons({ lucideLogOut, lucideMessageCircle, lucideTrash2, lucideUser, lucideUsers })], templateUrl: './dm-rail.component.html', styleUrl: './dm-rail.component.scss' }) @@ -60,11 +77,29 @@ export class DmRailComponent implements OnDestroy { this.friends.isFriend(user.oderId || user.id) && (user.oderId || user.id) !== this.currentUserId() )); readonly railItems = signal([]); + readonly contextMenu = signal(null); readonly unreadRailItems = computed(() => { const currentUserId = this.currentUserId(); const items = new Map(); for (const conversation of this.directMessages.conversations()) { + if (conversation.unreadCount === 0) { + continue; + } + + if (this.isGroupConversation(conversation)) { + items.set(conversation.id, { + id: conversation.id, + label: this.titleFor(conversation), + conversation, + isExiting: false, + user: null, + unreadCount: conversation.unreadCount + }); + + continue; + } + const peerId = conversation.participants.find((participantId) => participantId !== currentUserId); if (!peerId) { @@ -103,7 +138,7 @@ export class DmRailComponent implements OnDestroy { }); } - return Array.from(items.values()).filter((item) => item.unreadCount > 0); + return Array.from(items.values()).filter((item) => item.conversation && item.unreadCount > 0); }); readonly isOnDirectMessages = toSignal( this.router.events.pipe( @@ -140,6 +175,8 @@ export class DmRailComponent implements OnDestroy { } async openItem(item: DmRailItem): Promise { + this.closeContextMenu(); + if (item.conversation) { await this.openConversation(item.conversation); return; @@ -155,6 +192,10 @@ export class DmRailComponent implements OnDestroy { } titleFor(conversation: DirectMessageConversation): string { + if (this.isGroupConversation(conversation)) { + return conversation.title || this.groupConversationTitle(conversation); + } + const peerId = conversation.participants.find((participantId) => participantId !== this.currentUserId()); return peerId ? conversation.participantProfiles[peerId]?.displayName || peerId : 'DM'; @@ -184,6 +225,51 @@ export class DmRailComponent implements OnDestroy { return !!item.conversation && this.isSelectedConversation(item.conversation); } + iconFor(item: DmRailItem): string { + return item.conversation && this.isGroupConversation(item.conversation) ? 'lucideUsers' : 'lucideUser'; + } + + openContextMenu(event: MouseEvent, item: DmRailItem): void { + if (!item.conversation) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + this.contextMenu.set({ + x: event.clientX, + y: event.clientY, + item + }); + } + + closeContextMenu(): void { + this.contextMenu.set(null); + } + + async forgetContextItem(): Promise { + const item = this.contextMenu()?.item; + + if (!item?.conversation) { + return; + } + + await this.directMessages.forgetConversation(item.conversation.id); + this.closeContextMenu(); + + if (this.isSelectedConversation(item.conversation)) { + await this.router.navigate(['/dm']); + } + } + + forgetContextLabel(item: DmRailItem): string { + return item.conversation && this.isGroupConversation(item.conversation) ? 'Leave chat' : 'Forget chat'; + } + + forgetContextIcon(item: DmRailItem): string { + return item.conversation && this.isGroupConversation(item.conversation) ? 'lucideLogOut' : 'lucideTrash2'; + } + formatUnreadCount(count: number): string { return count > 99 ? '99+' : String(count); } @@ -227,4 +313,20 @@ export class DmRailComponent implements OnDestroy { this.railItems.set(nextItems); } + + private isGroupConversation(conversation: DirectMessageConversation): boolean { + return conversation.kind === 'group' || conversation.participants.length > 2; + } + + private groupConversationTitle(conversation: DirectMessageConversation): string { + const names = conversation.participants + .filter((participantId) => participantId !== this.currentUserId()) + .map((participantId) => conversation.participantProfiles[participantId]?.displayName || participantId); + + if (names.length <= 3) { + return names.join(', '); + } + + return `${names.slice(0, 3).join(', ')} +${names.length - 3}`; + } } diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.html b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.html new file mode 100644 index 0000000..a7e336d --- /dev/null +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.html @@ -0,0 +1,7 @@ +
+ +
diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.ts b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.ts new file mode 100644 index 0000000..0a2e723 --- /dev/null +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-chat-panel.component.ts @@ -0,0 +1,21 @@ +import { Component, computed, inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { ThemeNodeDirective, ThemeService } from '../../../theme'; +import { DmChatComponent } from '../dm-chat/dm-chat.component'; + +@Component({ + selector: 'app-dm-chat-panel', + standalone: true, + imports: [ + CommonModule, + ThemeNodeDirective, + DmChatComponent + ], + host: { class: 'contents' }, + templateUrl: './dm-chat-panel.component.html' +}) +export class DmChatPanelComponent { + private readonly theme = inject(ThemeService); + + readonly chatPanelStyles = computed(() => this.theme.getLayoutItemStyles('dmChatPanel')); +} diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.html b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.html new file mode 100644 index 0000000..e58118d --- /dev/null +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.html @@ -0,0 +1,54 @@ +
+ +
+
+

{{ peerName() }}

+ @if (conversation().unreadCount > 0) { + + {{ formatUnreadCount(conversation().unreadCount) }} + + } +
+

{{ lastMessagePreview() }}

+
+ + +
diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.ts b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.ts new file mode 100644 index 0000000..9201547 --- /dev/null +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversation-item.component.ts @@ -0,0 +1,216 @@ +/* eslint-disable @typescript-eslint/member-ordering */ +import { + Component, + computed, + effect, + inject, + input +} from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { ActivatedRoute, Router } from '@angular/router'; +import { toSignal } from '@angular/core/rxjs-interop'; +import { Store } from '@ngrx/store'; +import { NgIcon, provideIcons } from '@ng-icons/core'; +import { + lucidePhone, + lucidePhoneCall, + lucideTrash2 +} from '@ng-icons/lucide'; +import { map } from 'rxjs'; +import { UserAvatarComponent } from '../../../../shared'; +import { ThemeNodeDirective } from '../../../theme'; +import { AttachmentFacade } from '../../../attachment'; +import { DirectCallService } from '../../../direct-call'; +import { selectAllUsers } from '../../../../store/users/users.selectors'; +import type { DirectMessageConversation } from '../../domain/models/direct-message.model'; +import type { Attachment } from '../../../attachment'; +import type { User } from '../../../../shared-kernel'; +import { DirectMessageService } from '../../application/services/direct-message.service'; + +@Component({ + selector: 'app-dm-conversation-item', + standalone: true, + imports: [ + CommonModule, + NgIcon, + UserAvatarComponent, + ThemeNodeDirective + ], + viewProviders: [provideIcons({ lucidePhone, lucidePhoneCall, lucideTrash2 })], + host: { class: 'block' }, + templateUrl: './dm-conversation-item.component.html' +}) +export class DmConversationItemComponent { + private readonly route = inject(ActivatedRoute); + private readonly router = inject(Router); + private readonly store = inject(Store); + private readonly attachments = inject(AttachmentFacade); + private readonly directMessages = inject(DirectMessageService); + private readonly directCalls = inject(DirectCallService); + readonly conversation = input.required(); + readonly users = this.store.selectSignal(selectAllUsers); + readonly routeConversationId = toSignal(this.route.paramMap.pipe(map((params) => params.get('conversationId'))), { + initialValue: this.route.snapshot.paramMap.get('conversationId') + }); + readonly isSelected = computed(() => this.routeConversationId() === this.conversation().id); + readonly peerName = computed(() => this.resolvePeerName(this.conversation())); + readonly peerAvatarUrl = computed(() => this.resolvePeerAvatarUrl(this.conversation())); + readonly lastMessagePreview = computed(() => this.resolveLastMessagePreview(this.conversation())); + readonly canCall = computed(() => this.canCallConversation(this.conversation())); + readonly callIcon = computed(() => this.conversationCallIcon(this.conversation())); + + constructor() { + effect(() => { + const conversation = this.conversation(); + const peer = this.peerUser(conversation, this.users()); + + if (!peer?.avatarUrl) { + this.directMessages.requestPeerAvatarSync(conversation.id); + } + }); + } + + openConversation(): void { + void this.router.navigate(['/dm', this.conversation().id]); + } + + async forgetConversation(event: Event): Promise { + event.stopPropagation(); + const conversation = this.conversation(); + const conversations = this.directMessages.conversations(); + const nextConversation = conversations.find((entry) => entry.id !== conversation.id) ?? null; + + await this.directMessages.forgetConversation(conversation.id); + + if (this.routeConversationId() === conversation.id) { + await this.router.navigate(nextConversation ? ['/dm', nextConversation.id] : ['/dm']); + } + } + + async callConversationPeer(event: Event): Promise { + event.stopPropagation(); + await this.directCalls.startConversationCall(this.conversation()); + } + + formatUnreadCount(count: number): string { + return count > 99 ? '99+' : String(count); + } + + private resolvePeerName(conversation: DirectMessageConversation): string { + if (this.isGroupConversation(conversation)) { + return conversation.title || this.groupConversationTitle(conversation); + } + + const peerId = this.peerId(conversation); + const knownUser = this.peerUser(conversation); + + return peerId ? knownUser?.displayName || conversation.participantProfiles[peerId]?.displayName || peerId : 'Direct Message'; + } + + private resolvePeerAvatarUrl(conversation: DirectMessageConversation): string | undefined { + if (this.isGroupConversation(conversation)) { + return undefined; + } + + const peerId = this.peerId(conversation); + const knownUser = this.peerUser(conversation); + + return peerId ? knownUser?.avatarUrl || conversation.participantProfiles[peerId]?.avatarUrl : undefined; + } + + private resolveLastMessagePreview(conversation: DirectMessageConversation): string { + const lastMessage = conversation.messages.at(-1); + + if (!lastMessage) { + return 'No messages yet'; + } + + if (lastMessage.isDeleted) { + return 'Message deleted'; + } + + if (this.isKlipyGif(lastMessage.content)) { + return 'Sent a GIF'; + } + + this.attachments.updated(); + const attachments = this.attachments.getForMessage(lastMessage.id); + + if (attachments.length > 0) { + return this.attachmentPreview(attachments); + } + + return lastMessage.content || 'Attachment'; + } + + private conversationCallIcon(conversation: DirectMessageConversation): string { + if (this.isGroupConversation(conversation)) { + return this.directCalls.isCallingConversation(conversation.id) ? 'lucidePhoneCall' : 'lucidePhone'; + } + + const peer = this.peerUser(conversation); + + return peer && this.directCalls.isCallingUser(peer) ? 'lucidePhoneCall' : 'lucidePhone'; + } + + private canCallConversation(conversation: DirectMessageConversation): boolean { + if (this.isGroupConversation(conversation)) { + return conversation.participants.some((participantId) => participantId !== this.directMessages.currentUserId()); + } + + return !!this.peerUser(conversation); + } + + private peerId(conversation: DirectMessageConversation): string | undefined { + const currentUserId = this.directMessages.currentUserId(); + + return conversation.participants.find((participantId) => participantId !== currentUserId); + } + + private peerUser(conversation: DirectMessageConversation, users = this.users()): User | undefined { + if (this.isGroupConversation(conversation)) { + return undefined; + } + + const peerId = this.peerId(conversation); + + return peerId ? users.find((user) => user.id === peerId || user.oderId === peerId) : undefined; + } + + private isGroupConversation(conversation: DirectMessageConversation): boolean { + return conversation.kind === 'group' || conversation.participants.length > 2; + } + + private groupConversationTitle(conversation: DirectMessageConversation): string { + const currentUserId = this.directMessages.currentUserId(); + const names = conversation.participants + .filter((participantId) => participantId !== currentUserId) + .map((participantId) => conversation.participantProfiles[participantId]?.displayName || participantId); + + if (names.length <= 3) { + return names.join(', '); + } + + return `${names.slice(0, 3).join(', ')} +${names.length - 3}`; + } + + private isKlipyGif(content: string): boolean { + return /!\[KLIPY GIF\]\([^)]*static\.klipy\.com[^)]*\)/i.test(content.trim()); + } + + private attachmentPreview(attachments: Attachment[]): string { + if (attachments.some((attachment) => attachment.mime.startsWith('image/'))) { + return 'Sent an image'; + } + + if (attachments.some((attachment) => attachment.mime.startsWith('video/'))) { + return 'Sent a video'; + } + + if (attachments.some((attachment) => attachment.mime.startsWith('audio/'))) { + return 'Sent audio'; + } + + return attachments.length === 1 ? 'Sent an attachment' : 'Sent attachments'; + } +} diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.html b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.html new file mode 100644 index 0000000..f718226 --- /dev/null +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.html @@ -0,0 +1,46 @@ + diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.ts b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.ts new file mode 100644 index 0000000..6daee4c --- /dev/null +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-conversations-panel.component.ts @@ -0,0 +1,38 @@ +/* eslint-disable @typescript-eslint/member-ordering */ +import { + Component, + computed, + inject +} from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { NgIcon, provideIcons } from '@ng-icons/core'; +import { lucideMessageCircle } from '@ng-icons/lucide'; +import { ThemeNodeDirective, ThemeService } from '../../../theme'; +import { VoiceControlsComponent } from '../../../voice-session'; +import type { DirectMessageConversation } from '../../domain/models/direct-message.model'; +import { DirectMessageService } from '../../application/services/direct-message.service'; +import { DmConversationItemComponent } from './dm-conversation-item.component'; + +@Component({ + selector: 'app-dm-conversations-panel', + standalone: true, + imports: [ + CommonModule, + DmConversationItemComponent, + NgIcon, + ThemeNodeDirective, + VoiceControlsComponent + ], + viewProviders: [provideIcons({ lucideMessageCircle })], + host: { class: 'contents' }, + templateUrl: './dm-conversations-panel.component.html' +}) +export class DmConversationsPanelComponent { + private readonly theme = inject(ThemeService); + readonly directMessages = inject(DirectMessageService); + readonly listPanelStyles = computed(() => this.theme.getLayoutItemStyles('dmConversationsPanel')); + + trackConversationId(index: number, conversation: DirectMessageConversation): string { + return conversation.id; + } +} diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.html b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.html index 55a1216..1821d8f 100644 --- a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.html +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.html @@ -2,97 +2,6 @@ class="grid h-full min-h-0 overflow-hidden bg-background" [ngStyle]="layoutStyles()" > - - -
- -
+ + diff --git a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.ts b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.ts index 5305ff9..46807ee 100644 --- a/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.ts +++ b/toju-app/src/app/domains/direct-message/feature/dm-workspace/dm-workspace.component.ts @@ -9,50 +9,31 @@ import { import { CommonModule } from '@angular/common'; import { ActivatedRoute, Router } from '@angular/router'; import { toSignal } from '@angular/core/rxjs-interop'; -import { Store } from '@ngrx/store'; -import { NgIcon, provideIcons } from '@ng-icons/core'; -import { lucideMessageCircle, lucideTrash2 } from '@ng-icons/lucide'; import { map } from 'rxjs'; -import { UserAvatarComponent } from '../../../../shared'; -import { ThemeNodeDirective, ThemeService } from '../../../theme'; -import { AttachmentFacade } from '../../../attachment'; -import { VoiceControlsComponent } from '../../../voice-session'; +import { ThemeService } from '../../../theme'; import { DirectMessageService } from '../../application/services/direct-message.service'; -import { DmChatComponent } from '../dm-chat/dm-chat.component'; -import { selectAllUsers } from '../../../../store/users/users.selectors'; -import type { DirectMessageConversation } from '../../domain/models/direct-message.model'; -import type { Attachment } from '../../../attachment'; -import type { User } from '../../../../shared-kernel'; +import { DmChatPanelComponent } from './dm-chat-panel.component'; +import { DmConversationsPanelComponent } from './dm-conversations-panel.component'; @Component({ selector: 'app-dm-workspace', standalone: true, imports: [ CommonModule, - NgIcon, - UserAvatarComponent, - ThemeNodeDirective, - DmChatComponent, - VoiceControlsComponent + DmChatPanelComponent, + DmConversationsPanelComponent ], - viewProviders: [provideIcons({ lucideMessageCircle, lucideTrash2 })], templateUrl: './dm-workspace.component.html' }) export class DmWorkspaceComponent implements OnDestroy { private readonly route = inject(ActivatedRoute); private readonly router = inject(Router); private readonly theme = inject(ThemeService); - private readonly store = inject(Store); - private readonly attachments = inject(AttachmentFacade); - readonly directMessages = inject(DirectMessageService); - readonly users = this.store.selectSignal(selectAllUsers); readonly routeConversationId = toSignal(this.route.paramMap.pipe(map((params) => params.get('conversationId'))), { initialValue: this.route.snapshot.paramMap.get('conversationId') }); readonly layoutStyles = computed(() => this.theme.getLayoutContainerStyles('dmLayout')); - readonly listPanelStyles = computed(() => this.theme.getLayoutItemStyles('dmConversationsPanel')); - readonly chatPanelStyles = computed(() => this.theme.getLayoutItemStyles('dmChatPanel')); constructor() { effect(() => { @@ -69,116 +50,9 @@ export class DmWorkspaceComponent implements OnDestroy { void this.router.navigate(['/dm', firstConversation.id], { replaceUrl: true }); } }); - - effect(() => { - const users = this.users(); - - for (const conversation of this.directMessages.conversations()) { - const peer = this.peerUser(conversation, users); - - if (!peer?.avatarUrl) { - this.directMessages.requestPeerAvatarSync(conversation.id); - } - } - }); - } - - openConversation(conversation: DirectMessageConversation): void { - void this.router.navigate(['/dm', conversation.id]); } ngOnDestroy(): void { this.directMessages.closeConversationView(this.routeConversationId()); } - - isSelectedConversation(conversation: DirectMessageConversation): boolean { - return this.routeConversationId() === conversation.id; - } - - peerName(conversation: DirectMessageConversation): string { - const peerId = this.peerId(conversation); - const knownUser = this.peerUser(conversation); - - return peerId ? knownUser?.displayName || conversation.participantProfiles[peerId]?.displayName || peerId : 'Direct Message'; - } - - peerAvatarUrl(conversation: DirectMessageConversation): string | undefined { - const peerId = this.peerId(conversation); - const knownUser = this.peerUser(conversation); - - return peerId ? knownUser?.avatarUrl || conversation.participantProfiles[peerId]?.avatarUrl : undefined; - } - - lastMessagePreview(conversation: DirectMessageConversation): string { - const lastMessage = conversation.messages.at(-1); - - if (!lastMessage) { - return 'No messages yet'; - } - - if (lastMessage.isDeleted) { - return 'Message deleted'; - } - - if (this.isKlipyGif(lastMessage.content)) { - return 'Sent a GIF'; - } - - this.attachments.updated(); - const attachments = this.attachments.getForMessage(lastMessage.id); - - if (attachments.length > 0) { - return this.attachmentPreview(attachments); - } - - return lastMessage.content || 'Attachment'; - } - - async forgetConversation(event: Event, conversation: DirectMessageConversation): Promise { - event.stopPropagation(); - const conversations = this.directMessages.conversations(); - const nextConversation = conversations.find((entry) => entry.id !== conversation.id) ?? null; - - await this.directMessages.forgetConversation(conversation.id); - - if (this.routeConversationId() === conversation.id) { - await this.router.navigate(nextConversation ? ['/dm', nextConversation.id] : ['/dm']); - } - } - - formatUnreadCount(count: number): string { - return count > 99 ? '99+' : String(count); - } - - private peerId(conversation: DirectMessageConversation): string | undefined { - const currentUserId = this.directMessages.currentUserId(); - - return conversation.participants.find((participantId) => participantId !== currentUserId); - } - - private peerUser(conversation: DirectMessageConversation, users = this.users()): User | undefined { - const peerId = this.peerId(conversation); - - return peerId ? users.find((user) => user.id === peerId || user.oderId === peerId) : undefined; - } - - private isKlipyGif(content: string): boolean { - return /!\[KLIPY GIF\]\([^)]*static\.klipy\.com[^)]*\)/i.test(content.trim()); - } - - private attachmentPreview(attachments: Attachment[]): string { - if (attachments.some((attachment) => attachment.mime.startsWith('image/'))) { - return 'Sent an image'; - } - - if (attachments.some((attachment) => attachment.mime.startsWith('video/'))) { - return 'Sent a video'; - } - - if (attachments.some((attachment) => attachment.mime.startsWith('audio/'))) { - return 'Sent audio'; - } - - return attachments.length === 1 ? 'Sent an attachment' : 'Sent attachments'; - } } diff --git a/toju-app/src/app/domains/direct-message/feature/user-search-list/user-search-list.component.html b/toju-app/src/app/domains/direct-message/feature/user-search-list/user-search-list.component.html index c20078b..bc5a9fa 100644 --- a/toju-app/src/app/domains/direct-message/feature/user-search-list/user-search-list.component.html +++ b/toju-app/src/app/domains/direct-message/feature/user-search-list/user-search-list.component.html @@ -34,6 +34,19 @@ class="pointer-events-none flex scale-95 shrink-0 items-center gap-2 opacity-0 transition-[opacity,transform] duration-75 ease-out group-hover:pointer-events-auto group-hover:scale-100 group-hover:opacity-100 group-focus-within:pointer-events-auto group-focus-within:scale-100 group-focus-within:opacity-100" > + + + + + + +
+
+ + @if (status() === 'loading') { +
Loading experimental player...
+ } + + @if (status() === 'error') { +
+

{{ errorMessage() }}

+
+ + +
+
+ } +
+ diff --git a/toju-app/src/app/domains/experimental-media/feature/experimental-vlc-player/experimental-vlc-player.component.ts b/toju-app/src/app/domains/experimental-media/feature/experimental-vlc-player/experimental-vlc-player.component.ts new file mode 100644 index 0000000..b2df35b --- /dev/null +++ b/toju-app/src/app/domains/experimental-media/feature/experimental-vlc-player/experimental-vlc-player.component.ts @@ -0,0 +1,109 @@ +import { + AfterViewInit, + Component, + ElementRef, + OnDestroy, + ViewChild, + inject, + input, + output, + signal +} from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { NgIcon, provideIcons } from '@ng-icons/core'; +import { + lucideDownload, + lucideRefreshCw, + lucideX +} from '@ng-icons/lucide'; + +import { + ExperimentalVlcPlayerHandle, + ExperimentalVlcRuntimeService +} from '../../infrastructure/services/experimental-vlc-runtime.service'; + +@Component({ + selector: 'app-experimental-vlc-player', + standalone: true, + imports: [CommonModule, NgIcon], + viewProviders: [ + provideIcons({ + lucideDownload, + lucideRefreshCw, + lucideX + }) + ], + templateUrl: './experimental-vlc-player.component.html' +}) +export class ExperimentalVlcPlayerComponent implements AfterViewInit, OnDestroy { + @ViewChild('playerMount') playerMount?: ElementRef; + + src = input.required(); + filename = input.required(); + mime = input.required(); + sizeLabel = input(''); + + closed = output(); + downloadRequested = output(); + + private readonly runtime = inject(ExperimentalVlcRuntimeService); + private playerHandle: ExperimentalVlcPlayerHandle | null = null; + + readonly status = signal<'loading' | 'ready' | 'error'>('loading'); + readonly errorMessage = signal(''); + + ngAfterViewInit(): void { + void this.loadPlayer(); + } + + ngOnDestroy(): void { + this.destroyPlayer(); + } + + retry(): void { + this.destroyPlayer(); + void this.loadPlayer(); + } + + close(): void { + this.closed.emit(); + } + + requestDownload(): void { + this.downloadRequested.emit(); + } + + private async loadPlayer(): Promise { + const container = this.playerMount?.nativeElement; + + if (!container) { + return; + } + + this.status.set('loading'); + this.errorMessage.set(''); + container.replaceChildren(); + + try { + this.playerHandle = await this.runtime.createPlayer({ + container, + sourceUrl: this.src(), + filename: this.filename(), + mime: this.mime() + }); + this.status.set('ready'); + } catch (error) { + this.status.set('error'); + this.errorMessage.set(error instanceof Error ? error.message : 'Experimental VLC.js playback failed to start.'); + } + } + + private destroyPlayer(): void { + try { + this.playerHandle?.destroy?.(); + } catch {} + + this.playerHandle = null; + this.playerMount?.nativeElement.replaceChildren(); + } +} diff --git a/toju-app/src/app/domains/experimental-media/index.ts b/toju-app/src/app/domains/experimental-media/index.ts new file mode 100644 index 0000000..4e13039 --- /dev/null +++ b/toju-app/src/app/domains/experimental-media/index.ts @@ -0,0 +1,2 @@ +export { ExperimentalMediaSettingsService } from './application/services/experimental-media-settings.service'; +export { ExperimentalVlcPlayerComponent } from './feature/experimental-vlc-player/experimental-vlc-player.component'; diff --git a/toju-app/src/app/domains/experimental-media/infrastructure/services/experimental-vlc-runtime.service.ts b/toju-app/src/app/domains/experimental-media/infrastructure/services/experimental-vlc-runtime.service.ts new file mode 100644 index 0000000..542dd06 --- /dev/null +++ b/toju-app/src/app/domains/experimental-media/infrastructure/services/experimental-vlc-runtime.service.ts @@ -0,0 +1,80 @@ +import { DOCUMENT } from '@angular/common'; +import { Injectable, inject } from '@angular/core'; + +export interface ExperimentalVlcPlayerOptions { + container: HTMLElement; + sourceUrl: string; + filename: string; + mime: string; +} + +export interface ExperimentalVlcPlayerHandle { + destroy?: () => void; +} + +export interface ExperimentalVlcRuntime { + createPlayer: (options: ExperimentalVlcPlayerOptions) => ExperimentalVlcPlayerHandle | Promise; + isPlaceholder?: boolean; +} + +declare global { + interface Window { + MetoYouVlcJs?: ExperimentalVlcRuntime; + } +} + +const VLC_RUNTIME_SCRIPT_URL = '/vlcjs/metoyou-vlc-player.js'; + +@Injectable({ providedIn: 'root' }) +export class ExperimentalVlcRuntimeService { + private readonly document = inject(DOCUMENT); + private runtimeLoadPromise: Promise | null = null; + + async createPlayer(options: ExperimentalVlcPlayerOptions): Promise { + const runtime = await this.loadRuntime(); + + if (runtime.isPlaceholder) { + throw new Error('No VLC.js runtime is bundled. Use Open in Electron, or replace /vlcjs/metoyou-vlc-player.js with a real runtime adapter.'); + } + + return runtime.createPlayer(options); + } + + async hasBundledRuntime(): Promise { + try { + const runtime = await this.loadRuntime(); + + return !!runtime.createPlayer && !runtime.isPlaceholder; + } catch { + return false; + } + } + + private loadRuntime(): Promise { + if (this.document.defaultView?.MetoYouVlcJs?.createPlayer) { + return Promise.resolve(this.document.defaultView.MetoYouVlcJs); + } + + this.runtimeLoadPromise ??= new Promise((resolve, reject) => { + const script = this.document.createElement('script'); + + script.src = VLC_RUNTIME_SCRIPT_URL; + script.async = true; + script.onload = () => { + const runtime = this.document.defaultView?.MetoYouVlcJs; + + if (!runtime?.createPlayer) { + reject(new Error('The experimental VLC.js runtime did not register a MetoYouVlcJs.createPlayer adapter.')); + return; + } + + resolve(runtime); + }; + script.onerror = () => reject(new Error(`The experimental VLC.js runtime was not found at ${VLC_RUNTIME_SCRIPT_URL}.`)); + + this.document.head.appendChild(script); + }); + + return this.runtimeLoadPromise; + } +} diff --git a/toju-app/src/app/domains/voice-session/README.md b/toju-app/src/app/domains/voice-session/README.md index 0b7ad2a..0e2850a 100644 --- a/toju-app/src/app/domains/voice-session/README.md +++ b/toju-app/src/app/domains/voice-session/README.md @@ -80,6 +80,8 @@ stateDiagram-v2 When a voice session is active and the user navigates away from the voice-connected server, `showFloatingControls` becomes `true` and the floating overlay appears. Clicking the overlay dispatches `RoomsActions.viewServer` to navigate back. +Joining a new voice target is exclusive: entering another voice channel or private call first disconnects the current call/channel, clears local voice state, and broadcasts the leave for the previous target. Users never need to manually leave one voice target before joining another. + Remote voice playback is scoped to the active voice channel, not the whole server. Users stay connected to the shared peer mesh for text, presence, and screen-share control, but voice transport and playback only stay active for peers whose `voiceState.roomId` and `voiceState.serverId` match the local user's current voice session. Owners and admins can also move connected users between voice channels from the room sidebar by dragging a user onto a different voice channel. The moved client updates its local heartbeat and voice-session metadata to the new channel, so routing, floating controls, and occupancy stay in sync after the move. diff --git a/toju-app/src/app/features/direct-call/private-call-controls.component.html b/toju-app/src/app/features/direct-call/private-call-controls.component.html new file mode 100644 index 0000000..b684c66 --- /dev/null +++ b/toju-app/src/app/features/direct-call/private-call-controls.component.html @@ -0,0 +1,71 @@ +
+ @if (!connected()) { + + } + + + + + + + + +
diff --git a/toju-app/src/app/features/direct-call/private-call-controls.component.ts b/toju-app/src/app/features/direct-call/private-call-controls.component.ts new file mode 100644 index 0000000..bd7ab63 --- /dev/null +++ b/toju-app/src/app/features/direct-call/private-call-controls.component.ts @@ -0,0 +1,43 @@ +import { Component, input, output } from '@angular/core'; +import { NgIcon, provideIcons } from '@ng-icons/core'; +import { + lucideMic, + lucideMicOff, + lucideMonitor, + lucideMonitorOff, + lucidePhone, + lucidePhoneOff, + lucideVideo, + lucideVideoOff +} from '@ng-icons/lucide'; + +@Component({ + selector: 'app-private-call-controls', + standalone: true, + imports: [NgIcon], + viewProviders: [ + provideIcons({ + lucideMic, + lucideMicOff, + lucideMonitor, + lucideMonitorOff, + lucidePhone, + lucidePhoneOff, + lucideVideo, + lucideVideoOff + }) + ], + templateUrl: './private-call-controls.component.html' +}) +export class PrivateCallControlsComponent { + readonly connected = input.required(); + readonly muted = input.required(); + readonly cameraEnabled = input.required(); + readonly screenSharing = input.required(); + + readonly joinRequested = output(); + readonly muteToggled = output(); + readonly cameraToggled = output(); + readonly screenShareToggled = output(); + readonly leaveRequested = output(); +} diff --git a/toju-app/src/app/features/direct-call/private-call-participant-card.component.html b/toju-app/src/app/features/direct-call/private-call-participant-card.component.html new file mode 100644 index 0000000..b26d28e --- /dev/null +++ b/toju-app/src/app/features/direct-call/private-call-participant-card.component.html @@ -0,0 +1,102 @@ +
+
+ @if (user().avatarUrl) { + + } @else { +
+ {{ participantInitial() }} +
+ } + + @if (!connected()) { +
+
+ +
+
+ } + + @if (connected()) { + + } +
+ +
+

+ {{ user().displayName }} +

+ @if (issueLabel(); as label) { +

{{ label }}

+ } +
+
diff --git a/toju-app/src/app/features/direct-call/private-call-participant-card.component.ts b/toju-app/src/app/features/direct-call/private-call-participant-card.component.ts new file mode 100644 index 0000000..b71fdd4 --- /dev/null +++ b/toju-app/src/app/features/direct-call/private-call-participant-card.component.ts @@ -0,0 +1,33 @@ +import { Component, input } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { NgIcon, provideIcons } from '@ng-icons/core'; +import { lucideWifiOff } from '@ng-icons/lucide'; +import type { User } from '../../shared-kernel'; + +@Component({ + selector: 'app-private-call-participant-card', + standalone: true, + imports: [CommonModule, NgIcon], + viewProviders: [provideIcons({ lucideWifiOff })], + host: { class: 'block min-w-0' }, + templateUrl: './private-call-participant-card.component.html' +}) +export class PrivateCallParticipantCardComponent { + readonly user = input.required(); + readonly connected = input.required(); + readonly speaking = input.required(); + readonly issueLabel = input(null); + readonly compact = input(false); + + avatarSize(): string { + return this.compact() ? '5rem' : 'clamp(4.25rem, 22vw, 10rem)'; + } + + avatarSizeSm(): string { + return this.compact() ? '6rem' : this.avatarSize(); + } + + participantInitial(): string { + return this.user().displayName.charAt(0).toUpperCase() || '?'; + } +} diff --git a/toju-app/src/app/features/direct-call/private-call.component.html b/toju-app/src/app/features/direct-call/private-call.component.html new file mode 100644 index 0000000..2f673bc --- /dev/null +++ b/toju-app/src/app/features/direct-call/private-call.component.html @@ -0,0 +1,202 @@ +
+
+
+
+
+ +
+ +
+

Private Call

+

+ @if (session()) { + {{ participantUsers().length }} participants + } @else { + Call not found + } +

+
+
+ + @if (session()) { +
+ + +
+ } +
+ + @if (session()) { +
+
+ @if (activeShares().length > 0) { + @if (focusedShare()) { + @if (hasMultipleShares()) { +
+ +
+ } + + + } @else if (hasMultipleShares()) { +
+ @for (share of activeShares(); track share.id) { +
+ +
+ } +
+ } + } @else { +
+
+ +
+
+ } +
+ + @if (activeShares().length > 0) { +
+
+ + + @if (hasMultipleShares()) { + @for (share of focusedShare() ? thumbnailShares() : activeShares(); track share.id) { +
+
+ +
+
+ {{ streamLabel(share) }} +
+
+ } + } +
+
+ } + +
+ +
+
+ } @else { +
No active call for this route.
+ } +
+ + +
+ +@if (showScreenShareQualityDialog()) { + +} diff --git a/toju-app/src/app/features/direct-call/private-call.component.ts b/toju-app/src/app/features/direct-call/private-call.component.ts new file mode 100644 index 0000000..4ec7586 --- /dev/null +++ b/toju-app/src/app/features/direct-call/private-call.component.ts @@ -0,0 +1,564 @@ +/* eslint-disable @typescript-eslint/member-ordering */ +import { + Component, + DestroyRef, + HostListener, + computed, + effect, + inject, + signal, + untracked +} from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { ActivatedRoute, Router } from '@angular/router'; +import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop'; +import { FormsModule } from '@angular/forms'; +import { Store } from '@ngrx/store'; +import { NgIcon, provideIcons } from '@ng-icons/core'; +import { + lucidePhone, + lucideUsers, + lucideUserPlus +} from '@ng-icons/lucide'; +import { map } from 'rxjs'; +import { + DirectCallService, + participantToUser, + type DirectCallSession +} from '../../domains/direct-call'; +import { DmChatComponent } from '../../domains/direct-message/feature/dm-chat/dm-chat.component'; +import { + VoiceActivityService, + VoiceConnectionFacade, + VoicePlaybackService +} from '../../domains/voice-connection'; +import { + ScreenShareFacade, + ScreenShareQuality, + ScreenShareStartOptions +} from '../../domains/screen-share'; +import { loadVoiceSettingsFromStorage, saveVoiceSettingsToStorage } from '../../domains/voice-session'; +import { ScreenShareQualityDialogComponent } from '../../shared'; +import { selectAllUsers, selectCurrentUser } from '../../store/users/users.selectors'; +import { UsersActions } from '../../store/users/users.actions'; +import { User } from '../../shared-kernel'; +import { VoiceWorkspaceStreamItem } from '../room/voice-workspace/voice-workspace.models'; +import { VoiceWorkspaceStreamTileComponent } from '../room/voice-workspace/voice-workspace-stream-tile/voice-workspace-stream-tile.component'; +import { PrivateCallControlsComponent } from './private-call-controls.component'; +import { PrivateCallParticipantCardComponent } from './private-call-participant-card.component'; + +@Component({ + selector: 'app-private-call', + standalone: true, + imports: [ + CommonModule, + DmChatComponent, + FormsModule, + NgIcon, + PrivateCallControlsComponent, + PrivateCallParticipantCardComponent, + ScreenShareQualityDialogComponent, + VoiceWorkspaceStreamTileComponent + ], + viewProviders: [ + provideIcons({ + lucidePhone, + lucideUsers, + lucideUserPlus + }) + ], + templateUrl: './private-call.component.html' +}) +export class PrivateCallComponent { + private readonly route = inject(ActivatedRoute); + private readonly router = inject(Router); + private readonly destroyRef = inject(DestroyRef); + private readonly store = inject(Store); + private readonly calls = inject(DirectCallService); + private readonly voice = inject(VoiceConnectionFacade); + private readonly voiceActivity = inject(VoiceActivityService); + private readonly playback = inject(VoicePlaybackService); + private readonly screenShare = inject(ScreenShareFacade); + private chatResizing = false; + + readonly allUsers = this.store.selectSignal(selectAllUsers); + readonly currentUser = this.store.selectSignal(selectCurrentUser); + readonly callId = toSignal(this.route.paramMap.pipe(map((params) => params.get('callId'))), { + initialValue: this.route.snapshot.paramMap.get('callId') + }); + readonly session = computed(() => this.calls.sessionById(this.callId())); + readonly participantUsers = computed(() => { + const session = this.session(); + + if (!session) { + return [] as User[]; + } + + return session.participantIds + .map((participantId) => this.userForSessionParticipant(session, participantId)) + .filter((user): user is User => !!user); + }); + readonly isConnected = computed(() => { + const session = this.session(); + const currentUserId = this.currentUserKey(); + + return !!session && !!currentUserId && !!session.participants[currentUserId]?.joined; + }); + readonly isMuted = this.voice.isMuted; + readonly isDeafened = this.voice.isDeafened; + readonly isCameraEnabled = this.voice.isCameraEnabled; + readonly isScreenSharing = this.screenShare.isScreenSharing; + readonly remoteStreamRevision = signal(0); + readonly includeSystemAudio = signal(false); + readonly screenShareQuality = signal('balanced'); + readonly askScreenShareQuality = signal(true); + readonly showScreenShareQualityDialog = signal(false); + readonly inviteUserId = signal(''); + readonly focusedStreamId = signal(null); + readonly showAllStreamsMode = signal(false); + readonly chatWidthPx = signal(384); + readonly inviteCandidates = computed(() => { + const participantIds = new Set(this.session()?.participantIds ?? []); + const currentUserId = this.currentUserKey(); + + return this.allUsers().filter((user) => { + const userId = this.userKey(user); + + return userId !== currentUserId && !participantIds.has(userId); + }); + }); + readonly activeShares = computed(() => { + this.remoteStreamRevision(); + + const shares: VoiceWorkspaceStreamItem[] = []; + const localUser = this.currentUser(); + const localPeerKey = localUser ? this.userKey(localUser) : null; + const isJoinedToCurrentCall = this.isConnected(); + const localScreenStream = isJoinedToCurrentCall ? this.screenShare.screenStream() : null; + const localCameraStream = isJoinedToCurrentCall && this.voice.isCameraEnabled() ? this.voice.getLocalCameraStream() : null; + + if (localUser && localPeerKey && localScreenStream) { + shares.push(this.buildShare(localPeerKey, localUser, localScreenStream, true, 'screen')); + } + + if (localUser && localPeerKey && localCameraStream) { + shares.push(this.buildShare(localPeerKey, localUser, localCameraStream, true, 'camera')); + } + + for (const user of this.participantUsers()) { + const peerKey = this.getPeerKeyCandidates(user).find( + (candidate) => candidate !== localPeerKey + && ( + !!this.screenShare.getRemoteScreenShareStream(candidate) + || !!this.voice.getRemoteCameraStream(candidate) + ) + ) ?? this.userKey(user); + + if (peerKey === localPeerKey) { + continue; + } + + const screenStream = this.screenShare.getRemoteScreenShareStream(peerKey); + const cameraStream = this.voice.getRemoteCameraStream(peerKey); + + if (screenStream && this.hasActiveVideo(screenStream)) { + shares.push(this.buildShare(peerKey, user, screenStream, false, 'screen')); + } + + if (cameraStream && this.hasActiveVideo(cameraStream)) { + shares.push(this.buildShare(peerKey, user, cameraStream, false, 'camera')); + } + } + + return shares; + }); + readonly featuredShare = computed(() => this.activeShares()[0] ?? null); + readonly hasMultipleShares = computed(() => this.activeShares().length > 1); + readonly focusedShareId = computed(() => { + const requested = this.focusedStreamId(); + const activeShares = this.activeShares(); + + if (this.showAllStreamsMode() && activeShares.length > 1) { + return null; + } + + if (requested && activeShares.some((share) => share.id === requested)) { + return requested; + } + + if (activeShares.length === 1) { + return activeShares[0].id; + } + + return null; + }); + readonly focusedShare = computed( + () => this.activeShares().find((share) => share.id === this.focusedShareId()) ?? null + ); + readonly thumbnailShares = computed(() => { + const focusedShareId = this.focusedShareId(); + + if (!focusedShareId) { + return [] as VoiceWorkspaceStreamItem[]; + } + + return this.activeShares().filter((share) => share.id !== focusedShareId); + }); + constructor() { + effect(() => { + const callId = this.callId(); + + if (callId) { + untracked(() => void this.calls.openCall(callId)); + } + }); + + effect(() => { + const session = this.session(); + + if (session && !this.calls.hasOngoingActivity(session)) { + untracked(() => void this.router.navigate(['/dm', session.conversationId], { replaceUrl: true })); + } + }); + + effect(() => { + const session = this.session(); + const currentUserId = this.currentUserKey(); + const peerIds = (session ? this.remoteParticipantPeerIds(session, currentUserId) : []); + + this.screenShare.syncRemoteScreenShareRequests(peerIds, this.isConnected() && !!session && session.status === 'connected'); + }); + + effect(() => { + this.session(); + + if (this.isConnected()) { + this.trackLocalMic(); + return; + } + + this.untrackLocalMic(); + }); + + this.screenShare.onRemoteStream + .pipe(takeUntilDestroyed(this.destroyRef)) + .subscribe(() => this.bumpRemoteStreamRevision()); + + this.screenShare.onPeerDisconnected + .pipe(takeUntilDestroyed(this.destroyRef)) + .subscribe(() => this.bumpRemoteStreamRevision()); + + this.destroyRef.onDestroy(() => { + this.screenShare.syncRemoteScreenShareRequests([], false); + }); + } + + @HostListener('window:mousemove', ['$event']) + onWindowMouseMove(event: MouseEvent): void { + if (!this.chatResizing) { + return; + } + + event.preventDefault(); + this.chatWidthPx.set(this.clampChatWidth(window.innerWidth - event.clientX)); + } + + @HostListener('window:mouseup') + onWindowMouseUp(): void { + this.chatResizing = false; + } + + async join(): Promise { + const session = this.session(); + + if (session) { + await this.calls.joinCall(session.callId); + } + } + + leave(): void { + const session = this.session(); + + if (!session) { + return; + } + + this.calls.leaveCall(session.callId); + this.untrackLocalMic(); + void this.router.navigate(['/dm', session.conversationId]); + } + + toggleMute(): void { + this.voice.toggleMute(!this.isMuted()); + this.broadcastLocalVoiceState(); + } + + toggleDeafen(): void { + const nextDeafened = !this.isDeafened(); + + this.voice.toggleDeafen(nextDeafened); + this.playback.updateDeafened(nextDeafened); + + if (nextDeafened && !this.isMuted()) { + this.voice.toggleMute(true); + } + + this.broadcastLocalVoiceState(); + } + + async toggleCamera(): Promise { + const user = this.currentUser(); + + if (!this.isConnected() || !user?.id) { + return; + } + + if (this.isCameraEnabled()) { + this.voice.disableCamera(); + this.store.dispatch(UsersActions.updateCameraState({ userId: user.id, cameraState: { isEnabled: false } })); + this.bumpRemoteStreamRevision(); + return; + } + + await this.voice.enableCamera(); + this.store.dispatch(UsersActions.updateCameraState({ userId: user.id, cameraState: { isEnabled: true } })); + this.bumpRemoteStreamRevision(); + } + + async toggleScreenShare(): Promise { + if (this.isScreenSharing()) { + this.screenShare.stopScreenShare(); + this.bumpRemoteStreamRevision(); + return; + } + + this.syncScreenShareSettings(); + + if (this.askScreenShareQuality()) { + this.showScreenShareQualityDialog.set(true); + return; + } + + await this.startScreenShareWithOptions(this.screenShareQuality()); + } + + onScreenShareQualityCancelled(): void { + this.showScreenShareQualityDialog.set(false); + } + + async onScreenShareQualityConfirmed(quality: ScreenShareQuality): Promise { + this.showScreenShareQualityDialog.set(false); + this.screenShareQuality.set(quality); + saveVoiceSettingsToStorage({ screenShareQuality: quality }); + await this.startScreenShareWithOptions(quality); + } + + inviteSelectedUser(): void { + const callId = this.callId(); + const userId = this.inviteUserId(); + const user = this.allUsers().find((candidate) => this.userKey(candidate) === userId); + + if (!callId || !user) { + return; + } + + void this.calls.inviteUser(callId, user); + this.inviteUserId.set(''); + } + + isSpeaking(user: User): boolean { + return this.voiceActivity.isSpeaking(this.userKey(user))(); + } + + isParticipantConnected(user: User): boolean { + const session = this.session(); + const userId = this.userKey(user); + + if (!session) { + return false; + } + + return !!session.participants[userId]?.joined + || !!( + user.voiceState?.isConnected + && user.voiceState.roomId === session.callId + && user.voiceState.serverId === session.callId + ); + } + + participantIssueLabel(user: User): string | null { + return this.isParticipantConnected(user) ? null : 'Waiting'; + } + + streamLabel(share: VoiceWorkspaceStreamItem): string { + if (!share.isLocal) { + return share.user.displayName; + } + + return share.kind === 'camera' ? 'Your camera' : 'Your screen'; + } + + focusShare(shareId: string): void { + this.showAllStreamsMode.set(false); + this.focusedStreamId.set(shareId); + } + + showAllStreams(): void { + this.showAllStreamsMode.set(true); + this.focusedStreamId.set(null); + } + + startChatResize(event: MouseEvent): void { + if (event.button !== 0) { + return; + } + + event.preventDefault(); + this.chatResizing = true; + } + + userKey(user: User): string { + return user.oderId || user.id; + } + + readonly trackUserKey = (index: number, user: User): string => this.userKey(user); + + private currentUserKey(): string { + const user = this.currentUser(); + + return user ? this.userKey(user) : ''; + } + + private broadcastLocalVoiceState(): void { + const session = this.session(); + const user = this.currentUser(); + + if (!session || !user?.id) { + return; + } + + this.store.dispatch(UsersActions.updateVoiceState({ + userId: user.id, + voiceState: { + isConnected: this.isConnected(), + isMuted: this.isMuted(), + isDeafened: this.isDeafened(), + roomId: session.callId, + serverId: session.callId + } + })); + } + + private remoteParticipantPeerIds(session: DirectCallSession, currentUserId: string): string[] { + const peerIds = new Set(); + + for (const participantId of session.participantIds) { + if (participantId === currentUserId) { + continue; + } + + const user = this.userForSessionParticipant(session, participantId); + + for (const peerId of [participantId, ...this.getPeerKeyCandidates(user)]) { + if (peerId && peerId !== currentUserId) { + peerIds.add(peerId); + } + } + } + + return Array.from(peerIds); + } + + private clampChatWidth(width: number): number { + const maxWidth = Math.min(640, Math.max(360, window.innerWidth - 560)); + + return Math.round(Math.max(320, Math.min(maxWidth, width))); + } + + private getPeerKeyCandidates(user: User | null | undefined): string[] { + if (!user) { + return []; + } + + return [ + user.oderId, + user.peerId, + user.id + ].filter((peerId, index, peerIds): peerId is string => !!peerId && peerIds.indexOf(peerId) === index); + } + + private userForSessionParticipant(session: DirectCallSession, participantId: string): User | null { + const knownUser = this.calls.userForParticipant(participantId); + + if (knownUser) { + return knownUser; + } + + const participant = session.participants[participantId]?.profile; + + return participant ? participantToUser(participant) : null; + } + + private trackLocalMic(): void { + const userId = this.currentUserKey(); + const stream = this.voice.getRawMicStream() ?? this.voice.getLocalStream(); + + if (userId && stream) { + this.voiceActivity.trackLocalMic(userId, stream); + } + } + + private untrackLocalMic(): void { + const userId = this.currentUserKey(); + + if (userId) { + this.voiceActivity.untrackLocalMic(userId); + } + } + + private syncScreenShareSettings(): void { + const settings = loadVoiceSettingsFromStorage(); + + this.includeSystemAudio.set(settings.includeSystemAudio); + this.screenShareQuality.set(settings.screenShareQuality); + this.askScreenShareQuality.set(settings.askScreenShareQuality); + } + + private async startScreenShareWithOptions(quality: ScreenShareQuality): Promise { + const options: ScreenShareStartOptions = { + includeSystemAudio: this.includeSystemAudio(), + quality + }; + + try { + await this.screenShare.startScreenShare(options); + this.bumpRemoteStreamRevision(); + } catch {} + } + + private buildShare( + peerKey: string, + user: User, + stream: MediaStream, + isLocal: boolean, + kind: VoiceWorkspaceStreamItem['kind'] + ): VoiceWorkspaceStreamItem { + return { + id: `${kind}:${peerKey}`, + peerKey, + user, + stream, + isLocal, + kind, + hasAudio: stream.getAudioTracks().some((track) => track.readyState === 'live') + }; + } + + private hasActiveVideo(stream: MediaStream): boolean { + return stream.getVideoTracks().some((track) => track.readyState === 'live'); + } + + private bumpRemoteStreamRevision(): void { + this.remoteStreamRevision.update((value) => value + 1); + } +} diff --git a/toju-app/src/app/features/room/rooms-side-panel/rooms-side-panel.component.ts b/toju-app/src/app/features/room/rooms-side-panel/rooms-side-panel.component.ts index 14d4bf7..42c6aa9 100644 --- a/toju-app/src/app/features/room/rooms-side-panel/rooms-side-panel.component.ts +++ b/toju-app/src/app/features/room/rooms-side-panel/rooms-side-panel.component.ts @@ -47,6 +47,7 @@ import { } from '../../../domains/voice-connection'; import { VoiceSessionFacade, VoiceWorkspaceService } from '../../../domains/voice-session'; import { DirectMessageService } from '../../../domains/direct-message'; +import { DirectCallService } from '../../../domains/direct-call'; import { VoicePlaybackService } from '../../../domains/voice-connection'; import { formatGameActivityElapsed } from '../../../domains/game-activity'; import { ExternalLinkService } from '../../../core/platform/external-link.service'; @@ -122,6 +123,7 @@ export class RoomsSidePanelComponent implements OnDestroy { private voiceSessionService = inject(VoiceSessionFacade); private voiceWorkspace = inject(VoiceWorkspaceService); private voicePlayback = inject(VoicePlaybackService); + private directCalls = inject(DirectCallService); private profileCard = inject(ProfileCardService); private directMessages = inject(DirectMessageService); private readonly externalLinks = inject(ExternalLinkService); @@ -623,31 +625,12 @@ export class RoomsSidePanelComponent implements OnDestroy { return !current || resolveRoomPermission(room, current, 'joinVoice', roomId); } - private prepareCrossServerVoiceJoin(room: Room, current: User | null): boolean { + private prepareVoiceJoin(room: Room, current: User | null): void { if (!current?.voiceState?.isConnected || current.voiceState.serverId === room.id) { - return true; + return; } - if (this.voiceConnection.isVoiceConnected()) { - return false; - } - - if (current.id) { - this.store.dispatch( - UsersActions.updateVoiceState({ - userId: current.id, - voiceState: { - isConnected: false, - isMuted: false, - isDeafened: false, - roomId: undefined, - serverId: undefined - } - }) - ); - } - - return true; + this.disconnectCurrentVoiceTarget(current); } private enableVoiceForJoin(room: Room, current: User | null, roomId: string): Promise { @@ -675,10 +658,8 @@ export class RoomsSidePanelComponent implements OnDestroy { return; } - if (!this.prepareCrossServerVoiceJoin(room, current ?? null)) { - this.voiceConnection.reportConnectionError('Disconnect from the current voice server before joining a different server.'); - return; - } + this.directCalls.leaveCurrentJoinedCall(); + this.prepareVoiceJoin(room, current ?? null); this.enableVoiceForJoin(room, current ?? null, roomId) .then(() => this.onVoiceJoinSucceeded(roomId, room, current ?? null)) @@ -775,10 +756,14 @@ export class RoomsSidePanelComponent implements OnDestroy { if (!(current?.voiceState?.isConnected && current.voiceState.roomId === roomId)) return; + this.disconnectCurrentVoiceTarget(current); + } + + private disconnectCurrentVoiceTarget(current: User | null): void { + const previousVoiceState = current?.voiceState; + this.voiceConnection.stopVoiceHeartbeat(); - this.untrackCurrentUserMic(); - this.voiceConnection.disableVoice(); if (current?.id) { @@ -811,8 +796,8 @@ export class RoomsSidePanelComponent implements OnDestroy { isConnected: false, isMuted: false, isDeafened: false, - roomId: undefined, - serverId: undefined + roomId: previousVoiceState?.roomId, + serverId: previousVoiceState?.serverId } }); diff --git a/toju-app/src/app/features/room/voice-workspace/voice-workspace-stream-tile/voice-workspace-stream-tile.component.ts b/toju-app/src/app/features/room/voice-workspace/voice-workspace-stream-tile/voice-workspace-stream-tile.component.ts index 4906149..b5be095 100644 --- a/toju-app/src/app/features/room/voice-workspace/voice-workspace-stream-tile/voice-workspace-stream-tile.component.ts +++ b/toju-app/src/app/features/room/voice-workspace/voice-workspace-stream-tile/voice-workspace-stream-tile.component.ts @@ -153,7 +153,7 @@ export class VoiceWorkspaceStreamTileComponent implements OnDestroy { } canToggleFullscreen(): boolean { - return !this.mini() && !this.compact() && (this.immersive() || this.focused()); + return !this.mini() && !this.compact(); } onTilePointerMove(): void { diff --git a/toju-app/src/app/features/servers/servers-rail/servers-rail.component.html b/toju-app/src/app/features/servers/servers-rail/servers-rail.component.html index badb9c2..c37e33e 100644 --- a/toju-app/src/app/features/servers/servers-rail/servers-rail.component.html +++ b/toju-app/src/app/features/servers/servers-rail/servers-rail.component.html @@ -17,6 +17,56 @@ } + @for (call of directCalls.visibleActiveSessions(); track call.callId + ':' + $index) { +
+ + + +
+ } +
navigationEvent instanceof NavigationEnd), - map((navigationEvent) => navigationEvent.urlAfterRedirects.startsWith('/dm/')) + map((navigationEvent) => navigationEvent.urlAfterRedirects.startsWith('/dm/') || navigationEvent.urlAfterRedirects.startsWith('/pm/')) ), - { initialValue: this.router.url.startsWith('/dm/') } + { initialValue: this.router.url.startsWith('/dm/') || this.router.url.startsWith('/pm/') } ); + isOnCall = toSignal( + this.router.events.pipe( + filter((navigationEvent): navigationEvent is NavigationEnd => navigationEvent instanceof NavigationEnd), + map((navigationEvent) => navigationEvent.urlAfterRedirects.startsWith('/call/')) + ), + { initialValue: this.router.url.startsWith('/call/') } + ); + currentCallId = toSignal( + this.router.events.pipe( + filter((navigationEvent): navigationEvent is NavigationEnd => navigationEvent instanceof NavigationEnd), + map((navigationEvent) => this.callIdFromUrl(navigationEvent.urlAfterRedirects)) + ), + { initialValue: this.callIdFromUrl(this.router.url) } + ); + selectedCallIndex = computed(() => { + const routeCallId = this.currentCallId(); + const visibleCalls = this.directCalls.visibleActiveSessions(); + + if (routeCallId) { + const routeMatchIndex = visibleCalls.findIndex((call) => call.callId === routeCallId || call.conversationId === routeCallId); + + if (routeMatchIndex >= 0) { + return routeMatchIndex; + } + } + + const currentSession = this.directCalls.currentSession(); + + if (!currentSession) { + return -1; + } + + return visibleCalls.findIndex((call) => call.callId === currentSession.callId); + }); bannedServerName = signal(''); showBannedDialog = signal(false); showPasswordDialog = signal(false); @@ -203,6 +239,26 @@ export class ServersRailComponent { this.savedRoomJoinRequests.next({ room }); } + openCall(callId: string): void { + void this.router.navigate(['/call', callId]); + } + + isSelectedCall(callIndex: number): boolean { + return this.selectedCallIndex() === callIndex; + } + + callAvatarUrls(call: DirectCallSession): string[] { + if (call.participantIds.length <= 2) { + return []; + } + + return Object.values(call.participants) + .filter((participant) => participant.joined) + .map((participant) => this.directCalls.userForParticipant(participant.userId)?.avatarUrl || participant.profile.avatarUrl) + .filter((avatarUrl): avatarUrl is string => !!avatarUrl) + .slice(0, 3); + } + closeBannedDialog(): void { this.showBannedDialog.set(false); this.bannedServerName.set(''); @@ -229,6 +285,13 @@ export class ServersRailComponent { return !!this.bannedRoomLookup()[room.id]; } + private callIdFromUrl(url: string): string | null { + const path = url.split(/[?#]/, 1)[0]; + const match = path.match(/^\/call\/([^/]+)/); + + return match?.[1] ? decodeURIComponent(match[1]) : null; + } + openContextMenu(evt: MouseEvent, room: Room): void { evt.preventDefault(); this.contextRoom.set(room); @@ -311,7 +374,7 @@ export class ServersRailComponent { } isSelectedRoom(room: Room): boolean { - if (this.isOnDirectMessage()) { + if (this.isOnDirectMessage() || this.isOnCall()) { return false; } diff --git a/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.html b/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.html index 5d817c5..b5bf11f 100644 --- a/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.html +++ b/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.html @@ -103,6 +103,40 @@
+ +
+
+
+

Experimental VLC.js playback

+ @if (experimentalMedia.vlcJsRuntimeStatus() === 'checking') { +

Checking for a bundled VLC.js runtime...

+ } @else if (experimentalMedia.vlcJsRuntimeAvailable()) { +

Offer a manual player for unsupported downloaded audio and video files.

+ } @else { +

No VLC.js runtime is bundled. Unsupported desktop media can be opened in the system player.

+ } +
+ + +
+
diff --git a/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.ts b/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.ts index c91e54c..558d23a 100644 --- a/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.ts +++ b/toju-app/src/app/features/settings/settings-modal/general-settings/general-settings.component.ts @@ -12,6 +12,7 @@ import type { DesktopSettingsSnapshot } from '../../../../core/platform/electron import { loadGeneralSettingsFromStorage, saveGeneralSettingsToStorage } from '../../../../infrastructure/persistence'; import { ElectronBridgeService } from '../../../../core/platform/electron/electron-bridge.service'; import { PlatformService } from '../../../../core/platform'; +import { ExperimentalMediaSettingsService } from '../../../../domains/experimental-media/application/services/experimental-media-settings.service'; @Component({ selector: 'app-general-settings', @@ -27,6 +28,7 @@ import { PlatformService } from '../../../../core/platform'; export class GeneralSettingsComponent { private platform = inject(PlatformService); private electronBridge = inject(ElectronBridgeService); + readonly experimentalMedia = inject(ExperimentalMediaSettingsService); readonly isElectron = this.platform.isElectron; reopenLastViewedChat = signal(true); @@ -98,6 +100,13 @@ export class GeneralSettingsComponent { } } + onExperimentalVlcPlaybackChange(event: Event): void { + const input = event.target as HTMLInputElement; + + this.experimentalMedia.setVlcJsPlaybackEnabled(!!input.checked); + input.checked = this.experimentalMedia.vlcJsPlaybackEnabled(); + } + private async loadDesktopSettings(): Promise { const api = this.electronBridge.getApi(); diff --git a/toju-app/src/app/infrastructure/realtime/streams/remote-screen-share-request-controller.ts b/toju-app/src/app/infrastructure/realtime/streams/remote-screen-share-request-controller.ts index 0a9bd10..f5e74d4 100644 --- a/toju-app/src/app/infrastructure/realtime/streams/remote-screen-share-request-controller.ts +++ b/toju-app/src/app/infrastructure/realtime/streams/remote-screen-share-request-controller.ts @@ -18,6 +18,7 @@ export class RemoteScreenShareRequestController { private remoteScreenShareRequestsEnabled = false; private readonly desiredRemoteScreenSharePeers = new Set(); private readonly activeRemoteScreenSharePeers = new Set(); + private readonly requestRetryTimers = new Map>(); constructor( private readonly dependencies: RemoteScreenShareRequestControllerDependencies @@ -31,6 +32,7 @@ export class RemoteScreenShareRequestController { handlePeerDisconnected(peerId: string): void { this.activeRemoteScreenSharePeers.delete(peerId); + this.clearRequestRetry(peerId); this.dependencies.clearScreenShareRequest(peerId); } @@ -62,6 +64,7 @@ export class RemoteScreenShareRequestController { if (!enabled) { this.remoteScreenShareRequestsEnabled = false; this.desiredRemoteScreenSharePeers.clear(); + this.clearAllRequestRetries(); this.stopRemoteScreenShares([...this.activeRemoteScreenSharePeers]); return; } @@ -83,18 +86,20 @@ export class RemoteScreenShareRequestController { this.remoteScreenShareRequestsEnabled = false; this.desiredRemoteScreenSharePeers.clear(); this.activeRemoteScreenSharePeers.clear(); + this.clearAllRequestRetries(); } - private requestRemoteScreenShares(peerIds: string[]): void { + private requestRemoteScreenShares(peerIds: string[], retryAttempt = 0): void { const connectedPeerIds = new Set(this.dependencies.getConnectedPeerIds()); for (const peerId of peerIds) { - if (!connectedPeerIds.has(peerId) || this.activeRemoteScreenSharePeers.has(peerId)) { + if (!connectedPeerIds.has(peerId)) { continue; } this.dependencies.sendToPeer(peerId, { type: P2P_TYPE_SCREEN_SHARE_REQUEST }); this.activeRemoteScreenSharePeers.add(peerId); + this.scheduleRequestRetry(peerId, retryAttempt); } } @@ -107,7 +112,48 @@ export class RemoteScreenShareRequestController { } this.activeRemoteScreenSharePeers.delete(peerId); + this.clearRequestRetry(peerId); this.dependencies.clearRemoteScreenShareStream(peerId); } } + + private scheduleRequestRetry(peerId: string, retryAttempt: number): void { + if (!this.remoteScreenShareRequestsEnabled || !this.desiredRemoteScreenSharePeers.has(peerId)) { + return; + } + + const retryDelays = [ + 300, + 1_000, + 2_500 + ]; + const delay = retryDelays[retryAttempt]; + + if (delay === undefined) { + return; + } + + this.clearRequestRetry(peerId); + this.requestRetryTimers.set(peerId, setTimeout(() => { + this.requestRetryTimers.delete(peerId); + this.requestRemoteScreenShares([peerId], retryAttempt + 1); + }, delay)); + } + + private clearRequestRetry(peerId: string): void { + const timer = this.requestRetryTimers.get(peerId); + + if (timer) { + clearTimeout(timer); + this.requestRetryTimers.delete(peerId); + } + } + + private clearAllRequestRetries(): void { + for (const timer of this.requestRetryTimers.values()) { + clearTimeout(timer); + } + + this.requestRetryTimers.clear(); + } } diff --git a/toju-app/src/app/shared-kernel/chat-events.ts b/toju-app/src/app/shared-kernel/chat-events.ts index a800452..05d02a1 100644 --- a/toju-app/src/app/shared-kernel/chat-events.ts +++ b/toju-app/src/app/shared-kernel/chat-events.ts @@ -13,8 +13,12 @@ import type { ChatAttachmentAnnouncement, ChatAttachmentMeta } from './attachmen import type { DirectMessageEventPayload, DirectMessageMutationEventPayload, - DirectMessageStatusEventPayload + DirectMessageSyncEventPayload, + DirectMessageSyncRequestEventPayload, + DirectMessageStatusEventPayload, + DirectMessageTypingEventPayload } from './direct-message-contracts'; +import type { DirectCallEventPayload } from './direct-call-contracts'; export interface ChatInventoryItem { id: string; @@ -87,6 +91,10 @@ export interface ChatEventBase { directMessage?: DirectMessageEventPayload; directMessageStatus?: DirectMessageStatusEventPayload; directMessageMutation?: DirectMessageMutationEventPayload; + directMessageTyping?: DirectMessageTypingEventPayload; + directMessageSyncRequest?: DirectMessageSyncRequestEventPayload; + directMessageSync?: DirectMessageSyncEventPayload; + directCall?: DirectCallEventPayload; pluginMessage?: unknown; } @@ -391,6 +399,26 @@ export interface DirectMessageMutationPeerEvent extends ChatEventBase { directMessageMutation: DirectMessageMutationEventPayload; } +export interface DirectMessageTypingPeerEvent extends ChatEventBase { + type: 'direct-message-typing'; + directMessageTyping: DirectMessageTypingEventPayload; +} + +export interface DirectMessageSyncRequestPeerEvent extends ChatEventBase { + type: 'direct-message-sync-request'; + directMessageSyncRequest: DirectMessageSyncRequestEventPayload; +} + +export interface DirectMessageSyncPeerEvent extends ChatEventBase { + type: 'direct-message-sync'; + directMessageSync: DirectMessageSyncEventPayload; +} + +export interface DirectCallPeerEvent extends ChatEventBase { + type: 'direct-call'; + directCall: DirectCallEventPayload; +} + export interface PluginMessageBusPeerEvent extends ChatEventBase { type: 'plugin-message-bus'; pluginMessage: unknown; @@ -449,6 +477,10 @@ export type ChatEvent = | DirectMessagePeerEvent | DirectMessageStatusPeerEvent | DirectMessageMutationPeerEvent + | DirectMessageTypingPeerEvent + | DirectMessageSyncRequestPeerEvent + | DirectMessageSyncPeerEvent + | DirectCallPeerEvent | PluginMessageBusPeerEvent; /** All possible `type` values, derived from the union. */ diff --git a/toju-app/src/app/shared-kernel/direct-call-contracts.ts b/toju-app/src/app/shared-kernel/direct-call-contracts.ts new file mode 100644 index 0000000..e8c926e --- /dev/null +++ b/toju-app/src/app/shared-kernel/direct-call-contracts.ts @@ -0,0 +1,13 @@ +import type { DirectMessageParticipant } from './direct-message-contracts'; + +export type DirectCallEventAction = 'ring' | 'join' | 'leave' | 'end' | 'update'; + +export interface DirectCallEventPayload { + action: DirectCallEventAction; + callId: string; + conversationId: string; + createdAt: number; + sender: DirectMessageParticipant; + participantIds: string[]; + participants?: DirectMessageParticipant[]; +} diff --git a/toju-app/src/app/shared-kernel/direct-message-contracts.ts b/toju-app/src/app/shared-kernel/direct-message-contracts.ts index 4b6ce47..7abbfc1 100644 --- a/toju-app/src/app/shared-kernel/direct-message-contracts.ts +++ b/toju-app/src/app/shared-kernel/direct-message-contracts.ts @@ -20,6 +20,7 @@ export interface DirectMessage { conversationId: string; senderId: string; recipientId: string; + recipientIds?: string[]; content: string; timestamp: number; status: DirectMessageStatus; @@ -32,6 +33,9 @@ export interface DirectMessage { export interface DirectMessageEventPayload { message: DirectMessage; sender: DirectMessageParticipant; + participants?: DirectMessageParticipant[]; + conversationKind?: 'direct' | 'group'; + conversationTitle?: string; } export interface DirectMessageStatusEventPayload { @@ -52,3 +56,26 @@ export interface DirectMessageMutationEventPayload { emoji?: string; updatedAt: number; } + +export interface DirectMessageTypingEventPayload { + conversationId: string; + sender: DirectMessageParticipant; + isTyping: boolean; + updatedAt: number; +} + +export interface DirectMessageSyncRequestEventPayload { + conversationId: string; + sender: DirectMessageParticipant; + requestedAt: number; +} + +export interface DirectMessageSyncEventPayload { + conversationId: string; + sender: DirectMessageParticipant; + participants: DirectMessageParticipant[]; + conversationKind?: 'direct' | 'group'; + conversationTitle?: string; + messages: DirectMessage[]; + syncedAt: number; +} diff --git a/toju-app/src/app/shared-kernel/index.ts b/toju-app/src/app/shared-kernel/index.ts index 61c8905..4f4a778 100644 --- a/toju-app/src/app/shared-kernel/index.ts +++ b/toju-app/src/app/shared-kernel/index.ts @@ -6,6 +6,7 @@ export * from './moderation.models'; export * from './voice-state.models'; export * from './game-activity.models'; export * from './direct-message-contracts'; +export * from './direct-call-contracts'; export * from './chat-events'; export * from './media-preferences'; export * from './signaling-contracts'; diff --git a/toju-app/src/assets/audio/call.wav b/toju-app/src/assets/audio/call.wav new file mode 100644 index 0000000000000000000000000000000000000000..c351b5eae34424a59b23f68a2ec09653ad69b30d GIT binary patch literal 10386844 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ŝ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 z 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

il=5m}wJ*)uSOY~Ony|APHngLp$|{&~ml_?W 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