View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 20238 | Bug reports | RemoteControl | public | 2025-08-22 14:54 | 2026-11-01 16:01 |
| Reporter | ginosupport | Assigned To | c_schmitz | ||
| Priority | none | Severity | partial_block | ||
| Status | resolved | Resolution | fixed | ||
| Summary | 20238: invite_participants does not consider participant-validity | ||||
| Description | The RemoteControl invite_participants endpoint does not consider the validity dates of participants. As a result, depending on your configured batch size, not all participants that are valid are invited. It might not invite anyone at all, even if you have valid participants. | ||||
| Steps To Reproduce | Steps to reproduce
Expected resultThere are 5 invitations sent, for the 5 participants that are valid now. The first 5 participants should be completely disregarded. The same problem happens if the first 5 participants do not start in the future, but end in the past. It does work as expected when a valid participant does not have an email address at all. In that case, the participants that cannot be invited are ignored. Actual resultNo invitations are sent. I feel like it's querying the first 5 of all the participants that have not received an invitation yet, and going through those, and then deciding not to send anything because none of them are valid yet. Participants that are not valid yet/anymore should be disregarded for this process completely, not queried first and then filtered out. It should apply the same logic as it does for participants without an emailaddress for participants that are not valid yet/not valid anymore. The effect of the current behavior is that large surveys with many participants that become valid in the future, may not send any invitations at all, even if there are participants that can be invited. | ||||
| Tags | No tags attached. | ||||
| Bug heat | 14 | ||||
| Complete LimeSurvey version number (& build) | 6.15.5+250724 | ||||
| I will donate to the project if issue is resolved | No | ||||
| Browser | |||||
| Database type & version | PostgreSQL | ||||
| Server OS (if known) | |||||
| Webserver software & version (if known) | |||||
| PHP Version | 8.X | ||||
| Git branch / Pull Request URL | |||||
|
I can not reproduce this on latest version 6.15.11+250909 locally. |
|
|
I just updated to 6.15.11+250909 and it's still wrong in the same way as before. I have attached 3 files, which i took in order:
That last participant is just not invited, as long as there are at least [batchsize] participants before it that have not received an invitation yet. |
|
|
Any update on this? Do you now understand what I mean, and can you reproduce it? If not, do you want me to try something else? |
|
|
Since this issue is unfortunately not fixed yet, I have now refactored my code to work around this issue. My code now provides specific participant-ids to be invited (instead of only the survey-id). The change now allows me to invite the relevant participants i expect, but I was a little bit surprised by the statusmessage in the response. I guess you could have a debate over whether it's correct, but in the example from the steps to reproduce, the response is "5 left to send", even if those 5 participants cannot (currently) be invited. I would have expected "0 left to send", if no participants can actually be invited. |
|
|
@ginosupport, maybe you can provide a pull request with your updated code based on the latest version? Then developers could review and if all checks are passed integrate the fix. |
|
|
I'm sorry, but I do not have a pull request. I did not refactor any limesurvey code. |
|
|
@ginosupport: Thanks a lot for your feedback, makes sense! |
|
|
@Mazi and @ginosupport, we would gladly accept the PR with bugfix for this. |
|
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=41221 |
|
|
LimeSurvey: master efbea975 2026-11-01 15:59 Details Diff |
Fixed issue 20238: RemoteControl invite_participants and remind_participants sent no emails when the first participants of a batch were not valid yet or not valid anymore Dev The batch query now skips participants outside their validity period, so they no longer use up the email batch and are no longer counted in "X left to send" Dev findUninvited() and findParticipantIDs() got an optional $bOnlyCurrentlyValid parameter; the admin email page still uses the unfiltered query, as it reports skipped participants and has a "Bypass date control" option Dev Participants passed in aTokenIds that are outside their validity period are now left out of the result instead of returned with a "Token not valid yet/anymore" error |
Affected Issues 20238 |
|
| mod - application/helpers/remotecontrol/remotecontrol_handle.php | Diff File | ||
| mod - application/models/TokenDynamic.php | Diff File | ||
| mod - tests/unit/helpers/remotecontrol/InviteParticipantsTest.php | Diff File | ||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-08-22 14:54 | ginosupport | New Issue | |
| 2025-08-29 14:00 | guest | Bug heat | 0 => 6 |
| 2025-09-15 17:06 | tibor.pacalat | Note Added: 83402 | |
| 2025-09-15 17:06 | tibor.pacalat | Bug heat | 6 => 8 |
| 2025-09-15 17:06 | tibor.pacalat | Assigned To | => tibor.pacalat |
| 2025-09-15 17:06 | tibor.pacalat | Status | new => feedback |
| 2025-09-15 18:03 | ginosupport | Note Added: 83403 | |
| 2025-09-15 18:03 | ginosupport | File Added: invite_participants-1-sent.png | |
| 2025-09-15 18:03 | ginosupport | File Added: invite_participants-nothing-sent.png | |
| 2025-09-15 18:03 | ginosupport | File Added: batchsize-config.png | |
| 2025-09-15 18:03 | ginosupport | Bug heat | 8 => 10 |
| 2025-09-15 18:03 | ginosupport | Status | feedback => assigned |
| 2025-10-01 17:18 | ginosupport | Note Added: 83516 | |
| 2025-11-27 16:52 | ginosupport | Note Added: 83948 | |
| 2026-02-06 10:32 | Mazi | Note Added: 84180 | |
| 2026-02-06 10:32 | Mazi | Bug heat | 10 => 12 |
| 2026-02-06 12:39 | ginosupport | Note Added: 84184 | |
| 2026-02-06 14:19 | Mazi | Note Added: 84185 | |
| 2026-02-06 17:09 | tibor.pacalat | Note Added: 84187 | |
| 2026-11-01 16:01 | c_schmitz | Changeset attached | => LimeSurvey master efbea975 |
| 2026-11-01 16:01 | c_schmitz | Note Added: 87073 | |
| 2026-11-01 16:01 | c_schmitz | Assigned To | tibor.pacalat => c_schmitz |
| 2026-11-01 16:01 | c_schmitz | Status | assigned => resolved |
| 2026-11-01 16:01 | c_schmitz | Resolution | open => fixed |
| 2026-11-01 16:01 | c_schmitz | Bug heat | 12 => 14 |