MCPcopy Create free account
hub / github.com/4as/Chat-DeMod / processMessage

Function processMessage

Chat DeMod.user.js:748–798  ·  view source on GitHub ↗
(original_onmessage, event)

Source from the content-addressed store, hash-verified

746 var buffer = [];
747
748 async function processMessage(original_onmessage, event) {
749 if (!is_on)
750 original_onmessage(event);
751
752 var response = new ChatEvent(payload, event);
753 if (response.is_valid) {
754 await response.process(response_blocked);
755
756 if (mod_result < response.mod_result) {
757 mod_result = response.mod_result;
758 updateDeModMessageState(mod_result);
759 }
760
761 response_blocked = response.is_blocked;
762 payload = response.payload;
763
764 if (response.has_body) {
765 last_response = response.clone();
766 last_response.sequence_id += sequence_shift;
767 }
768
769 if (response_blocked) {
770 if (response.is_done) {
771 if (last_response != null) {
772 console.log("[DEMOD] Response blocked, redownloading from history.");
773 var latest = await redownloadLatest();
774 last_response.replace(latest);
775 buffer.push(last_response);
776 sequence_shift++;
777 }
778 }
779 }
780
781 response.sequence_id += sequence_shift;
782 buffer.push(response);
783
784 var entry;
785 try {
786 for (entry of buffer) {
787 var entry_event = entry.getEvent();
788 original_onmessage(entry_event);
789 }
790 buffer.length = 0;
791 } catch (e) {
792 console.log("[DEMOD] Failed to send parsed response: " + entry.response_data + "\n\nWith body: " + entry.response_body);
793 }
794 }
795 else {
796 original_onmessage(event);
797 }
798 };
799
800 var ws_proxy = {
801 set: function (target, prop, v) {

Callers 1

Chat DeMod.user.jsFile · 0.85

Calls 5

processMethod · 0.95
cloneMethod · 0.95
updateDeModMessageStateFunction · 0.85
redownloadLatestFunction · 0.85
getEventMethod · 0.80

Tested by

no test coverage detected