빅챗 스프레드 시트 생성 후 GOGO 이모지를 누른 사람들을 일괄 등록하도록 기능 구현 (#89) - #90
Closed
hepheir wants to merge 5 commits into
Closed
Conversation
hepheir
commented
Aug 2, 2024
Comment on lines
+49
to
+52
| self.gs_client.append_row(worksheet_id, member.transform_for_spreadsheet()) | ||
| finally: | ||
| if error_message: | ||
| self.slack_client.send_message(msg=error_message, ts=self.ts) |
Member
Author
There was a problem hiding this comment.
사용자가 시트에 추가 된 뒤, 슬렉으로 사용자 정보를 보내주는 부분은 가져오지 못했네요.
해당 부분에 대한 수정이 추가로 필요할 것 같습니다.
Contributor
|
@sudosubin 님이 최종 리뷰어인걸로 하시죠 (한명밖에 안넣어짐..) 저도 리뷰는 하겠습니다 |
roeniss
reviewed
Aug 3, 2024
roeniss
left a comment
Contributor
There was a problem hiding this comment.
동시성이 깔끔하게 해결되지 못한 부분들이 있는것 같은데 코멘트 체크 부탁드립니다 🙇
Comment on lines
+101
to
+102
| def get_emoji(self, channel: str, ts: str, emoji_name: str) -> Optional[Reaction]: | ||
| """channel에 있는 ts 시간에 발송된 메시지에 사용자들이 남긴 반응 목록을 가져온다. |
Contributor
There was a problem hiding this comment.
이렇게 하면 정확히 "ts 시간에" 남긴 반응만 가져오지 않나요? 밀리세컨드 단위로 찍히는 것 같아서요
Comment on lines
+34
to
+37
| reaction = self.slack_client.get_emoji( | ||
| channel=channel, | ||
| timestamp=self.ts, | ||
| ) |
Contributor
There was a problem hiding this comment.
이 라인을 지나간 직후에 생성되는 이모지는 어떻게 되는걸까요? 여전히 하나의 처리되지 못한 이모지로 남게 될까요?
roeniss
pushed a commit
that referenced
this pull request
Aug 16, 2026
Fixes from the adversarial review of the ported PR #90: - Duplicate-registration race: the one-shot existing-rows snapshot could not close the window where JoinBigchat and the backfill process the same user concurrently, and JoinBigchat had no dedupe at all. Both paths now go through append_row_if_absent, which serializes the check-and-append behind a process-wide lock (the app runs as a single gunicorn worker). As a bonus this also absorbs duplicate Slack event deliveries. - A reactor who left the channel (or was deactivated) made the ephemeral fan-out crash mid-loop, dropping the remaining users' info messages and reporting the whole — already successful — request as failed. Ephemeral sends are now per-user best-effort. - Any other backfill error after the sheet was created also turned into the global "try again" error, and retrying the mention cannot succeed (same-name worksheet). The backfill now warns in the thread instead. - get_emoji only caught SlackApiError; socket-level OSErrors (which this repo already retries in get_replies) crashed the handler. It now uses the same 3-attempt retry and degrades to None. - N cold member lookups in one backfill each re-read the whole members sheet; _fetch_members now has a short (60s) TTL cache. Test gaps demonstrated by mutation testing are filled: multi-user batches, the MemberLackInfo branch, the link-before-reactions ordering, worksheet_id pinning, and a real-SlackClient contract test so the original PR's kwarg-mismatch bug class cannot silently return. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014iELKuaH7CvNy1GZRd7ptg
Contributor
이 PR 소생(revival) 검토 결과이 PR을 현재 main에 살릴 수 있는지 검토했습니다. 결론: 이대로는 머지 불가, 대신 기능을 현재 구조에 맞게 포팅한 브랜치 왜 이대로는 머지가 안 되나
원본 PR에서 발견된 버그 (포팅하며 수정)
2024년 리뷰 코멘트 3건 처리
포팅 후 적대적 리뷰 (에이전트 리뷰어 4 + 검증 18, 16건 확정 / 2건 반박) 및 반영
알고 있는 한계 (의도적으로 미수정)
브랜치는 push 완료 상태이고, 괜찮으면 이 브랜치로 새 PR을 열어 이 PR을 대체하면 됩니다. Generated by Claude Code |
Contributor
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.
fixes #89
빅챗 시트가 생성되기 이전에 등록을 시도한 사람들에 대하여, 시트 생성 직후 일괄 추가하도록 하였습니다.
!!! 실제 슬렉 환경에서는 테스트 해보지 않았습니다.