qora_devtools_extension 0.2.0
qora_devtools_extension: ^0.2.0 copied to clipboard
Runtime VM service bridge for Qora DevTools. Publishes query and mutation events via developer.postEvent and registers ext.qora.* VM extensions for the DevTools inspector panel.
Changelog #
All notable changes to this project will be documented in this file.
[Unreleased] #
0.2.0 - 2026-03-12 #
Added #
VmTracker.onQueryRemoved()— implements the newQoraTrackerhook; emits aQueryEvent(type: removed)to the DevTools UI so the query row is evicted from the cache inspector immediately.VmTracker.onQueryMarkedStale()— implements the newQoraTrackerhook; emits aQueryEvent(type: updated, status: 'stale')so the DevTools UI shows the stale indicator without implying an active fetch.VmTracker.onQueryFetching()— records the fetch start timestamp (ms since epoch) per query key in an internal_fetchStartTimesmap; cleared indispose().VmTracker.onQueryFetched()— now computesfetchDurationMsby diffing the recorded start time against the completion time and includes it in the emittedQueryEvent.fetched.
0.1.0 - 2026-02-28 #
Added #
- Initial implementation of the Qora runtime DevTools bridge.
- Added public package entrypoint exports for:
- tracker (
VmTracker), - command gateway (
TrackingGateway), - VM extension registration/handlers,
- lazy payload modules.
- tracker (
- Added VM event publisher:
VmEventPusherwrappingdeveloper.postEvent.
- Added tracker implementation:
VmTrackerimplementingQoraTracker,- bounded in-memory ring buffer for recent events,
- query/mutation/cache/optimistic lifecycle event emission,
- lazy payload metadata generation for large query results.
- Added lazy payload infrastructure:
PayloadChunkerfor split/join operations,PayloadStorewith TTL + LRU + byte budget eviction,LazyPayloadManagerfor chunked JSON retrieval.
- Added VM extension command flow:
ExtensionHandlersfor refetch/invalidate/rollback/snapshot/payload chunk,ExtensionRegistrarfor registeringext.qora.*methods,- compatibility alias for legacy
ext.qora.getPayload.
- Updated package config:
- migrated to Dart-only package shape,
- added
testdev dependency and removed Flutter runtime dependency.
- Added unit tests for lazy payload handling and tracker buffer behavior.