Skip to content

Fix scheduled Daf delivery and runtime compatibility in 3.1.1 - #24

Merged
WizardLoop merged 2 commits into
mainfrom
fix/daf-html-escaping
Oct 23, 2026
Merged

WizardLoop merged 2 commits into
mainfrom
fix/daf-html-escaping

Conversation

@WizardLoop

@WizardLoop WizardLoop commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Scheduled Daf messages failed in MadelineProto's HTML parser when a Hebcal/Sefaria URL contained raw & query separators. This patch separates raw template values from HTML and shares the rich Daf card between private views and scheduled group deliveries, preserving custom entities, media, buttons and topic routing.

Eligible prepared 3.1.0 Daf jobs receive a narrow URL-escaping repair under their existing lease only when never dispatched or rejected by the known local DOM parser error. Frozen content, random_id, attempts/history and expiry are retained; generic uncertain sends and failed/expired jobs are not revived or reset.

The approved igbinary 3.2.16 Docker compatibility fix includes its original source/license and offline initialization probes in CI and the manual release workflow. A private PEER_ID_INVALID no longer causes a second DM: a valid originating group gets a localized private-start link. Group permissions, authorization, other RPC errors and cancellation remain unchanged.

VERSION, CHANGELOG, release notes and current English/Hebrew documentation are updated for 3.1.1. Composer dependencies/lock, database schema/migrations and existing library patches are unchanged. This PR is merged as ae7bdc5; annotated tag v3.1.1 and the release are published after the final commit passed its gates. No production deployment was performed by this PR.

Validation:

  • The final PR head passed all eight push/PR jobs. The merged main commit and v3.1.1 tag each passed all four jobs.
  • Linux PHP 8.3.36, 8.4.27 and 8.5.12: 1,397 tests / 55,328 assertions; lint/style, static analysis, audit, locales/docs and patch/source validation passed.
  • Docker PHP 8.4.27 + pinned igbinary 3.2.16 passed full offline initialization, nonroot runtime permissions and release checks. The deployment ZIP built without Git or a BUILD_COMMIT override; archive identity and corresponding-source packaging passed.
  • Local direct full PHPUnit passed: 1,397 tests / 55,252 assertions / 2 POSIX-only skips on Windows. Focused regressions passed: Daf/presentation 50 tests / 672 assertions; queue/private-peer 25 / 162; source integrity 6 / 17,992. Packaging regressions: 39 tests, 3 Windows symlink skips. Documentation: 36 files / 0 errors; six locale catalogs / 593 keys; source secret scan passed.
  • Initial local Composer test/static-analysis commands reached their 300-second subprocess limits; direct full PHPUnit completed, while full static analysis passed in Linux CI. Local PHP lacks igbinary and Docker is unavailable, so actual image/startup gates ran successfully on Linux CI. No gate was weakened.
  • Final artifacts came from successful merged-commit CI. Every application file was compared with the merged Git tree; 4,200 dependency/supplement files and the source inventory were verified. Uploaded sizes and GitHub SHA-256 digests match the independently verified files.
  • No live Telegram delivery, real session conversion or production state changes.

Include the approved igbinary runtime compatibility fix and handle unreachable private settings replies without sending a second DM. Preserve Composer lock, database schema and queued delivery identities.
@WizardLoop
WizardLoop merged commit ae7bdc5 into main Oct 23, 2026
8 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.

1 participant