Shaz MJ
6d6085ed4b
[Gekidou] Groups + group membership schema ( #6251 )
...
* First pass at adding groups to mobile
* Reverts back and updates the group vars
* Cleans tests
* Missing created/updated/deleted fields in types, many-many ref fix
* Adds to manager
* PR Feedback
* Failing test
* Move FK out of comment, add indexes
* updated docs/database/server artefacts
Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com >
2022-05-19 17:54:39 +10:00
Daniel Espino García
a4674915c1
Better handle go to location ( #6262 )
...
* Better handle go to location
* Improve server check
2022-05-19 09:06:31 +02:00
Daniel Espino García
75d1c9d228
Try to remove as many as as possible ( #6200 )
...
* Try to remove as many ` as ` as possible
* Fix imports
2022-05-12 15:46:11 +02: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
Avinash Lingaloo
c9d73d4512
removed TOS from Server DB schema ( #6117 )
...
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
2022-04-01 12:35:24 -03:00
Avinash Lingaloo
764e08e25d
removed SlashCommands from the Server database schema ( #6116 )
2022-04-01 12:23:57 -03:00
Kyriakos Z
f2484297a8
[Gekidou DB]: Adds threads in team database table and handlers ( #6090 )
...
* Adds threads in team database table and handlers
DM/GM channels have no team ID. This makes it troublesome to paginate
threads in a team. The issue is that whenever a DM/GM thread is fetched
from pagination it will be added in all teams in that server,
potentially creating gaps in between threads for those teams.
This PR inserts a new table in the DB ThreadsInTeam which will hold
references of threads loaded in which server.
Thread lists then would have to rely on that table to show threads.
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com >
2022-03-28 10:11:13 +03:00
Anurag Shivarathri
9dbdae22fd
[Gekidou MM-39707] CRT DB ( #5948 )
...
* Database init
* Naming fix
* naming misc
* Fix test
* Added Thread Tab columns, Team Threads Count table and other changes
* Test case fix
* Test cases fix ...... AGAIN
* TS fix
* Removed loaded_in_all_threads_tab, loaded_in_unreads_tab
* Removed TeamThreadsCount table, mention & message root counts & added loadedInGlobalThreads flag
* Type changes, added delete thread with post
* Removed unused type
* Reverted relationshio of post with thread
* Calling thread destroyPermanently from post
* Removed unused table name variables
* added THREAD constant table in post model and fixed a few comments
* Misc typo fix and code clean up
* Added test case and related to participant in user model
* test cases fix
Co-authored-by: Mattermod <mattermod@users.noreply.github.com >
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
2022-03-03 22:47:29 +05:30
Jason Frerich
efd2fd0c02
[Gekidou MM-39729] Websocket Events - Groups ( #5930 )
...
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
2022-03-01 10:13:45 -06:00
Elias Nahum
5b9492356b
Gekidou MultiServers second part ( #5963 )
...
* Edit Server display name
* Lock iPhone to portrait and iPad to landscape
* Create actions for app global to store device token and multi server tutorial
* Add MutliServer tutorial on first use
* WebSocket reconnection priority
* have isRecordGlobalEqualToRaw to not check for value
* Return early on edit server if error is found
* Prepopulate server screen with last logged out server address and name
* Add CompassIcon to circleCI asset generation
2022-02-17 10:42:06 -03:00
Elias Nahum
d35eac8bd3
Gekidou servers ( #5960 )
...
* Servers logout and websocket state
* addNewServer uility and rename file
* add LaunchType for add new server
* added time to LaunchProps type
* Remove unnecessary props for launchToHome
* Fix local action updateLastPostAt
* Batch fetchProfilesPerChannels requests in chunks of 50
* WS handleUserAddedToChannelEvent to return early if no channelId is set
* WS handleNewPostEvent to batch update last_post_at
* add common actions to sync other servers
* Entry actions to sync other servers data
* Do not attempt to fetch notification data if payload does not contain a channelId
* Set database as default at the end of the login flow
* Handle logout when other servers remain
* Handle Server options
* Show alert when logging out from the account screen
* Add workaround to have Lottie animate the loading component
* Fix badge position in ServerIcon component
* Server screen to support adding new server
* Fix login screen to display error when credentials do not match
* add localization strings
* fix DatabaseProvider to update on server switch
* Fix home icon and server icon subscriptions and badge display
* Add dependencies to onLogout callback
* feedback
* Only updateLastPostAt if needed
2022-02-14 16:39:29 -03:00
Shaz Amjad
fc29b4b974
[Gekidou] Sidebar Categories (Database only) ( #5909 )
2022-01-31 10:30:10 -03:00
Elias Nahum
2013f39a61
V2 dependency updates ( #5907 )
...
* Update to RN 0.67 & dependencies
* Update server displayName if already exists
* Allow adding only one reaction
* update to rn 0.67.1
2022-01-21 08:49:04 -03:00
Elias Nahum
42f193c70c
Upgrade deps ( #5850 )
2021-11-29 23:19:39 +02:00
Elias Nahum
880cfbb7ac
Upgrade unimodules with expo to use expo-file-system
2021-11-06 18:08:22 -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
Daniel Espino García
d1e0c99c3d
Gekidou websockets ( #5671 )
...
* Adapt websocket client
* Add Websocket Manager
* Address feedback
* Start websockets on init and login, and invalidate on logout
* Add temporal logging and bug fixing
* Working WS
* Add reconnect actions and periodic updates
* Address feedback
* Add missing change
* Several improvements on websocket reconnect and channel handling
* fix gekidou package-lock.json
* update Podfile.lock
* Address feedback
* Address feedback
* Address feedback
* Fix update channel delete at
* Catch errors on batchRecords
* Update app/queries/servers/channel.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
2021-10-19 19:16:10 +02:00
Elias Nahum
0e4064c758
Enable Adapter JSI
2021-10-04 15:46:04 -03:00
Daniel Espino García
1c26f14fdb
Add import order lint rules ( #5672 )
...
* Add import order lint rules
* Address feedback
* Revert change
2021-09-13 10:18:03 +02:00
Elias Nahum
5700ce7c86
[Gekidou] post component tree and partial postList ( #5637 )
2021-09-06 08:22:55 -03:00
Elias Nahum
65c3e05fd8
[Gekidou] groups ( #5593 )
...
* Rename groups in channel/team to group channel/team
* Redefine groups schema
* Groups action and operator
* Add group at mentions
* fix uni test
* Update types/database/models/servers/group.d.ts
Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com >
Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com >
2021-08-05 19:03:46 +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
Elias Nahum
8cd127a223
[Gekidou] Typings & PostMetadata structure ( #5542 )
...
* Typings & PostMetadata structure
* comment out unused code
* Remove duplicate interface
* Fix getPreferenceAsBool defaultValue
2021-07-15 11:49:02 -04:00
Elias Nahum
2dc37f1c92
feat: server_url and theme context ( #5540 )
2021-07-14 08:12:49 -04:00
Elias Nahum
c64277bdbf
Gekidou Update deps ( #5530 )
2021-07-11 07:52:44 -04:00
Miguel Alatzar
134c4a49c5
Integrate react-native-network-client ( #5499 )
...
* fix: handle NSMutableData
* feat: integrate react-native-network-client
* fix: typos
* fix: semicolon
* fix: rename to urlVersion
* fix: add returnDataOnly arg
* fix: configure network client
* fix: headers
* fix: handling of serverVersion
* fix: rename requests to actions
* fix: action imports
* fix: no need to stringify body
* fix: sso flow
* fix: address PR feedback
* fix: invalidate client on logout
* fix: address PR feedback take 2
* fix: address PR feedback take 3
* fix: tsc issues
* fix: get csrf token during client creation
* fix: linter
* fix: invalidate client onLogout
* fix: event emitter
* fix: unit tests
* fix: apply linter fixes
* fix lint
* Modify actions to add / update database values
* Rename clien4.d.ts to client.d.ts
* fix empty & missing translations
* cleanup api client
* Cleanup init & squash some TODO's
* Emit certificate errors in NetworkManager
* cleanup user actions
* Fix NetworkManager invalidate client
* Invalidate client when server screen appears
* Update kotlin to 1.4.30 required by network-client
* patch react-native-keychain to remove cached credential
* update react-native-network-client
* Use app.db instead of default.db in native code
* fix use of rnnc on Android
* Init PushNotifications
* No need to reset serverVersion on logout
* fix logout action
* fix deleteServerDatabase
* fix schedule expired session notification
* use safeParseJSON for db json fields
* unsubscribe when database component unmounts
* cleanup init
* session type
* pass launchprops to entire login flow
* Properly remove third party cookies after SSO login
* recreate network client if sso with redirect fails
* add missing launch props from server screen
* use query prefix for database queries
* Add temporary logout function to channel screen
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
2021-07-06 11:16:35 -04:00
Elias Nahum
10bfc9d604
[Gekidou] update dependencies & use node 16 with npm 7 ( #5475 )
...
* [Gekidou] update dependencies & use node 16 with npm 7
* add npm7 circleCI changes
* use react-intl 5.17.7
* fix migration error type
2021-06-22 18:52:58 -04:00
Elias Nahum
17e832e689
[Gekidou] Refactor storage layer ( #5471 )
...
* Refactored storage layer - in progress
* Refactored DatabaseManager & Operators
* Renamed isRecordAppEqualToRaw to isRecordInfoEqualToRaw
* Review feedback
* Update app/database/models/app/info.ts
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com >
* Update app/database/models/server/my_team.ts
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com >
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com >
2021-06-21 17:06:18 -04:00
Avinash Lingaloo
3ee6e673c8
MM-35115 [Gekidou] Login flow - Email and Password ( #5402 )
...
* MM_35115: ADDED select_server screen
* MM_35115: ADDED select_server screen
* MM_35115: ADDED files on which select_server is dependent
* MM_35115: ADDED react-native-button
* MM_35115: Fixing TS issues [IN PROGRESS]
* MM_35115: Started withObservables [IN PROGRESS]
* MM_35115: Started withObservables [IN PROGRESS]
* MM_35115: withObservables - defaulting when no connection is available [IN PROGRESS]
* MM_35115: withObservables - some code clean up [IN PROGRESS]
* MM_35115: withObservables - some code clean up [IN PROGRESS]
* MM_35115: withObservables - some code clean up [IN PROGRESS]
* MM_35115: Substituting mapDispatchToProps [IN PROGRESS]
* MM_35115: Substituting mapDispatchToProps [IN PROGRESS]
* MM_35115: Substituting mapDispatchToProps [IN PROGRESS]
* MM_35115: Removed resetPing action [IN PROGRESS]
* MM_35115: ADDED app/client
* MM_35115: Preparing scheduleExpiredNotification
* MM_35115: Adding some todos
* Server & LoginOptions
* Use default server if available and autoconnect if configured
* Fix login header & manual server url
* MM_35115: Login Options[IN PROGRESS]
* MM_35115: Login screen - email [IN PROGRESS]
* MM_35115: Login screen - email [IN PROGRESS]
* MM_35115: Login screen - email - login api call [IN PROGRESS]
* MM_35115: Login screen - email - login api call [IN PROGRESS]
* MM_35115: Login screen - email - saving to server db [IN PROGRESS]
* MM_35115: Login screen - email - saving to System, Preferences to db [IN PROGRESS]
* MM_35115: Login screen - enforcing unique check on System entity [IN PROGRESS]
* MM_35115: Login screen - writing TeamMembership [IN PROGRESS]
* MM_35115: Login screen - writing Teams [IN PROGRESS]
* MM_35115: Login screen [IN PROGRESS]
* MM_35115: Login screen- Refactored DataOperator handlers [IN PROGRESS]
* MM_35115: Login screen - Proper clean up [IN PROGRESS]
* MM_35115: Login screen - completeLogin [IN PROGRESS]
* MM_35115: Improving DataOperator
* MM_35115: Improving DataOperator
* MM_35115: 80% DONE - login with email and password - some todos
* MM_35115: 80% DONE - login with email and password - some todos
* MM_35115: 80% DONE - login with email and password - some todos
* MM_35115: Removing unused app/queries folder
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Adding roles for MYTEAM
* MM_35115: Code clean up
* MM_35115: Code clean up
* MM_35115: Code clean up
* MM_35115: Adding rn-fetch-blob for Android
* MM_35115: Code clean up
* MM_35115: Code clean up
* MM_35115: Added test setup
* MM_35115: Fix database utils
* MM_35115: ADDED loadRolesIfNeeded
* MM_35115: Fix TS issue
* MM_35115: ADDED Tests setup
* MM_35115: Fix TS issues
* MM_35115: Fix TS issues
* MM_35115: Fix TS issues
* MM_35115: Added alternative to site name
* MM_35115: Added alternative to site name
* MM_35115: Removed hardcoded values
* MM_35115: Clean up
* MM_35115 - Fixed Android platform check instead of hermes
* MM_35115 - Replaced emptyErrorHandlingFunction with emptyFunction
* MM_35115 : Implemented TS fixes
* Update index.ts
* MM-35115 - Fix react-test-renderer issue
* MM_35115 - Optimizing DatabaseManager
* MM_35115 : Implemented getDatabaseConnection
* MM_35115 : Refactoring set/getActiveDatabase to use flag record
* MM_35115 : Refactored active database to use flag in Global entity
* MM_35115 : Updated manual database manager test
* MM_35115 : Fix operator/utils/test
* MM_35115 : Fix for base_handler
* MM_35115 : Fix test issues with Handlers
* MM_35115 : Fix test issues with prepareRecords
* MM_35115 : Fix wrapper test issue
* MM_35115 : Updated getMostRecentServerConnection to return the serverUrl as well as the connection
* MM_35115 : Refactored the way we call DataOperator
* MM_35115 : Updated database manager mock
* Add getMostRecentServerUrl function (#5440 )
* fix: add getMostRecentServerUrl func
* fix: add ts and tsx to editorconfig
* fix: rename functions
* fix: return type
* Fix unit test setup
* fix login screen unit tests
* MM-36205 [GEKIDOU] Login Flow SSO (#5454 )
* MM_35115: Starting LoginOptions SSO
* MM_36205: SSO [IN PROGRESS]
* MM_36205 : SSO [ IN PROGRESS ]
* Update sso_with_redirect_url.tsx
* MM_36205 : SSO Tests [ IN PROGRESS ]
* MM_36205 : Passing serverUrl to SSO screen
* Update sso.test.tsx
* Fix ViewTypes imports and keyMirror method
* MM_36205 : Code clean up
* Fix : Clean up imports
* Update: Aligning with PR 5452
* Fix: AndroidManifest file to include redirection ofr scheme mmauthbeta
* refactor: SSO Login method via Gitlab now navigates to Channel screen
* refactor: SSO Login without redirectURL is also working
* feat: SSO - main test completed
* feat: ADDED test for sso_with_redirect_url
* fix : eslint correction
* fix: Updated Loading component name
* fix : code clean up from reviews
* fix: reviews check
* fix: Added mmauthbeta into info.plist
* Revert "fix: Added mmauthbeta into info.plist"
This reverts commit d87cc23f5b .
* Update Info.plist
* Update AppDelegate.m
* feat: ADDED Forgot Password - Test [ IN PROGRESS ]
* feat: Forgot Password - Completed & Tested
* fix: Including MFA screen [ IN PROGRESS ]
* MFA - Properly tested
* Properly testing forgot_password screen
* Fix login.test.tsx
* Fix SSO method calls chain
* Update index.tsx
* Sort imports for sceen/navigation
* fix: Reviews
* Update signing + act in test
* Removed todo comment on MFA
* feedback review
* fix login tests
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
* App initialization refactor (#5430 )
* fix: initial init refactor
* fix: await isServerPresent
* fix: more refactor
* fix: move out launch functions
* fix: remove comment
* fix: update credential functions
* fix: refactor launch functions
* fix: deep link parsing
* fix: lint change
* fix: update deeplink and notification handlers
* fix: indentation
* fix: add relaunchApp
* fix eslint
* refactor launchProps and autoconnect server for deeplink
* fix: use undefined
* fix: define OptionalLaunchProps
* fix: Android - handle server URL in push notification
* fix: rename func
* fix: use boolean launchError instead
* fix: use DatabaseModule
* fix: use DatabaseHelper instead
* fix: remove unnecessary null check
* fix: iOS - support for serverUrl
* fix: iOS - extract serverUrl in reply action
* fix: iOS - expose objc specific func
* fix: remove unnecessary deviceToken param
* fix: return if device is untrusted
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
* fix: bye bye modulePaths
* fix: ios build
* chore: remove unused aliases from babel.config
* chore: fix dependency format in package-lock.json
* chore: remove transparent window background color for android AppTheme
* chore: remove mattermost.js and use index.ts as app entry
* fix: login flow screens theme
* fix: Launch types
* chore: remove OptionalLaunchProps type
* fix: url utils unit tests
* chore: update en.json
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com >
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com >
2021-06-18 00:57:40 -04:00
Avinash Lingaloo
78b76352c8
MM-30482 [Gekidou] Data Operator ( #5346 )
...
* MM_30482: Imported database and types /database folder
* MM_30482: Imported database and types /database folder
* MM_30482 : All tests are passing
* MM_30482 : Updating patch package for watermelon db
* MM_30482 : Fixing CI issue
* MM_30482 : Updating TS complaint
* Update index.ts
* MM_30482 : Code clean up
Co-authored-by: Avinash Lingaloo <>
2021-04-22 19:16:00 +04:00