openvibers/openvibe.mail Commits
openvibe-shared v4.150.0 (was v4.149.0) (#18)
Changes
@@@ -200,7 +200,7 @@ AGPL-3.0-only, matching Stalwart Community. OpenVibe.Mail ships configuration anStalwart.<!-- versions:start -->--- openvibe-contracts: v0.338.0++- openvibe-contracts: v0.342.0- openvibe-sdk: v0.97.1--- openvibe-shared: v4.149.0++- openvibe-shared: v4.150.0<!-- versions:end -->@@@ -3,13 +3,13 @@"stage": "alpha","code": true,"wave": "M1",-- "plan": "OpenVibe Seven Domains Plan (2026-11-07) \u00a78, M1: Stalwart receiving, masks, burners and agent inboxes; HO6 (channels): an agent answers the mail sent to its own address",++ "plan": "OpenVibe Seven Domains Plan (2026-11-07) §8, M1: Stalwart receiving, masks, burners and agent inboxes; HO6 (channels): an agent answers the mail sent to its own address","runtime": "node 22, express, PostgreSQL 18 (openvibe-sdk/db), Stalwart Community 1.0.3 (AGPL-3.0-only), local filesystem blobs (S3 optional)","port": 5250,"domain": "openvibe.email; receive-only MX. The API is public through nginx (deploy/nginx/openvibe.email.conf); no UI yet.","contracts": "openvibe-contracts v0.342.0","sdk": "openvibe-sdk v0.97.1",-- "shared": "openvibe-shared v4.149.0",++ "shared": "openvibe-shared v4.150.0","contractsProposed": [],"stalwart": {"version": "1.0.3",@@@ -74,7 +74,6 @@"cors": "Bearer from any first-party origin in the Contracts manifests; cookie writes only same-origin on openvibe.email","trustProxy": 2},-- "updated": "2026-11-08","agentMail": {"switch": "off by default, per agent; the poll walks only inboxes whose switch is on","poll": "due-based, under its own lease in mail_settings; a message is announced once (the row and the event commit together)",@@@ -83,5 +82,6 @@"reply": "POST /internal/mail/agents/:agent_id/reply (mail.agent.reply), from the inbox address, to the sender only, plain text","delivery": "a reply to the owner's own openvibe.email addresses (mailbox, masks, burners) is handed to the mail server over loopback SMTP. Sending outside OpenVibe is not ours yet (plan M2, waiting on the owner): MAIL_OUTBOUND=on is the only way on and it is OFF by default, so with it off such a reply opens no connection and answers 409 mail.outbound_closed, which the agent's system turns into the person's send approval (the reply waits, nothing is sent, nothing is lost)","outbound": "GET /internal/mail/outbound says whether Mail may send outside OpenVibe, so an approval card can say plainly that the reply will wait"-- }++ },++ "updated": "2026-11-08"}@@@ -15,7 +15,7 @@"helmet": "^8.1.0","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.342.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.97.1",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.149.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.150.0","pg": "^8.23.0","sanitize-html": "^2.18.1"},@@@ -1162,9 +1162,9 @@}},"node_modules/openvibe-shared": {-- "version": "4.149.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.149.0",-- "integrity": "sha512-/47+3t9drDvheutZ8VL2UkouNhaFGwI4I9j/UHhT8bvbcn7ldPAQird0HX+Ft1LhyUV4OcfN9SragzHpd9lNIw==",++ "version": "4.150.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.150.0",++ "integrity": "sha512-7nN6L5DTVJytfLOojmxIGkWJiAqDfZ+ZWj/vDXOf39C9v/U4r4bzpFzLV3/T/P06eOIjrffxs946qiFEJ6+WzQ==","license": "MIT","dependencies": {"jsonwebtoken": "^9.0.0",@@@ -29,7 +29,7 @@"helmet": "^8.1.0","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.342.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.97.1",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.149.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.150.0","pg": "^8.23.0","sanitize-html": "^2.18.1"},
@@ -200,7 +200,7 @@ AGPL-3.0-only, matching Stalwart Community. OpenVibe.Mail ships configuration an
@@ -200,7 +200,7 @@ AGPL-3.0-only, matching Stalwart Community. OpenVibe.Mail ships configuration an
Stalwart.
Stalwart.
<!-- versions:start -->
<!-- versions:start -->
-- openvibe-contracts: v0.338.0
+- openvibe-contracts: v0.342.0
- openvibe-sdk: v0.97.1
- openvibe-sdk: v0.97.1
-- openvibe-shared: v4.149.0
+- openvibe-shared: v4.150.0
<!-- versions:end -->
<!-- versions:end -->
@@ -3,13 +3,13 @@
@@ -3,13 +3,13 @@
"stage": "alpha",
"stage": "alpha",
"code": true,
"code": true,
"wave": "M1",
"wave": "M1",
- "plan": "OpenVibe Seven Domains Plan (2026-11-07) \u00a78, M1: Stalwart receiving, masks, burners and agent inboxes; HO6 (channels): an agent answers the mail sent to its own address",
+ "plan": "OpenVibe Seven Domains Plan (2026-11-07) §8, M1: Stalwart receiving, masks, burners and agent inboxes; HO6 (channels): an agent answers the mail sent to its own address",
"runtime": "node 22, express, PostgreSQL 18 (openvibe-sdk/db), Stalwart Community 1.0.3 (AGPL-3.0-only), local filesystem blobs (S3 optional)",
"runtime": "node 22, express, PostgreSQL 18 (openvibe-sdk/db), Stalwart Community 1.0.3 (AGPL-3.0-only), local filesystem blobs (S3 optional)",
"port": 5250,
"port": 5250,
"domain": "openvibe.email; receive-only MX. The API is public through nginx (deploy/nginx/openvibe.email.conf); no UI yet.",
"domain": "openvibe.email; receive-only MX. The API is public through nginx (deploy/nginx/openvibe.email.conf); no UI yet.",
"contracts": "openvibe-contracts v0.342.0",
"contracts": "openvibe-contracts v0.342.0",
"sdk": "openvibe-sdk v0.97.1",
"sdk": "openvibe-sdk v0.97.1",
- "shared": "openvibe-shared v4.149.0",
+ "shared": "openvibe-shared v4.150.0",
"contractsProposed": [],
"contractsProposed": [],
"stalwart": {
"stalwart": {
"version": "1.0.3",
"version": "1.0.3",
@@ -74,7 +74,6 @@
@@ -74,7 +74,6 @@
"cors": "Bearer from any first-party origin in the Contracts manifests; cookie writes only same-origin on openvibe.email",
"cors": "Bearer from any first-party origin in the Contracts manifests; cookie writes only same-origin on openvibe.email",
"trustProxy": 2
"trustProxy": 2
},
},
- "updated": "2026-11-08",
"agentMail": {
"agentMail": {
"switch": "off by default, per agent; the poll walks only inboxes whose switch is on",
"switch": "off by default, per agent; the poll walks only inboxes whose switch is on",
"poll": "due-based, under its own lease in mail_settings; a message is announced once (the row and the event commit together)",
"poll": "due-based, under its own lease in mail_settings; a message is announced once (the row and the event commit together)",
@@ -83,5 +82,6 @@
@@ -83,5 +82,6 @@
"reply": "POST /internal/mail/agents/:agent_id/reply (mail.agent.reply), from the inbox address, to the sender only, plain text",
"reply": "POST /internal/mail/agents/:agent_id/reply (mail.agent.reply), from the inbox address, to the sender only, plain text",
"delivery": "a reply to the owner's own openvibe.email addresses (mailbox, masks, burners) is handed to the mail server over loopback SMTP. Sending outside OpenVibe is not ours yet (plan M2, waiting on the owner): MAIL_OUTBOUND=on is the only way on and it is OFF by default, so with it off such a reply opens no connection and answers 409 mail.outbound_closed, which the agent's system turns into the person's send approval (the reply waits, nothing is sent, nothing is lost)",
"delivery": "a reply to the owner's own openvibe.email addresses (mailbox, masks, burners) is handed to the mail server over loopback SMTP. Sending outside OpenVibe is not ours yet (plan M2, waiting on the owner): MAIL_OUTBOUND=on is the only way on and it is OFF by default, so with it off such a reply opens no connection and answers 409 mail.outbound_closed, which the agent's system turns into the person's send approval (the reply waits, nothing is sent, nothing is lost)",
"outbound": "GET /internal/mail/outbound says whether Mail may send outside OpenVibe, so an approval card can say plainly that the reply will wait"
"outbound": "GET /internal/mail/outbound says whether Mail may send outside OpenVibe, so an approval card can say plainly that the reply will wait"
- }
+ },
+ "updated": "2026-11-08"
}
}
@@ -15,7 +15,7 @@
@@ -15,7 +15,7 @@
"helmet": "^8.1.0",
"helmet": "^8.1.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.342.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.342.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.97.1",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.97.1",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.149.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.150.0",
"pg": "^8.23.0",
"pg": "^8.23.0",
"sanitize-html": "^2.18.1"
"sanitize-html": "^2.18.1"
},
},
@@ -1162,9 +1162,9 @@
@@ -1162,9 +1162,9 @@
}
}
},
},
"node_modules/openvibe-shared": {
"node_modules/openvibe-shared": {
- "version": "4.149.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.149.0",
- "integrity": "sha512-/47+3t9drDvheutZ8VL2UkouNhaFGwI4I9j/UHhT8bvbcn7ldPAQird0HX+Ft1LhyUV4OcfN9SragzHpd9lNIw==",
+ "version": "4.150.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.150.0",
+ "integrity": "sha512-7nN6L5DTVJytfLOojmxIGkWJiAqDfZ+ZWj/vDXOf39C9v/U4r4bzpFzLV3/T/P06eOIjrffxs946qiFEJ6+WzQ==",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
"jsonwebtoken": "^9.0.0",
"jsonwebtoken": "^9.0.0",
@@ -29,7 +29,7 @@
@@ -29,7 +29,7 @@
"helmet": "^8.1.0",
"helmet": "^8.1.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.342.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.342.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.97.1",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.97.1",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.149.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.150.0",
"pg": "^8.23.0",
"pg": "^8.23.0",
"sanitize-html": "^2.18.1"
"sanitize-html": "^2.18.1"
},
},