When exporting conversations from a project, the zip filename becomes
chatgpt-export-{format}-project-{normalized-name}.zip instead of the
generic chatgpt-export-{format}.zip.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
With 400+ conversations the old code made 4+ sequential requests and
only rendered anything after all of them completed, freezing the dialog
for 10+ seconds with no interactable elements.
- Add optional `onBatch` callback to `fetchAllConversations` that fires
after each page arrives, so callers can react incrementally
- Wire `onBatch` in ExportDialog to append each batch to state as it
lands — first 100 conversations appear almost instantly
- Remove `loading` from the `disabled` guard so the user can select and
export already-loaded conversations while remaining pages still fetch
- Show "Loading…" only when the list is empty (initial blank state);
replace with a subtle italic sentinel at the bottom of the list while
subsequent pages are still in flight
- Allow the project selector to be changed at any time during loading
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Project conversations API switched from numeric offsets to opaque
alphanumeric cursors. The old code discarded the cursor and fell back
to offset += limit, so only the first page was ever exported.
- Add `cursor?: string | null` to `ApiConversations` interface
- Update `projectConversationsApi` to accept `string | number` cursor
- Expose the API-returned cursor in `fetchProjectConversations`
- Use cursor-based advancement in `fetchAllConversations` for project
requests, with numeric offset fallback for regular conversations
- Add early-exit guard when API returns neither total nor next cursor
Closes#341
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add support for alt_text content reference type (entity mentions)
- Fix Unicode normalization to include non-breaking hyphens and preserve newlines
- Render citations as inline links instead of footnotes
- Include all sources for multi-citations
- Fix HTML exporter to retain links instead of stripping them
Add support for getting project list. OpenAI
calls these 'gizmos' and they include custom GPTs
and other apps.
Only projects are supported for now.
Add project selection box in Export All dialog.