Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: element-hq/element-call
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: ea615208f39d9c3571f599327c2e9ee2598f36a5
Choose a base ref
..
head repository: element-hq/element-call
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: dfe9a810c1c3ddde2bc9139cedd3a31086451f01
Choose a head ref
Showing with 4,812 additions and 7,051 deletions.
  1. +9 −12 .eslintrc.cjs
  2. +1 −1 .github/workflows/element-call.yaml
  3. +1 −1 .github/workflows/publish.yaml
  4. +1 −1 .github/workflows/translations-download.yaml
  5. +660 −176 LICENSE
  6. +4 −0 README.md
  7. +3 −1 codecov.yaml
  8. +14 −29 package.json
  9. +1 −3 public/locales/de/app.json
  10. +1 −1 public/locales/el/app.json
  11. +7 −7 public/locales/en-GB/app.json
  12. +1 −1 public/locales/es/app.json
  13. +1 −3 public/locales/et/app.json
  14. +1 −3 public/locales/fr/app.json
  15. +1 −3 public/locales/id/app.json
  16. +1 −3 public/locales/it/app.json
  17. +1 −1 public/locales/lv/app.json
  18. +1 −3 public/locales/pl/app.json
  19. +1 −1 public/locales/ru/app.json
  20. +1 −3 public/locales/sk/app.json
  21. +1 −3 public/locales/uk/app.json
  22. +1 −3 public/locales/zh-Hans/app.json
  23. +1 −3 public/locales/zh-Hant/app.json
  24. +1 −24 renovate.json
  25. +3 −12 src/@types/global.d.ts
  26. +3 −12 src/@types/i18next.d.ts
  27. +3 −12 src/@types/modules.d.ts
  28. +26 −35 src/App.tsx
  29. +3 −12 src/Avatar.tsx
  30. +0 −22 src/Banner.module.css
  31. +12 −29 src/ClientContext.tsx
  32. +3 −12 src/DisconnectedBanner.module.css
  33. +3 −12 src/DisconnectedBanner.tsx
  34. +3 −12 src/FullScreenView.module.css
  35. +8 −31 src/FullScreenView.tsx
  36. +3 −12 src/Header.module.css
  37. +30 −0 src/Header.test.tsx
  38. +3 −12 src/Header.tsx
  39. +3 −12 src/IndexedDBWorker.ts
  40. +3 −12 src/LazyEventEmitter.ts
  41. +0 −49 src/ListBox.module.css
  42. +0 −116 src/ListBox.tsx
  43. +0 −73 src/Menu.module.css
  44. +0 −102 src/Menu.tsx
  45. +7 −12 src/Modal.module.css
  46. +18 −16 src/Modal.tsx
  47. +3 −12 src/Overlay.module.css
  48. +3 −12 src/Platform.ts
  49. +12 −0 src/QrCode.module.css
  50. +25 −0 src/QrCode.test.tsx
  51. +48 −0 src/QrCode.tsx
  52. +3 −12 src/Slider.module.css
  53. +3 −12 src/Slider.tsx
  54. +3 −12 src/Toast.module.css
  55. +30 −17 src/Toast.test.tsx
  56. +3 −12 src/Toast.tsx
  57. +0 −30 src/Tooltip.module.css
  58. +0 −118 src/Tooltip.tsx
  59. +3 −12 src/TranslatedError.ts
  60. +3 −12 src/UrlParams.test.ts
  61. +4 −13 src/UrlParams.ts
  62. +11 −12 src/UserMenu.module.css
  63. +28 −44 src/UserMenu.tsx
  64. +4 −13 src/UserMenuContainer.tsx
  65. +12 −0 src/__snapshots__/QrCode.test.tsx.snap
  66. +12 −15 src/analytics/AnalyticsNotice.tsx
  67. +32 −26 src/analytics/PosthogAnalytics.ts
  68. +18 −12 src/analytics/PosthogEvents.ts
  69. +10 −16 src/analytics/PosthogSpanProcessor.ts
  70. +3 −12 src/analytics/RageshakeSpanProcessor.ts
  71. +3 −21 src/auth/LoginPage.module.css
  72. +8 −16 src/auth/LoginPage.tsx
  73. +14 −23 src/auth/RegisterPage.tsx
  74. +3 −12 src/auth/generateRandomName.ts
  75. +56 −54 src/auth/useInteractiveLogin.ts
  76. +27 −26 src/auth/useInteractiveRegistration.ts
  77. +11 −16 src/auth/useRecaptcha.ts
  78. +3 −12 src/auth/useRegisterPasswordlessUser.ts
  79. +4 −247 src/button/Button.module.css
  80. +57 −163 src/button/Button.tsx
  81. +0 −69 src/button/CopyButton.tsx
  82. +3 −12 src/button/InviteButton.tsx
  83. +13 −0 src/button/Link.module.css
  84. +80 −0 src/button/Link.tsx
  85. +21 −51 src/button/LinkButton.tsx
  86. +3 −13 src/button/index.ts
  87. +15 −24 src/config/Config.ts
  88. +3 −12 src/config/ConfigOptions.ts
  89. +3 −12 src/controls.ts
  90. +3 −12 src/e2ee/e2eeType.ts
  91. +18 −21 src/e2ee/matrixKeyProvider.ts
  92. +3 −12 src/e2ee/sharedKeyManagement.ts
  93. +3 −12 src/form/Form.module.css
  94. +3 −12 src/form/Form.tsx
  95. +3 −12 src/grid/CallLayout.ts
  96. +3 −12 src/grid/Grid.css
  97. +3 −12 src/grid/Grid.module.css
  98. +7 −14 src/grid/Grid.tsx
  99. +3 −12 src/grid/GridLayout.module.css
  100. +3 −12 src/grid/GridLayout.tsx
  101. +3 −12 src/grid/OneOnOneLayout.module.css
  102. +3 −12 src/grid/OneOnOneLayout.tsx
  103. +3 −12 src/grid/SpotlightExpandedLayout.module.css
  104. +3 −12 src/grid/SpotlightExpandedLayout.tsx
  105. +3 −12 src/grid/SpotlightLandscapeLayout.module.css
  106. +3 −12 src/grid/SpotlightLandscapeLayout.tsx
  107. +3 −12 src/grid/SpotlightPortraitLayout.module.css
  108. +3 −12 src/grid/SpotlightPortraitLayout.tsx
  109. +3 −12 src/grid/TileWrapper.module.css
  110. +3 −12 src/grid/TileWrapper.tsx
  111. +15 −26 src/home/CallList.module.css
  112. +5 −14 src/home/CallList.test.tsx
  113. +53 −35 src/home/CallList.tsx
  114. +3 −12 src/home/HomePage.tsx
  115. +3 −12 src/home/JoinExistingCallModal.module.css
  116. +8 −18 src/home/JoinExistingCallModal.tsx
  117. +3 −12 src/home/RegisteredView.module.css
  118. +7 −17 src/home/RegisteredView.tsx
  119. +3 −12 src/home/UnauthenticatedView.module.css
  120. +17 −27 src/home/UnauthenticatedView.tsx
  121. +3 −12 src/home/common.module.css
  122. +5 −15 src/home/useGroupCallRooms.ts
  123. +0 −10 src/icons/ArrowDown.svg
  124. +0 −5 src/icons/Audio.svg
  125. +0 −3 src/icons/Copy.svg
  126. +0 −3 src/icons/Developer.svg
  127. +0 −4 src/icons/Edit.svg
  128. +0 −3 src/icons/Feedback.svg
  129. +0 −5 src/icons/Overflow.svg
  130. +0 −4 src/icons/Video.svg
  131. +82 −96 src/index.css
  132. +3 −12 src/initializer.test.ts
  133. +16 −16 src/initializer.tsx
  134. +18 −42 src/input/AvatarInputField.module.css
  135. +118 −97 src/input/AvatarInputField.tsx
  136. +3 −12 src/input/FeedbackInput.module.css
  137. +3 −12 src/input/Input.module.css
  138. +3 −12 src/input/Input.tsx
  139. +0 −60 src/input/SelectInput.module.css
  140. +0 −80 src/input/SelectInput.tsx
  141. +29 −0 src/input/StarRating.test.tsx
  142. +3 −12 src/input/StarRatingInput.module.css
  143. +3 −12 src/input/StarRatingInput.tsx
  144. +3 −12 src/livekit/MediaDevicesContext.tsx
  145. +16 −19 src/livekit/openIDSFU.ts
  146. +3 −12 src/livekit/options.ts
  147. +20 −18 src/livekit/useECConnectionState.ts
  148. +31 −22 src/livekit/useLiveKit.ts
  149. +12 −16 src/main.tsx
  150. +4 −13 src/otel/OTelCall.ts
  151. +4 −13 src/otel/OTelCallAbstractMediaStreamSpan.ts
  152. +3 −12 src/otel/OTelCallFeedMediaStreamSpan.ts
  153. +3 −12 src/otel/OTelCallMediaStreamTrackSpan.ts
  154. +3 −12 src/otel/OTelCallTransceiverMediaStreamSpan.ts
  155. +4 −13 src/otel/OTelGroupCallMembership.ts
  156. +3 −27 src/otel/ObjectFlattener.test.ts
  157. +4 −13 src/otel/ObjectFlattener.ts
  158. +6 −13 src/otel/otel.ts
  159. +0 −24 src/popover/Popover.module.css
  160. +0 −62 src/popover/Popover.tsx
  161. +0 −20 src/popover/PopoverMenu.module.css
  162. +0 −98 src/popover/PopoverMenu.tsx
  163. +3 −12 src/profile/useProfile.ts
  164. +3 −12 src/room/AppSelectionModal.module.css
  165. +3 −12 src/room/AppSelectionModal.tsx
  166. +4 −14 src/room/CallEndedView.module.css
  167. +18 −37 src/room/CallEndedView.tsx
  168. +3 −12 src/room/EncryptionLock.module.css
  169. +3 −13 src/room/EncryptionLock.tsx
  170. +8 −31 src/room/GroupCallLoader.tsx
  171. +54 −60 src/room/GroupCallView.tsx
  172. +3 −12 src/room/InCallView.module.css
  173. +35 −37 src/room/InCallView.tsx
  174. +12 −12 src/room/InviteModal.module.css
  175. +35 −0 src/room/InviteModal.test.tsx
  176. +6 −13 src/room/InviteModal.tsx
  177. +7 −16 src/room/LayoutToggle.module.css
  178. +3 −12 src/room/LayoutToggle.tsx
  179. +3 −12 src/room/LobbyView.module.css
  180. +11 −19 src/room/LobbyView.tsx
  181. +12 −16 src/room/MuteStates.ts
  182. +6 −16 src/room/RageshakeRequestModal.tsx
  183. +3 −12 src/room/RoomAuthView.module.css
  184. +14 −26 src/room/RoomAuthView.tsx
  185. +10 −15 src/room/RoomPage.tsx
  186. +3 −12 src/room/VideoPreview.module.css
  187. +4 −14 src/room/VideoPreview.tsx
  188. +3 −12 src/room/checkForParallelCalls.test.ts
  189. +3 −12 src/room/checkForParallelCalls.ts
  190. +3 −12 src/room/useActiveFocus.ts
  191. +3 −12 src/room/useJoinRule.ts
  192. +50 −26 src/room/useLoadGroupCall.ts
  193. +3 −12 src/room/useRoomAvatar.ts
  194. +3 −12 src/room/useRoomName.ts
  195. +3 −12 src/room/useRoomState.ts
  196. +3 −12 src/rtcSessionHelper.test.ts
  197. +11 −16 src/rtcSessionHelpers.ts
  198. +14 −25 src/settings/FeedbackSettingsTab.tsx
  199. +3 −12 src/settings/ProfileSettingsTab.module.css
  200. +6 −12 src/settings/ProfileSettingsTab.tsx
  201. +3 −12 src/settings/RageshakeButton.module.css
  202. +8 −16 src/settings/RageshakeButton.tsx
  203. +3 −12 src/settings/SettingsModal.module.css
  204. +145 −191 src/settings/SettingsModal.tsx
  205. +74 −51 src/settings/rageshake.ts
  206. +7 −13 src/settings/settings.ts
  207. +119 −107 src/settings/submit-rageshake.ts
  208. +276 −0 src/state/CallViewModel.test.ts
  209. +37 −41 src/state/CallViewModel.ts
  210. +88 −0 src/state/MediaViewModel.test.ts
  211. +3 −12 src/state/MediaViewModel.ts
  212. +3 −12 src/state/ObservableScope.ts
  213. +3 −12 src/state/ViewModel.ts
  214. +3 −12 src/state/useObservable.ts
  215. +10 −63 src/tabs/Tabs.module.css
  216. +41 −71 src/tabs/Tabs.tsx
  217. +3 −12 src/tile/GridTile.module.css
  218. +43 −0 src/tile/GridTile.test.tsx
  219. +3 −12 src/tile/GridTile.tsx
  220. +6 −13 src/tile/MediaView.module.css
  221. +3 −13 src/tile/MediaView.tsx
  222. +6 −14 src/tile/SpotlightTile.module.css
  223. +73 −0 src/tile/SpotlightTile.test.tsx
  224. +24 −17 src/tile/SpotlightTile.tsx
  225. +0 −56 src/typography/Typography.module.css
  226. +0 −271 src/typography/Typography.tsx
  227. +18 −14 src/useCallViewKeyboardShortcuts.test.tsx
  228. +3 −12 src/useCallViewKeyboardShortcuts.ts
  229. +3 −12 src/useEvents.ts
  230. +3 −12 src/useInitial.ts
  231. +3 −12 src/useLatest.ts
  232. +3 −12 src/useLocalStorage.ts
  233. +3 −12 src/useLocationNavigation.ts
  234. +3 −12 src/useMatrixRTCSessionJoinState.ts
  235. +3 −12 src/useMatrixRTCSessionMemberships.ts
  236. +3 −12 src/useMediaQuery.ts
  237. +3 −12 src/useMergedRefs.ts
  238. +3 −12 src/usePageTitle.ts
  239. +3 −12 src/usePrefersReducedMotion.ts
  240. +3 −12 src/useReactiveState.ts
  241. +78 −0 src/useTheme.test.ts
  242. +3 −12 src/useTheme.ts
  243. +18 −24 src/useWakeLock.ts
  244. +52 −85 src/utils/matrix.ts
  245. +5 −14 src/utils/media.ts
  246. +3 −12 src/utils/observable.ts
  247. +151 −13 src/utils/test.ts
  248. +23 −20 src/vitest.setup.ts
  249. +11 −22 src/widget.ts
  250. +1 −0 tsconfig.json
  251. +3 −13 vite.config.js
  252. +1 −1 vitest.config.js
  253. +992 −1,482 yarn.lock
