ErrLookup › halo-dev/halo
halo-dev/halo
Halo 是一款强大易用的开源建站工具,从个人博客、知识库,到企业官网、在线商城,Halo 都能助您轻松实现,一站式满足您的多样化建站需求。 · Java · 1,783 source files
Analyzed at d2f5165f9c on 2026-08-14. 139 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| Invalid attachment | exception | error | plugin, dependencies, install, validation, pf4j |
| User permissions not set in PermissionUtils | exception | error | plugin, dependencies, versioning, install, validation |
| ESM provider manifest must be an object. | exception | error | plugin, versioning, install, system-version, validation |
| ESM provider manifest must contain format, entry, and option | exception | error | plugin, versioning, install, validation, manifest |
| ESM provider manifest entry is required. | exception | warning | plugin, ui-bundle, esm, provider-manifest, validation |
| ESM provider manifest style must be a string. | exception | warning | plugin, ui-bundle, esm, provider-manifest, validation |
| Provider resource path must be provider-root-relative: ${res | exception | warning | plugin, ui-bundle, esm, provider-manifest, validation |
| Provider resource path escapes its root: ${resourcePath}. | exception | warning | plugin, ui-bundle, esm, provider-manifest, validation |
| ESM UI provider output must contain exactly one entry JavaSc | exception | warning | plugin, ui-bundle, esm, provider-manifest, packaging |
| ESM UI provider output is missing its entry asset ${entryFil | exception | warning | plugin, ui-bundle, esm, provider-manifest, validation |
| ESM UI provider output must expose a default PluginModule ex | exception | warning | plugin, ui-bundle, esm, provider-manifest, path-traversal, security |
| ESM UI provider output must contain at most one entry styles | exception | warning | plugin, ui-bundle, esm, provider-manifest, path-traversal, security |
| Host runtime snapshot haloVersion must be stable semver. | exception | error | plugin, manifest, install, packaging, pf4j |
| Host runtime snapshot packages must be an object. | exception | error | plugin, manifest, install, filesystem, race |
| Host runtime snapshot must expose exactly: ${SHARED_PACKAGE_ | exception | error | plugin, manifest, install, validation, yaml |
| Invalid target Halo version: ${targetHaloVersion}. | exception | error | plugin, manifest, install, development, packaging |
| No ESM host runtime snapshot is available for Halo ${targetH | exception | warning | plugin, reverse-proxy, assets, not-found, http-404 |
| Cannot resolve shared dependency ${root} from ${resolutionBa | exception | info | security, remember-me, cookie, authentication |
| Shared dependency ${root} resolved to ${packageJson.name || | exception | info | security, remember-me, cookie, authentication, expiry |
| ${root} resolved to invalid version ${resolved.version} at $ | exception | error | build, esm, semver, bundler-kit, shared-dependency |
| ${root} snapshot version must be stable semver. | exception | critical | build, esm, snapshot, semver, bundler-kit |
| ${root} snapshot exports must be unique identifiers. | exception | critical | build, esm, snapshot, identifier, bundler-kit |
| ${root} snapshot runtime descriptor is invalid. | exception | critical | build, esm, snapshot, runtime-descriptor, bundler-kit |
| Unsupported shared dependency subpath ${specifier} imported | exception | error | build, esm, import, shared-dependency, bundler-kit |
| Explicit ESM output requires a simple stable spec.requires t | exception | error | build, esm, config, semver, bundler-kit |
| ESM UI provider output must contain one entry with a default | exception | error | build, esm, rollup, entry, bundler-kit |
| ESM UI provider output must contain at most one entry styles | exception | error | build, esm, css, manifest, bundler-kit |
| Cannot restore a replaced route under an anonymous parent re | exception | critical | runtime, router, vue-router, plugin-activation, console |
| PluginModule.components must be an object. | exception | error | runtime, plugin-module, typescript, console, validation |
| PluginModule.routes must be an array. | exception | error | runtime, plugin-module, routes, vue-router, validation |
| PluginModule.ucRoutes must be an array. | exception | error | runtime, plugin-module, uc-routes, user-center, validation |
| PluginModule.formkit must be an object. | exception | error | runtime, plugin-module, formkit, validation, console |
| No such thumbnail size: {} | validation | error | java, enum, thumbnail, attachment, validation |
| Unexpected APIVersion string: {} | validation | error | java, extension, group-version, api, validation |
| Unsupported operator: {} | validation | error | java, selector, field-selector, query, api |
| No value present for label key: {} | validation | error | java, selector, field-selector, validation, query |
| Unsupported operator: {} | validation | error | java, selector, label-selector, query, maintenance |
| No value present for label key: {} | validation | error | java, selector, label-selector, validation, query |
| Unsupported file category matcher for name: {} | validation | error | validation, enum-lookup, api-surface, plugin-api |
| Page number must be a number | validation | warning | pagination, theme-router, url-parsing, user-input |
| Unsupported sort value: {} | validation | warning | defensive, enum-lookup, sorting, unreachable-guard |
| Only support 'email' owner kind. | validation | error | validation, comment, owner-kind, precondition |
| The required parameter 'commentName' is missing. | http | warning | validation, query-param, comment, http-400, required-field |
| urls must not be empty. | http | warning | validation, attachment, permalink, http-400, required-field |
| url must not be blank. | http | warning | validation, attachment, permalink, http-400, blank-input |
| Unsupported URL protocol: {} | http | warning | validation, attachment, permalink, url-scheme, http-400, security |
| Required url is missing. | http | warning | validation, attachment, upload, http-400, required-field, record-constructor |
| Policy name must not be blank | http | warning | validation, attachment, upload, http-400, required-field, record-constructor |
| Invalid part of file | http | warning | validation, attachment, upload, multipart, http-400 |
| Invalid part of policyName | validation | warning | validation, attachment, upload, multipart, http-400, required-field |
| Target parent has a cyclic parent chain. | validation | error | validation, category, hierarchy, cycle-detection, http-400, data-integrity |
| Target parent has a cyclic parent chain. | validation | error | validation, menu-item, hierarchy, cycle-detection, http-400, data-integrity |
| menuName is required. | validation | warning | validation, menu-item, http-400, required-field |
| Unable to complete the request because the plugin configMapN | validation | warning | validation, plugin, config, http-400, precondition |
| The name from the request body does not match the plugin con | validation | warning | validation, plugin, config, http-400, idempotency, security |
| Form field file is required | validation | warning | validation, plugin, install, multipart, http-400, required-field |
| Invalid parameter of file | validation | error | validation, plugin, install, multipart, http-400 |
| Invalid file type, only jar is supported | validation | error | plugin, upload, validation, multipart, webflux |
| Publishing wait timeout. | exception | error | singlepage, publish, reconciler, timeout, webflux |
validation.error.email.pattern validation.error.email.pattern | validation | error | user, email, validation, i18n, webflux |
| No file part found in the request | validation | error | user, avatar, upload, multipart, validation |
| Invalid part of file | validation | error | user, avatar, upload, multipart, validation |
| Only support file with extension: {} | validation | error | user, avatar, upload, validation, file-extension |
| The avatar file needs to be smaller than {} MB. | validation | error | user, avatar, upload, size-limit, streaming |
| Name is required | validation | error | user, validation, required-field, webflux |
| Email is required | validation | error | user, validation, required-field, email, webflux |
validation.error.password.size password is required. | validation | error | user, password, validation, i18n, webflux |
problemDetail.comment.turnedOff The comment function has been turned off. | http | error | comment, access-denied, configuration, i18n, webflux |
problemDetail.comment.systemUsersOnly Allow only system users to comment. | http | error | comment, access-denied, configuration, i18n, authentication |
| The kind must not be null. | validation | error | comment, validation, required-field, query-param, webflux |
| The name must not be null. | validation | error | comment, validation, required-field, query-param, webflux |
| Required url is missing. | validation | error | attachment, upload, validation, required-field, user-center |
| Invalid type of parameter 'file'. | validation | error | attachment, upload, multipart, validation, user-center |
validation.error.password.size password is required. | validation | error | user, password, validation, i18n, user-center |
problemDetail.user.email.verify.maxAttempts Too many attempts. Please try again later. | http | error | email, verification, rate-limit, brute-force, i18n |
| Failed to validate {gvk} | validation | error | extension, schema, validation, openapi, webflux |
| The metadata.generateName must not be blank when metadata.na | validation | error | extension, metadata, validation, create, naming |
| Duplicate key '%s' for extension '%s' | validation | error | index, unique-constraint, extension-store, data-integrity |
| Duplicate key '{}' for index '{}' | validation | error | index, unique-constraint, extension-store, preflight |
| Cannot convert key: {} to type: {} | validation | error | query, index, type-conversion, filter-expression |
| Public key location does not exist | validation | critical | security, jwt, configuration, startup, rsa-key |
| Private key location does not exist | validation | critical | security, jwt, configuration, startup, rsa-key |
| Target directory: {path} was not empty | exception | warning | filesystem, io, directory, setup |
problemDetail.directoryTraversal Directory traversal detected: {pathToCheck} | http | critical | security, path-traversal, filesystem, validation |
| Direction must not contain whitespace | validation | warning | sort, query-param, validation, parsing |
| Illegal requires version expression. | http | warning | versioning, semver, plugin, validation, bad-request |
| You have no permission to delete this notification. | http | error | security, authorization, notification, permission, access-denied |
| Email must not be blank | validation | warning | notification, subscriber, validation, email |
| Locale "{locale}" cannot be used as it does not specify a la | validation | warning | i18n, locale, notification, validation |
| Failed to send email, please check your email configuration. | http | error | notification, email, smtp, configuration, bad-request |
| Failed to load class %s for plugin %s. | exception | critical | plugin, classloader, startup, plugin-context |
| Plugin name must not be blank | validation | warning | plugin, validation, api, bad-request |
https://halo.run/probs/plugin-cyclic-dependency A cyclic dependency was detected. | http | error | |
https://halo.run/probs/plugin-dependencies-not-found Dependencies were not found. | http | error | |
https://halo.run/probs/plugin-dependencies-with-wrong-versions Dependencies have wrong version. | http | error | |
problemDetail.plugin.version.unsatisfied.requires Plugin requires a minimum system version of [%s], but the current version is [%s | http | error | |
| The plugin version must not be blank. | http | error | |
| Provider manifest must be an object | validation | error | |
| Provider manifest must contain format, entry, and optional s | validation | error | |
| Provider manifest format must be esm | validation | error | |
| Provider resource path must be a string | validation | error | |
| Provider resource does not exist inside its root: {value} | validation | error | |
| Provider resource path must not be blank | validation | error | |
| Provider resource path must be provider-root-relative: {reso | validation | error | |
| Provider resource path escapes its root: {resourcePath} | validation | error | |
| Cannot find the plugin manifest path | exception | error | |
| Cannot find '{}' path | exception | error | |
| Unable to find plugin descriptor file '{}' | exception | error | |
| Unable to find plugin descriptor file: plugin.yaml | exception | error | |
| Plugin [{}] not found. | http | error | |
| Cookie token did not contain 3 or 4 tokens, but contained '{ | validation | error | |
| Cookie token[1] has expired (expired on '{}'; current time i | validation | error | |
| Cookie contained signature '{}' but expected '{}' | validation | warning | security, authentication, cookie, remember-me |
| Cookie token[1] did not contain a valid number (contained '{ | validation | warning | security, authentication, cookie, remember-me, validation |
| Cookie token was not Base64 encoded; value was '{}' | validation | warning | security, authentication, cookie, remember-me, base64 |
| unable to determine kind and namespace from url, %s | validation | error | security, authorization, api, routing, requestinfo |
| Unable to complete the request because the theme configMapNa | http | error | theme, config, api, validation |
| Invalid multipart type of file | http | error | theme, multipart, upload, api, validation |
| Only zip extension supported | http | error | theme, multipart, upload, validation |
| Invalid parameter of file, binary data is required | http | error | theme, multipart, upload, api, validation |
| Invalid file type, only zip format is supported | http | error | theme, multipart, upload, validation |
| Locale "{}" cannot be used as it does not specify a language | exception | error | theme, i18n, locale, thymeleaf |
| Exception loading messages file | exception | error | theme, i18n, properties, thymeleaf, config |
problemDetail.theme.version.unsatisfied.requires The theme requires a minimum system version of %s, but the current version is %s | exception | error | theme, version, install, upgrade, semver |
| Failed to unzip theme | http | error | theme, install, unzip, upload, io |
problemDetail.theme.install.missingManifest Missing theme manifest | exception | error | theme, install, manifest, yaml, validation |
| json.errors[0] | exception | warning | frontend, javascript, csrf, email-verification, complete-profile |
| json.detail | exception | warning | frontend, javascript, email-verification, complete-profile, problem-detail |
| i18nResources.sendVerificationCodeFailed | exception | warning | frontend, javascript, email-verification, complete-profile, fallback |
| json.errors[0] | exception | warning | frontend, javascript, csrf, email-verification, signup |
| json.errors[0] | exception | error | authentication, csrf, rfc7807, login, email-verification, fetch |
| json.detail | exception | error | authentication, rfc7807, email-verification, rate-limiting, smtp, fetch |
| i18nResources.sendVerificationCodeFailed | exception | warning | authentication, fetch, fallback, login, reverse-proxy, i18n |
| Please select a snapshot | validation | warning | vue, tanstack-query, snapshots, validation, defensive-guard |
| Please select two snapshots to compare | validation | warning | vue, tanstack-query, snapshots, diff, validation, guard-mismatch |
| Attachment has no permalink | exception | error | attachments, storage-policy, download, vue, permalink, validation |
| Policy name is required | validation | error | attachments, upload-from-url, storage-policy, validation, vue, api-client |
| File is required | validation | error | themes, uppy, vue, dialog, validation, upgrade |
| No permission to upload attachment | validation | error | attachments, permissions, rbac, formkit, vue, upload, validation |