Communications tab: show matched investors only (v0.1.0:81)

The email-activity panel surfaced every captured message, including cold/
unknown-sender email with no investor association. Gate query_email_activity
on EXISTS(email_investor_links) so the panel shows only email tied to a known
investor/contact. Capture is unchanged — unmatched email is still stored
(metadata-only) and will appear automatically if its sender is later added as
an investor; this is a read-side filter only.

Graveyard investors are unaffected (their email has a link), so they remain
visible/searchable as an audit surface, hidden only from the filter picker.
This commit is contained in:
Keysat
2026-06-16 15:43:30 -05:00
parent def7c9ea6a
commit 6563a7811e
6 changed files with 52 additions and 16 deletions
+18
View File
@@ -0,0 +1,18 @@
import { VersionInfo } from '@start9labs/start-sdk'
// Communications tab is matched-only. Code-only, no schema change (migrations are no-ops):
// * query_email_activity now gates on EXISTS(email_investor_links), so the admin
// email-activity panel surfaces ONLY email that links to a known investor/contact.
// Unmatched cold/unknown-sender email is still captured (metadata-only) but never shown.
// * Graveyard investors are unaffected (their email has a link) — still hidden from the
// picker but visible/searchable as an audit surface.
export const v_0_1_0_81 = VersionInfo.of({
version: '0.1.0:81',
releaseNotes: {
en_US: [
'The Communications tab now shows only email matched to a known investor or contact.',
'Unmatched cold/unknown-sender email is captured but no longer surfaced. No data changes.',
].join(' '),
},
migrations: { up: async () => {}, down: async () => {} },
})