Skip to content

feat(slack): org admin setting + emoji picker for ack emoji - #571

Open
16francej wants to merge 6 commits into
mainfrom
feat/org-ack-emoji
Open

feat(slack): org admin setting + emoji picker for ack emoji#571
16francej wants to merge 6 commits into
mainfrom
feat/org-ack-emoji

Conversation

@16francej

@16francej 16francej commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Replaces the SLACK_ACK_EMOJI environment variable with an org-level admin setting, configurable from the admin panel with an emoji picker fed by the workspace's own emoji list.

How it works

  • Org config-store setting ack-emoji — persisted per org scope (PersistedAckEmoji artifact), read/written through the standard admin scope-config resources (GET/PUT, clearable). Values are validated with the same parseAckEmoji rules (name syntax, de-dup, cap).
  • GET /v1/admin/slack-emoji — new admin endpoint proxying Slack emoji.list (alias entries filtered out) so the picker can offer the workspace's custom emoji with previews.
  • Admin UI card — chip-style picker with datalist type-ahead in the admin panel; empty selection falls back to the stock rotation.
  • Applied live — the Slack plugin reads the override from core via SlackCoreClient.ackEmojiOverride() with a 60s cache and passes it to the ack picker and turn handler as a callback; changes take effect without a restart (warmed at startup).
  • SLACK_ACK_EMOJI removed — one knob, no env/setting precedence rules.

Known limitation

  • Skin-tone emoji syntax (wave::skin-tone-3) is not accepted by the name validator (advisory from review; unchanged behavior).

Tests

  • test/slack-ack-emoji.test.ts rewritten: parse rules, config-store roundtrip, live override behavior, defaults, presenter.
  • test/slack-index.integration.test.ts updated for the core-client override.

Josh France and others added 5 commits August 18, 2026 03:29
…EMOJI

An org-layer env knob (comma/space-separated Slack short-names, colons
optional, e.g. "mirai_thinking, mirai_ok") that fully replaces the stock
curated/default candidates for both the quick fallback reaction and the
model-picked ack emoji. Unset or empty keeps today's behavior.

Verified live: dev instance with SLACK_ACK_EMOJI=galaxy_brain reacted
:galaxy_brain: to an incoming DM before the reply.

Co-Authored-By: QM <noreply@ycombinator.com>
Auto-fixed by watch-pipeline
…erride is set; disallow apostrophe in ack emoji names
@16francej 16francej changed the title Slack: org-configurable ack emoji set (SLACK_ACK_EMOJI) feat(slack): org admin setting + emoji picker for ack emoji Aug 18, 2026
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