Skip to content

Commit 34d1d36

Browse files
committed
update: changelog format updated
1 parent 109cee9 commit 34d1d36

1 file changed

Lines changed: 75 additions & 114 deletions

File tree

changelog.md

Lines changed: 75 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

77
## [Unreleased]
88

9+
## [1.0.0] - 2025-01-21
10+
911
### Added
1012

1113
- droid-sync community plugin to README Ecosystem (syncs Factory Droid sessions)
@@ -20,7 +22,6 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
2022
- Dashboard and Evals pages filter dropdown options based on Settings preferences
2123
- Backward compatible: defaults to OpenCode and Claude Code for existing users
2224
- Disabling an agent hides it from dropdown but doesn't affect data
23-
2425
- "Syncs with" section on Login page showing supported CLI tools (OpenCode, Claude Code, Droid, Cursor)
2526
- Theme-aware icons that switch between dark/light variants
2627
- Cursor shown with "coming soon" badge
@@ -36,116 +37,28 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
3637
- Matches dark mode (zinc-900/zinc-800) and tan mode (cream/tan) design system
3738
- Click outside to close, Escape key support, chevron rotation animation
3839
- Proper hover and active states for both themes
39-
40-
### Changed
41-
42-
- Homepage (/) is now public: logged-in users see "Go to Dashboard" button instead of auto-redirect
43-
- Logged-in users can visit homepage while staying authenticated
44-
- OAuth callback now redirects to /dashboard instead of / after sign-in
45-
- Removed auto-redirect from LoginPage when authenticated
46-
- Settings back link now navigates to /dashboard instead of homepage
47-
48-
### Fixed
49-
50-
- Fixed production logout on page refresh by setting AuthKit devMode to true (avoids third-party cookie blocking)
51-
- Simplified ProtectedRoute to use Convex auth as single source of truth
52-
- Added 500ms spinner delay to avoid loading flash on fast auth checks
53-
- Added 5-second timeout to handle Safari infinite loading issue
54-
55-
### Added
56-
5740
- Docs page search with instant typeahead results and keyboard navigation
5841
- Search indexes all sections, subsections, and keywords for quick lookup
5942
- Cmd/Ctrl+K keyboard shortcut to focus search on Docs page
6043
- Search navigates directly to section via hash anchor
6144
- Search available in header (desktop) and sidebar (mobile)
62-
63-
### Fixed
64-
65-
- Fixed write conflicts in messages:upsert, sessions:upsert, and embeddings:store mutations
66-
- Added 5-10 second dedup windows to prevent rapid updates causing OCC conflicts
67-
- Refactored messages:upsert to combine session patches into single write operation
68-
- Added Promise.all for parallel parts deletion/insertion to reduce conflict windows
69-
- Created batch mutations (batchUpsert) for sessions and messages to reduce /sync/batch conflicts
70-
- Updated embeddings:store to use replace pattern instead of delete+insert
71-
- Added idempotency checks with early returns when no meaningful changes detected
72-
73-
### Added
74-
7545
- Real-time Platform Stats leaderboard on Login/homepage with Top Models and Top CLI boxes
7646
- Top CLI shows sources (OpenCode, Claude Code, Cursor, Droid, Codex, Amp) sorted by session count
7747
- No loading spinner (Convex real-time updates appear instantly)
7848
- Public platform stats API query (publicPlatformStats, no auth required) for aggregate platform metrics
7949
- Discord community icon in Login page footer (links to convex.dev/community)
8050
- Support icon in Login page footer (links to GitHub issues page)
8151
- Discussions icon in Login page footer (links to GitHub Discussions)
82-
83-
### Fixed
84-
85-
- Fixed provider display showing "unknown" for antigravity-oauth and anthropic-oauth sessions (fixes #2)
86-
- Added inferProvider helper to derive provider from model name when provider field is missing
87-
- Applied provider inference consistently in providerStats, sessionsWithDetails query, and filter logic
88-
- Fixed auth session persistence: users no longer need to sign in again on page refresh (fixes #1)
89-
- Added dedicated CallbackHandler component for OAuth callback processing with 10s timeout
90-
- Added return-to URL preservation so users are redirected to their intended route after sign-in
91-
- Added devMode config to AuthKitProvider for proper production session handling
92-
- Improved callback flow: waits for both WorkOS and Convex auth to complete before redirecting
93-
- Added /dashboard route as alias to root dashboard
94-
- Added /profile route that shows Settings page with profile tab auto-selected and expanded
95-
96-
### Added
97-
9852
- Slide-over panel for Context search results (click result to preview session without navigating away)
9953
- Session details panel with full message thread, syntax highlighting, copy/download actions
10054
- Message highlighting when clicking message search results (scrolls to and highlights the specific message)
10155
- "Open in Dashboard" button in slide-over to navigate to full dashboard view with session pre-selected
10256
- Deep linking support in Dashboard: reads ?session= URL param to auto-select session and switch to Sessions tab
10357
- Cmd/Ctrl+K keyboard shortcut on Dashboard navigates to Context search page
104-
105-
### Fixed
106-
107-
- Fixed tan mode text contrast in Context search slide-over panel (explicit dark text colors for readability)
108-
- Escape key and backdrop click to close slide-over panel
109-
- Watch the demo link on Login page CTA section (links to X demo video)
110-
- 100% local deployment instructions in OPENSYNC-SETUP.md docs (Convex local backend with Docker)
111-
- 100% local deployment section in Docs page (/docs#requirements-local) with step-by-step instructions
112-
- Links to opencode.ai and claude.ai in Docs page hero and plugin sections
113-
- Trust message on Login page now mentions cloud version and links to local docs (/docs#requirements)
114-
- install.md file for AI agent installation following installmd.org spec (self-hosting setup instructions)
115-
- Collapsible Profile section in Settings page (collapsed by default for privacy during demos/recordings)
116-
- Theme toggle (dark/tan mode) on public session page (/s/:slug)
117-
- Mobile-optimized Dashboard: responsive header, filter bars, session rows with stacked layout on small screens
118-
- Mobile Context icon in header nav (visible only on mobile for quick access to search)
119-
120-
### Fixed
121-
122-
- Fixed Getting Started section on Login page not showing on mobile (was hidden with dashboard preview)
123-
- Fixed setup banner flash on dashboard refresh: banner now waits for data to load before showing
124-
- Fixed delete account not removing Convex data: changed deletion order to delete Convex data first, then WorkOS
125-
- Fixed delete account redirecting to WorkOS logout URL instead of homepage: replaced signOut() with direct redirect
126-
- Fixed public sessions not showing all data: added content normalization helpers for multi-plugin support
127-
- Fixed public sessions missing textContent fallback when parts array has no displayable content
128-
- Added tool-result part type rendering to public sessions (was missing)
129-
130-
### Changed
131-
132-
- Removed user email from dropdown menus across all pages (Dashboard, Context, Evals, Header) for cleaner UX
133-
- Removed search bar from Dashboard header, added search icon to Context link for cleaner UX
134-
- Search functionality consolidated into dedicated Context page (/context)
135-
- Login page now supports tan mode theme with icon-only theme switcher in bottom right footer
136-
- Login page mockup updated: view tabs (overview/sessions/evals/analytics), 4 stats (sessions/tokens/cost/duration), OC/CC source badges on sessions
137-
- Login page tagline now mentions eval datasets: "Build eval datasets across projects"
138-
- Login page feature list updated: added Tag feature for eval organization, improved keyword colors for better contrast in dark mode
139-
- Trust message and plugin link text improved for readability in dark mode (zinc-400 to zinc-100)
140-
- Docs page sidebar and main content now use hidden scrollbar for cleaner UI
141-
142-
### Added
143-
14458
- Page-specific theme defaults configuration (PAGE_THEME_DEFAULTS) in theme.tsx
14559
- usePageTheme hook to apply different default themes per page (login: dark, dashboard: tan)
14660
- PageType type for type-safe page identifiers (login, dashboard, docs, settings, default)
14761
- getPageDefaultTheme helper function for retrieving page-specific defaults
148-
14962
- Comprehensive documentation page with Mintlify-style UI
15063
- Left sidebar navigation with collapsible sections and anchor tags
15164
- Right table of contents for on-page navigation
@@ -157,14 +70,11 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
15770
- Documentation sections: Use Hosted Version, Requirements, Quick Start, Dashboard Features, OpenCode Plugin, Claude Code Plugin, API Reference, Search Types, Authentication, Hosting, Fork Guide, Troubleshooting, FAQ
15871
- Mobile responsive design with slide-out sidebar
15972
- Theme support for both dark and tan modes
160-
16173
- GitHub icon link in Login page footer (bottom left, links to opensync repo)
162-
16374
- Setup banner on Dashboard Overview for new users with no synced data
16475
- Banner links to opencode-sync-plugin and claude-code-sync repos with npm install commands
16576
- Dismissible banner with X button, state persists in localStorage
16677
- Theme switcher on Login page footer (Sun/Moon icon, no text labels)
167-
16878
- Delete synced data option in Settings (removes all sessions, messages, embeddings while keeping account)
16979
- Delete account option in Settings (calls WorkOS API to delete user, removes all Convex data)
17080
- Danger Zone section in Profile tab with confirmation modals for destructive actions
@@ -220,28 +130,22 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
220130
- New stat cards with icons for token breakdown (prompt, completion, total, messages, duration)
221131
- Projects Overview filtering (search, min sessions, min tokens) with sortable columns
222132

223-
### Fixed
224-
225-
- Fixed Claude Code session content rendering with empty blocks
226-
- Added content normalization helpers to handle different part formats (string vs `{ text: "..." }` vs `{ content: "..." }`)
227-
- SessionViewer now properly extracts text content from all plugin formats
228-
- Added fallback to `message.textContent` when parts have no displayable content
229-
- Updated markdown export, API export, and context functions with same content normalization
230-
- Fixed searchable text extraction in message upsert for better full-text search on Claude Code sessions
231-
- Enhanced embedding generation to use parts content as fallback when textContent is empty
232-
- Fixed session persistence on page refresh with improved token refresh logic and retry mechanism
233-
- Auth sync now retries up to 3 times with proper state management to prevent infinite loops
234-
- Added 5-second timeout on session sync in ProtectedRoute to prevent stuck loading states
235-
- Removed devMode dependency for session persistence (works in both dev and production)
236-
- Fixed Tokens/Cost/Duration table header alignment in sessions view
237-
- Fixed markdown download with sanitized filenames and date timestamps
238-
- Added loading state to download button when markdown is being fetched
239-
- Fixed markdown export to include message content from parts and textContent fallback
240-
- Fixed Consumption Breakdown filters to actually filter model/project stats
241-
- Fixed StackedBarChart height rendering with proper flex layout and minHeight values
242-
243133
### Changed
244134

135+
- Homepage (/) is now public: logged-in users see "Go to Dashboard" button instead of auto-redirect
136+
- Logged-in users can visit homepage while staying authenticated
137+
- OAuth callback now redirects to /dashboard instead of / after sign-in
138+
- Removed auto-redirect from LoginPage when authenticated
139+
- Settings back link now navigates to /dashboard instead of homepage
140+
- Removed user email from dropdown menus across all pages (Dashboard, Context, Evals, Header) for cleaner UX
141+
- Removed search bar from Dashboard header, added search icon to Context link for cleaner UX
142+
- Search functionality consolidated into dedicated Context page (/context)
143+
- Login page now supports tan mode theme with icon-only theme switcher in bottom right footer
144+
- Login page mockup updated: view tabs (overview/sessions/evals/analytics), 4 stats (sessions/tokens/cost/duration), OC/CC source badges on sessions
145+
- Login page tagline now mentions eval datasets: "Build eval datasets across projects"
146+
- Login page feature list updated: added Tag feature for eval organization, improved keyword colors for better contrast in dark mode
147+
- Trust message and plugin link text improved for readability in dark mode (zinc-400 to zinc-100)
148+
- Docs page sidebar and main content now use hidden scrollbar for cleaner UI
245149
- Overview layout: Usage Overview section moved above Recent Sessions, Token Usage and Model Distribution moved to bottom
246150
- Removed EnvStatus debug component from login page footer (cleaner production UI)
247151
- Removed Daily Activity chart from Analytics view (replaced with more detailed metrics)
@@ -271,8 +175,65 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
271175
- Plugins accept both `.convex.cloud` and `.convex.site` URL formats
272176
- No browser authentication required for plugins
273177

274-
### Fixed (Build and Deployment)
178+
### Fixed
275179

180+
- Fixed production logout on page refresh by setting AuthKit devMode to true (avoids third-party cookie blocking)
181+
- Simplified ProtectedRoute to use Convex auth as single source of truth
182+
- Added 500ms spinner delay to avoid loading flash on fast auth checks
183+
- Added 5-second timeout to handle Safari infinite loading issue
184+
- Fixed write conflicts in messages:upsert, sessions:upsert, and embeddings:store mutations
185+
- Added 5-10 second dedup windows to prevent rapid updates causing OCC conflicts
186+
- Refactored messages:upsert to combine session patches into single write operation
187+
- Added Promise.all for parallel parts deletion/insertion to reduce conflict windows
188+
- Created batch mutations (batchUpsert) for sessions and messages to reduce /sync/batch conflicts
189+
- Updated embeddings:store to use replace pattern instead of delete+insert
190+
- Added idempotency checks with early returns when no meaningful changes detected
191+
- Fixed provider display showing "unknown" for antigravity-oauth and anthropic-oauth sessions (fixes #2)
192+
- Added inferProvider helper to derive provider from model name when provider field is missing
193+
- Applied provider inference consistently in providerStats, sessionsWithDetails query, and filter logic
194+
- Fixed auth session persistence: users no longer need to sign in again on page refresh (fixes #1)
195+
- Added dedicated CallbackHandler component for OAuth callback processing with 10s timeout
196+
- Added return-to URL preservation so users are redirected to their intended route after sign-in
197+
- Added devMode config to AuthKitProvider for proper production session handling
198+
- Improved callback flow: waits for both WorkOS and Convex auth to complete before redirecting
199+
- Added /dashboard route as alias to root dashboard
200+
- Added /profile route that shows Settings page with profile tab auto-selected and expanded
201+
- Fixed tan mode text contrast in Context search slide-over panel (explicit dark text colors for readability)
202+
- Escape key and backdrop click to close slide-over panel
203+
- Watch the demo link on Login page CTA section (links to X demo video)
204+
- 100% local deployment instructions in OPENSYNC-SETUP.md docs (Convex local backend with Docker)
205+
- 100% local deployment section in Docs page (/docs#requirements-local) with step-by-step instructions
206+
- Links to opencode.ai and claude.ai in Docs page hero and plugin sections
207+
- Trust message on Login page now mentions cloud version and links to local docs (/docs#requirements)
208+
- install.md file for AI agent installation following installmd.org spec (self-hosting setup instructions)
209+
- Collapsible Profile section in Settings page (collapsed by default for privacy during demos/recordings)
210+
- Theme toggle (dark/tan mode) on public session page (/s/:slug)
211+
- Mobile-optimized Dashboard: responsive header, filter bars, session rows with stacked layout on small screens
212+
- Mobile Context icon in header nav (visible only on mobile for quick access to search)
213+
- Fixed Getting Started section on Login page not showing on mobile (was hidden with dashboard preview)
214+
- Fixed setup banner flash on dashboard refresh: banner now waits for data to load before showing
215+
- Fixed delete account not removing Convex data: changed deletion order to delete Convex data first, then WorkOS
216+
- Fixed delete account redirecting to WorkOS logout URL instead of homepage: replaced signOut() with direct redirect
217+
- Fixed public sessions not showing all data: added content normalization helpers for multi-plugin support
218+
- Fixed public sessions missing textContent fallback when parts array has no displayable content
219+
- Added tool-result part type rendering to public sessions (was missing)
220+
- Fixed Claude Code session content rendering with empty blocks
221+
- Added content normalization helpers to handle different part formats (string vs `{ text: "..." }` vs `{ content: "..." }`)
222+
- SessionViewer now properly extracts text content from all plugin formats
223+
- Added fallback to `message.textContent` when parts have no displayable content
224+
- Updated markdown export, API export, and context functions with same content normalization
225+
- Fixed searchable text extraction in message upsert for better full-text search on Claude Code sessions
226+
- Enhanced embedding generation to use parts content as fallback when textContent is empty
227+
- Fixed session persistence on page refresh with improved token refresh logic and retry mechanism
228+
- Auth sync now retries up to 3 times with proper state management to prevent infinite loops
229+
- Added 5-second timeout on session sync in ProtectedRoute to prevent stuck loading states
230+
- Removed devMode dependency for session persistence (works in both dev and production)
231+
- Fixed Tokens/Cost/Duration table header alignment in sessions view
232+
- Fixed markdown download with sanitized filenames and date timestamps
233+
- Added loading state to download button when markdown is being fetched
234+
- Fixed markdown export to include message content from parts and textContent fallback
235+
- Fixed Consumption Breakdown filters to actually filter model/project stats
236+
- Fixed StackedBarChart height rendering with proper flex layout and minHeight values
276237
- Fixed "Session not found" error when messages sync before their sessions (auto-creates session)
277238
- Fixed Netlify build errors for TypeScript compilation
278239
- Added `src/vite-env.d.ts` for Vite client types (import.meta.env)
@@ -296,7 +257,7 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
296257
- Updated CLAUDE-CODE-PLUGIN.md with API Key authentication and CLI commands
297258
- Updated SETUP.md Step 9 and data flow diagram for API Key auth
298259

299-
## [0.1.0] - 2026-01-17
260+
## [0.1.0] - 2025-01-17
300261

301262
Initial release.
302263

0 commit comments

Comments
 (0)