Skip to content

Latest commit

 

History

History
121 lines (95 loc) · 4.38 KB

File metadata and controls

121 lines (95 loc) · 4.38 KB

Changelog

All notable changes to codex-sync will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.9] - 2025-01-23

Changed

  • Updated GitHub repository URL to github.com/waynesutton/codex-sync-plugin
  • Updated Opensync Ecosystem table with all 5 plugins including droid-sync
  • Updated Links and Related Plugins sections with GitHub and npm links

[1.0.8] - 2025-01-23

Fixed

  • Fixed ArgumentValidationError for "developer" role
    • Codex CLI sends "developer" role which wasn't in OpenSync's allowed roles
    • Added mapRole() helper to convert all roles to valid backend values
    • developer -> system (semantically similar to system instructions)
    • tool, function, and other unknown roles -> unknown
  • Made ParsedMessage.role type more flexible to handle any Codex CLI role

[1.0.7] - 2025-01-23

Fixed

  • Fixed token counts showing as 0 in OpenSync dashboard
    • Session data now sends promptTokens and completionTokens (not inputTokens/outputTokens)
    • Field names now match OpenSync backend schema exactly
  • Fixed message content appearing empty
    • Added flexible content extraction to handle different Codex CLI formats
    • Now handles OutputText, output_text, text content types
    • Case-insensitive type matching for better compatibility
  • Added provider and durationMs fields to session data

Changed

  • SyncSessionData fields renamed to match backend:
    • inputTokens -> promptTokens
    • outputTokens -> completionTokens
    • Removed totalTokens (backend calculates from prompt + completion)
    • Removed startedAt/endedAt (replaced with durationMs)

[1.0.6] - 2025-01-23

Fixed

  • Fixed messages not syncing to OpenSync database
    • Message data now matches backend messages:upsert mutation schema
    • Added required externalId field to all messages (was causing ArgumentValidationError)
    • Changed sessionId to sessionExternalId to match backend
    • Changed content to textContent to match backend
  • Fixed sessions showing as "Untitled"
    • Added title field extracted from first user message
  • Fixed CLI version always showing 1.0.0
    • Version now reads from package.json dynamically
    • User-Agent header also uses dynamic version

Changed

  • SyncMessageData type updated to match OpenSync backend schema
  • SyncSessionData now includes optional title field

[1.0.5] - 2025-01-22

Fixed

  • Fixed project names showing as full paths
    • Now extracts folder name from cwd path (e.g., /Users/.../todo6 becomes todo6)
    • Matches opencode-sync-plugin behavior

[1.0.4] - 2025-01-22

Fixed

  • Fixed 0 tokens showing in synced sessions
    • Token counts are cumulative in Codex CLI - now extracts the highest/last value
    • Early token_count events with info: null are properly skipped
  • Fixed model extraction to use turn_context events
    • Model field (e.g., gpt-5.2-codex) not in session_meta but in turn_context
    • Parser now correctly extracts model from turn_context payload

[1.0.3] - 2025-01-22

Fixed

  • Fixed "Cannot read properties of null (reading 'total_token_usage')" error
    • Added null checks for token usage parsing in sessions without token data
    • Sessions with missing token info now sync without crashing

[1.0.2] - 2025-01-22

Fixed

  • Fixed HTTP 404 connection errors by normalizing Convex URLs
    • Users enter .convex.cloud but HTTP endpoints are on .convex.site
    • Added normalizeConvexUrl() helper to automatically convert URLs

Added

  • Added Upgrading section to README

[1.0.1] - 2025-01-22

Added

  • Minor documentation updates

[1.0.0] - 2025-01-22

Added

  • Initial release
  • CLI commands: login, logout, setup, verify, synctest, sync, status, config, set
  • Codex CLI notify hook integration
  • JSONL session file parser
  • OpenSync API client
  • Token usage extraction and cost calculation
  • Support for gpt-5-codex, gpt-5, gpt-5-pro, gpt-4.1 models
  • Environment variable configuration
  • Debug mode for troubleshooting
  • Comprehensive documentation

Features

  • Automatic sync on agent-turn-complete events
  • Manual sync with --all and --limit options
  • Session metadata extraction (model, tokens, timestamps)
  • Message parsing (user, assistant, tool)
  • Tool call and result tracking
  • Cost estimation based on model pricing