diff --git a/data/web/fragment.com/css/auction.css b/data/web/fragment.com/css/auction.css index d89babd0e3..40fde12884 100644 --- a/data/web/fragment.com/css/auction.css +++ b/data/web/fragment.com/css/auction.css @@ -1300,6 +1300,19 @@ a.tm-menu-link:focus { background: var(--field-bg-color); position: relative; } +.tm-field-hint { + margin: 8px 14px; +} +.tm-field .form-control-link { + cursor: pointer; +} +.tm-field .form-control-link:hover { + text-decoration: none; +} +.tm-field .form-control-link.urgent { + color: var(--unavail-color); +} + .tm-search-field:before { position: absolute; margin: 4px 9px; @@ -2577,10 +2590,6 @@ a.tm-table-action-link:hover { filter: blur(7px); } -.tm-field-hint { - margin: 8px 14px; -} - .tm-number-form-group { margin: 36px 0 0; } diff --git a/data/web/fragment.com/js/auction.js b/data/web/fragment.com/js/auction.js index 24d42557f8..3a133e8158 100644 --- a/data/web/fragment.com/js/auction.js +++ b/data/web/fragment.com/js/auction.js @@ -1463,13 +1463,14 @@ var Random = { var LoginCodes = { init: function() { Aj.onLoad(function(state) { - $('.js-toggle-receive').on('change', LoginCodes.eToggleReceive); + var cont = Aj.ajContainer; + $(cont).on('change.curPage', '.js-toggle-receive', LoginCodes.eToggleReceive); + $(cont).on('click.curPage', '.js-terminate-sessions-btn', LoginCodes.eTerminateSessions); state.needUpdate = true; state.updLastReq = +Date.now(); state.updStateTo = setTimeout(LoginCodes.updateState, Main.UPDATE_PERIOD); }); Aj.onUnload(function(state) { - $('.js-toggle-receive').off('change', LoginCodes.eToggleReceive); clearTimeout(state.updStateTo); state.needUpdate = false; }); @@ -1508,6 +1509,29 @@ var LoginCodes = { number: Aj.state.number, can_receive: can_receive ? 1 : 0 }); + }, + eTerminateSessions: function(e) { + e.preventDefault(); + LoginCodes.terminateSessions(); + }, + terminateSessions: function(terminate_hash) { + Aj.apiRequest('terminatePhoneSessions', { + number: Aj.state.number, + terminate_hash: terminate_hash + }, function(result) { + if (result.error) { + return showAlert(result.error); + } else if (result.terminate_hash) { + showConfirm(result.confirm_message, function() { + LoginCodes.terminateSessions(result.terminate_hash); + }, result.confirm_button); + } else { + $('.js-terminate-sessions-wrap').hide(); + if (result.msg) { + showAlert(result.msg); + } + } + }); } }; diff --git a/data/web/telegram.org/faq.html b/data/web/telegram.org/faq.html index a1a7511926..fd4ef7e25c 100644 --- a/data/web/telegram.org/faq.html +++ b/data/web/telegram.org/faq.html @@ -252,6 +252,10 @@ Check out our Advanced FAQ for more technical information.…">
  • by contacting the @EURegulation bot on Telegram and using the command /tco_ask.
  • +

    Q: Is Telegram a “very large online platform” according to the EU Digital Services Act?

    +

    No. As of February 2024, Telegram had an estimated average of 41 million EU users over the preceding 6 months. This is lower than the threshold of 45 million users required for designation as a “very large online platform.”

    +

    The number of active users relevant for calculating this threshold is believed to be even lower, since only some of Telegram’s functions may qualify as “online platforms” under the Digital Services Act.

    +

    Q: A bot or channel is infringing on my copyright. What do I do?

    All Telegram chats and group chats are private amongst their participants. We do not process any requests related to them. But sticker sets, channels, and bots on Telegram are publicly available.

    If you see a bot, channel, or sticker set that is infringing on your copyright, kindly submit a complaint to dmca@telegram.org. Please note that such requests should only be submitted by the copyright owner or an agent authorized to act on the owner’s behalf.