Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

setRecordingDirectory replies "acknowledged" while silently disabling recording on a bad path

Aberta
#3,937 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
48/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
cpp
Domínio
api, audio-video-rtc

Direção de pesquisa

Comece com SetRecordingDir em src/recorder/jamcontroller.cpp e com o handler setRecordingDirectory em src/serverrpc.cpp; compare o caminho de falha deles com GetRecorderErrMsg() em src/serverdlg.cpp e getRecorderStatus. Reproduza um caminho inválido e uma gravação em andamento e, em seguida, estabeleça a resposta de falha RPC esperada e o comportamento do estado do gravador antes de identificar a cobertura para ambos os casos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

🤖 AI: jamulusserver/setRecordingDirectory always replies "acknowledged", but a bad path silently disables recording and discards the stored directory — with nothing to roll back to, and if a recording was already running, it ends the WAV mid-session while the jam continues, unannounced.

Root cause, confirmed on current main (4a43f6f6). SetRecordingDir tears down the existing recorder thread (EndRecorderThread() + wait()) before validating the new directory; on failure strRecordingDir is wiped to "". The RPC handler reports "acknowledged" regardless of which branch ran.

Measured on a headless build (wt-3861, 2026-08-12; the cited lines read identical on current main). A parent-is-a-file path and a path beyond PATH_MAX both flip enabled/initialised True → False and recordingDirectory → "", RPC still "acknowledged".

A recording already in flight stops at the instant the bad call returns. A growing WAV (950,272 → 975,916 bytes across a good call) sits flat at every checkpoint afterward, while getClients keeps reporting the same live connection throughout — the jam itself is untouched, so nobody in the room is told recording just ended.

The identical failure is loud in the GUI — GetRecorderErrMsg() drives a QMessageBox::warning — and silent over RPC, which discards the same string. getRecorderStatus's errorMessage does carry it, and the method's own doc comment says to re-check — a caller who does so can catch this — but nothing prompts the re-check, and "acknowledged" does not suggest a session recording just silently ended.


🤖 This message was written by AI and reviewed by @mcfnord.

Linguagem predominante
C
Estrelas
1.1k
Forks
250
Merge médio
9d 18h
PRs com merge (30d)
4

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de jamulussoftware/jamulus

Todas as issues de jamulussoftware/jamulus

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.