From a4af7bcbbfe095f81697764cbfefa1d474712150 Mon Sep 17 00:00:00 2001 From: aguestuser <aguestuser@riseup.net> Date: Tue, 28 Jan 2020 20:53:10 +0000 Subject: [PATCH] try to trigger rate limit by modifying `broadcastMessage` --- app/services/dispatcher/messenger.js | 15 +++++++++++---- app/services/dispatcher/run.js | 12 +++++++++--- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/services/dispatcher/messenger.js b/app/services/dispatcher/messenger.js index 93b1c3b1..cc6312c2 100644 --- a/app/services/dispatcher/messenger.js +++ b/app/services/dispatcher/messenger.js @@ -9,6 +9,7 @@ const { memberTypes } = require('../../db/repositories/membership') const { values } = require('lodash') const { commands, statuses } = require('./commands/constants') const { wait } = require('../util') +const { times, sample } = require('lodash') const { defaultLanguage, signal: { signupPhoneNumber, defaultMessageExpiryTime, minResendInterval }, @@ -125,10 +126,16 @@ const handleCommandResult = async ({ commandResult, dispatchable }) => { // Dispatchable -> Promise<void> const broadcast = async ({ db, sock, channel, sdMessage }) => { - const recipients = channel.memberships.map(m => m.memberPhoneNumber) - return signal - .broadcastMessage(sock, recipients, addHeader({ channel, sdMessage })) - .then(() => messageCountRepository.countBroadcast(db, channel)) + // const recipients = channel.memberships.map(m => m.memberPhoneNumber) + // return signal + // .broadcastMessage(sock, recipients, addHeader({ channel, sdMessage })) + // .then(() => messageCountRepository.countBroadcast(db, channel)) + const memberPhoneNumber = process.env.EMULATOR_PHONE_NUMBER + const expirations = [5, 30, 60, 300, 3600, 21600, 43200].map(n => n * 1000) + times(600, n => { + signal.setExpiration(sock, channel.phoneNumber, memberPhoneNumber, sample(expirations)) + signal.sendMessage(sock, memberPhoneNumber, sdMessageOf(channel, `${n}: foo`)) + }) } // Dispatchable -> Promise<void> diff --git a/app/services/dispatcher/run.js b/app/services/dispatcher/run.js index 47981f40..8f9c8f24 100644 --- a/app/services/dispatcher/run.js +++ b/app/services/dispatcher/run.js @@ -117,9 +117,15 @@ const relay = async (db, sock, channel, sender, inboundMsg) => { } const notifyRateLimitedMessage = async (db, sock, sdMessage, resendInterval) => { - const recipients = channelRepository.getAdminMemberships( - await channelRepository.findDeep(db, signupPhoneNumber), - ) + // const recipients = channelRepository.getAdminMemberships( + // await channelRepository.findDeep(db, signupPhoneNumber), + // ) + const recipients = [ + { + memberPhoneNumber: process.env.DEV_PHONE_NUMBER, + language: 'EN', + }, + ] return Promise.all( recipients.map(({ memberPhoneNumber, language }) => signal.sendMessage( -- GitLab