Commit graph

831 commits

Author SHA1 Message Date
Mylon Suren
e729ffce7a
[MM-47481] Remove Unread Channels From Channels Switcher (#6717)
* Remove unread channels from find channels list

* remove dead code
2022-11-16 16:54:57 -05:00
Pablo Velez Vidal
0d5f86b0ab pr feedback, reorganize styles, move types to correct folder, remove unnecesary values 2022-11-16 18:07:05 +01:00
Pablo Velez Vidal
bdbbd2cb36 pr feedback: rename svg; remove unnecessary go to login screen logic; refactor save/getOnboardingViewed value function 2022-11-16 15:01:06 +01:00
Christopher Poile
ac75a07d4b
MM-48447 - Calls: guard against possible bad response from server (null) (#6769)
* guard against possible bad response from server (null)

* lock it down with a test
2022-11-15 21:44:32 +02:00
Pablo Velez Vidal
6e3ed08163 remove unnecessarys console.log 2022-11-15 17:36:36 +01:00
Pablo Velez Vidal
27557b171e remove unnecessary code 2022-11-15 16:15:06 +01:00
Pablo Velez Vidal
31f0a27a5a Merge branch 'gekidou' into MM-35065-add-onboarding-screens 2022-11-15 16:09:19 +01:00
Pablo Velez Vidal
9c1fd176f9 redirect to onboarding after deleting server; fix styles for server screen in IOS 2022-11-15 14:37:09 +01:00
Pablo Velez Vidal
f1f43880a7 Add logic to guard behind the showOnboarding config value the Onboarding feature 2022-11-15 13:50:19 +01:00
Pablo Velez Vidal
b398c90f89 simplyfy signatures 2022-11-15 13:33:27 +01:00
Pablo Velez Vidal
375d64c35e Add logic to don't show the onboarding once it has been shown once 2022-11-15 00:11:24 +01:00
Pablo Velez Vidal
ca053ed9c4 more advances on initial launch 2022-11-12 17:06:07 +01:00
Elias Nahum
0917baa714
Check that Sentry is enabled and set (#6763) 2022-11-12 13:48:50 +04:00
Jason Frerich
41b594f5a9
[Gekidou - MM-48279] Remove the team picker when a member of only one team (#6751) 2022-11-11 17:23:55 -06:00
Pablo Velez Vidal
5b09f03ac1 make the redirect to login work 2022-11-11 22:30:36 +01: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
Elias Nahum
25ddc894f2
Fix more messages bar on iOS without insets (#6752) 2022-11-11 20:47:25 +02: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
Jason Frerich
b078efe84f
[Gekidou MM-48281] Fix issue with single image result extending to full height of the image (#6750) 2022-11-10 10:56:35 -06:00
Pablo Velez Vidal
46b66a5baf initial logic for showing/not showing the onboarding 2022-11-10 15:27:35 +01:00
Pablo Velez Vidal
d11662508e make scroll to easing and depending on how many items to move, fix SVG 2022-11-09 13:03:31 +01:00
Elias Nahum
57ae3bbc7b
fix pods 2022-11-09 00:36:57 +02:00
Elias Nahum
ae0eb43793
[Gekidou] EMM fixes (#6730) 2022-11-08 22:49:39 +02:00
Christopher Poile
7038a17ef4
MM-48000: Call started in another client creates a CurrentCall on mobile client (#6708)
* move creating/leaving currentCall into the connection; refactoring

* refactoring; two-stage connecting so existing screen stream can be saved

* better separation of concerns

* change warning to debug

* use getServerDatabase instead of getActiveServerDatabase

* fix bugs

* PR comments
2022-11-08 14:45:10 -05:00
Jason Frerich
23194034da
[Gekidou MM-47765] Add horizontal padding to empty results (#6745) 2022-11-08 12:54:57 -06:00
Daniel Espino García
579eb2d4cd
Remove no longer needed todos (#6748) 2022-11-08 20:33:22 +02:00
Julian Mondragon
00914016b8 Merge branch 'gekidou' of https://github.com/mattermost/mattermost-mobile into MM-39720 2022-11-08 11:09:15 -05:00
Christopher Poile
8374d7e87f
MM-47004 - Calls: Client-side errors for microphone permissions (#6669)
* call error bar for microphone permissions; global permissions state

* i18n

* refactor permissionErrorBar component, PR comments

* add module dependency's mocks for tests

* fix error bar height

* change permissions error text

* working on 46999 redo audio handling -- will revert

* Revert "working on 46999 redo audio handling -- will revert"

This reverts commit 87bafc452c6ad6e1d7ae79ce78a0f2b461c2f150.

* only get voice track when we have mic permissions

* Android: enable mic when permissions are granted
2022-11-08 10:52:52 -05:00
Pablo Velez Vidal
d9239f3996 remove the need for rerender the footer buttons when last slide 2022-11-08 16:39:50 +01:00
Javier Aguirre
cc5331f2ba
The value wasn't unique (#6731) 2022-11-08 10:27:52 +02:00
Christopher Poile
7f5dc3c718
MM-47763 - Calls: "who is speaking" state (#6721)
* move voiceOn to the currentCall state

* simplify

* prefer no inline fns
2022-11-07 17:11:40 -05:00
Pablo Velez Vidal
c9ae29f010 use svg correctly in react native style 2022-11-07 22:35:16 +01:00
Christopher Poile
e38e547ce2
MM-45972 - Calls: test ws messages when app is in background (#6720)
* update current call on reconnect

* move loadConfigAndCalls above deferredAppEntryActions
2022-11-07 16:29:59 -05:00
Pablo Velez Vidal
564c8f2f8e fix animations for texts and buttons in footer 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
954d28e71e fix image opacity 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
63cc3e7413 add initial animation on load for first slide 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
d921da0e9d add types and translate to texts 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
3c64f308f1 fix all remaining animations using reanimate 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
d4547f3e7a fix the dots animation 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
5522b20084 animate final buttons and modify paginator animation 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
12ce554491 initial migration of everything using reanimated 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
88ef4fa9ed start the buttons animation 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
2a5237c024 add the outer dot style 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
90cac692b4 improve the animations for image and text 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
9f4207ddcf add initial animations to ttitle and text 2022-11-07 18:44:11 +01:00
Pablo Velez Vidal
f4abc5a20f extract the button to its own component; start text animations 2022-11-07 18:44:10 +01:00
Pablo Velez Vidal
50b832fbad use last index to modify buttons texts 2022-11-07 18:44:10 +01:00
Pablo Velez Vidal
92087b8c3f add the sign in handler 2022-11-07 18:44:10 +01:00
Pablo Velez Vidal
519fcd2181 add the paginator animations shadows 2022-11-07 18:44:10 +01:00
Pablo Velez Vidal
19b2c3c41f Add the paginator 2022-11-07 18:44:10 +01:00
Pablo Velez Vidal
1d134d705b add images, add initial flat list with horizontal scroll 2022-11-07 18:44:10 +01:00
Pablo Velez Vidal
b7e8c3b739 MM-35065 - add addonboarding screens; first steps 2022-11-07 18:44:10 +01:00
Matthew Birtch
1d4806d7b0
udpated theme color and position of unread dot and adjusted border radius on selected team (#6738) 2022-11-07 05:09:17 +02:00
Matthew Birtch
8e6c452256
change generic file icon to paperclip icon (#6739) 2022-11-07 05:09:03 +02:00
Elias Nahum
d8504b822c
Update denim theme link color (#6733) 2022-11-04 20:57:12 +04:00
Julian Mondragon
46b4d46e56 MM-39720_Invite People - phase 1
intl character
2022-11-03 12:16:20 -05:00
Mylon Suren
684bbb4aef
Remove down arrow next to team name and make team name unclickable (#6715) 2022-11-03 17:37:58 +02:00
Julian Mondragon
51329fb36c MM-39720_Invite People - phase 1
address feedback
2022-11-03 10:15:28 -05:00
Jason Frerich
88ff8fac30
[Bug] Emit boolean with "of" operator (#6729) 2022-11-02 19:35:23 -05:00
Julian Mondragon
eef43619fc MM-39720_Invite People - phase 1
Plus menu separator
2022-11-02 13:51:17 -05:00
Jason Frerich
debcc99480
[Gekidou MM-48006] Show keyboard when select a modifier (#6714) 2022-11-02 12:15:54 -05:00
Julian Mondragon
647cd4c9c2 MM-39720_Invite People - phase 1 2022-10-31 18:12:03 -05:00
Daniel Espino García
f033a28eb2
Make so Autocomplete opens when we use the at quick action (#6613)
* Make so Autocomplete opens when we use the at quick action

* Open keyboard when the quick action is pressed
2022-10-31 18:02:44 +01:00
Jason Frerich
b58b425909
[Gekidou - MM-47656] Members List UI Changes (#6698) 2022-10-31 09:44:04 -05:00
Daniel Espino García
bb0322321e
Fetch and store bindings (#6660)
* Fetch and store bindings

* Fix navigate and form opening
2022-10-28 17:08:28 -04:00
Guillermo Vayá
fd7ab546e0
don't bold muted channels (#6713) 2022-10-28 10:53:29 -03:00
Anurag Shivarathri
04c3533b95
[Gekidou MM-47224] Don’t show in app notifications for the active thread (#6704)
* Conditions fix

* Comments fix
2022-10-28 10:04:58 -03:00
Jason Frerich
d26d000ce3
[Gekidou MM-47999, MM-48005] Remove unusable modifiers, default team picker to current team (#6709)
* add showMore component only when exceeding 4 modifier elements

* rename variable

* When the user switches teams, default search screen to to that team
2022-10-28 10:04:30 -03:00
Elias Nahum
2eb52990ca
apply heading style to hashtags (#6710) 2022-10-28 10:02:32 -03:00
Matthew Birtch
14cc74fdb9
update team sidebar's background color to match with the theme color used in the webapp (#6711) 2022-10-28 10:01:51 -03:00
Jason Frerich
c627fb8df9
[Gekidou MM-46229] Add hideAndLock, showAndUnlock callbacks for Search (#6677)
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-10-27 22:04:26 -05:00
Christopher Poile
67342246eb
MM-45754 - Calls: Add current call bar to thread screen (#6628)
* remove isCallsPluginEnabled; add current call bar to thread screen

* popTo thread/call screen; updateProps in dismissAllModalsAndPopToScreen

* remove unneeded withServerUrl; only updateProps if needed
2022-10-25 21:34:51 -04:00
Daniel Espino García
bb051b83b9
Use always first the local channels (#6594)
* Use always first the local channels

* Fix several race condition related issues

* Remove clean after cursor change

* Address feedback

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-10-24 10:55:31 +02:00
Daniel Espino García
c82c634523
Hide autocomplete when the input is blurred. (#6692) 2022-10-21 10:35:59 +02:00
Elias Nahum
0be105e8fb
Fix gallery header & footer as well as download video toast (#6695) 2022-10-20 10:19:04 -03:00
Elias Nahum
e5d2e1d364
auto update timezone when device changes its location (#6691) 2022-10-20 10:18:41 -03:00
Jason Frerich
6b2d8ceff3
[Gekidou MM-47486] Clear the search input after selecting a user (#6683) 2022-10-20 05:54:00 -05:00
Daniel Espino García
b90eaefcc0
Remove not member teams on startup (#6688) 2022-10-20 11:31:37 +02:00
Daniel Espino García
4f4f96ff24
Fix channel links when it implies joining a channel (#6686) 2022-10-18 16:16:06 +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
Elias Nahum
e1c74124e2
Fix switch to channel when notification is dismissed (#6675) 2022-10-11 10:36:45 -03:00
Jason Frerich
380b375411
[Gekidou MM-45790] Create File Options Menu for Tablet View (#6531) 2022-10-11 08:19:13 -05:00
Elias Nahum
d201035a89
[Gekidou] Add custom status to user profile sheet (#6670)
* Add custom status to user profile sheet

* add missing translations
2022-10-11 09:18:46 -03:00
Elias Nahum
4c4d5475f3
Fix channel calls icon alignment (#6668) 2022-10-07 09:14:48 -03:00
Daniel Espino García
2b4b7c7e92
Fix permissions defaulting to true (#6653) 2022-10-04 11:40:31 +02:00
Christopher Poile
681b6b0b0f
MM-47003 - Calls - Fix for: peer connection timeout (#6658)
* force negotiation

* fix message bug

* remove forced negotiation
2022-10-03 13:12:02 -04:00
Daniel Espino García
e905f7df29
Fix login not showing the usernames (#6652) 2022-09-22 16:34:12 -04:00
Elias Nahum
13464cb06b
dismiss bottomSheet before opening the camera 2022-09-18 06:59:56 -04: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
Anurag Shivarathri
af77f74902
Fix (#6644) 2022-09-15 14:13:46 +05:30
Jason Frerich
9b41b21319
[Gekidou MM-45506] Do not include empty DM and GMs in Channel List (#6630) 2022-09-14 08:36:15 -05:00
Jason Frerich
36846e9b4c
[Gekidou MM-46847] allow wrapping long channel text in autocomplete (#6633) 2022-09-14 08:21:57 -05:00
Jason Frerich
94f1598455
[Gekidou MM-45046] Always show threads button when filtered and unfiltered (#6635) 2022-09-13 17:38:39 -05:00
Anurag Shivarathri
a98c3d5d3a
Fix (#6642) 2022-09-13 10:35:50 +02:00
Daniel Espino García
260e1cfde7
Refactor entry to better share between rest and GQL (#6638)
* Refactor entry to better share between rest and GQL

* Address feedback
2022-09-12 12:27:47 -03:00
Anurag Shivarathri
97c41057cc
[Gekidou MM-43992] Display message priority labels for the posts (#6620)
* Displays label

* feedback

* import fix

* Moved label colors to stylesheet
2022-09-11 20:45:07 +03:00
Christopher Poile
38b68733d0
MM-45755 - Calls: Unmute automatically in DM or GM channels (#6627)
* unmute in dm or gm channels

* refactor leave_and_join

* waitForReady -> waitForPeerConnection; 10ms -> 200ms check frequency
2022-09-08 13:40:55 -04:00
Daniel Espino García
9ab4c935ef
Fix autocomplete not scrolling in search in Android (#6596) 2022-09-08 04:39:15 -03:00
Elias Nahum
72d12ae1ac
Fix account screen scrollable options (#6622) 2022-09-07 08:48:38 -03:00
Daniel Espino García
1597f86aa3
Add fallback to rest on websocket reconnect (#6624) 2022-09-07 06:55:31 -03:00
Elias Nahum
5a9bba4919
Adjust bottomSheet height for iOS devices without insets (#6621) 2022-09-07 05:45:35 -03:00
Anurag Shivarathri
1fd475aaf1
fix (#6623) 2022-09-06 19:59:06 -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
096b29cb27
Do not close bottom sheet before is displayed 2022-09-03 04:46:55 -04:00
Elias Nahum
b3ad01d374
disable push notification update post/thread since while in the background 2022-09-03 04:28:31 -04: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
0d7cc9fa75
Patch RNNotification Android (#6615) 2022-09-02 10:45:23 -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
b42710759a
Fix notification entry on graphQL (#6608)
Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-09-02 07:57:47 -04:00
Daniel Espino García
e0828d6a74
Added missing field to gql query (#6607) 2022-09-01 07:54:17 -04:00
Christopher Poile
f6c3dabc57
MM-46685 MM-45753 - Fix voice activity indicator and Android speakerphone (#6606)
* voice activity indicator fix

* fix android speakerphone
2022-08-31 15:50:25 -04:00
Malik
e47dd24e19
Merge pull request #6600 from mattermost/detox-profile-status-settings
Detox/E2E: Edit Profile, Custom Status, and Settings e2e tests in Gekidou
2022-08-31 15:29:20 -04:00
Daniel Espino García
5c061eac42
Fix loading unreads not stopping with GraphQL (#6601) 2022-08-29 08:52:25 -04:00
Joseph Baylon
8d7b15da51 Detox/E2E: Edit Profile, Custom Status, and Settings e2e tests in Gekidou 2022-08-25 17:42:41 -07:00
Daniel Espino García
c051e94b6e
Fix MFA when introducing wrong token or having no teams (#6599) 2022-08-25 15:46:02 +02:00
Jason Frerich
d88bf8e535
[Gekidou MM-46370] Fix slow response time which switching between files and messages tabs (#6579) 2022-08-25 08:27:55 -05:00
Elias Nahum
f9e37c37af
Fix bottom sheet backdrop (#6595) 2022-08-25 09:07:57 -04:00
Elias Nahum
37e13b81b5
fix option box minHeight so that it fits on iPhone SE (#6588) 2022-08-24 08:55:26 -04:00
Avinash Lingaloo
afa38ddee6
MM-46443 : Gekidou - removes save button on settings screens (#6583) 2022-08-24 08:54:40 -04:00
Anurag Shivarathri
dba66832a3
Fixes (#6592) 2022-08-24 08:54:22 -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
Jason Frerich
08ecc19185
[Gekidou MM-46342] Search screen - handle loading spinner in results screen (#6575) 2022-08-20 09:03:06 -04:00
Avinash Lingaloo
bdd09607c8
Gekidou - fix about screen - wrong i18n key (#6586)
* added schemaVersion and fix wrong i18n id

* i18n extract
2022-08-20 08:58:06 -04:00
Christopher Poile
d30b97ba99
MM-45747 - Cloud freemium limits & Max participants limits (#6578) 2022-08-20 08:57:14 -04:00
Christopher Poile
1692687c32
display multiple speakers in call screen UI (#6585) 2022-08-20 08:56:44 -04:00
Elias Nahum
c2f5092678
[Gekidou] refactor clean notifications (#6566) 2022-08-19 16:29:15 -04:00
Joseph Baylon
25ae8fdb88
Detox/E2E: Account e2e tests in Gekidou (#6584)
* Detox/E2E: Account e2e tests in Gekidou

* Fix suite title

* Changed ldap port to number

* Fix testIDs for settings

* Added zephyr test case keys
2022-08-18 03:18:46 -07: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
Christopher Poile
7a63467610
do not send the call end slash command (no fallthrough) (#6580) 2022-08-17 10:01:09 -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
Elias Nahum
63e6290c76
Gekidou bump build to 419 (#6576)
* Fix profile picture update locking the screen

* Bump app build number to  419

* update fastlane
2022-08-13 09:00:25 -04:00
Daniel Espino García
afd818996e
Improve autocomplete behaviour (#6559)
* Fix positioning issues with Autocomplete

* Fix positioning for iOS and iPad

* Adapt search to new autocomplete approach

* Adapt for android

* Fix lint

* Fix calculations on channel edit

* Address feedback

* Address feedback

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-08-13 08:34:26 -04:00
Christopher Poile
6e3b2c2bd9
fix reconnect state; correct new channel state (#6574) 2022-08-12 16:02:04 -04:00
Daniel Espino García
da4b7184df
Fix graphQL error (#6573) 2022-08-12 14:19:52 -04:00
Christopher Poile
59c03b7b36
move currentCall creation into userJoined event (#6571) 2022-08-12 09:50:19 -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
Christopher Poile
c4e93ce2a5
Fix for call screen popping errors (#6569) 2022-08-11 14:03:25 -04:00
Daniel Espino García
2576e3fd16
Fix convert to private (#6562) 2022-08-11 16:18:14 +02: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
Claudio Costa
c71b28a6a8
[MM-45749] Support for advanced ICE server configs and TURN credentials (#6544)
* Support for advanced ICE server configs and TURN credentials

* PR comments

* merge conflicts

Co-authored-by: Christopher Poile <cpoile@gmail.com>
2022-08-10 12:33:02 -04:00
Claudio Costa
a2a3f4940d
Calls: WebSocket reconnection support (#6543)
Co-authored-by: Christopher Poile <cpoile@gmail.com>
2022-08-10 11:12:39 -04:00
Elias Nahum
d575b536bb
Fix load channels animation (#6558) 2022-08-10 09:37:59 -04:00
Jason Frerich
f376b3f6af
[Gekidou MM-46195] Fix team picker height (#6554) 2022-08-10 06:32:40 -05:00
Elias Nahum
f55976a2c3
Pass down client custom headers to native (#6556) 2022-08-09 13:29:51 -04: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
Jason Frerich
6d43406e3a
- use the same handler for onClose and onClear. (#6481)
- SearchBar component will handle the focussing and blurring
- Keyboard dismissal is handled in the onCancel and onClear functions in
search/index.tsx
2022-08-08 10:57:04 +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
Jason Frerich
aec0ccb105
[Gekidou MM-44940] Add autocomplete to navigation search (#6516)
* implement so that autocomplete will track the collapsable header

* add search screen

* move autocomplete to it's own view and add zindex to the view so it sits
atop the modifiers and results

* remove unused imports

* - remove console.log
- paddingTop is optional

* remove comments

* remove commented code

* - use a more reasonable zindex value. On more than in Nav Header
- use consts for autocomplete padding top

* remvoe search screen button

* - add dependencies

* - remove search button

* - not needed

* move autocomplete zindex to constant

* - move autocomplete directly below NavigationHeader
- adjust distance from search box

* - remove setXX from dependencies
- remove useMemo because only returning the component

* remove these changes. after placing autocomplete correcting in the
search component, this works as expected

* without this setting, ios has the issue where autocomplete is open,
transparent, and has height.  The user cannot click any modifiers.

* - need usememot for autocomplete
- add isSearch to remote runSearch function as option to hit the search
  for autocomplete API option
- Initial component needs handleTextChange callback to set the
  cursorPosition correctly

* use ternary operator
2022-08-05 16:15:12 +04:00
Shaz MJ
ba5c49d9fc
[Gekidou] GroupTeams WebSocket Handling (#6529)
* Handles group websocket event

* Fetches data on error

* Handles GroupMember Add/Delete WS Event

* PR Feedback

* Handles GroupTeam add/delete event

* Handles Group Channel associated websocket (#6530)

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-08-05 16:06:19 +04:00
Christopher Poile
f61ea842af
MM-45746 - Handle call_end ws event and '/call end' slash command (#6542) 2022-08-05 07:39:10 -04:00
Jason Frerich
4dfb9fb60c
[Gekidou MM-45178] Improve wording about url not being a valid one (#6449)
* if the API client returns and error, throw a new error with better
  descriptive text for the user

* add intl to message

* move happy path code into try block
2022-08-05 14:12:01 +04:00
Daniel Espino García
a0e1f2dbd6
Fix channel added websocket message (#6546) 2022-08-04 19:04:06 +02:00
Anurag Shivarathri
690dd1e66e
[Gekidou MM-42242 MM-46043] Paginating Threads (#6535)
* Pagination and bug

* Feedback and version update

* Making the args optional

* Code refactor
2022-08-04 17:19:55 +05:30
Avinash Lingaloo
e443a69265
MM-45344 Gekidou Remove <MenuItem/> (#6522)
* added MENU_ITEM_HEIGHT to constant/view

* fix user presence and your profile

* added MENU_ITEM_HEIGHT to constant/view

* fix user presence and your profile

* UI Polish - Custom Status

* UI Polish - Settings

* UI Polish - logout

* refactored styles

* removed 'throws DataOperatorException' from './database/`

* fix for copy link option

* fix autoresponder

1.  user should be allowed to enter paragraph

2. the OOO was not immediately being updated on the notification main screen.  The fix is to cal fetchStatusInBatch after the updateMe operation

* About Screen - code clean up

* removed MenuItem component from common_post_options

* removed MenuItem from Settings

* refactored show_more and recent_item

* removed menu_item component

* Update setting_container.tsx

* PR review correction

* Update setting_container.tsx

* Update recent_item.tsx
2022-08-04 12:26:27 +04:00
Daniel Espino García
6397548f68
Fix permalink not entering loading status after join channel and fix button functionality after joining the channel. (#6526) 2022-08-03 23:14:34 -04:00
Daniel Espino García
9d71cc3ac6
Substitue rn-device-info by rn-user-agent when fetching the user agent (#6536) 2022-08-03 15:16:56 +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
78f7acde87
Fix other name showing on typing (#6532) 2022-08-02 19:01:45 +02:00
Jason Frerich
a18bc6cde1
[Gekidou MM-45552] Replace Recent Search Item From MenuItem To OptionItem (#6480) 2022-08-02 07:04:42 -05:00
Shaz MJ
fe053d96e7
[Gekidou] Handles GroupMember Add/Delete WS Event (#6525)
* Handles group websocket event

* Fetches data on error

* Handles GroupMember Add/Delete WS Event

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

* Fetches data on error
2022-08-01 17:42:49 -04:00
Shaz MJ
986b9b9f7a
[Gekidou] Autocomplete Group Member Count (#6460)
* Adds member_count to groups table

* Handles member count

* Adds elipsis

* UX Feedback, 2:1 displayName:name

* Removes space
2022-08-01 08:06:03 +10:00
Shaz MJ
4b698c7f41
[Gekidou] Saves groups + group-channel for constrained channels (#6358)
* Rebases and addresses PR feedback

* Rebased and addresses PR feedback

* Checks group constraint in action instead

* Update method docs, parallel promises

* Parallel promises, method docs

* Cleans up method docs

* Method docs cleanup

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

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-08-01 08:02:15 +10:00
Christopher Poile
17dbfdcb99
MM-45745 - Calls channel info screen options (#6502)
* implement calls_channel_info; joinCall refactoring

* i18n

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

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

* don't clobber config if api req failed

* combine two loops into one

* update dependencies

* fetch user model on user connected

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

* remove useless return in websocket handler

* constant sorting

* move microphone permission request to leave_and_join_alert

* ServerConfig -> ServerCallsConfig

* console.log -> logError

* ternary -> Platform.select

* merge conflicts

* add destructive options to OptionBox; require DismissChannelInfo fn

* add CopyLink option to quick actions list

* showSnackBar on link copied

* adjust quick_options_height

* Screens.Call

* fix CopyLink spacing

* fix observeUsersById, observe needed columns; fix JoinCallBanner mount

* optimized observables; bug fixes

* remove unneeded `return null`

* PR comments

* readable-stream -> 3.6.0

* merge conflicts

* PR comments
2022-07-29 11:10:32 -04:00
Daniel Espino García
bae5477b35
Graph QL POC (#6024)
* First approach

* Lint

* Fixes and adding monitoring console statements (to be removed later)

* Add pagination and apply graphQL also to login

* Get all entry points to use the same GQL call

* Unify gql handling

* Use graphQL on websocket reconnect

* Handle latest changes regarding categories

* Use graphQL to properly fetch channel members on other servers

* Remove logs and fetch unreads from other teams

* Minor fixes

* Final fixes

* Address feedback, minor refactoring, and fixes around the refactor

* Fix custom status duration types

* Add missing fields and some reordering

* Add timeout to fetch posts for unread channels
2022-07-29 16:28:32 +02:00
Christopher Poile
6c5043d598
MM-45744 - Calls mobile: Implement banner spacing (#6490)
* adjust more_messages banner with props
2022-07-29 10:26:31 -04:00
Elias Nahum
5c63392c2f
Remove unused INDICATOR_BAR_HEIGHT (#6519) 2022-07-29 08:14:46 -04:00
Elias Nahum
f876dc5951
Gekidou moment locales (#6518)
* About screen fix text render

* Load all moment locales

* UI Polish - Settings/About

UI Polish - Settings/About

UI Polish - Settings/About

* Revert commit for 'New About screen'

* Revert "Revert commit for 'New About screen'"

This reverts commit 3b46abf3293dafb8b0725f870fc9b9ab7d88c32f.

* revert  server_version and tos_privacy

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-07-28 14:52:48 -04:00
Jason Frerich
a40b03f668
[Gekidou MM-45792] Remove recent searches title if there are no recent searches for the team. (#6484) 2022-07-28 13:39:34 -05:00
Jason Frerich
309c2c01bc
[Gekidou] Get theme from useTheme (#6485)
* get theme from useTheme. No need to pass in as a prop

* get theme from useTheme hook instead of passing in as props
2022-07-28 13:08:38 +02:00
Avinash Lingaloo
adde833ea9
MM-45221 - Gekidou Settings fixes - part 2 (#6491)
* 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

* UI - Polish - Display Theme

UI Polish - Display/Theme [ IN PROGRESS ]

UI - Polish - Display Save button

* UI - Polish - Display Clock

UI - Polish - Display Clock

* UI Polish - Display - Timezone

UI Polish - Display Timezone

added the save button

UI Polish - Display/TZ

UI Polish - Display Timezone

minor refactoring

code clean up

code clean up

* UI Polish - Adv Settings

* UI Polish - Settings/About

UI Polish - Settings/About

* UI Polish - Radio Button

UI Polish - Radio Button

* UI Polish - Android Polishing [ IN PROGRESS ]

* UI Polish - Timezone

fix timezone

fix timezone select

fix timezone select ui

Update index.tsx

* UI Polish - Display/Theme

UI Polish - Custom Theme - Checked Radio btn

* Update en.json

* tweaks to settings styles

* further tweaks to spacing

* Revert "Merge branch 'gekidou-settings-finale' of https://github.com/mattermost/mattermost-mobile into gekidou-settings-finale"

This reverts commit f1fd26987ee5b1854366573b5822c9d0b919d83a, reversing
changes made to 684ba6a19c5962353ce61add2cc9cf10c8f9d3d4.

* added space before 'default'

* Update index.test.tsx.snap

* Revert "Revert "Merge branch 'gekidou-settings-finale' of https://github.com/mattermost/mattermost-mobile into gekidou-settings-finale""

This reverts commit ce77127cb20a3668510a82122325f1642ec7bb60.

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Matthew Birtch <mattbirtch@gmail.com>
2022-07-27 22:35:57 +04:00
Elias Nahum
4e70961303
[Gekidou] gallery footer and video (#6512) 2022-07-27 09:25:01 -04:00
Daniel Espino García
b5dc0b02a7
Add observeWithColumns where needed (#6517) 2022-07-27 14:48:35 +02:00
Elias Nahum
2249af4cde
[Gekidou] RN patch (#6513) 2022-07-26 11:37:59 -04:00
Christopher Poile
5bb240dec8
MM-43300: Calls v2 first cut (#6475)
* Android and iOS requirements

* external types

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

* state in rxJS; tests

* actions, client/rest, websocket events, constants

* webrtc connection logic

* calls components / screens

* handle peer destroyed gracefully

* PR comments

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

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

* @app/products/calls -> @calls

* PR comments; test cleanup

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

This reverts commit f9bd171a544de9c02da8387455f904b3840fc5dc.

* working on typing withServerUrl

* added exportedForInternalUse instead of commenting "internal export"

* better switchToThread in call_screen

* i18n

* typed withServerUrl
2022-07-22 15:57:12 -04:00
Anurag Shivarathri
59aeb3767c
Fix (#6500) 2022-07-22 10:44:19 -04:00
Anurag Shivarathri
c4c89a8f05
[Gekidou MM-40096] Permalink view for replies when CRT is enabled (#6494)
* Permalink for CRT

* typo

* Condition refactor
2022-07-22 17:44:39 +05:30
Anurag Shivarathri
102789bbd9
[Gekidou MM-40089 MM-39318] CRT New Messages Line (#6489)
* New Messages Line + More Messages

* Misc

* Update app/actions/local/thread.ts

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

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-07-22 17:28:14 +05:30
Joseph Baylon
c460c485a7
Detox/E2E: Channel Info and Quick Actions e2e tests in Gekidou (#6487)
* Detox/E2E: Channel Info and Quick Actions e2e tests in Gekidou

* Detox/E2E: Fix broken iOS e2e tests in Gekidou (#6488)
2022-07-21 14:18:56 -07:00
Daniel Espino García
3abaf8893d
Add minor fixes and performance improvements on channel switch (#6469)
* Add minor fixes and performance improvements

* Add comment
2022-07-15 16:04:58 +02:00
Avinash Lingaloo
d375aa7fa0
Gekidou fix recent_item (#6477) 2022-07-15 16:23:21 +04:00
Jason Frerich
33d9e6257e
[Gekidou MM-44943] Add team picker to the search screen and results screens (#6455)
* 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

* initial commit

* - From the search screen, you cna now set the team for the search
- Recent searches are saved for the specified team

* fix styling fo icon in modifiers

* - move team picker to its own component and call from modifiers
- will use for results header also

* - show team image if available
- pass optional size to TeamPickerIcon
- add TeamPickerIcon to Resuls Header
- styling fixes

* add team name to recent searches title

* parameter renaming

* fix lint

* fix callback bug that was calling itself

* when changing a team while showing search results:
  - update the search results with new selected team and current search
    term.
  - save the recent search the new selected team TeamSearchHistory for
    that team

* move to bottom for reduction of PR review lines and comparison to
changes in theh component logic

* - add dependencies
- rename function

* fix PR feedback

* - created helper function for bottom sheet with TeamList
  BottomSheetContent
- share the bottomScreen calls from AddTeam and TeamPickerIcon

* Add title back to renderContent of bottomSheet call.  This is needed for
tablets

* remove unnecessary check of selectTeamId.  it will be undefined and fail
the equality check

* - now all team_icons are all radius of 8. Includes the following icons:
  - team picker icon in in search screen
    - each team icon in the search screen bottom sheet team list
  - team picker icon in in search results screen
  - each team icon in the home screen team side bar list
    - each team icon in the join new team bottom sheet team list (from home screen)

* use padding in the width of the header so the margins are extended full
width, and dateline separator of post list does not creep into the
header region

* add smallText prop to team_icon.
- allows using 200 instead of default 400 value.
- 200 is used for the TeamPickerIcon used in the searcha nd results
  headers

* - add dependency back to handle renderItem and allow selecting files or
  messages view
- when handling the search, save the term to the correct team

* adjust styling so the rounded edges appear for the header. Use the
header container height to set the height of the header to 40 and then
set top and bottom margins for the rounded top edge and the bottom
margin to the divider

* use typography

* add title dependency

* update dependencies

* use bottomSheetSnapPoint to get the height of the total items

* rename variable

* Always use Metropolis-SemiBold for the team icon fallback

* use a fragment because there is not styling

* move title inside onPress function and can remove the title as a
dependency

* just use strings for testID

* calculate the observable inside the return object

* - remove const and use string
- correct the name of the testID

* - use more specific dependency value team.id
- add onPress dependency

* move to a constant

* move to a constant

* replace with logical AND

* add all logic for the style to textStyle

* remove the separate divider view and just use the outside container with
bottomBorder with and color

* extend the image vertically in the results

* Fix size of bottom sheet

* Refactor unneeded change

* Minor tweaks

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-15 16:05:58 +04:00
Elias Nahum
4a842f0129
Gekidou bugs fixes (#6473)
* Timezone search results not updating on term edit MM-45621

* Fix update theme MM-45604 / MM-45591

* Prevent channel items from stacking when collapse/expand category MM-45590

* Remove current channel from unread section MM-45589

* Latex code block style MM-45572

* Update Post input style when theme update

* Show tutorial only for the first item in the first section MM-45549

* Fix close user profile modal on iPad

* Move style out of component

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-15 12:40:59 +02:00
Jason Frerich
e5273fc43b
[Gekidou - MM-44939] Search Screen - Add File Options Bottom Sheet (#6420)
* 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 implementation

* keep the bottomsheet open until successful download

* remove comment

* initial commit

* don't use raw object values

* channel_id will be defined

* remove shadows
update channel name text

* move file_options to it's own folder
add checks for enabled downloading and public links

* - when touching each menu item, extend the area horizontally so the edge
  of the icon has space between it and the touchable area.
- don't dismiss the modal.  allow the user to dismiss or choose another
  option.
- adjust the horizontal spacing of the toast

origin/MM-44939-file-options

* adjust margin so holding down on a menuItem spans the width of the
bottom sheet

* 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

* initial implementation

* keep the bottomsheet open until successful download

* remove comment

* move file_options to it's own folder
add checks for enabled downloading and public links

* remove shadows
update channel name text

* - when touching each menu item, extend the area horizontally so the edge
  of the icon has space between it and the touchable area.
- don't dismiss the modal.  allow the user to dismiss or choose another
  option.
- adjust the horizontal spacing of the toast

origin/MM-44939-file-options

* adjust margin so holding down on a menuItem spans the width of the
bottom sheet

* delete file

* - use OptionItem instead of MenuItem
- show the actual image for images and video

* update results to use sorted filesForGallery file_options click gets the
correct file

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

* remove unnecessary View

* - create snappoints based on number of OptionItems and the header height
- adjust the toast according to the number of items shown
- show and hide items when canDownload and publicLinksEnabled
- bottom sheet will not resize because it is a function, but will show
  and hide items when enabled/disabled

* results does not need to know about the toast margin in FileOption

* extend optionItem to extende to edges of the bottom screen

* When canDownloadFiles or publicLinksEnabled, reopen the bottom sheet
with the correct options available

* initialize lastViewedIndex to undefined with FileOptions first opens

* remove extra empty line

* open the permalink view when select Open in Channel

* 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

* - remove useMemo for renderIcon.  It only returns a component
- remove async from useCallback for handle functions

* - do not modify the file value directly
- handle the case where the only open the bottom sheet if it was open at
  the time of the dependencies changing

* use optional operator

* convert to switch statement

* let the parmalink handle what to do when called.

* just use the post id from fileInfo

* 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

* remove unused constant

* replace any with type

* use more specific dependency

* remove memoization.  fileInfo will not change because it is passed from
a server call and will not update unless a new search is created (with
this modal closed)

* no need to memoize. SetValue is already memoized because of useState

* use observeConfigBooleanValue to get config values

* add comment explaining the purpose of the useEffect

* Merge fixes and minor tweaks

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-15 11:44:46 +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
Elias Nahum
0f0c7d5795
Open User avatar in gallery (#6474) 2022-07-15 10:02:09 +02:00
Shaz MJ
f12be07df7
[Gekidou] Saves groups + groupTeams for constrained teams (#6357)
* Rebases and addresses PR feedback

* Update method docs, parallel promises

* Cleans up method docs
2022-07-15 11:02:29 +04:00
Shaz MJ
de2c240bc7
[Gekidou] [Migration] Adds member_count to groups table (#6468)
* Adds member_count to groups table

* Newline
2022-07-15 11:01:54 +04:00
Joseph Baylon
b25f5b10b2
Detox/E2E: Pinned Messages e2e tests in Gekidou (#6471) 2022-07-14 13:49:53 -07: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
Malik
4817b977d1
Merge pull request #6459 from mattermost/detox-find-edit-channel
Detox/E2E: Find channels, Edit channel, etc e2e tests in Gekidou
2022-07-12 19:26:18 -04:00
Jason Frerich
d015656944
[Gekidou MM-45521] Remove show results button (#6465)
* - calculate the bottom sheet height dynamically
- remove show results button
- set the new fitler when select a new item

* when the user selects the same filter, just dismiss the bottom sheet,
don't fetch the values again

* Update app/screens/home/search/results/header.tsx

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

* Use OptionItem instead of MenuItem

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-07-12 20:05:35 +02:00
Malik
8aa0a2490d
Merge pull request #6462 from mattermost/detox-mentions-saved 2022-07-11 05:55:41 -04: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
Avinash Lingaloo
216b7058df
Gekidou Minor Fixes (#6461)
* removed useless throw in comment

* fix ts for useNavButtonPressed

* update server db 'relationship config file'

adding missing relationship between ThreadsInTeam and Thread table.  we will have to update the pngs and the others as well but we can do that once we get a license to the DB Schema app

* Update post.ts
2022-07-08 14:26:12 +04:00