userDigest.getUsersInterval(uid) returns false even if default digest is set to daily
-
@baris I recommend you giving this a test. I just made a clean nodebb 2.0 install, and its working like I'm telling you, off = default , so if user sets digest to OFF, and default is set to weekly, the user will get the digest anyway.
-
This was my test, I've installed a clean nodebb 2.0 install in my local. I have 2 users, 1 admin, one regular user with email validated.
-
I've added a filter:email.send to persona theme just to consol.log when email is sent
-
with admin user, go to ACP, set digest default to weekly
-
with regular user go to front end user settings, and you will see the digest set weekly, this is ok, as its defaulted to weekly. In the same settings page make any changes to the profile, keep digest to weekly, save.
-
with admin user in ACP you can in MANAGE->DIGEST you can force send the digest, you also have in that page a column with "Subscription Type". If you search for the regular user there, you will see the subscription set to "week", if you click "resend digest" you will send the digest to that user, and you will see the console.log we've set before. This is OK so far.
-
with regular user go to front end user settings, and you will see the digest set weekly, this is ok, change it to OFF, and save.
-
with admin user in ACP go to MANAGE->DIGEST. If you search for the regular user there, you will see the subscription set to "System default". But wait.... the user has set it to OFF, here is the error. If you click "resend digest" the user will get the digest email, and the user has digest set to OFF.
I really this this is a problem on nodebb core. Let me know what you think.
-
-
As far as I know clicking
1
will always send a digest to that user because it uses the uid of the user directly. https://github.com/NodeBB/NodeBB/blob/master/src/socket.io/admin/digest.js#L19Clicking
2
should respect the settings of the users. Which one did you use for the testing? -
So I tested with the above config, I have two users admin (uid1) emailtest(uid 2).
// uid2 digest set to "weekly" // "resend button" sending to [ '2' ] // "weekly button" sending to [ '1', '2' ]
After changing emailtest digest setting to
off
uid2 digest set to "off" // "resend button" sending to [ '2' ] // "weekly button" sending to [ '1' ] // it didn't send to uid 2 since setting is off
-
@baris got it. I think you are right. Sorry about all the confussion. I did your testing and is working like you say. I will do more testing in the next few days, but I think you are right. I was testing with "1", and that one always send the digest. and "2" only sends the digest to the users that should received it.
-
@Sebastián-Cisneros here is my confussion,
if emailtest user has set digest to off, here you will see system default in the "subscription type" column. Shouldn't it say off? should the emailtest user have the option to set the digest back to nodebb default at some point (like adding a new option in the digest select "default")? just wondering....
-
@Sebastián-Cisneros Yeah I think that label should say off if the user set it to off in their settings. I will open an issue for that.
acp>manage>digest shows system default even if user sets their digest to off · Issue #10631 · NodeBB/NodeBB
https://community.nodebb.org/topic/16483/userdigest-getusersinterval-uid-returns-false-even-if-default-digest-is-set-to-daily/15
GitHub (github.com)
-
@baris thanks! This was very helpful. @Sebastián-Cisneros and I really appreciate it.