Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Fix: "Code formatting button does not escape backticks" #8181

Merged
merged 8 commits into from
Apr 19, 2022

Conversation

yaya-usman
Copy link
Contributor

@yaya-usman yaya-usman commented Mar 28, 2022

Fixes: vector-im/element-web#21437

Issue reported by @robintown

Signed-off-by: Yaya Usman yaya-usman@users.noreply.github.com

Before:
beforefix1

beforefix2

After:
afterfix1
afterfix2

Type: defect


Here's what your changelog entry will look like:

🐛 Bug Fixes

  • Fix: "Code formatting button does not escape backticks" (#8181). Contributed by @yaya-usman.

Preview: https://pr8181--matrix-react-sdk.netlify.app
⚠️ Do you trust the author of this PR? Maybe this build will steal your keys or give you malware. Exercise caution. Use test accounts.

@yaya-usman yaya-usman requested a review from a team as a code owner March 28, 2022 17:36
@github-actions github-actions bot added the T-Defect Bugs, crashes, hangs, vulnerabilities, or other reported problems label Mar 28, 2022
@yaya-usman
Copy link
Contributor Author

@t3chguy can you help review this?

src/editor/operations.ts Outdated Show resolved Hide resolved
@codecov
Copy link

codecov bot commented Mar 30, 2022

Codecov Report

Merging #8181 (fe3fe69) into develop (949b3cc) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop    #8181   +/-   ##
========================================
  Coverage    30.02%   30.03%           
========================================
  Files          881      881           
  Lines        50210    50213    +3     
  Branches     12788    12791    +3     
========================================
+ Hits         15077    15081    +4     
+ Misses       35133    35132    -1     
Impacted Files Coverage Δ
src/editor/deserialize.ts 77.17% <100.00%> (ø)
src/editor/operations.ts 85.79% <100.00%> (+0.24%) ⬆️
src/editor/model.ts 90.37% <0.00%> (+0.41%) ⬆️

@yaya-usman
Copy link
Contributor Author

yaya-usman commented Mar 30, 2022

@t3chguy @robintown Hi, can you please review my PR : )

Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@t3chguy @robintown Hi, can you please review my PR : )

You still have the unrelated change in it.

You should use existing utility functions like longestBacktickSequence and you should write a test to verify this does the right thing and doesn't break in the future

Thanks

@yaya-usman
Copy link
Contributor Author

@t3chguy @robintown Hi, can you please review my PR : )

You still have the unrelated change in it.

You should use existing utility functions like longestBacktickSequence and you should write a test to verify this does the right thing and doesn't break in the future

Thanks

Ok, I will have to force-push to discard the unrelated change, as for test, I will try since I'm not good with unit testing.

@yaya-usman
Copy link
Contributor Author

@t3chguy hi, here i am again : ), i have done all the things you requested be done.

test/editor/operations-test.js Outdated Show resolved Hide resolved
src/editor/operations.ts Outdated Show resolved Hide resolved
Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good progress, it seems to work as expected now!

src/editor/operations.ts Outdated Show resolved Hide resolved
src/editor/operations.ts Outdated Show resolved Hide resolved
src/editor/operations.ts Outdated Show resolved Hide resolved
test/editor/operations-test.js Outdated Show resolved Hide resolved
Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You also have some merge conflicts to resolve

test/editor/operations-test.js Outdated Show resolved Hide resolved
src/editor/operations.ts Show resolved Hide resolved
@yaya-usman
Copy link
Contributor Author

You also have some merge conflicts to resolve

I don't know which lines are causing the conflict.

@t3chguy
Copy link
Member

t3chguy commented Apr 12, 2022

I don't know which lines are causing the conflict.

That's not how merge conflicts work, you should run git pull origin develop and follow the interactive conflict resolution to figure out what the right output combination is. Or you can rebase but that'd then require force pushing so is not ideal.

@yaya-usman
Copy link
Contributor Author

I don't know which lines are causing the conflict.

That's not how merge conflicts work, you should run git pull origin develop and follow the interactive conflict resolution to figure out what the right output combination is. Or you can rebase but that'd then require force pushing so is not ideal.

