Add PLANNOTATOR_SHARE_URL env var so users can point share links at
their own self-hosted portal instance instead of share.plannotator.ai.
Threads the base URL through the same path as sharingEnabled: env var →
server options → API response → editor state → useSharing hook →
generateShareUrl(). Includes self-hosting guide and documentation.
Closes#12
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add import teammate review from share link
Adds the ability to import annotations from a teammate's plannotator
share URL into the current plan review session.
- New ImportModal component with URL input, validation, and feedback
- importFromShareUrl() in useSharing hook: decodes share link,
deserializes annotations, deduplicates, and merges into session
- Import button in header toolbar (visible when sharing is enabled)
Workflow: teammate shares their annotated plan via share link,
user clicks Import, pastes the URL, annotations are merged in.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: cleanup auto-close timer and deduplicate global attachments on import
- Clear auto-close setTimeout when user manually closes ImportModal
(prevents orphaned callback from firing after unmount)
- Deduplicate global attachment paths on import to prevent duplicates
when importing the same share link twice
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: move import button into export dropdown menu
Move "Import Review" from a standalone header button into the export
dropdown, separated by a divider. Reduces header clutter.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: razb <razb@voyager-labs.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Michael Ramos <mdramos8@gmail.com>