Repository navigation
Shabbat 3.1.1
This patch fixes scheduled Daf Yomi delivery, unifies the Daf card, and includes two runtime compatibility fixes.
- Escape Hebcal/Sefaria links and Daf HTML once. Share the rich card between private and scheduled group views, including location, timezone, Gregorian/Hebrew dates, bold tractate/page, page link and the existing animated Daf emoji with fallback.
- Preserve custom HTML/native entities, media, keyboards and topics. The built-in
{{daf}}keeps the rich default card. - Repair only eligible frozen 3.1.0 Daf payloads rejected by the known local HTML parser failure, or prepared but never dispatched. Preserve random IDs, retry history and expiry. Failed, expired and generic uncertain deliveries are not revived or reset.
- Handle a real private
PEER_ID_INVALIDwithout sending a second DM to the same unreachable recipient. A valid originating group gets a localized private-start link; permission checks, unrelated errors and cancellation remain intact. - Include pinned igbinary 3.2.16 in Docker, its original source and BSD-3-Clause license, and offline initialization probes for existing igbinary sessions.
Composer dependencies/lock, all 16 database migrations and the existing MadelineProto/BroadcastManager patches are unchanged. MadelineProto remains locked to 8.11.10 / layer 232.
Verified source and assets
Commit: ae7bdc520c4bb4c28977d17134c27d6a71b5ac0f (merged PR #24).
Final main-commit CI covers PHP 8.3.36, 8.4.27 and 8.5.12, the full 1,397-test suite (55,328 assertions on Linux), lint/style/static analysis, advisory audit, locale/docs/source/patch checks, packaging regressions, Docker and an extracted deployment-ZIP build without Git. Docker runs PHP 8.4.27, SQLite 3.51.3 and pinned igbinary 3.2.16; offline nonroot checks and full Madeline initialization pass.
The four attached assets come from that exact merged commit. RELEASE_MANIFEST.json records the source fingerprint and archive scope; SHA256SUMS verifies both ZIPs and the manifest. The corresponding-source archive includes the documented runtime dependency sources, licenses, active patch baselines/diffs and pinned source supplements. It does not claim to contain the entire operating system/container source.
Updating
Existing SQLite installations keep their current Compose project, volumes, database and session. Do not repeat legacy import or reset queues. Follow the installation/update guide and retain a verified backup. Set SOURCE_URL=https://github.com/WizardLoop/shabbat/releases/tag/v3.1.1 for this unchanged release. Preserve the archive's build-info.json; do not override BUILD_COMMIT when deploying its ZIP.
Publication does not deploy to the server or restart the bot. Offline/CI tests do not establish live Telegram delivery, every client rendering or production acceptance; verify the scheduled Daf card on a separate test bot/group before production rollout.
ืืขืืจืืช
ืชืืงื ื ืฉืืืืช ืืืฃ ืืืืื, ืืขืืฆืื ืืืืื ืืืืืคืื ืืืืืงื ืืืืืขืืช ืฉืืืจ ืืืชืื ืืช ืื ืืกืืื ืืืืจ. ื ืืกืฃ ืืืคืื ืืฉืืืืช ืืคืจืื PEER_ID_INVALID, ืื ืืื ืชืืงืื igbinary ืืืคืขืืช ืกืฉื ืื ืงืืืืื. ืชืื ืืืช, ืขืืฆืื, ืืืื, ืืคืชืืจืื ืื ืืฉืืื ื ืฉืืจืื.
ืืืชืงื ื ืฉืืืจ ืืฉืชืืฉืช ืึพSQLite ืืื ืืืฆืข ืฉืื ืืืืื ืงืืืฆืืช. ืืฉ ืืฉืืืจ ืขื ืคืจืืืงื Compose, ืืกื ืื ืชืื ืื ืืืกืฉื ืืงืืืืื. ืชืืขืื ืืขืืจืืช ยท ืืืจืืืช ืขืืืื ืืืกื ยท Changelog.