I did that, no conflict whatsoever. Also tests suddenly start failing when i push here but all necessary test passed perfectly on my PC. Which is why i said i don't really understand the problem now.

@yaya-usman
Copy link
Contributor Author

I don't know which lines are causing the conflict.

That's not how merge conflicts work, you should run git pull origin develop and follow the interactive conflict resolution to figure out what the right output combination is. Or you can rebase but that'd then require force pushing so is not ideal.

I did that, no conflict whatsoever. Also tests suddenly start failing when i push here but all necessary test passed perfectly on my PC. Which is why i said i don't really understand the problem now.

I have figured why it's failing and having conflicts, i didn't fetch upstream so my forked repo is not in sync or updated with the main repo

@yaya-usman yaya-usman force-pushed the yaya-usman/patch_2 branch 2 times, most recently from 108c4ba to cfbd9fa Compare April 13, 2022 19:34
@yaya-usman
Copy link
Contributor Author

@t3chguy, can you pls check this out.

Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks for persevering with this!!

@t3chguy t3chguy enabled auto-merge (squash) April 19, 2022 09:08
@t3chguy t3chguy merged commit 6b13988 into matrix-org:develop Apr 19, 2022
@yaya-usman yaya-usman deleted the yaya-usman/patch_2 branch April 19, 2022 10:15
@yaya-usman
Copy link
Contributor Author

Great, thanks for persevering with this!!

Thank you too, i learnt a lot.

