diff --git a/react/.buckconfig b/.buckconfig similarity index 100% rename from react/.buckconfig rename to .buckconfig diff --git a/.gitignore b/.gitignore index fbdc2762e..43994faa9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,4 @@ -node_modules -.DS_Store *.swp -.idea/ -*.iml .*.tmp deploy-local.sh libs/ @@ -11,3 +7,50 @@ all.css unsupported_browser.css .remote-sync.json .sync-config.cson + +# The following are automatically generated by the react-native command line +# utility (either with the init or upgrade option which pull in the latest +# template files recommended by Facebook for React Native). + +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace + +# Android/IJ +# +*.iml +.idea +.gradle +local.properties + +# node.js +# +node_modules/ +npm-debug.log + +# BUCK +# +buck-out/ +\.buckd/ +android/app/libs +android/keystores/debug.keystore diff --git a/.jshintignore b/.jshintignore index 4729d5d4b..18e489c7d 100644 --- a/.jshintignore +++ b/.jshintignore @@ -1,5 +1,6 @@ -debian -libs -node_modules +debian/ +libs/ +node_modules/ +react/ analytics.js webpack.config.babel.js diff --git a/react/.watchmanconfig b/.watchmanconfig similarity index 100% rename from react/.watchmanconfig rename to .watchmanconfig diff --git a/react/android/app/BUCK b/android/app/BUCK similarity index 100% rename from react/android/app/BUCK rename to android/app/BUCK diff --git a/react/android/app/build.gradle b/android/app/build.gradle similarity index 100% rename from react/android/app/build.gradle rename to android/app/build.gradle diff --git a/react/android/app/proguard-rules.pro b/android/app/proguard-rules.pro similarity index 100% rename from react/android/app/proguard-rules.pro rename to android/app/proguard-rules.pro diff --git a/react/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml similarity index 100% rename from react/android/app/src/main/AndroidManifest.xml rename to android/app/src/main/AndroidManifest.xml diff --git a/react/android/app/src/main/assets/fonts/FontAwesome.ttf b/android/app/src/main/assets/fonts/FontAwesome.ttf similarity index 100% rename from react/android/app/src/main/assets/fonts/FontAwesome.ttf rename to android/app/src/main/assets/fonts/FontAwesome.ttf diff --git a/react/android/app/src/main/java/org/jitsi/jitsi_meet_react/MainActivity.java b/android/app/src/main/java/org/jitsi/jitsi_meet_react/MainActivity.java similarity index 100% rename from react/android/app/src/main/java/org/jitsi/jitsi_meet_react/MainActivity.java rename to android/app/src/main/java/org/jitsi/jitsi_meet_react/MainActivity.java diff --git a/react/android/app/src/main/java/org/jitsi/jitsi_meet_react/MainApplication.java b/android/app/src/main/java/org/jitsi/jitsi_meet_react/MainApplication.java similarity index 100% rename from react/android/app/src/main/java/org/jitsi/jitsi_meet_react/MainApplication.java rename to android/app/src/main/java/org/jitsi/jitsi_meet_react/MainApplication.java diff --git a/react/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from react/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/react/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from react/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/react/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from react/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from react/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/react/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml similarity index 100% rename from react/android/app/src/main/res/values/strings.xml rename to android/app/src/main/res/values/strings.xml diff --git a/react/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml similarity index 100% rename from react/android/app/src/main/res/values/styles.xml rename to android/app/src/main/res/values/styles.xml diff --git a/react/android/build.gradle b/android/build.gradle similarity index 100% rename from react/android/build.gradle rename to android/build.gradle diff --git a/react/android/gradle.properties b/android/gradle.properties similarity index 100% rename from react/android/gradle.properties rename to android/gradle.properties diff --git a/react/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from react/android/gradle/wrapper/gradle-wrapper.jar rename to android/gradle/wrapper/gradle-wrapper.jar diff --git a/react/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from react/android/gradle/wrapper/gradle-wrapper.properties rename to android/gradle/wrapper/gradle-wrapper.properties diff --git a/react/android/gradlew b/android/gradlew similarity index 100% rename from react/android/gradlew rename to android/gradlew diff --git a/react/android/gradlew.bat b/android/gradlew.bat similarity index 100% rename from react/android/gradlew.bat rename to android/gradlew.bat diff --git a/react/android/keystores/BUCK b/android/keystores/BUCK similarity index 100% rename from react/android/keystores/BUCK rename to android/keystores/BUCK diff --git a/react/android/keystores/debug.keystore.properties b/android/keystores/debug.keystore.properties similarity index 100% rename from react/android/keystores/debug.keystore.properties rename to android/keystores/debug.keystore.properties diff --git a/react/android/settings.gradle b/android/settings.gradle similarity index 100% rename from react/android/settings.gradle rename to android/settings.gradle diff --git a/react/doc/coding-style.md b/doc/coding-style.md similarity index 100% rename from react/doc/coding-style.md rename to doc/coding-style.md diff --git a/index.android.js b/index.android.js new file mode 100644 index 000000000..c212bf9c9 --- /dev/null +++ b/index.android.js @@ -0,0 +1 @@ +export * from './react/index.native'; diff --git a/index.ios.js b/index.ios.js new file mode 100644 index 000000000..c212bf9c9 --- /dev/null +++ b/index.ios.js @@ -0,0 +1 @@ +export * from './react/index.native'; diff --git a/react/ios/app/AppDelegate.h b/ios/app/AppDelegate.h similarity index 100% rename from react/ios/app/AppDelegate.h rename to ios/app/AppDelegate.h diff --git a/react/ios/app/AppDelegate.m b/ios/app/AppDelegate.m similarity index 100% rename from react/ios/app/AppDelegate.m rename to ios/app/AppDelegate.m diff --git a/react/ios/app/Base.lproj/LaunchScreen.xib b/ios/app/Base.lproj/LaunchScreen.xib similarity index 100% rename from react/ios/app/Base.lproj/LaunchScreen.xib rename to ios/app/Base.lproj/LaunchScreen.xib diff --git a/react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x.png b/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x.png similarity index 100% rename from react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x.png rename to ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@2x.png diff --git a/react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@3x.png b/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@3x.png similarity index 100% rename from react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@3x.png rename to ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-29@3x.png diff --git a/react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x.png b/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x.png similarity index 100% rename from react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x.png rename to ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@2x.png diff --git a/react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@3x.png b/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@3x.png similarity index 100% rename from react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@3x.png rename to ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-40@3x.png diff --git a/react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@2x.png b/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@2x.png similarity index 100% rename from react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@2x.png rename to ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@2x.png diff --git a/react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@3x.png b/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@3x.png similarity index 100% rename from react/ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@3x.png rename to ios/app/Images.xcassets/AppIcon.appiconset/AppIcon-60@3x.png diff --git a/react/ios/app/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/app/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from react/ios/app/Images.xcassets/AppIcon.appiconset/Contents.json rename to ios/app/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/react/ios/app/Info.plist b/ios/app/Info.plist similarity index 100% rename from react/ios/app/Info.plist rename to ios/app/Info.plist diff --git a/react/ios/app/main.m b/ios/app/main.m similarity index 100% rename from react/ios/app/main.m rename to ios/app/main.m diff --git a/react/ios/apple-app-site-association b/ios/apple-app-site-association similarity index 100% rename from react/ios/apple-app-site-association rename to ios/apple-app-site-association diff --git a/react/ios/jitsi-meet-react.entitlements b/ios/jitsi-meet-react.entitlements similarity index 100% rename from react/ios/jitsi-meet-react.entitlements rename to ios/jitsi-meet-react.entitlements diff --git a/react/ios/jitsi-meet-react.xcodeproj/project.pbxproj b/ios/jitsi-meet-react.xcodeproj/project.pbxproj similarity index 99% rename from react/ios/jitsi-meet-react.xcodeproj/project.pbxproj rename to ios/jitsi-meet-react.xcodeproj/project.pbxproj index 61824293f..616ef61c4 100644 --- a/react/ios/jitsi-meet-react.xcodeproj/project.pbxproj +++ b/ios/jitsi-meet-react.xcodeproj/project.pbxproj @@ -143,7 +143,7 @@ 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = app/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 22418656B14845609F953A42 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; - 2602576B1D0A7703001E3363 /* jitsi.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = jitsi.ttf; path = ../features/base/fontIcons/fonts/jitsi.ttf; sourceTree = ""; }; + 2602576B1D0A7703001E3363 /* jitsi.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = jitsi.ttf; path = ../react/features/base/fontIcons/fonts/jitsi.ttf; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 821D8ABD506944B4BDBB069B /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; diff --git a/react/ios/jitsi-meet-react.xcodeproj/xcshareddata/xcschemes/jitsi-meet-react.xcscheme b/ios/jitsi-meet-react.xcodeproj/xcshareddata/xcschemes/jitsi-meet-react.xcscheme similarity index 100% rename from react/ios/jitsi-meet-react.xcodeproj/xcshareddata/xcschemes/jitsi-meet-react.xcscheme rename to ios/jitsi-meet-react.xcodeproj/xcshareddata/xcschemes/jitsi-meet-react.xcscheme diff --git a/package.json b/package.json index f32ae3a8e..3b442b58f 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,19 @@ "jws": "*", "lib-jitsi-meet": "jitsi/lib-jitsi-meet", "postis": "^2.2.0", + "react": "15.3.1", + "react-native": "0.33.0", + "react-native-vector-icons": "^2.0.3", + "react-native-webrtc": "jitsi/react-native-webrtc", + "react-redux": "^4.4.5", + "redux": "^3.5.2", + "redux-thunk": "^2.1.0", "retry": "0.6.1", "strophe": "^1.2.2", "strophejs-plugins": "^0.0.6", - "toastr": "^2.0.3" + "toastr": "^2.0.3", + "url-polyfill": "github/url-polyfill", + "xmldom": "^0.1.22" }, "devDependencies": { "babel-core": "*", @@ -43,6 +52,9 @@ "clean-css": "*", "css-loader": "*", "eslint": "*", + "eslint-plugin-jsdoc": "*", + "eslint-plugin-react": "*", + "eslint-plugin-react-native": "*", "expose-loader": "*", "file-loader": "*", "imports-loader": "*", diff --git a/react/.flowconfig b/react/.flowconfig deleted file mode 100644 index 4bea710c1..000000000 --- a/react/.flowconfig +++ /dev/null @@ -1,58 +0,0 @@ -[ignore] - -# We fork some components by platform. -.*/*[.]android.js - -# Ignore templates with `@flow` in header -.*/local-cli/generator.* - -# Ignore malformed json -.*/node_modules/y18n/test/.*\.json - -# Ignore the website subdir -/website/.* - -# Ignore BUCK generated dirs -/\.buckd/ - -# Ignore unexpected extra @providesModule -.*/node_modules/commoner/test/source/widget/share.js - -# Ignore duplicate module providers -# For RN Apps installed via npm, "Libraries" folder is inside node_modules/react-native but in the source repo it is in the root -.*/Libraries/react-native/React.js -.*/Libraries/react-native/ReactNative.js -.*/node_modules/jest-runtime/build/__tests__/.* - -[include] - -[libs] -node_modules/react-native/Libraries/react-native/react-native-interface.js -node_modules/react-native/flow -flow/ - -[options] -module.system=haste - -esproposal.class_static_fields=enable -esproposal.class_instance_fields=enable - -experimental.strict_type_args=true - -munge_underscores=true - -module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub' -module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' - -suppress_type=$FlowIssue -suppress_type=$FlowFixMe -suppress_type=$FixMe - -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(30\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(30\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ -suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy - -unsafe.enable_getters_and_setters=true - -[version] -^0.30.0 diff --git a/react/.gitignore b/react/.gitignore deleted file mode 100644 index 5d67a700c..000000000 --- a/react/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -# OSX -# -.DS_Store - -# Xcode -# -build/ -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata -*.xccheckout -*.moved-aside -DerivedData -*.hmap -*.ipa -*.xcuserstate -project.xcworkspace - -# Android/IJ -# -*.iml -.idea -.gradle -local.properties - -# node.js -# -node_modules/ -npm-debug.log - -# BUCK -# -buck-out/ -\.buckd/ -android/app/libs -android/keystores/debug.keystore - -dist/ diff --git a/react/LICENSE b/react/LICENSE deleted file mode 100644 index da614295e..000000000 --- a/react/LICENSE +++ /dev/null @@ -1,219 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - -Note: - -This project was originally contributed to the community under the MIT license and with the following notice: - -The MIT License (MIT) - -Copyright (c) 2013 ESTOS GmbH -Copyright (c) 2013 BlueJimp SARL - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/react/README.md b/react/README.md deleted file mode 100644 index d540db882..000000000 --- a/react/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# jitsi-meet-react - -## Launching the App - -- For Android: `npm run start:android` -- For iOS: `npm run start:ios` -- For Web: `npm run start:web` diff --git a/react/debian/changelog b/react/debian/changelog deleted file mode 100644 index d8313f8b1..000000000 --- a/react/debian/changelog +++ /dev/null @@ -1,5 +0,0 @@ -jitsi-meet-react (1.0.1-1) unstable; urgency=low - - * Initial release. - - -- Damian Minkov Wed, 13 Jul 2016 15:32:41 +0000 diff --git a/react/debian/compat b/react/debian/compat deleted file mode 100644 index 45a4fb75d..000000000 --- a/react/debian/compat +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/react/debian/config.js b/react/debian/config.js deleted file mode 100644 index 5737c3dfc..000000000 --- a/react/debian/config.js +++ /dev/null @@ -1,73 +0,0 @@ -/* jshint -W101 */ -var config = { -// configLocation: './config.json', // see ./modules/HttpConfigFetch.js - hosts: { - domain: 'jitsi-meet.example.com', - //anonymousdomain: 'guest.example.com', - //authdomain: 'jitsi-meet.example.com', // defaults to - muc: 'conference.jitsi-meet.example.com', // FIXME: use XEP-0030 - //jirecon: 'jirecon.jitsi-meet.example.com', - //call_control: 'callcontrol.jitsi-meet.example.com', - //focus: 'focus.jitsi-meet.example.com', // defaults to 'focus.jitsi-meet.example.com' - }, -// getroomnode: function (path) { return 'someprefixpossiblybasedonpath'; }, -// useStunTurn: true, // use XEP-0215 to fetch STUN and TURN server -// useIPv6: true, // ipv6 support. use at your own risk - useNicks: false, - bosh: '//jitsi-meet.example.com/http-bind', // FIXME: use xep-0156 for that - clientNode: 'http://jitsi.org/jitsimeet', // The name of client node advertised in XEP-0115 'c' stanza - //focusUserJid: 'focus@auth.jitsi-meet.example.com', // The real JID of focus participant - can be overridden here - //defaultSipNumber: '', // Default SIP number - - // Desktop sharing method. Can be set to 'ext', 'webrtc' or false to disable. - desktopSharingChromeMethod: 'ext', - // The ID of the jidesha extension for Chrome. - desktopSharingChromeExtId: 'diibjkoicjeejcmhdnailmkgecihlobk', - // The media sources to use when using screen sharing with the Chrome - // extension. - desktopSharingChromeSources: ['screen', 'window'], - // Required version of Chrome extension - desktopSharingChromeMinExtVersion: '0.1', - - // The ID of the jidesha extension for Firefox. If null, we assume that no - // extension is required. - desktopSharingFirefoxExtId: null, - // Whether desktop sharing should be disabled on Firefox. - desktopSharingFirefoxDisabled: true, - // The maximum version of Firefox which requires a jidesha extension. - // Example: if set to 41, we will require the extension for Firefox versions - // up to and including 41. On Firefox 42 and higher, we will run without the - // extension. - // If set to -1, an extension will be required for all versions of Firefox. - desktopSharingFirefoxMaxVersionExtRequired: -1, - // The URL to the Firefox extension for desktop sharing. - desktopSharingFirefoxExtensionURL: null, - - // Disables ICE/UDP by filtering out local and remote UDP candidates in signalling. - webrtcIceUdpDisable: false, - // Disables ICE/TCP by filtering out local and remote TCP candidates in signalling. - webrtcIceTcpDisable: false, - - openSctp: true, // Toggle to enable/disable SCTP channels - disableStats: false, - disableAudioLevels: false, - channelLastN: -1, // The default value of the channel attribute last-n. - adaptiveLastN: false, - //disableAdaptiveSimulcast: false, - enableRecording: false, - enableWelcomePage: true, - disableSimulcast: false, - logStats: false, // Enable logging of PeerConnection stats via the focus -// requireDisplayName: true, // Forces the participants that doesn't have display name to enter it when they enter the room. -// startAudioMuted: 10, // every participant after the Nth will start audio muted -// startVideoMuted: 10, // every participant after the Nth will start video muted -// defaultLanguage: "en", -// To enable sending statistics to callstats.io you should provide Applicaiton ID and Secret. -// callStatsID: "", // Application ID for callstats.io API -// callStatsSecret: "", // Secret for callstats.io API - /*noticeMessage: 'Service update is scheduled for 16th March 2015. ' + - 'During that time service will not be available. ' + - 'Apologise for inconvenience.',*/ - disableThirdPartyRequests: false, - minHDHeight: 540 -}; diff --git a/react/debian/control b/react/debian/control deleted file mode 100644 index 5bdfbed8f..000000000 --- a/react/debian/control +++ /dev/null @@ -1,20 +0,0 @@ -Source: jitsi-meet-react -Section: net -Priority: extra -Maintainer: Jitsi Team -Uploaders: Emil Ivov , Damian Minkov -Build-Depends: debhelper (>= 8.0.0) -Standards-Version: 3.9.6 -Homepage: https://jitsi.org/meet - -Package: jitsi-meet-react -Architecture: all -Depends: ${misc:Depends}, jitsi-videobridge, jitsi-meet-prosody, - openjdk-8-jre-headless | nginx -Description: WebRTC JavaScript video conferences - Jitsi Meet is a WebRTC JavaScript application that uses Jitsi - Videobridge to provide high quality, scalable video conferences. - . - It is a web interface to Jitsi Videobridge for audio and video - forwarding and relaying, configured to work with jetty instance - running embedded into Jitsi Videobridge diff --git a/react/debian/copyright b/react/debian/copyright deleted file mode 100644 index 487ae98f4..000000000 --- a/react/debian/copyright +++ /dev/null @@ -1,13 +0,0 @@ -Format: http://dep.debian.net/deps/dep5 -Upstream-Name: Jitsi Meet -Upstream-Contact: Emil Ivov -Source: https://github.com/jitsi/jitsi-meet-react - -Files: * -Copyright: 2015 Atlassian Pty Ltd -License: Apache-2.0 - -License: Apache-2.0 -On Debian systems, the full text of the Apache - License version 2 can be found in the file - '/usr/share/common-licenses/Apache-2.0'. diff --git a/react/debian/jitsi-meet-react.README b/react/debian/jitsi-meet-react.README deleted file mode 100644 index 07d38a68c..000000000 --- a/react/debian/jitsi-meet-react.README +++ /dev/null @@ -1,10 +0,0 @@ -Jitsi Meet - -==== - -A WebRTC-powered multi-user videochat. - -Powered by the jitsi-videobridge[0] - - -[0] https://github.com/jitsi/jitsi-videobridge diff --git a/react/debian/jitsi-meet-react.README.Debian b/react/debian/jitsi-meet-react.README.Debian deleted file mode 100644 index e79c133d2..000000000 --- a/react/debian/jitsi-meet-react.README.Debian +++ /dev/null @@ -1,8 +0,0 @@ -Jitsi Meet for Debian ----------------------------- - -This is a WebRTC frontend of the video conferencing tool Jitsi Meet. It depends on the -jitsi-videobridge package, which is a SFU (Selective Forwarding Unit) and both packages -are designed to work together. - - -- Yasen Pramatarov Mon, 30 Jun 2014 23:05:18 +0100 diff --git a/react/debian/jitsi-meet-react.config b/react/debian/jitsi-meet-react.config deleted file mode 100644 index 4b5aa24e8..000000000 --- a/react/debian/jitsi-meet-react.config +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -e - -# Source debconf library. -. /usr/share/debconf/confmodule - -# certificate type choice -db_input critical jitsi-meet/cert-choice || true -db_go diff --git a/react/debian/jitsi-meet-react.dirs b/react/debian/jitsi-meet-react.dirs deleted file mode 100644 index 0bb2ab3e5..000000000 --- a/react/debian/jitsi-meet-react.dirs +++ /dev/null @@ -1 +0,0 @@ -etc/jitsi/meet/ diff --git a/react/debian/jitsi-meet-react.docs b/react/debian/jitsi-meet-react.docs deleted file mode 100644 index f68b10fb5..000000000 --- a/react/debian/jitsi-meet-react.docs +++ /dev/null @@ -1,4 +0,0 @@ -README.md -debian/jitsi-meet.example -debian/jitsi-meet-react.README -debian/config.js diff --git a/react/debian/jitsi-meet-react.install b/react/debian/jitsi-meet-react.install deleted file mode 100644 index a11fb4ac6..000000000 --- a/react/debian/jitsi-meet-react.install +++ /dev/null @@ -1 +0,0 @@ -dist/* /usr/share/jitsi-meet-react diff --git a/react/debian/jitsi-meet-react.postinst b/react/debian/jitsi-meet-react.postinst deleted file mode 100644 index 368a702b8..000000000 --- a/react/debian/jitsi-meet-react.postinst +++ /dev/null @@ -1,200 +0,0 @@ -#!/bin/bash -# postinst script for jitsi-meet -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-remove' -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -case "$1" in - configure) - - JVB_ETC_CONFIG="/etc/jitsi/videobridge/config" - - . $JVB_ETC_CONFIG - - # loading debconf - . /usr/share/debconf/confmodule - - # detect dpkg-reconfigure - RECONFIGURING="false" - db_get jitsi-meet/jvb-hostname - JVB_HOSTNAME_OLD=$RET - if [ -n "$RET" ] && [ ! "$JVB_HOSTNAME_OLD" = "$JVB_HOSTNAME" ] ; then - RECONFIGURING="true" - rm -f /etc/jitsi/meet/$JVB_HOSTNAME_OLD-config.js - fi - - JVB_SERVE="false" - db_get jitsi-meet/jvb-serve - if [ -n "$RET" ] && [ "$RET" = "true" ] ; then - JVB_SERVE="true" - fi - - # stores the hostname so we will reuse it later, like in purge - db_set jitsi-meet/jvb-hostname $JVB_HOSTNAME - - NGINX_INSTALL_CHECK="$(dpkg-query -f '${Status}' -W 'nginx' 2>/dev/null | awk '{print $3}' || true)" - if [ "$NGINX_INSTALL_CHECK" = "installed" ] || [ "$NGINX_INSTALL_CHECK" = "unpacked" ] ; then - FORCE_NGINX="true" - fi - - # SSL for nginx - db_get jitsi-meet/cert-choice - CERT_CHOICE="$RET" - UPLOADED_CERT_CHOICE="A certificate is available and the files are uploaded on the server" - - # jitsi meet - JITSI_MEET_CONFIG="/etc/jitsi/meet/$JVB_HOSTNAME-config.js" - if [ ! -f $JITSI_MEET_CONFIG ] ; then - cp /usr/share/doc/jitsi-meet-react/config.js $JITSI_MEET_CONFIG - sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" $JITSI_MEET_CONFIG - fi - - # this is new install let's configure jvb to serve meet - if [[ -z $FORCE_NGINX && ( -z $JVB_HOSTNAME_OLD || "$JVB_SERVE" = "true" ) ]] ; then - - JVB_CONFIG="/etc/jitsi/videobridge/sip-communicator.properties" - - # this is a reconfigure, lets just delete old links - if [ "$RECONFIGURING" = "true" ] ; then - rm -f $JVB_CONFIG - fi - - # we will write to the file if missing create it - if [ ! -f $JVB_CONFIG ] ; then - touch $JVB_CONFIG - fi - - # configure jvb - echo "AUTHBIND=yes" >> $JVB_ETC_CONFIG - sed -i "s/JVB_OPTS=.*/JVB_OPTS=--apis=rest,xmpp/g" $JVB_ETC_CONFIG - - echo "org.jitsi.videobridge.rest.jetty.host=::" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.port=443" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.ProxyServlet.hostHeader=$JVB_HOSTNAME" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.ProxyServlet.pathSpec=/http-bind" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.ProxyServlet.proxyTo=http://localhost:5280/http-bind" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.ResourceHandler.resourceBase=/usr/share/jitsi-meet-react" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.ResourceHandler.alias./config.js=/etc/jitsi/meet/$JVB_HOSTNAME-config.js" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.RewriteHandler.regex=^/([a-zA-Z0-9]+)$" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.RewriteHandler.replacement=/" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.SSIResourceHandler.paths=/" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.tls.port=443" >> $JVB_CONFIG - echo "org.jitsi.videobridge.TCP_HARVESTER_PORT=443" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.sslContextFactory.keyStorePath=/etc/jitsi/videobridge/$JVB_HOSTNAME.jks" >> $JVB_CONFIG - echo "org.jitsi.videobridge.rest.jetty.sslContextFactory.keyStorePassword=changeit" >> $JVB_CONFIG - - # configure authbind to allow jvb to bind to privileged ports - OWNER=$(stat -c '%U' /usr/share/jitsi-videobridge) - GROUP=$(stat -c '%G' /usr/share/jitsi-videobridge) - JVB_UID="`id -u $OWNER`" - if [ ! -f "/etc/authbind/byport/443" ] ; then - if [ ! -d "/etc/authbind/byport" ] ; then - mkdir -p /etc/authbind/byport - chmod 755 /etc/authbind - chmod 755 /etc/authbind/byport - fi - touch /etc/authbind/byport/443 - chown $OWNER /etc/authbind/byport/443 - chmod 755 /etc/authbind/byport/443 - fi - - if [ "$CERT_CHOICE" = "$UPLOADED_CERT_CHOICE" ] ; then - # create jks from uploaded certs - openssl pkcs12 -export \ - -in /etc/ssl/$JVB_HOSTNAME.crt \ - -inkey /etc/ssl/$JVB_HOSTNAME.key \ - -passout pass:changeit > /etc/jitsi/videobridge/$JVB_HOSTNAME.p12 - keytool -importkeystore \ - -srckeystore /etc/jitsi/videobridge/$JVB_HOSTNAME.p12 \ - -destkeystore /etc/jitsi/videobridge/$JVB_HOSTNAME.jks \ - -srcstoretype pkcs12 \ - -noprompt -storepass changeit -srcstorepass changeit - else - # create jks from self-signed certs - openssl pkcs12 -export \ - -in /var/lib/prosody/$JVB_HOSTNAME.crt \ - -inkey /var/lib/prosody/$JVB_HOSTNAME.key \ - -passout pass:changeit > /etc/jitsi/videobridge/$JVB_HOSTNAME.p12 - keytool -importkeystore \ - -srckeystore /etc/jitsi/videobridge/$JVB_HOSTNAME.p12 \ - -destkeystore /etc/jitsi/videobridge/$JVB_HOSTNAME.jks \ - -srcstoretype pkcs12 \ - -noprompt -storepass changeit -srcstorepass changeit - fi - - db_set jitsi-meet/jvb-serve "true" - - invoke-rc.d jitsi-videobridge restart - elif [[ "$FORCE_NGINX" = "true" || ( -n $JVB_HOSTNAME_OLD && "$JVB_SERVE" = "false" ) ]] ; then - # this is a reconfigure, lets just delete old links - if [ "$RECONFIGURING" = "true" ] ; then - rm -f /etc/nginx/sites-enabled/$JVB_HOSTNAME_OLD.conf - rm -f /etc/jitsi/meet/$JVB_HOSTNAME_OLD-config.js - fi - - # nginx conf - if [ ! -f /etc/nginx/sites-available/$JVB_HOSTNAME.conf ] ; then - cp /usr/share/doc/jitsi-meet-react/jitsi-meet.example /etc/nginx/sites-available/$JVB_HOSTNAME.conf - if [ ! -f /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf ] ; then - ln -s /etc/nginx/sites-available/$JVB_HOSTNAME.conf /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf - fi - sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" /etc/nginx/sites-available/$JVB_HOSTNAME.conf - fi - - if [ "$CERT_CHOICE" = "$UPLOADED_CERT_CHOICE" ] ; then - db_set jitsi-meet/cert-path-key "/etc/ssl/$JVB_HOSTNAME.key" - db_input critical jitsi-meet/cert-path-key || true - db_go - db_get jitsi-meet/cert-path-key - CERT_KEY="$RET" - db_set jitsi-meet/cert-path-crt "/etc/ssl/$JVB_HOSTNAME.crt" - db_input critical jitsi-meet/cert-path-crt || true - db_go - db_get jitsi-meet/cert-path-crt - CERT_CRT="$RET" - # replace self-signed certificate paths with user provided ones - CERT_KEY_ESC=$(echo $CERT_KEY | sed 's/\./\\\./g') - CERT_KEY_ESC=$(echo $CERT_KEY_ESC | sed 's/\//\\\//g') - sed -i "s/ssl_certificate_key\ \/var\/lib\/prosody\/.*key/ssl_certificate_key\ $CERT_KEY_ESC/g" \ - /etc/nginx/sites-available/$JVB_HOSTNAME.conf - CERT_CRT_ESC=$(echo $CERT_CRT | sed 's/\./\\\./g') - CERT_CRT_ESC=$(echo $CERT_CRT_ESC | sed 's/\//\\\//g') - sed -i "s/ssl_certificate\ \/var\/lib\/prosody\/.*crt/ssl_certificate\ $CERT_CRT_ESC/g" \ - /etc/nginx/sites-available/$JVB_HOSTNAME.conf - fi - - invoke-rc.d nginx reload - fi - - # and we're done with debconf - db_stop - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/react/debian/jitsi-meet-react.postrm b/react/debian/jitsi-meet-react.postrm deleted file mode 100644 index 807dc38cb..000000000 --- a/react/debian/jitsi-meet-react.postrm +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# postrm script for jitsi-meet -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `purge' -# * `upgrade' -# * `failed-upgrade' -# * `abort-install' -# * `abort-install' -# * `abort-upgrade' -# * `disappear' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -# Load debconf -. /usr/share/debconf/confmodule - - -case "$1" in - remove) - if [ -x "/etc/init.d/nginx" ]; then - invoke-rc.d nginx reload - fi - ;; - purge) - db_get jitsi-meet/jvb-hostname - JVB_HOSTNAME=$RET - if [ -n "$RET" ]; then - rm -f /etc/jitsi/meet/$JVB_HOSTNAME-config.js - rm -f /etc/nginx/sites-available/$JVB_HOSTNAME.conf - rm -f /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf - rm -f /etc/jitsi/videobridge/$JVB_HOSTNAME.jks - rm -f /etc/jitsi/videobridge/$JVB_HOSTNAME.p12 - fi - ;; - upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - - *) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -db_stop - -exit 0 diff --git a/react/debian/jitsi-meet-react.templates b/react/debian/jitsi-meet-react.templates deleted file mode 100644 index 32050feef..000000000 --- a/react/debian/jitsi-meet-react.templates +++ /dev/null @@ -1,32 +0,0 @@ -Template: jitsi-meet/cert-choice -Type: select -__Choices: Self-signed certificate will be generated, A certificate is available and the files are uploaded on the server -_Description: SSL certificate for the Jitsi Meet instance - Jitsi Meet is best to be set up with an SSL certificate. - Having no certificate, a self-signed one will be generated. - Having a certificate signed by a recognised CA, it can be uploaded on the server - and point its location. The default filenames will be /etc/ssl/--domain.name--.key - for the key and /etc/ssl/--domain.name--.crt for the certificate. - -Template: jitsi-meet/cert-path-key -Type: string -_Description: Full local server path to the SSL key file: - The full path to the SSL key file on the server. - If it has not been uploaded, now is a good time to do so. - -Template: jitsi-meet/cert-path-crt -Type: string -_Description: Full local server path to the SSL certificate file: - The full path to the SSL certificate file on the server. - If you haven't uploaded it, now is a good time to upload it in another console. - -Template: jitsi-meet/jvb-hostname -Type: string -_Description: The hostname of the current installation: - The value for the hostname that is set in Jitsi Videobridge installation. - -Template: jitsi-meet/jvb-serve -Type: boolean -Default: false -_Description: for internal use - for internal use. diff --git a/react/debian/jitsi-meet.example b/react/debian/jitsi-meet.example deleted file mode 100644 index 4c35649d8..000000000 --- a/react/debian/jitsi-meet.example +++ /dev/null @@ -1,42 +0,0 @@ -server_names_hash_bucket_size 64; - -server { - listen 80; - server_name jitsi-meet.example.com; - return 301 https://$host$request_uri; -} -server { - listen 443 ssl; - server_name jitsi-meet.example.com; - - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_prefer_server_ciphers on; - ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED"; - - add_header Strict-Transport-Security "max-age=31536000"; - - ssl_certificate /var/lib/prosody/jitsi-meet.example.com.crt; - ssl_certificate_key /var/lib/prosody/jitsi-meet.example.com.key; - - root /usr/share/jitsi-meet-react; - index index.html index.htm; - - location /config.js { - alias /etc/jitsi/meet/jitsi-meet.example.com-config.js; - } - - location ~ ^/([a-zA-Z0-9=\?]+)$ { - rewrite ^/(.*)$ / break; - } - - location / { - ssi on; - } - - # BOSH - location /http-bind { - proxy_pass http://localhost:5280/http-bind; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_set_header Host $http_host; - } -} diff --git a/react/debian/po/POTFILES.in b/react/debian/po/POTFILES.in deleted file mode 100644 index 3458b92cf..000000000 --- a/react/debian/po/POTFILES.in +++ /dev/null @@ -1 +0,0 @@ -[type: gettext/rfc822deb] jitsi-meet.templates diff --git a/react/debian/po/templates.pot b/react/debian/po/templates.pot deleted file mode 100644 index d3933e730..000000000 --- a/react/debian/po/templates.pot +++ /dev/null @@ -1,98 +0,0 @@ -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: jitsi-meet\n" -"Report-Msgid-Bugs-To: jitsi-meet@packages.debian.org\n" -"POT-Creation-Date: 2014-09-03 17:26+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: select -#. Choices -#: ../jitsi-meet.templates:1001 -msgid "Self-signed certificate will be generated" -msgstr "" - -#. Type: select -#. Choices -#: ../jitsi-meet.templates:1001 -msgid "A certificate is available and the files are uploaded on the server" -msgstr "" - -#. Type: select -#. Description -#: ../jitsi-meet.templates:1002 -msgid "SSL certificate for the Jitsi Meet instance" -msgstr "" - -#. Type: select -#. Description -#: ../jitsi-meet.templates:1002 -msgid "" -"Jitsi Meet is best to be set up with an SSL certificate. Having no " -"certificate, a self-signed one will be generated. Having a certificate " -"signed by a recognised CA, it can be uploaded on the server and point its " -"location. The default filenames will be /etc/ssl/--domain.name--.key for the " -"key and /etc/ssl/--domain.name--.crt for the certificate." -msgstr "" - -#. Type: string -#. Description -#: ../jitsi-meet.templates:2001 -msgid "Full local server path to the SSL key file:" -msgstr "" - -#. Type: string -#. Description -#: ../jitsi-meet.templates:2001 -msgid "" -"The full path to the SSL key file on the server. If it has not been " -"uploaded, now is a good time to do so." -msgstr "" - -#. Type: string -#. Description -#: ../jitsi-meet.templates:3001 -msgid "Full local server path to the SSL certificate file:" -msgstr "" - -#. Type: string -#. Description -#: ../jitsi-meet.templates:3001 -msgid "" -"The full path to the SSL certificate file on the server. If you haven't " -"uploaded it, now is a good time to upload it in another console." -msgstr "" - -#. Type: string -#. Description -#: ../jitsi-meet.templates:4001 -msgid "The hostname of the current installation:" -msgstr "" - -#. Type: string -#. Description -#: ../jitsi-meet.templates:4001 -msgid "" -"The value for the hostname that is set in Jitsi Videobridge installation." -msgstr "" - - -#. Type: string -#. Description -#: ../jitsi-meet.templates:5001 -msgid "for internal use" -msgstr "" - -#. Type: string -#. Description -#: ../jitsi-meet.templates:5001 -msgid "" -"Jitsi Videobridge installation can use its internal jetty to serve static meet pages." -msgstr "" diff --git a/react/debian/rules b/react/debian/rules deleted file mode 100755 index d430dd2fa..000000000 --- a/react/debian/rules +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -%: - dh $@ - -# we skip making Makefile exists for updating browserify modules when developing -override_dh_auto_build: - -override_dh_install: - dh_installdirs - dh_install -X/config.js -X/package.json diff --git a/react/debian/source/format b/react/debian/source/format deleted file mode 100644 index 163aaf8d8..000000000 --- a/react/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/react/favicon.ico b/react/favicon.ico deleted file mode 100644 index bb34caf1f..000000000 Binary files a/react/favicon.ico and /dev/null differ diff --git a/react/features/app/components/App.web.js b/react/features/app/components/App.web.js deleted file mode 100644 index 24319bf0a..000000000 --- a/react/features/app/components/App.web.js +++ /dev/null @@ -1,139 +0,0 @@ -import React from 'react'; -import { Provider } from 'react-redux'; -import { - browserHistory, - Route, - Router -} from 'react-router'; -import { push, syncHistoryWithStore } from 'react-router-redux'; - -import { getDomain } from '../../base/connection'; -import { RouteRegistry } from '../../base/navigator'; - -import { AbstractApp } from './AbstractApp'; - -/** - * Root application component. - * - * @extends AbstractApp - */ -export class App extends AbstractApp { - /** - * Initializes a new App instance. - * - * @param {Object} props - The read-only React Component props with which - * the new instance is to be initialized. - */ - constructor(props) { - super(props); - - /** - * Create an enhanced history that syncs navigation events with the - * store. - * @link https://github.com/reactjs/react-router-redux#how-it-works - */ - this.history = syncHistoryWithStore(browserHistory, props.store); - - // Bind event handlers so they are only bound once for every instance. - this._onRouteEnter = this._onRouteEnter.bind(this); - this._routerCreateElement = this._routerCreateElement.bind(this); - } - - /** - * Implements React's {@link Component#render()}. - * - * @inheritdoc - * @returns {ReactElement} - */ - render() { - const routes = RouteRegistry.getRoutes(); - - /* eslint-disable no-extra-parens */ - return ( - - - { routes.map(r => ( - - )) } - - - ); - - /* eslint-enable no-extra-parens */ - } - - /** - * Navigates to a specific Route (via platform-specific means). - * - * @param {Route} route - The Route to which to navigate. - * @returns {void} - */ - _navigate(route) { - let path = route.path; - const store = this.props.store; - - // The syntax :room bellow is defined by react-router. It "matches a URL - // segment up to the next /, ?, or #. The matched string is called a - // param." - path - = path.replace( - /:room/g, - store.getState()['features/base/conference'].room); - - return store.dispatch(push(path)); - } - - /** - * Invoked by react-router to notify this App that a Route is about to be - * rendered. - * - * @private - * @returns {void} - */ - _onRouteEnter() { - // XXX The following is mandatory. Otherwise, moving back & forward - // through the browser's history could leave this App on the Conference - // page without a room name. - - // Our Router configuration (at the time of this writing) is such that - // each Route corresponds to a single URL. Hence, entering into a Route - // is like opening a URL. - - // XXX In order to unify work with URLs in web and native environments, - // we will construct URL here with correct domain from config. - const currentDomain = getDomain(this.props.store.getState); - const url - = new URL(window.location.pathname, `https://${currentDomain}`) - .toString(); - - this._openURL(url); - } - - /** - * Create a ReactElement from the specified component and props on behalf of - * the associated Router. - * - * @param {Component} component - The component from which the ReactElement - * is to be created. - * @param {Object} props - The read-only React Component props with which - * the ReactElement is to be initialized. - * @private - * @returns {ReactElement} - */ - _routerCreateElement(component, props) { - return this._createElement(component, props); - } -} - -/** - * App component's property types. - * - * @static - */ -App.propTypes = AbstractApp.propTypes; diff --git a/react/features/base/lib-jitsi-meet/_.web.js b/react/features/base/lib-jitsi-meet/_.web.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/react/features/base/lib-jitsi-meet/index.js b/react/features/base/lib-jitsi-meet/index.js index 7725057ef..d2a4d8bf0 100644 --- a/react/features/base/lib-jitsi-meet/index.js +++ b/react/features/base/lib-jitsi-meet/index.js @@ -21,7 +21,15 @@ import './_'; // Re-export JitsiMeetJS from the library lib-jitsi-meet to (the other features // of) the project jitsi-meet-react. -import JitsiMeetJS from 'lib-jitsi-meet'; +// +// TODO The Web support implemented by the jitsi-meet project explicitly uses +// the library lib-jitsi-meet as a binary and keeps it out of the application +// bundle. The mobile support implemented by the jitsi-meet-react project did +// not get to keeping the lib-jitsi-meet library out of the application bundle +// and even used it from source. As an intermediate step, start using the +// library lib-jitsi-meet as a binary on mobile at the time of this writing. In +// the future, implement not packaging it in the application bundle. +import JitsiMeetJS from 'lib-jitsi-meet/lib-jitsi-meet.min'; export { JitsiMeetJS as default }; diff --git a/react/features/base/media/components/_.web.js b/react/features/base/media/components/_.web.js deleted file mode 100644 index b80c83af3..000000000 --- a/react/features/base/media/components/_.web.js +++ /dev/null @@ -1 +0,0 @@ -export * from './web'; diff --git a/react/features/base/media/components/web/Audio.js b/react/features/base/media/components/web/Audio.js deleted file mode 100644 index d94dec678..000000000 --- a/react/features/base/media/components/web/Audio.js +++ /dev/null @@ -1,50 +0,0 @@ -import React, { Component } from 'react'; - -/** - * The React equivalent of Web's audio element. - * - * @extends Component - */ -export class Audio extends Component { - /** - * Implements React's {@link Component#render()}. - * - * @inheritdoc - * @returns {ReactElement} - */ - render() { - // TODO URL.releaseObjectURL on componentDid/WillUnmount - const src = this.props.stream - ? URL.createObjectURL(this.props.stream) - : ''; - - return ( -