Skip to content

Phase 6: background tasks (builds on #6) - #7

Merged
fiammybe merged 5 commits into
claude/project-thread-kfbxfwfrom
claude/imforum-phase-6
Nov 4, 2026
Merged

fiammybe merged 5 commits into
claude/project-thread-kfbxfwfrom
claude/imforum-phase-6

Conversation

@fiammybe

Copy link
Copy Markdown
Contributor

Summary

Stacked on #6 (phase 5): the base is that branch so the diff shows phase 6 only. Merge #6 first.

  • Two autotasks, registered by the core in Systeem > Autotasks when the module is installed or updated (daily by default):
    • include/autotask_digest.php → DigestMailer: members subscribe with the notification "Digest" for all forums. It covers the time since the last digest (one day for the first), lists titles, counts and links but never post text, sends each member only the forums that member may read, and stores the complete digest for the admins before sending (a failure halfway never causes a second mail).
    • include/autotask_cleanup.php → Cleanup: removes visitors who are no longer online, read marks older than the new preference read_expire_days (90, 0 keeps them) and suspensions that ended over 30 days ago.
  • A topic without a read mark counts as unread, so deleting marks by age alone would make every old topic unread. Posts older than the limit therefore first count as read (forum mark) for members who have marks; only then do the old marks go. Marks of deleted topics and marks already covered by a forum mark are removed too.
  • Module status is now 1.0.0 Alpha 6.
  • English and Dutch strings and mail template.

Test plan

  • Lint, PHPStan level 6, 40 unit tests
  • 91 integration tests (9 new in BackgroundTasksTest) on MariaDB locally
  • Manual test on http://iforum.test by David: update the module, check Systeem > Autotasks, subscribe to the digest, run the task

Generated by Claude Code

claude and others added 5 commits October 26, 2026 12:37
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MZy45V5RV9nx6Buq8vqKHr
… raw SQL

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MZy45V5RV9nx6Buq8vqKHr
…, forum and category forms

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ontrol typed

The WYSIWYG editor sends HTML: such a post gets dohtml on and dobr off and is shown through the purifier.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MZy45V5RV9nx6Buq8vqKHr
@fiammybe
fiammybe added this pull request to stack #11 November 4, 2026 20:29
@fiammybe
fiammybe merged commit 3323468 into main Nov 4, 2026
7 checks passed
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.

2 participants