You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

functions.web.ts 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import { IReduxState } from '../../app/types';
  2. import JitsiMeetJS from '../../base/lib-jitsi-meet';
  3. import {
  4. IConfig,
  5. IDeeplinkingConfig,
  6. IDeeplinkingDesktopConfig,
  7. IDeeplinkingMobileConfig
  8. } from './configType';
  9. export * from './functions.any';
  10. /**
  11. * Removes all analytics related options from the given configuration, in case of a libre build.
  12. *
  13. * @param {*} _config - The configuration which needs to be cleaned up.
  14. * @returns {void}
  15. */
  16. export function _cleanupConfig(_config: IConfig) {
  17. return;
  18. }
  19. /**
  20. * Returns the replaceParticipant config.
  21. *
  22. * @param {Object} state - The state of the app.
  23. * @returns {boolean}
  24. */
  25. export function getReplaceParticipant(state: IReduxState): string | undefined {
  26. return state['features/base/config'].replaceParticipant;
  27. }
  28. /**
  29. * Returns the configuration value of web-hid feature.
  30. *
  31. * @param {Object} state - The state of the app.
  32. * @returns {boolean} True if web-hid feature should be enabled, otherwise false.
  33. */
  34. export function getWebHIDFeatureConfig(state: IReduxState): boolean {
  35. return state['features/base/config'].enableWebHIDFeature || false;
  36. }
  37. /**
  38. * Returns whether audio level measurement is enabled or not.
  39. *
  40. * @param {Object} state - The state of the app.
  41. * @returns {boolean}
  42. */
  43. export function areAudioLevelsEnabled(state: IReduxState): boolean {
  44. return !state['features/base/config'].disableAudioLevels && JitsiMeetJS.isCollectingLocalStats();
  45. }
  46. /**
  47. * Sets the defaults for deeplinking.
  48. *
  49. * @param {IDeeplinkingConfig} deeplinking - The deeplinking config.
  50. * @returns {void}
  51. */
  52. export function _setDeeplinkingDefaults(deeplinking: IDeeplinkingConfig) {
  53. deeplinking.desktop = deeplinking.desktop || {} as IDeeplinkingDesktopConfig;
  54. deeplinking.android = deeplinking.android || {} as IDeeplinkingMobileConfig;
  55. deeplinking.ios = deeplinking.ios || {} as IDeeplinkingMobileConfig;
  56. const { android, desktop, ios } = deeplinking;
  57. desktop.appName = desktop.appName || 'Jitsi Meet';
  58. desktop.appScheme = desktop.appScheme || 'jitsi-meet';
  59. desktop.download = desktop.download || {};
  60. desktop.download.windows = desktop.download.windows
  61. || 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.exe';
  62. desktop.download.macos = desktop.download.macos
  63. || 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.dmg';
  64. desktop.download.linux = desktop.download.linux
  65. || 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet-x86_64.AppImage';
  66. ios.appName = ios.appName || 'Jitsi Meet';
  67. ios.appScheme = ios.appScheme || 'org.jitsi.meet';
  68. ios.downloadLink = ios.downloadLink
  69. || 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905';
  70. if (ios.dynamicLink) {
  71. ios.dynamicLink.apn = ios.dynamicLink.apn || 'org.jitsi.meet';
  72. ios.dynamicLink.appCode = ios.dynamicLink.appCode || 'w2atb';
  73. ios.dynamicLink.ibi = ios.dynamicLink.ibi || 'com.atlassian.JitsiMeet.ios';
  74. ios.dynamicLink.isi = ios.dynamicLink.isi || '1165103905';
  75. }
  76. android.appName = android.appName || 'Jitsi Meet';
  77. android.appScheme = android.appScheme || 'org.jitsi.meet';
  78. android.downloadLink = android.downloadLink
  79. || 'https://play.google.com/store/apps/details?id=org.jitsi.meet';
  80. android.appPackage = android.appPackage || 'org.jitsi.meet';
  81. android.fDroidUrl = android.fDroidUrl || 'https://f-droid.org/packages/org.jitsi.meet/';
  82. if (android.dynamicLink) {
  83. android.dynamicLink.apn = android.dynamicLink.apn || 'org.jitsi.meet';
  84. android.dynamicLink.appCode = android.dynamicLink.appCode || 'w2atb';
  85. android.dynamicLink.ibi = android.dynamicLink.ibi || 'com.atlassian.JitsiMeet.ios';
  86. android.dynamicLink.isi = android.dynamicLink.isi || '1165103905';
  87. }
  88. }