Commit Graph

58 Commits

Author SHA1 Message Date
Horatiu Muresan 32dbdf2e5c
feat(deeplinking) Move deeplinking to config.js (#12704) 2022-12-20 19:03:57 +02:00
Calin-Teodor cdb2436b73 feat(base/ui): updated BUTTON_TYPES imports based upon native or web 2022-11-09 16:35:08 +02:00
Saúl Ibarra Corretgé 7cd39b7983 feat(ts) make tsc happy 2022-11-02 09:03:14 +01:00
Bogdan Duduman 48db099134 feat: include sort members eslint changes 2022-09-27 10:25:20 +02:00
Robert Pintilii 247c54b6c6
ref(TS) Convert constants tiles to TS (#12148)
Remove unnecessary ts-ignores
2022-09-09 12:22:30 +03:00
Robert Pintilii 271ea8315b
ref: Improve reducers TS (#12123) 2022-09-05 12:05:07 +03:00
Robert Pintilii 5f04c5ba64
ref: Convert some reducers to TS (#11988) 2022-08-08 14:06:29 +03:00
Robert Pintilii 5601a62b60
ref(ui-components) Use new Button component (#11969)
Remove atlaskit deps
2022-08-04 13:39:22 +03:00
Calinteodor 7c523f3250
language(typescript) actionTypes.js -> actionTypes.ts (#10940)
* language(typescript) first ts component, added ts configurations, actionTypes.js are now ts files
2022-04-08 15:24:58 +03:00
Дамян Минков 75d80ad879 fix: Fixes loading web on mobile browser.
Adds missing url prop to DialInSummary and safeguard the URL creation.
2022-03-02 08:53:57 -06:00
Avram Tudor 51b827ebb0
fix(browser-compatibility) hide launch in web for unsupported mobile browsers (#10569) 2021-12-09 13:16:08 +02:00
robertpin 4276f82c03
feat(billing-counter) Removed iframe billing-counter callbacks (#9537)
* Removed iframe billing-counter callbacks

* Moved remaining items to jaas

* Fixed import path

* Removed billingCounter condition

* Use getvpaasTenant in middleware

* Removed billingId

* Path fix

* Removed jwt from isVpaasMeeting

* Fix isVpaas
2021-07-20 11:58:42 +03:00
Tudor-Ovidiu Avram 12be14bd4b fix(jaas) do not deeplink jaas users on default 8x8 app scheme 2021-07-16 17:05:21 +03:00
Steffen Kolmer e9675453e1
feat: Make Jitsi WCAG 2.1 compliant (#8921)
* Make Jitsi WCAG 2.1 compliant

* Fixed password form keypress handling

* Added keypress handler to name form

* Removed unneccessary dom query

* Fixed mouse hove style

* Removed obsolete css rules

* accessibilty background feature

* Merge remote-tracking branch 'upstream/master' into nic/fix/merge-conflicts

* fix error

* add german translation

* Fixed merge issue

* Add id prop back to device selection

* Fixed lockfile

Co-authored-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>
2021-06-10 07:48:44 -05:00
Alex Bumbu e2a4d0d42d fix(vpaas) enable deeplinking 2021-06-09 17:46:56 +03:00
Steffen Kolmer ef7d425859 feat(ui) update AtlasKit components 2021-01-26 16:47:55 +01:00
Tudor-Ovidiu Avram 7ff41217ac feat(vpaas) disable deeplinking page 2020-09-03 10:45:51 -05:00
James Carbine 5b10d8f5ef
Add config to hide logo-deep-linking on deeplinking page (#7346)
This adds the ability to configure hiding the logo on the deep linking page.
HIDE_DEEP_LINKING_LOGO defaults to false in the config.
The implementation also defaults to showing the logo if HIDE_DEEP_LINKING_LOGO
is missing from the config.
2020-08-10 09:30:16 -05: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
Jaya Allamsetty 5348fa19c8 feat: show option to join via browser on supported mobile browsers
Currently Chromium based browsers and Firefox are supported on Android
Only Safari is supported on iOS
2020-05-22 10:52:59 -04:00
Felix C. Stegerman 63ca419e76 improve "open in app" page 2020-05-21 08:39:17 -04:00
Bettenbuk Zoltan 0598e7369b ref: eslint-config-jitsi@1.0.3 2020-05-20 17:14:29 +02:00
Suguru Hirahara 8c30e43b5f Retry "external_api: fixed using deeplinks"
Set target='_top' inside anchor.

Courtesy of #6700
Follow-up to: #6784
2020-05-20 10:18:29 -04:00
Jaya Allamsetty 5591144693 Revert "external_api: fixed using deeplinks"
This breaks the mobile deeplinking page
This reverts commit 532dadb245.
2020-05-19 16:43:10 -04:00
msalmasi 532dadb245
external_api: fixed using deeplinks
This update opens links in the full body of the window so deeplinks will work on iOS Safari when using the external API in an iFrame.
2020-05-19 14:09:42 +02:00
Saúl Ibarra Corretgé 305a63e8f9 deep-linking: fix generating links for external API
The ocnfig is not overridden early enough.

Fixes: https://github.com/jitsi/jitsi-meet/issues/6489
2020-05-18 16:06:13 +02:00
Mihai Uscat 5fdb7c176c feat(MobileDeepLinking): Enable custom deeplinking domain 2020-05-11 15:33:10 +02:00
horymury a9767eda72
Fix chrome extension banner (#5011)
* Fix chrome extension banner

* Address reviews
2020-01-29 12:30:17 +00:00
virtuacoplenny 17c1f50fc3 fix(mobile-landing): do not attempt opening download link in new window
Instead let the mobile OS take care of opening the URL
in the appropriate application. Without target _blank,
iOS 13.2.2 on Chrome will open about:blank and immediately
close the tab instead of opening the store.
2019-11-15 09:43:18 +01:00
Mihai Uscat ae30d39b4d feat(PromotionalFooter): Implement 2019-11-06 03:29:49 -08:00
Saúl Ibarra Corretgé dd23ed09ad deps: react-native@0.60 2019-08-21 11:12:56 +02:00
Leonard Kim 1409d6fb5e fix(deep-linking): do not accept native app name as raw html
There is no need to display the native app name as
raw html.
2019-08-04 06:45:00 -07:00
Leonard Kim 0097360396 feat(deep-linking): allow disabling through override 2019-07-19 14:48:46 -07:00
virtuacoplenny 249dd7b8b8
fix(invite): decode the meeting name (#4411)
* fix(invite): decode the meeting name

* squash: try to make mobile join same encoded meeting name as web

* Decodes and generated texts for share and copy meeting info.

Decodes in all cases except when it contains a space, as it will generate wrong links when pasted/shared in external applications.
2019-07-10 10:27:11 -07:00
Hristo Terezov 651791b8df feat(deeplinking): Pass state to openDesktopApp. 2019-06-10 04:14:41 -07:00
Leonard Kim d65a068fdb feat(deep-linking): hide web button on unsupported browsers 2019-06-07 07:36:20 -07:00
Hristo Terezov 840c0190c4 fix(deep-linking): Don't rely on custom scheme 2019-05-24 12:51:14 -07: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
Saúl Ibarra Corretgé 6f95c50d6e Revert "misc: make URL protocol matching regexes non-greedy"
This reverts commit 7c911eca96.

I'm dumb. We need global mode because otherwise lastIndex is not updated in the
regex object, which we rely upon, so this is intentional.
2019-02-06 15:49:44 +01:00
Saúl Ibarra Corretgé 7c911eca96 misc: make URL protocol matching regexes non-greedy 2019-02-02 21:21:21 +01:00
Saúl Ibarra Corretgé f3c83f6e6d rn: finally fix Android deep-linking
The URL cannot end in a /.
2019-02-02 21:21:21 +01:00
Saúl Ibarra Corretgé 53c232fd76 misc: fix off-by-one error
e729f0948c contained an off-by-one error:

URI_PROTOCOL_PATTERN includes the colon, so after applyting the regex we are
left with something like '//example.com/room' thus we only need to strip the
first 2 characters.

🤦
2019-02-01 15:22:17 +01:00
Saúl Ibarra Corretgé e729f0948c android: fix deep-linking from web
Looks like custom-scheme links no longer work in all browsers. They do on
Firefox, but the don't in Chrome and other default browsers.

So, switch to intent links on Android:
https://developer.chrome.com/multidevice/android/intents

Example:
```
<a href="intent://meet.jit.si/test123#Intent;scheme=org.jitsi.meet;package=org.jitsi.meet;end">Open Jitsi Meet</a>
```
2019-02-01 09:30:09 +01:00
damencho c13424f7c0 Fixes some lint warnings. 2019-01-11 15:11:17 +01:00
srmcgann e7d0bf7b66 feat(DeepLinkingMobilePage): fix nested iframe button 2019-01-11 09:42:52 +01:00
Leonard Kim c288d0e18c ref(deep-linking): set initial state in constructor 2018-11-21 08:08:45 -08:00
Leonard Kim 486e8e35d9 ref: move all prop type declaration to flow
For the most part the changes are taking the "static propTypes" declaration off
of components and declaring them as Flow types. Sometimes to support flow some
method signatures had to be added. There are some exceptions in which more had
to be done to tame the beast:
- AbstractVideoTrack: put in additional truthy checks for videoTrack.
- Video: add truthy checks for the _videoElement ref.
- shouldRenderVideoTrack function: Some component could pass null for the
  videoTrack argument and Flow wanted that called out explicitly.
- DisplayName: Add a truthy check for the input ref before acting on it.
- NumbersList: Move array checks inline for Flow to comprehend array methods
  could be called. Add type checks in the Object.entries loop as the value is
  assumed to be a mixed type by Flow.
- AbstractToolbarButton: add additional truthy check for passed in type.
2018-11-07 17:38:10 +01:00
Saúl Ibarra Corretgé 155e02bbfb core: refactor routing
Unfortunately, as the Jitsi Meet development evolved the routing mechanism
became more complex and thre logic ended up spread across multiple parts of the
codebase, which made it hard to follow and extend.

This change aims to fix that by rewriting the routing logic and centralizing it
in (pretty much) a single place, with no implicit inter-dependencies.

In order to arrive there, however, some extra changes were needed, which were
not caught early enough and are thus part of this change:

- JitsiMeetJS initialization is now synchronous: there is nothing async about
  it, and the only async requirement (Temasys support) was lifted. See [0].
- WebRTC support can be detected early: building on top of the above, WebRTC
  support can now be detected immediately, so take advantage of this to simplify
  how we handle unsupported browsers. See [0].

The new router takes decissions based on the Redux state at the time of
invocation. A route can be represented by either a component or a URl reference,
with the latter taking precedence. On mobile, obviously, there is no concept of
URL reference so routing is based solely on components.

[0]: https://github.com/jitsi/lib-jitsi-meet/pull/779
2018-07-11 22:58:41 -05:00