Commit Graph

70 Commits

Author SHA1 Message Date
Saúl Ibarra Corretgé b91d6b97a9 deps: jitsi/js-utils@1.0.0 2020-07-10 10:38:49 +02:00
Saúl Ibarra Corretgé 6e679f952f redux: refactor loading of middlewares and reducers
Up until now we relied on implicit loading of middlewares and reducers, through
having imports in each feature's index.js.

This leads to many complex import cycles which result in (sometimes) hard to fix
bugs in addition to (often) breaking mobile because a web-only feature gets
imported on mobile too, thanks to the implicit loading.

This PR changes that to make the process explicit. Both middlewares and reducers
are imported in a single place, the app entrypoint. They have been divided into
3 categories: any, web and native, which represent each of the platforms
  respectively.

Ideally no feature should have an index.js exporting actions, action types and
components, but that's a larger ordeal, so this is just the first step in
getting there. In order to both set example and avoid large cycles the app
feature has been refactored to not have an idex.js itself.
2020-06-16 11:24:15 +02:00
Saúl Ibarra Corretgé 80d7e5fb7f redux: move PersistenceRegistry to the redux feature 2020-06-16 11:24:15 +02:00
Bettenbuk Zoltan 0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Saúl Ibarra Corretgé 70d8fe91c3 deps: replace jsrsasign
We were only using a couple of utility functionss to parse tokens, not to
validate them in any way.
2020-05-20 15:06:19 +02:00
Hristo Terezov d388a7bd3c feat(reload): Preserve local track mute state. 2020-05-07 18:18:21 -05:00
Дамян Минков 9bb789472e
Uses correct scopes for google API based on config.js values. (#5066)
* Uses correct scopes for google API based on config.js values.

* Lower the number of parameters that we pass around.

* Fixes googleAPIState state checking.
2020-02-11 15:14:01 +00:00
Bettenbuk Zoltan 8a3ddd8596 feat: SVG icons 2019-09-13 14:07:53 +02:00
Saúl Ibarra Corretgé 5a934c071a logging: use individual, names loggers
React Native doesn't define __filename nor __dirname so do it artisanally. In
addition, this helps with centralizing the configuration passed to loggers.
2019-08-23 10:57:38 +02:00
netaskd 8da0552541 microsoftCalendar: add showing calendar events in local timezone. 2019-07-02 21:20:00 +01:00
Saúl Ibarra Corretgé ca11cbf6cc calendar-sync: fix loading calendar entries
Checking if the calendar support in the reducer is not only useless but wrong,
since we don't have access to the entire store (the calendar support is checked
in the base/config feature). If calendar support is not enabled the actions
being reduced won't be dispatched anyway, so no harm is done by removing the
check.
2019-06-14 11:32:39 +02:00
Saúl Ibarra Corretgé 97e0303065 feature-flags: add flag for enabling calendar integration 2019-06-11 13:37:50 +00:00
Saúl Ibarra Corretgé 59db39d4d9 rn: cleanup old code
This legacy code was added about a year ago to ease the migration between
releases:
631f51d627

I consider this not to be needed anymore.
2019-04-24 17:36:41 +02:00
Bettenbuk Zoltan 2a5adfc601 Remove some Flow annotations 2019-03-25 13:53:08 +01:00
Saúl Ibarra Corretgé c025c7e132 flow: tame the beast
🔥🔥🔥
2019-03-21 14:47:55 +01:00
Saúl Ibarra Corretgé 0e92e73789 chore: use strings as action types
Using anything non-serializable for action types is discouraged:
https://redux.js.org/faq/actions#actions

In fact, this is the Flow definition for dispatching actions:

declare export type DispatchAPI<A> = (action: A) => A;
declare export type Dispatch<A: { type: $Subtype<string> }> = DispatchAPI<A>;

