* Swap for chat icon
* Replace icons in left nav
* Replace icons in bottom bars
* Ditch feeds, drop size
* Fine tune
* Swap bell icon, improve alignment and size
* some initial tweaks
* tweaks
* more tweaks
* tweak chat header
* properly align placeholders
* tweak web header
* one more...
* remove extra loading states from chat
* limit line count for display name
* Tweaks styles (#3949)
* Adjust sizing
* Consistent font size
* Adjust header
* oops
* fix accessibility in list
* don't use `identifier` for notifications, use `dates` instead
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* use env variables through docker args
* remove quotes
* use an output instead
* try that again
* write the variables to .env
* rm unused
* use short sha
* remove test branch
* 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
* ❓
* Split utils into files
* Move reducer to another file
* Write types explicitly
* Remove unnnecessary check
* Move things around a bit
* Move more stuff into agent factories
* Move more stuff into agent
* Fix gates await
* Clarify comments
* Enforce more via types
* Nit
* initSession -> resumeSession
* Protect against races
* Make agent opaque to reducer
* Check using plain condition
* Remove logs and outdated comments
* Move side effect upwards
* Pull refreshedAccount next to usage
* Simplify account refresh logic
* Extract setupPublicAgentState()
* Collapse setStates into one
* Ignore events from stale agents
* Use agent from state
* Remove clearCurrentAccount
* Move state to a reducer
* Remove global agent
* Fix stale agent reference in create flow
* Proceed to onboarding even if setting date fails
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* 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
* Add global event bus for messages logs
* Add rev to state
* Better handle error
* Clean up polling, add backgrounding
* Add trailConvo method
* Extend polling until we're ready for this
* Implement onViewableItemsChanged on List.web.tsx
* Introduce onItemSeen to List API
* Add FeedFeedback tracker
* Add clickthrough interaction tracking
* Add engagement interaction tracking
* Reduce duplicate sends, introduce a flushAndReset to be triggered on refreshes, and modify the api design a bit
* Wire up SDK types and feedContext
* Avoid needless function allocations
* Fix schema usage
* Add show more / show less buttons
* Fix minor rendering issue on mobile menu
* Wire up sendInteractions()
* Fix logic error
* Fix: it's item not uri
* Update 'seen' to mean 3 seconds on-screen with some significant portion visible
* Fix non-reactive debounce
* Move methods out
* Use a WeakSet for deduping
* Reset timeout
* 3 -> 2 seconds
* Oopsie
* Throttle instead
* Fix divider
* Remove explicit flush calls
* Rm unused
---------
Co-authored-by: dan <dan.abramov@gmail.com>