증상
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/health 의 slackScopes.missingCapabilities 에도 같은 4개가 잡힌다.
헷갈렸던 지점
처음에는 같은 워크스페이스에 이미 붙어 있던 기존 cli-jaw 앱의 매니페스트를 복사해서 새 앱을 만들었다. 그쪽에도 이 4개가 없었다. 즉 기존에 잘 돌던 앱도 이 스코프가 빠진 채로 동작 중이었고, 새 앱을 만들 때 그걸 그대로 물려받았다.
그래서 아래 두 가지를 구분하기 어려웠다.
- 이 4개가 정말 필요한 것인지 (없어도 기존 앱은 돌고 있었음)
- 경고가 뜨는데 왜 소켓은 정상 연결되는지 (
hello received, connected 는 나옴)
메시지에 features degrade without 이라고만 적혀 있어서, 무슨 기능이 어떻게 degrade 되는지 판단할 근거가 없었다. 결국 안전하게 4개를 추가해서 재설치했다(missingCapabilities: []). Bot Token 값은 재설치 후에도 바뀌지 않았다.
제안
- 스코프별로 무엇이 안 되는지 한 줄씩 붙여주면 좋겠다 (예:
channels:join 없으면 auto-join 불가)
required 와 optional 을 로그에서 명확히 갈라주면 좋겠다. 지금은 missingRequired: [] 인데도 경고 문구는 동일한 톤이라 심각도 판단이 안 된다
- 가능하면
jaw slack manifest 출력에 이 4개를 포함시켜서, 매니페스트대로 만들면 경고가 안 뜨게 해주면 좋겠다
환경
- cli-jaw 2.17.22
- node v24.19.0
- Slack Socket Mode
증상
jaw slack manifest가 출력하는 매니페스트로 Slack 앱을 만들어 설치했는데, 서버 기동 후 스코프가 부족하다는 경고가 떴다./api/health의slackScopes.missingCapabilities에도 같은 4개가 잡힌다.헷갈렸던 지점
처음에는 같은 워크스페이스에 이미 붙어 있던 기존 cli-jaw 앱의 매니페스트를 복사해서 새 앱을 만들었다. 그쪽에도 이 4개가 없었다. 즉 기존에 잘 돌던 앱도 이 스코프가 빠진 채로 동작 중이었고, 새 앱을 만들 때 그걸 그대로 물려받았다.
그래서 아래 두 가지를 구분하기 어려웠다.
hello received, connected는 나옴)메시지에
features degrade without이라고만 적혀 있어서, 무슨 기능이 어떻게 degrade 되는지 판단할 근거가 없었다. 결국 안전하게 4개를 추가해서 재설치했다(missingCapabilities: []). Bot Token 값은 재설치 후에도 바뀌지 않았다.제안
channels:join없으면 auto-join 불가)required와optional을 로그에서 명확히 갈라주면 좋겠다. 지금은missingRequired: []인데도 경고 문구는 동일한 톤이라 심각도 판단이 안 된다jaw slack manifest출력에 이 4개를 포함시켜서, 매니페스트대로 만들면 경고가 안 뜨게 해주면 좋겠다환경