* First approach
* Lint
* Fixes and adding monitoring console statements (to be removed later)
* Add pagination and apply graphQL also to login
* Get all entry points to use the same GQL call
* Unify gql handling
* Use graphQL on websocket reconnect
* Handle latest changes regarding categories
* Use graphQL to properly fetch channel members on other servers
* Remove logs and fetch unreads from other teams
* Minor fixes
* Final fixes
* Address feedback, minor refactoring, and fixes around the refactor
* Fix custom status duration types
* Add missing fields and some reordering
* Add timeout to fetch posts for unread channels
* MM-37110: handle toggling of CRT feature
When a user toggles CRT on/off the app should truncate affected tables,
and re-fetch data.
Truncated tables:
- POST
- POSTS_IN_CHANNEL
- POSTS_IN_THREAD
- THREAD
- THREADS_IN_TEAM
- THREAD_PARTICIPANT
- MY_CHANNEL
After truncation `entry` is called again. We must make sure though that
we save the CRT change before calling `entry` again, or we end up with
infinite recursion.
PS the UI seems to handle the change rather good
* Fixes appEntry and popToRoot
* Small refactor
* Fixes since param on appEntry
* Further refactoring
* Delete unneeded return type
* Removes shouldPopToRoot from appEntry
* Addresses review comments
* Add column last_fetched_at to MyChannel & Thread tables and the migration
* Fix schema tests
* Handle lastFetchAt, retrieve threads on init and properly observe thread unreads (#6436)
* [Gekidou] Set lastFetchAt when fetching posts for a channel (#6437)
* Set lastFetchAt when fetching posts for a channel
* When resetting _preparedState set always to null
* Revert changes in WS
* Handle and set lastFetchedAt for MyChannel in iOS push notification
* feedback review
* iOS fallback to last post createAt if no lastFetchAt set
* Handle lastFetchAt on Android push notifications
* create storePostsForChannel local action
* Fix iOS fallback to last post create_at
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Open CRT notification
* Changes
* fix own DM
* Removed unwanted functions
* WS post commit createThreadFromNewPost as soon as possible
* Addressing the feedback
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Improve handlers to only create/update needed recors and add loading indicator while posts are being loaded
* Tweak team handlers
* check for delete_at as falsey
* more handler tweaks
* Preference handler
* Small refactor on category body
* Add WS reconnect FETCHING_POSTS event
* Fix handleChannelViewedEvent when channel screen is not visible
* Replace blinking dot with spinner
* update snapshots to reflect the new spinner
* User profile
* Access User Profile from reaction list
* Fix threads participants list & open user profile on tap
* Extra bottom padding
* Profile long press tutorial
* Adjust heights
* Reduce label margin from 12 to 8
* Pinned messages
* Move isCRTEnabled query to be called earlier and only once
* Update Channel stats when post is (un)pinned
* Create svg module type definition
* Add missing localization strings
* feedback review
* Channel Info screen
* Delete the channel & related data when archiving while viewing archived channels is off
* feedback review
* UX feedback
* Add missing isOptionItem prop
* new approach added queries for sorting channels
* crt reply checking added for post remote actions
* Fix category_body test
* crt replay check fixed for fetchPostsForChannel
* sortedchannels re-rendering fix
* Only fetch Direct channels if there are more/less
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Improve loading display name of direct channels
* Improve team switching
* Improve perceived performance when opening the app with an active session
* Fix upgrade path from v1
* Set moment locale while formatting date
* feedback review
* Unify entry functions
* Handle switched to channel on websocket reconnect
* Simplify global threads by moving it to switchByChannelId
* Keep in mind team when changing to global threads view
* Avoid unneeded channel switches on notification entry
* Fix effects on home screen
* Address feedback
* channels update on teamMate display name change
* code clean up
* fixes DM and GM display name
* code clean up
* ts fix
* removed extra await
* implemented some guard conditions
* code clean up
* config & license ws events - wip
* tested config change on local server
* adding license to the ws event
* fix display name
* fix display name
* replace map + filter with a reduce
* rename function name
* adding missing await
* update following review
* moved differsFromLocalNameFormat to /queries/preference
* fix gm/dm
* Revert "fix gm/dm"
This reverts commit 92905c707d.
* added guard clause on DM channel type
* refactor function signature
* Display local results
* Fix queryPreferencesByCategoryAndName to observeWithColumns value
* Find channels (remote)
* ux feedback review
* dev review
* dev review 2
* Fetch deleted channels from other teams
* Add AppsForm and Interactive Dialogs
* Add the missing plumbing for Interactive Dialogs and minor fixes
* Remove widgets subfolder
* Fix paths
* Address feedback
* Address feedback
* i18n extract
* Only set the dialog if we are in the same server
* Global threads
* Added translations
* User avatar stack
* In-Channel experience
* Misc Fixes
* Fixed fetchPostThread & added observer
* using the observable for participants & check fix
* Test case fix
* Fix tablet view thread screen switching
* No back button for tablets
* folders for thread options only if needed
* Using the existing observable
* Users stack refactor fix
* Reusing the user component
* Refactor fix
* Fixes double loaders when empty threads
* Feedback
* Moved some post options to common post options
* Combined follow/unfollow functions
* Feedback fixes
* Addressing Feedback
* Merge fix
* Threads button component moved
* Addressing feedbackk
* Not rendering message when it's empty, removed unwanted Props exports
* Addressing feedbac
* Updated snapshot
* Added emoji to removemarkdown component
* Moved MD rendering into the component
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: koox00 <3829551+koox00@users.noreply.github.com>
* Unreads on top
* Feedback addressed
* WIP: Using a lastUnreadChannelId to maintain an Active State on selected channel
* Pair programming session
* Pair programming #2
* Pair programming #3
* Test fix
* MM-40093: adds remote action to sync threads
Syncing threads fetches all unread threads if there are no threads in
the DB.
If there are threads in the DB it fetches all threads newest than the
newest one we have stored.
Fetching happens in batches of 60 threads at a time.
* Fixes querying for all threads list
* Syncs threads on WS reconnection
* Addresses review comments
* Addresses review comments