Commit graph

168 commits

Author SHA1 Message Date
harshil Sharma
082b3c7f1e Handled websocket notification race condition 2023-11-07 11:39:16 +05:30
harshil Sharma
ea34873d5f Handled category updates 2023-11-03 15:46:52 +05:30
harshil Sharma
bf2fd6594d WIP 2023-11-01 18:15:05 +05:30
Daniel Espino García
a3eeb69277
Goodbye, GraphQL (#7597) 2023-10-16 10:13:16 +02:00
Christopher Poile
83f81985cd
MM-53486 - Incoming calls notification banner (#7477)
* upgrade calls-common

* incoming call notifications

* tests

* i18n

* PR comments

* PR comments

* PR comment
2023-08-30 13:58:54 -04:00
Daniel Espino García
4670a01ae7
Handle Mark Multiple Channels as Read (#7467)
* Handle Mark Multiple Channels as Read

* Use allSettled
2023-08-14 10:01:55 +02:00
Daniel Espino García
8a32588507
Fix DMs in sidebar (#7468)
* Fix DMs in sidebar

* Properly handle view, show and open preferences

* Refactor openChannel to keep similar logic together
2023-08-02 11:51:33 +02:00
Daniel Espino García
841db48a86
Improve status sync (#7379) 2023-06-02 15:31:00 +02:00
Daniel Espino García
86658edc30
Refactor errors around the app (#7306)
* Refactor errors around the app

* Fix recursive function

* Fix tests
2023-05-03 13:08:55 +02:00
Kyriakos Z
ab4f65020a
[MM-49540] Message Priority Phase 3 (#7142)
* Init

* i18 and types

* Acknowledge button, api

* Ack button + display ackd users

* Saves priority on draft and addresses some comments

* Addresses review comments round 2

* Moves fetching userprofiles upon opening ACKs

* Adds metadata column in drafts table

+ Addresses some more review comments.

* Small refactor according to review comments

* Addresses some review comments

* Addresses some review comments

* Uses local action when ACKing

* Fixes first time selecting priority and other

* Updates snapshots

* Fixes i18n

* Fixes ts errors

---------

Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-27 11:22:03 +00:00
Daniel Espino García
e1176e578d
Fix out of order websocket events for posts (#7290) 2023-04-21 12:05:03 -04:00
Daniel Espino García
67f1a2f0c9
Fix channel not marked as unread on notification entry (#7289) 2023-04-18 16:25:04 -04:00
Elias Nahum
ef4fb9c8e0
fix entry for tablets (#7179) 2023-03-02 16:52:54 +02:00
Elias Nahum
d61fbd3180
Various fixes (#7161)
* Save message draft when post input is unmounted

* Fix switch CRT on/off

* Handle iPad on Stage Manager

* iOS Share Extension to use LRU cache instead of file cache

* Support building android as aab

* use handleReconnect instead of appEntry on handleCRTToggled

* show skin tone selector tutorial after running all interactions

* Update app/actions/remote/preference.ts

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* fix lint

---------

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2023-02-24 13:02:05 +02:00
Daniel Espino García
9f84ab79ce
Only call app entry on websocket reconnect (#7065)
* Only call app entry on websocket reconnect

* Handle notification on its own entry and run app entry on websocket initialization

* Fix notification entry issues

* Fix login entry and add retry on entry failure

* feedback review

* Put back handleEntryAfterLoadNavigation before the batching

---------

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-02-23 10:11:34 +01:00
Elias Nahum
6def5d9610
Process notifications when the app is in the background and other perf improvements (#7129) 2023-02-15 17:08:19 +02:00
Daniel Espino García
980c31f40f
Remove watermelondb limitation on updating an already updated model (#7067)
* Remove watermelondb limitation on updating an already updated model

* Add logic to handle different prepare states and improve logging

* fix tests

---------

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-02-03 17:11:57 +02:00
Elias Nahum
64a59aad55
Filter unused preferences (#7015)
* small preferences refactor

* filter unused preferences and fix removal of preferences in the db

* Feedback review
2023-01-30 21:00:19 +02:00
Javier Aguirre
7631d169c9
[MM-49006] Handle Plugin related events (#7011)
* Handle Plugin related events

* Remove old ws events

* Adding the missing plugin events
2023-01-30 10:55:27 +01:00
Elias Nahum
7aa5bd0611
Update Dependencies and bug fixes (#7000)
* update dependencies

* update dependencies

* feedback review

* update @mattermost/react-native-turbo-mailer
2023-01-24 09:14:23 +02:00
Anurag Shivarathri
c8ded6ef3c
Fix (#6960) 2023-01-12 12:54:31 +02:00
Elias Nahum
c2aaef2e14
Preserve new message line on WS reconnect (#6934) 2023-01-06 13:38:40 +04:00
Elias Nahum
3f90444698
Notifications profile images (#6904)
* Add profile images to ios notifications

* Avoid marking channel as viewed when tapping a notification
2022-12-24 00:21:08 +02:00
Daniel Espino García
b1e4403768
Fix several issues around team join (#6863)
* Fix several issues around team join

* Open in modal and fix channel list

* Add joining states and fix issues

* i18n-extract

* add specific message for group related failures on joining teams

* Address feedback

* Address feedback

* Use error from server response
2022-12-23 14:43:59 +02:00
Daniel Espino García
25291b04f1
Fix server unreachable message showing too often (#6890) 2022-12-20 22:35:12 +02:00
Daniel Espino García
191a640007
Show loading only when team channels are being loaded (#6872)
* Show loading only when team channels are being loaded

* Fix tests

* Remove unneeded event

* Refactor into using hooks
2022-12-19 12:25:23 +01:00
Daniel Espino García
8a8a888420
Fix issues when removing a user from a team (#6855) 2022-12-09 21:08:45 +02:00
Anurag Shivarathri
7f7bfd7b72
[MM-48926] Fetch new thread posts on websocket reconnect (#6844) 2022-12-09 20:17:34 +02:00
Elias Nahum
d676568c61
Refactor NavigationStore (#6842) 2022-12-07 16:44:21 +02:00
Daniel Espino García
fe4a0a28f4
Improve entry logic to manage user interaction while fetching (#6818)
* Improve entry logic to manage user interaction while fetching

* Cleanup and address feedback
2022-12-07 14:30:24 +01:00
Daniel Espino García
a3489d9674
Start spinner on websocket reconnect (#6815) 2022-12-02 15:18:02 +02:00
Elias Nahum
e6af1e116b
Fix categories where a previously deleted category was not removed (#6808) 2022-12-01 16:28:51 +02:00
Elias Nahum
6eadc527bb
Gekidou Android share extension (#6803)
* Refactor app database queries to not require the app database as argument

* Android Share Extension and fix notifications prompt

* feedback review
2022-11-30 23:18:56 +02:00
Christopher Poile
6660c134f5
MM-48072 - Calls: Implement recording permissions and UI for participants (#6784)
* implement recording permissions and UI

* fix bug when refusing recording while in call thread from call screen

* merge conflicts
2022-11-30 10:15:20 -05:00
Christopher Poile
a300cc651e
MM-48286 - Calls: Emoji reactions, display incoming reactions (#6780) 2022-11-25 12:21:45 +01:00
Daniel Espino García
1aa4188f8e
Move config to its own database table (#6744)
* Move config to its own database table

* Address feedback

* Fix test

* Revert minimum version related changes
2022-11-11 21:20:42 +04:00
Daniel Espino García
579eb2d4cd
Remove no longer needed todos (#6748) 2022-11-08 20:33:22 +02:00
Christopher Poile
e38e547ce2
MM-45972 - Calls: test ws messages when app is in background (#6720)
* update current call on reconnect

* move loadConfigAndCalls above deferredAppEntryActions
2022-11-07 16:29:59 -05:00
Daniel Espino García
bb0322321e
Fetch and store bindings (#6660)
* Fetch and store bindings

* Fix navigate and form opening
2022-10-28 17:08:28 -04:00
Anurag Shivarathri
a98c3d5d3a
Fix (#6642) 2022-09-13 10:35:50 +02:00
Daniel Espino García
260e1cfde7
Refactor entry to better share between rest and GQL (#6638)
* Refactor entry to better share between rest and GQL

* Address feedback
2022-09-12 12:27:47 -03:00
Daniel Espino García
1597f86aa3
Add fallback to rest on websocket reconnect (#6624) 2022-09-07 06:55:31 -03:00
Christopher Poile
6e3b2c2bd9
fix reconnect state; correct new channel state (#6574) 2022-08-12 16:02:04 -04:00
Shaz MJ
ba5c49d9fc
[Gekidou] GroupTeams WebSocket Handling (#6529)
* Handles group websocket event

* Fetches data on error

* Handles GroupMember Add/Delete WS Event

* PR Feedback

* Handles GroupTeam add/delete event

* Handles Group Channel associated websocket (#6530)

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-08-05 16:06:19 +04:00
Christopher Poile
f61ea842af
MM-45746 - Handle call_end ws event and '/call end' slash command (#6542) 2022-08-05 07:39:10 -04:00
Daniel Espino García
a0e1f2dbd6
Fix channel added websocket message (#6546) 2022-08-04 19:04:06 +02:00
Shaz MJ
fe053d96e7
[Gekidou] Handles GroupMember Add/Delete WS Event (#6525)
* Handles group websocket event

* Fetches data on error

* Handles GroupMember Add/Delete WS Event

* PR Feedback
2022-08-02 11:13:35 +02:00
Shaz MJ
793b504b87
[Gekidou] Handle Group Received WebSocket Event (#6524)
* Handles group websocket event

* Fetches data on error
2022-08-01 17:42:49 -04:00
Christopher Poile
17dbfdcb99
MM-45745 - Calls channel info screen options (#6502)
* implement calls_channel_info; joinCall refactoring

* i18n

* Start/Join call as top button; movable copy channel link button

* MM-45971 - Calls v2 PR comments (#6514)

* don't clobber config if api req failed

* combine two loops into one

* update dependencies

* fetch user model on user connected

* fix state exports; spacing; unneeded field in ServerConfig type

* remove useless return in websocket handler

* constant sorting

* move microphone permission request to leave_and_join_alert

* ServerConfig -> ServerCallsConfig

* console.log -> logError

* ternary -> Platform.select

* merge conflicts

* add destructive options to OptionBox; require DismissChannelInfo fn

* add CopyLink option to quick actions list

* showSnackBar on link copied

* adjust quick_options_height

* Screens.Call

* fix CopyLink spacing

* fix observeUsersById, observe needed columns; fix JoinCallBanner mount

* optimized observables; bug fixes

* remove unneeded `return null`

* PR comments

* readable-stream -> 3.6.0

* merge conflicts

* PR comments
2022-07-29 11:10:32 -04:00
Daniel Espino García
bae5477b35
Graph QL POC (#6024)
* 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
2022-07-29 16:28:32 +02:00
Christopher Poile
5bb240dec8
MM-43300: Calls v2 first cut (#6475)
* Android and iOS requirements

* external types

* babel config for calls, package.json for calls dependencies

* state in rxJS; tests

* actions, client/rest, websocket events, constants

* webrtc connection logic

* calls components / screens

* handle peer destroyed gracefully

* PR comments

* remove ViewPropTypes from mocks; no need to ignore error in LogBox

* calls.d.ts -> calls.ts; i18-extract

* @app/products/calls -> @calls

* PR comments; test cleanup

* Revert "remove ViewPropTypes from mocks; no need to ignore error in LogBox"

This reverts commit f9bd171a544de9c02da8387455f904b3840fc5dc.

* working on typing withServerUrl

* added exportedForInternalUse instead of commenting "internal export"

* better switchToThread in call_screen

* i18n

* typed withServerUrl
2022-07-22 15:57:12 -04:00
Anurag Shivarathri
102789bbd9
[Gekidou MM-40089 MM-39318] CRT New Messages Line (#6489)
* New Messages Line + More Messages

* Misc

* Update app/actions/local/thread.ts

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-07-22 17:28:14 +05:30
Kyriakos Z
b2d838d3da
MM-37110: handle toggling of CRT feature (#6382)
* 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
2022-07-07 12:19:02 +02:00
Daniel Espino García
e481c07630
Fix at mention that triggers ephemeral message (#6458)
* Fix at mention that triggers ephemeral message

* Properly handle failed posts
2022-07-07 12:12:31 +02:00
Elias Nahum
75ed884e65
Add column last_fetched_at to MyChannel & Thread tables and the migration (#6433)
* 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>
2022-06-29 13:28:50 -04:00
Daniel Espino García
d2e2cf3ec1
Substitute all console.x by an appropiate log util function (#6427)
* Substitute all console.x by an appropiate log util function

* Address feedback
2022-06-24 10:26:40 -04:00
Daniel Espino García
844f2c0393
Let ServerDatabases type hold undefined values (#6423)
* Let ServerDatabases type hold undefined values

* Avoid model.database
2022-06-22 17:51:28 -04:00
Elias Nahum
8795ca85b5
[Gekidou] cleanup fixes (#6376)
* Separate NavigationStore from EphemeralStore

* Prevent WS to mark channel as read while switching to the channel

* Fix mark channel as unread
2022-06-13 08:07:24 -04:00
Anurag Shivarathri
efd259a523
[Gekidou] Open CRT notifications (#6369)
* 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>
2022-06-10 17:27:34 -04:00
Elias Nahum
cfef5332c9
[Gekidou] handlers perf (#6365)
* 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
2022-06-09 13:09:54 -04:00
Elias Nahum
2f07b7afc8
[Gekidou] user profile (#6353)
* 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
2022-06-06 11:27:25 -04:00
Elias Nahum
a61d65eb09
[Gekidou] pinned posts (#6336)
* 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
2022-06-03 09:27:45 -04:00
Elias Nahum
a0f25f0e3b
[Gekidou] Channel Info screen (#6330)
* Channel Info screen

* Delete the channel & related data when archiving while viewing archived channels is off

* feedback review

* UX feedback

* Add missing isOptionItem prop
2022-06-02 16:09:12 -04:00
Krm
efeab53d0b
[Gekiodu - MM-44156] Channel ordering is different between web and mobile (#6304)
* 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>
2022-05-26 14:23:40 -04:00
Elias Nahum
a4e4e18445
[Gekidou] perf improvement & fix upgrade path (#6302)
* 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
2022-05-24 08:45:17 -04:00
Elias Nahum
4573732fd2
[Gekidou] channel quick actions (#6288)
* Add hitSlop to navigation header right buttons

* Fix channel_item info muted style

* Fix team switch when global threads

* Wrap WS channel events in try/catch

* Group Box component and Animated Group Box

* SlideUpPanelItem style

* Fix return value of setCurrentTeamAndChannelId

* Add observeChannelSettings and include channel settings in prepareDeleteChannel

* update OPTIONS_HEIGHT reference in find channels quick options

* Fix DM limit in channel list

* Fix category header style and translate default categories

* Add snackbar for unmute/favorite/unfavorite

* Add toggleFavoriteChannel remote action

* Add makeDirectChannelVisible remote action

* Use makeDirectChannelVisible in switchToChannelById and update toggleMuteChannel snackbar

* Add channel actions common components

* Update channel intro to use channel action common components

* Rename ChannelDetails screen to ChannelInfo

* Add channel quick actions

* Update localization strings

* Fix addChannelToDefaultCategory

* Leave channel

* Add localization strings

* Fix snackBar screen event listener

* Feedback review
2022-05-19 14:30:55 -04:00
Daniel Espino García
0464dd34ee
Unify entry functions (#6231)
* 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
2022-05-19 11:24:59 +02:00
Daniel Espino García
a4674915c1
Better handle go to location (#6262)
* Better handle go to location

* Improve server check
2022-05-19 09:06:31 +02:00
Avinash Lingaloo
e81e98aa02
MM-42484 - Gekidou - Update DM/GM display name when teammate name display changes (#6254)
* 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 92905c707dcd87de482d2c30bbff0c692235e26a.

* added guard clause on DM channel type

* refactor function signature
2022-05-13 19:12:54 +04:00
Daniel Espino García
75d1c9d228
Try to remove as many as as possible (#6200)
* Try to remove as many ` as ` as possible

* Fix imports
2022-05-12 15:46:11 +02:00
Anurag Shivarathri
1760b75dbf
[Gekidou] [MM-43973] Thread footer for recent mentions (#6225)
* Displaying thread footer

* Participants can be empty

* Update thread.ts
2022-05-05 21:03:09 +05:30
Elias Nahum
f973ac8016
[Gekidou] Find channels (remote) (#6203)
* 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
2022-05-03 14:29:37 -04:00
Daniel Espino García
02b4295464
[Gekidou] [MM-39936] Add Select Team Screen (#6180)
* Add Select Team Screen

* Fixes for iPhone and iPad

* Fix tests

* Address feedback

* Fix tests

* Theme illustration

* Address feedback and fixes

* Remove database warnings by avoiding recalculations on repeated events.

* Address feedback

* Remove unneeded catch

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-05-03 17:22:21 +02:00
Daniel Espino García
e047106bac
Add AppsForm and Interactive Dialogs (#6142)
* 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
2022-04-28 18:26:21 +02:00
Anurag Shivarathri
dad63b87bb
Gekidou CRT - Global threads screen (#6140)
* 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>
2022-04-28 09:01:36 -04:00
Daniel Espino García
14d6d53cc9
[Gekidou] Move managers (#6171)
* Move managers to their own folder

* Fix lint

* Fix unit tests

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-04-16 09:44:11 -04:00
Daniel Espino García
7a90f2d4a8
Performance improvements in the area of home and channel switch. (#6174)
* Performance improvements

* Revert hidden DM/GMs changes

* Minor fixes related to the revert

* Add observeWithColumns missed in merge
2022-04-14 18:56:48 -04:00
Daniel Espino García
667716fd0f
Fix an issue where receiving a DM from a new user does not appear in the channel list (#6175) 2022-04-13 13:19:09 -04:00
Shaz MJ
10ea42c812
Active State for selected Channel (#6163)
* 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
2022-04-13 09:36:47 -04:00
Kyriakos Z
477c7cf1bf
MM-40093 [Gekidou]: adds remote action to sync threads (#6135)
* 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
2022-04-12 15:03:05 +03:00
Kyriakos Z
df3ef72a0a
[Gekidou CRT] thread mention counts (#6126)
* Sets values on my_channel according to CRT

* Team counts with regard to CRT

* Fixes myChannel.is_unread with regard to CRT

* Include DM/GMs for thread counts on demand

* Incorporate thread mention counts in server/channel

* Channel updates in regard to CRT
2022-04-12 13:27:40 +03:00
Daniel Espino García
26b3fbf87f
Fix add DM screen and some other database related issues (#6144)
* Fix add DM screen and some other database related issues

* Minor style fixes

* Handle create DM/GM websocket by using the teammate ids

* Address feedback
2022-04-08 23:10:08 -04:00
Elias Nahum
0950dbd21b
[Gekidou] operator handlers improvements (#6136)
* Allow database operator handlers to deal with empty or undefined input values

* Prevent known handler warnings

* Update app/database/operator/server_data_operator/handlers/post.ts

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>

* feedback review

* remove unnecessary !

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-04-07 09:17:57 -04:00
Elias Nahum
28b86e9c24
Use delta for mark as unread (#6127) 2022-04-05 09:00:45 -04:00
Elias Nahum
2621d921d6
[Gekidou] Performance & UI fixes (#6122)
* Fix search bar style

* MM-42983 Align mention badge on channel list item

* MM-42985 polish channel intro UI

* MM-42984 update fonts on 'Show' bottom sheet

* MM-42982 Increase tap area of back button on channel view

* Set StatusBar style based on theme sidebarBg

* Reconnect other WS after 20 seconds insted of 5

* Only fetch missing profiles for DM/GMs

* Database prepare records optimization

* Do not use fallbackUsername for storing GM/DM in the database

* fix filter for fetching missing dm/gm

* remove use of indexOf inside another loop

* remove use of includes inside another loop

* remove use of find inside another loop

* Add missing translations

* disable Flipper on iOS

* Remove Flipper code from AppDelegate

* feedback review

* trim DM display name to make sure is not empty

* fixing missing direct channels display name

* UI/UX feedback

* fix WS channel viewed and mark as unread

* Remove duplicate emojis from reaction bar
2022-04-04 17:09:26 -04:00
Jason Frerich
137ba9d191
[Gekidou MM-39728] - Websocket Events - Channels (#6038)
* wip checkin

* wip checkin because my system is messed up again

* correct the add user and remove user from channel functions. THe user and channel ids sometimes come from the broudcast field, not the data object

* remove old comments

* remove old comments

* remove old comments

* add back in unarchive handler. handleChannelUpdateEvent will also update the deleteAt value for a channel, but does not get called when unarchive from the channel view, only through the system console.

* nit remove empty line

* wip

* wip

* remove handleChannelConvertedEvent

* remove handleChannelDirectAddedEvent

* wip

* wip

* wip

* Fix websockets events

* Address feedback

* Ensure categories and some refactoring

* Self review fixes

* Fix category creation bug

* Address feedback and minor improvements

* Address feedback

* Fix lint

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-04-04 14:25:42 -04:00
Anurag Shivarathri
8d6fc41dd5
[Gekidou MM-41093] CRT - WS Events, Actions, Queries, Thread Follow, Post Query (#6075)
* WS Events, Actions, Queries, Thread Follow, Post Query

* i18n changes

* Misc

* Only unread threads are marked as read

* Mark threads from WS even as visible in Global threads

* Merge fixes

* Update thread_post_list.tsx

* Merge fix

* Feedback fix

* Make teamId in handleThreads optional for unfollowed threads

* Removed unwated type and return

* Review changes

* Removing unused model

* Merge fix

* Misc fixes

* Following button query change
2022-04-04 19:55:13 +05:30
Elias Nahum
7f9cd287fe
feedback review 2022-03-23 11:35:37 -03:00
Daniel Espino García
7c642b1e80
[Gekidou] Extract common observers to queries (#5984)
* Extract common observers to queries

* Separate also queries and more agressive refactoring

* Use query to avoid throws from findAndObserve

* Fix minor error

* Address feedback

* Address feedback

* Address feedback

* Fix model types

* Address feedback
2022-03-23 09:19:29 -03:00
Daniel Espino García
ff952ced2a
Fix user added to channel event not correctly getting the channel id (#6053)
* Fix user added to channel event not correctly getting the channel id

* Fix several other websocket problems
2022-03-15 19:55:09 +01:00
Kyriakos Z
2645f7e66e
MM-39710: saved posts screen and DB (#6020)
* MM-39710: saved posts screen and DB

- Adds ids of saved posts to the systems table, as we do with recent
mentions.
- Adds a new remote action to fetch saved posts (getFlaggedPosts).
- Adds a new screen to display those in a mobile.
- Displays saved posts in the tablet view next to profile card.

* Uses Preferences instead of System table

Renames to saved posts wherever possible

* Adds text to localization file

* Fixes fetching/saving saved posts

* Refactor mini post to components folder

* Fixes hooks dependencies according to review

* Removes unnecessary 'withObservables'

* Small refactor

* Satisfies linter

* Adds empty state

And fixes empty state icon to be theme sensitive.
Both recent_mentions and saved_posts.

* Fixes empty screen's alignment

* Add missing preference

* add missing translation strings

* remove unused database type definition

* Fetch newly saved post

* Fix return type for client.getSavedPosts

* Remove usage of lodash compose

* Rename get remote actions to fetch

* Include close button for savedPost modal

* fix tablet view for SavePosts and use lottie loading indicator

* Render post with content for save posts and recent mentions

* post list viewable items type definition

* Add layout width to post content for saved post screen

* Use PostWithChannel and viewableItems for saved posts and recent mentions

* Layout margin of 20

* openGraphImage margin

* Fix openGraphImage display

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-12 16:40:24 -03:00
Daniel Espino García
b27ebce2e0
[Gekidou] [MM-39718] Add Create DM screen (#5900)
* Add Create DM screen

* Add channel toggle and minor improvements

* Fix tests and apply new UI

* Address feedback UX feedback and fix missing menu item by adding another item height

* Add display name to channels and piggyback improvement on fetchUserByIds action and translations fix

* Address feedback

* Fix hardcoded colors

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-11 12:57:31 -03:00
Elias Nahum
49506c1b6c
Fixes a race condition and deleting only teams that you no longer belong to (#6028)
* Fixes a race condition and deleting only teams that you no longer belong to

* common action teamsToRemove
2022-03-07 19:20:47 -03:00
Elias Nahum
162bc6cc3f
[Gekidou] various fixes (#6022)
* remove empty roles before fetching

* Fix prepare delete teams, channels and posts so they don't throw

* Fix reaction operator and moved some handlers to their correct file

* include delete categories when teams or channels are deleted

* Remove unused array in fetchRoles

* fix param comment for reactions handler

* don't sync preferences when getting the WS event
2022-03-03 12:11:47 -03:00
Elias Nahum
e4ed5fe936
Fix categories WS action (#6017) 2022-03-03 12:11:31 -03:00
Elias Nahum
eaf4f3166e
[Gekidou] update dependencies (#6019)
* Dependency updates

* npm audit fixes
2022-03-01 18:52:01 -03:00
Jason Frerich
efd2fd0c02
[Gekidou MM-39729] Websocket Events - Groups (#5930)
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-01 10:13:45 -06:00
Avinash Lingaloo
860ae2ab75
MM-41940 Gekidou Post Options menu - mark as unread (#5987)
* added marksAsUnread

* code fix

* correction

* added some correction

* modified markChannelAsUnread to accomodate isUnread field

* Update app/actions/remote/post.ts

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

* code clean up

* code fix

* minor edit

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-23 11:12:13 +04:00
Shaz Amjad
826c6683f8
Gekidou - Sidebar websocket handling (#5954)
* Adds actions, queries, db models and rest client

* Adds Websocket handling for categories

* fix merge

* small refactor for categories websocket events

* fix bad merge

* Category delete handled

* Handles deletion (prune on store)

* Resolves feedback, adds team handling for prune

* Minor fixes; param order and return, imports, type naming

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-17 08:07:31 +11:00
Elias Nahum
d35eac8bd3
Gekidou servers (#5960)
* 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
2022-02-14 16:39:29 -03:00