feat(fls): import the e-mail programs into the editor model
The e-mail client and server of every host come into the model (core: EmailClientConfiguration, EmailServerConfiguration, EmailMessage), from Java's view: - the server's accounts are those of /mailserver/konten.txt, as Java reads them at every simulation start; without the file those of the bean list, which Java would drop; - the client's account is that of /konten.txt; without it the first of an older file's kontoListe, which FILIUS 2.14 no longer reads; - messages are numbered per program in folder order, as Swift does; the sent folder's are sent; a date is taken only when the file gives one. Departures from Swift: accounts and messages stay where Swift drops what fails its checks; first and last name stay apart; a port that is no number is the default, with a warning. On the corpus the model matches Swift's on all 13 files; the one Swift error is named (it numbers a mailbox's messages as their received time and writes that into the konten.txt it rewrites). The Swift dump now carries the e-mail state, and the file system comparison leaves out only Swift's hidden state files (and the directories it makes for them) instead of all of /mail, /mailserver and /peer2peer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,6 +34,7 @@ import {
|
||||
javaContacts,
|
||||
javaEmailAccounts,
|
||||
javaEmails,
|
||||
javaLegacyEmailAccounts,
|
||||
readEmailClientFile,
|
||||
readEmailServerFile,
|
||||
type JavaContact,
|
||||
@@ -167,6 +168,8 @@ export interface FlsApplication {
|
||||
addressBook?: JavaContact[];
|
||||
/** EmailAnwendung: the account of /konten.txt, null without one. */
|
||||
fileAccount?: JavaEmailAccount | null;
|
||||
/** EmailAnwendung: the accounts of an older file's kontoListe, which FILIUS 2.14 ignores. */
|
||||
legacyAccounts?: JavaEmailAccount[];
|
||||
/** The application's JavaBean, for the e-mail layer. */
|
||||
source: JavaObject;
|
||||
}
|
||||
@@ -325,6 +328,7 @@ function applications(map: JavaValue | undefined, root: FlsFileTree, warn: Warn)
|
||||
entry.addressBook = javaContacts(at('adressbuch'), warn);
|
||||
const file = javaFileContent(root, EMAIL_CLIENT_FILE);
|
||||
entry.fileAccount = file === undefined ? null : readEmailClientFile(file, warn);
|
||||
entry.legacyAccounts = javaLegacyEmailAccounts(at('kontoListe'), warn);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user