diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/contrib/torrents/web/main.js /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/contrib/torrents/web/main.js --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/contrib/torrents/web/main.js 2026-10-18 15:01:02.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/contrib/torrents/web/main.js 2026-10-18 14:46:15.000000000 +0000 @@ -107,5 +107,4 @@ if (r.result !== "success") alert(r.result); - refreshTable(); } } @@ -294,4 +293,5 @@ if (torrents_data.length === 0) { + el_torrents.style.display = "none"; el_torrents.replaceChildren(); clearError(); @@ -389,5 +389,5 @@ if (tr_obj.status === 6) - cell.textContent = leechers || "" // we are seeding + cell.textContent = leechers ? `${leechers}` : "" // we are seeding else if (seeders || leechers) cell.textContent = `${seeders} / ${leechers}`; // we are leeching @@ -550,5 +550,5 @@ // close torrent details window.closeDetailsModal = () => { - el_details.replaceChildren(); + el_details.style.display = "none"; stopDetailsTimer(); }; @@ -897,4 +897,5 @@ el_details.replaceChildren(fs_main); + el_details.style.display = "block"; startDetailsTimer(tr_id); diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/I2PTunnel.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/I2PTunnel.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/I2PTunnel.cpp 2026-10-18 15:01:02.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/I2PTunnel.cpp 2026-10-18 14:46:15.000000000 +0000 @@ -577,5 +577,5 @@ { m_InHeader.clear (); - if (m_InHeader.view ().empty ()) m_OutHeader.str (""); // start of response + if (m_InHeader.str ().empty ()) m_OutHeader.str (""); // start of response m_InHeader.write ((const char *)buf, len); std::string line; @@ -617,8 +617,8 @@ { m_OutHeader << "\r\n"; // end of header - m_OutHeader << m_InHeader.view ().substr (m_InHeader.tellg ()); // data right after header + m_OutHeader << m_InHeader.str ().substr (m_InHeader.tellg ()); // data right after header m_InHeader.str (""); m_ResponseHeaderSent = true; - I2PTunnelConnection::WriteToStream ((const uint8_t *)m_OutHeader.view ().data (), m_OutHeader.view ().size ()); + I2PTunnelConnection::WriteToStream ((uint8_t *)m_OutHeader.str ().c_str (), m_OutHeader.str ().length ()); m_OutHeader.str (""); } @@ -673,5 +673,5 @@ m_OutPacket << line << '\n'; } - I2PTunnelConnection::Write ((const uint8_t *)m_OutPacket.view ().data (), m_OutPacket.view ().size ()); + I2PTunnelConnection::Write ((uint8_t *)m_OutPacket.str ().c_str (), m_OutPacket.str ().length ()); }