#### What type of PR is this?
/area core
/kind cleanup
/milestone 2.20.x
#### What this PR does / why we need it:
重新生成 OpenAPI 定义和 API Client,在 https://github.com/halo-dev/halo/pull/6488 中忘了重新生成。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.20.x
#### What this PR does / why we need it:
修复在 FireFox 浏览器下的编辑器中无法通过粘贴文件上传的问题。
#### Which issue(s) this PR fixes:
Fixes#6684
#### Special notes for your reviewer:
在 FireFox 浏览器中,复制一张本地的图片,尝试在编辑器中粘贴,观察是否上传成功。
#### Does this PR introduce a user-facing change?
```release-note
修复在 FireFox 浏览器下的编辑器中无法通过粘贴文件上传的问题。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
取消异步加载默认编辑器,在之前的版本中,由于编辑器体积较大,所以做了异步加载的处理,但近期的版本中,为了让插件可以使用编辑器或者扩展编辑器,已经将编辑器依赖作为全局加载,如果这个时候还是异步加载编辑器组件的话,进入编辑页面的时候出现短暂的灰屏闪烁。
#### Does this PR introduce a user-facing change?
```release-note
优化默认编辑器的加载方式,防止出现灰屏闪烁的问题。
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
简化页面回收站的页面标题。
#### Does this PR introduce a user-facing change?
```release-note
简化页面回收站的页面标题。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
统一空状态界面中操作按钮的风格。
#### Does this PR introduce a user-facing change?
```release-note
统一空状态界面中操作按钮的风格。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
升级 UI 项目的 Vue 版本至 3.5.x。
#### Does this PR introduce a user-facing change?
```release-note
升级 UI 项目的 Vue 版本至 3.5.x。
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.20.x
#### What this PR does / why we need it:
清理 UI 中关于获取 system configmap 的无用代码,目前观察到已经没有任何地方在使用这个数据。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.20.x
#### What this PR does / why we need it:
修复编辑器中有序列表的样式问题。
#### Which issue(s) this PR fixes:
Fixes#6615
#### Does this PR introduce a user-facing change?
```release-note
修复编辑器中有序列表的样式问题。
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
优化了 Formkit 中的 selec 组件,使得其使用快捷键与鼠标选中的预选状态始终只有一个。且在多选状态下按回车时,不再预选跳转至第一个选项。
#### How to test it?
在多选状态下测试使用键盘进行预选及使用鼠标 hover 进行预选的状态是否符合预期。
#### Which issue(s) this PR fixes:
Fixes#6600
#### Does this PR introduce a user-facing change?
```release-note
优化 Formkit select 组件在多选状态下的待选中状态。
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.20.x
#### What this PR does / why we need it:
为 FormKit 添加菜单选择输入类型
<img width="549" alt="image" src="https://github.com/user-attachments/assets/b5e40c1d-908f-4cdc-89d5-76f9b67ae298">
#### Does this PR introduce a user-facing change?
```release-note
为 FormKit 添加菜单选择输入类型
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
为 formkit select 组件优化逻辑,目前将可以监听到 options 的变化,用于在变化时设置值。用于解决当 options 是异步获取,而 value 是初始设置时,无法显示正常的 label。
#### How to test it?
测试 options 比设置 value 晚时,数据能否正常显示 label。
#### Does this PR introduce a user-facing change?
```release-note
解决当 formkit select 组件中的 options 延迟设置时无法正常回显的问题。
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
解决 Formkit Selector 在值为布尔或者数字类型时,回显时内容不正常的问题。
#### How to test it?
测试当 FormKit Select 组件的值为布尔或者数字时,回显的内容是否正常。
#### Does this PR introduce a user-facing change?
```release-note
修复 FormKit Select 组件中布尔值的显示问题。
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
重新修改 formkit select 初始化值的监听方式,用于当 value 发生变化时,使选项值可以发生变化。
另外在更新数据时,如果数据发生变化,则发出 `onChange` 事件。
> 需要注意的是,通过 v-modal 传入默认值,再将此值改为 `undefined` 时无法触发 `watch` 及 formkit 的 `input` 事件,原因暂时未知,将此值设置为 `""` 即可正常触发。
#### How to test it?
由于此 PR 改动了初始化的方式,因此需要全量测试所有使用 `Select` 组件的位置。包括多选与单选,本地源与远程源。确保功能符合预期。
#### Which issue(s) this PR fixes:
Fixes#6594
#### Does this PR introduce a user-facing change?
```release-note
解决 Formkit Select 组件在值变更时不会发出事件及修改选项值的问题。
```
#### What type of PR is this?
/kind bug
/area ui
#### What this PR does / why we need it:
解决 formkit select 组件中,option 使用 `attrs: { disabled: true }` 无效的问题。
#### How to test it?
测试在 formkit select 组件中,option 设置 disabled 属性是否有效。
#### Which issue(s) this PR fixes:
Fixed#6592
#### Does this PR introduce a user-facing change?
```release-note
解决 formkit select 组件的 Option 设置 disabled 无效的问题
```
#### What type of PR is this?
/kind improvment
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
为 Formkit Select 组件增加 `fieldSelectorKey` 字段,用于在使用 `fieldSelector` 字段远程查询时,指定查询所使用的 Key。
例如指定 `fieldSelectorKey` 为 `metadata.name` 则接口调用时的参数为 `fieldSelector: metadata.name=(admin)`。
#### How to test it?
测试在远程搜索时,`fieldSelector` 的查询 key 是否为设置的内容。
#### Which issue(s) this PR fixes:
Fixes#6589
#### Does this PR introduce a user-facing change?
```release-note
为 Formkit Select 组件远程查询增加指定 Key 的字段。
```
#### What type of PR is this?
/kind documentation
/area docs
#### What this PR does / why we need it:
补充 formkit select 组件中关于 allowCreate 属性的文档
#### Which issue(s) this PR fixes:
Fixeshalo-dev/docs#408
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
在过滤默认编辑器重复扩展时,移除将扩展扁平化的操作。并且若扩展没有 name,则不对其进行过滤,用于解决一些潜在的问题。
#### How to test it?
测试在默认编辑器中新增 table ,是否会出现报错。
#### Which issue(s) this PR fixes:
Fixes#6585
#### Does this PR introduce a user-facing change?
```release-note
解决在默认编辑器中添加表格报错的问题
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This PR bumps all version to 2.20.0 to prepare for next development.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
当 formkit 选择器初始没有值的情况下,会默认选择第一项,但这同时会导致监听器取消监听,进而无法监听到后续的 value 值变更。
此 PR 将选择值的逻辑与自动选择第一项分开,用于解决此问题。
#### How to test it?
测试当选择器不存在初始值时,后续通过 v-model 传入的值是否还会使当前选项进行变更。
#### Does this PR introduce a user-facing change?
```release-note
解决 formkit 选择器回显数据异常的问题
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.19.x
#### What this PR does / why we need it:
为默认编辑器格式刷及清除格式扩展增加 name,用于解决其重名而导致被错误过滤的问题
Fixes#6562
#### How to test it?
查看默认编辑中格式刷及清除格式功能是否存在且运行正常。
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器格式刷及清除格式功能不存在的问题
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.0
#### What this PR does / why we need it:
将 H2 数据库使用警告放置在数据初始化页面,之前放在初始化表单页面无法正确判断,因为没有登录,无法调用 /actuator/info 接口获取数据库数据。
<img width="638" alt="image" src="https://github.com/user-attachments/assets/18868104-321a-4146-a893-5babf4573146">
Fixes https://github.com/halo-dev/halo/issues/6561
#### Special notes for your reviewer:
需要使用此 PR 测试使用 H2 数据库全新安装,观察是否在数据初始化页面有 H2 数据库的使用提示。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area editor
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
在上传的文件中执行 `resetUpload` 方法之前,提前验证是否可以进行更新。
#### How to test it?
测试删除图片或变更图片位置时,默认编辑器是否会进行报错。
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器删除图片后报错的问题
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.0
#### What this PR does / why we need it:
优化默认的 axios 实例的参数:
1. baseURL 改为空字符串。
2. 默认优化数组参数。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.19.x
#### What this PR does / why we need it:
为匿名的 `Extension` 添加 name 值,解决由于匿名的 `Extension` name 相同而导致被过滤的问题。
#### How to test it?
测试默认编辑器附件库是否可以被打开。
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器附件库无法被打开的问题
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
为 formkit select 增加属性 `autoSelect`。
这个属性仅会作用于单选,且目的是为了初始化数据所用。当 value 或者 placeholder 存在时,此属性无效。
会查找第一个 option 不为 disabled 的数据。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.0
#### What this PR does / why we need it:
简化文章设置表单的部分表单项。
<img width="760" alt="image" src="https://github.com/user-attachments/assets/337a728e-8cc6-4c9e-aa85-dc4c64b72de5">
#### Does this PR introduce a user-facing change?
```release-note
简化文章设置表单的部分表单项。
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
解决 formkit select 远程请求时的参数错误问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
使用 #6473 中重构的 Formkit Select 组件来实现用户、文章、页面等各种业务搜索组件。
Fixes https://github.com/halo-dev/halo/issues/4931
#### How to test it?
测试各类搜索组件是否正常可用。
测试从旧版本升级后,原有数据是否可以正常显示。
#### Does this PR introduce a user-facing change?
```release-note
使用重构的 Formkit Select 组件来实现业务选择器。
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.19.0
#### What this PR does / why we need it:
重构用户筛选组件,支持远程搜索,避免在用户量大的时候产生性能问题。
<img width="383" alt="image" src="https://github.com/user-attachments/assets/3f878b0b-3da0-48fe-97ee-add115d23801">
#### Does this PR introduce a user-facing change?
```release-note
重构用户筛选组件,支持远程搜索。
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.19.0
#### What this PR does / why we need it:
修复 H2 数据库提示判断有误的问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind api-change
/kind feature
/area core
#### What this PR does / why we need it:
see #2335
增加将第三方资源转存为附件资源的接口。
`/apis/api.console.halo.run/v1alpha1/attachments/-/upload-from-url`
UC:
`/apis/uc.api.content.halo.run/v1alpha1/attachments/-/upload-from-url`
其中参数为
```json
{
"url": "string",
"filename": "string",
"groupName": "string",
"policyName": "string"
}
```
#### How to test it?
测试能否将第三方接口的资源保存至附件中。
测试各类附件,例如图片、视频、文本等。
#### Does this PR introduce a user-facing change?
```release-note
增加通过链接转存第三方资源至附件库的接口
```
#### What type of PR is this?
/kind improvement
/area editor
/area ui
#### What this PR does / why we need it:
此 PR 重构了默认编辑器中代码块的相关代码,使编辑器能够被插件扩展。这样做的优点是当用户使用例如 [highlightjs](https://github.com/halo-sigs/plugin-highlightjs) 这类的高亮插件时,可以保证在 Console 端选择的语言及主题可以在主题端完美适配。
具体做了以下几处重构:
1. 在默认编辑器的代码块中,不再提供高亮样式,代码块高亮将完全交由插件来适配。(但可以在默认的代码块中自定义输入语言,主题端自行处理)。
2. 为了防止出现重复的插件功能,将会根据插件优先级及加载顺序(后加载优先级高于先加载),对同类型且同名的插件进行过滤,只保留一个。
3. 重构代码块 `Select` 组件,使得选择语言或主题更加方便。
4. 为代码块提供主题的扩展设置项。
建议在此 PR 合并之后,由 Halo 默认提供一个高亮插件作为预设插件,这样可以用于解决原有功能升级之后丢失的问题。
<img width="1067" alt="image" src="https://github.com/user-attachments/assets/f9e2c5eb-a48a-4d2c-9fee-442e9d16ef19">
#### How to test it?
测试是否会改变已有代码块的语言等。
测试使用第三方插件之后,是否具有高亮。
设置高亮语言后,保存并刷新,查看高亮语言是否存在。主题同理。
查看主题端是否能够正常渲染。
#### Does this PR introduce a user-facing change?
```release-note
重构默认编辑器代码块使其能够被插件扩展。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
在初始化页面添加使用 H2 数据库的警告。
<img width="773" alt="image" src="https://github.com/user-attachments/assets/3be83064-2075-4d3d-9511-9c67ffb68076">
#### Special notes for your reviewer:
需要测试在首次安装的时候使用 H2 数据库时,初始化页面是否有警告界面。
#### Does this PR introduce a user-facing change?
```release-note
在初始化页面添加使用 H2 数据库的警告。
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.19.x
#### What this PR does / why we need it:
修复备份相关的 API 接口地址错误的问题,此问题由 https://github.com/halo-dev/halo/pull/6486 引入,后端修改地址之后,前端没有对应修改。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
升级 tiptap 相关依赖至 [2.6.5](https://github.com/ueberdosis/tiptap/releases/tag/v2.6.5)
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
优化插件是否需要重载页面的判断条件,否则从低版本升级到 2.19 时,所有插件都会提示需要重载。
因为在 https://github.com/halo-dev/halo/pull/6470 中修改了 bundle.js 的结构,但升级到 2.19 之后可能并不会及时抛弃 bundle.js 的缓存,因为插件本身的 version 并没有改变,bundle.js 的 hash 参数也不会改变。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area editor
/milestone 2.19.x
#### What this PR does / why we need it:
使用白名单校验替换原有的黑名单校验,解决 a 标签潜在的安全问题。
移除自定义的解决方案,使用 Tiptap 所提供的白名单方案。
#### How to test it?
测试 a 标签的 href 链接是否会受到 xss 的影响。
同时测试 #5479 的情况是否还会发生。即默认富文本编辑器中当链接为纯数字时是否还会报错。
#### Does this PR introduce a user-facing change?
```release-note
使用白名单校验 a 标签的 href 用于解决潜在的安全问题。
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.19.x
#### What this PR does / why we need it:
清理没有用到的索引
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
Bump vite-related dependencies
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
使用 patch 接口重构菜单项拖动排序等功能。
#### Which issue(s) this PR fixes:
None
#### Special notes for your reviewer:
需要测试菜单项的拖动排序功能是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
使用 patch 接口重构菜单项拖动排序功能。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
使用 patch 接口重构文章的恢复、可见性修改等逻辑。
#### Which issue(s) this PR fixes:
None
#### Special notes for your reviewer:
测试文章删除、恢复、可见性修改功能是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
使用 patch 接口重构文章的恢复、可见性修改等逻辑。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
使用 patch 接口重构分类拖动排序功能。
#### Which issue(s) this PR fixes:
None
#### Special notes for your reviewer:
需要测试文章分类的拖动排序功能是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
使用 patch 接口重构分类拖动排序功能。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
使用 patch 接口重构页面的删除、可见性修改等逻辑。
#### Which issue(s) this PR fixes:
None
#### Special notes for your reviewer:
测试页面删除、可见性修改功能是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
使用 patch 接口重构页面的删除、可见性修改等逻辑。
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
将主题预览中的保存功能固定在底部,方便当主题设置项过多时进行保存。
为了不影响保存功能,因此此 PR 移除了本来在左下角悬浮的选择主题按钮。选择主题可以直接在右上角进行点击。
#### Which issue(s) this PR fixes:
Fixes#6448
#### Does this PR introduce a user-facing change?
```release-note
在主题预览界面中将保存按钮固定在底部
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.19.x
#### What this PR does / why we need it:
修复默认编辑器中,当在列表的下一空白行使用退格键时,会导致无法回退至列表项中的问题。
#### How to test it?
1. 在编辑器中增加一个列表项。
2. 按两次回车跳出列表编辑器。
3. 按退格键。
查看退格键是否按一次就可以回到列表项,并且再次按时执行列表项的删除。
#### Which issue(s) this PR fixes:
Fixes#6263
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器中在空白行中按退格键无法回退到列表项中的问题
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
此 PR 将主题预览及文章预览的 `iframe` 由 srcdoc 改为使用 src 加载。用于解决在主题预览时,如果点击保存设置,会导致主题端页面跳转至首页。
#### How to test it?
1. 打开主题预览界面。
2. 打开非首页的页面。
3. 点击保存配置。查看此时刷新页面后是否不再回到首页。
同时需要测试 #4047 中的场景是否还会再发生。
#### Which issue(s) this PR fixes:
Fixes#6371
#### Does this PR introduce a user-facing change?
```release-note
解决预览主题时保存设置,页面会跳转至首页的问题。
```
#### What type of PR is this?
/kind feature
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
支持在附件库中预览 `image/avif` 的图片。
#### Which issue(s) this PR fixes:
Fixes#6320
#### Does this PR introduce a user-facing change?
```release-note
支持在附件库中预览 avif 类型的图片
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
更新 typescript 依赖版本至 5.5.x,以尝试解决 VSCode Vue 插件频繁崩溃的问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This is a regular updates after a new release.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.18.x
#### What this PR does / why we need it:
此 PR 解决了使用高亮插件之后按 `up` 或 `down` 按键被阻止的问题。
此问题的来源为 https://github.com/halo-sigs/richtext-editor/pull/56 ,在此前的 PR 中为了解决设置字体大小后再次设置高亮,会导致高亮无法完全笼罩字体的问题。
但经过仔细排查,发现上述问题之前的解决方式有误,正确的原因应该是设置字体大小的 `span` 标签与设置高亮的 `mark` 标签顺序相反导致。如下所示:
<img width="1019" alt="image" src="https://github.com/user-attachments/assets/90c0926e-caab-40b6-91ae-97c075ef7225">
正确的情况应该是在 `span` 中包裹 `mark`。此 PR 提升了 `TextStyle` 的优先级,结果如下所示:
<img width="1022" alt="image" src="https://github.com/user-attachments/assets/e5e61d54-defd-493b-818c-c09faf55a7c1">
#### How to test it?
测试对文本使用高亮功能之后按 `up` 或 `down` 按键是否生效。
测试对在文本设置大小之后,使用高亮、删除线等样式是否正确。
#### Which issue(s) this PR fixes:
Fixes#6381
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器中对文本使用高亮会导致按键被阻止的问题
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.18.x
#### What this PR does / why we need it:
目前当编辑器中列表内容为空时,需要按退格键多次才能删除掉此列表内容。
本 PR 在执行单行删除逻辑之前,会检查列表是否处于活动状态,如果是则不再执行单行删除的逻辑。列表会执行 ListKeyMap 相关快捷键。
#### How to test it?
1. 在默认富文本键入一个列表。
2. 使用退格键删除这个列表。
3. 查看是否可以一次就删除。
#### Which issue(s) this PR fixes:
Fixes#6389
#### Does this PR introduce a user-facing change?
```release-note
修复默认编辑器中列表项需要按多次退格键才可以删除的问题
```
#### What type of PR is this?
/area editor
/kind improvement
/milestone 2.18.x
#### What this PR does / why we need it:
移除编辑器 Column 的默认 padding 样式。
See https://github.com/halo-dev/halo/issues/6377#issue-2428912807
#### Which issue(s) this PR fixes:
Fixes#6377
#### Does this PR introduce a user-facing change?
```release-note
移除编辑器分栏卡片的默认 padding 样式。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.18.x
#### What this PR does / why we need it:
为个人中心发布文章的操作添加重试机制,方式后端因为乐观锁出现异常错误。
#### Which issue(s) this PR fixes:
Fixes#6349
#### Does this PR introduce a user-facing change?
```release-note
为个人中心发布文章的操作添加重试机制,方式后端因为乐观锁出现异常错误。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.18.x
#### What this PR does / why we need it:
升级 tiptap 的相关依赖至 2.5.7。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.18.x
#### What this PR does / why we need it:
修改附件选择组件的默认显示数量,以解决因为图片数量过多或者图片过大导致的卡顿问题。
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/6352
#### Does this PR introduce a user-facing change?
```release-note
修改附件选择组件的默认显示数量,以解决因为图片数量过多或者图片过大导致的卡顿问题。
```
#### What type of PR is this?
/kind feature
/area editor
#### What this PR does / why we need it:
支持在默认编辑器中使用 Tab 键实现首行缩进的功能。
当光标处于文本首行时,按下 Tab 键会触发首行缩进。
在首行缩进的情况下或者选中一段文本,再次按下 Tab 键会触发整段缩进。
#### How to test it?
测试文本块及区域标题块首行按下 Tab 键是否可以正常触发首行缩进
#### Which issue(s) this PR fixes:
Fixes#6316
#### Does this PR introduce a user-facing change?
```release-note
默认编辑器增加 Tab 快捷键首行缩进功能
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
Regenerate API docs and client to prevent unrelated changes from other PRs.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.18.x
#### What this PR does / why we need it:
使用组合输入时,按下回车键不再执行编辑器获取焦点的事件。
#### Which issue(s) this PR fixes:
Fixes#6345
#### Does this PR introduce a user-facing change?
```release-note
解决默认编辑器标题在使用组合输入时,按下回车键会导致其失去焦点的问题。
```
#### What type of PR is this?
/kind bug
/area editor
/milestone 2.18.x
#### What this PR does / why we need it:
在默认编辑器中,选中一个跨多个节点的 text 时,selection 会变为 RangeSelection,此时冒泡菜单将不会出现。
此 RP 将 RangeSelection 添加至 text 的冒泡菜单验证中,使得冒泡菜单可以出现。
#### How to test it?
测试跨行选中多个无序列表时,是否出现冒泡菜单。
#### Which issue(s) this PR fixes:
Fixes#6267
#### Does this PR introduce a user-facing change?
```release-note
修复默认编辑器中跨行选择节点时冒泡菜单无法出现的问题
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This PR bumps Halo version into 2.18.0 for next development iteration.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
优化插件扩展管理页面的 UI 权限,限制只有超级管理员才能访问。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
重新生成 api client,移除无用的文件。并且此 PR 改进了生成的脚本,会在生成前删除旧的 api client 文件,保证不会遗留旧文件。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
完善插件扩展设置页面:
1. 完善 i18n。
2. 将入口移动至插件页面右上角的操作按钮区域。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.17.x
#### What this PR does / why we need it:
补充 2FA 相关的 i18n 定义。
#### Does this PR introduce a user-facing change?
```release-note
None
```
<!-- Thanks for sending a pull request! Here are some tips for you:
1. 如果这是你的第一次,请阅读我们的贡献指南:<https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>。
1. If this is your first time, please read our contributor guidelines: <https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>.
2. 请根据你解决问题的类型为 Pull Request 添加合适的标签。
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request.
3. 请确保你已经添加并运行了适当的测试。
3. Ensure you have added or ran the appropriate tests for your PR.
-->
#### What type of PR is this?
<!--
添加其中一个类别:
Add one of the following kinds:
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind improvement
适当添加其中一个或多个类别(可选):
Optionally add one or more of the following kinds if applicable:
/kind api-change
/kind deprecation
/kind failing-test
/kind flake
/kind regression
-->
/area ui
/kind improvement
#### What this PR does / why we need it:
当前多选框disabled与非disabled样式上无区别,不好分辨。
#### Which issue(s) this PR fixes:
<!--
PR 合并时自动关闭 issue。
Automatically closes linked issue when PR is merged.
用法:`Fixes #<issue 号>`,或者 `Fixes (粘贴 issue 完整链接)`
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes https://github.com/halo-dev/halo/issues/5974
#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?
<!--
如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。
否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change),
Release Note 需要以 `action required` 开头。
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-->
```release-note
增加多选框disabled样式
```
#### What type of PR is this?
/area core
/kind bug
/milestone 2.17.x
#### What this PR does / why we need it:
修复 Device 模型中,Kind 定义错误的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/6221
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.17.x
#### What this PR does / why we need it:
支持在文章编辑页面创建文章时,也应用别名生成规则
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/5118
Fixes https://github.com/halo-dev/halo/issues/6155
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
支持在文章编辑页面创建文章时,也应用别名生成规则
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.17.x
#### What this PR does / why we need it:
修复 Secret Input 保存之后会多出 Secret Form 中数据的问题。
#### Which issue(s) this PR fixes:
Fixes#6193
#### Special notes for your reviewer:
测试方式:
1. 在保存 Secret 的表单选项前,打开一次编辑 Secret 的对话框。
2. 保存数据,检查内容是否多出了其他数据。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
#### Which issue(s) this PR fixes:
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area core
/kind api-change
/milestone 2.17.x
#### What this PR does / why we need it:
移除内置的页面静态缓存功能,后续将由 https://github.com/halo-sigs/plugin-page-cache 插件提供。
#### Which issue(s) this PR fixes:
Fixes#5639
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
移除内置的页面静态缓存功能,后续由 https://github.com/halo-sigs/plugin-page-cache 插件提供。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
添加对菜单的限制,不能删除已经设置为主菜单的菜单。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4956
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.17.x
#### What this PR does / why we need it:
支持手动为文章设置作者。
<img width="734" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/b91b1754-4f50-4333-8478-6735d5846847">
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/5720
#### Special notes for your reviewer:
需要测试:
1. 打开任意文章的设置,在高级中设置作者并保存,观察是否成功。
2. 选择一批文章,点击批量设置,设置一个作者,观察是否设置成功。
#### Does this PR introduce a user-facing change?
```release-note
支持手动为文章设置作者。
```
#### What type of PR is this?
/kind improvement
/area editor
/milestone 2.17.x
#### What this PR does / why we need it:
为图片跳转链接增加在新窗口打开的选项。
#### How to test it?
测试新窗口打开是否正常可用。
#### Which issue(s) this PR fixes:
Fixes#6109
#### Does this PR introduce a user-facing change?
```release-note
默认编辑器图片跳转链接支持配置新窗口打开
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.17.0
#### What this PR does / why we need it:
修复插件扩展点设置页面标题的颜色问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```