Repository navigation
Fiber Dev Log 2026-10-29 #1712
chenyukang
started this conversation in
Dev Log
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Updates
October 14–28, 2026
This cycle brings more reliable peer reconnects, a cleaner shutdown for browser nodes, and a new storage option for native nodes. Channel V2 is now ready for review. Hosted LSP work is also moving forward, with signing notifications for external clients.
The completed core changes below have merged into
develop, but are not yet part of a published Fiber release. v0.10.0-rc1 is still a prerelease and does not support upgrading an existing database.Features
Optional synchronous storage writes
Native node operators can now enable
fiber.store_sync_writes. With this setting on, Fiber waits for database writes to sync to disk. It works with both RocksDB and SQLite, including during startup migrations.The option gives operators more control over write durability, at the cost of throughput. It is off by default. When enabled, it uses synchronous writes in RocksDB or SQLite's
FULLsynchronization mode. Operators can set it through the configuration file, command line, or an environment variable.Commitment-lock update on Testnet
An updated commitment-lock contract went live on CKB Testnet on October 21. This is the script used for on-chain channel settlement.
The deployed binary matches the checksum recorded in
fiber-scripts. The contract is now available for testnet integration work, although the PR documenting the deployment is still open.Improvements & Fixes
More consistent reconnect handling
Fiber now clears deferred peer payment updates when a connection drops. After reconnecting, the peer can replay those updates and rebuild the queue. This prevents the same deferred update from being processed twice and helps interrupted payment exchanges resume.
Legacy V1 channels also have a new fallback for stalled updates. If an update remains stuck beyond the peer-response timeout, a watchdog uses the existing force-close path to move the channel toward on-chain settlement. V1's signing protocol stays the same.
Invoice validation follows the node’s network
Fiber now checks an outgoing invoice's network before creating payment state. The check applies to both
send_paymentandsend_payment_with_router, even during dry runs.If the invoice doesn't match the payer node's configured CKB network, the application receives a clear error. This makes configuration mistakes easier to catch before a payment attempt.
Developer Experience
Browser shutdown waits for database work
Calling
await fiber.stop()now waits for accepted API calls, actor shutdown, background database work, and IndexedDB transactions to finish. Only then does Fiber close the database and terminate its workers.Once the call succeeds, an application can export that instance's database without an extra flush step. Any other instances using the same database must be stopped too. If shutdown fails or times out, the call rejects. This lets applications tell a complete shutdown from a forced worker termination.
A clearer multi-hop payment walkthrough
The interactive multi-hop tutorial now puts the full payment flow on one page. It walks developers through sender and receiver setup, channel liquidity, invoice creation, and payment confirmation.
Saved browser-node profiles can be reused. The tutorial also prevents two tabs from running the same profile at once.
Payment recovery is easier to follow, too. The example saves a payment's identity before sending it. After a reload or an uncertain response, it checks that payment's status. A separate return payment restores receiving liquidity.
The interface now shows the actual routing fee alongside the configured maximum. Both the code walkthrough and downloadable project reflect these changes, giving developers a fuller browser payment example.
In Pipeline
Hosted LSP signing notifications
The open Hosted LSP branch adds WebSocket subscriptions for channel and watchtower signing requests. On subscription, a client receives pending requests. It then gets updates as their signing status changes, so it doesn't need to poll as often.
The work includes a dedicated WebSocket listener, browser-compatible authentication, and updated RPC documentation. After reconnecting, a client must subscribe again to retrieve pending requests. Signatures are still submitted through the existing RPCs.
This work has not merged yet.
Channel V2 moves into review
Channel V2 was marked ready for review on October 27. New work batches eligible queued payment updates into one commitment after an acknowledgement, while checking channel limits for each update. This allows waiting updates to share a commitment exchange instead of handling each one in a separate round.
The branch also adds further recovery work and regression coverage. Review and performance validation continue, and Channel V2 remains unmerged.
All reactions