Skip to content

[Docs/Bug] 매니페스트대로 앱을 만들어도 channels:join, chat:write.public, team:read, mpim:read 누락 경고가 뜬다 #478

Description

@lidge-jun

증상

jaw slack manifest 가 출력하는 매니페스트로 Slack 앱을 만들어 설치했는데, 서버 기동 후 스코프가 부족하다는 경고가 떴다.

[slack:scopes] Slack app grant is missing 4 scope(s) — features degrade without:
  channels:join, chat:write.public, team:read, mpim:read
  — add them under OAuth & Permissions, then reinstall the app to your workspace

/api/healthslackScopes.missingCapabilities 에도 같은 4개가 잡힌다.

헷갈렸던 지점

처음에는 같은 워크스페이스에 이미 붙어 있던 기존 cli-jaw 앱의 매니페스트를 복사해서 새 앱을 만들었다. 그쪽에도 이 4개가 없었다. 즉 기존에 잘 돌던 앱도 이 스코프가 빠진 채로 동작 중이었고, 새 앱을 만들 때 그걸 그대로 물려받았다.

그래서 아래 두 가지를 구분하기 어려웠다.

  • 이 4개가 정말 필요한 것인지 (없어도 기존 앱은 돌고 있었음)
  • 경고가 뜨는데 왜 소켓은 정상 연결되는지 (hello received, connected 는 나옴)

메시지에 features degrade without 이라고만 적혀 있어서, 무슨 기능이 어떻게 degrade 되는지 판단할 근거가 없었다. 결국 안전하게 4개를 추가해서 재설치했다(missingCapabilities: []). Bot Token 값은 재설치 후에도 바뀌지 않았다.

제안

  • 스코프별로 무엇이 안 되는지 한 줄씩 붙여주면 좋겠다 (예: channels:join 없으면 auto-join 불가)
  • requiredoptional 을 로그에서 명확히 갈라주면 좋겠다. 지금은 missingRequired: [] 인데도 경고 문구는 동일한 톤이라 심각도 판단이 안 된다
  • 가능하면 jaw slack manifest 출력에 이 4개를 포함시켜서, 매니페스트대로 만들면 경고가 안 뜨게 해주면 좋겠다

환경

  • cli-jaw 2.17.22
  • node v24.19.0
  • Slack Socket Mode

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions