Commit graph

145 commits

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

* Apply suggestion

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

* remove unecessary return

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

* Address feedback

* Update dbPath and rename server databas instead of deleting

* ios fixes

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

* fix formatted time style bug

* prefer FormattedText

* more FormattedText

* merge conflicts

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

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

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

* update fastlane

* upgrade types dependencies

* update dev deps

* update react-native-notifications

* update react-native-keychain

* update sentry

* update detox

* Upgrade to RN 69.3

* increase MaxMetaspaceSize gradle opts

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

* Address feedback and general cleanup

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

* Remove unneeded "import as"
2022-08-05 14:36:19 +02:00
Daniel Espino García
99d219d8b1
Remove copy link from DMs and GMs (#6534) 2022-08-03 09:40:40 +02:00
Daniel Espino García
bae5477b35
Graph QL POC (#6024)
* First approach

* Lint

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

* Add pagination and apply graphQL also to login

* Get all entry points to use the same GQL call

* Unify gql handling

* Use graphQL on websocket reconnect

* Handle latest changes regarding categories

* Use graphQL to properly fetch channel members on other servers

* Remove logs and fetch unreads from other teams

* Minor fixes

* Final fixes

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

* Fix custom status duration types

* Add missing fields and some reordering

* Add timeout to fetch posts for unread channels
2022-07-29 16:28:32 +02:00
Avinash Lingaloo
431406f09b
MM-45221 - Gekidou Settings fixes - part 1 (#6472)
* modifying setting option

* navigates to email screen

* UI construction [in progress]

* hooking up withObservables

* email settings - need to save now

* adding a bit of paddings

* setting initial value

* Update notification_email.tsx

* UI Polish - main setting screen

* UI Polish - Mention

* UI Polish - Notification main screen

* code clean up

* code clean up

* UI Polish Notification

* UI Polish

* code clean up

* UI Polish - OOO

* fix observable for email interval

* fix ooo

* fix ooo

* added setting_row_label component

* further clean up

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Display - [ IN PROGRESS ]

* UI Polish - Timezone Select [ IN PROGRESS ]

* Update index.test.tsx.snap

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

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

* refactor after review

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

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

* add search value to memoized dependencies in modifier component

* ignore the back press

* UI adjustments from PR feedback

* initial commit

* recent search are getting rendered from WDB

* search terms from the search bar are getting added

* can delete recent searches from WDB from recent searches Options

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

* push for scrollview

* use flatlist instead of scrolview

* s/deleteRecentTeamSearchById/removeSearchFromTeamSearchHistory/

* s/addRecentTeamSearch/addSearchToTeamSearchHistory/

* Fix search to use a flatlist and remove douplicate reference

* fix eslint

* Fix android autoscroll search field to the top

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

* set display to term for now

* clean up

* clean up

* extract as constant

* move styles to the top

* always update the created_at value in the database.

* remove unused function

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

* styling adjustments

* styling changes

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

* update compassIcon to match figma design

* update divider opacity to match figma design

* update styling from UX PR requests

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

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

* remove surrounding parenthesis

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

* call destroyPermanently directly

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

* set the max searches saved to 15

* no need to memoize

* shoud be a function call

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

* Minor improvements

* Fix bug when hitting back on search screen

* Fix long channel names in search results

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

* hook up loader component for loading state

* search results with found posts now working

* get and store files when searching

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

* add filter screen and icon to the results header

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

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

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

* remove clear all text from filter and from bottom_sheet component

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

* Cleanup and fixes

* Remove nested scroll views

* Address feedback

* Address feedback

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

* add translations for filters

* add translations

* use Object values to determine if has file info results

* Combine fetch recent mentions and search for posts

* add search icon back to home screen

* remove unused function import

* fix formatting and add 3 dot onPress option

* don't show search button

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

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

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

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

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

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

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

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

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

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

* Move the channel name to a separate line

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

* use a useMemo instead of useCallback

* initial commit

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

* add styhling for long channel name

* update styling for info text

* update styling

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

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

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

* make `asCard` File Prop optional

* shift the image icon over 4px

* tweaked styles

* tweaked styles for file info

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

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

* create useImageAttachments hook and share with files component and
results

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

* use explicit Boolean(onOptionsPress)

* isSingleInput does not need to be a function

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

* add dependencies and refactor to reduce some file dependency arrays

* order files by reverse create_at date

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

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

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

* remove extra empty line

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

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

* remove useMemo import

* remove callback

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

* remove unused Client import

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

* move constant above component

* default to 0 instead of forcing to be defined

* use observerConfigBoolean

* import as type because not useing to construct as models

* add links to Jira ticket and github PR

* add line breaks and sort alphabetically

* use ternary operator to reduce number of lines

* move up as far as possible

* remove unused style

* sort props and input vars alphabetically

* move higher in the component

* return ealier

* no need for useDerivedValue. useMemo instead

* use useCallback

* Minor tweaks and fixes

* Remove floats from style

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

* implemented help functionality

* skelton for adv settings

* added rightComponent to menuItem

* added advanced settings

* adv settings delete

* Update en.json

* clean up

* Update index.tsx

* fix for camera-roll on android > 30

* undo delete camera-roll images

* Update app/screens/settings/index.tsx

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

* refactoring

* removed menu item

* refactored imports and getAllFilesInCachesDirectory transferred into util/files

* corrections after review

* ts fix

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

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

* Groups fetch and save

* PR Feedback: prepare vs store and undefined fix

* Forgot to add file

* Groups Mention WIP

* Groups highlight!

* Merge, PR Feedback

* PR Feedback

* PR Feedback: Try/Catch blocks

* PR Feedback

* Rebased with PR feedback

* Exclusion fix, plus id order

* Tidies up iterations

* Loops updated

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

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

* PR Feedback: Remove unnecessary prepare/store methods

* Newline ESLint error

* Extracts out id generation for group-associations

* Batches if not fetchOnly

Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
2022-07-07 12:20:06 +02:00
Elias Nahum
d09ead850e
[Gekidou] Fix video uploads (#6440) 2022-06-30 19:16:37 -04:00
Elias Nahum
136b796ac3
Fix theming and navigation stack tracking (#6443) 2022-06-30 11:14:07 -04:00
Daniel Espino García
82c514013c
Fix links to channels closing the channel (#6446) 2022-06-30 11:13:28 -04:00
Elias Nahum
330dc0b9ad
Do not show expired custom status in userItem (#6439) 2022-06-30 11:13:14 -04:00
Elias Nahum
75ed884e65
Add column last_fetched_at to MyChannel & Thread tables and the migration (#6433)
* Add column last_fetched_at to MyChannel & Thread tables and the migration

* Fix schema tests

* Handle lastFetchAt, retrieve threads on init and properly observe thread unreads (#6436)

* [Gekidou] Set lastFetchAt when fetching posts for a channel (#6437)

* Set lastFetchAt when fetching posts for a channel

* When resetting _preparedState set always to null

* Revert changes in WS

* Handle and set lastFetchedAt for MyChannel in iOS push notification

* feedback review

* iOS fallback to last post createAt if no lastFetchAt set

* Handle lastFetchAt on Android push notifications

* create storePostsForChannel local action

* Fix iOS fallback to last post create_at

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-06-29 13:28:50 -04:00
Shaz MJ
f8140f2117
[Gekidou] Groups mentions / highlights in messages (posts) (#6338)
* WIP

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

* Groups fetch and save

* PR Feedback: prepare vs store and undefined fix

* Forgot to add file

* Groups Mention WIP

* Groups highlight!

* Merge, PR Feedback

* PR Feedback

* PR Feedback: Try/Catch blocks

* PR Feedback
2022-06-29 07:47:37 +10:00
Jason Frerich
2230fe8a70
[Gekidou - MM-44929] Search Screen - Always fetch filter results from server (#6366)
Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-06-28 09:56:51 -05:00
Daniel Espino García
d2e2cf3ec1
Substitute all console.x by an appropiate log util function (#6427)
* Substitute all console.x by an appropiate log util function

* Address feedback
2022-06-24 10:26:40 -04:00
Avinash Lingaloo
fe3f0cc892
MM-39711 - Gekidou Settings Timezone (#6384) 2022-06-24 06:52:05 -04:00
Joseph Baylon
7a71d864e2
Detox/E2E: Messaging post options e2e tests in Gekidou (#6405)
* Detox/E2E: Messaging post options e2e tests in Gekidou

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

* i18n-extract

* Implement as designed

* Revert unintended change

* Minor fix and fix svgs

* updated svg to fix masking problems and colors

* Fix lint

* Address feedback

* Update join_public_channel.tsx

fixed public channel svg

* Update join_public_channel.tsx

* Update join_private_channel.tsx

* Address feedback

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

* added save button

* capturing value from OptionItem

* notification - saving in progress

* tested API

* corrections after review

* Update en.json

* Update notification_push.tsx

* ts fixes

* minor improvement

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-06-14 10:35:50 +04:00
Elias Nahum
bfffa0e10a
[Gekidou] db manager database getters (#6377) 2022-06-13 18:32:47 -04:00
Avinash Lingaloo
c5dc41dae3
MM-39711 - Gekidou Settings - Mentions functionality [3] (#6368) 2022-06-13 09:47:59 -04:00
Elias Nahum
8795ca85b5
[Gekidou] cleanup fixes (#6376)
* Separate NavigationStore from EphemeralStore

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

* Fix mark channel as unread
2022-06-13 08:07:24 -04:00
Elias Nahum
a7c49100ab
[Gekidou] Add empty unreads placeholder (#6350)
* Add empty unreads placeholder

* ux feedback

* Use SidebarText witn 0.12 opacity as the button bg color

* Set tertiary button helper to use theme.sidebarText color
2022-06-06 15:03:29 -04:00
Elias Nahum
2f07b7afc8
[Gekidou] user profile (#6353)
* User profile

* Access User Profile from reaction list

* Fix threads participants list & open user profile on tap

* Extra bottom padding

* Profile long press tutorial

* Adjust heights

* Reduce label margin from 12 to 8
2022-06-06 11:27:25 -04:00
Elias Nahum
e01d8f46c2
Disallow connecting to the same server from the multi-server selection (#6355) 2022-06-06 09:22:08 -04:00
Elias Nahum
b4e0304f2f
Change permalink modal to overFullScreen 2022-06-03 12:34:30 -04:00
Avinash Lingaloo
2d3d43c000
MM-39711 - Gekidou Notification Push Notification main screen (#6312)
* added chevron to menu item component

* starting with the skeleton

* starting with the skeleton

* starting with the skeleton

* starting with the skeleton

* remove extra line

* tested on tablets

* some corrections

* corrections as per review

* starting with notification skeleton

* attached notification settings to navigation

* added auto responder

* update translation

* update snapshot

* updated snapshot

* correction after review

* removed unnecessary screen

* refactored

* updated the testIDs

* Update Package.resolved

* refactor

* removed Mattermost as default server name

* fix ts

* refactored settings constant

* display settings skeleton

- pending: query for allowed themes

* added 'allowedThemes' query

* added section item

* mention screen skeleton in place

* added section and sectionItem component

* added reply section to the mention screen

* update i18n

* rename screens properly

* update i18n

* Refactored to MentionSettings component

* Refactored to ReplySettings component

* style clean up

* textTransform uppercase

* rename Section/SectionItem to Block/BlockItem

* added mobile push notif screen - push status section

* adding text to those two components

* correction following review

* added mobile push notification section

* added mobile push notification thread section

* style fix

* code fix

* code fix

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

* added skeleton for auto responder

* code clean up

* correction from peer review

* correction from PR review

* clean up

* PR review correction

* correction

* clean up

* clean up

* code clean up

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

* Fix hardwareBackPress handlers

* Use user locale for formattedTime

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

* Fix post draft archived & read only safe area

* Do not show reply post option in thread screen

* Open permalink as full screen modal

* Fix crash when using chinese locale

* Fix team list and call handle team change
2022-06-03 07:18:29 -04:00
Elias Nahum
a0f25f0e3b
[Gekidou] Channel Info screen (#6330)
* Channel Info screen

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

* feedback review

* UX feedback

* Add missing isOptionItem prop
2022-06-02 16:09:12 -04:00
Elias Nahum
f203b74b2f
[Gekidou] Update Markdown theme (#6328)
* Fix Markdown when theme changes / latex correct font color

* Do not fetch emojis that are unicode

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

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

* Add initial task list support

* Render markdown checkbox

* Switch to Commonmark fork

* Use searchPatterns prop

* searchPatterns prop at post level

* Update app/components/markdown/transform.ts

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

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

* updated heading styles to use typography helper

* fix imports

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-05-20 14:15:50 -04:00