From 0d8f3080b27bf951fc0b64aac6b64fc570628bdc Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 30 Sep 2024 17:00:49 +0200 Subject: [PATCH] Fixed edge case where RcGcDb spammed the feed --- locale/widgets/bn.png | Bin 2390 -> 0 bytes locale/widgets/de.png | Bin 3642 -> 0 bytes locale/widgets/en.png | Bin 2620 -> 0 bytes locale/widgets/es.png | Bin 3642 -> 0 bytes locale/widgets/fr.png | Bin 3639 -> 0 bytes locale/widgets/hi.png | Bin 3642 -> 0 bytes locale/widgets/it.png | Bin 3144 -> 0 bytes locale/widgets/ja.png | Bin 2310 -> 0 bytes locale/widgets/ko.png | Bin 2418 -> 0 bytes locale/widgets/lol.png | Bin 2310 -> 0 bytes locale/widgets/nl.png | Bin 2475 -> 0 bytes locale/widgets/pl.png | Bin 3524 -> 0 bytes locale/widgets/pt-br.png | Bin 3658 -> 0 bytes locale/widgets/ru.png | Bin 3642 -> 0 bytes locale/widgets/th.png | Bin 2475 -> 0 bytes locale/widgets/tr.png | Bin 2297 -> 0 bytes locale/widgets/uk.png | Bin 3584 -> 0 bytes locale/widgets/zh-hans.png | Bin 3642 -> 0 bytes locale/widgets/zh-hant.png | Bin 3642 -> 0 bytes src/discord/queue.py | 26 ++++++++++++++++++++------ src/domain_manager.py | 10 +++++++++- src/misc.py | 6 ++++++ 22 files changed, 35 insertions(+), 7 deletions(-) diff --git a/locale/widgets/bn.png b/locale/widgets/bn.png index ade1b7a93557b46d06452d391e0ef75ff24a4420..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 2390 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 M!6j3CnJzivzkB%0UjP6A diff --git a/locale/widgets/en.png b/locale/widgets/en.png index 3fd2ebe221100a0ef3467b6c2a526347015c6316..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 2620 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 NgG;9P3SDy4e*rC8%25CS diff --git a/locale/widgets/fr.png b/locale/widgets/fr.png index 72576599a8db2c2f3fb812dd42c837e49e1e6868..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 3639 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 DV}05k diff --git a/locale/widgets/hi.png b/locale/widgets/hi.png index b5ba72ab950164a7a5a9bee7c9bf851c9073a72f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 3642 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 NmoJ*)OZCVR{{_3N$Ws6S diff --git a/locale/widgets/it.png b/locale/widgets/it.png index 61cb7688b378a22be2c537693ddda4224cdb5d90..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 3144 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 diff --git a/locale/widgets/nl.png b/locale/widgets/nl.png index 3efe4ff5cffd9aa9e1cb770edfb3a66b1739303e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 2475 zcmZ`*c{tSD8~+kQwk+W?G8$60F}h{TG7&>VS&ExAdzKmN*t%qEWQ0-N)Rd)U-y1W? zzJx3phO$i7DMglyUH5zc`u+8LpXWWFv%K$f&U4P^{X8f6x`hcp?;pGX0Pv$sjjTY7 z2VIn#3v4Tn9+5!c@G?Xj0zh@zi33+oa4hR)YJ~=XNCg0hO#pyBa4PmI0EEH;VA%x# zwEqDBaqRPk8@k{E*Bx^cBM?E`z0w#10uR>IJ{SN5I{tIE9!!xt0C3|`Mus-tGb=gw z{A?E?J^IX*nMu|RYbu*uuXaHeZqkr1cY-j1Cz>JThN(U%t{ccqe~Z?_PJvry>~#d5 z2B9bA%7KIsqTRq$-LWfj0zz_KSw1YH**WpoEPvJvXp_N%wfZ?uk$En+SMH`V78aJY z7|h*wy3BoDCT@^AGVp?01jQz2x zsi|os9*x8oKl1&{tzqzGm0%zJ!_cWdxfKd;+0%;T=qK=L=5QbPbU7~+QK+3>d91Ke z!iWehrCm<0IL@LH?bi{@If7_%YRcy4g9-PjcB<%~ zPheeIs*D<;xOJJF!W%blUR(`yUQkq3?f$tP6VRe^n=ISEkr4ejE9*|}Ck2%Uubao3 z!p8%TY8Hg$sZt^oo3ReeQj6i@N(&Q*Be~eplhgzC8~w$7gX^!8VmMkZ3qm=B5iJLF zL%(+QiX8T83Z=wsMySR>e{7DMVMQ(-6`=1Q2(w{PDxrN@ctXps*1 zod1K4`{Uo=&9*a{%(UhH#US|!sdIj5J@G>9{WVp}z9XG$ZHwFIDxG^u(GT!j3VZe| zYOi;#&ZNmW4Hm>W44%=l%=K-)9VDQYNG0ohnpq2W(u+#p*VQ-TZhQFQt@Q7;$`BJh z$gOCR5=nZQef)HQ*LQlkU6wH#&2MXK8xk6tK_a1jeU-Mhwsa4F(L%z)=E54mBf9>a zdG}9Y?-jwzMgak;4HX57ycTaVOG?fo^Ms6zjmsRUL<8B_itkOV&%RCDGf}{LuDO}n z`=Oz;qP!W|*(Uz}Dgy%px(90=iVu;-#+*p*7ZFR6BO@adbv_~)rW}srRO~GK0|5wo zZdFw}ktkf@Ky7brHHfR~PN^pBcJ6T_3@n6&%zxF|Ia>@oc=qwc1wxz5p!46^jgH&v zH^(!iDBH)pD3hV5&o(kTFQ_;K+lV$MN^&`Ft-l-nX&rWCGI20p>Y)HjI(A$DJ9K$_ zZ6VW={mWLQq_i|lg3rpYs28)*7y0+$bHs|vI8Yu!)s6|_3C=KuHO{pWCuKa zx%iD;Q@DE1Bgp*y<1)ErWds&0>>3TGqQd`dAWJqW+bJ^nx?+NI|H8sTm0OQMPEL+y z_?oPs-j3|z;-W;-{hs+eFsY$I+v2$hkvzxglQYTpMj!Imeunoyb7MkO#P}<{Zcn{N+SSVPH+1UAU*HdewSdW^~ z)7C4qyJP1O z8X7l56U)lV5-3vvmkNFI6?u1eck9SxM9fh%AZqNo^x>&QQrlvG_I$oiK!7I}i?!;) z-eY|4FDn$xqG7`ABHjWwAHZHrg@7y(0D^!I)tHh&HU$aO+VC+!|kPB zk&XePWHW!?QKfIkEbw6xEbiF6t>~vVFPF9(;A*142Z9G%G(0!&k{)2 z)Co&(&V-0nPFtG50E4SR7k}?!G?4fkl;@h+h}(I=UxdTzyWN7%7isQE=sW$g7HHX* z!#E#m#Mtd#1d9#-X`8B!E{Y{wEhs8^SW>+tAk=M*)V zhl8DiolRRur&>A1JXyD9)pJHl9+jHj?VyDm}mH;;2e*Cr58UsmHa zAehv?>5Pa}5v1&->lR__U?u)m@?Io95iK3?SH^m2xtrYdDnT*cc|i_R;(CxN{8Y zaDSWj@uOi>R8+flcg7i$qKXOyX#s0{``+ez`$c7CuZoKBM@N4*IjMnVC#|BQ@`KUx zlB9zRTI>^xYm;qr!CK*xqBL$+?@qRKL*-qe;YJ4u{^IoYw4uSZ4HLC0+)}@8%bH@t zQUPmJ2Kh+U9Xj25$XckJlaB4l>dhZr^wYjYP!XB&D=t``Ii@VBJa?F8DWcwC>K0xA z6B8G={5oc@DEjc$7pKbX7cXRSC!!-K5;qUD;~}>?p4B zl|ORK+Yz!mm4;ISr}K_v&5{g>&TJI<<6nf%{c`5mCBsc!1i0^Hi~h2?bh-Lb9^?*R z`prtG%RWDEJa{=R=Hb`I=SE>s#x(nD(qTL(VsrYy&P^RQHbQ6i7SANYz{;hrE})x7 zMCgj~(%U8j33hv_$%9so6YtkuC&` zQ{;s~Hz2lS6TSH+OO4R$WRuD7(dt=(#Ow1wFItAeX%LzdAEcN$<^tb20bY?%KF6A6 z=yjSH&6dw>)U$+C%*>2j@c4afcJwb;{JDHS@S`FhVr&=U?i%8u?H1$#0)T)c;410} z6@&9*<85Bj#$pM5^6R80I*71i!*MxiC^CF4kQoh{pQ3;NjsHv zf3+%k`6>7f2Yfa?(1m{V5#%=1I`~t_j{nn3gM{Aq-q%;xM9WtCu4_`PLNY`pLr^ZC zSHz$KucQ2;9NPohCiA(fik5S~_xC8=M@w|SUZ#+`mJJ4o9}EVT+sU00h)vAT?oSwn zk~K#DS|F=vcW44 z_ld|_7c}9N5B#^;ZaPbFT5)s@aE$uIlcwHL^|8(tVOs4??C)>*q`>d6ljn7hCQ05sD&P zRJ!F%V&LLgGRGh}*P`l`WbJ`;tfyj#LPbMdE}-FN=IIoc4nu`p8O(ReNX+`7I2)lDuL=0K5^j-P$= zLl=oWy*GM_-WRgB(-=aL69!~u<&xTBHIU(6c&3vHMCv`+U^01tC73RwT$I~nUJ}N_ z)8DG0);_A3Qegt)okyLi*V9@fj?pNMjW?}*WaJCt2#SiGEHnnap^zK8tWR}QEwF=R zSt#V$q%46VOyx!RdAR5!APM9V7&Hw+*!=mqF=XIXk^QuU0K3^hTs#QU_&H3s6f@&e zyZ)>V1UOMnC$g9-NDexy#6gMF&vWFC)q^4ZxH2J*6tFBX%vk$_WDm#BEyA`{UKoL+ zDXB$X;qGZ)jsUr~=k=}0=Doc)EiLI!x+Nw3I`vtJ4)5L+nCt*eEu$m8?OZlh?(J9G ztqvXLs?631+stnY9YfrZ0Z<}&${gWuYWg@< zQ~=Qm`A~dZoXhOKseB$_Z0uAnewbV8Y~aJ_$?6(mIVdx(hT*L0>r+e16&~QWde9$O z5E@Ooyul}zup!}m{=5&F#EsLoo1LnN_T}o4Rsm8*m%>We?K~laBb&kNPPDm#QWdm(a~MbJ7Jw8WAHb>mp4eT)~osQ zNcDO8cys7jov&b1D~MZ^gU-&axesOA-?LDXfhd};%7MRVw7M?*0cSXw%wiSa-(=#W zN5;7Q{LsE`;wv+@;lEzzJ5&u{Ha7#ZER@z)uqUqu``BOYpJ6h6K-OMhT}SR>-AKwF1E`ia??n9P-WXwoPcb=R zLEPDA=dFfe3?M41skyzy-P_AfU7pv05fSKPgI{*~tgbggK@?za6%}$xzO`wEw6*uoTAhfRAEutm%1S9MwUdy6Wm?FD zpdkJYI;bD`_3t!{$=Vuy$VDFD;%*-AIYY-HrKF`(D=IQGZ}3!5sdY;OCXfOv_q-ikJ<}a!m>p;NvDG_bN*$X5o*}& z_hf8w0^#_pdhXjId z8w=ktOy1l1vp$zv3qn-TK;iiJ0fu|;I8SwPvC1A={S_xSAIq5th!fCx+hzgZ?7$F^ z)-JVpc@Y#K$_lp>&&!-EE2GKAuliS1FD#7wS*MjJ2L3uD!hgdokAHCf^mgq-9^?@w z>wB;%BIfGwW%lFORIjb2^z;-KQj($MGGAYe+l`tLw6B+x^9ABBub7r*oZgXI6=^_Q zcW*b=MU?&3LLkKG%8R4*2}DRx&|&q5Rgk5noSeU2vXdU~<3cc4EO7w6{}xO{xbWM&+F%;Uj7`Zd0t zxQW8TuG0kqQ^dyhDqd$*iR`?^TI!_;T`5SO4Wbl~ z;Aq`%;36VW;&xXi#KS@#d6ebOh}@@^!HqHb_c~$6U;WKs#TD~wv6twu2Ea&z{XsJt z&Cp81y~fs$25TrO_F(JZ%<1Pej>c%jUOu!(8}qc>Ud*6f>|RJ{c|rIZ*Iiw{kN0gM zFk+79tr(TYykG54mapg^H}F==eK4)a{KO&vT)|EMp0 ztIHK0AIxZ(TkcX`-NWuBl+{r$RW=j0j}#mFywuPuks8B)Y}23U7>R1z?OtjZJiI4d zG|lr?-zut?y=^&(xAepZUc?8X1Fi8%ntEt$O*B$d4T(e}k;eH9 zaQpQC6~ZF}F9j3-cLj(3fY0m-@c;V<{H5@qYxs-dQUAM+^cOR5cLvy6I$G43VXyxO D{lITq diff --git a/locale/widgets/pt-br.png b/locale/widgets/pt-br.png index 4ba5ca58a31bd06466a0f39baa2ee4808ec1cee5..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 3658 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 diff --git a/locale/widgets/ru.png b/locale/widgets/ru.png index b5ba72ab950164a7a5a9bee7c9bf851c9073a72f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 3642 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 NmoJ*)OZCVR{{_3N$Ws6S diff --git a/locale/widgets/th.png b/locale/widgets/th.png index 97ad726a12107b5c7c684e26c8671df848dd7968..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 2475 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 H_$K@Z$wWc$ diff --git a/locale/widgets/uk.png b/locale/widgets/uk.png index ba9d042d6fdd6c09ba0b5b356371665dff170957..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 3584 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 Mvu1=cJxauX0owA(7ytkO diff --git a/locale/widgets/zh-hant.png b/locale/widgets/zh-hant.png index 4f3c07b9b3162ff84dcb31d5fc6ee399592991ae..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 3642 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 Mvu1=cJxauX0owA(7ytkO diff --git a/src/discord/queue.py b/src/discord/queue.py index 6c0aa0b..645d9fd 100644 --- a/src/discord/queue.py +++ b/src/discord/queue.py @@ -54,6 +54,13 @@ class QueueEntry: """Confirms sent status for a webhook. Returns True if sending to all webhooks has been completed, otherwise False.""" self._sent_webhooks.add(webhook) + def clear_webhook_send_requirement_for(self, webhook: str): + """In case webhook gets removed, this function is called to remove the webhook from the list or required recipients.""" + try: + self.webhooks.remove(webhook) + except ValueError: # best effort + pass + def complete(self) -> bool: return len(self._sent_webhooks) == len(self.webhooks) @@ -91,6 +98,15 @@ class MessageQueue: def cut_messages(self, item_num: int): self._queue = self._queue[item_num:] + def nuke_all_messages_to_webhook(self, webhook: str): + """Dumb and quick way to make sure no message is intended for removed webhook in case it gets erased from + position of domain_manager as well as kill any pending suspensions""" + for message in self._queue: + message.clear_webhook_send_requirement_for(webhook) + for suspension_webhook, suspension_task in self.webhook_suspensions.items(): + if webhook.split("/")[0] == suspension_webhook.split("/")[0]: + suspension_task.cancel() + def track_discord_error_rate(self, number: float): self.discord_error_rate_tracker = max(0, min(self.discord_error_rate_tracker+number, settings["max_discord_additional_await_time"])) @@ -126,7 +142,8 @@ class MessageQueue: if not isinstance(msg.webhooks, list): raise TypeError('msg.webhook_url in _queue is not a list') for webhook in msg.webhooks: - message_dict[webhook].append(msg) # defaultdict{"dadibadyvbdmadgqueh23/dihjd8agdandashd": [DiscordMessage, DiscordMessage]} + if msg.check_sent_status(webhook) is False: + message_dict[webhook].append(msg) # defaultdict{"dadibadyvbdmadgqueh23/dihjd8agdandashd": [DiscordMessage, DiscordMessage]} return message_dict.items() # def delete_all_with_matching_metadata(self, **properties): @@ -206,7 +223,7 @@ class MessageQueue: if method == "POST": msg.webhook = webhook_url msg.wiki.add_message(msg) - for queue_message in messages[max(index-len(msg.message_list), 0):index+1]: + for queue_message in messages[max(index-len(msg.message_list), 0):index+1]: # This likely breaks when there are messages from suspended webhooks awaiting sending and a new working webhook is added queue_message.confirm_sent_status(webhook_url) else: if hasattr(msg, "wiki"): # PATCH and DELETE can not have wiki attribute @@ -215,10 +232,7 @@ class MessageQueue: logger.debug("Found webhook ID in webhook_suspensions, nuking it.") await msg.wiki.remove_webhook_from_db(webhook_url, "Attempts to send a message to a webhook result in client error.", send_reason=False) for message in messages: - try: - self._queue.remove(message) - except ValueError: - logger.exception("Message could not be found in the queue") + message.clear_webhook_send_requirement_for(webhook_url) self.webhook_suspensions[webhook_id].cancel() else: self.webhook_suspensions[webhook_id] = asyncio.create_task(self.suspension_check(webhook_url), name="DC Sus Check for {}".format(webhook_id)) diff --git a/src/domain_manager.py b/src/domain_manager.py index 9d4dbb6..73172ec 100644 --- a/src/domain_manager.py +++ b/src/domain_manager.py @@ -10,6 +10,7 @@ import logging import asyncpg import asyncio +from src.misc import flatten_lists from src.discord.queue import messagequeue from src.exceptions import NoDomain from src.config import settings @@ -76,12 +77,19 @@ class DomainManager: if split_payload[0] == "ADD": await self.new_wiki(Wiki(split_payload[1], safe_type_for_id(split_payload[2], int), safe_type_for_id(split_payload[3], str))) elif split_payload[0] == "REMOVE": + webhook_diff = set() try: results = await connection.fetch("SELECT * FROM rcgcdb WHERE wiki = $1;", split_payload[1]) if len(results) > 0: # If there are still webhooks for this wiki - just update its targets - await self.return_domain(self.get_domain(split_payload[1])).get_wiki(split_payload[1]).update_targets() + wiki_obj: Wiki = self.return_domain(self.get_domain(split_payload[1])).get_wiki(split_payload[1], None) + if wiki_obj is not None: + flattened_set_of_webhooks = set(flatten_lists(wiki_obj.rc_targets.values())).union(set(flatten_lists(wiki_obj.discussion_targets.values()))) + await wiki_obj.update_targets() + webhook_diff = flattened_set_of_webhooks - set(flatten_lists(wiki_obj.rc_targets.values())).union(set(flatten_lists(wiki_obj.discussion_targets.values()))) else: self.remove_wiki(split_payload[1]) + for removed_webhook in webhook_diff: + messagequeue.nuke_all_messages_to_webhook(removed_webhook) except asyncpg.IdleSessionTimeoutError: logger.error("Couldn't check amount of webhooks with {} wiki!".format(split_payload[1])) return diff --git a/src/misc.py b/src/misc.py index ed06170..c567d8a 100644 --- a/src/misc.py +++ b/src/misc.py @@ -2,6 +2,7 @@ from __future__ import annotations import functools import json +import typing from functools import cache from html.parser import HTMLParser import base64, re @@ -140,6 +141,11 @@ def class_searcher(attribs: list) -> str: return "" +def flatten_lists(iterable_to_be_flattened: typing.Iterable): + """Flatten lists""" + return [item for sub_list in iterable_to_be_flattened for item in sub_list] + + class ContentParser(HTMLParser): """ContentPerser is an implementation of HTMLParser that parses output of action=compare&prop=diff API request for two MediaWiki revisions. It extracts the following: