Fix for when adding our address to path for outgoing echomails - introduced in 5fc6906
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 41s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m46s
Create Docker Image / Final Docker Image Manifest (push) Successful in 10s

This commit is contained in:
Deon George 2024-05-23 17:36:47 +10:00
parent 710adad634
commit 4f8448563d
4 changed files with 11 additions and 5 deletions

View File

@ -152,6 +152,7 @@ class Message extends FTNBase
*
* @param Echomail|Netmail $o
* @return self
* @throws \Exception
*/
public static function packMessage(Echomail|Netmail $o): self
{
@ -572,7 +573,8 @@ class Message extends FTNBase
// FTS-0004.001/FSC-0068.001 The message SEEN-BY lines
// FTS-0004.001/FSC-0068.001 The message PATH lines
$path = $this->mo->path->push($this->us)->filter(fn($item)=>($item->point_id === 0));
// @todo This unique() function here shouldnt be required, but is while system generated messages are storing path/seenby
$path = $this->mo->path->push($this->us)->unique('ftn')->filter(fn($item)=>($item->point_id === 0));
// Create our rogue seenby objects
$seenby = $this->mo->seenby;

View File

@ -16,6 +16,7 @@ final class Mail extends Send
/** @var int Our internal position counter */
private int $readpos;
private ?string $content;
/**
* @throws \Exception
@ -84,6 +85,8 @@ final class Mail extends Send
'sent_at'=>Carbon::now(),
'sent_pkt'=>$this->name,
]);
$this->content = NULL;
}
}
@ -94,12 +97,13 @@ final class Mail extends Send
public function open(string $compress=''): bool
{
$this->content = (string)$this->f;
return TRUE;
}
public function read(int $length): string
{
$result = substr((string)$this->f,$this->readpos,$length);
$result = substr($this->content,$this->readpos,$length);
$this->readpos += strlen($result);
return $result;

View File

@ -340,7 +340,7 @@ class Address extends Model
$zone_id = $parent?->zone->zone_id;
// For flattened domains
if ($zo->domain->flatten && is_null($zone_id))
if ($zo?->domain->flatten && is_null($zone_id))
foreach ($zo->domain->zones as $zoo) {
$o->zone_id = $zoo->id;
$parent = $o->parent();

View File

@ -167,7 +167,7 @@ trait MessageAttributes
*/
public function packet(Address $ao): Message
{
Log::debug(sprintf('%s:+ Bundling [%s]',self::LOGKEY,$this->id),['type'=>get_class($this)]);
Log::debug(sprintf('%s:+ Bundling [%s] for [%s]',self::LOGKEY,$this->id,$ao->ftn),['type'=>get_class($this)]);
// For netmails, our tftn is the next hop
$this->tftn = $ao;