#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix issue where menu items and post categories could not be reordered via drag-and-drop
#### Which issue(s) this PR fixes:
Fixes#7607
#### Does this PR introduce a user-facing change?
```release-note
修复菜单项和文章分类可能出现无法拖动排序的问题
```
What type of PR is this?
/kind bug
/area core
/milestone 2.21.x
What this PR does / why we need it:
Prevents published post view counts from being incorrectly increased when previewing posts in the admin panel.
Previously, the preview mode would load the tracking script, which resulted in inflated view counts. This PR adds a condition to detect preview mode and disables the tracking logic to avoid counting views for unpublished content.
Does this PR introduce user-facing changes?
```release-note
文章预览页面不再统计访问数据
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Prevent code input content from being obscured in fullscreen mode
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/7574
#### Does this PR introduce a user-facing change?
```release-note
修复代码输入框在全屏时,底部内容被遮挡的问题。
```
#### What type of PR is this?
/area ui
/area editor
/milestone 2.21.x
/kind improvement
#### What this PR does / why we need it:
Change the editor's toolbox button to expand on click, rather than on hover, to maintain consistency with other toolbar buttons.
#### Does this PR introduce a user-facing change?
```release-note
将编辑器的工具箱按钮改为点击展开
```
#### What type of PR is this?
/area ui
/area plugin
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Modify the vite configuration in ui-plugin-bunlder-kit to avoid passing the entire process.env to the build process.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind importment
/area editor
/milestone 2.21.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?
/kind bug
/area ui
/milestone 2.21.x
#### What this PR does / why we need it:
Bump rolldown-vite to 7.0.3 to fix a styling issue causing the attachment upload component to not load styles properly.
<img width="1234" alt="image" src="https://github.com/user-attachments/assets/ce12e4f1-fa86-4164-b1ce-b279f57407c5" />
Ref https://github.com/halo-sigs/plugin-moments/issues/150#issuecomment-3016260268
#### Special notes for your reviewer:
Need to test whether the attachment upload component works properly in both development and production environments, specifically in the console and UC.
#### Does this PR introduce a user-facing change?
```release-note
修复个人中心上传组件无法正常加载样式的问题。
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Bump TailwindCSS version to 3.4
#### 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:
Bump pnpm version to 10
#### 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:
Remove unused files.
#### 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:
Bump autoprefixer to latest version to resolve caniuse-lite outdated warn.
<img width="850" alt="image" src="https://github.com/user-attachments/assets/fdddd946-0009-46a1-889e-c5968dae3f9d" />
#### 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:
Upgrade Prettier and related plugins, and simplify Prettier configuration.
Now, formatting for all packages will be managed by Prettier in the project root directory.
#### 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:
Migrate to ESLint 9, use flat config file, and simplify ESLint configuration.
Now, linting for all packages will be managed by the configuration in the project root directory.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix the width issue of comment content, which was affected by https://github.com/halo-dev/halo/pull/7564 and is inconsistent with version 2.20.0
#### Does this PR introduce a user-facing change?
```release-note
修复 2.20.1 中评论管理中内容的宽度问题。
```
#### What type of PR is this?
/area ui
/milestone 2.21.x
#### What this PR does / why we need it:
Bump @halo-dev/ui-plugin-bundler-kit version to 2.21.1
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/area plugin
/milestone 2.21.x
#### What this PR does / why we need it:
This PR adds Rsbuild preset configuration support and refactors the Vite preset configuration approach for `@halo-dev/ui-plugin-bundler-kit`.
- **Added Rsbuild support** - New `rsbuildConfig` function with pre-configured settings for Halo plugin development
- **Refactored Vite configuration** - Improved `viteConfig` function with better preset handling
- **Updated documentation** - Comprehensive README with usage examples and build tool comparison
example:
```typescript
// Vite
import { viteConfig } from "@halo-dev/ui-plugin-bundler-kit";
export default viteConfig({ vite: { /* custom config */ } });
// Rsbuild
import { rsbuildConfig } from "@halo-dev/ui-plugin-bundler-kit";
export default rsbuildConfig({ rsbuild: { /* custom config */ } });
```
real-world example: https://github.com/guqing/plugin-metrics-graph/pull/5
For detailed configuration options and examples, please refer to the updated README.md
⚠️ `HaloUIPluginBundlerKit` function is now deprecated (still functional but marked for removal)
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
重构 `@halo-dev/ui-plugin-bundler-kit`,以预配置的方式为插件提供 Vite 和 Rsbuild 的构建配置。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Add cover field for deleted post list in console.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix the issue where widgets in Stack Widgets cannot display the settings button
<img width="813" alt="image" src="https://github.com/user-attachments/assets/15a13703-99f2-49af-aa3e-831f8271c3a2" />
#### Which issue(s) this PR fixes:
Fixes#7562
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复堆叠部件中的部件可能无法显示设置按钮的问题。
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
None
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/area plugin
/milestone 2.21.x
#### What this PR does / why we need it:
Added support for customization options to the HaloUIPluginBundlerKit.
example:
```ts
import { HaloUIPluginBundlerKit } from '@halo-dev/ui-plugin-bundler-kit';
export default {
plugins: [
HaloUIPluginBundlerKit({
outDir: {
dev: "../custom/dev/path",
prod: "../custom/prod/path"
},
manifestPath: "../custom/plugin.yaml"
})
]
}
```
#### Does this PR introduce a user-facing change?
```release-note
`@halo-dev/ui-plugin-bundler-kit` 支持自定义 `outDir` 和 `manifestPath`。
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.21.x
#### What this PR does / why we need it:
Add support for copying full path ina attachment details modal.
<img width="1023" alt="image" src="https://github.com/user-attachments/assets/1b337655-e774-4c8a-8a32-3dac83cb77b2" />
#### Does this PR introduce a user-facing change?
```release-note
支持在附件详情弹窗中复制完整的附件地址。
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.21.x
#### What this PR does / why we need it:
This PR removes unused JPA dependency to reduce application size about 14.6% off.
```bash
# Before
❯ ll application/build/libs
total 123M
-rw-r--r--. 1 johnniang johnniang 123M Jun 13 15:37 halo-2.21.0-SNAPSHOT.jar
-rw-r--r--. 1 johnniang johnniang 64 Jun 13 15:37 halo-2.21.0-SNAPSHOT.jar.sha256
```
```bash
# After
❯ ll application/build/libs
total 105M
-rw-r--r--. 1 johnniang johnniang 105M Jun 13 15:36 halo-2.21.0-SNAPSHOT.jar
-rw-r--r--. 1 johnniang johnniang 64 Jun 13 15:36 halo-2.21.0-SNAPSHOT.jar.sha256
```
#### Does this PR introduce a user-facing change?
```release-note
移除无用的依赖,软件包的体积减少近 15%
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.21.x
#### What this PR does / why we need it:
Remove unnecessary TS checks, and support parallel building of console and uc
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.21.x
#### What this PR does / why we need it:
Remove vite build warnings about external libs.
<img width="1051" alt="image" src="https://github.com/user-attachments/assets/ae3e2471-37d5-481b-9a5f-281a6bfc3094" />
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Remove unused width prop for post title field
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.21.x
#### What this PR does / why we need it:
This PR removes deprecated Subscritpion and Thumbnail migrations.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Add cover image display for the post list in the uc.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Encode post cover image URLs to prevent loading issue
<img width="736" alt="image" src="https://github.com/user-attachments/assets/0f298c64-37b3-4692-bdfa-922fd0e37dd9" />
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Update attachment policy form using new configMap API
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Optimize the file suffixes of global dependencies by using content hashes instead of random strings. This ensures that when dependencies do not change, the output filenames remain the same after building, resulting in better cache utilization.
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 的全局依赖文件名,以获得更好的缓存利用率。
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.21.x
#### What this PR does / why we need it:
Add iframe widget for dashboard
<img width="1212" alt="image" src="https://github.com/user-attachments/assets/e31bb9f2-5120-4565-ad2d-cf878b4c9d53" />
#### Does this PR introduce a user-facing change?
```release-note
为仪表盘添加网页嵌入小部件
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Update extension points settings using new configMap API
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Add empty state for some dashboard widgets
#### Does this PR introduce a user-facing change?
```release-note
None
```