Git Product home page Git Product logo

chatty's People

Contributors

dependabot[bot] avatar sixp-naraka avatar

Stargazers

 avatar

Watchers

 avatar

chatty's Issues

automatically add new chats for participants as soon as a new message has been received

With this, refactor the current way the websockets are done. The new way should include:

  • listening on new chatrooms and joining them automatically (e.g. subscribe to event "create:chatroom" for example, which returns the chatroom and the participants userId (a simple check if we are the user can then be made))
  • joining each chatroom that is currently available to the user
  • highlighting chats in which the user received new messages (but not the current opened one)
  • remove open chats from which the user navigated away (e.g. they search for a user and clicked on their name to start a chat) for which there are no chat messages yet (only 1on1 chats)
  • onInit, do not fetch chats for which there are no messages (only 1on1 chats)

And maybe more - will add as they come up.

allow the creation of group chats

Per button click the user gets a prompt to:

  • name the group chat (required)
  • add people to the group chat (minimum 1 other person)
  • add backend endpoint "/api/user/chatrooms/group/create" or use existing endpoint "/api/user/chatrooms/create" and modify query to create as many participants as required
  • on submit, save the new group chat and notify the other users about it, so they will see the group chat

During the process, the user can:

  • remove users which have been previously selected

Group chats will show like normal chats in the chat-tab.

[reactions] refinements

  • if more than one of the same emote has been used to react to a message, sum them up
  • show which user did what reaction (e.g. on hover show title tooltip)

refinement: group chats

Some more refinements to make group chats better:

  • display which users are part of the group chat
  • check and fix sorting of chats in the chat-tab
  • allow to add & remove people after a group chats creation
    • only the creator of the group chat
    • requires backend changes/additions
    • requires also UI and styling
  • [ ] allow to edit the name of a group chat (?)
  • display the group chat creator with an icon (in the group-user dropdown), to highlight them (?)

[voice-chat] refinements

Bug fixes:

  • not able to call someone again after hanging up

Improvements:

And potentially more.

create user search component

With this users can add new chats (people) and in an upcoming issue also create group chats.

  • create UI component
  • add search functionality (backend endpoint for user fetching already exists)
  • add pagination (?) to resultset

[chat] make message input and send button usable

Firstly:

  • submitted message is saved in the db with the necessary data
  • chat partner can see (at first after a page reload) the latest messages

After:

  • implement message push/queue of sorts to receive and send messages in real time (maybe via websockets?)
  • make chat window scroll-able upon message contents overflowing

create settings menu

The button already exists.
The menu should contain the following options/settings:

  • user can change font size of the chat window text
  • user can decide whether they want empty chats (all) to be shown, or only their own created empty chats (e.g. filter vs nofilter)

[settings] user settings are only fetched once and not after every login

The settings for the previous logged in user (same tab, no reload in between) are used instead of the actual user settings.

This is because the settings is a service and therefore only instantiated once + since ReplaySubject is used the previous stored ones are reused.

After the user logged in the settings should be fetched always.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.