nextcloud / nextcloud/spreed

Talk web test coverage

Open
#9,202 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature: frontend 🖌️ overview technical debt
Dominant language
PHP
Stars
2.2k
Forks
587
Avg merge
18h 27m
Merged PRs (30d)
333

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

I would like to define specific files (components, stores, service) to cover it prior to moving from Vue 2.7 to Vue 3
⚠️ - In process
✅ - Fully covered

This is a current test coverage on spreed repositories (updated at 26.06.2026):

--------------------------------------------------------------------- --------- ---------- --------- --------- -----------------------------------------------------------------------------------------
File % Stmts % Branch % Funcs % Lines Uncovered Line #s
--------------------------------------------------------------------- --------- ---------- --------- --------- -----------------------------------------------------------------------------------------
All files 31.87 28.58 29.16 31.97
src/components 19.72 15.44 16.81 20.51
src/composables 28.57 24.03 36.36 28.21
src/router 29.41 7.69 50 29.41
src/services 49.06 69.94 25.21 47.71
src/store 65.52 59.66 70.3 65.4
src/stores 67.39 67.32 64.77 67.11
actor.ts 95.83 92.85 92.85 97.67 109
bots.ts 100 100 100 100
breakoutRooms.ts 2.4 0 4.54 2.43 45-290
callView.ts 73.68 100 76.47 73.68 65,192-232
chat.ts 83.73 74.61 84.78 82.91 103,114,155,215-231,252,272-307,323-324,338-339,353-354,358,365-366,399,482,485,577
chatExtras.ts 37.86 25.71 34.92 37.93 93-106,111-127,165-225,263,275-411,425-427,444-456,481-491,522,632,657-833
conversationTags.ts 100 90.9 100 100 80
dashboard.ts 8.33 0 0 8.33 24-66
federation.ts 100 87.5 100 100 120,145
groupware.ts 27.11 26.92 25 27.58 59-67,100-139,160-207
guestName.ts 96.77 94.44 100 96.77 82
integrations.js 100 100 100 100
liveTranscription.ts 12.12 0 16.66 12.12 40-107
pinia.ts 0 0 0 0
polls.ts 74.71 60 85.71 74.71 55-56,95,110,145,157-171,180-181,190-191,200-201,224-225
reactions.js 100 100 100 100
session.ts 99.12 97.36 100 99.1 314
settings.ts 50.74 63.33 23.8 52.3 63,73-81,120-186,205-247
sharedItems.ts 56.25 52 57.89 56.25 125,168,172,186-202,262-367
sidebar.ts 100 100 100 100
signalingState.ts 98.52 95.34 100 98.48 185
sounds.js 19.56 16.66 10 19.56 19,22,58-134
talkHash.js 92 93.75 100 92 70-71
token.ts 73.33 100 57.14 71.42 27-37,54-55
upload.ts 76.53 66.05 73.68 76.41 122-133,204,262,495-508,515-519,551-552,557-558,586,630,649-652,672-722
src/utils 33.59 28.65 34.14 33.29
CancelableRequest.ts 100 100 100 100
EmitterMixin.js 92.3 70 100 92 52,72
SignalingParticipantList.js 92.95 78.57 100 92.64 49,53-56
SignalingTypingHandler.js 90.38 80.76 100 90.19 49,53-55,103
attachmediastream.js 65.21 35 33.33 65.21 47-48,52-53,62-64,69
browserCheck.ts 85 71.79 0 85 74-76
calculateVotePercentage.ts 100 100 100 100
clipboard.js 0 0 0 0 19-44
conversation.ts 33.78 25.8 76.92 34.24 25,78-88,107-111,124,138-141,145-171,190,213-222,229
davUtils.ts 0 0 0 0 17-30
debugTimer.ts 42.85 50 50 42.85 17-22,28-32
fileDownload.ts 100 100 100 100
fileUpload.ts 100 100 100 100
formattedTime.ts 93.33 84.61 100 93.33 85,152,161
generatePassword.ts 7.14 0 0 7.69 16-31
getCustomDateOptions.ts 0 0 0 0 20-78
getDisplayName.ts 38.46 53.84 33.33 41.66 39-53
getItemTypeFromMessage.ts 96.42 87.5 100 96.42 80
getMessageIcon.ts 50 42.85 100 50 26,30,36,39,42,47,54-61
handleUrl.ts 90 77.77 100 90 36
message.ts 12.5 2.5 11.11 12.5 100-165,180,194-302
prepareTemporaryMessage.ts 88.88 76.92 100 88.88 119
propfindErrorParse.ts 0 100 0 0 21-29
readableNumber.ts 100 100 100 100
requestTabLeadership.js 70 75 50 70 27-32
satisfyVersion.ts 100 100 100 100
selectionRange.ts 0 0 0 0 12-93
signaling.js 10.42 0 0.86 10.47 ...1356,1361-1377,1383-1432,1437-1450,1455-1517,1522-1543,1548-1561,1565-1575,1595-1605
sounds.js 5 0 0 5 19-20,33-130
suppressNoise.ts 5.55 0 0 5.55 21-194
talkDesktopUtils.ts 100 50 100 100 8-12
textParse.ts 96.55 92.1 100 96.42 61
userStatus.ts 62.96 50 66.66 62.96 23,36-44,55-56,73,79,101
utils.ts 0 100 0 0 13
src/utils/e2ee 3.34 2.1 3.57 3.36
JitsiDeferred.js 0 100 0 0 20-48
JitsiE2EEContext.js 4.16 0 0 4.34 33-140
crypto-utils.js 0 100 0 0 16-65
encryption.js 3.23 2.43 5.4 3.25 46-679
olm.js 11.11 0 0 11.11 16-30
src/utils/media/effects/virtual-background 1.73 0 2.56 1.75
TimerWorker.js 100 100 100 100
VideoStreamBackgroundEffect.js 0.39 0 4.16 0.4 52-700
WebGLCompositor.js 1.26 0 0 1.26 42-835
src/utils/media/pipeline 55.18 58.46 60 55.31
BlackVideoEnforcer.js 96.61 96.66 100 96.61 82-84
MediaDevicesSource.js 64.93 58.42 77.77 64.93 85,94-103,148,153,178,239-249,300,320-385
NoiseSuppressor.js 0 0 0 0 37-145
SpeakingMonitor.js 2.12 0 0 2.12 39-129
TrackConstrainer.js 0 0 0 0 30-51
TrackEnabler.js 100 100 100 100
TrackSink.js 100 100 100 100
TrackSinkMixin.js 41.17 45.58 36.84 43.07 67-114,123,134,144-180,191,208,212
TrackSinkSource.js 100 100 100 100
TrackSource.js 100 100 100 100
TrackSourceMixin.js 72.54 77.55 64.7 71.42 72-82,90,101,111-115,134,153,179-183,204
TrackToStream.js 100 100 100 100
VirtualBackground.js 55.44 64.28 78.94 55.44 54-109,129-166,179,232-234,253,314-316
src/utils/webrtc 18.24 8.78 20.42 18.43
CallParticipantsAudioPlayer.js 64.21 39.58 92.3 64.21 36-39,70-71,97,106,113-131,158-159,163,167,182-199
LocalStateBroadcaster.ts 100 100 100 100
LocalStateBroadcasterMcu.ts 98.18 90.9 100 98.18 170
LocalStateBroadcasterNoMcu.ts 97.29 91.66 100 97.29 115
MediaDevicesManager.js 12.65 4.6 13.33 13.27 127,130,133,153-164,188-192,200-617
RemoteVideoBlocker.js 100 100 100 100
SentVideoQualityThrottler.js 1.13 0 0 1.14 28-60,66-190
SpeakingStatusHandler.js 0 0 0 0 36-142
SpeakingWhileMutedWarner.js 1.63 0 0 1.63 34-44,49-158
VideoConstrainer.js 2.06 0 0 2.06 31-37,42-318
index.js 8.41 2.43 0 8.41 58-159,175-548
webrtc.js 1.97 0 0 1.99 49-1643
src/utils/webrtc/analyzers 62.55 67.98 54.09 62.16
AverageStatValue.js 97.77 95 100 97.67 106
CallAnalyzer.js 7.4 0 0 7.4 37-59,65-93
ParticipantAnalyzer.js 1.43 0 0 1.43 46-68,73-299
PeerConnectionAnalyzer.js 92.22 83.6 89.28 92.14 190-213,244,264-281,294,501
src/utils/webrtc/models 35.02 17.59 20.68 35.02
CallParticipantCollection.js 84.21 50 66.66 84.21 31-32,50
CallParticipantModel.js 62.37 34.61 38.46 62.37 141-224,229,257,271,274,339-344,353-389,398-438
LocalCallParticipantModel.js 17.46 3.03 23.07 17.46 40,49-160
LocalMediaModel.js 11.46 0 2.38 11.46 67-500
src/utils/webrtc/shims 2.1 4 0 2.1
MediaStream.js 1.92 3.84 0 1.92 7-95
MediaStreamTrack.js 2.32 4.16 0 2.32 7-81
src/utils/webrtc/simplewebrtc 8.51 0 0 8.68
getscreenmedia.js 0 0 0 0 14-81
localmedia.js 14.33 0 0 14.39 ...,416-417,421-422,427-428,431-432,437,440,444,449-467,472-490,494,498,502,506-525,532
peer.js 5.32 0 0 5.53 ...-673,677-685,689-691,710-724,728-747,772-871,875-883,894-924,931-945,950-954,959-961
simplewebrtc.js 7.89 0 0 7.89 15-211,230-239,244,248-252,256-261,267,271,275,279-290
webrtc.js 13.95 0 0 13.95 16-94,102-105,110-111,117-118,124,130-132
src/views 1.14 0 0 1.23
--------------------------------------------------------------------- --------- ---------- --------- --------- -------------------------------------------------------------------------------

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the coverage table for src/components, src/composables, src/router, src/services, src/store, src/stores, src/utils, and src/views, then inspect the repository's existing web test setup. Define a specific, achievable set of files to cover and record the resulting coverage status; completion should make the selected files fully covered before the Vue 2.7 to Vue 3 migration.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.