Halo 是一款强大易用的开源建站工具,从个人博客、知识库,到企业官网、在线商城,Halo 都能助您轻松实现,一站式满足您的多样化建站需求。
93 matches across 7 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | …ackages/editor/src/extensions/figure/figure-caption.ts | 97 | const paragraph = tr.doc.type.schema.nodes.paragraph.create(); |
| CRITICAL | ui/packages/editor/src/extensions/figure/index.ts | 118 | const paragraph = tr.doc.type.schema.nodes.paragraph.create(); |
| CRITICAL | ui/packages/editor/src/extensions/format-brush/index.ts | 71 | this.editor.view.dom.classList.add("format-brush-mode"); |
| CRITICAL | ui/packages/editor/src/extensions/format-brush/index.ts | 77 | this.editor.view.dom.classList.remove("format-brush-mode"); |
| CRITICAL | …/src/main/java/run/halo/app/extension/Comparators.java | 33 | ? org.springframework.util.comparator.Comparators.nullsHigh() |
| CRITICAL | …/src/main/java/run/halo/app/extension/Comparators.java | 34 | : org.springframework.util.comparator.Comparators.nullsLow(); |
| CRITICAL | …lo/app/core/reconciler/SystemConfigReconcilerTest.java | 117 | var existingChecksum = com.google.common.hash.Hashing.sha256() |
| CRITICAL | …tension/router/ExtensionRouterFunctionFactoryTest.java | 65 | com.fasterxml.jackson.databind.json.JsonMapper.builder().build())) |
| CRITICAL | …tension/router/ExtensionRouterFunctionFactoryTest.java | 131 | com.fasterxml.jackson.databind.json.JsonMapper.builder().build(); |
| CRITICAL | …un/halo/app/security/DefaultUserDetailServiceTest.java | 43 | var user = new run.halo.app.core.extension.User(); |
| CRITICAL | …un/halo/app/security/DefaultUserDetailServiceTest.java | 238 | var userSpec = new run.halo.app.core.extension.User.UserSpec(); |
| CRITICAL | …un/halo/app/security/DefaultUserDetailServiceTest.java | 241 | var user = new run.halo.app.core.extension.User(); |
| CRITICAL | …n/halo/app/theme/dialect/HaloProcessorDialectTest.java | 281 | when(systemVersionSupplier.get()).thenReturn(com.github.zafarkhaja.semver.Version.parse("2.24.2")); |
| CRITICAL | …n/halo/app/theme/dialect/HaloProcessorDialectTest.java | 290 | when(systemVersionSupplier.get()).thenReturn(com.github.zafarkhaja.semver.Version.parse("2.23.0")); |
| CRITICAL | …n/halo/app/theme/dialect/HaloProcessorDialectTest.java | 299 | when(systemVersionSupplier.get()).thenReturn(com.github.zafarkhaja.semver.Version.parse("2.24.2")); |
| CRITICAL | …n/halo/app/theme/dialect/HaloProcessorDialectTest.java | 308 | when(systemVersionSupplier.get()).thenReturn(com.github.zafarkhaja.semver.Version.parse("0.0.0")); |
| CRITICAL | …main/java/run/halo/app/extension/router/JsonPatch.java | 42 | new io.swagger.v3.oas.models.media.ObjectSchema() |
| CRITICAL | …main/java/run/halo/app/extension/router/JsonPatch.java | 50 | new io.swagger.v3.oas.models.media.ObjectSchema() |
| CRITICAL | …main/java/run/halo/app/extension/router/JsonPatch.java | 58 | new io.swagger.v3.oas.models.media.ObjectSchema() |
| CRITICAL | …main/java/run/halo/app/extension/router/JsonPatch.java | 66 | new io.swagger.v3.oas.models.media.ObjectSchema() |
| CRITICAL | …main/java/run/halo/app/extension/router/JsonPatch.java | 71 | new io.swagger.v3.oas.models.media.ObjectSchema() |
| CRITICAL | …main/java/run/halo/app/extension/router/JsonPatch.java | 81 | new io.swagger.v3.oas.models.media.ObjectSchema() |
| CRITICAL | …main/java/run/halo/app/extension/router/JsonPatch.java | 91 | new io.swagger.v3.oas.models.media.ArraySchema() |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/uc-src/modules/contents/posts/PostEditor.vue | 257 | async function handleSetEditorProviderFromRemote() { |
| LOW | ui/uc-src/modules/contents/posts/PostEditor.vue | 455 | async function handleOpenPostSettingEditModal() { |
| LOW | ui/uc-src/modules/notifications/Notifications.vue | 209 | function handleDeleteNotifications() { |
| LOW | …ges/components/src/components/dialog/dialog-manager.ts | 25 | function getOrCreateContainer() { |
| LOW | ui/packages/ui-plugin-bundler-kit/src/rsbuild.ts | 28 | function createRsbuildPresetsConfig(manifestPath: string) { |
| LOW | ui/packages/editor/src/composables/use-attachment.ts | 7 | export function useExternalAssetsTransfer( |
| LOW | ui/packages/editor/src/utils/upload.ts | 163 | export function containsFileClipboardIdentifier(types: readonly string[]) { |
| LOW | ui/packages/editor/src/extensions/paragraph/index.ts | 125 | export function deleteCurrentNodeAndSetSelection( |
| LOW | ui/packages/editor/src/extensions/gap-cursor/index.ts | 347 | function createParagraphNearByGapCursor( |
| LOW | ui/packages/editor/src/components/EditorHeader.vue | 14 | function getToolbarItemsFromExtensions() { |
| LOW | ui/packages/editor/src/components/EditorHeader.vue | 37 | function getToolboxItemsFromExtensions() { |
| LOW | …ts/composables/use-content-provider-extension-point.ts | 7 | export function useContentProviderExtensionPoint() { |
| LOW | …modules/contents/comments/components/ReplyListItem.vue | 134 | function onReplyCreationModalClose() { |
| LOW | ui/console-src/modules/contents/posts/PostList.vue | 345 | function handleOpenBatchSettingModal() { |
| LOW | …e-src/modules/contents/posts/categories/utils/index.ts | 69 | export function resetCategoriesTreePriority( |
| LOW | …e-src/modules/contents/posts/categories/utils/index.ts | 116 | export function convertCategoryTreeToCategory( |
| LOW | …ontents/posts/categories/utils/__tests__/index.spec.ts | 40 | function createMockCategoryTreeNode( |
| LOW | …tents/attachments/composables/use-attachment-policy.ts | 42 | export function useFetchAttachmentPolicyTemplate() { |
| LOW | …ntents/attachments/components/AttachmentGroupBadge.vue | 99 | async function fetchAllAttachmentsByGroupName(groupName: string) { |
| LOW | ui/console-src/modules/interface/menus/Menus.vue | 230 | function getMenuItemRefDisplayName(menuItem: MenuTreeItem) { |
| LOW | ui/console-src/modules/interface/menus/utils/index.ts | 79 | export function resetMenuItemsTreePriority( |
| LOW | ui/console-src/modules/interface/menus/utils/index.ts | 128 | function getChildrenNamesRecursive(menuTreeItem: MenuTreeItem) { |
| LOW | ui/console-src/modules/interface/menus/utils/index.ts | 147 | export function convertMenuTreeItemToMenuItem( |
| LOW | …s/dashboard/composables/use-dashboard-widgets-fetch.ts | 48 | export function useDashboardWidgetsViewFetch(breakpoint: Ref<string>) { |
| LOW | …dashboard/composables/use-dashboard-extension-point.ts | 7 | export function useDashboardExtensionPoint() { |
| LOW | …les/dashboard/widgets/presets/comments/CommentItem.vue | 30 | function onCommentDetailModalClose() { |
| LOW | …ck-action/composables/use-dashboard-extension-point.ts | 8 | export function useDashboardQuickActionExtensionPoint() { |
| LOW | …dashboard/widgets/presets/users/NotificationWidget.vue | 40 | function handleRouteToNotification(notification: Notification) { |
| LOW | …e-src/modules/system/plugins/composables/use-plugin.ts | 292 | function handleChangeStatusInBatch(enabled: boolean) { |
| LOW | …/plugins/composables/use-extension-definition-fetch.ts | 10 | export function useExtensionDefinitionFetch( |
| LOW | ui/console-src/modules/system/users/UserDetail.vue | 133 | function onPasswordChangeModalClose() { |
| LOW | ui/console-src/modules/system/users/UserDetail.vue | 137 | function onGrantPermissionModalClose() { |
| LOW | ui/console-src/modules/system/users/UserList.vue | 139 | function handleEnableOrDisableInBatch(operation: "enable" | "disable") { |
| LOW | …e-src/modules/system/users/components/UserListItem.vue | 65 | function onGrantPermissionModalClose() { |
| LOW | …e-src/modules/system/users/components/UserListItem.vue | 74 | function onPasswordChangeModalClose() { |
| LOW | ui/console-src/router/guards/permission.ts | 29 | function isConsoleAccessDisallowed(currentRoles?: Role[]): boolean { |
| LOW | ui/src/vite/library-external.ts | 149 | function createInjectExternalTagsPlugin(tags: HtmlTagDescriptor[]): Plugin { |
| LOW | ui/src/formkit/plugins/stop-implicit-submission.ts | 74 | export function setupStopImplicitSubmission(router: Router) { |
| LOW | ui/src/formkit/plugins/password-prevent-autocomplete.ts | 3 | export default function passwordPreventAutocomplete(node: FormKitNode) { |
| LOW | ui/src/formkit/inputs/array/renderers/native-select.ts | 8 | export function renderNativeSelectLabelValue({ |
| LOW | ui/src/formkit/inputs/array/renderers/select.ts | 103 | async function findSelectedOptionByRemote( |
| LOW | ui/src/formkit/inputs/array/renderers/attachment.ts | 4 | export async function renderAttachmentLabelValue({ |
| LOW | ui/src/formkit/inputs/array/renderers/tag-select.ts | 9 | export async function renderTagSelectLabelValue({ |
| LOW | …/src/formkit/inputs/array/renderers/category-select.ts | 9 | export async function renderCategorySelectLabelValue({ |
| LOW | ui/src/formkit/inputs/color/ColorInput.vue | 37 | function formatColorByUnpredictableValue(value: string) { |
| LOW | application/src/main/resources/static/js/main.js | 158 | function setupPasswordConfirmation(passwordId, confirmPasswordId) { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/packages/api-client/src/models/post-vo.ts | 21 | import type { ContentVo } from './content-vo'; |
| LOW | ui/packages/editor/env.d.ts | 1 | /// <reference types="vite-plus/client" /> |
| LOW | hack/cherry_pick_pull.sh | 1 | #!/usr/bin/env bash |
| LOW | …ers/impl/CommentPublicQueryServiceIntegrationTest.java | 221 | |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 881 | # Structurally identical to AtContent (confirmed APT29/Nobelium C2 marker; see |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 901 | # (TOKEN/MAJOR.MINOR.BUILD.PATCH). No known legitimate browser uses this token. |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 1341 | |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 1361 | # Opera/9.80 (Linux armv7l; HbbTV/1.1.1 (; Sony; KDL32W650A; PKG3.211EUA; 2013;); ) Presto/2.12.362 Version/12.11 |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 1501 | ########## |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 2001 | ########################## |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 2781 | # @ref: http://www.cjshowroom.com/eproducts.aspx?classcode=004001001 |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 3501 | device_replacement: '$1 $2' |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 3921 | ######### |
| LOW | application/src/main/resources/config/uap/regexes.yaml | 5221 | ######### |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/uc-src/modules/contents/posts/PostEditor.vue | 320 | // Finally, we need to check if the slug is unique in the database |
| LOW | …/modules/contents/posts/components/PostSettingForm.vue | 71 | // Finally, we need to check if the slug is unique in the database |
| LOW | ui/console-src/modules/contents/posts/PostEditor.vue | 196 | // Finally, we need to check if the slug is unique in the database |
| LOW | …les/contents/posts/tags/components/TagEditingModal.vue | 150 | // Finally, we need to check if the slug is unique in the database |
| LOW | …modules/contents/posts/components/PostSettingModal.vue | 264 | // Finally, we need to check if the slug is unique in the database |
| LOW | …s/posts/categories/components/CategoryEditingModal.vue | 186 | // Finally, we need to check if the slug is unique in the database |
| LOW | …s/contents/pages/components/SinglePageSettingModal.vue | 273 | // Finally, we need to check if the slug is unique in the database |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | ui/packages/api-client/src/configuration.ts | 115 | * @return True if the given MIME is JSON, false otherwise. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …un/halo/app/theme/dialect/ElementTagPostProcessor.java | 23 | * <p>Don't forget to return the new tag after processing or {@link reactor.core.publisher.Mono#empty()} if not |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …alo/app/security/DefaultSuperAdminInitializerTest.java | 18 | var admin = initializer.createAdmin("admin", "password", "admin@example.com"); |