diff --git a/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx b/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx
index 26cf85cadc..32d05d513f 100644
--- a/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx
+++ b/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx
@@ -20,6 +20,7 @@ interface ChangelogInfo {
version: string;
changelog: string;
refs: string[];
+ contributors: string[];
releaseDate: string;
}
@@ -160,14 +161,30 @@ const ParseChangelog: React.FC<{ changelog: string }> = (props) => {
return {parsedChangelog};
};
-const RefLinks: React.FC<{ refs: string[] }> = ({ refs }) => {
+const RefLinks: React.FC<{ refs: string[]; contributors: string[] }> = ({ refs, contributors }) => {
const { styles } = useStyle();
+
return (
<>
{refs?.map((ref) => (
-
- #{ref.match(/[^/]+$/)?.[0]}
-
+
+
+ #{ref.match(/[^/]+$/)?.[0]}
+
+
+ ))}
+ {contributors?.map((contributor) => (
+
+
+ @{contributor}
+
+
))}
>
);
@@ -178,7 +195,7 @@ const RenderChangelogList: React.FC<{ changelogList: ChangelogInfo[] }> = ({ cha
const { styles } = useStyle();
const len = changelogList.length;
for (let i = 0; i < len; i += 1) {
- const { refs, changelog } = changelogList[i];
+ const { refs, changelog, contributors } = changelogList[i];
// Check if the next line is an image link and append it to the current line
if (i + 1 < len && changelogList[i + 1].changelog.trim().startsWith('
= ({ cha
elements.push(
-
+
= ({ cha
elements.push(
-
+
,
);
}
diff --git a/.github/workflows/auto-unassign.yml b/.github/workflows/issue-inactivity-reminder.yml
similarity index 55%
rename from .github/workflows/auto-unassign.yml
rename to .github/workflows/issue-inactivity-reminder.yml
index 01d647c949..46dd7e328a 100644
--- a/.github/workflows/auto-unassign.yml
+++ b/.github/workflows/issue-inactivity-reminder.yml
@@ -5,7 +5,7 @@ on:
- cron: "0 0 * * *" # Run at 00:00 every day
permissions:
- issues: write # Need write permission to modify issue assignees
+ issues: write
jobs:
reminder_job:
@@ -15,16 +15,18 @@ jobs:
uses: actions/github-script@v7
with:
script: |
- const daysBeforeReminder = 14;
+ const daysBeforeReminder = 14;
let page = 1;
const perPage = 100;
+
+ const reminderSignature = "This issue has been inactive for more than 14 days";
while (true) {
const { data: issues } = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
- assignee: '*', // Filter assigned issues
+ assignee: '*',
per_page: perPage,
page: page,
});
@@ -53,16 +55,30 @@ jobs:
);
if (daysInactive >= daysBeforeReminder && !hasLinkedPR) {
- const assigneesMentions = issue.assignees
- .map(user => `@${user.login}`)
- .join(' ');
-
- await github.rest.issues.createComment({
+ // get issue comments
+ const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
- body: `${assigneesMentions} 这个 issue 已经超过 14 天没有更新或关联 PR。如果您仍在处理这个 issue,请更新进度;如果您无法继续处理,请联系维护者重新分配。\n\nThis issue has been inactive for more than 14 days without any updates or linked PR. If you are still working on this issue, please provide a progress update. If you are unable to continue, please contact the maintainers for reassignment.`,
});
+
+ // check if reminder has been sent
+ const hasReminder = comments.some(comment =>
+ comment.body.includes(reminderSignature)
+ );
+
+ if (!hasReminder) {
+ const assigneesMentions = issue.assignees
+ .map(user => `@${user.login}`)
+ .join(' ');
+
+ await github.rest.issues.createComment({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: issue.number,
+ body: `${assigneesMentions} 这个 issue 已经超过 14 天没有更新或关联 PR。如果您仍在处理这个 issue,请更新进度;如果您无法继续处理,请联系维护者重新分配。\n\nThis issue has been inactive for more than 14 days without any updates or linked PR. If you are still working on this issue, please provide a progress update. If you are unable to continue, please contact the maintainers for reassignment.`,
+ });
+ }
}
}
diff --git a/components/descriptions/__tests__/index.test.tsx b/components/descriptions/__tests__/index.test.tsx
index c273b1171b..facd33391a 100644
--- a/components/descriptions/__tests__/index.test.tsx
+++ b/components/descriptions/__tests__/index.test.tsx
@@ -102,6 +102,20 @@ describe('Descriptions', () => {
expect(container.querySelectorAll('.ant-descriptions-item')[6]).toHaveAttribute('colSpan', '2');
});
+ it('when column=6, last item span should be 5', () => {
+ const { container } = render(
+ ,
+ );
+ expect(container.querySelectorAll('.ant-descriptions-item')[0]).toHaveAttribute('colSpan', '1');
+ expect(container.querySelectorAll('.ant-descriptions-item')[1]).toHaveAttribute('colSpan', '5');
+ });
+
it('column is number', () => {
const wrapper = render(
diff --git a/components/descriptions/hooks/useRow.ts b/components/descriptions/hooks/useRow.ts
index 84945487f4..0cd1d3d6f0 100644
--- a/components/descriptions/hooks/useRow.ts
+++ b/components/descriptions/hooks/useRow.ts
@@ -53,7 +53,7 @@ function getCalcRows(
if (count < mergedColumn) {
// If the span of the last element in the current row is less than the column, then add its span to the remaining columns
const last = rows[rows.length - 1];
- last.span = mergedColumn - count + 1;
+ last.span = mergedColumn - (count - (last.span || 1));
return rows;
}
return rows;
diff --git a/components/input/style/index.ts b/components/input/style/index.ts
index 4ac3c73c5e..20dc670845 100644
--- a/components/input/style/index.ts
+++ b/components/input/style/index.ts
@@ -421,6 +421,7 @@ const genAllowClearStyle = (token: InputToken): CSSObject => {
// ========================= Input =========================
[`${componentCls}-clear-icon`]: {
margin: 0,
+ padding: 0,
lineHeight: 0,
color: token.colorTextQuaternary,
fontSize: token.fontSizeIcon,
diff --git a/components/layout/__tests__/__snapshots__/demo-extend.test.ts.snap b/components/layout/__tests__/__snapshots__/demo-extend.test.ts.snap
index 1f87849079..b6551c2a6e 100644
--- a/components/layout/__tests__/__snapshots__/demo-extend.test.ts.snap
+++ b/components/layout/__tests__/__snapshots__/demo-extend.test.ts.snap
@@ -1405,7 +1405,7 @@ exports[`renders components/layout/demo/fixed-sider.tsx extend context correctly
>