Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chat 229 typing event #75

Merged
merged 5 commits into from
May 6, 2024
Merged

Chat 229 typing event #75

merged 5 commits into from
May 6, 2024

Conversation

Troha7
Copy link
Member

@Troha7 Troha7 commented May 5, 2024

No description provided.

@Troha7 Troha7 requested a review from LionnoiL May 5, 2024 13:57
Copy link
Contributor

@LionnoiL LionnoiL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

також в тестах є такий клас TopicMapperImpl але його немає в репозиторії. мабудь у тебе він в гіт не доданий.
image

Comment on lines 19 to 31
@Override
public void getTypingEvent(Boolean isTyping, String email) {
log.info("Start getTypingEvent isTyping={}, email={}", isTyping, email);
contactEventService.updateTypingEvent(email, isTyping);

Integer topicId = contactEventService.getAllByEmail(email).stream()
.filter(e -> e.getEventType().equals(EventType.SUBSCRIBED))
.findFirst()
.orElseThrow()
.getTopicId();

chatNotificationService.updateNotificationForAllWhoSubscribedToTopic(topicId);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

трохи збиває з пантелику назва методу getTypingEvent. метод нічого не повертає хоча в назві get. навпаки він оновлює isTyping і робить оповіщення клієнтів.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Згоден) Давай виправлю на updateTypingEvent або запропонуй іншу назву.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updateTypingEvent буде норм

Comment on lines +238 to +250
document.addEventListener('keydown', function() {
if (!isTyping) {
isTyping = true;
sendTyping(isTyping);
}

clearTimeout(typingTimer);
typingTimer = setTimeout(function() {
isTyping = false;
sendTyping(isTyping);
}, 2000);
});

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

що буде якщо клієнт буде друкувати та зникне зв'язок? по суті на бекенді залишиться статус що він друкує. або я не знайшов на бекенді де змінюється typingEvent без команди з фронта.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не перевіряв цей кейс. Гарне зауваження. Виправлю)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

може це зробити іншою таскою щоб не затримувати фронт?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ок

@Troha7
Copy link
Member Author

Troha7 commented May 6, 2024

також в тестах є такий клас TopicMapperImpl але його немає в репозиторії. мабудь у тебе він в гіт не доданий. image

В гіті його немає бо класс TopicMapperImpl генерується бібліотекою MapStruct автоматично при компіляції. По цьому шляху в проекті можна подиитись його реалізацію Chat/target/classes/com/chat/yourway/mapper
В тестах я імітую його роботу.

@Troha7 Troha7 merged commit 919edd8 into develop May 6, 2024
2 checks passed
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.

2 participants