Repository navigation
feat: sign in again to a saved way in, and a Delete button under every Slack message - #14
Merged
Merged
Conversation
…y Slack message - Sign in again: every saved way in except account + password can be signed in to again; the finished takeover saves onto the same row (takeoverRow), keeping its Projects, its run binding and, for the same GitHub account, its TOTP authenticator. - Blocked walk cover: the empty-frame placeholder keeps its box under the cover, so a Journey blocked before its first frame shows its reason instead of collapsing. - Slack Delete row: every message ShipBash posts carries a confirmed Delete at its foot; the click deletes the message (and any shared recording) as the bot, and the store closes alert threads and drops to-do replies hung from it, also on Slack's message_deleted event.
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.
Requested by Caspian
Before: when a saved sign-in expired (the Dosu project's GitHub session, which blocked the 10-15 scheduled run), the console offered no way to renew it: the GitHub row always read ready, and "Add a way in" hid the ways the Project already had. A Journey blocked before its first frame showed a collapsed recording area with no reason. ShipBash's Slack messages could only be removed by a workspace admin.
After: every saved way in except "Account + password" has Sign in again, which opens the sign-in browser on the Project's saved state and saves the new session onto that same row (its Projects, its run binding and, for the same GitHub account, its TOTP authenticator stay). A blocked Journey shows its dark cover with the reason and "Hand off to agent". Every message ShipBash posts in Slack carries a 🗑 Delete at its foot that anyone in the conversation can use after a confirm dialog.
How:
completeSignInTakeoverContracttakes an optionalsignInId; the sharedtakeoverRow()resolves it to the Project's bound row (404 unbound, 409 while it is being checked or on a method mismatch) or creates a new one, and both the local gateway andproduction-sign-in-takeover.tssave through it. The add page doubles as/settings/sign-ins/[signIn]/again, and the team Sign-ins list links to it per row.visibility: hiddenon its text instead ofdisplay: none), so the cover has room.slack-delete-row.tsbuilds thecontext_actionsrow (trashicon_buttonwith a confirm) andwithDeleteRow()keeps it last. Alerts, recordings and the connection message add it at delivery; the@ShipBashadapter wrapschat.postMessage/chat.update/chat.stopStreamon each of its Web API clients. The click deletes the message as the bot (and any shared recording file), tells only the clicker if that fails, andforgetSlackMessageInternalcloses alert threads opened under the message and drops a deleted to-do reply in one transaction. Slack'smessage_deletedevent runs the same cleanup, so an admin's delete is covered too.