fix(install): LIVEKIT_URL попадает в compose приложения

Шаблон compose подставляет переменные из явного списка: LIVEKIT_PUBLIC_URL не
был в нём, поэтому приложение получало пустой адрес LiveKit и голос оставался
выключенным. Добавлены LIVEKIT_API_KEY/SECRET/PUBLIC_URL в рендер compose.
This commit is contained in:
2026-09-20 18:19:19 +03:00
parent ca34d05377
commit 2749a0e831
13 changed files with 73 additions and 60 deletions
+12 -13
View File
@@ -198,11 +198,7 @@ describe('кастомные эмодзи: зеркало композера', (
const mirrorRef = createRef<HTMLDivElement>();
render(
<ComposerMirror
value="<:pepe:900>"
selection={{ start: 0, end: 0 }}
mirrorRef={mirrorRef}
/>,
<ComposerMirror value="<:pepe:900>" selection={{ start: 0, end: 0 }} mirrorRef={mirrorRef} />,
);
expect(mirrorRef.current?.querySelector('img')).toBeNull();
@@ -217,7 +213,12 @@ describe('кастомные эмодзи: пикер', () => {
const picked: string[] = [];
render(
<EmojiPicker open guildId="g-1" onClose={() => undefined} onPick={(emoji) => picked.push(emoji)} />,
<EmojiPicker
open
guildId="g-1"
onClose={() => undefined}
onPick={(emoji) => picked.push(emoji)}
/>,
);
const section = screen.getByTestId('emoji-picker-server');
@@ -229,16 +230,16 @@ describe('кастомные эмодзи: пикер', () => {
await visitor.type(screen.getByLabelText('Поиск эмодзи сервера'), 'party');
expect(within(section).queryByText(':pepe:')).toBeNull();
await visitor.click(within(section).getByRole('button', { name: 'Выбрать эмодзи party_parrot' }));
await visitor.click(
within(section).getByRole('button', { name: 'Выбрать эмодзи party_parrot' }),
);
expect(picked).toEqual(['<a:party_parrot:901>']);
});
it('без сервера секция эмодзи сервера не показывается', () => {
useSessionStore.setState({ guilds: [guildWithEmojis()] });
render(
<EmojiPicker open guildId={null} onClose={() => undefined} onPick={() => undefined} />,
);
render(<EmojiPicker open guildId={null} onClose={() => undefined} onPick={() => undefined} />);
expect(screen.queryByTestId('emoji-picker-server')).toBeNull();
});
@@ -473,9 +474,7 @@ describe('кастомные эмодзи: реакции', () => {
describe('кастомные эмодзи: снапшот и событие шлюза', () => {
it('читает эмодзи из READY и обновляет их по GUILD_EMOJIS_UPDATE', () => {
const snapshot = makeReadySnapshot([
{ id: 'g-1', name: 'Сервер', emojis: [pepe] },
]);
const snapshot = makeReadySnapshot([{ id: 'g-1', name: 'Сервер', emojis: [pepe] }]);
dispatchGatewayEvent({ op: 0, t: 'READY', s: 1, d: snapshot });
expect(useSessionStore.getState().guilds[0]?.emojis).toEqual([pepe]);