Commit graph

380 commits

Author SHA1 Message Date
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
d74826064b
Remove keychain cache to avoid token invalidation problems (#7479) 2023-08-01 15:46:48 +02:00
Elias Nahum
3effecd6a4
match desktop search and highlight results (#7445) 2023-07-18 12:17:19 -04:00
Elias Nahum
40254fba96
fix: crash when reactor is missing (#7448) 2023-07-12 10:22:37 -04:00
Daniel Espino García
5ab2f86b66
Fix ios cache (#7412)
* Fix Keychain cache

* Fix

* Fix import
2023-07-05 14:01:51 -04:00
Dmitry Lyzlov
cc2728aaa8
Added localization into iOS share extension (#7351) 2023-06-21 12:42:31 +02:00
Daniel Espino García
cffe80b442
Fix fetching unreads from archived channels, fetching groups on unlicensed servers and logs (#7406) 2023-06-20 13:52:05 -04:00
Daniel Espino García
20dfb4f406
Fix issue with missing post headers on threads (#7378)
* Fix issue with missing post headers on threads

* Fix lint
2023-05-31 11:42:20 -04:00
Daniel Espino García
68818d0048
Update string on notification error (#7370) 2023-05-23 17:34:31 +02:00
Daniel Espino García
19315c63c4
Improve manage members search (#7357) 2023-05-23 11:33:17 -04:00
Daniel Espino García
162cdfb21d
Handle currentUser not available throught the app and refetch it (#7333)
* Handle currentUser not available throught the app and refetch it

* Address feedback
2023-05-05 15:40:59 -04: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
Elias Nahum
58d1b02d3a
Fix the query undefined comparison when threadId prop is not set by the navigation library (#7302) 2023-04-21 12:27:51 -04:00
Elias Nahum
784b05fe97
Upgrade Dependencies (#7299)
* upgrade reanimated

* update devDependencies

* upgrade react-intl

* update react-native and some dependencies

* update react-native-permissions

* update RN

* use Share sheet for Report a problem

* update Sentry

* remove step to downloadWebRTC

* update detox deps

* feedback review
2023-04-21 12:16:54 -04:00
Daniel Espino García
a8ee3a1b5a
Fix and unify channel and user list items (#7175)
* Fix channel and user list items

* Fixes on members and create a dm lists

* Fix tutorial and ipad

* Fix test

* Address feedback

* Several fixes on Android

* Fix tests

* Address feedback

* Add more non breaking strings

---------

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2023-04-19 10:13:14 +02:00
Elias Nahum
c3ed9d3a4a
Request missing write to storage permission to use the camera on Android 9 and below (#7292) 2023-04-18 13:54:22 -04:00
Tanmay Vardhaman Thole
265c4fe8a6
[MM-42565] Toast - Follow/Unfollow thread with undo functionality (#7267) 2023-04-14 12:28:03 -04:00
Dmitry Lyzlov
d0bc2c9f7a
Replaced hardcoded value in Sentry hook with config value (#7239)
* Reworked hardcoded value in Sentry hook with config value

* Fixed type checking
2023-04-05 15:43:53 +02:00
Daniel Espino García
720ac22070
Handle undefined metadata all over the app (#7244)
* Handle undefined metadata on Markdown Table Images

* Add missing change

* Handle undefined image metadata all over the app
2023-03-31 09:41:28 +02:00
Daniel Espino García
77095b1034
Add members (#7220)
* Add "Add members" modal

* Refactor into server user list

* Renaming and fixes

* Address feedback

* Add missing change

* Styling fixes for iOS
2023-03-30 11:58:50 -03:00
Ashish Dhama
d25e74bb49
Merge pull request #7227 from mattermost/MM-44655_add-files-count-column-in-channel-info-table
[MM-44655 ]: Add files_count column in ChannelInfo table and DB migration
2023-03-29 23:04:54 +05:30
Eduardo Sellanes
388bb81acd
photo permission alert is not displayed properly (#7228) 2023-03-24 14:50:16 -03:00
Daniel Espino García
1235907945
Consider unread when mentions are present regardless of muted state (#7224) 2023-03-22 16:02:27 -04:00
Ashish Dhama
b42c05f226 fix test case 2023-03-22 15:49:55 +05:30
Daniel Espino García
ba523fab15
Fix muted channels not being filtered out on the categories list (#7210) 2023-03-16 11:06:53 +01:00
Daniel Espino García
9b932c401a
Performance fixes and fix manual sort (#7190)
* Performance fixes and fix manual sort

* Fix test

* Use combineLatestWith

* Revert unread on top
2023-03-07 19:24:40 +01:00
Daniel Espino García
5ccf45622d
Fix race condition when the same websocket gets initialized twice (#7185)
* Fix race condition when the same websocket gets initialized twice

* Bump network library
2023-03-07 19:11:28 +01:00
Elias Nahum
fe916ec740
Refactor category channels to react to setting changes and apply the correct order (#7170)
* Refactor category channels to react to setting changes and apply the correct order

* feedback review
2023-03-03 15:53:29 +02:00
Elias Nahum
0938045b7d
Fix potential reaction crash (#7172) 2023-03-01 13:24:11 +02:00
Elias Nahum
2fc1386b78
feat: Channel notification preferences (#7160)
* feat: Channel notification preferences

* feedback review

* use button color for the icon
2023-02-24 12:41:36 +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
a11d3c6d2a
Use config to set SAML and OpenId Button text (#7145) 2023-02-16 14:12:43 +02: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
Shivashis Padhi
7158de8d5e
Merge pull request #7086 from mattermost/MM-49868_revert_mentions_of_free_oauth
MM-49868: Remove mentions of Free OAuth in OpenID-Connect section
2023-02-07 20:23:53 +05:30
Shivashis Padhi
08b1dc4ea8
Remove mention of FreeOAuth 2023-02-06 16:02:47 +05:30
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
Jason Frerich
218f98e3e0
[Gekidou - MM-47653] Implement Manage Members Screen (#6771)
* move user_list to component

* start the modal from create_direct_message

* initial commit

* Add managing options to user profile

* s/showManage/showManageMode/

* simplify

* use helper functions

* add dependency

* fix togglling manage/done button

* remove close button in navbar

* remove close button. The only exit from this screen is the back button

* utilize LeaveChannelLabel component actions

* nit

* nit

* slight refactor

* return earlier if not showManageMode

* use defineMessages

* don't modify leave channel component

* add manage_members_label component

* rename variables to imply manage actions

* remove user from channel on server and locally in channel membership

* prevent managing yourself. In V1, this is done by not allowing you to
select yourself for channel removal

* remove useReducer

* - fix typography
- fix icon size
- don't allow tapping on yourself in manage mode

* sort props

* sort props

* sort props

* - combine try blocks
- use getServerDatabaseAndOperator function to get the operator

* fetchChannelStats after removing users from a channel

* currently, the UI does not provide a need to remove multiple members
from a channel, only one member. modify the function to only accept and
remove one user

* no need to pass the entire channel object. only need the channelId which
is already passed into the screen

* do not pass the entire user model, only the userid and if user canManage
  (is sysadmin or channel admin)

* move members constants to its own file and out of general.ts file

* pass channel displayName instead of the entire channel object

* not need to store the user as it is already in the store from the
fetchProfilesInChannel call

* implement device emitter to notify the parent to remove to the user from
the user list

* rename constant in reveal removing a member from a channel.  Might need for another team removal later.

* add snackbar after user is removed

* remove unnessary filter

* remove paging. Server response is not paginated
deconstruct intl

* create EMPTY const

* simplify getProfiles function

* move constants to top of file

* add function to remove the user from the server

* clean up dependencies

* remove @app/ prefix from imports

* add comment describing reason for switch / case

* rename varaible to be more intention revealing

* calculate isDefaultChannel and pass in as prop so don't need to
query for each user

* if user cannot manage, do not show the manage nav button

* move options const into function that uses it

* have the caller of handeRemoveMemberFromChannel fetch channel stats, not
the action

* nit formatting

* s/canManage/canManageMembers/

* use existing observeCanManageChannelMembers function
function only requires channel id

* move userInfo and manage user options to their own components

* calculate bottom sheet snap points when in manage mode

* implement correct permissions for managing users.  For now, only channel
admins can manage users (including deleting members)

* working on section creation

* use map instead of arrays

* - handle user profile sections differently when in members are provided (manage mode)
- emit event when user role is changed
  - modify the channelMembers in manage members modal after changing
    user role

* remove commented code

* deconstruct options

* sort dependencies and add loading dependency

* - when removing a user, remove them from channelMembers state also
- don't add empty sections to the user list results

* user profile coming from ManageChannelMembers is UserProfile joined with
their ChannelMembership.  Can now check for scheme_admin to see if the
user is a channel admin

* deconstruct locale from intl and remove intl const

* Add SearchUserOptions type to provide type checking when creating options for searchProfile
action and searchUsers client api

* correct comment

* deconstruct MANAGE_OPTIONS

* Remove unused event constant

* nits

* Push header title in to the UserProfileTitle component

* Put constants back so Diff of file is smaller

* Combine switch statements
Remove isOptionItem.  These are always action items

* Wrap onAction in a usecallback

* Add help comments

* Add i18n to section titles

* Create RenderItemType for renderItem callback

* update testID
update snapshots

* CanManageMembers is deterimined by observeCanManageChannelMembers

* Add members chanenl option

* Update after merge

* Sort in order of options shown

* nit refactor

* Modify client getProfilesInChannel allow passing more options than sort.
- sort the profiles by admin
- do not show deactivated users in the manage members modal

* Profiles are now sorted by admin.  We can maintain the alphabetical sort
also by iterating over the profiles instead of members which are not alphabetical

* Type the get users Api object

* Add type.
Active option is a boolean, not a string

* only initialize if needed. Moved inside the check for members

* Create type for Manage Member Options

* Remove one liners and call directly in the switch block

* Keys to the map do not need to be translated. Only translate the title
Place the Admins section always on top

* Add removeFromChannel as a dependency

* Remove manageMode option from the title component
- add imageSize prop
- add headerText prop

* Do not show deactivated users in search

* When users are showing and not in manage mode, allow the user to tap and
open the profile for the user (in non-manage mode)

* Add fetchOnly to getMemberInChannel function
Add fetchOnly to updateChannelMembersSchemeRoles function
Remove getMemberInChannel from handleUserChangeRole in manage_channel_members because it is already called via updateChannelMembersSchemeRoles

* Remove todo from comment

* Don't use state for defining action text, icon, and isDestructive. just
set them based on the prop value manageOption

* Added correct permission check for can user manage member roles

* Add can manage member roles prop

* Calculate snap points based on manageMemberRoles prop

* Calculate snap point based on if user can remove other users

* Do not show options if you cannot remove or manage members

* Fix post merge issues

* No need to batch because only manipulating a single model

* Remove comment

* Rename variable

* Split and sort props into multiple lines for readability

* Nit

* Make dependency more specific

* Remove comment.  Doing this requires writing a custom search function in
the app that would need to guarantee the same results as a server call

* Add logError to functions with catch

* Add ticket reference

* Remove await from functions that are updating the database.  Components
that observe models these modify will get the update based from the
observable change.

* Keep track of which section is first so that the tutorial highlight
selects the first user profile of the first section

* Add a second user that creates a new section for testing tutorial

* Remove unused prop

* Update snapshot to include second user

* Use getServerDatabaseAndOperator

* remove testID change. Added a ticket to fix later

* Revert tests to only one user to test if previous tests worked

* Add new test that has 2 users

* Add ticket context as comment

* Add channelId as dependency

* Use useCallback for updateChannelMemberSchemeRole

* Remove async

* mounted.current should only be used in an effect that executes on the
first render

when user has permission to manage members changed, there is no need to
get the profiles again

* Add await for function

* Always reset loading to false after getting profiles

* use !text instead of const value using Boolean()

* add dependency

* Add manage members ids back

* When fetching users for the channel, always store them in the database.
Otherwise tapping a user might not be in the database and tapping on
them will cause a crash

* Fetch the user profile from the server when opening the user profile

* Checking management permissions should be based on the current user, not
the user of the profile being opened

---------

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2023-02-03 10:42:12 +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
Daniel Espino García
78944554a8
Fix pdf upload and pdf download from search results (#6984) 2023-01-27 09:10:05 +02:00
Elias Nahum
c1fbaffd3e
Support for Android Tablets & Foldable (#7025)
* Add Support for Android tablets & foldables

* add tablet and book posture

* Regenerate disposed observable on WindowInfoTracker
2023-01-26 20:31:18 +02:00
Elias Nahum
983d0aab66
Fix matchDeepLink when server is on a subpath (#7010)
* Fixes matchDeepLink when server is in a subpath

* Fix matchDeepLink when serverUrl is in a subpath
2023-01-25 15:04:05 +02:00
Anurag Shivarathri
5160cf9212
[MM-49652] Setting to enable/disable CRT (#6999)
* Added settings

* Moved obj to variable

* Merge fix
2023-01-25 18:15:37 +05:30
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
Daniel Espino García
9c19e4d04a
Remove uneeded database migrations (#6985) 2023-01-19 16:56:30 +01:00
Elias Nahum
612fd5022f
New UI for Emoji picker (#6933)
* BottomSheet migration to react-native-bottom-sheet

* Refactor Emoji picker to use bottom sheet

* Add skin selector

* Add Emoji Skin Tone tutorial

* add selected indicator to tone selector

* feedback review

* show tooltip after 750ms

* ux feedback review

* ux feedback review #2

* Hide emoji picker scroll indicator
2023-01-12 13:38:44 +02:00
Elias Nahum
cab863d62f
Add back wrongly removed Ephemeral.theme assignment (#6959) 2023-01-12 10:58:05 +02:00
Elias Nahum
4199b13843
Bump build number to 450 (#6950)
* Fix upgrade path

* Introduce Upgrade helper

* Reset server database schema version to 1

* Enable release builds on the CI

* Bump build number to 450
2023-01-11 21:40:49 +02:00
Elias Nahum
e6a6e25799
Fix navigation theming (#6946) 2023-01-11 09:53:09 +02:00
Elias Nahum
b653b86443
fix Sentry import 2023-01-07 18:35:31 +02:00
Elias Nahum
977bcd2b42
Fix sentry inner crash and have watermelon report in which table it cannot update records with pending changes 2023-01-07 12:49:48 +02:00
Elias Nahum
001a6699fb
Cache push notification profile image and add logs (#6932)
* Cache push notification profile image and add logs

* Fix indent
2023-01-05 12:31:52 +02:00
Elias Nahum
dbe565319d
BottomSheet migration to react-native-bottom-sheet (#6907)
* BottomSheet migration to react-native-bottom-sheet

* Use correct scroll view for announcement bottom sheet

* ux review

* Fix post options bottom sheet snap point

* feedback review
2023-01-05 09:51:51 +02:00
Elias Nahum
411a7e22a2
Reduce the amount of queries to display the PostList (#6927) 2023-01-03 23:36:31 +02:00
Elias Nahum
4d039ae88b
Revert "Align latex with text (#6900)" (#6911) 2022-12-27 15:22:00 +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
450b6e1a21
Align latex with text (#6900)
* Align latex with text

* fix tests

* fix markdown bold

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-12-23 14:21:50 +02:00
Avinash Lingaloo
92ca1e3704
Sentry fixes (#6830) 2022-12-21 19:34:44 +02:00
Elias Nahum
e294b07418
Add DeepLink support (#6869) 2022-12-16 18:57:15 +02:00
Daniel Espino García
28526034d4
Refactor makeStylesFromTheme to use the correct types (#6801)
* Refactor makeStylesFromTheme to use the correct types

* Address feedback
2022-12-12 10:53:54 +01:00
Anurag Shivarathri
d019f06c0b
CRT remove feature flag (#6848) 2022-12-09 15:31:31 +05:30
Elias Nahum
d676568c61
Refactor NavigationStore (#6842) 2022-12-07 16:44:21 +02:00
Elias Nahum
8e0bf7c397
Fix inline code blocks in thread preview (#6835) 2022-12-06 14:09:38 +02:00
Anurag Shivarathri
0e5d63a7c3
[MM-48375 Gekidou] Threads Sync Fix (#6788)
* Init

* Test fix

* New sync implementation

* misc

* Includes migration and other servers sync

* Misc

* Migration fix

* Migration is done version 7

* Update app/queries/servers/thread.ts

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

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

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

* Feedback changes

* Fixes when old thread gets a reply

* Fix

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-12-01 21:38:27 +05:30
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
Michael Kochell
c1f480de31
App framework - Post menu and channel info bindings, App forms (#6735) 2022-11-30 21:25:08 +02:00
Avinash Lingaloo
95af1afe6b
MM-48339 - Gekidou Alert box for Advanced Settings (#6758)
* added the alert box

* MM-48339 - Adds Alert box to confirm data deletion

* MM-48339 - update en.json

* corrections from PR review

* i18n id clean up

* i18n id clean up

* update i18n

* remove t()
2022-11-30 14:05:26 +04:00
Pablo Andrés Vélez Vidal
9e010ff5a3
Merge pull request #6768 from pvev/MM-35065-add-onboarding-screens
Mm 35065 add onboarding screens
2022-11-29 16:27:56 +01:00
Daniel Espino García
926d3f34b0
Address feedback (#6792) 2022-11-29 13:20:22 +02:00
Pablo Velez Vidal
688537ff9c Merge branch 'main' into MM-35065-add-onboarding-screens 2022-11-25 17:47:39 +01:00
Daniel Espino García
fe52fcaab6
Add terms of service (#6777)
* Add terms of service

* Add i18n

* Fix test

* Address feedback

* Address ux feedback

* Update texts

* Avoid Review to show on top of ToS

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-11-24 19:58:56 +01:00
Daniel Espino García
5fae120826
Add support for review app (#6772)
* Add app review

* Use overlay instead of modal

* Add fixes for ios

* i18n-extract

* Add to milliseconds function

* Address review feedback

* Add try to queryGlobalValue

* added app review illustration

* add feedback illustration

* Add animations and feedback bot message

* Restrict reviews to build environment variable

* Fix bug with "dont ask anymore"

* Add check for only supported servers

* Add missing change

* Use for await

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-11-24 18:52:15 +01:00
Javier Aguirre
ac8a18bbfb
[MM-43844][MM-42809] Integration Selector (#6716)
* Activating screens

* Registering the screen

* Adding default themes for components

* Porting items rows, WIP

* WIP Custom List

* Pasting old code to integration_selector, WIP

* No TS errors on components

* Adding selector options

* fix types

* Adding state with hooks

* Page loading with no results

* fix search timeout

* Getting channels, not painting them yet

* searching for profiles

* tuning user and channel remote calls

* Fix radioButton error

* channels being loaded

* rendering options

* Rendering users

* Preparing search results

* Added onPress events for everybody!

* single select working for all selectors

* Remove dirty empty data fix

* remove unused data on custom list row

* fic touchableOpacity styling

* Adding extra info to userlistRow

* Search results (channels and users)

* filter options!

* Adding i18n

* Adding username as name

* move code to effects

* fix typing onRow

* multiselect selection working, missing a "Done" button

* commenting out the selector icons, moving selected options to func

* Added button for multiselect submit

* Fixing data types on selector

* 💄 data sources check

* cleaning custom_list_row

* Fix onLoadMore bug

* ordering setLoading

* eslinting all the things

* more eslint

* multiselect

* fix autocomplete format

* FIx eslint

* fix renderIcon

* fix section type

* actions not being used

* now we have user avatars

* Fix icon checks on multiselect

* handling select for multiple selections

* Moving to its respective folders

* components should render

* Added some test cases

* Multiple fixes from @mickmister feedback

* changing lock icon to padlock on channel row

* Fix children lint errors

* fix useEffect function eslint error

* Adding useCallback to profiles, channels and multiselections

* Fixing @larkox suggestions

* type checking fixes

* Fix onLoadMore

* Multiple hook and functionality fixes

* 🔥 extraData and setting loading channels better

* fix teammate display

* Fix multiselect button selection

* Fix returning selection to autocomplete selector

* Using typography

* Updating snapshots due to typography changes

* removing UserListRow, modifying the existing one

* Extract key for data sources

* Multiselect selection refactor

* fix setNext loop

* refactoring searchprofiles and channels

* Using refs for next and page

* Callback and other fixes

* Multiple fixes

* Add callback to multiselect selected items

* integration selector fixes

* Filter option search

* fix useCallback, timeout

* Remove initial page, fix selection data type

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
2022-11-23 11:17:47 +01:00
Shivashis Padhi
4bacba92bb
[MM-47384] Make openid, google, office365 oauth free (#6755) 2022-11-22 06:43:18 +02:00
Pablo Velez Vidal
5b3d95c913 dark mode improvements, aligh icon vertically in next button 2022-11-18 15:14:34 +01:00
Elias Nahum
2a6bb1ddc1
[Gekidou] Show alert message when server is unsupported (#6764)
* Show alert message when server is unsupported

* set server min required version to 5.26.2
2022-11-18 12:18:11 +02:00
Pablo Velez Vidal
595238e9c1 fix some design pr feedback 2022-11-17 15:32:08 +01:00
Elias Nahum
0917baa714
Check that Sentry is enabled and set (#6763) 2022-11-12 13:48:50 +04:00
Avinash Lingaloo
987d024708
Gekidou Sentry Installation (#6726)
* Sentry - Clean Install

* Update config.yml

* update CI to install Sentry CLI

* update CI to install Sentry CLI

* Squashed commit of the following:

commit e1996e59de8e135b19957dc9b0a0677f8b851c8b
Merge: 87cc8d6f2 2e8352f3e
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Nov 4 20:59:29 2022 +0400

    Merge branch 'android-pr-sentry-clean' of https://github.com/mattermost/mattermost-mobile into android-pr-sentry-clean

commit 2e8352f3e15527c73ec3a634eae32b29aa6a9faf
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Fri Nov 4 15:48:24 2022 +0200

    update CI to install Sentry CLI

commit 87cc8d6f2b06945a4d0a2d4373836fd261b62c15
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Fri Nov 4 15:48:24 2022 +0200

    update CI to install Sentry CLI

commit 8dca885a0204c894bfcf544807976bac766b3b99
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Nov 4 16:48:47 2022 +0400

    Update config.yml

commit 684bbb4aef
Author: Mylon Suren <23694620+mylonsuren@users.noreply.github.com>
Date:   Thu Nov 3 11:37:58 2022 -0400

    Remove down arrow next to team name and make team name unclickable (#6715)

commit 88ff8fac30
Author: Jason Frerich <jason.frerich@mattermost.com>
Date:   Wed Nov 2 19:35:23 2022 -0500

    [Bug] Emit boolean with "of" operator (#6729)

commit debcc99480
Author: Jason Frerich <jason.frerich@mattermost.com>
Date:   Wed Nov 2 12:15:54 2022 -0500

    [Gekidou MM-48006] Show keyboard when select a modifier (#6714)

* Delete @sentry+react-native+4.6.1.patch

* correction from PR review

* Add logError to DatabaseManager

* removes sentry context from android build job

* removes team+channel data

* shift active server listener to home/index

* Revert "shift active server listener to home/index"

This reverts commit 75e26faadd8c4359dd4d02c30375c03fadcc91bd.

* refactor after PR Review

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-11-11 22:48:38 +04: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
Elias Nahum
ae0eb43793
[Gekidou] EMM fixes (#6730) 2022-11-08 22:49:39 +02:00
Elias Nahum
5c7e89d7de
[Gekidou] update deps (#6667)
* Fix login not showing the usernames (#6652)

* update dependencies

* feedback review

* feedback review 2

* remove unused dependencies

* remove duplicate gesture-handler dependency

* add -XX:+HeapDumpOnOutOfMemoryError to gradle

* adjust gradle memory

* update android ci image

* android executor xlarge

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-10-13 08:41:18 -03:00
Jason Frerich
380b375411
[Gekidou MM-45790] Create File Options Menu for Tablet View (#6531) 2022-10-11 08:19:13 -05:00
Daniel Espino García
2b4b7c7e92
Fix permissions defaulting to true (#6653) 2022-10-04 11:40:31 +02:00
Elias Nahum
4c389a49fa
Gekidou session expired notification (#6639)
* Fix crash on Android when session expired notification is presented

* react-native-notification patch for schedule fix on android and open local notification on iOS

* Fix android scheduled session notification crash

* patch react-native-navigation to support blur/focus AppState on Android

* remove schedule session expired notification from login entry point

* schedule session expired notification actions

* add session manager

* Handle open session expired notification
2022-09-18 06:57:55 -04:00
Elias Nahum
5a9bba4919
Adjust bottomSheet height for iOS devices without insets (#6621) 2022-09-07 05:45:35 -03:00
Elias Nahum
a819bfc820
add file logger (#6618) 2022-09-06 10:42:09 -03:00
Elias Nahum
9fd8781808
parse deep link only if hostname matches (#6619) 2022-09-06 10:40:51 -03:00
Elias Nahum
94f7f3e1c2
disable native exception capture 2022-09-03 04:26:59 -04:00
Daniel Espino García
18193f3c91
Add missing GQL fields (#6616) 2022-09-02 10:45:59 -04:00
Elias Nahum
851b0fcc0a
MM-46300 Clear cached images on logout (#6582) 2022-09-02 08:11:58 -04:00
Daniel Espino García
f874279d87
Make it so a space after autocomplete channels and users closes the autocomplete (#6589) 2022-08-23 09:56:04 +02:00
Christopher Poile
d30b97ba99
MM-45747 - Cloud freemium limits & Max participants limits (#6578) 2022-08-20 08:57:14 -04:00
Elias Nahum
1fa248b5a7
[Gekidou] Fix mimeType undefined in isImage utility (#6581)
* Fix mimeType undefined in isImage utility

* Apply suggestion

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>

* remove unecessary return

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
2022-08-17 13:29:58 -04:00
Daniel Espino García
ea595f1ced
Fix MM-46309 (#6567)
* Fix MM-46309

* Address feedback

* Update dbPath and rename server databas instead of deleting

* ios fixes

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-08-15 10:55:54 -04:00
Christopher Poile
7da253e310
MM-45945 - Calls: finish i18n of calls components and messages (#6547)
* finish i18n for calls components

* fix formatted time style bug

* prefer FormattedText

* more FormattedText

* merge conflicts

* PR comments on copy
2022-08-11 16:10:28 -04:00
Avinash Lingaloo
5004baf9c6
MM-46252 : Gekidou - Settings - Fixes Advanced Settings (#6561)
* properly deletes data

* ts fix
2022-08-11 11:02:24 +04:00
Jason Frerich
f376b3f6af
[Gekidou MM-46195] Fix team picker height (#6554) 2022-08-10 06:32:40 -05:00
Elias Nahum
99ccf52132
Gekidou cold start (#6557)
* Do not load emojis on cold start

* Reduce emoji.json file size
2022-08-09 13:29:12 -04:00
Elias Nahum
dcc05956b6
Gekidou upgrade RN to 0.69.3 and dependencies (#6537)
* module dependencies

* update fastlane

* upgrade types dependencies

* update dev deps

* update react-native-notifications

* update react-native-keychain

* update sentry

* update detox

* Upgrade to RN 69.3

* increase MaxMetaspaceSize gradle opts

* feedback review
2022-08-08 09:06:20 -04:00
Jason Frerich
28a52d327f
correct spelling for log messages (#6551) 2022-08-08 10:59:36 +02:00
Daniel Espino García
f4e6917185
Ensure no unresolved types in the definition files (#6521)
* Ensure no unresolved types in the definition files

* Address feedback and general cleanup

* Move import from @constants/x to @constants where relevant

* Remove unneeded "import as"
2022-08-05 14:36:19 +02:00
Daniel Espino García
99d219d8b1
Remove copy link from DMs and GMs (#6534) 2022-08-03 09:40:40 +02: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
Avinash Lingaloo
431406f09b
MM-45221 - Gekidou Settings fixes - part 1 (#6472)
* modifying setting option

* navigates to email screen

* UI construction [in progress]

* hooking up withObservables

* email settings - need to save now

* adding a bit of paddings

* setting initial value

* Update notification_email.tsx

* UI Polish - main setting screen

* UI Polish - Mention

* UI Polish - Notification main screen

* code clean up

* code clean up

* UI Polish Notification

* UI Polish

* code clean up

* UI Polish - OOO

* fix observable for email interval

* fix ooo

* fix ooo

* added setting_row_label component

* further clean up

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Timezone Select [ IN PROGRESS ]

* Update index.test.tsx.snap

* Update app/screens/settings/notification_email/notification_email.tsx

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

* refactor after review

* update option_item so that action can accept type React.Dispatch<React.SetStateAction

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-15 13:32:25 +04:00
Jason Frerich
17f6aee8a5
[Gekidou MM-44927] Add Recent Searches Component (#6454)
* initial check in

* add search value to memoized dependencies in modifier component

* ignore the back press

* UI adjustments from PR feedback

* initial commit

* recent search are getting rendered from WDB

* search terms from the search bar are getting added

* can delete recent searches from WDB from recent searches Options

* will now add new ters to the table and recreate existing terms with new
timestamp

* push for scrollview

* use flatlist instead of scrolview

* s/deleteRecentTeamSearchById/removeSearchFromTeamSearchHistory/

* s/addRecentTeamSearch/addSearchToTeamSearchHistory/

* Fix search to use a flatlist and remove douplicate reference

* fix eslint

* Fix android autoscroll search field to the top

* limit the number of saved searches to 20 for a team.
return the results a team Search History sorted by createdAt

* set display to term for now

* clean up

* clean up

* extract as constant

* move styles to the top

* always update the created_at value in the database.

* remove unused function

* - remove useMemo of recent
- set or remove props on AnimatedFlatlist

* styling adjustments

* styling changes

* divider takes up 1ox so only need 15px margin to get the 16px total to
the neighboring veritcal views

* update compassIcon to match figma design

* update divider opacity to match figma design

* update styling from UX PR requests

* increase close button to touchable area of 40x40 and adjust menuitem
container

* use logError instead of console.log and trowing an error

* remove surrounding parenthesis

* There is only one record, so no need to batch.  Just call
destroyPermanently.

* call destroyPermanently directly

* when not useing the onScroll callback you don't need to set the
scrollEventThrottle

* set the max searches saved to 15

* no need to memoize

* shoud be a function call

* batch the add/update with the delete of the oldest model

* Minor improvements

* Fix bug when hitting back on search screen

* Fix long channel names in search results

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-14 14:56:08 +02:00
Jason Frerich
97b5e75e5f
[Gekidou - MM-44930] Use File component for showing files in search. (#6425)
* add observables for search component
add loader screen
add file client searches for files

* hook up loader component for loading state

* search results with found posts now working

* get and store files when searching

* query file results from the database
display dummy file text for now

* add filter screen and icon to the results header

* needs some cleanup but functionally works
- applied filters reduce files to subset of selectd types
- no filters will show all files

* update number files in parenthesis to match the filtered number of files
(if filtered)

* added the missing file extensions found in webapp
added document_types which is a superset of other types

* remove clear all text from filter and from bottom_sheet component

* checkin before merge latest gekidou branch
- change filters to use latest figma design
  - from multiselect to single select
  - revert changes to bottom sheet content that allowed adding a RHS title button
  - start of the file attachement cards show in file results

* Cleanup and fixes

* Remove nested scroll views

* Address feedback

* Address feedback

* extract the fileInfos from the results object, from an array

* add translations for filters

* add translations

* use Object values to determine if has file info results

* Combine fetch recent mentions and search for posts

* add search icon back to home screen

* remove unused function import

* fix formatting and add 3 dot onPress option

* don't show search button

* Add touchable opacity for pressing the card
Add function for opening gallery
Fix `...` so only clicking directly over it calls it's function.  Everywhere else calls open gallery

* place compassIcon in a touchable and add hitslop
create individual objects for flex column and row

* use one-liner for text
move constant outside of the component

* truncate filename if over max filename lenght and append ...
fix style for filename

* remove all commented filetype code. This will not be added to the card
because of added length to second row. Feedback from UX discussion

* remove trimFileName function and MAX_FILENAME_LENGTH constant
make the textContainer grow in width.  The other flex boxes are constant width
align main container center and remove vertical margins

* create TabTypes contant and TabType Type to replace all uses of 'messages' and
'files'

* make padding adjustments based on the selected tab and if there are
results.
When no results are shown, we want the 'Check the spelling or try
another search' text to not move or flicker when switching between files
and messages

* put the margin on the touchable container, not the compassicon so the
hitslop is relative to the compassicon.

* Add the channel name to the filecard.
each fileInfo from the server contain a channel_id. Add to the reponse type

* Move the channel name to a separate line

* implement changes from PR. Shrink channel name when it doesn't fit

* use a useMemo instead of useCallback

* initial commit

* working copy using the File component instead of creating a new FileCard
component

* add styhling for long channel name

* update styling for info text

* update styling

* disable lint check for console statement until function is hooked up

* fixt linting errors caused by api including channel_id. It needs to be
optional or the model will complain

* when a file is an image, show the image or video as an image instead of
the generic file icon

* make `asCard` File Prop optional

* shift the image icon over 4px

* tweaked styles

* tweaked styles for file info

* move files directory from inside the post_list/post/body/ folder to its
own component because is it referenced from other screens and components
including:

app/components/post_draft/uploads/upload_item/index.tsx
app/components/post_list/post/body/content/image_preview/image_preview.tsx
app/components/post_list/post/body/content/message_attachments/attachment_image/index.tsx
app/components/post_list/post/body/index.tsx
app/screens/gallery/document_renderer/document_renderer.tsx
app/screens/home/search/results/results.tsx

* create useImageAttachments hook and share with files component and
results

* rename all renderXXXFile useMemo options to xxxFile. These return the
actual component

* use explicit Boolean(onOptionsPress)

* isSingleInput does not need to be a function

* use find instead of filter().map()

* add dependencies and refactor to reduce some file dependency arrays

* order files by reverse create_at date

* remove console.log and leave as a comment for now

* update styling so that the view wrapper has the borderRadius.  Now
android and ios get the correct borderRadius surrounding the channel
name

* use the results of the ordered useImageAttachements results as data for
File and Gallery

* remove extra empty line

* PR feedback
- rename capitalize const
- add several useCallbacks
- use typescript optional parareter instead of if statement

* - remove useMemos that only return a component
- fix bug - when channel name is not present, don't show the channel
  component. This happened when looking at posts in a channel because
  post comes from the model, which does not include the channelName.
  This is because in the channel view all images are in a specific
  channel and no need to store it

* remove useMemo import

* remove callback

* - remote unused operator
- nothing needed outside of try catch

* remove unused Client import

* s/xxxFile/renderXxxFile/ because theare are a function that returns a
component

* move constant above component

* default to 0 instead of forcing to be defined

* use observerConfigBoolean

* import as type because not useing to construct as models

* add links to Jira ticket and github PR

* add line breaks and sort alphabetically

* use ternary operator to reduce number of lines

* move up as far as possible

* remove unused style

* sort props and input vars alphabetically

* move higher in the component

* return ealier

* no need for useDerivedValue. useMemo instead

* use useCallback

* Minor tweaks and fixes

* Remove floats from style

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-07-14 12:50:05 +02:00
Avinash Lingaloo
39cfb297a3
MM-39711 - Gekidou Advanced Settings (#6412)
* fix display clock

* implemented help functionality

* skelton for adv settings

* added rightComponent to menuItem

* added advanced settings

* adv settings delete

* Update en.json

* clean up

* Update index.tsx

* fix for camera-roll on android > 30

* undo delete camera-roll images

* Update app/screens/settings/index.tsx

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

* refactoring

* removed menu item

* refactored imports and getAllFilesInCachesDirectory transferred into util/files

* corrections after review

* ts fix

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-08 14:39:41 +04:00
Shaz MJ
dcfc6e7927
[Gekidou] Groups + group-memberships deferred fetch (#6370)
* WIP

* Actions updated to fetch remote first, and local on error

* Groups fetch and save

* PR Feedback: prepare vs store and undefined fix

* Forgot to add file

* Groups Mention WIP

* Groups highlight!

* Merge, PR Feedback

* PR Feedback

* PR Feedback: Try/Catch blocks

* PR Feedback

* Rebased with PR feedback

* Exclusion fix, plus id order

* Tidies up iterations

* Loops updated

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

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

* PR Feedback: Remove unnecessary prepare/store methods

* Newline ESLint error

* Extracts out id generation for group-associations

* Batches if not fetchOnly

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-07-07 12:20:06 +02:00
Elias Nahum
d09ead850e
[Gekidou] Fix video uploads (#6440) 2022-06-30 19:16:37 -04:00
Elias Nahum
136b796ac3
Fix theming and navigation stack tracking (#6443) 2022-06-30 11:14:07 -04:00
Daniel Espino García
82c514013c
Fix links to channels closing the channel (#6446) 2022-06-30 11:13:28 -04:00
Elias Nahum
330dc0b9ad
Do not show expired custom status in userItem (#6439) 2022-06-30 11:13:14 -04: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
Shaz MJ
f8140f2117
[Gekidou] Groups mentions / highlights in messages (posts) (#6338)
* WIP

* Actions updated to fetch remote first, and local on error

* Groups fetch and save

* PR Feedback: prepare vs store and undefined fix

* Forgot to add file

* Groups Mention WIP

* Groups highlight!

* Merge, PR Feedback

* PR Feedback

* PR Feedback: Try/Catch blocks

* PR Feedback
2022-06-29 07:47:37 +10:00
Jason Frerich
2230fe8a70
[Gekidou - MM-44929] Search Screen - Always fetch filter results from server (#6366)
Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-06-28 09:56:51 -05: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
Avinash Lingaloo
fe3f0cc892
MM-39711 - Gekidou Settings Timezone (#6384) 2022-06-24 06:52:05 -04:00
Joseph Baylon
7a71d864e2
Detox/E2E: Messaging post options e2e tests in Gekidou (#6405)
* Detox/E2E: Messaging post options e2e tests in Gekidou

* Simplify find channels search bar
2022-06-17 21:01:05 -04:00
Daniel Espino García
ee3b655991
Fix permalink to not joined channels and to not fetched posts. (#6294)
* Fix permalink to not joined channels and to not fetched posts.

* i18n-extract

* Implement as designed

* Revert unintended change

* Minor fix and fix svgs

* updated svg to fix masking problems and colors

* Fix lint

* Address feedback

* Update join_public_channel.tsx

fixed public channel svg

* Update join_public_channel.tsx

* Update join_private_channel.tsx

* Address feedback

Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-06-17 19:23:12 +02:00
Jason Frerich
196f922b6a
[Gekidou - MM-44645] Search Screen - show results from server (#6314)
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-06-15 08:29:32 -05:00
Avinash Lingaloo
9370a9c54e
MM-39711 - Gekidou Settings Push Notification functionality (#6373)
* adding nav hooks

* added save button

* capturing value from OptionItem

* notification - saving in progress

* tested API

* corrections after review

* Update en.json

* Update notification_push.tsx

* ts fixes

* minor improvement

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-06-14 10:35:50 +04:00
Elias Nahum
bfffa0e10a
[Gekidou] db manager database getters (#6377) 2022-06-13 18:32:47 -04:00
Avinash Lingaloo
c5dc41dae3
MM-39711 - Gekidou Settings - Mentions functionality [3] (#6368) 2022-06-13 09:47:59 -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
Elias Nahum
a7c49100ab
[Gekidou] Add empty unreads placeholder (#6350)
* Add empty unreads placeholder

* ux feedback

* Use SidebarText witn 0.12 opacity as the button bg color

* Set tertiary button helper to use theme.sidebarText color
2022-06-06 15:03:29 -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
e01d8f46c2
Disallow connecting to the same server from the multi-server selection (#6355) 2022-06-06 09:22:08 -04:00
Elias Nahum
b4e0304f2f
Change permalink modal to overFullScreen 2022-06-03 12:34:30 -04:00
Avinash Lingaloo
2d3d43c000
MM-39711 - Gekidou Notification Push Notification main screen (#6312)
* added chevron to menu item component

* starting with the skeleton

* starting with the skeleton

* starting with the skeleton

* starting with the skeleton

* remove extra line

* tested on tablets

* some corrections

* corrections as per review

* starting with notification skeleton

* attached notification settings to navigation

* added auto responder

* update translation

* update snapshot

* updated snapshot

* correction after review

* removed unnecessary screen

* refactored

* updated the testIDs

* Update Package.resolved

* refactor

* removed Mattermost as default server name

* fix ts

* refactored settings constant

* display settings skeleton

- pending: query for allowed themes

* added 'allowedThemes' query

* added section item

* mention screen skeleton in place

* added section and sectionItem component

* added reply section to the mention screen

* update i18n

* rename screens properly

* update i18n

* Refactored to MentionSettings component

* Refactored to ReplySettings component

* style clean up

* textTransform uppercase

* rename Section/SectionItem to Block/BlockItem

* added mobile push notif screen - push status section

* adding text to those two components

* correction following review

* added mobile push notification section

* added mobile push notification thread section

* style fix

* code fix

* code fix

* MM-39711 - Gekidou Notification - Auto Responder main screen (#6313)

* added skeleton for auto responder

* code clean up

* correction from peer review

* correction from PR review

* clean up

* PR review correction

* correction

* clean up

* clean up

* code clean up

* code clean up
2022-06-03 16:02:40 +04:00
Elias Nahum
0b4980cf65
[Gekidou] multiple fixes (#6335)
* Fix navigation stack tracking

* Fix hardwareBackPress handlers

* Use user locale for formattedTime

* Show in-app notifications when in a thread but hide when in the same thread

* Fix post draft archived & read only safe area

* Do not show reply post option in thread screen

* Open permalink as full screen modal

* Fix crash when using chinese locale

* Fix team list and call handle team change
2022-06-03 07:18:29 -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
Elias Nahum
f203b74b2f
[Gekidou] Update Markdown theme (#6328)
* Fix Markdown when theme changes / latex correct font color

* Do not fetch emojis that are unicode

* Check for unicode emoji before searching for custom emoji
2022-06-01 17:05:25 -04:00
Elias Nahum
4ab7a6baa6
[Gekidou] commonmark feature parity (#6303)
* Initial attempt at search highlighting for Markdown

* Remove fonts from highlighted text so that it can be bolded

* Add initial task list support

* Render markdown checkbox

* Switch to Commonmark fork

* Use searchPatterns prop

* searchPatterns prop at post level

* Update app/components/markdown/transform.ts

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
2022-05-27 14:30:34 -04:00
Matthew Birtch
631e8ebd59
[Gekidou MM-44209] Markdown heading style updates (#6296)
* first commit to update heading styles for markdown

* updated heading styles to use typography helper

* fix imports

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-20 14:15:50 -04:00
Elias Nahum
e883186fde
[Gekidou] retry post (#6293)
* Add try again functionality to failed posts

* Fix attach files on Android

* feedback review

* Prevent android crash when uploading files for the first time

* Update the timestamp for updateAt when retrying to post

* Add POST TIME TO FAIL

* use function isPostFailed
2022-05-20 13:23:19 -04:00
Daniel Espino García
5dba7f2667
Properly handle deleted system posts (#6297) 2022-05-20 13:12:22 +02:00
Elias Nahum
dfe2b7cfbd
CRT fixes for MM-44210 & MM-44156 (#6295)
* CRT fixes for MM-44210 & MM-44156

* Covered other conditions and renamed variables to be consistent

Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
2022-05-20 06:28:12 +05:30
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
Avinash Lingaloo
e2d45165ab
MM-43584 - Gekidou Mute Channel SnackBar (#6241)
* add remote action updateChannelNotifyProps

* Squashed commit of the following:

commit f093cd3409e5b6c9101d65e74b4e2eed3fb55097
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Mon May 2 12:12:43 2022 +0400

    revert changes made to the ephemeral store

commit aabe8bd17e0acde927ce208bf114f2cedd45c977
Merge: 18df47210 ee01febbb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Mon May 2 12:09:50 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit 18df472108a935372cc7bee3668f196f0389e807
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Mon May 2 12:04:53 2022 +0400

    fix timer not stopping

commit 5910238aaa8d535070e83c311c51361b8f7a2921
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 18:19:18 2022 +0400

    style fix

commit def4ad4cfdb031fae0b1e2b2cac83a18bee72961
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 14:36:36 2022 +0400

    eslint fix

commit 99fa65e780d0e89ba3d0e1a44464128f59336aeb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 14:18:03 2022 +0400

    fix styling

commit cf335e28b05f9f6b63bdc3405215f2cc799f3690
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 13:54:05 2022 +0400

    fix  layoutAnimation

commit d1dacbba73eff5a998d61b1d109ab155023bb6ef
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 13:43:04 2022 +0400

    add exitingg layoutAnimation

commit bb1156c3da9357ab969e1b2d3a5b900d54c226f2
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 13:26:37 2022 +0400

    add entering layoutAnimation

commit 36d7286acdd2e728de5978c9c0dbce97ade6b309
Merge: 177281fbe 22a173ec9
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 11:41:30 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit 177281fbeb31d6260f7f8a62ac8113a4ac0b670d
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 11:41:06 2022 +0400

    cancelled timers on panning start

commit 6925cf59aad1be3001a3b538a4725dac4364c871
Merge: e294a3a19 dad63b87b
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 17:36:11 2022 +0400

    rebasing

commit e294a3a1991a9fc8d341c465d3b3cc9eb66b3a04
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 17:14:33 2022 +0400

    dismiss overlay on tabPress

commit 9a57a0866fd53992519c34c0df423bfb910da35d
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 16:59:07 2022 +0400

    dismiss overlay on tabPress

commit c7eef4b3048da94fdda4690a5a2b6f62a63348b4
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 15:55:33 2022 +0400

    dismiss overlay on navigating away

commit 58a364171e7057ede5100f47df90fe591a16238e
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 15:25:27 2022 +0400

    dismiss overlay on navigating away

commit 3c53e7d6a79a1db31c9b06906c5af70380df214d
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 13:42:10 2022 +0400

    checks for ongoing animation

commit e62a4ee2a25c505a84fcf1d4ae8597ef0821d6bd
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 13:14:39 2022 +0400

    removed toast keyword

commit bc014b86e9498169b357943889cf0d929316d2ee
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 12:54:55 2022 +0400

    PanGesture- fine tuning the animation

    PanGesture- wip

commit 8f675566e7e687eeaded6d1fa1a7f1473a8e2a2c
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 12:09:35 2022 +0400

    PanGesture- wip

commit eb2a63c75fd0d3b6edc82772537048f4a28e48ea
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed Apr 27 11:17:13 2022 -0400

    snack positioning and touches

commit 6db7f0e0e7f7229fe107c2a6480b7f3a8ec057da
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 27 16:43:47 2022 +0400

    using EphemeralStore and listeners to discard overlays

commit 99a9a527899442d1ca8e047f7e7230878c41057e
Merge: 5237401f5 776f56efb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 27 14:51:32 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit 5237401f524165b83410928a184872b69aaa7554
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 27 13:16:47 2022 +0400

    able to touch through on iOS

commit 7dc5c5c39e801d75eaba1cfbb477b8b6ef39e713
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Tue Apr 26 15:17:53 2022 +0400

    adding PanGesture

    adding PanGesture- wip

    PanGesture- wip

commit 772654f7e52ab00a7b2b28f316c6872e96e5c3f1
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 21 13:57:42 2022 +0400

    update message to text

commit 53c7ca68ba1b934ddded40602cc9bf040d1ae7c1
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 21 13:40:30 2022 +0400

    adjust width

commit 0c20bd7e737bdd9f67a83bc943a30c9db061d9b5
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 18:05:44 2022 +0400

    changed location to sourceScreen in post.tsx

commit efbccbb7104ebfa7025a631b44eccb277583b9aa
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 18:04:19 2022 +0400

    removed space

commit cc400482bda201d1c1208698bdefe127888be6d5
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 18:01:23 2022 +0400

    corrections from reviews

commit 4204b6c656078069eb33fbc67fd1c36c5f0753ff
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 14:47:52 2022 +0400

    Update en.json

commit 80f6d675f502c205d8b9fead6a47aa2b0f0d63ec
Merge: c59a2cfc0 c1e71b09c
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 14:27:33 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit c59a2cfc0532277284deac1d347ba0228974a9da
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 13:58:22 2022 +0400

    removed offSetY

commit a65af7057be3caacbed1e9aa705bce73fc14e7b3
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 12:24:02 2022 +0400

    styling tablet

    wip

    tablet portrait

commit 3ef280c80cf25120e6df6c3920abfa4a9559d2cb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Tue Apr 19 16:10:37 2022 +0400

    styling mobile

    wip

* Squashed commit of the following:

commit ab09b39c77cb6f8e69f0fc7b73af8839e5800ac6
Merge: 038476c01 362db9d98
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu May 5 15:06:12 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit 038476c01a2a809bc127a34e40e028a4ebc1d4ea
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu May 5 15:05:24 2022 +0400

    bumping the toast vertically by 4px

commit 362db9d98d
Author: Shaz MJ <shaz.amjad@mattermost.com>
Date:   Thu May 5 11:17:33 2022 +1000

    Moves collapse animation to FlatList, updates timings (#6220)

    * Moves collapse animation to FlatList, updates timings

    * dev review

    * filters unreads from other categories & removes duplicate

    Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
    Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

commit 14abe4d2ac
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 17:26:32 2022 -0400

    Remove jcenter (#6226)

commit c8e46607b7
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 13:13:23 2022 -0400

    upgrade exoplayer

commit 32fd8e3cda
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 12:15:13 2022 -0400

    Add ellipsis to server displayName & url (#6223)

commit abc5dc4bc3
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:55:51 2022 -0400

    Fix GM display name (#6215)

commit ecfbb934a8
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:51:14 2022 -0400

    [Gekidou] Exclude muted channels from unread badges (#6208)

    * Exclude muted channels from unread badges

    * Gekidou unreads mention fix (#6221)

    * Removes muted channels without mentions from grouped unreads

    * show channel if unread and have no mentions when unread up top

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

    Co-authored-by: Shaz MJ <shaz.amjad@mattermost.com>

commit 588491f582
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:32:43 2022 -0400

    Fix alignment of custom status (#6211)

commit 4fc077caef
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:13:17 2022 -0400

    Fetch missing custom emojis (#6216)

commit 3aa0425fdd
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:12:37 2022 -0400

    Preserve notifications when tapping or clearing notifications from a channel (#6209)

commit bd50422167
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 17:26:35 2022 -0400

    Hide archive channels in channel list (#6214)

commit 43c43e50d4
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 14:43:55 2022 -0400

    Do not set new line message indicator on own posts (#6206)

commit f973ac8016
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 14:29:37 2022 -0400

    [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

commit bb42339c42
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 11:58:47 2022 -0400

    Increase tap area of the + button on home screen (#6207)

commit 02b4295464
Author: Daniel Espino García <larkox@gmail.com>
Date:   Tue May 3 17:22:21 2022 +0200

    [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>

commit 2376dc934c
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 08:54:13 2022 -0400

    Fix Back button position in Navigation Header (#6204)

commit f093cd3409e5b6c9101d65e74b4e2eed3fb55097
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Mon May 2 12:12:43 2022 +0400

    revert changes made to the ephemeral store

commit aabe8bd17e0acde927ce208bf114f2cedd45c977
Merge: 18df47210 ee01febbb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Mon May 2 12:09:50 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit 18df472108a935372cc7bee3668f196f0389e807
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Mon May 2 12:04:53 2022 +0400

    fix timer not stopping

commit 5910238aaa8d535070e83c311c51361b8f7a2921
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 18:19:18 2022 +0400

    style fix

commit def4ad4cfdb031fae0b1e2b2cac83a18bee72961
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 14:36:36 2022 +0400

    eslint fix

commit 99fa65e780d0e89ba3d0e1a44464128f59336aeb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 14:18:03 2022 +0400

    fix styling

commit cf335e28b05f9f6b63bdc3405215f2cc799f3690
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 13:54:05 2022 +0400

    fix  layoutAnimation

commit d1dacbba73eff5a998d61b1d109ab155023bb6ef
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 13:43:04 2022 +0400

    add exitingg layoutAnimation

commit bb1156c3da9357ab969e1b2d3a5b900d54c226f2
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 13:26:37 2022 +0400

    add entering layoutAnimation

commit 36d7286acdd2e728de5978c9c0dbce97ade6b309
Merge: 177281fbe 22a173ec9
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 11:41:30 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit 177281fbeb31d6260f7f8a62ac8113a4ac0b670d
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Fri Apr 29 11:41:06 2022 +0400

    cancelled timers on panning start

commit 6925cf59aad1be3001a3b538a4725dac4364c871
Merge: e294a3a19 dad63b87b
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 17:36:11 2022 +0400

    rebasing

commit e294a3a1991a9fc8d341c465d3b3cc9eb66b3a04
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 17:14:33 2022 +0400

    dismiss overlay on tabPress

commit 9a57a0866fd53992519c34c0df423bfb910da35d
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 16:59:07 2022 +0400

    dismiss overlay on tabPress

commit c7eef4b3048da94fdda4690a5a2b6f62a63348b4
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 15:55:33 2022 +0400

    dismiss overlay on navigating away

commit 58a364171e7057ede5100f47df90fe591a16238e
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 15:25:27 2022 +0400

    dismiss overlay on navigating away

commit 3c53e7d6a79a1db31c9b06906c5af70380df214d
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 13:42:10 2022 +0400

    checks for ongoing animation

commit e62a4ee2a25c505a84fcf1d4ae8597ef0821d6bd
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 13:14:39 2022 +0400

    removed toast keyword

commit bc014b86e9498169b357943889cf0d929316d2ee
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 12:54:55 2022 +0400

    PanGesture- fine tuning the animation

    PanGesture- wip

commit 8f675566e7e687eeaded6d1fa1a7f1473a8e2a2c
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 28 12:09:35 2022 +0400

    PanGesture- wip

commit eb2a63c75fd0d3b6edc82772537048f4a28e48ea
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed Apr 27 11:17:13 2022 -0400

    snack positioning and touches

commit 6db7f0e0e7f7229fe107c2a6480b7f3a8ec057da
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 27 16:43:47 2022 +0400

    using EphemeralStore and listeners to discard overlays

commit 99a9a527899442d1ca8e047f7e7230878c41057e
Merge: 5237401f5 776f56efb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 27 14:51:32 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit 5237401f524165b83410928a184872b69aaa7554
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 27 13:16:47 2022 +0400

    able to touch through on iOS

commit 7dc5c5c39e801d75eaba1cfbb477b8b6ef39e713
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Tue Apr 26 15:17:53 2022 +0400

    adding PanGesture

    adding PanGesture- wip

    PanGesture- wip

commit 772654f7e52ab00a7b2b28f316c6872e96e5c3f1
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 21 13:57:42 2022 +0400

    update message to text

commit 53c7ca68ba1b934ddded40602cc9bf040d1ae7c1
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu Apr 21 13:40:30 2022 +0400

    adjust width

commit 0c20bd7e737bdd9f67a83bc943a30c9db061d9b5
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 18:05:44 2022 +0400

    changed location to sourceScreen in post.tsx

commit efbccbb7104ebfa7025a631b44eccb277583b9aa
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 18:04:19 2022 +0400

    removed space

commit cc400482bda201d1c1208698bdefe127888be6d5
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 18:01:23 2022 +0400

    corrections from reviews

commit 4204b6c656078069eb33fbc67fd1c36c5f0753ff
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 14:47:52 2022 +0400

    Update en.json

commit 80f6d675f502c205d8b9fead6a47aa2b0f0d63ec
Merge: c59a2cfc0 c1e71b09c
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 14:27:33 2022 +0400

    Merge branch 'gekidou' into gekidou-snack-bars

commit c59a2cfc0532277284deac1d347ba0228974a9da
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 13:58:22 2022 +0400

    removed offSetY

commit a65af7057be3caacbed1e9aa705bce73fc14e7b3
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Wed Apr 20 12:24:02 2022 +0400

    styling tablet

    wip

    tablet portrait

commit 3ef280c80cf25120e6df6c3920abfa4a9559d2cb
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Tue Apr 19 16:10:37 2022 +0400

    styling mobile

    wip

* minor clean up

* Squashed commit of the following:

commit c7c00b8316
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Thu May 5 18:25:46 2022 -0400

    Ensure posts are not covered by the post draft on channel switch

commit 58719c82dc
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Thu May 5 14:09:30 2022 -0400

    fix flip of post list (#6234)

commit 9d3c7c9496
Author: Joseph Baylon <joseph.baylon@mattermost.com>
Date:   Thu May 5 10:04:33 2022 -0700

    Detox/E2E: Messaging e2e tests in Gekidou (#6228)

commit 1760b75dbf
Author: Anurag Shivarathri <anurag6713@gmail.com>
Date:   Thu May 5 21:03:09 2022 +0530

    [Gekidou] [MM-43973] Thread footer for recent mentions (#6225)

    * Displaying thread footer

    * Participants can be empty

    * Update thread.ts

commit 83c2cfff97
Author: Avinash Lingaloo <avinashlng1080@gmail.com>
Date:   Thu May 5 18:00:32 2022 +0400

    MM-41532 Gekidou Snack Bars (#6181)

    * styling mobile

    wip

    * styling tablet

    wip

    tablet portrait

    * removed offSetY

    * Update en.json

    * corrections from reviews

    * removed space

    * changed location to sourceScreen in post.tsx

    * adjust width

    * update message to text

    * adding PanGesture

    adding PanGesture- wip

    PanGesture- wip

    * able to touch through on iOS

    * using EphemeralStore and listeners to discard overlays

    * snack positioning and touches

    * PanGesture- wip

    * PanGesture- fine tuning the animation

    PanGesture- wip

    * removed toast keyword

    * checks for ongoing animation

    * dismiss overlay on navigating away

    * dismiss overlay on navigating away

    * dismiss overlay on tabPress

    * dismiss overlay on tabPress

    * cancelled timers on panning start

    * add entering layoutAnimation

    * add exitingg layoutAnimation

    * fix  layoutAnimation

    * fix styling

    * eslint fix

    * style fix

    * fix timer not stopping

    * revert changes made to the ephemeral store

    * bumping the toast vertically by 4px

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

commit 2deb2e01e0
Author: Anurag Shivarathri <anurag6713@gmail.com>
Date:   Thu May 5 18:36:18 2022 +0530

    [Gekidou][MM-43870, MM-43896, MM-43898, MM-43902, MM-43903] CRT related bug fixes (#6205)

    * Fixes

    * Updated snapshot

    * Excluding current user from getting updated

    * Doesn't handle users if it's empty

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

commit 251ef0992b
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Thu May 5 08:53:27 2022 -0400

    Fix create direct message styles (#6224)

commit 5620a50975
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Thu May 5 08:53:02 2022 -0400

    Fix channel item with long name and badge (#6222)

commit a0d2f33b2f
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Thu May 5 08:47:09 2022 -0400

    Dismiss post options before executing action (#6227)

commit c4e1b4ad3e
Author: Shaz MJ <shaz.amjad@mattermost.com>
Date:   Thu May 5 22:45:50 2022 +1000

    Fixes grouped unread sorting (#6230)

    * Fixes grouped unread sorting

    * Type fix

commit 362db9d98d
Author: Shaz MJ <shaz.amjad@mattermost.com>
Date:   Thu May 5 11:17:33 2022 +1000

    Moves collapse animation to FlatList, updates timings (#6220)

    * Moves collapse animation to FlatList, updates timings

    * dev review

    * filters unreads from other categories & removes duplicate

    Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
    Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

commit 14abe4d2ac
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 17:26:32 2022 -0400

    Remove jcenter (#6226)

commit c8e46607b7
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 13:13:23 2022 -0400

    upgrade exoplayer

commit 32fd8e3cda
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 12:15:13 2022 -0400

    Add ellipsis to server displayName & url (#6223)

commit abc5dc4bc3
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:55:51 2022 -0400

    Fix GM display name (#6215)

commit ecfbb934a8
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:51:14 2022 -0400

    [Gekidou] Exclude muted channels from unread badges (#6208)

    * Exclude muted channels from unread badges

    * Gekidou unreads mention fix (#6221)

    * Removes muted channels without mentions from grouped unreads

    * show channel if unread and have no mentions when unread up top

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

    Co-authored-by: Shaz MJ <shaz.amjad@mattermost.com>

commit 588491f582
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:32:43 2022 -0400

    Fix alignment of custom status (#6211)

commit 4fc077caef
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:13:17 2022 -0400

    Fetch missing custom emojis (#6216)

commit 3aa0425fdd
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Wed May 4 09:12:37 2022 -0400

    Preserve notifications when tapping or clearing notifications from a channel (#6209)

commit bd50422167
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 17:26:35 2022 -0400

    Hide archive channels in channel list (#6214)

commit 43c43e50d4
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 14:43:55 2022 -0400

    Do not set new line message indicator on own posts (#6206)

commit f973ac8016
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 14:29:37 2022 -0400

    [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

commit bb42339c42
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 11:58:47 2022 -0400

    Increase tap area of the + button on home screen (#6207)

commit 02b4295464
Author: Daniel Espino García <larkox@gmail.com>
Date:   Tue May 3 17:22:21 2022 +0200

    [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>

commit 2376dc934c
Author: Elias Nahum <nahumhbl@gmail.com>
Date:   Tue May 3 08:54:13 2022 -0400

    Fix Back button position in Navigation Header (#6204)

* snack bar with undo option

* fix react error

* implement onAction correctly

* implemented pessimistic approach

* fix ts issue

* Move toggleMuteChannel to remote actions

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-17 14:19:55 -04: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
Elias Nahum
08d80e6236
Replace lottie loading spinner for activity indicator (#6266) 2022-05-12 12:54:43 -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
Daniel Espino García
7e80843092
[Gekidou] [MM-41837] Add verification for push proxy and related interface (#6192)
* Add verification for push proxy and related interface

* Fix lint and extract i18n

* Be specific about undefined equalities.

* Fix test

* Address feedback

* Fix long server names styles

* Fix tests and typo
2022-05-09 11:41:16 +02:00
Elias Nahum
58719c82dc
fix flip of post list (#6234) 2022-05-05 14:09:30 -04:00
Avinash Lingaloo
83c2cfff97
MM-41532 Gekidou Snack Bars (#6181)
* styling mobile

wip

* styling tablet

wip

tablet portrait

* removed offSetY

* Update en.json

* corrections from reviews

* removed space

* changed location to sourceScreen in post.tsx

* adjust width

* update message to text

* adding PanGesture

adding PanGesture- wip

PanGesture- wip

* able to touch through on iOS

* using EphemeralStore and listeners to discard overlays

* snack positioning and touches

* PanGesture- wip

* PanGesture- fine tuning the animation

PanGesture- wip

* removed toast keyword

* checks for ongoing animation

* dismiss overlay on navigating away

* dismiss overlay on navigating away

* dismiss overlay on tabPress

* dismiss overlay on tabPress

* cancelled timers on panning start

* add entering layoutAnimation

* add exitingg layoutAnimation

* fix  layoutAnimation

* fix styling

* eslint fix

* style fix

* fix timer not stopping

* revert changes made to the ephemeral store

* bumping the toast vertically by 4px

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-05 10:00:32 -04:00
Elias Nahum
43c43e50d4
Do not set new line message indicator on own posts (#6206) 2022-05-03 14:43:55 -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
Elias Nahum
22a173ec97
[Gekidou] Add Latex support (#6195)
* Add Latex support

* Markdown memoization

* feedback review

* feedback review 2
2022-04-28 12:27:10 -04: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
Elias Nahum
1132bd0e51
[Gekidou] find channels (default state) (#6191)
* Find channels unfiltered state

* ux feedback review

* Update snapshots after ux review

* Fix channel item textStyles

* Center Channel item content

* feedback review
2022-04-25 13:27:20 -04:00
Elias Nahum
bb3a3112b1
[Gekidou] Show login screen when selecting a previous server (#6190)
* Show login screen when selecting a previous server

* Update app/screens/home/channel_list/servers/servers_list/server_item/server_item.tsx

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
2022-04-25 13:26:31 -04:00
Elias Nahum
94b2a14313
bottomSheet snapPoint helper (#6169) 2022-04-13 10:11:31 -04:00
Elias Nahum
692795a9a1
[Gekidou] Code syntax highlight (#6156)
* Code syntax highlight

* fix code syntax imports for jest

* feedback review
2022-04-12 08:59:50 -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
Elias Nahum
b530dbeb09
[Gekidou] upgrade to RN 68 (old arch) (#6138)
* upgrade to RN 68 (old arch)

* remove test setup unused & commented mock

* Android target set to 30

* Fix theme when opening app from push notification

* upgrade common mark
2022-04-08 12:40:44 -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
Daniel Espino García
d1322e84ce
[Gekidou] Add performance and code improvements around post_list (#6113)
* Add performance and code improvements around post_list

* Fix test

* Move observers from utils to queries

* remove Flipper on iOS to fix CI build

* Fix observePermissionForChannel for DM/GM

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-04-04 08:14:55 -04:00
Daniel Espino García
e2e54b3bca
[Gekidou MM-39733] Port Create Channel from V1 (#6067)
* copy directly from v1. will get working and then convert class to functional components

* screen showing up correctly.  Need to convert lifestyle methods

* create channel button working

* save before refactor in prep for bringing in edit_channel functionality

* change function naming

* clean up lint

* clean up for PR review

* clean up for PR review

* remove hoardcoded styles

* add edit_channel screen

* add handlePatchChannel

* add custom useFormInput hook. use edit screen for both create and edit screens. edit or create screen mode determined by channel prop passed in as a channel or null

* rename edit_channel to create_or_edit_channel

* displayname, header, and purpose are now an object with value and onChange props, created from the useFormInput hook. Now only need to pass this new FormInput Prop to the edit_channel_info component and deconstruct there to get the onChange and value

* fix some lint errors

* fix some lint errors

* remove empty line

* pass intl into utils validate functions because they are not Hooks.  add validation for displayName including translations.

* Move useFormInput hook to its own hooks file and import

* simplify

* remove editing prop.  Was used to determine if the right button was enabled. It was always true for edit_channel screen and always false for create channel screen.  The enableRightButton prop call back is was also used for the same reason.

* remove channeUrl editing references.  This was not implemented on v1

* pass editing prop back into component and add back logic. When editing one field must change.  when creating, just need to check that name is provided

* lint fixes

* fix typing issue for channel types

* scrolling ref should be fixed.  Linting should pass now

* Linting should pass now

* require id field in partial Channel. fixes tsc

* remove everything related to renaming the channel URL.  This has never been requred for mobile

* manage state with useReducer so that all actions/state in one location. This also removes the number of onXXX functions and reduces the number of functions in the component

* reorganize code. useEffects are at top.  Move type and interfaces outside of function component

* Fix lint

* nit: invert if statement checking a negative

* use cneterChannelColor. in figma this is center channel text, but I verified theme color by comparing to SSO login text color

* Simple snapshot tests as a start

* Add more tests

* update snapshot

* add snapshot tests. Add tests for button enabling and disabling

* simplify test with destructuring.

* PR feedback. formatting changes. get user and teamid from one call

* remove FormInput hook and use value/setvalue convention for controlled components

* no need to setChannelDisplayName after creating/updating channel

* Just pass the setXXX function.  Don't need to create as separate callback

* modify floatingTextInput component to allow placeholder text

* remove InteractionManager. PR nits

* mv EditChannelComponent into create_or_edit screen.  Rename component from EditChannelInfo to ChannelInfoForm

* correct import path

* add IntlShape Type to function input. Wrap screen with withServerDatabase, not withIntl

* remove state setting function calls from inside the reducer.  move close function outside of the component. remove setRightButton and rightButton and place rightbutton in initial appState

* move editing const after useX oneliners and before useCallback, useEffect, and useReducers

* rightButton
  - useMemo to memoize an object with dependencies
  - move out of the appState
emitCanSaveChannel
  - wrap with useCallback
onCreateChannel
  - wrap with useCallback
onUpdateChannel
  - wrap with useCallback
useEffect Navigation
  - use the callbacks as dependencies in stead of the depencies of those
    callbacks.

* wrap all formatted message with useMemo()
wrap all onXXXChangeText with useCallback and add deps
move all oneliner derived constants directly after useState useMemo

* remove useMemo from formatted text

* switchToCHannel is still not working.  failing at
  const channel: ChannelModel = await member.channel.fetch();

* use prepareMyChannelsForTeam to update db tables for new channel

* add placeholder text color

* Attach open edit channel screen to `Set Header` button in channel intro view
port SectionItem from V1 and us to add a Switch for setting private/public channel
hook up the plus icon in the channel list header to create a channel (temporary fix to allow debugging)
add new queryChannelsInfoById and queryCurrentChannelInfo query functions
update text for create screen text inputs

* Fix styles and fix actions

* Add autocomplete, fix patch, and address design feedback

* Address feedback

* Add margin between icon and label on Make Private

* Address feedback

* Address feedback

* Address feedback and fix channel list not updating when the channel gets created

* Address feedback and directly add the channel to the default category

* Render at-mentions as Members if no channelId is set

* Display autocomplete on iOS

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-31 10:06:02 +02:00
Elias Nahum
a058eddb21
[Gekidou] multi server fixes (#6102) 2022-03-30 08:04:58 -03:00
Avinash Lingaloo
7f8a55684d
MM-42787 - Gekidou User DB field remote_id (#6094)
* added remote_id to user table schema

* update user model to accomodate for remote_id field

* transform - reaction - split into its own file

* update user transformer

* update isShared function

* Fix typescript

* make remote_id field optional

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-29 14:54:09 -03:00
Elias Nahum
3650cdfc6d
fix Require cycle 2022-03-26 20:40:17 -03:00
Elias Nahum
527bd04170
Update dependencies 2022-03-26 20:33:13 -03:00
Daniel Espino García
c1b8b0ee38 Merge branch 'gekidou' into CommandAutocomplete 2022-03-24 18:45:42 +01:00
Daniel Espino García
7fecf7e474 Merge branch 'gekidou' into CommandAutocomplete 2022-03-23 17:53:43 +01:00
Elias Nahum
092e1d9ba5
Merge branch 'gekidou' into gekidou-reactions 2022-03-23 09:52:09 -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
Elias Nahum
3807fb0efd
constants 2022-03-22 14:30:44 -03:00
Elias Nahum
1448ee843a
Extract re-usable user_item component 2022-03-22 14:08:49 -03:00
Elias Nahum
7431fd4120
combine reactions by their first alias 2022-03-22 11:57:04 -03:00
Daniel Espino García
b2408bd5d1 Add command autocomplete 2022-03-17 18:07:04 +01:00
Daniel Espino García
9f9190f5db
Add User Mention to autocomplete (#6005)
* Add User Mention to autocomplete

* Minor fixes

* Fix at_mention (you) alignment

* Add missing translation strings

* Make it more parallel to channel mentions

* Fix bot tag

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-14 17:05:52 -03:00
Kyriakos Z
5178091ab0
MM-40203: permalink modal viewer for mentions (#5999)
* Permalink initial commit

* Fixes: 10 items per page

* MM-40203: permalink modal viewer for mentions

Is triggered by pressing on an item in mentions,
and shows posts around that item, including the item in a modal.

* Adds previously deleted file

* address feedback

* Move showPermalink as a remote action

* address more feedback

* fetchPostsAround to only return PostModel

* Attempt to autoscroll to highlighted item

* Permalink to not highlight saved and pinned posts

* Add bottom margin using insets to permalink screen

* Use lottie loading indicator

* Switch to channel

* Missing translation string

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-14 16:41:46 -03:00
Elias Nahum
a43dad53e1
[Gekidou] Markdown and Touchables (#6047)
* Fix markdown formatting and touchable interaction

* open gallery as overlay instead of modal

* update snapshots

* Add missing dependencies to useMemo
2022-03-14 16:32:06 -03: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
Anurag Shivarathri
5b44676985
[MM-39708] Gekidou Thread Screen (#6015)
* Thread screen

* misc

* Added snapshot for ThreadOverview

* Updated snapshot

* Misc

* Updated snapshot and ts fixes

* Made thread as a modal, fixes post list not closing on tablet

* Removed unsued variables

* Putting back the empty space before the root post (inverse list footer)

* Changed input text

* Removed empty footer space

* Misc fixes

* Disables new messages line for thread

* Loading threads before opening modal & BottomSheet componentId fix

* Moved merge navigation options to switchToThread

* Moved LeftButton to switch to thread

* Removed Q.and

* Misc fixes

* Added task id for pagination

* Removed useMemo, Q.and

* move thread close button as a prop

* Remove title font styles to use default

* Misc changes

* Misc fix

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-10 10:45:30 -03:00
Elias Nahum
0c0f92a237
[Gekidou] Markdown SVG & image size support (#6032)
* Support Markdown svg and custom size inline images

* remove commonmark patches

* move getMarkdownImageSize to @utils/markdown

* Fix worklet not present while running unit tests that use calculateDimensions

* Set max size for SVG

* Set svg dimensions based on calculated size

* feedback review
2022-03-10 09:03:09 -03:00
Anurag Shivarathri
9dbdae22fd
[Gekidou MM-39707] CRT DB (#5948)
* Database init

* Naming fix

* naming misc

* Fix test

* Added Thread Tab columns, Team Threads Count table and other changes

* Test case fix

* Test cases fix ...... AGAIN

* TS fix

* Removed loaded_in_all_threads_tab, loaded_in_unreads_tab

* Removed TeamThreadsCount table, mention & message root counts & added loadedInGlobalThreads flag

* Type changes, added delete thread with post

* Removed unused type

* Reverted relationshio of post with thread

* Calling thread destroyPermanently from post

* Removed unused table name variables

* added THREAD constant table in post model and fixed a few comments

* Misc typo fix and code clean up

* Added test case and related to participant in user model

* test cases fix

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-03-03 22:47:29 +05:30
Elias Nahum
5de54471b7
[Gekidou] Gallery (#6008)
* Gallery screen (ground work)

* Open the gallery from posts

* Open the gallery from post draft

* feedback review

* Feedback review 2

* do not remove dm channel names and localization fix

* update to the latest network-client

* do not override file width, height and imageThumbail if received file does not have it set

* bring back ScrollView wrapper for message component

* Remove Text wrapper for markdown paragraph

* Fix YouTube play icon placeholder

* Make video file play button container round

* Add gif image placeholder

* Save images & videos to camera roll

* Feedback review 3

* load video thumbnail when post is in viewport

* simplify prefix
2022-03-01 13:55:44 -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
Daniel Espino García
bcb78c499c
[Gekidou] [MM-39682] Add autocomplete and emoji suggestion (#5931)
* Add autocomplete and emoji suggestion

* Address feedback and minor fixes

* Remove unneeded constants and fix max height to be aware of the header.

* Address feedback

* Refactor PostDraft and correctly position Autocomplete

* Set min char for emoji search at 2

* Replace searchCustomEmojis from setTimeout to debounce

* Remove comments

* simplify prop

* Change naming of certain variables

* remove unnecesary fragment

* Improve Autocomplete height calculation

* Address feedback

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-22 11:30:22 +01:00
Elias Nahum
5b9492356b
Gekidou MultiServers second part (#5963)
* Edit Server display name

* Lock iPhone to portrait and iPad to landscape

* Create actions for app global to store device token and multi server tutorial

* Add MutliServer tutorial on first use

* WebSocket reconnection priority

* have isRecordGlobalEqualToRaw to not check for value

* Return early on edit server if error is found

* Prepopulate server screen with last logged out server address and name

* Add CompassIcon to circleCI asset generation
2022-02-17 10:42:06 -03: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
Suneet Srivastava
03d5ac083c
MM-39716: Added + button bottomsheet layout (#5957)
* [gekidou] feat: MM-39716 Added + Button Bottom sheet layout

* feat: Added on click to the channel header listener

* chore: Ran i18n command and did the requested changes

* chore: updated test snapshot

* Refactor PlusMenu & fix Browse Channels

* Fix snapshot tests

* feedback review

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-16 14:17:57 +01:00
Elias Nahum
df5c780337
Use dismissBottomSheet helper function instead of emitting an event (#5965) 2022-02-15 08:44:26 -03:00
Avinash Lingaloo
091bd8301b
MM-41602 Gekidou long press menu UI only (#5950)
* skeleton in place

* fix ts error

* creating base option component

* Added all options except reaction

* moved options under /component/options

* added destructive styling

* skeleton - need polishing now

* default emojis for quick reaction

* rename files and small refactor

* Properly close bottom sheet

* redid reaction component

* canSave, isSaved

* canAddReaction condition

* fix aligment

* code clean up

* fix opening on tablet

* undo comment on local reaction action

* undo needless formatting

* clean up comment

* shows selected reaction

* fix marginTop and added title for Tablet

* code clean up

* investigating navigation

* fixed navigation

* Post options bottomSheet and renamed DrawerItem to MenuItem

* renamed optionType to testID

* update navigation_close_modal to close_bottom

* removed context in favor of Pressable

* Apply suggestions from code review

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

* removed theme prop from PickReaction

* en.json and code fixes

* removed post_options from screen/index

* removed post_options from screens constant

* Revert "removed post_options from screen/index"

This reverts commit 24caa9773fef7f5355e8a3231f4b7e7afef2aa1d.

* Revert "removed post_options from screens constant"

This reverts commit 863e2faaf79819974dbb264d137fdcecc8066ec3.

* fix theme import

* remove useless margin

* disabled post_options

* refactored render method for post_options

* fixing issue on iOS

* corrections from PR review

* fix for background on mobile

* Fix stack navigation styles

* i18n-extract output

* Feedback review

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-14 17:26:16 -03: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
Elias Nahum
9efa4ae062
Rename NAVIGATION_CLOSE_MODAL as CLOSE_BOTTOM_SHEET constant (#5952) 2022-02-10 13:15:02 -03:00
Elias Nahum
1b62c10dcc
[Gekidou] various fixes (#5951)
* 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
2022-02-10 11:46:35 -03:00
Elias Nahum
3ea065b845
[Gekidou] Fix & small refactor to the app entry logic and WS reconnection (#5937)
* 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
2022-02-09 12:49:37 -03:00
Daniel Espino García
55324127e1
[Gekidou] Post input (#5844)
* 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>
2022-02-03 08:59:15 -03:00
Avinash Lingaloo
dff4f91441
MM-40364 [Gekidou] - Image Picker for Edit Profile (#5901)
* feature edit profile screen

* minor refactoring

* Apply suggestions from code review

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

* ts fixes

* revert floatingTextInput label

This reverts commit a778e1f76191aea7c1a18d60a23ffbd6d3dec0eb.

* code clean up

* Apply suggestions from code review

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

* code fix

* code fix

* Adding preventDoubleTap

* rename id to fieldKey

* Update edit_profile.tsx

* wip

* navigating through fields; partly done

* navigating through fields - partly done

* navigating through fields; partly done

* completed field navigation

* added theme into dependency array

* code clean up

* revert conditions for disabling fields

* Added colorFilters prop to Loading component

* Completed loading feature on Edit Profile screen

* code clean up

* Add profile_error

* renamed valid_mime_types to  valid_image_mime_types

* added props isDisabled to email field

* refactored next field logic

* fix

* fix

* code clean up

* code clean up

* Updated ESLINT hook rules to warning instead of disabled

* code fix

* code fix

* new line within your_profile component

* added memo for Field component

* added canSave to dependency array

* update loading component - color filter

* Update app/screens/edit_profile/edit_profile.tsx

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

* dependency fix

* fix to fetch my latest status

* fix to remove unnecessary user id for local action updateLocalUser

* prevents bouncing for iOS

* code revert

* Adding  textInputStyle and animatedTextStyle to FloatingTextInput component

* correction after dev session

* adding changes as per new ux

* Update edit_profile.tsx

* corrections after ux review

* ux review

* ux review

* code clean up

* Adding userProfileFields into useMemo

* Add enableSaveButton to dependency of submitUser

* Added react-native-image-picker

* fix picker util

* Added action for setDefaultProfileImage

* account outline on remove picture

* Update edit_profile.tsx

* fix image picker

* style fix

* fix image picker

* removed unused types

* mmjstool issue with integrity checksum

* perform camera permission check for Android

* fix to pull latest status

* updated ChangeProfilePicture to EditProfilePciture

* removed integrity key for mmjstool in package-lock.json

* corrections from pr review

* bumping react-native-image-picker to v4.7.1

* pod install

* update to hooks dependency

* fix profile picture component

* added event emitter from edit_profile_picture

* made hitslop a constant

* code clean up

* uploadProfilePicture as a remote action

* else if profileImage removed

* removed check on isBot

* update renderProfilePicture dependencies

* extractFileInfo with try catch

* updated snappoints

* Revert "updated snappoints"

This reverts commit 6d16d480a168755fc80e5bc80569ad3ba561f73b.

* profile picture size

* refactored renderProfilePicture into its own component

* change to if else

* platform select for hasPermissions

* unneeded comment removed

* else if on prefix in edit profile picture

* track has update user info now

* moved image_picker under edit_screen and increased actionSheets item height

* added preventDoubleTap for imagePicker

* multiple uploads

* switch the conditions

* added alert box as requested by Marina

* Revert "added alert box as requested by Marina"

This reverts commit 20735c17a87b40995e05eb4318c138c1adcc6c8c.

* Apply suggestions from code review

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

* removed userInfos constant

* added useMemo for certain components on profile_picture

* converting account-outline into a constant

* added panelItem component

* adding return instead of making the function return

* eslint fix

* update i18n  desc

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

* hasPictureUrl transferred to file utils

* removing excess mediaType prop

* add USER_PROFILE_PICTURE_SIZE into constant/profile

* relocate hasPictureUrl method

* relocate hasPictureUrl
* rename ImagePicker to ProfileImagePicker

* removing isDestructive property from panelTypes.

* update sectionLimit for attachFileFromPhotoGallery

* Change animation for showModalOverCurrentContext to a quick alpha on iOS

* re-create PickerUtil if intl changes

* Combine styles in edit_profile_picture component

* Split profile image component into smaller components

* useCallback for showFileAttachmentOptions

* split comment into multiple lines

* edit_profile group refs

* remove unnecessary casting

* add new line to file.d.ts

* remove extra space for utils/index.d.ts

* allowMultiSelection for attachFilesFromFiles, default is false

* Split edit profile screen into smaller components

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-01-28 16:06:50 +04:00
Daniel Espino García
1e355ee684
[Gekidou] Handle post related websocket events (#5851)
* 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
2022-01-24 12:43:21 +01:00
Daniel Espino García
d5228633b2
[Gekidou] Manage user websocket events (#5862)
* 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
2022-01-24 12:12:06 +01:00
Shaz Amjad
5762bc93b9
Corrects SemiBold to Semibold (#5903)
* Corrects SemiBold to Semibold

* Cleans font
2022-01-20 09:28:08 -03:00