Commit graph

993 commits

Author SHA1 Message Date
Michael Kochell
c1936040c3
MM-33993 Allow apps form and interactive dialogs to clear select fields (#5398)
* allow apps form and int dialogs to clear select fields

* don't show x if the field is disabled

* change down chevron to right chevron

* increase padding around close x to increase touch area

* positioning

* remove chevron and divider

* use hitSlop instead of padding. fix position of x

* lint

* types

* update type

* lint

* make onClear optional

* optional chaining

* set multiselect value to empty array on clear

* include null in type

* useCallback improvement

* fix clearing multi-selected items state issue

* fix clearing multi-selected items state issue

* lint

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-23 12:33:48 -04:00
Jason Frerich
0165e2ab1f
[MM-38103] initialize select fields with the value (#5640)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-08-04 14:28:27 -05:00
Christopher Poile
912287fbe0
MM-43904 - Fix: Calls: "Access to route for non-existent plugin" error log (#6210)
* add isCallsPluginEnabled; refactor Calls.PluginId

* revert Podfile.lock changes
2022-05-03 15:02:58 -04:00
Elias Nahum
8303588d29
Show login options when using multiple SSO login methods (#6185) 2022-04-21 12:40:53 -04:00
KobeBergmans
21adcf6085
Latex rendering with react-native-math-view (#5651)
* Added a Latex code window that displays the given code using katex

* Latex is now displayed without having to go to the next screen

* MathView test

* MathView WIP:
Displays math good, but in verry small font
View does not load if there is a syntax error and we are hard stuck in the app

* Math view now is rendered properly, few working points:
Text is not fixed size, it renders in a weird size
Multi Line subscript is not working

* Latex is now rendered properly

* Fixed Error message and moved helper function to utils

* Added some padding and vertical scroll on latex screen

* Updated config option to work on real phone too

* Removed unused code and fixed tests

* Added LatexInline and tried to modify parser, not yet finished though. InlineLatexOption is not yet coded for

* Bugfixes and better line break checking

* Few margin changes for ios, also updated pod files

* padding is now dependend on system

* Add platform import

* Reverted package-lock change

* Added tests

* Bugfixes, UI tweaks and added unit test for latex util

* Added enableLatex to markdown options instead getting the state and config

* Changed the rendering a little bit, it is better but still far from perfect

* Width and height is now correctely displayed. Still not clean enough though

* Inline latex is now rendered properly for most equations

* Inline latex is now working properly

* tests for escaping and unescaping functions

* Added inline latex setting support

* Added inline latex tests

* Delete unused comment

* Added extra regex rule: there must be no word character in front of the inline latex code

* Upgraded math-view package and deleted duplicate entry from gemfile.lock

* Inline error functions are now class functions

* Updated error color to theme error color

* Latex screen now extends the code screen

* Markdown changes:
Now uses dimensions instead of windowdimensions
Removed inline latex function
extracted latex rendering into separate function

* updated latex util test

* Hardcoded latex language in latex code block

* Added proptypes and cleaned up latex code block

* Bugfix latex split lines

* ÃDeleted language prop from latex code block

* Changed commonmark packages to personal repo's

* Latex rendering now goes by commonmark

* Deleted unused function and tests

* Commonmark packages back to normal versions with patch package

* Updated commonmark patch file to right file and changed package lock to point at right repo

* Updated patch files to latest version

* Updated commonmark patch

* Fixed linter errors

* Integrety of commonmark fix

* First fix of ios problems

* Updated snapshot

Co-authored-by: Kobe Bergmans <kobe.bergmans@student.kuleuven.be>
Co-authored-by: Administrator <admin@Macintosh-3.localdomain>
Co-authored-by: kobe bergmans <kobebergmans@kobes-MacBook-Pro.local>
2022-04-19 09:16:38 -04:00
Christopher Poile
368584a1b7
MM-42320: Calls - small fix for microphone permissions (#6134)
* small fix for microphone permissions

* use standard permissions check/denied popups

* tests and i18n

* permission wording

* 18n
2022-04-06 14:51:40 -04:00
Christopher Poile
10479d1d35
MM-42821 - Calls mobile: Default calls doesn't work on mobile (#6107)
* use call config when checking for Enable/Disable and StartCall permissions

* store config, refresh after 20 minutes

* load config on startup

* batch load calls and load config on startup/reconnect
2022-04-01 10:17:48 -04:00
Kevin Sicong Jiang
0ca5627d78
MM-41909: Allow 1 char channel name (#6093)
* [MM-41909] Reduce displayname character limit to 1

* [MM-41909] Implement channel url min length check

* Use constant per comment

Co-authored-by: Kevin Jiang <>
2022-03-31 09:19:12 -03:00
Elias Nahum
30a16d0bc1
[v1] Skip LoginOptions if only one SSO method is enabled (#6097)
* Skip LoginOptions if only one SSO method is enabled

* feedback review
2022-03-30 12:13:37 -03:00
Christopher Poile
734675978d
MM-42623 - Calls: remove Feature Flag (#6091)
* removed CallsMobile feature flag; added server version check

* added on-demand check and Alert for Calls enabled

* merge with master

* fix deps, typo, test snapshots
2022-03-29 10:54:29 -04:00
Daniel Espino García
df7945318e
[Apps Framework] Separate calls (#5877)
* Port https://github.com/mattermost/mattermost-webapp/pull/9263 to mobile

* Fix forms props from commands and missing error->text change

* lint

* various fixes

* fix lookups for command parser

* update app command parser

* fixes

* fixes with embedded forms

* lint and types

* remove bindings.expanded fix for cleaning bindings on render

* lint

* re-expand bindings on post update

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
2022-03-24 11:03:06 -04:00
Michael Kochell
784b897d2f
use feature flag when fetching thread bindings (#6018) 2022-03-22 23:03:03 -04:00
Andrey Ramirez
ca6f59729c
[MM-42533] Fix hidden custom theme (#6054) 2022-03-17 19:36:57 -03:00
Wander Siemers
84d281181b
Fix time zone settings search bar (MM-23644) (#6033)
* Fix time zone settings search bar (MM-23644)
Some code improvements:
- renamed header to searchBar
- moved searchBarInput to getStyleSheet
Both of which are logical to me and are more consistent with e.g. screens/channel_members

* Fix trailing space

* Update snapshot
2022-03-09 23:48:22 -03:00
Mylon Suren
b7a98dead9
[MM-39149] Only close sidebar when custom status is set successfully (#5988) 2022-02-21 08:24:04 -03:00
Anurag Shivarathri
b3283ec9cf
MM-37517 Thread permalink (#5758)
* Thread permalink fix

* Reverted and implemented solution by updating the props

* fix TS on selectors/entities/posts.ts

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-03 12:48:43 -03:00
Elias Nahum
5ea470a235
V1 dependencies and bump to RN 0.67.2 (#5908)
* update dependencies

* eslint fixes

* Upgrade to RN 67

* update other deps

* Update to RN 0.67.2

* fix Android build (mmkv)

* Fix crash when root message is deleted from the thread screen

* Fix gif emoji playing at high speed on iOS ProMotion capable devices
2022-02-02 15:28:57 -03:00
Claudio Costa
2267f0a408
Update Calls (#5875)
* Fix adding tracks

* Use server websocket handler to do signaling

* Start using react-native-webrtc fork to fix track issues

* Update deps lock files

* Use ICE servers list from config if present

* Properly replace voice track

* Remove translations

* Use DeviceEventEmitter to handle voice events

* Fix bad checksum

* Restore non-english translations to avoid conflicts

* Address review

* Remove flaky integrity

* Improve state handling

* Update snapshots and tests

* Update call connecting logic

* Fix permissions check
2022-01-27 08:19:26 +01:00
Elias Nahum
687469b0cf
Update dependencies (#5870)
* Update dependencies

* Remove storybook env type def

* fix android build
2021-12-15 16:44:35 +02:00
Elias Nahum
3e0ad378f1
Fix android broken build cause by rudderstack (#5856)
* Fix android broken build cause by rudderstack

* update dependencies
2021-11-30 11:39:12 +02:00
Elias Nahum
1b285dac49
[MM-40160] Crt gallery fix (#5833)
* Fix Gallery crash

* fix file type icons

* memoize gallery files
2021-11-22 15:17:18 +02:00
Anurag Shivarathri
805b90205a
MM-36687, MM-38302, MM-37598 Fix push notifications with CRT (#5669)
* initalised

* Removed unused packages

* Android: Added groupId for supporting both threadId & channelId

* Fixed ios condition check

* Removed commented code

* Removed unwanted condition

* Removed unused variable

* CRT reduced chunk size to 30, Android global threads showing GlobalThreads & iOS is_crt_enabled field is expected to be a boolean

* Update android/app/src/main/java/com/mattermost/rnbeta/CustomPushNotification.java

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

* Misc fixes

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-11-15 10:42:05 +05:30
Jesús Espino
8ef65d8b24
Voicechannels (#5753)
* Some extra work on voice channels interface

* Fixing some TODOs

* Improving styling of call in channel

* Improve calls monitoring

* Replacing some of the fontawesome icons with the compass ones

* Improving the layout

* Migrating to webrtc2 for unified plan

* Add screen on and off behavior

* Adding incall manager plugin

* Moving everything into the products/calls folder

* Make products modules routes relatives

* Make products modules routes @mmproducts

* Removing initiator parameter

* Removing trickle parameter

* Simplifying code

* Removing underscore from private variables

* Removing underscore from private things

* More simplifications

* More simplifications

* More simplifications

* Changing sha sum for mmjstool

* Fixing typo

* Migrating simple-peer to typescript

* Migrating simple-peer to typescript

* Improving the size of the screen share

* Adding feature flag to disable the calls feature in mobile

* Fixing some tests

* Removing obsolte tests

* Added call ended support for the post messages

* Fixing some warnings in the tests

* Adding JoinCall tests

* Adding CallMessage tests

* Adding CurrentCall unit tests

* Adding CallAvatar unit tests

* Adding FloatingCallContainer unit tests

* Adding StartCall unit tests

* Adding EnableDisableCalls unit tests

* Adding CallDuration tests

* Improving CallDuration tests

* Adding CallScreen unit tests

* Adding CallOtherActions screen tests

* Fixing some dark theme styles

* Fixing tests

* More robustness around connecting/disconnecting

* Adding FormattedRelativeTime tests

* Adding tests for ChannelItem

* Adding tests for ChannelInfo

* Adding selectors tests

* Adding reducers unit tests

* Adding actions tests

* Removing most of the TODOs

* Removing another TODO

* Updating tests snapshots

* Removing the last TODO

* Fixed a small problem on pressing while a call is ongoing

* Remove all the inlined functions

* Replacing usage of isLandscape selector with useWindowDimensions

* Removed unnecesary makeStyleSheetFromTheme

* Removing unneded  properties from call_duration

* Fixing possible null channels return from getChannel selector

* Moving other inlined functions to its own constant

* Simplifiying enable/disable calls component

* Improving the behavior when you are in the call of the current channel

* Adding missing translation strings

* Simplified a bit the EnableDisableCalls component

* Moving other inlined functions to its own constant

* Updating snapshots

* Improving usage of makeStyleSheetFromTheme

* Moving data reformating from the rest client to the redux action

* Adding calls to the blocklist to the redux-persist

* Fixing tests

* Updating snapshots

* Update file icon name to the last compass icons version

* Fix loading state

* Only show the call connected if the websocket gets connected

* Taking into consideration the indicator bar to position the calls new bars

* Making the MoreMessagesButton component aware of calls components

* Updating snapshots

* Fixing tests

* Updating snapshot

* Fixing different use cases for start call channel menu

* Fixing tests

* Ask for confirmation to start a call when you are already in another call

* Update app/products/calls/components/floating_call_container.tsx

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

* Memoizing userIds in join call

* Applying suggestion around combine the blocklist for calls with the one for typing

* Adding explicit types to the rest client

* Removing unneeded permission

* Making updateIntervalInSeconds prop optional in FormattedRelativeTime

* Making updateIntervalInSeconds prop optional in CallDuration

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-11-11 11:32:39 +01:00
Elias Nahum
ba0855659c
Fix options modal dismiss for OptionsModal (#5819) 2021-11-10 09:19:04 -03:00
Elias Nahum
8287e620d8
Upgrade to rn 0.66.1 (#5727)
* Upgrade to rn 0.66.0

* Add keys to re-render post list and channel list

* Finish dep updates and rn to 0.66.1

* upgrade more dependencies

* Fix select_server tests
2021-10-31 13:57:07 -03:00
Kyriakos Z
094a34d05f
MM-37934: adds CRT channel notification preferences (#5744)
* MM-37934: adds CRT channel notification preferences

Adds push notification preferences per channel for CRT replies.
These are only enabled when push notifications for root messages
are set to 'mention', in any other case we don't show the switch.

* Adds another test case

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-28 11:06:03 +03:00
Daniel Espino García
76284a78d5
MM-34194 Add multiselect to Apps Forms (#5400)
* Add multiselect to Apps Forms

* Address feedback

* Add selected information and change button name

* Fix styles

* Add missing semicolon and change currentList to currentSelected.

* Address UX feedback

* Fix test

* Address feedback

* Fix snapshots

* Potential fix for flaky test

* Fix iOS back button

* Address feedback

* Fix tests

* Add separator and scroll to bottom on selected items

* Use setTimeout for scroll and also scroll on unselected

* Fix lint

* Fix tsc

* Fix tests
2021-10-27 11:35:11 +02:00
Elias Nahum
f8baaf8505
MM-39337 set allowFontScaling to TextInput components (#5751) 2021-10-14 13:42:09 -03:00
Anurag Shivarathri
856d8bd05f
MM-34842 global threads options (#5630)
* fixes MM-37294 MM-37296 MM-37297

* Added conditions to check for post & thread existence

* Update app/mm-redux/selectors/entities/threads.ts

Co-authored-by: Kyriakos Z. <3829551+koox00@users.noreply.github.com>

* type fix

* Never disabling Mark All as unread

* Added follow/unfollow message for not yet thread posts

* Test case fix for mark all as unread enabled all the time

* Removed hardcoded condition

* Fixed MM-37509

* Updated snapshot for sidebar

* Global thread actions init

* Added options

* Update post_options.js

* Test cases fix

* Added border bottom for each thread option

* Update test case

* Reverting snapshot

* Updated snapshot

* Moved options to screens & removed redundants translations

* Reusing post_option for thread_option

* Component name changed to PostOption from ThreadOption

* Snapshot updated

* Removed factory

* Update app/screens/thread_options/index.ts

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

* Update app/screens/thread_options/index.ts

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

Co-authored-by: Kyriakos Z. <3829551+koox00@users.noreply.github.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-10-11 13:24:38 +05:30
Shaz Amjad
bd74310f29
Cancel button restored (#5725) 2021-10-08 09:31:56 -03:00
Anurag Shivarathri
a81b56212e
MM-38784, MM-38409 New messages line in threads screen & Pull to refresh for global threads screen (#5690)
* New messages line in threads & Pull to refresh for global threads

* Updated snapshot

* Using postlist's RefreshControl component

* Updated threadlist snapshot

* Reverting snapshot

* Updated Snapshots

* Snapshots updated

* Added 'thread last viewed at' to handle new messages line correctly

* Lint fix

* Updated snapshots

* Reverted comparision check

* Remove unused code

* Batching actions

* Do not add new message line for self messages

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-10-07 15:14:34 +05:30
Anurag Shivarathri
1a35250811
Excluding follow button in the header from being added to the stack (#5723) 2021-10-06 18:07:20 -04:00
Shaz Amjad
b36dbf9b34
[MM-38683] Android Initialisation Bug + BottomSheet Correction (#5685)
* Fixes various init bugs for android

* Ignores Type Error

* MM-38683: Removes 'cancel' button.

* MM-38683: Removes some 'hideCancel' props.

* Android bottom margin

* Update options modal style

Co-authored-by: Martin Kraft <martin@upspin.org>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-09-28 11:28:20 -03:00
Daniel Espino García
3668cb62d3
MM-34811 Add plugin oauth support (#5395)
* Add plugin oauth support

* Fix types

* Switch go to screen by show modal

* Add content width metadata to show correctly the sites

* Remove unneeded metadata

* Fix tsc

* Fix lint

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-09-27 18:17:56 +02:00
Daniel Espino García
dd36545079
[MM-36041] Ensure post options and app commands always have the bindings for its channel (#5563)
* Ensure post options always have the bindings for its channel

* Mimic webapp model

* Address feedback

* Add return to validate bindings

* Address feedback

* Use empty bindings constant to avoid rerenderings

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
2021-09-24 10:32:58 -04:00
Daniel Espino García
edfd743699
[MM-38216] Add multiteam mentions and saved posts (#5677)
* Add multiteam mentions and saved posts

* Minor fix

* Fix long names

* Add tests, improve separation styling, revert changes on the flagged posts client, and omit the team name when the user only belongs to one team

* Fix separator on iOS

* Update snapshot

* Fix separator

* Fix snapshot

* Differentiate styling between iOS and Android

* Change channelTeamName to teamName
2021-09-24 09:35:01 -03:00
Daniel Espino García
6dbb537f22
Open forms in bindings on all locations (#5665) 2021-09-24 09:34:40 -03:00
Daniel Espino García
aa776e4ae6
Fix warnings on channel info row Formatted Text (#5644) 2021-09-23 21:55:34 +02:00
Elias Nahum
ada6be9b7a
Update dependencies (#5686)
* Update dependencies

* Fix unsigned builds
2021-09-22 13:54:12 -03:00
Daniel Espino García
c753be5bfe
Sync binding filtering with webapp (#5655)
* Sync binding filtering with webapp

* Add return types and use variable instead of updating actions

* Allow bindings with no call but form with calls
2021-09-21 09:08:35 +02:00
Shaz Amjad
64223efafe
MM-28474: Custom Sidebar Categories (#5460)
* Further cleanup and fixes

Tests clean-up

Tests fixed?

Plays nicely with threads

Tests fixed

Fixes ESR and show experimental flags

Failing test fixed

DM Fix

WIP: Bottom bar UX

Fixes for unreads

Failing test

Always show current channel

Create a channel in a category!

* Unreads on top

* Various fixes

* Improves category collapsing

* Passes correct ID through

* Tests cleanup

* Redo unreads and unread-button

* Reverts to just using ids

* More unreads back to using ids

* Uses appropriate selectors for pref updates

* Unreads sorted by recency

* Fixes test for recency

* Fixes re-rendering bug

* Code review updates, websocket event debounced
2021-09-20 14:11:57 -04:00
Martin Kraft
c704a752f8
MM-37781: Only evaluates some config settings if the server is less than v6. (#5627)
* MM-37781: Only check deprecated config settings if server is older than v6.

* Feedback review

* Add isMinimumServerVersion helper for iOS Native

* MM-37781: Adds missing parameters.

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-09-15 16:52:39 -04:00
Kyriakos Z
308637be32
MM-38331: fixes opening notification while in threads (#5664)
Opening a notification while in threads didn't pop the threads screen,
this commit fixes that.
2021-09-07 15:17:04 +03:00
Daniel Espino García
69a65067c3
Remove all checks for minimum versions previous to 5.31 (#5572)
* Remove all checks for minimum versions previous to 5.31

* Fix tests

* Fix bad merge

* Address feedback

* Patch flaky test
2021-09-06 12:57:24 +02:00
Dean Whillier
fb8238ab0b
[MM-37553] Update default themes (#5648)
* new themes and theme type updates

* update theme processing

port newer functionality from webapp

* update theme UI

including new svg-based thumbnail

* lint fixes

* update snapshots and tests

* update theme tile border approach

* remove unused path component

* remove old variable typo

* remove old variable type from theme type

* lint and snapshot updates

* update snapshots
2021-09-03 10:50:24 -04:00
Elias Nahum
742d7ae7ba
[MM-38035, MM-35883, MM-38067, MM-36939, MM-36039] Multiple Fixes (#5636) 2021-08-26 21:32:29 -04:00
Ashish Dhama
e6dbd5fbdc
[MM-37423] Custom Status: Don't show 'Custom Date and Time' for recent statuses (#5641)
* Custom Status: Don't show 'Custom Date and Time' for recent statuses

* move status boolean out of jsx
2021-08-24 14:41:49 -04:00
Kyriakos Z
6896129c73
MM-36980, MM-37030: Opens the thread on push notification and Notifications settings (#5618)
* MM-36980: Opens the thread on push notification

This commit enables tapping on a push notification for a reply to open
the thread.
This is done only if the user has CRT set to 'on'.

* Refactor, and handle in app notifications

* Minor change

* Fixes erroneous check

* Fixes on dismiss in app notification

* Fixes in app push notification for CRT

* Adds CRT notification settings for android

Adds support for CRT (*_threads) notification settings (notify_props).

Adds android comoponents to toggle those settings for push notifications
and email notifications.

* Adds CRT notification settings for iOS

Adds iOS components to toggle those CRT notifications settings
for push notifications and email notifications.

* Fixes bad JSON and intl ids

* Fixes i18n ids

* Fixes tests

* Adds email_threads to the default notify_props

* Fixes push_threads notify_prop default value

* Fixes style, and channel missing on thread open

* Fixes test

* Fixes click notification to open thread

Previous handling of opening the thread on notification clicked fell
into an infinite loop when the app was closed.
This commit fixes that by adding the post to selectedPostId reducer and
then emitting an event to open the thread on channel_base, and only if
the app was started by the notification.

When the app is in the background emitting the event from
handleNotification works just fine.

When the app is in the foreground the notification clicked gets handled
elsewhere and this commit does not change that.

* Removes reply settings when CRT is ON

"Mentions and Replies" section becomes just "Mentions" when the user has
the Collapsed Reply Threads set to "ON".

* Fixes prop types

Co-authored-by: Kyriakos Ziakoulis <koox00@Kyriakoss-MacBook-Pro.local>
2021-08-20 19:49:00 +03:00
Elias Nahum
a44a19d125
[MM-37840, MM-37841] do not mark channel as read when clearing push notifications (#5623)
* MM-37840 do not mark channel as read when clearing push notifications

* MM-37841 prevent from setting the edit post screen buttons with every key press
2021-08-13 13:00:09 -04:00
Anurag Shivarathri
fc929891ea
MM-37485 MM-37602 MM-37610 MM-37684 MM-37719 MM-37522 MM-37720 App crash, Sync issue fixes (#5612)
Summary
Fixes app crash on opening channel header
Fixes app crash on opening permalink from permalink screen
Fixes showing duplicates channels while searching in "Jump to..."
Fixes auto following the thread on opening the thread view when there are unreads
Fixes updation of threads state (Read/Unread/Deleted) of already loaded threads
Fixes counter showing as blank due to threads sync issue
Doesn't show Follow Thread/Message when CRT is not enabled

Ticket Link
https://mattermost.atlassian.net/browse/MM-37485
https://mattermost.atlassian.net/browse/MM-37602
https://mattermost.atlassian.net/browse/MM-37610
https://mattermost.atlassian.net/browse/MM-37684
https://mattermost.atlassian.net/browse/MM-37719
https://mattermost.atlassian.net/browse/MM-37522
https://mattermost.atlassian.net/browse/MM-37720

Device Information
This PR was tested on: iOS 14.5
2021-08-11 15:56:38 +05:30