{"record":{"id":"fbe9be6e9965c712","repo":"getgrav/grav","slug":"flex-savefile-s-s","errorCode":null,"errorMessage":"Flex saveFile(%s): %s","messagePattern":"Flex saveFile\\((.+?)\\): (.+?)","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"system/src/Grav/Framework/Flex/Storage/FolderStorage.php","lineNumber":445,"sourceCode":"            if (is_string($oldKey) && $oldKey !== $key) {\n                $isCopy = $row['__META']['copy'] ?? false;\n                if ($isCopy) {\n                    $this->copyRow($oldKey, $key);\n                } else {\n                    $this->renameRow($oldKey, $key);\n                }\n            }\n\n            $this->prepareRow($row);\n            unset($row['__META'], $row['__ERROR']);\n\n            $path = $this->getPathFromKey($key);\n            $file = $this->getFile($path);\n\n            $file->save($row);\n\n        } catch (RuntimeException $e) {\n            throw new RuntimeException(sprintf('Flex saveFile(%s): %s', $path ?? $key, $e->getMessage()));\n        } finally {\n            /** @var UniformResourceLocator $locator */\n            $locator = Grav::instance()['locator'];\n            $locator->clearCache();\n\n            if (isset($file)) {\n                $file->free();\n                unset($file);\n            }\n        }\n\n        $row['__META'] = $this->getObjectMeta($key, true);\n\n        return $row;\n    }\n\n    /**\n     * @param File $file","sourceCodeStart":427,"sourceCodeEnd":463,"githubUrl":"https://github.com/getgrav/grav/blob/6040efed04efa69b8209448ed81308e7c24147c2/system/src/Grav/Framework/Flex/Storage/FolderStorage.php#L427-L463","documentation":"Error \"Flex saveFile(%s): %s\" thrown in getgrav/grav.","triggerScenarios":"Thrown at system/src/Grav/Framework/Flex/Storage/FolderStorage.php:445 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6040efed04efa69b8209448ed81308e7c24147c2","analyzedAt":"2026-08-17T05:07:31.593Z","schemaVersion":2},"datasetVersion":"2026-08-17T09:17:11.063Z"}