fix(integrations): persist connection status on tab re-visit + guard GitHub close issue#51
Merged
Merged
Conversation
…d GitHub close issue - getSlackChannels: build baseState from DB record first; catch inner API errors so Slack 'connected' flag no longer flips to false when channels endpoint is temporarily unreachable - getGitHubRepos: same pattern — baseState from DB record, inner catchError falls back to connected:true with empty repo list instead of re-throwing - Fix double-slash URL in replyToSlack (/api/integrations/integrations/slack/reply → /api/integrations/slack/reply) - signal-board: guard toggleGitHubState and addGitHubComment against missing workspaceId; surface actionable toast instead of silent 400 Fixes Sentinent-AI/Sentinent#35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes two bugs (Sentinent-AI/Sentinent#35) and includes the decision delete modal.
Changes
feat: Custom delete modal for decisions
Replaces the native
confirm()dialog with a polished UI modal that matches the existing workspace delete modal design — backdrop fade, slide-up card, loading state, error handling, and double-click guard.fix: Connection status persists when navigating away from integrations tab
getSlackChannelsandgetGitHubReposwere chaining a live API call after the DB record lookup. If that call failed (rate limit, token expiry, network hiccup), the entire observable threw and the UI flipped back to "disconnected". Fixed by building abaseStatewithconnected: truefrom the DB record first, then using an innercatchError(() => of(baseState))so API failures degrade gracefully to connected with empty list instead of disconnected.fix: Guard against missing workspaceId when closing/commenting on GitHub issues
toggleGitHubStateandaddGitHubCommentinsignal-board.tswere calling the API even whenworkspaceIdwas empty, producing silent 400 errors with no user feedback. Added an explicit guard that returns early and shows a descriptive toast.fix: Corrected double path segment in replyToSlack
/api/integrations/integrations/slack/reply→/api/integrations/slack/replyFiles changed
src/app/components/decision-list/decision-list.component.tssrc/app/components/decision-list/decision-list.component.htmlsrc/app/components/decision-list/decision-list.component.csssrc/app/components/decision-list/decision-list.component.spec.tssrc/app/services/integration.service.tssrc/app/components/signal-board/signal-board.ts