Rewrite echomail_schema.inc — 19 tables now declared via
TDBATableSpec records using FHost.DeclareTable. Reconciler in the
host handles ADD COLUMN automatically across SQLite/MariaDB/PostgreSQL.
Tooling:
* Vendor fw_plugin_api + dbapi_* units into sdk/ via `make pull-sdk`.
sdk/VERSION pins the upstream commit hash.
* Makefile adds fcl-db (sqldb/dbase), paszlib, hash paths.
* Removed top-level fw_plugin_api.pas (now under sdk/).
Remove FMailerAvailable guard from GetPrimaryAKA, GetAllAKAs,
GetAllLinkAddresses, GetLinkByAddress, QueueOutbound. Always try the
PluginCall to mailer with try/except fallback. Plugin load order is
not guaranteed — echomail may initialize before mailer, causing the
init-time FMailerAvailable test to permanently fail.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Makefile: platform-specific unit paths — Linux uses FCL source with
-fPIC, FreeBSD/Windows use pre-compiled units from /opt/fpcup/fpc/units
- CI: delete existing release before creating (handles re-runs)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix scanner/tosser direction='send' -> 'out' to match web UI values
- Fix Makefile: move /tmp/paszlib_fpic before FCL source paths so all
units compile with -fPIC for shared library linking
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Convert web admin from inline HTML to SPA module pattern. Add toss and
scan include stubs. Fix fw_archiver cross-platform compatibility.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Echomail processor (like FastEcho/Squish) — tosser, scanner, packer,
AreaFix, netmail routing. Split from monolithic fidonet plugin.
Key design decisions:
- Reuses proven tosser/scanner/areafix backend code
- Backend units updated for new table names + KV link model
- No bbsengine dependency — standalone message storage
- Optional bbsengine integration for BBS message areas
- Reads mailer data via cross-plugin DB access
- Fires echomail.outbound_ready event after scanning
- 12 focused include files
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>