* add some better handling for notifications
prep merge
move `useNotificationsListener` into shell
progress
better structure
only show messages notifications while using app if it is the current account
progress
only emit on native
current chat emitter
only show alerts for the current chat
type
add logs
setup handlers
* remove event emitter
* just needs cleanup
* oops
* remove unnecessary `queryClient` param
* few fixes
* cleanup
* nit
* remove folds
* remove comment
* simplify if
* add back invalidate
* comment out other navigations for now
* rename type
* handle various navigation cases
* push to conversation from notification
* update badge in all cases except `chat-message`
* ensure no duplicate notifications
* rm unused `animationOnReplace`
* revert to using `goBack` in the conversation header
* add todo comment
* remove some unnecessary props
* add hover trigger on web for convo list
* lint
* use `UserAvatar` to not affect accessibility
* remove extra wrapper
* add `label`
* always show on mobile
* adjust size of dots
* make the message trigger dots the same size
* ❓
* Handle init/resume/suspend/background and polling
* Add debug and temp guard
* Make state transitions sync
* Make init sync also
* Checkpoint: confusing but working state machine
* Reducer-esque
* Remove poll events
* Guard fetchConvo
(cherry picked from commit 8385579d31500bb4bfb60afeecdc1eb3ddd7e747)
* Clean up polling, make sync
(cherry picked from commit 7f75cd04c3bf81c94662785748698640a84bef51)
* Update history handling
(cherry picked from commit b82b552ba4040adf7ead2377541132a386964ff8)
* Check for screen focus in app state listener
* Get rid of ad-hoc status checks
* allow tapping message when keyboard open
* dismiss keyboard on open msg menu
* show message info on press
* Revert "show message info on press"
This reverts commit 61d039a7024c27583aed7d1e9f1ff5b919dc7d30.
* empty state for new chat dialog
* use terniary
* dark mode pending state
* copy message text option
* fix service url input (scrollview ftw)
* whoops, fix equality
* slightly reduce horizontal message padding
* rework the list for accessibility
* Reverse reverse
* progress
* good to start testing
* memo `MessageItem`
* small hack
* use our custom `List` impl
* use `ScrollProvider` for `onScroll` event
* remove use of `runOnJS`
* actually, let's keep it
* add some comments
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* haptic on long press
* add animation to press and hold
* eslint disable for now
* adjust styles
* dont trigger if animation is cancelled
* organize
* add a delete menu
* reset scale automatically
* message actions dialog
cleanup
center the trigger
handle focus/unfocus better
make triggers accessible
weg dropdown menu
add a wep specific wrapper
decrease press delay
add report button
improve shrink logic
use `self_end` instead of `margin: auto`
rm extra `?`
move `MessageItem` to `components`
add delete button
* rm some padding
* update after merge
* fix merge
* web only types
* fix crash
* add an explanation
* fix web types
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* input max height/scrollability
* remove unused imports
* add a web-specific version
* enter and shift enter for web
* missing onSubmit for native
* missing attributes
* improve layout of input on web
* use the correct text color in the input
* trim messages
* remove `onSubmit`
* move prop up
* trim message on web
* remove extra function call
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* proper min index
* move keyextractor out of react
* move onSendMessage out
* don't render the flatlist conditionally
* add loader
* rework structure
* remove some unneeded logic
* add temp `getchat` query
* properly get the other profile
* add basic header
* normalize layout on all devices
* remove unused imports, adjust style
* remove unnecessary log
* remove another log
* remove some more imports
* cleanup
* use `Button` instead in the header
* lint