\n\n### 复现步骤\n\n_No response_\n\n### 相关日志输出\n\n```shell\n\n```\n\n### 附加信息\n\n_No response_",[3044],{"name":3045,"color":3046},"triage/needs-information","d455d0",7221,"添加菜单后,菜单名称为空","2025-02-08T08:13:04Z","https://github.com/halo-dev/halo/issues/7221",0.7632683,{"description":3053,"labels":3054,"number":3061,"owner":3026,"repository":3027,"state":3062,"title":3063,"updated_at":3064,"url":3065,"score":3066},"### 系统信息\n\n- 外部访问地址: \r\n- 启动时间: 2024-06-30 15:44\r\n- 版本: 2.17.0-SNAPSHOT\r\n- 构建时间: 2024-06-30 15:44\r\n- Git Commit: 9410006\r\n- Java: Java(TM) SE Runtime Environment / 17.0.5+9-LTS-191\r\n- 数据库: H2 / 2.2.224\r\n- 操作系统: Windows 10 / 10.0\r\n- 已激活主题: [Earth 1.7.1](https://github.com/halo-dev/theme-earth.git)\r\n- 已启动插件:\r\n - [对象存储(Amazon S3 协议) 1.9.0-SNAPSHOT](https://github.com/halo-dev/plugin-s3)\n\n### 使用的哪种方式运行?\n\nSource Code\n\n### 发生了什么?\n\nhttps://github.com/halo-dev/halo/blob/9410006659e08367f66c03d60e60a7e817ea91b8/application/src/main/java/run/halo/app/extension/ReactiveExtensionClientImpl.java#L114\r\ns3插件调用listAll方法时,sort参数传的时null,在旧版本halo中时可以运行的,2.17不行了。\r\n虽然可以通过修改s3代码实现兼容新版本,但是不确定其他插件是否有这种写法。\r\n希望希望能兼容此类情形,同时对其他接口进行排查。\n\n### 相关日志输出\n\n```shell\njava.lang.NullPointerException: Cannot invoke \"org.springframework.data.domain.Sort.iterator()\" because \"sort\" is null\r\n\tat run.halo.app.extension.index.IndexedQueryEngineImpl.getFieldNamesUsedInListOptions(IndexedQueryEngineImpl.java:150) ~[main/:na]\r\n\tSuppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: \r\nError has been observed at the following site(s):\r\n\t*__checkpoint ⇢ Handler run.halo.s3os.S3LinkController#listObjects(String, String, String, Integer, Boolean, String) [DispatcherHandler]\r\n\t*__checkpoint ⇢ run.halo.app.console.ProxyFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ run.halo.app.console.ProxyFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ run.halo.app.security.InitializeRedirectionWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ run.halo.app.security.device.DeviceSessionFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ LogoutPageGeneratingWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ AnonymousAuthenticationWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ TotpAuthenticationFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ RememberMeAuthenticationFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ CsrfWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ CorsWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ run.halo.app.webfilter.AdditionalWebFilterChainProxy [DefaultWebFilterChain]\r\n\t*__checkpoint ⇢ HTTP GET \"/apis/s3os.halo.run/v1alpha1/objects/attachment-policy-nYTgM?continuationToken=&continuationObject=&pageSize=50&filePrefix=\" [ExceptionHandlingWebHandler]\r\nOriginal Stack Trace:\r\n\t\tat run.halo.app.extension.index.IndexedQueryEngineImpl.getFieldNamesUsedInListOptions(IndexedQueryEngineImpl.java:150) ~[main/:na]\r\n\t\tat run.halo.app.extension.index.IndexedQueryEngineImpl.doRetrieve(IndexedQueryEngineImpl.java:113) ~[main/:na]\r\n\t\tat run.halo.app.extension.index.IndexedQueryEngineImpl.retrieveAll(IndexedQueryEngineImpl.java:55) ~[main/:na]\r\n\t\tat run.halo.app.extension.ReactiveExtensionClientImpl.lambda$listAll$2(ReactiveExtensionClientImpl.java:117) ~[main/:na]\r\n\t\tat reactor.core.publisher.MonoSupplier$MonoSupplierSubscription.request(MonoSupplier.java:126) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribe(MonoFlatMapMany.java:141) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onSubscribe(MonoPeekTerminal.java:152) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:48) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.Mono.subscribe(Mono.java:4568) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.MonoUsing$MonoUsingSubscriber.onNext(MonoUsing.java:231) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:252) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) ~[reactor-core-3.6.7.jar:3.6.7]\r\n\t\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]\r\n\t\tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]\r\n\t\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]\r\n\t\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]\r\n\t\tat java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]\n```\n\n\n### 附加信息\n\n",[3055,3058],{"name":3056,"color":3057},"kind/bug","e11d21",{"name":3059,"color":3060},"area/core","0052cc",6219,"closed","ReactiveExtensionClient的listAll方法兼容sort为null的情况","2024-07-01T07:40:33Z","https://github.com/halo-dev/halo/issues/6219",0.7177116,{"description":3068,"labels":3069,"number":3070,"owner":3026,"repository":3027,"state":3062,"title":3071,"updated_at":3072,"url":3073,"score":3074},"### 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,"移动端上无法进行文章删除","2025-04-21T03:01:25Z","https://github.com/halo-dev/halo/issues/7361",0.7255832,{"description":3076,"labels":3077,"number":3080,"owner":3026,"repository":3027,"state":3062,"title":3081,"updated_at":3082,"url":3083,"score":3084},"### 你当前使用的版本\n\n 2.20.7专业版\n\n### 描述一下此特性\n\nhalo配置了一堆对象存储和图床能否在粘贴图片的时候能默认选择到对象存储或者图床吗,不要默认本地附件不然这样操作起来很麻烦\n\n### 附加信息\n\n_No response_",[3078],{"name":3079,"color":3046},"kind/support",6948,"发布文章附件优化上传","2024-11-18T02:29:44Z","https://github.com/halo-dev/halo/issues/6948",0.7325997,{"description":3086,"labels":3087,"number":3090,"owner":3026,"repository":3027,"state":3062,"title":3091,"updated_at":3092,"url":3093,"score":3094},"### Your current Halo version\n\n2.14.0-rc.1\n\n### Describe this feature\n\n默认评论没有随机头像或者从腾讯QQ获取头像\r\n\r\n\u003Cimg width=\"506\" alt=\"image\" src=\"https://github.com/halo-dev/halo/assets/8952687/7827b497-c706-40bc-a5ee-0835434338b4\">\r\n\n\n### Additional information\n\n_No response_",[3088],{"name":3089,"color":3046},"triage/duplicate",5610,"默认评论没有随机头像或者从腾讯QQ获取头像","2024-10-10T08:30:17Z","https://github.com/halo-dev/halo/issues/5610",0.7332743,{"description":3096,"labels":3097,"number":3106,"owner":3026,"repository":3027,"state":3062,"title":3107,"updated_at":3108,"url":3109,"score":3110},"### 你当前使用的版本\n\n2.12.0-alpha.1\n\n### 描述一下此特性\n\n当前默认编辑器下的音频功能较为简单,且只能支持链接,对于想上传至本地附件库的用户使用较为麻烦,并且整体界面比较简陋,期望同 #5159 优化 image 的方式,对音频进行优化。\r\n\r\n/kind improvement\r\n/area console\r\n/area editor\n\n### 附加信息\n\n_No response_",[3098,3100,3103],{"name":3099,"color":3060},"area/console",{"name":3101,"color":3102},"kind/improvement","f714c6",{"name":3104,"color":3105},"area/editor","5C6460",5239,"期望优化富文本编辑器音频使其支持上传文件功能","2024-03-14T08:36:01Z","https://github.com/halo-dev/halo/issues/5239",0.7354616,{"description":3112,"labels":3113,"number":3115,"owner":3026,"repository":3027,"state":3062,"title":3116,"updated_at":3117,"url":3118,"score":3119},"### 你当前使用的版本\r\n\r\n_No response_\r\n\r\n### 描述一下此特性\r\n\r\n文章管理界面 文章排序 添加按访问量排序 添加按评论数排序\r\n\r\n\r\n\r\n\r\n### 附加信息\r\n\r\n_No response_",[3114],{"name":3089,"color":3046},5792,"文章管理界面 文章排序 添加按访问量排序 添加按评论数排序","2024-04-25T04:02:11Z","https://github.com/halo-dev/halo/issues/5792",0.73790354,{"description":3121,"labels":3122,"number":3127,"owner":3026,"repository":3027,"state":3062,"title":3128,"updated_at":3129,"url":3130,"score":3131},"### 前置条件\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\n### 你当前使用的版本\n\n_No response_\n\n### 描述一下此特性\n\n急需上架商品功能,商品详情页面,商品价格,联系客服等。\n\n目前有很多用户有这个需求,去做独立站,仅仅是企业建站官网的市场份额不大,这是很大的市场份额建议调研重视。\n\n做产品要利他,不然用户怎么会选择这个产品,用户需要盈利。建议至少做一个商品详情页的插件,支付交易不是那么重要,跨境初期可以引流到亚马逊付款。\n\n### 附加信息\n\n急需上架商品功能",[3123,3126],{"name":3124,"color":3125},"kind/feature","c7def8",{"name":3023,"color":3024},7029,"是否可以提供电商相关的插件实现商品订单支付等功能类似wordpress 一样?","2024-11-15T10:36:36Z","https://github.com/halo-dev/halo/issues/7029",0.7403515,["Reactive",3133],{},["Set"],["ShallowReactive",3136],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f25-M3CMitZAXs22oJqsplzNm2vTHwoTHORyE2a-yW1A":-1},"/halo-dev/halo/7002"]