✔ 무료 채팅
Completed by 이재철
- Assigned to
-
이재철
- Steps
-
- ✔ test 에서 사용할 now() 는 test process 마다 set할수 있도록 (test "last_msg, last_msg_at" 빠르게)
- ✔ last_read_at -> last_read_msg
- ✔ last_msg_at -> calculation (ash_sql distinct에 calucation 이 hex.pm release 되면 처리)
- ✔ 받은 메시지: 전체 안 읽음 카운트
- ✔ msg 생성되고 chat_msgs 모두 생성되면, chats 를 다 읽어서 notification보내기
- ✔ join, left 메시지
- ✔ 받은 메시지: 채팅별 안 읽음 카운트
- ✔ 메시지별 unread_count 계산
- ✔ Msg.create 하면, 상대방의 이전 메시지는 다 읽은것으로 처리
- ✔ GroupChatCase, DirectChatCase 통합
- ✔ ChatMsg.create : 안 읽음 카운트 notify
- ✔ Chat.mark_chat_as_read : 안 읽음 카운트 notify
- ✔ Chat.unread_msg_count 정리
- ✔ Chat.msgs 삭제
- ✔ Chat.last_msg 삭제
- ✔ Chat.update_last_read 대신 Chat.mark_all_as_read
- ✔ msg_created 로 롤백
- ✔ 팬이 채팅방 만든 후, 첫 메시지 보낼때 셀럽 채팅방도 만들도록
- ✔ channel 1개로 합치기
- ✔ chat_msg_created
- ✔ 알파챗, 1;1챗 각각 unread 갯수 표시
- ✔ voice, image 채팅
- ✔ direct chat의 celeb은 첫 메시지로 voice만 가능하도록
- ✔ 자신이 보낸 마지막 메시지까지만 읽은걸로 update 하는 액션
- ✔ Msg.create_first_msg (chat과 msg를 동시에 만들도록)
- ✔ GroupChatCase -> ChatCase (왜 에러 안났는지 확인)
- ✔ "내 차례"
- ✔ graphql, channel 모두 camelCase 사용하도록
- ✔ 새 채팅 시작시 채팅방 바로 전환하도록
- ✔ 나가기 기능 (알파챗은 팬만 나갈수 있음. 1:1 챗은 팬만 먼저 나갈수 있고, 팬이 나갔으면 셀럽은 팬이 나갔다는걸 인지 가능하고, 메시지는 보낼수 없으나 나갈수 있음)
- ✔ browser mcp, tidewave mcp
- ✔ oban livebook
- ✔ can_send_msg, can_leave 체크하도록
- ✔ chat 시작하는거 msg -> chat 으로 이동
- ✔ test 에서도 빈 채팅방 허용안할지 고민
- ✔ 채팅 목록 정렬 (마지막 메시지 역순)
- ✔ ash_sql desc_nils_last 가 동작안함
- ✔ 내 차례 업데이트
- ✔ 메시지 nonce
- ✔ 랜덤 웰컴 메시지
- ✔ 나가기 기능이 웹 UI 에서 빠졌고, 가이드 md 에서 빠졌음
- ✔ apollo demo 업데이트
- ✔ {name} 템플릿 허용하고, {name} 이 아니 {nme} 등이 입력되면 오류 내도록
- ✔ chat_created 메시지 삭제
- ✔ fan troll case : 모든 셀럽에게 1번씩 말거는 팬. 보이스 요청시 DM 10개 선납하도록
- ✔ celeb troll case : 유명해서 알파챗 멤버는 모이는데 활동이 없어서 팬들이 다 1개월만 하고 나가는 경우
- ✔ chat_id, seq desc index
- ✔ https://www.youtube.com/watch?v=PSrzruaby1M AshAI
- ✔ 팬 메시지는 욕설 체크
- ✔ 이미지는 cf image로
- ✔ ash_oban으로 채팅 복사
- ✔ test dev 에서도 팬이 말 걸때 메시지 생성하도록 (chat.ex : 311 삭제)
- ✔ assert 왼쪽에도 . 쓸수 있도록
- ✔ oban test config에서 왜 testing: :manual 인지
- ✔ 각 셀럽별로 첫메시지가 보이스여야 하는지 설정할 수 있도록
- ✔ DM 보이스 : 첫 메시지 강제. (DB 엔 보이스 가격, 보이스 강제여부 플래그 미리 넣자)
- ✔ 알파챗 : 팬댓글에 답글
- ✔ createGroupFanChat 2번째 실행시 join 호출하도록 경고
- ✔ join, leave
- ✔ 공감온도는 1:1챗만 표기하도록
- ✔ @fan 같은 태그는 celeb 만 쓸수 있게
Comments & Events
이재철 moved
this card to In progress.
이재철 moved
this card to Done.
이재철 completed this card.