Commit graph

58 commits

Author SHA1 Message Date
Elias Nahum
de57c343f0
MM-55621 fix layout for tablets and foldables (#7697)
* MM-55621 fix layout for tablets and foldables

* feedback review
2023-12-05 11:08:43 +08:00
Elias Nahum
edef4ec4a3
Update libraries and dependencies (#7678)
* update js dependencies

* update react-native libraries

* update watermelonDB

* update RN to 0.72.7

* update fastlane

* fix remove_markdown/at_mention import

* update mattermost libraries

* update fastlane deps

* remove haptic-feedback patch

* update okhttp to 4.12.0 and patch netinfo to accurately identify VPN connections

* create ImaegStyles intersection type
2023-11-25 07:46:13 +08:00
Christopher Poile
5694ea0744
MM-53924 - Android should use category to allow replies (#7534) 2023-09-06 17:19:20 -04:00
Daniel Espino García
d74826064b
Remove keychain cache to avoid token invalidation problems (#7479) 2023-08-01 15:46:48 +02:00
Daniel Espino García
5ab2f86b66
Fix ios cache (#7412)
* Fix Keychain cache

* Fix

* Fix import
2023-07-05 14:01:51 -04:00
Elias Nahum
72f7c639c7
Use network APIClient reactContext if already set (#7426) 2023-06-27 10:30:31 -04:00
Elias Nahum
ef2c12e954
Update Dependencies (#7409)
* dev dependencies

* update deps

* update wdb

* update more deps

* update detox deps

* update logs for database batch

* fix jest setup
2023-06-21 13:40:23 -04:00
Daniel Espino García
e365824567
Native fetch users on attachments (#7382)
* Native side of fetching users from attachments text and pretext

* iOS native

* Address feedback
2023-06-02 16:25:54 +02:00
Daniel Espino García
c99861d728
Use message source on post edit (#7325)
* Use message source on post edit

* Fix tests and bugs
2023-05-11 14:18:07 +02:00
Elias Nahum
fe916ec740
Refactor category channels to react to setting changes and apply the correct order (#7170)
* Refactor category channels to react to setting changes and apply the correct order

* feedback review
2023-03-03 15:53:29 +02:00
Elias Nahum
ee13679f38
Android refactor push notifications to store data or send to JS for processing (#7127)
* Android refactor push notifications to store data or send to JS for processing

* remove blank line

* rename variable
2023-02-15 17:07:27 +02:00
Elias Nahum
23cbf82353
Use LRU to cache the Avatar shown in push notifications (#7124)
* iOS switch from file cache to memory cache and use last_picture_update to update the avatar if needed

* Android switch from file cache to memory cache and use last_picture_update to update the avatar if needed, split function to multiple files and catch potential exceptions
2023-02-15 11:19:31 +02:00
Elias Nahum
265b8b2193
Request permissions for Android push notifications and refactor code to use network client (#7059) 2023-01-31 21:33:35 +02:00
Elias Nahum
7ed2e73a91
catch exceptions in Android Database helper (#7027) 2023-01-27 18:49:31 +02:00
Elias Nahum
9bae53b4ad
Fix crash when dismissing notification on android (#7029)
* Fix crash when dismissing notification on android

* ensure notification channels are created
2023-01-27 17:55:22 +02:00
Elias Nahum
c1fbaffd3e
Support for Android Tablets & Foldable (#7025)
* Add Support for Android tablets & foldables

* add tablet and book posture

* Regenerate disposed observable on WindowInfoTracker
2023-01-26 20:31:18 +02:00
Elias Nahum
7aa5bd0611
Update Dependencies and bug fixes (#7000)
* update dependencies

* update dependencies

* feedback review

* update @mattermost/react-native-turbo-mailer
2023-01-24 09:14:23 +02:00
Daniel Espino García
2597e06ac2
Add webhook image to notification in missing scenarios (#6971)
* Add webhook image to notification in missing scenarios

* Improve urlOverride check
2023-01-19 10:53:09 +01:00
Elias Nahum
ca1f6df1c6
Generate video thumb from file url instead of public url (#6922) 2023-01-05 13:49:04 +02:00
Elias Nahum
a058ca57ca
Android Fixes (#6915)
* Fix android back button handler

* Fix Android crash caused by react native screens

* Prevent Android crash and log stack trace when receiving a push notification
2023-01-02 12:53:08 +02:00
Daniel Espino García
95e3c04658
Fix webhook picture on notifications (#6894) 2022-12-23 16:45:27 +02:00
Elias Nahum
25fcb066a7
Fix Android crash when push notification is received and app not initialized (#6817) 2022-12-02 20:47:40 +04: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
Elias Nahum
4c389a49fa
Gekidou session expired notification (#6639)
* Fix crash on Android when session expired notification is presented

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

* Fix android scheduled session notification crash

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

* remove schedule session expired notification from login entry point

* schedule session expired notification actions

* add session manager

* Handle open session expired notification
2022-09-18 06:57:55 -04:00
Elias Nahum
c2f5092678
[Gekidou] refactor clean notifications (#6566) 2022-08-19 16:29:15 -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
Elias Nahum
d09ead850e
[Gekidou] Fix video uploads (#6440) 2022-06-30 19:16:37 -04:00
Anurag Shivarathri
306fbba3a7
[Gekidou MM-44135 MM-44134 MM-40088] Group & Clear channel and thread notifications when CRT is on (#6429)
* Android

* iOS changes

* client changes

* Misc

* Update CustomPushNotification.java

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-06-30 21:26:14 +05:30
Elias Nahum
4a79ae0574
Fix android build 2022-06-29 17:31:01 -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
Anurag Shivarathri
1b5e41b424
[Gekidou MM-40097 MM-44133] Save thread related data when client receives a push notification (#6275)
* Android changes

* Fixed updating records from native side

* Android: Handle crt related issues

* Android threads fix

* Android misc fixes

* Android addressing feedback

* ios changes WIP

* Update Podfile.lock

* iOS changes

* iOS feedback

* iOS updates the existing record like android

* Android misc

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-06-09 16:50:14 +05:30
Elias Nahum
e883186fde
[Gekidou] retry post (#6293)
* Add try again functionality to failed posts

* Fix attach files on Android

* feedback review

* Prevent android crash when uploading files for the first time

* Update the timestamp for updateAt when retrying to post

* Add POST TIME TO FAIL

* use function isPostFailed
2022-05-20 13:23:19 -04:00
Elias Nahum
08d80e6236
Replace lottie loading spinner for activity indicator (#6266) 2022-05-12 12:54:43 -04:00
Elias Nahum
f62dcd42f7
Open Find Channels with keyboard shortcut (#6260) 2022-05-11 12:33:21 -04:00
Elias Nahum
0c1e9a4812
Remove Share Extensions (#6238) 2022-05-06 08:32:04 -04:00
Elias Nahum
b530dbeb09
[Gekidou] upgrade to RN 68 (old arch) (#6138)
* upgrade to RN 68 (old arch)

* remove test setup unused & commented mock

* Android target set to 30

* Fix theme when opening app from push notification

* upgrade common mark
2022-04-08 12:40:44 -04:00
Elias Nahum
527bd04170
Update dependencies 2022-03-26 20:33:13 -03:00
Elias Nahum
5de54471b7
[Gekidou] Gallery (#6008)
* Gallery screen (ground work)

* Open the gallery from posts

* Open the gallery from post draft

* feedback review

* Feedback review 2

* do not remove dm channel names and localization fix

* update to the latest network-client

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

* bring back ScrollView wrapper for message component

* Remove Text wrapper for markdown paragraph

* Fix YouTube play icon placeholder

* Make video file play button container round

* Add gif image placeholder

* Save images & videos to camera roll

* Feedback review 3

* load video thumbnail when post is in viewport

* simplify prefix
2022-03-01 13:55:44 -03:00
Elias Nahum
3ea065b845
[Gekidou] Fix & small refactor to the app entry logic and WS reconnection (#5937)
* Fix & small refactor to the app entry logic and WS reconnection

* Remove not needed log in MainActivity

* Replace async forEach with for await

* extract getClient to its own block

* replace double filter with reduce

* fix select channel on WS reconnect and user no longer belongs to current team

* feedback review on WS users actions

* Add windowFocusChanged for Android only

* on WS reconnection set team & channel if not member of current team

* reduce suggestion

* feedback review
2022-02-09 12:49:37 -03:00
Daniel Espino García
55324127e1
[Gekidou] Post input (#5844)
* Initial commit post input

* Fix message posting, add create direct channel and minor fixes

* Fix "is typing" and "react to last post" behaviour

* Some reordering, better handling of upload error, properly clear draft on send message, and fix minor progress bar misbehavior

* Add keyboard listener for shift-enter, add selection between video or photo while attaching, add alert when trying to attach more than you are allowed, add paste functionality, minor fixes and reordering

* Add library patch

* Fix lint

* Address feedback

* Address feedback

* Add missing negation

* Check for group name and fix typo on draft comparisons

* Address feedback

* Address feedback

* Address feedback

* Address feedback

* Fix several bugs

* Remove @app imports

* Address feedback

* fix post list & post draft layout on iOS

* Fix post draft cursor position

* Fix file upload route

* Allow to pick multiple images using the image picker

* accurately get the channel member count

* remove android cursor workaround

* Remove local const INPUT_LINE_HEIGHT

* move getPlaceHolder out of the component

* use substring instead of legacy substr for hardward keyboard

* Move onAppStateChange above the effects

* Fix camera action bottom sheet

* no need to memo SendButton

* properly use memberCount in sender handler

* Refactor how to get memberCount

* Fix queryRecentPostsInThread

* Remove unused isDirectChannelVisible && isGroupChannelVisible util functions

* rename errorBadUser to errorUnkownUser

* extract localized strings

* use ClientErrorProps instead of ClientError

* Minor improvements

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-03 08:59:15 -03:00
Jason Frerich
520a28962b
[Gekidou] MM-39736 Login Flow (#5799) 2021-11-18 22:07:41 +01:00
Elias Nahum
880cfbb7ac
Upgrade unimodules with expo to use expo-file-system 2021-11-06 18:08:22 -03:00
Elias Nahum
9372bb7c04
[Gekidou] Unique servers (#5798)
* Disallow the same server from being added the twice

* Add Default Server name config & EMM managed config

* Update android/app/src/main/res/values/strings.xml

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

Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
2021-11-03 11:12:52 -03:00
Elias Nahum
790b1beb22
[Gekidou] push notifications (#5779)
* Push notifications entry point

* Process android notification natively only if RN is not initialized

* Database changes to store local channel viewed_at

* EphemeralStore wait until screen removed

* Move schedule session notification to utility

* Fix channel remote & local actions + added actions for markChannelAsViewed & fetchMyChannel

* Add fetchMyTeam remote action

* Add dismissAllModalsAndPopToScreen to navigation

* Improve post list component & add app state to re-trigger queries

* Improve WS implementation

* Handle push notification events

* Fix postsInChannel since handler

* Handle in-app notifications

* Post list to listen to column changes

* Track selected bottom tab in ephemeral store

* add useIsTablet hook

* in-app notifications on tablets
2021-10-27 17:53:11 -03:00
Elias Nahum
15cb53846b
Enable wdb-jsi on Android (#5702) 2021-09-29 13:22:52 -03:00
Miguel Alatzar
6c2e28afc2
[Gekidou] Android - Fetch and store data on push notification receipt (#5662)
* WIP

* Latest network client

* Init DatabaseHelper and Network

* Add request and query functions

* Fetch posts when push notification is received on Android

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-09-12 15:35:01 -03:00
Elias Nahum
5eb8ac6afd
Android clear notification preferences on version change 2021-09-04 11:28:49 -04:00
Elias Nahum
b5c5949b7d
[Gekidou] Update Splash Screen / App icons and Android snooze Push Notifications (#5658)
* Android push notification snooze

* Android splash & icons

* iOS splash & icons

* Update project assets

* Replace iOS assets using Fastlane

* Remove configure_telemetry_android from Fastlane script

* Update Fastlane with master branch

* Fix Android fastlane build

* replace reference for com.mattermost.rnbeta.* imports

* Set iOS ENTRY_FILE as index.ts
2021-08-31 14:58:09 -04:00
Avinash Lingaloo
e8ce78f39d
MM-36721 - [GEKIDOU] Porting Markdown components (#5586)
* Started with Channel Post List

* Added markdown hashtag

* Added TouchableWithFeedback component

* Added utils/bottom_sheet

* Removed BottomSheet in favor of future SlideUpPanel

* Added markdown_block_quote

* Added markdown_list_item

* Added markdown_list

* Added MarkDownTableCell component

* Markdown_table - in progress - need to verify TS

* Added markdown_table

* Update Podfile.lock

* Added deep_linking constant

* Added utils/draft

* Update config to include ExperimentalNormalizeMarkdownLinks

* Added markdown_link

* Added markdown_table_row

* Added ProgressiveImage and RetriableImage components and images utils

* Converted Retriable component to functional component

* Added type definition for commonmark

* Continuing with markdown TS

* Markdown - Typing props [ in progress ]

* Fix boolean flag with mardown block quote

* Adding observable config to markdown_link

* TS Fixes [ in progress ]

* TS fixes

* TS fixes - TextStyles

* Update markdown.tsx

* TS fixes on markdown

* TS Fixes - AtMention component

* AtMention [ IN PROGRESS ]

* Add markdown support

* Fix emoji and jumboEmoji on iOS

* Fix handleMyTeam operator

* Fix navigation style based on theme

* Fix iOS MattermostManaged deleteDatabse return error type

* wrap setNavigationStackStyles under a requestAnimationFrame

* Add preventDoubleTap to channel mention

* Increase double tap to 750ms

* Fix handleReceivedPostsInChannel chunk query

* Set initial navigation theme

* Swizzle FastImage on iOS

* fix preventDoubleTap test

Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-08-02 20:30:17 +04:00
Elias Nahum
8d2bd32897
[Gekidou] Update dependencies (#5581)
* Update detox deps

* Push notifications (android & launcher)

* Update dependencies
2021-08-01 21:09:19 -04:00