Skip to content

Wire Slack channel lifecycle - #14

Merged
TroyHernandez merged 5 commits into
mainfrom
slack-lifecycle
Sep 7, 2026
Merged

TroyHernandez merged 5 commits into
mainfrom
slack-lifecycle

Conversation

@TroyHernandez

Copy link
Copy Markdown
Contributor

Follow-up to #13, which added chat_channel_create() / chat_leave() with the Slack flags honestly FALSE. This wires them.

  • chat_channel_create.chat_slack posts conversations.create through the same .api seam the other read/control verbs use. Adapter options (is_private = TRUE) ride through ... into the request body. The return value is the name from Slack's answer, since names are what every other verb in this adapter takes (matching chat_join). Slack's naming rules are enforced by the API and its refusal propagates (name_taken, invalid_name) rather than being pre-normalized away.
  • chat_leave.chat_slack posts conversations.leave; not_in_channel propagates, so a failed leave never masquerades as a quiet success.
  • Both capability flags flip to TRUE. The created channel is not added to the poll set: channels = is fixed at construction, the same bargain chat_join() makes, and the method comment says so.

991 tests pass, including seam-injected request-shape checks (path, method, body placement — body, not dots, since call_slack_api() drops dots on POST) and refusal propagation for both verbs.

chat_channel_create.chat_slack posts conversations.create, with
adapter options (is_private) riding through ... into the body, and
returns the name from Slack's answer, since names are what every
other verb in this adapter takes. chat_leave.chat_slack posts
conversations.leave. Refusals propagate through slack_stop_for_error
in both directions: no phantom channels, no phantom departures. The
created channel is not added to the poll set; channels= is fixed at
construction, the same bargain chat_join() makes.
chat_channel_create.chat_slack and chat_leave.chat_slack carried @export
tags but NAMESPACE was never regenerated, so the installed package fell
through to the default method and the Slack tests failed under R CMD
check.
@TroyHernandez
TroyHernandez merged commit e9d3d54 into main Sep 7, 2026
2 checks passed
@TroyHernandez
TroyHernandez deleted the slack-lifecycle branch September 7, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant