hackatalk icon indicating copy to clipboard operation
hackatalk copied to clipboard

Editing message should be saved when left the room.

Open meohyun2 opened this issue 2 years ago • 8 comments

Specify project Is this Client issue or Server side issue? Client

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

| editing message is not saved when leave the chatroom. if this feature added, user can remind past editing message.

https://user-images.githubusercontent.com/45916875/129470952-246cd1ce-c272-4c23-b29a-99639b002d98.MP4

Describe the solution you'd like A clear and concise description of what you want to happen.

when user re-entered the channel, user should see past editing message. (like slack draft message)

Describe alternatives you've considered

N/A

Additional context Add any other context or screenshots about the feature request here.

N/A

meohyun2 avatar Aug 15 '21 07:08 meohyun2

I agree. because other chat apps are save editing messages.

qkreltms avatar Aug 15 '21 09:08 qkreltms

Looks like a good idea. I think this should be stored on client side as key-value pairs (chatId, draftString). One thing we can decide is if we want to persist it or not. For example, draft messages can be persisted inside local storage/app storage, or they can be ephemeral inside React context.

0916dhkim avatar Aug 15 '21 14:08 0916dhkim

Great idea! I think this can be provided with sqlite. https://docs.expo.dev/versions/latest/sdk/sqlite/

hyochan avatar Aug 15 '21 18:08 hyochan

is it okay to use expo-sdk-sqlite to web page? if we maintain this feature like slack draft organizing all editing message, we should use sqlite. but if we make this feature as tiny feature, we can consider react-async-storage library.

and i found expo-sqlite is not compatible with web in expo document! image

meohyun2 avatar Aug 16 '21 17:08 meohyun2

@meohyun2 In that case, we probably need to use indexed DB for web & expo-sdk-sqlite for mobile. An abstraction layer (how about DraftStore class?) should be added for clean interface.

0916dhkim avatar Aug 17 '21 04:08 0916dhkim

Oh SQLite does not work on web 😞

You can still use AsyncStorage but thinking on the issue again, I don't think we need storage for this. How about just supporting this as a context provider? @0916dhkim @meohyun2

They can only live when users are using the app and throw away when the user is not using HackaTalk anymore.

hyochan avatar Aug 24 '21 03:08 hyochan

I think we can use Recoil in this case although it won't be stored permanently.

hyochan avatar Dec 25 '21 17:12 hyochan

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as "For Discussion" or "Good first issue" and I will leave it open. Thank you for your contributions.

stale[bot] avatar Apr 16 '22 16:04 stale[bot]