Files
codex/codex-rs/state/migrations/0045_threads_section.sql
joeytrasatti-openai 85c6da1c79 Add persisted sections for organizing threads (#35722)
## What changed

- Replace the `isPinned` thread metadata and filters with an optional persisted
  `section` and `sectionId`.
- Add the paginated `threadSection/list` app-server method so clients can
  discover sections even when they contain no threads.
- Seed a stable `Pinned` section, validate section assignments, and support
  filtering for a specific section or for unsectioned threads.

## Testing

- Cover section protocol serialization, listing and pagination, metadata
  updates, filtering, persistence, migration compatibility, and operation
  without SQLite state.

GitOrigin-RevId: 7972b5471d29317b9387bfd90aa9f573f691ad4c
2026-07-28 05:26:16 +00:00

15 lines
471 B
SQL

CREATE TABLE thread_sections (
id TEXT PRIMARY KEY,
name TEXT NOT NULL
);
INSERT INTO thread_sections (id, name)
VALUES ('01984de2-8f74-7c91-a3b2-5c5e937cf318', 'Pinned');
ALTER TABLE threads ADD COLUMN thread_section_id TEXT
REFERENCES thread_sections(id) ON DELETE SET NULL;
CREATE INDEX idx_threads_section_recency_at_ms
ON threads(archived, thread_section_id, recency_at_ms DESC, id DESC)
WHERE thread_section_id IS NOT NULL AND preview <> '';