21 changes: 9 additions & 12 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
const COPYRIGHT_HEADER = `/*
Copyright %%CURRENT_YEAR%% New Vector Ltd
Copyright %%CURRENT_YEAR%% New Vector Ltd.
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.
SPDX-License-Identifier: AGPL-3.0-only
Please see LICENSE in the repository root for full details.
*/
`;
@@ -39,6 +30,12 @@ module.exports = {
// We should use the js-sdk logger, never console directly.
"no-console": ["error"],
"react/display-name": "error",
// Encourage proper usage of Promises:
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/promise-function-async": "error",
"@typescript-eslint/require-await": "error",
"@typescript-eslint/await-thenable": "error",
},
settings: {
react: {
2 changes: 1 addition & 1 deletion .github/workflows/element-call.yaml
Original file line number Diff line number Diff line change
@@ -39,7 +39,7 @@ jobs:
VITE_APP_VERSION: ${{ inputs.vite_app_version }}
NODE_OPTIONS: "--max-old-space-size=4096"
- name: Upload Artifact
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
with:
name: build-output
path: dist
2 changes: 1 addition & 1 deletion .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -51,7 +51,7 @@ jobs:
run: |
tar --numeric-owner --transform "s/dist/element-call-${TARBALL_VERSION}/" -cvzf element-call-${TARBALL_VERSION}.tar.gz dist
- name: Upload
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
env:
GITHUB_TOKEN: ${{ github.token }}
with:
2 changes: 1 addition & 1 deletion .github/workflows/translations-download.yaml
Original file line number Diff line number Diff line change
@@ -39,7 +39,7 @@ jobs:

- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
uses: peter-evans/create-pull-request@d121e62763d8cc35b5fb1710e887d6e69a52d3a4 # v7.0.2
with:
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
branch: actions/localazy-download
Loading