Johennes pushed a commit to Johennes/matrix-react-sdk that referenced this pull request Apr 19, 2022
)

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
su-ex added a commit to SchildiChat/element-desktop that referenced this pull request Apr 30, 2022
* Handle forced disconnects from Jitsi ([\#21697](element-hq/element-web#21697)). Fixes element-hq/element-web#21517.
* Improve performance of switching to rooms with lots of servers and ACLs ([\#8347](matrix-org/matrix-react-sdk#8347)).
* Avoid a reflow when setting caret position on an empty composer ([\#8348](matrix-org/matrix-react-sdk#8348)).
* Add message right-click context menu as a labs feature ([\#5672](matrix-org/matrix-react-sdk#5672)).
* Live location sharing - basic maximised beacon map ([\#8310](matrix-org/matrix-react-sdk#8310)).
* Live location sharing - render users own beacons in timeline ([\#8296](matrix-org/matrix-react-sdk#8296)).
* Improve Threads beta around degraded mode ([\#8318](matrix-org/matrix-react-sdk#8318)).
* Live location sharing -  beacon in timeline happy path ([\#8285](matrix-org/matrix-react-sdk#8285)).
* Add copy button to View Source screen ([\#8278](matrix-org/matrix-react-sdk#8278)). Fixes element-hq/element-web#21482. Contributed by @olivialivia.
* Add heart effect ([\#6188](matrix-org/matrix-react-sdk#6188)). Contributed by @CicadaCinema.
* Update new room icon ([\#8239](matrix-org/matrix-react-sdk#8239)).
* Prevent packing of native modules ([\element-hq#337](element-hq#337)). Fixes element-hq/element-web#17188. Contributed by @PF4Public.
* Fix: "Code formatting button does not escape backticks" ([\#8181](matrix-org/matrix-react-sdk#8181)). Contributed by @yaya-usman.
* Fix beta indicator dot causing excessive CPU usage ([\#8340](matrix-org/matrix-react-sdk#8340)). Fixes element-hq/element-web#21793.
* Fix overlapping timestamps on empty messages ([\#8205](matrix-org/matrix-react-sdk#8205)). Fixes element-hq/element-web#21381. Contributed by @goelesha.
* Fix power selector not showing up in user info when state_default undefined ([\#8297](matrix-org/matrix-react-sdk#8297)). Fixes element-hq/element-web#21669.
* Avoid looking up settings during timeline rendering ([\#8313](matrix-org/matrix-react-sdk#8313)). Fixes element-hq/element-web#21740.
* Fix a soft crash with video rooms ([\#8333](matrix-org/matrix-react-sdk#8333)).
* Fixes call tiles overflow ([\#8096](matrix-org/matrix-react-sdk#8096)). Fixes element-hq/element-web#20254. Contributed by @luixxiul.
* Fix a bug with emoji autocomplete sorting where adding the final "&element-hq#58;" would cause the emoji with the typed shortcode to no longer be at the top of the autocomplete list. ([\#8086](matrix-org/matrix-react-sdk#8086)). Fixes element-hq/element-web#19302. Contributed by @commonlawfeature.
* Fix image preview sizing for edge cases ([\#8322](matrix-org/matrix-react-sdk#8322)). Fixes element-hq/element-web#20088.
* Refactor SecurityRoomSettingsTab and remove unused state ([\#8306](matrix-org/matrix-react-sdk#8306)). Fixes matrix-org/element-web-rageshakes#12002.
* Don't show the prompt to enable desktop notifications immediately after registration ([\#8274](matrix-org/matrix-react-sdk#8274)).
* Stop tracking threads if threads support is disabled ([\#8308](matrix-org/matrix-react-sdk#8308)). Fixes element-hq/element-web#21766.
* Fix some issues with threads rendering ([\#8305](matrix-org/matrix-react-sdk#8305)). Fixes element-hq/element-web#21670.
* Fix threads rendering issue in Safari ([\#8298](matrix-org/matrix-react-sdk#8298)). Fixes element-hq/element-web#21757.
* Fix space panel width change on hovering over space item ([\#8299](matrix-org/matrix-react-sdk#8299)). Fixes element-hq/element-web#19891.
* Hide the reply in thread button in deployments where beta is forcibly disabled ([\#8294](matrix-org/matrix-react-sdk#8294)). Fixes element-hq/element-web#21753.
* Prevent soft crash around room list header context menu when space changes ([\#8289](matrix-org/matrix-react-sdk#8289)). Fixes matrix-org/element-web-rageshakes#11416, matrix-org/element-web-rageshakes#11692, matrix-org/element-web-rageshakes#11739, matrix-org/element-web-rageshakes#11772, matrix-org/element-web-rageshakes#11891 matrix-org/element-web-rageshakes#11858 and matrix-org/element-web-rageshakes#11456.
* When selecting reply in thread on a thread response open existing thread ([\#8291](matrix-org/matrix-react-sdk#8291)). Fixes element-hq/element-web#21743.
* Handle thread bundled relationships coming from the server via MSC3666 ([\#8292](matrix-org/matrix-react-sdk#8292)). Fixes element-hq/element-web#21450.
* Fix: Avatar preview does not update when same file is selected repeatedly ([\#8288](matrix-org/matrix-react-sdk#8288)). Fixes element-hq/element-web#20098.
* Fix a bug where user gets a warning when changing powerlevel from **Admin** to **custom level (100)** ([\#8248](matrix-org/matrix-react-sdk#8248)). Fixes element-hq/element-web#21682. Contributed by @Jumeb.
* Use a consistent alignment for all text items in a list ([\#8276](matrix-org/matrix-react-sdk#8276)). Fixes element-hq/element-web#21731. Contributed by @luixxiul.
* Fixes button labels being collapsed per a character in CJK languages ([\#8212](matrix-org/matrix-react-sdk#8212)). Fixes element-hq/element-web#21287. Contributed by @luixxiul.
* Fix: Remove jittery timeline scrolling after jumping to an event ([\#8263](matrix-org/matrix-react-sdk#8263)).
* Fix regression of edits showing up in the timeline with hidden events shown ([\#8260](matrix-org/matrix-react-sdk#8260)). Fixes element-hq/element-web#21694.
* Fix reporting events not working ([\#8257](matrix-org/matrix-react-sdk#8257)). Fixes element-hq/element-web#21713.
* Make Jitsi widgets in video rooms immutable ([\#8244](matrix-org/matrix-react-sdk#8244)). Fixes element-hq/element-web#21647.
* Fix: Ensure links to events scroll the correct events into view ([\#8250](matrix-org/matrix-react-sdk#8250)). Fixes element-hq/element-web#19934.
su-ex added a commit to SchildiChat/element-web that referenced this pull request Apr 30, 2022
* Handle forced disconnects from Jitsi ([\element-hq#21697](element-hq#21697)). Fixes element-hq#21517.
* Improve performance of switching to rooms with lots of servers and ACLs ([\element-hq#8347](matrix-org/matrix-react-sdk#8347)).
* Avoid a reflow when setting caret position on an empty composer ([\element-hq#8348](matrix-org/matrix-react-sdk#8348)).
* Add message right-click context menu as a labs feature ([\element-hq#5672](matrix-org/matrix-react-sdk#5672)).
* Live location sharing - basic maximised beacon map ([\element-hq#8310](matrix-org/matrix-react-sdk#8310)).
* Live location sharing - render users own beacons in timeline ([\element-hq#8296](matrix-org/matrix-react-sdk#8296)).
* Improve Threads beta around degraded mode ([\element-hq#8318](matrix-org/matrix-react-sdk#8318)).
* Live location sharing -  beacon in timeline happy path ([\element-hq#8285](matrix-org/matrix-react-sdk#8285)).
* Add copy button to View Source screen ([\element-hq#8278](matrix-org/matrix-react-sdk#8278)). Fixes element-hq#21482. Contributed by @olivialivia.
* Add heart effect ([\element-hq#6188](matrix-org/matrix-react-sdk#6188)). Contributed by @CicadaCinema.
* Update new room icon ([\element-hq#8239](matrix-org/matrix-react-sdk#8239)).
* Fix: "Code formatting button does not escape backticks" ([\element-hq#8181](matrix-org/matrix-react-sdk#8181)). Contributed by @yaya-usman.
* Fix beta indicator dot causing excessive CPU usage ([\element-hq#8340](matrix-org/matrix-react-sdk#8340)). Fixes element-hq#21793.
* Fix overlapping timestamps on empty messages ([\element-hq#8205](matrix-org/matrix-react-sdk#8205)). Fixes element-hq#21381. Contributed by @goelesha.
* Fix power selector not showing up in user info when state_default undefined ([\element-hq#8297](matrix-org/matrix-react-sdk#8297)). Fixes element-hq#21669.
* Avoid looking up settings during timeline rendering ([\element-hq#8313](matrix-org/matrix-react-sdk#8313)). Fixes element-hq#21740.
* Fix a soft crash with video rooms ([\element-hq#8333](matrix-org/matrix-react-sdk#8333)).
* Fixes call tiles overflow ([\#8096](matrix-org/matrix-react-sdk#8096)). Fixes element-hq#20254. Contributed by @luixxiul.
* Fix a bug with emoji autocomplete sorting where adding the final "&element-hq#58;" would cause the emoji with the typed shortcode to no longer be at the top of the autocomplete list. ([\element-hq#8086](matrix-org/matrix-react-sdk#8086)). Fixes element-hq#19302. Contributed by @commonlawfeature.
* Fix image preview sizing for edge cases ([\element-hq#8322](matrix-org/matrix-react-sdk#8322)). Fixes element-hq#20088.
* Refactor SecurityRoomSettingsTab and remove unused state ([\element-hq#8306](matrix-org/matrix-react-sdk#8306)). Fixes matrix-org/element-web-rageshakes#12002.
* Don't show the prompt to enable desktop notifications immediately after registration ([\element-hq#8274](matrix-org/matrix-react-sdk#8274)).
* Stop tracking threads if threads support is disabled ([\element-hq#8308](matrix-org/matrix-react-sdk#8308)). Fixes element-hq#21766.
* Fix some issues with threads rendering ([\element-hq#8305](matrix-org/matrix-react-sdk#8305)). Fixes element-hq#21670.
* Fix threads rendering issue in Safari ([\element-hq#8298](matrix-org/matrix-react-sdk#8298)). Fixes element-hq#21757.
* Fix space panel width change on hovering over space item ([\element-hq#8299](matrix-org/matrix-react-sdk#8299)). Fixes element-hq#19891.
* Hide the reply in thread button in deployments where beta is forcibly disabled ([\element-hq#8294](matrix-org/matrix-react-sdk#8294)). Fixes element-hq#21753.
* Prevent soft crash around room list header context menu when space changes ([\element-hq#8289](matrix-org/matrix-react-sdk#8289)). Fixes matrix-org/element-web-rageshakes#11416, matrix-org/element-web-rageshakes#11692, matrix-org/element-web-rageshakes#11739, matrix-org/element-web-rageshakes#11772, matrix-org/element-web-rageshakes#11891 matrix-org/element-web-rageshakes#11858 and matrix-org/element-web-rageshakes#11456.
* When selecting reply in thread on a thread response open existing thread ([\#8291](matrix-org/matrix-react-sdk#8291)). Fixes element-hq#21743.
* Handle thread bundled relationships coming from the server via MSC3666 ([\element-hq#8292](matrix-org/matrix-react-sdk#8292)). Fixes element-hq#21450.
* Fix: Avatar preview does not update when same file is selected repeatedly ([\element-hq#8288](matrix-org/matrix-react-sdk#8288)). Fixes element-hq#20098.
* Fix a bug where user gets a warning when changing powerlevel from **Admin** to **custom level (100)** ([\element-hq#8248](matrix-org/matrix-react-sdk#8248)). Fixes element-hq#21682. Contributed by @Jumeb.
* Use a consistent alignment for all text items in a list ([\#8276](matrix-org/matrix-react-sdk#8276)). Fixes element-hq#21731. Contributed by @luixxiul.
* Fixes button labels being collapsed per a character in CJK languages ([\element-hq#8212](matrix-org/matrix-react-sdk#8212)). Fixes element-hq#21287. Contributed by @luixxiul.
* Fix: Remove jittery timeline scrolling after jumping to an event ([\element-hq#8263](matrix-org/matrix-react-sdk#8263)).
* Fix regression of edits showing up in the timeline with hidden events shown ([\element-hq#8260](matrix-org/matrix-react-sdk#8260)). Fixes element-hq#21694.
* Fix reporting events not working ([\element-hq#8257](matrix-org/matrix-react-sdk#8257)). Fixes element-hq#21713.
* Make Jitsi widgets in video rooms immutable ([\element-hq#8244](matrix-org/matrix-react-sdk#8244)). Fixes element-hq#21647.
* Fix: Ensure links to events scroll the correct events into view ([\element-hq#8250](matrix-org/matrix-react-sdk#8250)). Fixes element-hq#19934.
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this pull request Apr 30, 2022
* Improve performance of switching to rooms with lots of servers and ACLs ([\matrix-org#8347](matrix-org#8347)).
* Avoid a reflow when setting caret position on an empty composer ([\matrix-org#8348](matrix-org#8348)).
* Add message right-click context menu as a labs feature ([\matrix-org#5672](matrix-org#5672)).
* Live location sharing - basic maximised beacon map ([\matrix-org#8310](matrix-org#8310)).
* Live location sharing - render users own beacons in timeline ([\matrix-org#8296](matrix-org#8296)).
* Improve Threads beta around degraded mode ([\matrix-org#8318](matrix-org#8318)).
* Live location sharing -  beacon in timeline happy path ([\matrix-org#8285](matrix-org#8285)).
* Add copy button to View Source screen ([\matrix-org#8278](matrix-org#8278)). Fixes element-hq/element-web#21482. Contributed by @olivialivia.
* Add heart effect ([\matrix-org#6188](matrix-org#6188)). Contributed by @CicadaCinema.
* Update new room icon ([\matrix-org#8239](matrix-org#8239)).
* Fix: "Code formatting button does not escape backticks" ([\matrix-org#8181](matrix-org#8181)). Contributed by @yaya-usman.
* Fix beta indicator dot causing excessive CPU usage ([\matrix-org#8340](matrix-org#8340)). Fixes element-hq/element-web#21793.
* Fix overlapping timestamps on empty messages ([\matrix-org#8205](matrix-org#8205)). Fixes element-hq/element-web#21381. Contributed by @goelesha.
* Fix power selector not showing up in user info when state_default undefined ([\matrix-org#8297](matrix-org#8297)). Fixes element-hq/element-web#21669.
* Avoid looking up settings during timeline rendering ([\matrix-org#8313](matrix-org#8313)). Fixes element-hq/element-web#21740.
* Fix a soft crash with video rooms ([\matrix-org#8333](matrix-org#8333)).
* Fixes call tiles overflow ([\matrix-org#8096](matrix-org#8096)). Fixes element-hq/element-web#20254. Contributed by @luixxiul.
* Fix a bug with emoji autocomplete sorting where adding the final "&matrix-org#58;" would cause the emoji with the typed shortcode to no longer be at the top of the autocomplete list. ([\matrix-org#8086](matrix-org#8086)). Fixes element-hq/element-web#19302. Contributed by @commonlawfeature.
* Fix image preview sizing for edge cases ([\matrix-org#8322](matrix-org#8322)). Fixes element-hq/element-web#20088.
* Refactor SecurityRoomSettingsTab and remove unused state ([\matrix-org#8306](matrix-org#8306)). Fixes matrix-org/element-web-rageshakes#12002.
* Don't show the prompt to enable desktop notifications immediately after registration ([\matrix-org#8274](matrix-org#8274)).
* Stop tracking threads if threads support is disabled ([\matrix-org#8308](matrix-org#8308)). Fixes element-hq/element-web#21766.
* Fix some issues with threads rendering ([\matrix-org#8305](matrix-org#8305)). Fixes element-hq/element-web#21670.
* Fix threads rendering issue in Safari ([\matrix-org#8298](matrix-org#8298)). Fixes element-hq/element-web#21757.
* Fix space panel width change on hovering over space item ([\matrix-org#8299](matrix-org#8299)). Fixes element-hq/element-web#19891.
* Hide the reply in thread button in deployments where beta is forcibly disabled ([\matrix-org#8294](matrix-org#8294)). Fixes element-hq/element-web#21753.
* Prevent soft crash around room list header context menu when space changes ([\matrix-org#8289](matrix-org#8289)). Fixes matrix-org/element-web-rageshakes#11416, matrix-org/element-web-rageshakes#11692, matrix-org/element-web-rageshakes#11739, matrix-org/element-web-rageshakes#11772, matrix-org/element-web-rageshakes#11891 matrix-org/element-web-rageshakes#11858 and matrix-org/element-web-rageshakes#11456.
* When selecting reply in thread on a thread response open existing thread ([\matrix-org#8291](matrix-org#8291)). Fixes element-hq/element-web#21743.
* Handle thread bundled relationships coming from the server via MSC3666 ([\matrix-org#8292](matrix-org#8292)). Fixes element-hq/element-web#21450.
* Fix: Avatar preview does not update when same file is selected repeatedly ([\matrix-org#8288](matrix-org#8288)). Fixes element-hq/element-web#20098.
* Fix a bug where user gets a warning when changing powerlevel from **Admin** to **custom level (100)** ([\matrix-org#8248](matrix-org#8248)). Fixes element-hq/element-web#21682. Contributed by @Jumeb.
* Use a consistent alignment for all text items in a list ([\matrix-org#8276](matrix-org#8276)). Fixes element-hq/element-web#21731. Contributed by @luixxiul.
* Fixes button labels being collapsed per a character in CJK languages ([\matrix-org#8212](matrix-org#8212)). Fixes element-hq/element-web#21287. Contributed by @luixxiul.
* Fix: Remove jittery timeline scrolling after jumping to an event ([\matrix-org#8263](matrix-org#8263)).
* Fix regression of edits showing up in the timeline with hidden events shown ([\matrix-org#8260](matrix-org#8260)). Fixes element-hq/element-web#21694.
* Fix reporting events not working ([\matrix-org#8257](matrix-org#8257)). Fixes element-hq/element-web#21713.
* Make Jitsi widgets in video rooms immutable ([\matrix-org#8244](matrix-org#8244)). Fixes element-hq/element-web#21647.
* Fix: Ensure links to events scroll the correct events into view ([\matrix-org#8250](matrix-org#8250)). Fixes element-hq/element-web#19934.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Defect Bugs, crashes, hangs, vulnerabilities, or other reported problems
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Code formatting button does not escape backticks
3 participants