* Servers logout and websocket state
* addNewServer uility and rename file
* add LaunchType for add new server
* added time to LaunchProps type
* Remove unnecessary props for launchToHome
* Fix local action updateLastPostAt
* Batch fetchProfilesPerChannels requests in chunks of 50
* WS handleUserAddedToChannelEvent to return early if no channelId is set
* WS handleNewPostEvent to batch update last_post_at
* add common actions to sync other servers
* Entry actions to sync other servers data
* Do not attempt to fetch notification data if payload does not contain a channelId
* Set database as default at the end of the login flow
* Handle logout when other servers remain
* Handle Server options
* Show alert when logging out from the account screen
* Add workaround to have Lottie animate the loading component
* Fix badge position in ServerIcon component
* Server screen to support adding new server
* Fix login screen to display error when credentials do not match
* add localization strings
* fix DatabaseProvider to update on server switch
* Fix home icon and server icon subscriptions and badge display
* Add dependencies to onLogout callback
* feedback
* Only updateLastPostAt if needed
* Specify the screen to be dismissed from the bottom sheet on tablets
* reposition unread badge on server icon
* Skip setNavigatorStyles and set correct theme for login flow screens
* Fetch current user status with fetchMe and when the WS connects
* switchToChannel skip setting current channel if id is the same
* ChannelMention component to use switchToChannelById instead of switchToChannel
* loginEntry only set initialChannel if isTablet
* deferredAppEntryActions mark channel as read and fetch channel stats if initialChannel is set
* feedback review
* feedback review
* Fix & small refactor to the app entry logic and WS reconnection
* Remove not needed log in MainActivity
* Replace async forEach with for await
* extract getClient to its own block
* replace double filter with reduce
* fix select channel on WS reconnect and user no longer belongs to current team
* feedback review on WS users actions
* Add windowFocusChanged for Android only
* on WS reconnection set team & channel if not member of current team
* reduce suggestion
* feedback review
* Initial commit post input
* Fix message posting, add create direct channel and minor fixes
* Fix "is typing" and "react to last post" behaviour
* Some reordering, better handling of upload error, properly clear draft on send message, and fix minor progress bar misbehavior
* Add keyboard listener for shift-enter, add selection between video or photo while attaching, add alert when trying to attach more than you are allowed, add paste functionality, minor fixes and reordering
* Add library patch
* Fix lint
* Address feedback
* Address feedback
* Add missing negation
* Check for group name and fix typo on draft comparisons
* Address feedback
* Address feedback
* Address feedback
* Address feedback
* Fix several bugs
* Remove @app imports
* Address feedback
* fix post list & post draft layout on iOS
* Fix post draft cursor position
* Fix file upload route
* Allow to pick multiple images using the image picker
* accurately get the channel member count
* remove android cursor workaround
* Remove local const INPUT_LINE_HEIGHT
* move getPlaceHolder out of the component
* use substring instead of legacy substr for hardward keyboard
* Move onAppStateChange above the effects
* Fix camera action bottom sheet
* no need to memo SendButton
* properly use memberCount in sender handler
* Refactor how to get memberCount
* Fix queryRecentPostsInThread
* Remove unused isDirectChannelVisible && isGroupChannelVisible util functions
* rename errorBadUser to errorUnkownUser
* extract localized strings
* use ClientErrorProps instead of ClientError
* Minor improvements
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Wip
* update name so it references changing the reaction on a post
* handleAddEmoji -> handleAddCustomEmoji
* add remove reaction logic
* sanitizeReactions
* use skipSync to return early if not deleting any records that are
not in the server db
* return the filtered delete results and have the handler destroy the
records
* fix lint
* use forEach instead of map.
* PR feedback
* PR feedback
* Update app/actions/websocket/reactions.ts
* remove console.log
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Handle post related websocket events
* Address feedback and several fixes
* Fix lint
* Address feedback
* LastPostAt as latest post create_at, and lastViewedAt as date.now()
* Address feedback
* Change database for operator and add type imports
* Manage user websocket events
* Revert ChannelMembership -> MyChannelMembership
* Address feedback
* Update channel display name when the user changes
* Minor name and refactoring changes from feedback
* Address feedback
* Address feedback
* Add line breaks for readability
* Channel Intro
* Move avatar margins to post component per feedback review
* Channel intro redesign
* Fix preferences unit test
* Change group intro sizes
* Add Bot tag to DM Intro if they have it
* fix channel isTablet layout on split screen
* update snapshot
* Push notifications entry point
* Process android notification natively only if RN is not initialized
* Database changes to store local channel viewed_at
* EphemeralStore wait until screen removed
* Move schedule session notification to utility
* Fix channel remote & local actions + added actions for markChannelAsViewed & fetchMyChannel
* Add fetchMyTeam remote action
* Add dismissAllModalsAndPopToScreen to navigation
* Improve post list component & add app state to re-trigger queries
* Improve WS implementation
* Handle push notification events
* Fix postsInChannel since handler
* Handle in-app notifications
* Post list to listen to column changes
* Track selected bottom tab in ephemeral store
* add useIsTablet hook
* in-app notifications on tablets