300041a7ec
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>
18 lines
750 B
TypeScript
18 lines
750 B
TypeScript
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 () => {} },
|
|
})
|