[WEB-6420] chore: migrate community references from Discord to Forum#8657
[WEB-6420] chore: migrate community references from Discord to Forum#8657anmolsinghbhatia wants to merge 6 commits intopreviewfrom
Conversation
📝 WalkthroughWalkthroughThis PR migrates all Discord community references to a Forum platform across configuration files, components, email templates, and translation files throughout the codebase. The Discord icon is removed and replaced with a generic message square icon. All UI links, email content, help sections, and translation keys are updated to reference the new forum domain. Changes
Poem
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (1)
apps/web/app/(all)/workspace-invitations/page.tsx (1)
115-119: LGTM — optional: consider aligning icon with the rest of the Forum migration.The URL update at line 118 is correct. All other community CTAs migrated in this PR adopt
MessageSquare(fromlucide-react) as the canonical Forum icon. TheShare2icon here was pre-existing and is not a regression, but swapping it forMessageSquarewould make this surface consistent with the other updated locations.🎨 Proposed icon swap for consistency
-import { Boxes, Share2, Star, User2 } from "lucide-react"; +import { Boxes, MessageSquare, Star, User2 } from "lucide-react";- <EmptySpaceItem - Icon={Share2} - title="Join our community of active creators" - href="https://forum.plane.so" - /> + <EmptySpaceItem + Icon={MessageSquare} + title="Join our community of active creators" + href="https://forum.plane.so" + />🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/app/`(all)/workspace-invitations/page.tsx around lines 115 - 119, Swap the icon used for the EmptySpaceItem component to match other forum CTAs by replacing the current Icon prop value Share2 with MessageSquare (from lucide-react); update the import if necessary so MessageSquare is imported and then pass Icon={MessageSquare} to EmptySpaceItem to keep the visual language consistent with other forum links.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/web/core/components/workspace/sidebar/help-section/root.tsx`:
- Around line 96-98: The "Forum" label inside CustomMenu.MenuItem is hardcoded;
replace it with the i18n translation call (e.g., t('help.forum') or the
project's existing key) so it uses the same translation system as other items,
ensure the component imports/uses the same t function (from useTranslation or
the existing translation context used in this file), and add the new key/value
("help.forum": "Forum") to the relevant translation JSONs so translations appear
in all locales.
In `@packages/i18n/src/locales/ko/translations.ts`:
- Line 405: The "forum" translation key currently has the English value "Forum";
update the translation in packages/i18n/src/locales/ko/translations.ts by
replacing the value for the forum key with the Korean term "포럼" (unless this is
intentionally a brand name), ensuring the entry remains a valid string in the
translations export so the Korean UI shows the localized label.
In `@packages/i18n/src/locales/ua/translations.ts`:
- Line 418: Replace the English "Forum" value for the locale key forum with the
Ukrainian equivalent ("Форум" or "Форуму" as appropriate for context) and update
the corresponding help/action string(s) that still use English (search for other
occurrences such as the similar forum label around the file, e.g., the
occurrence near line 2862) so both the top-level label (forum) and its
help/action text are localized consistently to Ukrainian.
In `@README.md`:
- Line 148: Replace the blunt CTA text "Talk or write about Plane or any other
ecosystem integration and [let us know](https://forum.plane.so)!" with a more
polite, inviting phrasing; update the sentence (in README.md) to something like
"We’d love to hear about Plane or any other ecosystem integration — please share
your experience on our forum" or "Please share your Plane or ecosystem
integration on our forum." Ensure the new sentence preserves the existing forum
link and matches the doc's friendly tone.
---
Nitpick comments:
In `@apps/web/app/`(all)/workspace-invitations/page.tsx:
- Around line 115-119: Swap the icon used for the EmptySpaceItem component to
match other forum CTAs by replacing the current Icon prop value Share2 with
MessageSquare (from lucide-react); update the import if necessary so
MessageSquare is imported and then pass Icon={MessageSquare} to EmptySpaceItem
to keep the visual language consistent with other forum links.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (35)
.github/ISSUE_TEMPLATE/config.yamlCONTRIBUTING.mdREADME.mdapps/admin/app/(all)/(dashboard)/sidebar-help-section.tsxapps/api/templates/emails/invitations/project_invitation.htmlapps/api/templates/emails/notifications/webhook-deactivate.htmlapps/api/templates/emails/user/user_activation.htmlapps/api/templates/emails/user/user_deactivation.htmlapps/space/app/error.tsxapps/web/app/(all)/workspace-invitations/page.tsxapps/web/core/components/global/product-updates/footer.tsxapps/web/core/components/power-k/config/help-commands.tsapps/web/core/components/workspace/sidebar/help-section/root.tsxapps/web/core/constants/plans.tsxpackages/i18n/src/locales/cs/translations.tspackages/i18n/src/locales/de/translations.tspackages/i18n/src/locales/en/translations.tspackages/i18n/src/locales/es/translations.tspackages/i18n/src/locales/fr/translations.tspackages/i18n/src/locales/id/translations.tspackages/i18n/src/locales/it/translations.tspackages/i18n/src/locales/ja/translations.tspackages/i18n/src/locales/ko/translations.tspackages/i18n/src/locales/pl/translations.tspackages/i18n/src/locales/pt-BR/translations.tspackages/i18n/src/locales/ro/translations.tspackages/i18n/src/locales/ru/translations.tspackages/i18n/src/locales/sk/translations.tspackages/i18n/src/locales/tr-TR/translations.tspackages/i18n/src/locales/ua/translations.tspackages/i18n/src/locales/vi-VN/translations.tspackages/i18n/src/locales/zh-CN/translations.tspackages/i18n/src/locales/zh-TW/translations.tspackages/propel/src/icons/discord-icon.tsxpackages/propel/src/icons/index.ts
💤 Files with no reviewable changes (2)
- packages/propel/src/icons/index.ts
- packages/propel/src/icons/discord-icon.tsx
| <CustomMenu.MenuItem onClick={() => window.open("https://forum.plane.so", "_blank", "noopener,noreferrer")}> | ||
| <div className="flex items-center gap-x-2 rounded-sm text-11"> | ||
| <span className="text-11">Discord</span> | ||
| <span className="text-11">Forum</span> |
There was a problem hiding this comment.
Localize the Forum label via i18n.
Other menu items use t(...); this hardcoded label won’t translate.
🔧 Suggested fix
- <span className="text-11">Forum</span>
+ <span className="text-11">{t("forum")}</span>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <CustomMenu.MenuItem onClick={() => window.open("https://forum.plane.so", "_blank", "noopener,noreferrer")}> | |
| <div className="flex items-center gap-x-2 rounded-sm text-11"> | |
| <span className="text-11">Discord</span> | |
| <span className="text-11">Forum</span> | |
| <CustomMenu.MenuItem onClick={() => window.open("https://forum.plane.so", "_blank", "noopener,noreferrer")}> | |
| <div className="flex items-center gap-x-2 rounded-sm text-11"> | |
| <span className="text-11">{t("forum")}</span> |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/core/components/workspace/sidebar/help-section/root.tsx` around
lines 96 - 98, The "Forum" label inside CustomMenu.MenuItem is hardcoded;
replace it with the i18n translation call (e.g., t('help.forum') or the
project's existing key) so it uses the same translation system as other items,
ensure the component imports/uses the same t function (from useTranslation or
the existing translation context used in this file), and add the new key/value
("help.forum": "Forum") to the relevant translation JSONs so translations appear
in all locales.
| full_changelog: "전체 변경 로그", | ||
| support: "지원", | ||
| discord: "디스코드", | ||
| forum: "Forum", |
There was a problem hiding this comment.
Consider localizing “Forum” for Korean UI.
If this label isn’t meant to stay in English as a brand term, “포럼” would match the rest of the locale.
💡 Suggested tweak
- forum: "Forum",
+ forum: "포럼",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| forum: "Forum", | |
| forum: "포럼", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/i18n/src/locales/ko/translations.ts` at line 405, The "forum"
translation key currently has the English value "Forum"; update the translation
in packages/i18n/src/locales/ko/translations.ts by replacing the value for the
forum key with the Korean term "포럼" (unless this is intentionally a brand name),
ensuring the entry remains a valid string in the translations export so the
Korean UI shows the localized label.
| full_changelog: "Повний журнал змін", | ||
| support: "Підтримка", | ||
| discord: "Discord", | ||
| forum: "Forum", |
There was a problem hiding this comment.
Localize “Forum” in Ukrainian strings.
Both the top-level label and help action still show English; “Форум/Форуму” would read more naturally.
💡 Suggested tweak
- forum: "Forum",
+ forum: "Форум",
...
- join_forum: "Приєднатися до Forum",
+ join_forum: "Приєднатися до Форуму",Also applies to: 2862-2862
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/i18n/src/locales/ua/translations.ts` at line 418, Replace the
English "Forum" value for the locale key forum with the Ukrainian equivalent
("Форум" or "Форуму" as appropriate for context) and update the corresponding
help/action string(s) that still use English (search for other occurrences such
as the similar forum label around the file, e.g., the occurrence near line 2862)
so both the top-level label (forum) and its help/action text are localized
consistently to Ukrainian.
| - Report [bugs](https://github.com/makeplane/plane/issues/new?assignees=srinivaspendem%2Cpushya22&labels=%F0%9F%90%9Bbug&projects=&template=--bug-report.yaml&title=%5Bbug%5D%3A+) or submit [feature requests](https://github.com/makeplane/plane/issues/new?assignees=srinivaspendem%2Cpushya22&labels=%E2%9C%A8feature&projects=&template=--feature-request.yaml&title=%5Bfeature%5D%3A+). | ||
| - Review the [documentation](https://docs.plane.so/) and submit [pull requests](https://github.com/makeplane/docs) to improve it—whether it's fixing typos or adding new content. | ||
| - Talk or write about Plane or any other ecosystem integration and [let us know](https://discord.com/invite/A92xrEGCge)! | ||
| - Talk or write about Plane or any other ecosystem integration and [let us know](https://forum.plane.so)! |
There was a problem hiding this comment.
Consider a more polite CTA.
A small tone tweak keeps the sentence aligned with the rest of the doc.
💡 Suggested tweak
-- Talk or write about Plane or any other ecosystem integration and [let us know](https://forum.plane.so)!
+- Talk or write about Plane or any other ecosystem integration and [please let us know](https://forum.plane.so)!📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - Talk or write about Plane or any other ecosystem integration and [let us know](https://forum.plane.so)! | |
| - Talk or write about Plane or any other ecosystem integration and [please let us know](https://forum.plane.so)! |
🧰 Tools
🪛 LanguageTool
[style] ~148-~148: Consider using polite language here.
Context: ...or any other ecosystem integration and let us know! - Show your s...
(INSERT_PLEASE)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` at line 148, Replace the blunt CTA text "Talk or write about Plane
or any other ecosystem integration and [let us know](https://forum.plane.so)!"
with a more polite, inviting phrasing; update the sentence (in README.md) to
something like "We’d love to hear about Plane or any other ecosystem integration
— please share your experience on our forum" or "Please share your Plane or
ecosystem integration on our forum." Ensure the new sentence preserves the
existing forum link and matches the doc's friendly tone.
There was a problem hiding this comment.
Pull request overview
Migrates user-facing community/help references from Discord to the Plane Forum across the web/admin/space UIs, i18n strings, docs, and email templates, and removes the now-obsolete Discord icon from Propel.
Changes:
- Replace Discord links/copy with Forum (
https://forum.plane.so) across product surfaces and documentation. - Swap Discord icon usage to
lucide-react’sMessageSquareand delete the PropelDiscordIcon. - Update i18n keys/labels and Power-K help action from
join_discord→join_forum.
Reviewed changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/propel/src/icons/index.ts | Stops exporting the removed Discord icon. |
| packages/propel/src/icons/discord-icon.tsx | Deletes obsolete Discord SVG icon component. |
| packages/i18n/src/locales/en/translations.ts | Renames “discord” label key to “forum”; updates Power-K help action label. |
| packages/i18n/src/locales/de/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/es/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/fr/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/it/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/ja/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/ko/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/id/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/pl/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/pt-BR/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/ro/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/ru/translations.ts | Renames “discord” label key to “forum”; updates Power-K help action label. |
| packages/i18n/src/locales/sk/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/tr-TR/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/ua/translations.ts | Renames “discord” label key to “forum”; updates Power-K help action label. |
| packages/i18n/src/locales/vi-VN/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/zh-CN/translations.ts | Renames “discord” label key to “forum”. |
| packages/i18n/src/locales/zh-TW/translations.ts | Renames “discord” label key to “forum”. |
| apps/web/core/constants/plans.tsx | Replaces Discord icon with Forum icon in plan comparison UI. |
| apps/web/core/components/workspace/sidebar/help-section/root.tsx | Updates help menu CTA/link from Discord to Forum. |
| apps/web/core/components/power-k/config/help-commands.ts | Renames Power-K help action and updates target URL/icon to Forum. |
| apps/web/core/components/global/product-updates/footer.tsx | Updates product updates footer community link to Forum. |
| apps/web/app/(all)/workspace-invitations/page.tsx | Updates community CTA link to Forum. |
| apps/space/app/error.tsx | Updates error page support link from Discord to Forum. |
| apps/api/templates/emails/user/user_deactivation.html | Updates email support link/title to Forum. |
| apps/api/templates/emails/user/user_activation.html | Updates email support link/title to Forum. |
| apps/api/templates/emails/notifications/webhook-deactivate.html | Updates email “message” link to Forum. |
| apps/api/templates/emails/invitations/project_invitation.html | Updates invitation email references from Discord to Forum. |
| apps/admin/app/(all)/(dashboard)/sidebar-help-section.tsx | Updates admin help link/icon from Discord to Forum. |
| README.md | Replaces Discord community references with Forum. |
| CONTRIBUTING.md | Replaces Discord help reference with Forum. |
| .github/ISSUE_TEMPLATE/config.yaml | Updates issue template support copy to reference Forum. |
| function RiDiscordFill({ className }: { className?: string }) { | ||
| return <DiscordIcon className={cn(className, "size-5 text-secondary")} />; | ||
| function ForumIcon({ className }: { className?: string }) { | ||
| return <MessageSquare className={cn(className, "size-5 text-secondary")} />; |
There was a problem hiding this comment.
ForumIcon always ends up with size-5 because cn(className, "size-5 ...") appends the default size after the caller-provided size (e.g. size-4), overriding it. Swap the order (or conditionally apply the default size) so the caller can control the rendered size.
| return <MessageSquare className={cn(className, "size-5 text-secondary")} />; | |
| return <MessageSquare className={cn("size-5 text-secondary", className)} />; |
| <CustomMenu.MenuItem onClick={() => window.open("https://forum.plane.so", "_blank", "noopener,noreferrer")}> | ||
| <div className="flex items-center gap-x-2 rounded-sm text-11"> | ||
| <span className="text-11">Discord</span> | ||
| <span className="text-11">Forum</span> |
There was a problem hiding this comment.
This menu item label is hardcoded as "Forum" while the rest of the help menu uses t(...). Since you added forum to i18n, consider using t("forum") here for consistency and localization.
| <span className="text-11">Forum</span> | |
| <span className="text-11">{t("forum")}</span> |
| rel="noreferrer" | ||
| > | ||
| Discord | ||
| Forum |
There was a problem hiding this comment.
The footer renders "Forum" as a hardcoded string while the other items use t(...). Since a forum translation key now exists, use t("forum") to keep this footer localizable and consistent.
| Forum | |
| {t("forum")} |
| @@ -1,6 +1,6 @@ | |||
| contact_links: | |||
| - name: Help and support | |||
There was a problem hiding this comment.
GitHub issue template contact_links entries require a url. The "Help and support" link still has no url, so it won't show as a clickable contact link. Add a url (e.g. https://forum.plane.so or GitHub Discussions) or split into two contact links if you want to point to both.
| - name: Help and support | |
| - name: Help and support | |
| url: https://forum.plane.so |
|
Linked to Plane Work Item(s) This comment was auto-generated by Plane |
Summary
This PR completes the migration from Discord to Forum across the product and documentation.
What Changed
Type of Change
Test Cases
Summary by CodeRabbit
Release Notes
Documentation
Updates