Error when moving recording file to groupfolder before transcript is delivered
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2.2k
- Forks
- 586
- Avg merge
- 18h 27m
- Merged PRs (30d)
- 333
Description
Hello,
Today, after recording a call, I've got the following error:
{
"reqId": "4nHkR4miUJBPl1oRD6kd",
"level": 2,
"time": "2026-03-05T12:12:16+01:00",
"remoteAddr": "",
"user": "--",
"app": "spreed",
"method": "",
"url": "--",
"scriptName": "occ",
"message": "Could not save recording transcript as the recording could not be found",
"userAgent": "--",
"version": "32.0.6.1",
"occ_command": [
"occ",
"background-job:worker"
],
"data": {
"app": "spreed",
"owner": "user1",
"roomToken": "krxzcdv3",
"recordingFileId": "218779"
}
}
{
"reqId": "4nHkR4miUJBPl1oRD6kd",
"level": 3,
"time": "2026-03-05T12:12:16+01:00",
"remoteAddr": "",
"user": "--",
"app": "spreed",
"method": "",
"url": "--",
"scriptName": "occ",
"message": "An error occurred while processing recording AI follow-up task",
"userAgent": "--",
"version": "32.0.6.1",
"occ_command": [
"occ",
"background-job:worker"
],
"exception": {
"Exception": "InvalidArgumentException",
"Message": "owner_participant",
"Code": 0,
"Trace": [
{
"file": "/var/www/nextcloud/apps/spreed/lib/Recording/Listener.php",
"line": 93,
"function": "storeTranscript",
"class": "OCA\\Talk\\Service\\RecordingService",
"type": "->"
},
{
"file": "/var/www/nextcloud/apps/spreed/lib/Recording/Listener.php",
"line": 45,
"function": "handleTranscriptionEvents",
"class": "OCA\\Talk\\Recording\\Listener",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/EventDispatcher/ServiceEventListener.php",
"line": 57,
"function": "handle",
"class": "OCA\\Talk\\Recording\\Listener",
"type": "->"
},
{
"file": "/var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php",
"line": 220,
"function": "__invoke",
"class": "OC\\EventDispatcher\\ServiceEventListener",
"type": "->"
},
{
"file": "/var/www/nextcloud/3rdparty/symfony/event-dispatcher/EventDispatcher.php",
"line": 56,
"function": "callListeners",
"class": "Symfony\\Component\\EventDispatcher\\EventDispatcher",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php",
"line": 67,
"function": "dispatch",
"class": "Symfony\\Component\\EventDispatcher\\EventDispatcher",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php",
"line": 79,
"function": "dispatch",
"class": "OC\\EventDispatcher\\EventDispatcher",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/TaskProcessing/Manager.php",
"line": 1177,
"function": "dispatchTyped",
"class": "OC\\EventDispatcher\\EventDispatcher",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/TaskProcessing/Manager.php",
"line": 1026,
"function": "setTaskResult",
"class": "OC\\TaskProcessing\\Manager",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/TaskProcessing/SynchronousBackgroundJob.php",
"line": 54,
"function": "processTask",
"class": "OC\\TaskProcessing\\Manager",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/public/BackgroundJob/Job.php",
"line": 61,
"function": "run",
"class": "OC\\TaskProcessing\\SynchronousBackgroundJob",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/public/BackgroundJob/QueuedJob.php",
"line": 43,
"function": "start",
"class": "OCP\\BackgroundJob\\Job",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/public/BackgroundJob/QueuedJob.php",
"line": 29,
"function": "start",
"class": "OCP\\BackgroundJob\\QueuedJob",
"type": "->"
},
{
"file": "/var/www/nextcloud/core/Command/Background/JobWorker.php",
"line": 132,
"function": "execute",
"class": "OCP\\BackgroundJob\\QueuedJob",
"type": "->"
},
{
"file": "/var/www/nextcloud/3rdparty/symfony/console/Command/Command.php",
"line": 326,
"function": "execute",
"class": "OC\\Core\\Command\\Background\\JobWorker",
"type": "->"
},
{
"file": "/var/www/nextcloud/core/Command/Base.php",
"line": 218,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/nextcloud/3rdparty/symfony/console/Application.php",
"line": 1083,
"function": "run",
"class": "OC\\Core\\Command\\Base",
"type": "->"
},
{
"file": "/var/www/nextcloud/3rdparty/symfony/console/Application.php",
"line": 324,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/nextcloud/3rdparty/symfony/console/Application.php",
"line": 175,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/Console/Application.php",
"line": 187,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/nextcloud/console.php",
"line": 90,
"function": "run",
"class": "OC\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/nextcloud/occ",
"line": 33,
"args": [
"/var/www/nextcloud/console.php"
],
"function": "require_once"
}
],
"File": "/var/www/nextcloud/apps/spreed/lib/Service/RecordingService.php",
"Line": 195,
"message": "An error occurred while processing recording AI follow-up task",
"exception": {},
"CustomMessage": "An error occurred while processing recording AI follow-up task"
}
}
While the LocalAI service was generating the transcript, I moved the webm recording file out of its original folder.
I'm not sure if this is a defect or there is some technical reason to prevent the transcript file to be delivered if the original file is renamed and/or moved.
I'm using Talk 22.0.9 on Nextcloud Server 32.0.6.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with apps/spreed/lib/Recording/Listener.php at the transcription event handler and apps/spreed/lib/Service/RecordingService.php at line 195, using the reported occ background-job:worker path. Reproduce transcript generation while moving the recording file, then establish the expected behavior and verify that the follow-up task completes without the reported recording-not-found or owner_participant errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- audio-video-rtc, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100