Commit graph

122 commits

Author SHA1 Message Date
Mattermost Build
4764a76c9f
Remove mock locations from jailbrake detection (#7005) (#7017)
(cherry picked from commit 4aaf08b12a)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2023-01-26 20:32:36 +02:00
Elias Nahum
57a9ff31bf
fix schema test 2023-01-11 22:23:03 +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
Matthew Birtch
9753334ff2
[Gekidou MM-46365] fix reaction bar space and update bottom sheet styles (#6634)
* updated styles for reaction bar and made pick reaction pressable

* removed unused style import

* removed unused style import

* updated user avatars, user presence, thread options bottom sheets to new style also

* updated status bottom sheet, thread options, and some tweaks to the bottom sheet main file

* fixed a few minor styling issues

* used proper bottom inset in user presence bottom sheet

* various updates to bottom sheets

* used negative top position instead of negative margin

* updated camera type bottom sheet

* further refinements to bottom sheets

* updates to emoji bar and profile image picker

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-12-23 14:08:51 +02:00
Elias Nahum
88fde2cc5e
Restyle video playback error (#6871)
* Restyle video playback error

* video not shown when attached with multiple files and thumb fails

* update local path when saving and sharing a file

* feedback review
2022-12-19 21:29:11 +02:00
Anurag Shivarathri
724d72d98a
[MM-47483] Activity Indicator while loading thread posts (#6865)
* Fix

* Addressing feedback

* Disabled pull to refresh when thread is being fetched

* Test fail fix

* Feedback changes
2022-12-17 01:15:22 +05:30
Yusuke Nemoto
4e7e37499d
Fix message id (#6875)
* Fix message id

Id `mobile.calls_call_thread` is conflicted with other message. This id should be `mobile.calls_open_channel`.

* Update en.json
2022-12-16 13:09:47 -05:00
Christopher Poile
73d91301e4
MM-48753 - Calls: New GA cloud limits (#6819)
* new GA cloud limits

* Update assets/base/i18n/en.json

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

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-12-02 16:14:14 -05:00
Jason Frerich
e4c38bd5a0
[Gekidou MM-47652] Add Create DM Add Bottom Panel (#6699) 2022-12-02 22:44:38 +02:00
Daniel Espino García
88835ce142
Add connection banner (#6798)
* Add connection banner

* Switch icon depending on whether it is connected or not

* Clean timeout and change text

* Handle optimistic approach

* Piggyback server item fix

* Use toMilliseconds util function

* Set the websocket as disconnected when we are manually closing it

* Do not hide banner when app state changes

Co-authored-by: Daniel Espino <danielespino@MacBook-Pro-de-Daniel.local>
2022-12-02 15:31:21 +01:00
Elias Nahum
6eadc527bb
Gekidou Android share extension (#6803)
* Refactor app database queries to not require the app database as argument

* Android Share Extension and fix notifications prompt

* feedback review
2022-11-30 23:18:56 +02:00
Christopher Poile
0f8798ca55
MM-48611 - Calls: Calls recording host controls and UI (#6787)
* implement recording permissions and UI

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

* host controls and UI for recording

* button tweak, and fixing a i18n string issue

* PR comment

* backwards compat & don't show rec controls if not enabled
2022-11-30 11:20:00 -05:00
Christopher Poile
6660c134f5
MM-48072 - Calls: Implement recording permissions and UI for participants (#6784)
* implement recording permissions and UI

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

* merge conflicts
2022-11-30 10:15:20 -05:00
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 Velez Vidal
a633472456 add hyphen to translation file too 2022-11-29 09:45:51 +01: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
2ebbd299ff
Add missing i18n on main (#6786) 2022-11-24 20:45:49 +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
Anurag Shivarathri
d20da35205
[Gekidou MM-46585] Message Priority (Phase 2 - setting message priority) (#6656) 2022-11-23 10:22:05 +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
Pablo Velez Vidal
eb10a70053 Add translated text entries 2022-11-16 18:13:30 +01: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
Julian Mondragon
ce9b448ebc MM-39720_Invite People - phase 1
intl character
2022-11-03 12:14:20 -05:00
Julian Mondragon
647cd4c9c2 MM-39720_Invite People - phase 1 2022-10-31 18:12:03 -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
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
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
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
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
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
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
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
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
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
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
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
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
Jason Frerich
6c18cc8b38
[Gekidou - MM-44928] Search Screen - Search Modifiers (#6393) 2022-06-30 09:52:26 -05:00
Avinash Lingaloo
fe3f0cc892
MM-39711 - Gekidou Settings Timezone (#6384) 2022-06-24 06:52: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
c5dc41dae3
MM-39711 - Gekidou Settings - Mentions functionality [3] (#6368) 2022-06-13 09:47:59 -04:00
Avinash Lingaloo
f47b39fbe7
MM-39711 - Gekidou Settings Autoresponder functionality [2] (#6364) 2022-06-13 09:12:08 -04:00
Avinash Lingaloo
c365ecea54
MM-39711 - Gekidou - Clock functionality [1] (#6362) 2022-06-13 08:07:03 -04:00