Free organizations can connect Slack, but no Slack notifications are ever sent
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start with AddProjectSlack in src/Exceptionless.Web/Api/Handlers/ProjectHandler.cs and compare its plan checks with SetProjectIntegrationNotificationSettings; then inspect updateSlackNotificationSettings in src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/integrations/+page.svelte. Trace how the existing webhook flow handles plan-limit responses and confirm the Slack connection is rejected before its token is stored. Done means Free plan users see the upgrade dialog on both connection and settings changes.
由索引模型根据 Issue 内容生成。
描述
A project in a Free plan organization can connect Slack, and the app reports success. Notifications are never queued for organizations without premium features, so the Slack channel never receives anything, and nothing in the UI says why. If the user changes the Slack notification switches afterwards, they get a generic error instead of the upgrade dialog.
Where
- Connecting Slack has no plan check: ProjectHandler.cs#L410-L441
- Updating Slack settings does check the plan and returns
426: ProjectHandler.cs#L305-L310 - Notifications are skipped for non-premium organizations: 070_QueueNotificationAction.cs#L30-L32
- The integrations page handles the upgrade response for connecting but not for settings changes: integrations/+page.svelte#L86-L138
Steps to reproduce
- In an organization on the Free plan, open a project's Integrations page and click Connect Slack.
- Complete the Slack authorization. The app shows "Successfully connected Slack integration" and default Slack settings are saved.
- Send a new error to the project. Nothing arrives in Slack.
- Toggle any Slack notification setting. The app shows "Error updating Slack notification settings. Please try again." because the
426isn't handled.
Expected
Connecting Slack on the Free plan returns the plan-limit error (426) before the OAuth token is stored, and the page shows the upgrade dialog, as it already does for webhooks. Settings changes also show the upgrade dialog instead of a generic error.
Suggested fix
- In
AddProjectSlack, load the organization and return the samePlanLimitvalidation result used inSetProjectIntegrationNotificationSettingswhen!organization.HasPremiumFeatures. Ideally check this before exchanging the code, or revoke the token afterwards. - In
updateSlackNotificationSettings, callshowBillingDialogOnUpgradeProblem. - Optionally show a notice on the Slack section for organizations already connected on the Free plan.
- 主要语言
- C#
- 星标
- 2.5k
- 派生
- 508
- 平均合并
- 2 天 17 小时
- 30 天内合并 PR
- 40
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
exceptionless/Exceptionless 的其他 Issue
-
bug documentation
难度 2/5 1-3 小时 新手友好度 78/100
exceptionless/Exceptionless#2707 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 85/100
exceptionless/Exceptionless#2706 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
exceptionless/Exceptionless#2705 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 88/100
exceptionless/Exceptionless#2704 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 73/100
exceptionless/Exceptionless#2703 ·
维护者通常 1 天内回复
查看 exceptionless/Exceptionless 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 76/100
GameShowLDA/AskMkiM#1075 ·
维护者通常 1 天内回复
-
kind/bug triage/untriaged
难度 2/5 1-3 小时 新手友好度 78/100
unoplatform/uno.resizetizer#414 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复