[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
This commit is contained in:
Elias Nahum
2021-10-27 17:53:11 -03:00
committed by GitHub
parent c01bcb7559
commit 790b1beb22
87 changed files with 2923 additions and 1550 deletions

View File

@@ -12,8 +12,6 @@ import {DatabaseType} from './enums';
import type AppDataOperator from '@database/operator/app_data_operator';
import type ServerDataOperator from '@database/operator/server_data_operator';
import type {Config} from '@typings/database/models/servers/config';
import type {License} from '@typings/database/models/servers/license';
import type System from '@typings/database/models/servers/system';
export type WithDatabaseArgs = { database: Database }
@@ -23,12 +21,14 @@ export type CreateServerDatabaseConfig = {
dbType?: DatabaseType.DEFAULT | DatabaseType.SERVER;
displayName?: string;
serverUrl?: string;
identifier?: string;
};
export type RegisterServerDatabaseArgs = {
databaseFilePath: string;
displayName: string;
serverUrl: string;
identifier?: string;
};
export type AppDatabase = {
@@ -246,9 +246,9 @@ export type HandleDraftArgs = PrepareOnly & {
};
export type LoginArgs = {
config: Partial<Config>;
config: Partial<ClientConfig>;
ldapOnly?: boolean;
license: Partial<License>;
license: Partial<ClientLicense>;
loginId: string;
mfaToken?: string;
password: string;