{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":27918697,"defaultBranch":"v3","name":"mediasoup","ownerLogin":"versatica","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-12-12T12:00:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1941045?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714735566.0","currentOid":""},"activityList":{"items":[{"before":"d33cb8873dff75aca4432ffeabed253fe0ca4e32","after":"2cae8ec709bdecfa9bfa1ec04dbf5e1fae16856e","ref":"refs/heads/v3","pushedAt":"2024-05-03T11:26:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jmillan","name":"José Luis Millán","path":"/jmillan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/732340?s=80&v=4"},"commit":{"message":"3.14.5","shortMessageHtmlLink":"3.14.5"}},{"before":"8aaff4e483565f3e4af97560fbddc0c56e0ae9c1","after":null,"ref":"refs/heads/fix-worker-crash-when-closing-webrtcserver-with-active-connections","pushedAt":"2024-05-03T11:22:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jmillan","name":"José Luis Millán","path":"/jmillan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/732340?s=80&v=4"}},{"before":"34336429ba5d4d2fe8d2a6bffb9d16e083183bfb","after":"d33cb8873dff75aca4432ffeabed253fe0ca4e32","ref":"refs/heads/v3","pushedAt":"2024-05-03T11:22:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmillan","name":"José Luis Millán","path":"/jmillan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/732340?s=80&v=4"},"commit":{"message":"Fix Worker crash when closing WebRtcServer with active WebRtcTransports (#1390)\n\n* Fix Worker crash when closing WebRtcServer with active WebRtcTransports\r\n\r\nFixes #1388\r\n\r\n### Details\r\n\r\n- `WebRtcServer` destructor must first close its `WebRtcTransports` and then the UDP sockets and TCP servers (so also its TCP connections). Otherwise those `WebRtcTransports` will try to send DTLS Close Alert on an already closed/freed `UdpSocketHandle` or `TcpConnectionHandle`.\r\n\r\n### Steps to verify\r\n\r\n1. Have `WebRtcServer` running and a client connected.\r\n2. In server side call `webRtcServer.close()`.\r\n3. It should not crash anymore.\r\n\r\n* Update CHANGELOG","shortMessageHtmlLink":"Fix Worker crash when closing WebRtcServer with active WebRtcTranspor…"}},{"before":"4fea27e9e5ba34be07a061e4e9ceba7367440ade","after":"8aaff4e483565f3e4af97560fbddc0c56e0ae9c1","ref":"refs/heads/fix-worker-crash-when-closing-webrtcserver-with-active-connections","pushedAt":"2024-05-03T10:31:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Update CHANGELOG","shortMessageHtmlLink":"Update CHANGELOG"}},{"before":null,"after":"4fea27e9e5ba34be07a061e4e9ceba7367440ade","ref":"refs/heads/fix-worker-crash-when-closing-webrtcserver-with-active-connections","pushedAt":"2024-05-03T10:30:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Fix Worker crash when closing WebRtcServer with active WebRtcTransports\n\nFixes #1388\n\n### Details\n\n- `WebRtcServer` destructor must first close its `WebRtcTransports` and then the UDP sockets and TCP servers (so also its TCP connections). Otherwise those `WebRtcTransports` will try to send DTLS Close Alert on an already closed/freed `UdpSocketHandle` or `TcpConnectionHandle`.\n\n### Steps to verify\n\n1. Have `WebRtcServer` running and a client connected.\n2. In server side call `webRtcServer.close()`.\n3. It should not crash anymore.","shortMessageHtmlLink":"Fix Worker crash when closing WebRtcServer with active WebRtcTransports"}},{"before":"3345f2f2bc3bedbbe087295ce9bc123edfc7cc09","after":null,"ref":"refs/heads/fix-memory-leak-when-using-webrtcserver-with-tcp","pushedAt":"2024-05-03T10:26:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"}},{"before":"98cf79eb29e6a3f574cf0b56deb44d76a3f1c5cb","after":"34336429ba5d4d2fe8d2a6bffb9d16e083183bfb","ref":"refs/heads/v3","pushedAt":"2024-05-03T10:26:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Worker: Fix memory leak when using WebRtcServer with TCP enabled (#1389)","shortMessageHtmlLink":"Worker: Fix memory leak when using WebRtcServer with TCP enabled (#1389)"}},{"before":"09e1b836b11e219bc5194bfdc63cd24f0486ef22","after":"3345f2f2bc3bedbbe087295ce9bc123edfc7cc09","ref":"refs/heads/fix-memory-leak-when-using-webrtcserver-with-tcp","pushedAt":"2024-05-03T09:41:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Revert changes in `UnixStreamSocketHandle` because we are not ready for them","shortMessageHtmlLink":"Revert changes in UnixStreamSocketHandle because we are not ready f…"}},{"before":"86b955be55d74e39dde479c5ed4e88089df8a697","after":"09e1b836b11e219bc5194bfdc63cd24f0486ef22","ref":"refs/heads/fix-memory-leak-when-using-webrtcserver-with-tcp","pushedAt":"2024-05-03T09:27:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Revert sensitive changes in `ChannelSocket` since they make Rust crash","shortMessageHtmlLink":"Revert sensitive changes in ChannelSocket since they make Rust crash"}},{"before":"b78ddae634ae9acc45b5a956dd90c92f87cda33f","after":"86b955be55d74e39dde479c5ed4e88089df8a697","ref":"refs/heads/fix-memory-leak-when-using-webrtcserver-with-tcp","pushedAt":"2024-05-03T09:01:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Fix PR number in CHANGELOG.md","shortMessageHtmlLink":"Fix PR number in CHANGELOG.md"}},{"before":"85ab1306c4649a09f049e28e64a052573fd95754","after":"98cf79eb29e6a3f574cf0b56deb44d76a3f1c5cb","ref":"refs/heads/v3","pushedAt":"2024-05-03T08:57:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"3.14.4","shortMessageHtmlLink":"3.14.4"}},{"before":null,"after":"b78ddae634ae9acc45b5a956dd90c92f87cda33f","ref":"refs/heads/fix-memory-leak-when-using-webrtcserver-with-tcp","pushedAt":"2024-05-03T08:57:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Worker: Fix memory leak when using WebRtcServer with TCP enabled\n\nFixes #1381\n\n### Details\n\n- Problem was that, when uusing `WebRtcServer`, if a `WebRtcTransport` was closed from server side (by calling `transport.close()` the underlying `RTC::TcpConnection` instances so also their parent `TcpConnectionHandlep` instances) were not freed.\n- In `WebRtcTransport::OnIceServerTupleRemoved()` we were calling `Close` on the removed `TransportTuple` which calls `Close()` on the underlaying `RTC::TcpConnection`. However the `RTC::TcpConnection` was never deleted/freed.\n- Fixed by refactoring the class so now we call `tuple->CloseTcpConnection()` which calls `tcpConnection->TriggerClose()` which ensures `TcpConnectionHandle::InternalClose()` is called (formed `Close()` method) and then calls `this->listener->OnTcpConnectionClosed()` so `TcpServerHandle` deletes/frees it. Note that indeed `TcpServerHandle` is the only one that should delete/free its `TcpConnectionHandles` instances.\n- Bonus Track: Rename all `Close()` methods in handles and similar classes to `InternalClose()` and make it private to avoid these kind of issues.","shortMessageHtmlLink":"Worker: Fix memory leak when using WebRtcServer with TCP enabled"}},{"before":"98cf79eb29e6a3f574cf0b56deb44d76a3f1c5cb","after":"85ab1306c4649a09f049e28e64a052573fd95754","ref":"refs/heads/v3","pushedAt":"2024-05-03T08:53:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Worker: Fix memory leak when using `WebRtcServer` with TCP enabled\n\nFixes #1381\n\n### Details\n\n- Problem was that, when uusing `WebRtcServer`, if a `WebRtcTransport` was closed from server side (by calling `transport.close()` the underlying `RTC::TcpConnection` instances so also their parent `TcpConnectionHandlep` instances) were not freed.\n- In `WebRtcTransport::OnIceServerTupleRemoved()` we were calling `Close` on the removed `TransportTuple` which calls `Close()` on the underlaying `RTC::TcpConnection`. However the `RTC::TcpConnection` was never deleted/freed.\n- Fixed by refactoring the class so now we call `tuple->CloseTcpConnection()` which calls `tcpConnection->TriggerClose()` which ensures `TcpConnectionHandle::InternalClose()` is called (formed `Close()` method) and then calls `this->listener->OnTcpConnectionClosed()` so `TcpServerHandle` deletes/frees it. Note that indeed `TcpServerHandle` is the only one that should delete/free its `TcpConnectionHandles` instances.\n- Bonus Track: Rename all `Close()` methods in handles and similar classes to `InternalClose()` and make it private to avoid these kind of issues.","shortMessageHtmlLink":"Worker: Fix memory leak when using WebRtcServer with TCP enabled"}},{"before":"06ae37335c530859f17a959821d5c9e9806414dd","after":"98cf79eb29e6a3f574cf0b56deb44d76a3f1c5cb","ref":"refs/heads/v3","pushedAt":"2024-05-02T13:36:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jmillan","name":"José Luis Millán","path":"/jmillan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/732340?s=80&v=4"},"commit":{"message":"3.14.4","shortMessageHtmlLink":"3.14.4"}},{"before":"1cac1ab92f846507e2996733460b4306ab381d9b","after":"06ae37335c530859f17a959821d5c9e9806414dd","ref":"refs/heads/v3","pushedAt":"2024-05-02T13:25:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jmillan","name":"José Luis Millán","path":"/jmillan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/732340?s=80&v=4"},"commit":{"message":"fix RtcpFeedback Parameter empty (#1387)","shortMessageHtmlLink":"fix RtcpFeedback Parameter empty (#1387)"}},{"before":"6de10e2e8b1eb21ca79ffd1fad9a218a8a8d0c87","after":"1cac1ab92f846507e2996733460b4306ab381d9b","ref":"refs/heads/v3","pushedAt":"2024-04-30T12:52:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"3.14.3","shortMessageHtmlLink":"3.14.3"}},{"before":"0311073804f3e6e9cc54e9be97014b319b563f36","after":"6de10e2e8b1eb21ca79ffd1fad9a218a8a8d0c87","ref":"refs/heads/v3","pushedAt":"2024-04-30T12:47:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Update deps","shortMessageHtmlLink":"Update deps"}},{"before":"4cf43d20cbe305463783881178d9346f4c6b8a25","after":null,"ref":"refs/heads/fix-wrong-cpp-auto-usage-issue-1385","pushedAt":"2024-04-30T12:43:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"}},{"before":"ecb507e533d0c32cb1e2eb30f3306cdcb862f56f","after":"0311073804f3e6e9cc54e9be97014b319b563f36","ref":"refs/heads/v3","pushedAt":"2024-04-30T12:43:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Stop using C++ auto to assign results of arithmetic operations (#1386)","shortMessageHtmlLink":"Stop using C++ auto to assign results of arithmetic operations (#1386)"}},{"before":"7684c1fe21b73414584a80f12d909cbd70931241","after":"4cf43d20cbe305463783881178d9346f4c6b8a25","ref":"refs/heads/fix-wrong-cpp-auto-usage-issue-1385","pushedAt":"2024-04-30T11:15:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Update CHANGELOG","shortMessageHtmlLink":"Update CHANGELOG"}},{"before":null,"after":"7684c1fe21b73414584a80f12d909cbd70931241","ref":"refs/heads/fix-wrong-cpp-auto-usage-issue-1385","pushedAt":"2024-04-30T11:12:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Stop using C++ auto to assign results of arithmetic operations\n\n### Details\n\n- Fixes #1385\n- We MUST NOT use `auto` to assign the result of `var1` - `var2`. Despite what the type of `var1` and `var2` are, the compiler may choose a different type for the resulting vartiable. See below for a real example.\n- I've also changed some other `auto` usages (those related to `RTC::SeqManager::IsSeqXxxxThan()`). But probably there are more.\n- My opinion is that we should STOP using `auto`.\n- Also, using `uint16_t result = var1 - var2` looks way better than `auto result = static_cast(var1 -var2)`, espite the latter makes sense sometimes when casting in operands is needed.\n\n### Real Example\n\n```c++\n#include // PRIu64, etc\n#include // size_t\n#include // uint8_t, etc\n#include \n\nint main() {\n\n uint16_t sequenceNumber = 0;\n uint16_t latestSequenceNumber = 65535;\n\n auto missingPackets = sequenceNumber - (latestSequenceNumber + 1);\n\n printf(\"missingPackets: %\" PRIu16 \"\\n\", missingPackets);\n\n return 0;\n}\n```\n\n```\nmissingPackets: 4294901760\n```\n\n```c++\n#include // PRIu64, etc\n#include // size_t\n#include // uint8_t, etc\n#include \n\nint main() {\n\n uint16_t sequenceNumber = 0;\n uint16_t latestSequenceNumber = 65535;\n\n uint16_t missingPackets = sequenceNumber - (latestSequenceNumber + 1);\n\n printf(\"missingPackets: %\" PRIu16 \"\\n\", missingPackets);\n\n return 0;\n}\n```\n\n```\nmissingPackets: 0\n```","shortMessageHtmlLink":"Stop using C++ auto to assign results of arithmetic operations"}},{"before":"d3f1402f79755d07fdcd46e01144da843ae128be","after":"ecb507e533d0c32cb1e2eb30f3306cdcb862f56f","ref":"refs/heads/v3","pushedAt":"2024-04-30T08:57:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Fix: call parent method explicitly (#1384)","shortMessageHtmlLink":"Fix: call parent method explicitly (#1384)"}},{"before":"c7e05eff0e870182c8f97252fb957ce55a1e428c","after":"d3f1402f79755d07fdcd46e01144da843ae128be","ref":"refs/heads/v3","pushedAt":"2024-04-28T11:24:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"3.14.2","shortMessageHtmlLink":"3.14.2"}},{"before":"c6f39a683e031d2f8329a38dfa9e55d4610cd8dd","after":null,"ref":"refs/heads/fix-worker-send-callback-leaks","pushedAt":"2024-04-28T11:21:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"}},{"before":"d4204c6e80132789b8b1b4828bd8679688dd6653","after":"c7e05eff0e870182c8f97252fb957ce55a1e428c","ref":"refs/heads/v3","pushedAt":"2024-04-28T11:21:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Worker: Fix sending callback leaks (#1383)","shortMessageHtmlLink":"Worker: Fix sending callback leaks (#1383)"}},{"before":"069006c13833abb8e91eb67687f9807de050c775","after":"c6f39a683e031d2f8329a38dfa9e55d4610cd8dd","ref":"refs/heads/fix-worker-send-callback-leaks","pushedAt":"2024-04-28T10:56:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"fix","shortMessageHtmlLink":"fix"}},{"before":"f386cd6a83d32729f121879643efccacba0eb29d","after":"069006c13833abb8e91eb67687f9807de050c775","ref":"refs/heads/fix-worker-send-callback-leaks","pushedAt":"2024-04-28T10:54:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Also delete cb in DirectTransport::SendMessage()","shortMessageHtmlLink":"Also delete cb in DirectTransport::SendMessage()"}},{"before":"bb7f0b796d89380c71c1aa6a37dad35c36c22b83","after":"f386cd6a83d32729f121879643efccacba0eb29d","ref":"refs/heads/fix-worker-send-callback-leaks","pushedAt":"2024-04-28T10:43:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Improve CHANGELOG","shortMessageHtmlLink":"Improve CHANGELOG"}},{"before":"bb40c1ee9358170e60b7b9a465a9e3ded0b9319a","after":"bb7f0b796d89380c71c1aa6a37dad35c36c22b83","ref":"refs/heads/fix-worker-send-callback-leaks","pushedAt":"2024-04-28T10:41:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Update CHANGELOG","shortMessageHtmlLink":"Update CHANGELOG"}},{"before":null,"after":"bb40c1ee9358170e60b7b9a465a9e3ded0b9319a","ref":"refs/heads/fix-worker-send-callback-leaks","pushedAt":"2024-04-28T10:39:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ibc","name":"Iñaki Baz Castillo","path":"/ibc","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16191?s=80&v=4"},"commit":{"message":"Worker: Fix sending callback leaks\n\nFixes #1382","shortMessageHtmlLink":"Worker: Fix sending callback leaks"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQK9HGwA","startCursor":null,"endCursor":null}},"title":"Activity · versatica/mediasoup"}