Note how the `type` field is defined as a subtype of string, which Symbol isn’t.
2019-03-21 14:47:55 +01:00
virtuacoplenny a667c9bff2
ref: js-utils for random and room name generator (#3975) 2019-03-19 10:35:36 -07:00
damencho f5a7e0bccb Adds provider name to fix welcomepage text.
* Removes unused ADD_PEOPLE_APP_NAME
* Moves deep-link header background and logo size as variables.
* Fixes more numbers page space in the header.
* Fixes left padding on deep-linking mobile page.
2019-03-15 11:24:18 +00:00
Bettenbuk Zoltan 27e1f5a1bc [RN] Avoid adding undefined in the invite 2019-03-06 16:52:22 +01:00
Hristo Terezov 4575e7e119 fix(calendar): Remove logs with invalid calendar items. 2019-01-15 17:00:23 +01:00
Bettenbuk Zoltan 4da8c626f7 Exclude static jitsi links from calendar fetch 2018-12-18 17:36:44 +01:00
Bettenbuk Zoltan f6e6b09e78 [RN] Make feature dialogs branded: calendar-sync 2018-12-18 13:21:48 +01:00
virtuacoplenny f89f3f144f
Merge pull request #3597 from virtuacoplenny/lenny/handle-calendar-signed-out
fix(calendar): show error message if authorization fails on event fetch
2018-12-10 17:51:08 -08:00
Bettenbuk Zoltan 3fdf944763 Fix eslint/jsdoc warnings (doc change only!) 2018-11-08 15:52:34 +01:00
Leonard Kim 7a2c465c4a fix(calendar): show error message if authorization fails on event fetch 2018-11-06 11:56:25 -08:00
Hristo Terezov b30008e3a5 feat(welcome-page): Redesign. (#3559)
* feat(welcome-page): Redesign.

* Style adjustments.
2018-10-22 13:49:18 -05:00
Saúl Ibarra Corretgé 7162080d00 feat(flow): tame the beast 2018-10-10 18:07:36 +02:00
Bettenbuk Zoltan d8c1f107da [RN] Add swipe to delete feature 2018-10-09 13:35:06 +02:00
Bettenbuk Zoltan 61456b0d99 Handle all day events in calendar 2018-10-04 16:21:51 +02:00
Bettenbuk Zoltan 2d87757aaa [RN] Add invite function to calendar 2018-09-11 23:27:11 +02:00
Дамян Минков 7674e90d4d
Adds dial in default number and pin to the text for calendar/share. (#3421)
* Adds dial in default number and pin to the text for calendar/share.

* Handles fail to fetch numbers or conference id.
2018-09-07 17:48:58 -05:00
Lyubo Marinov 1d128e027a Coding style: utilize default values
Since they are a language feature, they make the source code more easily
comprehensible than `if (typeof XXX === 'undefined') { XXX = ...; }`.
2018-09-07 16:48:16 -05:00
Leonard Kim f148b50100 fix(calendar): join button goes to meeting 2018-09-06 15:21:14 -05:00
yanas 31cc63b757 Add join button to calendar events. (#3408)
* Add joing button to the calendar events.

* Add space between calendar lines.

* Adjust recent list name.

* Fixes test failure.

* Restyle mobile recent list message.

* Add analytics events.

* Addressing PR review comments.
2018-08-31 18:03:35 -07:00
yanas 86caf52d08 Welcome page calendar ui improvements (#3405)
* Welcome page calendar ui improvements

* Addressing PR review comments.
2018-08-27 17:56:17 -07:00
yanas f2cb15ba44
[WiP] Calendar integration ui (#3395)
Calendar integration ui
2018-08-27 10:13:59 -05:00
Дамян Минков 7267f386dc Implements calendar entries edit. (#3382)
* Implements calendar entries edit.

Share text generation between calendar-sync and the share-room feature.

* Fixing comments.

* Clone the event element we modify on update.
2018-08-17 12:34:41 -07:00
Дамян Минков 7eda31315f Google & Microsoft calendar API integration (#3340)
* Refactor calendar-sync feature to be loaded on web.

For the web part it just adds new property to enable/disable calendar web integration, disabled by default.

* Initial implementation of retrieving google calendar events.

* Initial implementation of retrieving microsoft calendar events.

* Fixes comments.

* Rework to use the promise part of microsoft-graph-client api.

* Moves dispatching some actions, fixing comments.

* Makes sure we do not initializeClient google-api client multiple times.

* Do not try to login when fetching calendar entries.

The case where there is a calendar type google selected, but not logged in, trying to login on loading welcome page will show a warning that it tried to open a popup, which was denied by browser.

* Updates profile display data on sign in.

* Propagate google-api state to calendar-sync only if we use google cal.

* Adds sign out action.

* Clears the event listener when the popup closes.

* Clears calendarIntegrationInstance on signOut.

* WIP: UI for calendar settings, refactor auth flows

* Clean up some unused constants, functions and exports.

* break circular dependency of function and constant

* Exports only isCalendarEnabled from functions.

* Checks isSignedIn when doing fetchCalendarEntries on web.

* address comments

List microsoftApiApplicationClientID in undocument config.

remove unused SET_CALENDAR_TYPE action

use helper for calendar enabled in bootstrap

reorder actions

reorder imports

change order of signin -> set type -> update profile

add logging for signout error

reword setting dialog desc to avoid redundancy

add jsdoc to microsoft button props

reorder calendar constants

move default state to reducer (not reused anywhere)

update comment about calendar-sync due to removal of getCalendarState

update comment for getCalendarIntegration

remove vague comment

alpha order reducer, return default state on reset

alpha order persistence registry

remove unnecessary getType from apis

update comments in microsoftCalendar

alpha order google-api exports, use api.get in loadGoogleAPI

set jsdoc for google signin props

alpha order googleapi methods

fix calendartab docs

* Moves fetching calendar from APP_WILL_MOUNT to SET_CONFIG.

The web part needs configuration in order to refresh tokens (Microsoft).

* Fixes storing token expire time and refreshing tokens in Microsoft impl.

* Address comments

updateProfile changed to getCurrentEmail

rename result to results

stop storing integration in redux, store if ready for use

use existing helpers to parse redirect url

* update jsdocs, get google app id from redux

* clear integration instead of actual sign out
2018-08-15 13:11:54 -07:00
Saúl Ibarra Corretgé dc246960df feat(App): refactor App and split it into BaseApp and App
BaseApp does all the heavy-lifting related to creating the redux store,
navigation, and so on.

App currently handles URL props and actually triggering navigation based on
them.
2018-07-12 11:28:19 -05:00
Bettenbuk Zoltan 961e1d611f [RN] Only ask for calendar permission on user interaction 2018-07-11 17:17:24 +02:00
Bettenbuk Zoltan ac63a0fa73 Calendar feature disabled state getter
This commit adds a state getter that considers checking the enabled/disabled state of the calendar feature, so then other features don’t have to do it manually.
2018-06-29 09:36:34 +01:00
Lyubo Marinov 0d3fac7c0f [RN] Change default WelcomeScreen tab and persist user choice (coding style) 2018-06-18 15:42:09 -05:00
Bettenbuk Zoltan dcfebf746f [RN] Change default WelcomeScreen tab and persist user choice 2018-06-18 12:21:55 -05:00
Lyubo Marinov 07613aa856 [RN] Make the calendar list distinct (coding style) 2018-06-12 23:24:20 -05:00
Bettenbuk Zoltan db6f2c8868 [RN] Make the calendar list distinct 2018-06-12 23:24:20 -05:00
paweldomas 2b20c55bfe ref(types): use IntervalID and TimeoutID types defined by flow 2018-06-04 16:05:48 -05:00
Lyubo Marinov cbd510bf7d flow: tame the beast (coding style) 2018-06-04 16:05:48 -05:00
Saúl Ibarra Corretgé 0817482b9c flow: tame the beast 2018-06-04 16:05:48 -05:00
Bettenbuk Zoltan 6a1e9e256d [RN] Make the calendar the default tab when there are calendar entries fetched. 2018-06-01 10:54:11 +02:00
Bettenbuk Zoltan 5c7b7cd625 [RN] Add ongoing label to calendar notifications for past meetings 2018-05-29 17:16:17 +02:00