Skip to content

Adds new releases of reviewReminder plugin - 0.2.0.1, 1.0.0.0 - #544

Merged
bozana merged 2 commits into
pkp:mainfrom
lepidus:port-reviewReminder-3_5_0
Oct 21, 2026
Merged

bozana merged 2 commits into
pkp:mainfrom
lepidus:port-reviewReminder-3_5_0

Conversation

@CarlosVercosaLepidus

Copy link
Copy Markdown

No description provided.

@bozana

bozana commented Sep 25, 2026 •

Copy link
Copy Markdown

Hi @CarlosVercosaLepidus,
It seems 0.2.0.1 has a few issues that 1.0.0.0 already solved:

  1. The scheduled task doesn't check whether the plugin is enabled in a journal, and the pending-reviews query has no journal filter.
  2. The calendar file is written to /tmp. Maybe to fix it in the same way as in 1.0.0.0.
  3. The review assignment that is picked (HookCallbacks::getReviewAssignment()) matches reviewers by full name and returns the oldest match, so when a reviewer accepts round 2, the reminder and calendar event show the round 1 deadline. Less likely, but if two reviewers share a name, the wrong one could get the reminder. Maybe to use the reviewer ID?

None of these is a blocker, so if you'd rather have us merge now and follow up with 0.2.0.2, just let us know.
Thanks a lot!

Signed-off-by: iudi <iudi@lepidus.com.br>
@iudizm

iudizm commented Oct 19, 2026

Copy link
Copy Markdown

Hi @bozana,

I've taken over this PR from @CarlosVercosaLepidus. All three points are covered in the latest releases (0.2.0.3 and 1.0.0.1), alongside several bug fixes.

It would be great to have them merged as soon as possible.

Thanks!

@bozana
bozana merged commit 534fe54 into pkp:main Oct 21, 2026
1 check passed
@bozana

bozana commented Oct 21, 2026

Copy link
Copy Markdown

Thanks a lot!

@bozana

bozana commented Oct 21, 2026

Copy link
Copy Markdown

Hi @iudizm,
I reviewed the plugin with Claude, and here a few more findings:

Should fix

  1. 1.0.0.1 relies on the Mailable::build hook, which only exists from OJS 3.5.0-4. On 3.5.0-0 to -3 the calendar invite is silently not attached. Could you change its compatibility in the gallery entry to ~3.5.0.4 (with your next gallery PR, or in a small separate one), and mention that minimum in the README?
  2. In 0.2.0.3 (OJS 3.4), HookCallbacks::getOneClickReviewerUrl() still creates a new access key on each acceptance and puts the one-click login link into the ICS description. Calendar events get synced and shared well beyond the inbox. Maybe use the plain review URL there, as 1.0.0.1 does?

Worth fixing

  1. PendingReviewsReminder isn't registered through the Mailer::Mailables hook, so journals can't edit, translate or disable the weekly email under Workflow › Emails.
  2. The ICS file:
    • uniqid() as the UID adds a new calendar event with every email. A stable UID per review assignment (plus SEQUENCE) would update the existing one.
    • The times have no time zone (floating), and VTIMEZONE is empty.
    • PRODID is the library's sample value.
    • ORGANIZER;CN= isn't quoted, so a journal name with , or ; breaks it.
    • Long lines aren't folded at 75 octets.
  3. In 0.2.0.3, if a reviewer accepts an old round's request while a newer round exists, the newer round's due date is used. Maybe pick the assignment whose date_confirmed is still empty?
  4. In the 3.4 README, maybe mention that sites running scheduled tasks via server cron (without Acron) need to add plugins/generic/reviewReminder/scheduledTasks.xml to their cron command.

Small things

  • 1.0.0.1 still installs the unused REVIEW_REMINDER template (it has the same name as core's "Review Reminder"), and ships the unused ReviewReminder mailable and the ics.description.urlNotAvailable key.
  • Adding {$contextName} to the weekly email's subject would help reviewers who are in several journals.
  • The 3.5 README still says it's not yet available in the Plugin Gallery.
  • If you'd like to update the plugin's gallery description for 1.0, just send the new text in your next gallery PR.

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants