Unification polish: LinkedIn in the grid inline contact editor (v0.1.0:54)
The fundraising grid's per-contact editor now has a LinkedIn URL field next to name, email, title, and location. It threads through the grid contact object and sanitize (which preserves contact-object fields), and _upsert_contact_from_fundraising now reads and persists linkedin_url on both the update and insert paths — so a LinkedIn entered in the grid lands on the linked contact record. Test: test_grid_contact_link.py extended to assert LinkedIn entered in the grid persists to the contact (idempotent). Frontend html.parser clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -18,8 +18,9 @@ export const PACKAGE_TITLE = 'Ten31 Database'
|
||||
// * 0.1.0:50 (Set Anthropic API Key UI action — no terminal needed)
|
||||
// * 0.1.0:51 (entity-resolution fix: people double-count + duplicate queue)
|
||||
// * 0.1.0:52 (grid/contacts unification: contact_id link + grid as front door)
|
||||
// * Current: 0.1.0:53 (seed v5 thesis into the Architect Workshop)
|
||||
export const PACKAGE_VERSION = '0.1.0:53'
|
||||
// * 0.1.0:53 (seed v5 thesis into the Architect Workshop)
|
||||
// * Current: 0.1.0:54 (unification polish: LinkedIn in grid inline contact editor)
|
||||
export const PACKAGE_VERSION = '0.1.0:54'
|
||||
|
||||
export const DATA_MOUNT_PATH = '/data'
|
||||
export const WEB_PORT = 8080
|
||||
|
||||
@@ -14,8 +14,9 @@ import { v_0_1_0_50 } from './v0.1.0.50'
|
||||
import { v_0_1_0_51 } from './v0.1.0.51'
|
||||
import { v_0_1_0_52 } from './v0.1.0.52'
|
||||
import { v_0_1_0_53 } from './v0.1.0.53'
|
||||
import { v_0_1_0_54 } from './v0.1.0.54'
|
||||
|
||||
export const versionGraph = VersionGraph.of({
|
||||
current: v_0_1_0_53,
|
||||
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52],
|
||||
current: v_0_1_0_54,
|
||||
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52, v_0_1_0_53],
|
||||
})
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
// Grid/contacts unification polish: richer inline contact entry. The fundraising
|
||||
// grid's per-contact editor now includes a LinkedIn field alongside name, email,
|
||||
// title, and location; it persists to the contact record through the existing
|
||||
// grid→contacts sync. No schema migration.
|
||||
export const v_0_1_0_54 = VersionInfo.of({
|
||||
version: '0.1.0:54',
|
||||
releaseNotes: {
|
||||
en_US: [
|
||||
'The fundraising grid can now capture a LinkedIn URL right in the inline contact',
|
||||
'editor (next to name, email, title, and location), saved to the contact record.',
|
||||
'Richer entry without leaving the grid.',
|
||||
].join(' '),
|
||||
},
|
||||
migrations: { up: async () => {}, down: async () => {} },
|
||||
})
|
||||
Reference in New Issue
Block a user