\n\n### 复现步骤\n\n_No response_\n\n### 相关日志输出\n\n```shell\n\n```\n\n### 附加信息\n\n_No response_",[2924],{"name":2874,"color":2875},7221,"添加菜单后,菜单名称为空","2025-02-08T08:13:04Z","https://github.com/halo-dev/halo/issues/7221",0.7667039,{"description":2931,"labels":2932,"number":2933,"owner":2863,"repository":2864,"state":2934,"title":2935,"updated_at":2936,"url":2937,"score":2938},"### Prerequisites\n\n- [x] I have searched for related issues in the [issues](https://github.com/halo-dev/halo/issues) list.\n- [x] This is an issue with the Halo project itself. If it is not an issue with the project itself(For example: Installation and deployment issues.), it is recommended to submit it in the [Discussions](https://github.com/halo-dev/halo/discussions).\n- [x] I have tried disabling all plugins to rule out plugins as the cause of the problem.\n- [x] If it is an issue with plugins and themes, please submit it in the respective plugin and theme repositories.\n\n### System information\n\n- Version 2.20.11-SNAPSHOT\n\n### What is the project operation method?\n\nFat Jar\n\n### What happened?\n\n移动端竖屏,无法删除文章\n\n### Reproduce Steps\n\n_No response_\n\n### Relevant log output\n\n```shell\n\n```\n\n### Additional information\n\n_No response_",[],7361,"closed","移动端上无法进行文章删除","2025-04-21T03:01:25Z","https://github.com/halo-dev/halo/issues/7361",0.67141175,{"description":2940,"labels":2941,"number":2948,"owner":2863,"repository":2864,"state":2934,"title":2949,"updated_at":2950,"url":2951,"score":2952},"### 前置条件\n\n- [x] 已经在 [issues](https://github.com/halo-dev/halo/issues) 列表中搜索了相关问题。\n- [x] 这是 Halo 项目本身存在的问题,如果是非项目本身的问题(如:安装部署问题),建议在 [Discussions](https://github.com/halo-dev/halo/discussions) 提交。\n- [x] 已经尝试过停用所有的插件,排除是插件导致的问题。\n- [x] 如果是插件和主题的问题,请在对应的插件和主题仓库提交。\n\n### 系统信息\n\n- 外部访问地址: https://www.anye.xyz\n- 启动时间: 2024-11-14 00:20\n- 版本: 2.20.9\n- 构建时间: 2024-11-12 06:47\n- Git Commit: ed5afb2\n- Java: IBM Semeru Runtime Open Edition / 21.0.4+7-LTS\n- 数据库: PostgreSQL / 16.4\n- 操作系统: Linux / 5.15.0-124-generic\n- 已激活主题: [Earth-Fixed 1.11.1](https://github.com/Anyexyz/theme-earth_fixed)\n- 已启动插件:\n - [Image Stream 1.0.0-rc.1](https://github.com/halo-sigs/plugin-image-stream)\n - [内容格式助手 1.2.0](https://github.com/ruibaby/plugin-content-tools)\n - [OAuth2 认证 1.5.0-rc.1](https://github.com/halo-sigs/plugin-oauth2)\n - [社交 IAM 认证 1.4.0-rc.1](https://www.halo.run/store/apps/app-IXZkJ)\n - [对象存储(Amazon S3 协议) 1.12.0](https://github.com/halo-dev/plugin-s3)\n - [通知我 1.1.0](https://github.com/monyuan/notify-me)\n - [KaTeX 2.1.0](https://github.com/halo-sigs/plugin-katex)\n - [Metrics Graph 1.1.0](https://github.com/guqing/plugin-metrics-graph)\n - [Markdown / HTML 内容块 1.2.0](https://github.com/halo-dev/plugin-hybrid-edit-block)\n - [增强备份(Backup IMproved) 1.2.0](https://www.halo.run/store/apps/app-dHakX)\n - [联系表单 1.1.0](https://www.halo.run/store/apps/app-gSebd)\n - [微信公众号发布 1.3.1](https://www.halo.run/store/apps/app-Dtuoa)\n - [AI 助手 1.1.2](https://www.halo.run/store/apps/app-riNgb)\n - [Data Studio(数据工厂) 1.0.0-alpha.2](https://github.com/halo-sigs/plugin-data-studio)\n - [编辑器超链接卡片 1.3.0](https://github.com/halo-sigs/plugin-editor-hyperlink-card)\n - [lightgallery.js 灯箱 1.2.1](https://github.com/halo-sigs/plugin-lightgallery)\n - [Umami 1.4.0](https://github.com/halo-sigs/plugin-umami)\n - [无色界 1.0.0](https://github.com/guqing/halo-plugin-colorless)\n - [Docsme 1.0.0-alpha.10](https://www.halo.run/store/apps/app-yffxw)\n - [文本绘图 1.3.0](https://github.com/halo-sigs/plugin-text-diagram)\n - [图库管理 1.4.0](https://github.com/halo-sigs/plugin-photos)\n - [静态网页服务 1.0.0-alpha.5](https://www.halo.run/store/apps/app-gFkMn)\n - [链上好文 1.0.1](https://github.com/guqing/plugin-share-post-via-link)\n - [链接管理 1.5.0](https://github.com/halo-sigs/plugin-links)\n - [文章限制阅读 Pro 1.4.3](https://www.halo.run/store/apps/app-TzRqd)\n - [highlight.js 代码高亮 1.3.2](https://github.com/halo-sigs/plugin-highlightjs)\n - [瞬间 1.8.0](https://github.com/halo-sigs/plugin-moments)\n - [Sitemap 1.1.2](https://github.com/halo-dev/plugin-sitemap)\n - [搜索组件 1.6.2](https://github.com/halo-dev/plugin-search-widget)\n - [RSS 1.3.0](https://github.com/halo-dev/plugin-feed)\n - [评论组件 2.5.1](https://github.com/halo-dev/plugin-comment-widget)\n - [应用市场 1.8.0](https://www.halo.run/store/apps/app-VYJbF)\n\n### 使用的哪种方式运行?\n\nDocker Compose\n\n### 发生了什么?\n\nHalo 无法识别 OpenHarmony 设备的 `user-agent`,导致在 `application/src/main/resources/extensions/notification-templates.yaml` 的 `你的 [(${site.title})] 账号被用于在 [(${os})] 上登录` 中的 `[(${os})]` 被填充为 `Unknown`。\n参考 UA:`Mozilla/5.0 (Phone; OpenHarmony 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile HuaweiBrowser/5.0.4.300`",[2942,2945],{"name":2943,"color":2944},"help wanted","006b75",{"name":2946,"color":2947},"good first issue","7057ff",7039,"${os} 参数识别错误导致邮件中通知为 Unknown","2024-11-18T14:54:00Z","https://github.com/halo-dev/halo/issues/7039",0.7013065,{"description":2954,"labels":2955,"number":2956,"owner":2863,"repository":2864,"state":2934,"title":2957,"updated_at":2958,"url":2959,"score":2960},"### 你当前使用的版本\r\n\r\n2.17.0-alpha.2\r\n\r\n### 描述一下此特性\r\n\r\n当插件启动失败时,单个接口会 pending 长达一分半钟。\r\n\r\n\u003Cimg width=\"773\" alt=\"image\" src=\"https://github.com/halo-dev/halo/assets/31335418/e0a492fb-b1a0-4fd7-9c7c-ca9bd3de0b5f\">\r\n\r\n并且,前端在目标接口返回报错之后,还会继续重试。\r\n\r\n\u003Cimg width=\"871\" alt=\"image\" src=\"https://github.com/halo-dev/halo/assets/31335418/6530596c-006d-4466-bef1-43b212dfca78\">\r\n\r\n在刷新页面之后,启动失败的插件会显示出成功的样式,会始终进行重试。\r\n\r\n\u003Cimg width=\"868\" alt=\"image\" src=\"https://github.com/halo-dev/halo/assets/31335418/f7c2a90d-6180-459c-b7c7-e1c9561443ad\">\r\n\r\n\r\n### 附加信息\r\n\r\n刷新页面后的插件数据:\r\n\r\n```json\r\n{\r\n \"spec\": {\r\n \"displayName\": \"Meilisearch\",\r\n \"version\": \"1.2.0\",\r\n \"author\": {\r\n \"name\": \"Rainsheep\",\r\n \"website\": \"https://blog.rainsheep.cn\"\r\n },\r\n \"logo\": \"logo.svg\",\r\n \"pluginDependencies\": {},\r\n \"homepage\": \"https://github.com/Rainsheep/halo-plugin-meilisearch\",\r\n \"description\": \"集成 Meilisearch,为 Halo 2.0 提供更强大、更精确、更易用的搜索功能。\",\r\n \"license\": [\r\n {\r\n \"name\": \"GPL-3.0\",\r\n \"url\": \"https://github.com/Rainsheep/halo-plugin-meilisearch/blob/main/LICENSE\"\r\n }\r\n ],\r\n \"requires\": \">=2.10.0\",\r\n \"enabled\": true,\r\n \"settingName\": \"meilisearch-settings\",\r\n \"configMapName\": \"meilisearch-configmap\"\r\n },\r\n \"status\": {\r\n \"phase\": \"STARTING\",\r\n \"conditions\": [\r\n {\r\n \"type\": \"Initialized\",\r\n \"status\": \"TRUE\",\r\n \"lastTransitionTime\": \"2024-06-28T03:28:39.703471569Z\",\r\n \"message\": \"\",\r\n \"reason\": \"Loaded\"\r\n },\r\n {\r\n \"type\": \"Ready\",\r\n \"status\": \"TRUE\",\r\n \"lastTransitionTime\": \"2024-06-28T03:28:39.736568323Z\",\r\n \"message\": \"\",\r\n \"reason\": \"Disabled\"\r\n }\r\n ],\r\n \"lastProbeState\": \"CREATED\",\r\n \"logo\": \"/plugins/Meilisearch/assets/logo.svg?version=1.2.0\",\r\n \"loadLocation\": \"file:///root/.halo2/plugins/Meilisearch-1.2.0.jar\"\r\n },\r\n \"apiVersion\": \"plugin.halo.run/v1alpha1\",\r\n \"kind\": \"Plugin\",\r\n \"metadata\": {\r\n \"finalizers\": [\r\n \"plugin-protection\"\r\n ],\r\n \"name\": \"Meilisearch\",\r\n \"annotations\": {\r\n \"plugin.halo.run/plugin-path\": \"Meilisearch-1.2.0.jar\",\r\n \"store.halo.run/app-id\": \"app-yJlEz\"\r\n },\r\n \"version\": 12,\r\n \"creationTimestamp\": \"2024-06-28T03:28:39.663151089Z\"\r\n }\r\n},\r\n```\r\n\r\n日志:\r\n\r\n```bash\r\n2024-06-28T11:43:11.231+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler : Initializing setting and config map for plugin Meilisearch\r\n2024-06-28T11:43:11.242+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler : Initialized setting meilisearch-settings for plugin Meilisearch\r\n2024-06-28T11:43:11.245+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler : Initialized config map meilisearch-configmap for plugin Meilisearch\r\n2024-06-28T11:43:11.266+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler : Resolving logo resource for plugin Meilisearch\r\n2024-06-28T11:43:11.266+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler : Resolving main.js and style.css for plugin Meilisearch\r\n2024-06-28T11:43:11.267+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] r.h.a.c.e.reconciler.PluginReconciler : Starting plugin Meilisearch\r\n2024-06-28T11:43:11.267+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] org.pf4j.AbstractPluginManager : Start plugin 'Meilisearch@1.2.0'\r\n2024-06-28T11:43:11.267+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] run.halo.app.plugin.SpringPlugin : Preparing starting plugin Meilisearch\r\n2024-06-28T11:43:11.271+08:00 ERROR 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] run.halo.app.plugin.SpringPlugin : Cleaning up plugin resources for plugin Meilisearch due to not being able to start plugin.\r\n2024-06-28T11:43:11.271+08:00 INFO 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] run.halo.app.plugin.SpringPlugin : Reset plugin context for plugin Meilisearch\r\n2024-06-28T11:43:11.273+08:00 ERROR 7 --- [run.halo.app.core.extension.reconciler.PluginReconciler-t-1] r.h.a.e.controller.DefaultController : Reconciler in run.halo.app.core.extension.reconciler.PluginReconciler-worker-1 aborted with an error, re-enqueuing...\r\n\r\njava.lang.NoClassDefFoundError: run.halo.app.search.post.PostSearchService\r\n\tat java.base/java.lang.ClassLoader.defineClassImpl(Native Method) ~[na:na]\r\n\tat java.base/java.lang.ClassLoader.defineClassInternal(Unknown Source) ~[na:na]\r\n\tat java.base/java.lang.ClassLoader.defineClass(Unknown Source) ~[na:na]\r\n\tat java.base/java.security.SecureClassLoader.defineClass(Unknown Source) ~[na:na]\r\n\tat java.base/java.net.URLClassLoader.defineClass(Unknown Source) ~[na:na]\r\n\tat java.base/java.net.URLClassLoader$ClassFinder.run(Unknown Source) ~[na:na]\r\n\tat java.base/java.net.URLClassLoader$ClassFinder.run(Unknown Source) ~[na:na]\r\n\tat java.base/java.security.AccessController.doPrivileged(Unknown Source) ~[na:na]\r\n\tat java.base/java.net.URLClassLoader.findClass(Unknown Source) ~[na:na]\r\n\tat org.pf4j.PluginClassLoader.loadClass(PluginClassLoader.java:153) ~[pf4j-3.12.0.jar:3.12.0]\r\n\tat run.halo.app.plugin.DefaultPluginApplicationContextFactory.lambda$create$6(DefaultPluginApplicationContextFactory.java:146) ~[classes/:2.17.0-alpha.2]\r\n\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[na:na]\r\n\tat run.halo.app.plugin.DefaultPluginApplicationContextFactory.create(DefaultPluginApplicationContextFactory.java:153) ~[classes/:2.17.0-alpha.2]\r\n\tat run.halo.app.plugin.SpringPlugin.start(SpringPlugin.java:32) ~[classes/:2.17.0-alpha.2]\r\n\tat org.pf4j.AbstractPluginManager.startPlugin(AbstractPluginManager.java:441) ~[pf4j-3.12.0.jar:3.12.0]\r\n\tat run.halo.app.core.extension.reconciler.PluginReconciler.enablePlugin(PluginReconciler.java:310) ~[classes/:2.17.0-alpha.2]\r\n\tat run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$5(PluginReconciler.java:147) ~[classes/:2.17.0-alpha.2]\r\n\tat run.halo.app.core.extension.reconciler.PluginReconciler.lambda$reconcile$7(PluginReconciler.java:155) ~[classes/:2.17.0-alpha.2]\r\n\tat java.base/java.util.Optional.map(Unknown Source) ~[na:na]\r\n\tat run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:110) ~[classes/:2.17.0-alpha.2]\r\n\tat run.halo.app.core.extension.reconciler.PluginReconciler.reconcile(PluginReconciler.java:74) ~[classes/:2.17.0-alpha.2]\r\n\tat run.halo.app.extension.controller.DefaultController$Worker.run(DefaultController.java:163) ~[api-2.17.0-alpha.2.jar:na]\r\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]\r\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]\r\n\tat java.base/java.lang.Thread.run(Unknown Source) ~[na:na]\r\nCaused by: java.lang.ClassNotFoundException: run.halo.app.search.post.PostSearchService\r\n\tat org.pf4j.PluginClassLoader.loadClass(PluginClassLoader.java:169) ~[pf4j-3.12.0.jar:3.12.0]\r\n\t... 34 common frames omitted\r\n\r\n```",[],6192,"优化插件启动失败时的重试机制","2024-06-29T16:40:20Z","https://github.com/halo-dev/halo/issues/6192",0.72250926,{"description":2962,"labels":2963,"number":2968,"owner":2863,"repository":2864,"state":2934,"title":2969,"updated_at":2970,"url":2971,"score":2972},"### 系统信息\n\n- 外部访问地址: http://localhost:8090\r\n- 启动时间: 2024-07-01 15:40\r\n- 版本: \r\n- 构建时间: \r\n- Git Commit: \r\n- Java: OpenJDK Runtime Environment / 17.0.7+7-LTS\r\n- 数据库: PostgreSQL / 15.4 (Debian 15.4-2.pgdg120+1)\r\n- 操作系统: Mac OS X / 14.5\r\n- 已激活主题: [Sakura 2.2.1](https://github.com/LIlGG/halo-theme-sakura.git)\r\n- 已启动插件:\r\n - [瞬间 1.6.1](https://github.com/halo-sigs/plugin-moments)\r\n - AI 助手 1.1.0-SNAPSHOT\r\n - [Metrics Graph 1.0.0](https://github.com/guqing/plugin-metrics-graph)\r\n - [Markdown / HTML 内容块 1.0.0-SNAPSHOT](https://github.com/halo-dev/plugin-hybrid-edit-block)\r\n - [Willow Markdown 编辑器 1.0.0-beta.3](https://github.com/guqing/willow-mde)\r\n - [应用市场 1.0.2](https://github.com/halo-dev/plugin-app-store)\r\n - [增强备份(Backup IMproved) 1.0.0](https://halo.run/store/apps/app-dHakX)\r\n - [OAuth2 认证 1.1.0](https://github.com/halo-sigs/plugin-oauth2)\r\n - [StackEdit 1.1.1](https://github.com/halo-sigs/plugin-stackedit)\r\n - [live2d 看板娘 1.2.1](https://github.com/LIlGG/plugin-live2d)\r\n - [链接管理 1.3.3](https://github.com/halo-sigs/plugin-links)\r\n - [站点迁移 1.3.0](https://github.com/halo-sigs/plugin-migrate)\r\n - [对象存储(Amazon S3 协议) 1.8.1](https://github.com/halo-dev/plugin-s3)\r\n - [ByteMD 1.4.0](https://github.com/ruibaby/plugin-bytemd)\r\n - [图库管理 1.3.0](https://github.com/halo-sigs/plugin-photos)\r\n - [RSS 1.2.2](https://github.com/halo-dev/plugin-feed)\r\n - [搜索组件 1.4.0](https://github.com/halo-dev/plugin-search-widget)\r\n - [评论组件 2.1.0](https://github.com/halo-dev/plugin-comment-widget)\r\n - [Sitemap 1.1.1](https://github.com/halo-dev/plugin-sitemap)\n\n### 使用的哪种方式运行?\n\nSource Code\n\n### 发生了什么?\n\n使用重构之后的搜索引擎搜索数据,type 在 entity 中定义为 `@NotBlank`,但查询结果中总为空。\r\n\r\n搜索引擎为 Lucene\r\n\r\n\u003Cimg width=\"564\" alt=\"image\" src=\"https://github.com/halo-dev/halo/assets/31335418/592f585f-b5ad-4248-9920-eeed364a2e03\">\r\n\r\n/kind bug\r\n/area core\r\n\n\n### 相关日志输出\n\n_No response_\n\n### 附加信息\n\n_No response_",[2964,2967],{"name":2965,"color":2966},"kind/bug","e11d21",{"name":2914,"color":2900},6235,"搜索结果 type 显示为 null","2024-07-01T09:59:04Z","https://github.com/halo-dev/halo/issues/6235",0.72900164,["Reactive",2974],{},["Set"],["ShallowReactive",2977],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fnDe59je92U2JPZ2L4xkAxqj0M2K41WQOye76dt5DcJE":-1},"/halo-dev/halo/7029"]