docs: update session persistence file-locking docs for graceful fcntl-missing degradation#490
Conversation
…-missing degradation (fixes #488) - Update Cross-Platform Support section in persistence-json.mdx - Add fourth platform row for Pyodide/WASM/embedded environments - Update Mermaid diagram to show graceful degradation path - Add Note callout with exact warning message text - Update Multi-Process Safety section in session-persistence.mdx - Add Warning callout for fcntl unavailable scenarios - Document single-process only behavior for exotic environments Reflects changes from PraisonAI PR #1792 that improved fcntl import handling with try/except ImportError for better cross-platform compatibility. Co-authored-by: Mervin Praison <MervinPraison@users.noreply.github.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Warning Review limit reached
More reviews will be available in 51 minutes and 15 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the documentation to describe how the session store behaves on platforms where file locking is unavailable (such as Pyodide or WASM), detailing the fallback to single-process mode and the logging of a one-time warning. The review comments correctly identify that the documented warning text in both files does not match the actual warning logged in the SDK code ("File locking unavailable on this platform (no fcntl/msvcrt); concurrent writers may corrupt session files.") and should be updated for accuracy.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| locking — single-process usage remains safe, but concurrent writers may | ||
| corrupt session files. The exact warning text is: | ||
|
|
||
| `File locking unavailable on this platform (fcntl not available); concurrent writers may corrupt session files.` |
There was a problem hiding this comment.
The documented warning text does not match the actual warning logged in the SDK code. In praisonaiagents/session/store.py, the warning message is: "File locking unavailable on this platform (no fcntl/msvcrt); concurrent writers may corrupt session files." Please update the documentation to match the exact warning text for better searchability/grep-ability.
| <Warning> | ||
| If `fcntl` is unavailable at import time, the store logs this warning **once** the first time `FileLock.acquire()` is called: | ||
|
|
||
| `File locking unavailable on this platform (fcntl not available); concurrent writers may corrupt session files.` |
There was a problem hiding this comment.
The documented warning text does not match the actual warning logged in the SDK code. In praisonaiagents/session/store.py, the warning message is: "File locking unavailable on this platform (no fcntl/msvcrt); concurrent writers may corrupt session files." Please update the documentation to match the exact warning text for better searchability/grep-ability.
Summary
Updates documentation to reflect the graceful fcntl-missing degradation changes from PraisonAI PR #1792:
Updated Cross-Platform Support section in docs/features/persistence-json.mdx
Updated Multi-Process Safety section in docs/features/session-persistence.mdx
Key Changes
Test Plan
Fixes #488
Generated with Claude Code