From 9826120554e8d51e4ff3adca5202fee2e8a51e80 Mon Sep 17 00:00:00 2001
From: ika12345 <24bcs005@nith.ac.in>
Date: Fri, 2 Jan 2026 02:53:36 +0530
Subject: [PATCH 1/9] fix: update Slack invite links to open external URL in
new tab
---
components/buttons/SlackButton.tsx | 11 +++--------
pages/[lang]/index.tsx | 9 ++++++++-
pages/community/index.tsx | 2 +-
public/_redirects | 3 ++-
4 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/components/buttons/SlackButton.tsx b/components/buttons/SlackButton.tsx
index b69b7b292160..d26715bd4bd3 100644
--- a/components/buttons/SlackButton.tsx
+++ b/components/buttons/SlackButton.tsx
@@ -1,7 +1,6 @@
import React from 'react';
import { ButtonIconPosition } from '@/types/components/buttons/ButtonPropsType';
-
import type { IButtonDefaultProps } from '../../types/components/buttons/types';
import IconSlack from '../icons/Slack';
import Button from './Button';
@@ -10,15 +9,10 @@ interface ISlackButtonProps extends IButtonDefaultProps {}
/**
* @description The SlackButton component is a button that links to the AsyncAPI Slack channel.
- * @param {string} props.text - The text to display on the button.
- * @param {string} props.href - The href attribute for the anchor tag.
- * @param {string} props.target - The target attribute for the anchor tag.
- * @param {ButtonIconPosition} props.iconPosition - The position of the icon in the button.
- * @param {string} props.className - The class name to be applied to the button.
*/
export default function SlackButton({
text = 'Join on Slack',
- href = '/slack-invite',
+ href = 'https://www.asyncapi.com/slack-invite',
target = '_blank',
iconPosition = ButtonIconPosition.LEFT,
className = ''
@@ -32,7 +26,8 @@ export default function SlackButton({
target={target}
className={className}
data-testid='Slack-button'
- bgClassName='bg-slack hover:bg-slack-light'
+ bgClassName='bg-slack hover:bg-slack-light'
/>
);
}
+
diff --git a/pages/[lang]/index.tsx b/pages/[lang]/index.tsx
index 847a8effbc8d..ed69a4db2b1e 100644
--- a/pages/[lang]/index.tsx
+++ b/pages/[lang]/index.tsx
@@ -101,8 +101,15 @@ export default function HomePage() {
{t('community.slackCTADesc')}
-
+
+
diff --git a/pages/community/index.tsx b/pages/community/index.tsx
index c9334dc5b319..7e1ce53d77ba 100644
--- a/pages/community/index.tsx
+++ b/pages/community/index.tsx
@@ -176,7 +176,7 @@ export default function CommunityIndexPage() {
actively contribute, collaborate, and mentor others on how to
build with AsyncAPI."
btnText='Join AsyncAPI slack'
- link='https://asyncapi.com/slack-invite'
+ link='https://www.asyncapi.com/slack-invite'
className='bg-channelCover'
/>
diff --git a/public/_redirects b/public/_redirects
index 1f7867625326..1969e215b361 100644
--- a/public/_redirects
+++ b/public/_redirects
@@ -53,7 +53,8 @@ https://www.asyncapi.io/* https://www.asyncapi.com/:splat 301!
/asyncapi-react https://asyncapi.github.io/asyncapi-react 301!
# Slack
-/slack-invite https://join.slack.com/t/asyncapi/shared_invite/zt-3m4pmrguv-SUN9Js4BkQHocIH54F59sA 302!
+/slack-invite https://www.asyncapi.com/slack-invite 302!
+
# Central Maven repository verification
/OSSRH-63280 https://github.com/asyncapi/java-asyncapi
From 256db668880f96cbb19c3e072de31447dcdb7887 Mon Sep 17 00:00:00 2001
From: ika12345 <24bcs005@nith.ac.in>
Date: Fri, 2 Jan 2026 03:38:10 +0530
Subject: [PATCH 2/9] Fix Slack CTA external link target
---
pages/[lang]/index.tsx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pages/[lang]/index.tsx b/pages/[lang]/index.tsx
index ed69a4db2b1e..a3b222697d8f 100644
--- a/pages/[lang]/index.tsx
+++ b/pages/[lang]/index.tsx
@@ -104,9 +104,9 @@ export default function HomePage() {
From bc1d07ec214cc63d61478680c6d6af05cea1eb5f Mon Sep 17 00:00:00 2001
From: ika12345 <24bcs005@nith.ac.in>
Date: Fri, 2 Jan 2026 03:45:59 +0530
Subject: [PATCH 3/9] Re-trigger CI
From d20e692461ae1f5aabafe185f8bbc18563965de9 Mon Sep 17 00:00:00 2001
From: ika12345 <24bcs005@nith.ac.in>
Date: Fri, 2 Jan 2026 03:52:45 +0530
Subject: [PATCH 4/9] Fix lint issues for Slack CTA PR
---
components/buttons/SlackButton.tsx | 2 +-
pages/[lang]/index.tsx | 15 +++++++--------
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/components/buttons/SlackButton.tsx b/components/buttons/SlackButton.tsx
index d26715bd4bd3..edc0fad757d9 100644
--- a/components/buttons/SlackButton.tsx
+++ b/components/buttons/SlackButton.tsx
@@ -1,6 +1,7 @@
import React from 'react';
import { ButtonIconPosition } from '@/types/components/buttons/ButtonPropsType';
+
import type { IButtonDefaultProps } from '../../types/components/buttons/types';
import IconSlack from '../icons/Slack';
import Button from './Button';
@@ -30,4 +31,3 @@ export default function SlackButton({
/>
);
}
-
diff --git a/pages/[lang]/index.tsx b/pages/[lang]/index.tsx
index a3b222697d8f..dddf8af14a7a 100644
--- a/pages/[lang]/index.tsx
+++ b/pages/[lang]/index.tsx
@@ -101,15 +101,14 @@ export default function HomePage() {
{t('community.slackCTADesc')}
-
+
-
From 13ab1d0331c6f5bd40a0b7225fd5de7e1c88c3af Mon Sep 17 00:00:00 2001
From: ika12345 <24bcs005@nith.ac.in>
Date: Fri, 2 Jan 2026 04:26:33 +0530
Subject: [PATCH 5/9] chore: fix lint issues for Slack invite update
---
components/buttons/SlackButton.tsx | 20 +++++++++-----------
pages/[lang]/index.tsx | 1 +
2 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/components/buttons/SlackButton.tsx b/components/buttons/SlackButton.tsx
index edc0fad757d9..30bb0c1138f4 100644
--- a/components/buttons/SlackButton.tsx
+++ b/components/buttons/SlackButton.tsx
@@ -9,22 +9,20 @@ import Button from './Button';
interface ISlackButtonProps extends IButtonDefaultProps {}
/**
- * @description The SlackButton component is a button that links to the AsyncAPI Slack channel.
+ * SlackButton component always opens AsyncAPI Slack invite in a new tab.
*/
-export default function SlackButton({
- text = 'Join on Slack',
- href = 'https://www.asyncapi.com/slack-invite',
- target = '_blank',
- iconPosition = ButtonIconPosition.LEFT,
- className = ''
-}: ISlackButtonProps) {
+export default function SlackButton({ text = 'Join on Slack', className = '' }: ISlackButtonProps) {
+ const href = 'https://www.asyncapi.com/slack-invite';
+
return (
}
- href={href}
- iconPosition={iconPosition}
- target={target}
+ iconPosition={ButtonIconPosition.LEFT}
+ target='_blank'
+ rel='noopener noreferrer'
className={className}
data-testid='Slack-button'
bgClassName='bg-slack hover:bg-slack-light'
diff --git a/pages/[lang]/index.tsx b/pages/[lang]/index.tsx
index dddf8af14a7a..751cc7c7f3e5 100644
--- a/pages/[lang]/index.tsx
+++ b/pages/[lang]/index.tsx
@@ -102,6 +102,7 @@ export default function HomePage() {
Date: Sun, 4 Jan 2026 18:23:23 +0530
Subject: [PATCH 7/9] restore SlackButton JSDoc
---
components/buttons/SlackButton.tsx | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/components/buttons/SlackButton.tsx b/components/buttons/SlackButton.tsx
index a912d3f9a279..5e09d7ad373b 100644
--- a/components/buttons/SlackButton.tsx
+++ b/components/buttons/SlackButton.tsx
@@ -10,7 +10,13 @@ interface ISlackButtonProps extends IButtonDefaultProps {}
/**
* @description The SlackButton component is a button that links to the AsyncAPI Slack channel.
+ * @param {string} props.text - The text to display on the button.
+ * @param {string} props.href - The external Slack invite URL.
+ * @param {string} props.target - The target attribute for the anchor tag.
+ * @param {ButtonIconPosition} props.iconPosition - The position of the icon in the button.
+ * @param {string} props.className - The class name to be applied to the button.
*/
+
export default function SlackButton({
text = 'Join on Slack',
className = '',
From f70db8781fbe331368f59bc15ceb1f98e9bbb117 Mon Sep 17 00:00:00 2001
From: ika12345 <24bcs005@nith.ac.in>
Date: Sun, 4 Jan 2026 18:37:59 +0530
Subject: [PATCH 8/9] fix: restore Slack redirect to external Slack invite
---
public/_redirects | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/public/_redirects b/public/_redirects
index 1969e215b361..663c93f23388 100644
--- a/public/_redirects
+++ b/public/_redirects
@@ -53,7 +53,8 @@ https://www.asyncapi.io/* https://www.asyncapi.com/:splat 301!
/asyncapi-react https://asyncapi.github.io/asyncapi-react 301!
# Slack
-/slack-invite https://www.asyncapi.com/slack-invite 302!
+/slack-invite https://join.slack.com/t/asyncapi/shared_invite/zt-3m4pmrguv-SUN9Js4BkQHocIH54F59sA 302!
+
# Central Maven repository verification
From ec327f387da82dd08a028d8f0634a609294b1943 Mon Sep 17 00:00:00 2001
From: ika12345 <24bcs005@nith.ac.in>
Date: Sun, 4 Jan 2026 19:33:24 +0530
Subject: [PATCH 9/9] Restore slackbutton and Slack CTA to original behavior
---
components/buttons/SlackButton.tsx | 13 ++++++-------
pages/[lang]/index.tsx | 8 +-------
2 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/components/buttons/SlackButton.tsx b/components/buttons/SlackButton.tsx
index 5e09d7ad373b..b69b7b292160 100644
--- a/components/buttons/SlackButton.tsx
+++ b/components/buttons/SlackButton.tsx
@@ -11,29 +11,28 @@ interface ISlackButtonProps extends IButtonDefaultProps {}
/**
* @description The SlackButton component is a button that links to the AsyncAPI Slack channel.
* @param {string} props.text - The text to display on the button.
- * @param {string} props.href - The external Slack invite URL.
+ * @param {string} props.href - The href attribute for the anchor tag.
* @param {string} props.target - The target attribute for the anchor tag.
* @param {ButtonIconPosition} props.iconPosition - The position of the icon in the button.
* @param {string} props.className - The class name to be applied to the button.
*/
-
export default function SlackButton({
text = 'Join on Slack',
- className = '',
- href = 'https://www.asyncapi.com/slack-invite',
+ href = '/slack-invite',
target = '_blank',
- iconPosition = ButtonIconPosition.LEFT
+ iconPosition = ButtonIconPosition.LEFT,
+ className = ''
}: ISlackButtonProps) {
return (
}
+ href={href}
iconPosition={iconPosition}
target={target}
className={className}
data-testid='Slack-button'
- bgClassName='bg-slack hover:bg-slack-light'
+ bgClassName='bg-slack hover:bg-slack-light'
/>
);
}
diff --git a/pages/[lang]/index.tsx b/pages/[lang]/index.tsx
index dddf8af14a7a..847a8effbc8d 100644
--- a/pages/[lang]/index.tsx
+++ b/pages/[lang]/index.tsx
@@ -101,13 +101,7 @@ export default function HomePage() {
{t('community.slackCTADesc')}
-
+