Files
fpc-msgbase/tests
Ken Johnson aa8936f974 Bump to 0.6.0 -- UpdateMessage on every backend
NR's Message 17 on the joint inbox flagged that
TMessageBase.UpdateMessage returned False on every format because
no backend overrode DoUpdateMessage.  Was blocking nr.linker's
Pass 4 (header-only reply-chain rewrite), the last holdout before
nr.msgbase.* retirement.

Shipped DoUpdateMessage on all eight backends -- not just the
three NR asked for:

  JAM       -> TJamBase.UpdateHeader (existing primitive)
  Squish    -> new TSquishBase.UpdateMsgHeader rewrites full
               SqMsgHdr in place, preserves CtrlInfo + body
  *.MSG     -> TMsgFile.UpdateHeader rewrites 190-byte NetMail
  Hudson    -> UpdateHeader writes HudsonHdrRec at idx*siz
  GoldBase  -> UpdateHeader, ReplyTo/SeeAlsoNum map to
               goldbase.prevreply/nextreply attrs
  PCBoard   -> UpdateHeaderAt rewrites PCBMsgRec block; RefNum
               goes through LongToBSReal encoding on write
  EzyCom    -> UpdateHeader rewrites EzyMsgHdrRecord
  Wildcat   -> WC SDK UpdateMsgHeader via the vendored wrapper

Semantics (header-metadata only, documented in each override):
apply attrs from incoming TUniMessage to header slots, leave
body / CtrlInfo / SubFields / inline kludges alone.  Callers
needing body changes should Delete + WriteMessage.

Adjacent fix: PCBoard DoOpen now auto-initialises an empty
128-byte PCBBaseRec + empty .IDX on momCreate so a base can be
created from scratch via mb.api.  Previously needed pre-
population by another tool.

Tests: seven UpdateMessage regression tests in
test_consumer_round1 (one per backend that supports create from
scratch; Wildcat uses the vendored sample base at
tests/data/wildcat/).  All 16 consumer tests pass across six
targets.
2026-04-20 08:12:39 -07:00
..