test: close remaining oracle contract and native execution gaps
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- nodejs, sqlite, tauri, typescript
- Área
- databases, desktop-dev, mobile-dev, testing
Línea de trabajo
Comienza con el trabajo sobre los oráculos acotados de #1808 y #1816, y después revisa los IDs de auditoría A05, R8 y R10, además del manifiesto persistido de 113 leyes. Selecciona un elemento de contrato o de evidencia del host solo después de identificar su historial legal, su ruta de recepción, sus controles, su replay, su limpieza, su entorno y su coste; se considera terminado cuando existe un recibo explícito o una capacidad no compatible documentada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Scope
Follow-up to the bounded oracle repair in #1808 / #1816. Preserve current contracts and useful tests. This is not a mandate to convert all ordinary tests or to add a universal model. Offline persistence/execution policy is owned by #1659.
Contract decisions
- Effect self-disposal. External disposal waits for in-flight handlers. Synchronous disposal inside a handler is allowed. A handler returning independent pending work and a handler awaiting its own disposal are different histories: waiting for the former can deadlock the latter. Choose the public rule before applying the candidate wait. Preserve abort, source release, shared disposal outcome and no post-disposal publications. Existing disposal behavior remains unchanged in #1816.
- Proxy native mutation and symbol writes. Decide Date/typed-array mutator and end-to-end symbol-key support versus a clear rejection. Existing standard live Map/Set iteration and supported detachment must remain. Compare actual stored rows, not just a helper result, and do not erase native edits through cloning. Audit IDs A05 R8/R10.
Real provider and host evidence
- Eight progressive cells: initial explicit snapshot/atomic transition, snapshot loading/swap, multiple snapshot predicates, incremental after swap, predicates during/after snapshot, snapshot dedupe, txid before/after swap, and cleanup/restart during snapshot. Electric's ready hook is after application and cannot prove the pre-publication phase. Use a conforming installed-SDK source gate before application and the original write's actual transaction identity. TrailBase supplies no progressive capability; an early-return pass is not evidence. Preserve existing partial witnesses and make unsupported capabilities explicit.
- 24 Electric move registrations: reconcile exact case execution and content/cleanup results from the service CI artifacts. The current PR's successful E2E job is evidence for the job, not proof of every callback-phase claim. Existing finite helper probes are not service framing evidence.
- Native host matrix: distinguish Node SQLite/PowerSync SDK, browser shims, Capacitor/Tauri app builds and actual device/host runs. The 113-law persisted manifest intentionally excludes progressive/move suites. Expo's native-mode skipped branch and unresolved app-specific type/build/runtime cells need explicit owners and receipts; do not infer them from shared registration tests.
Optional mechanics, after correctness boundaries
- Separate costly guarded-replay subprocess checks into a named campaign while keeping a real default execution smoke and false-target controls. Do not reintroduce progress starvation; yield only between completed histories/tests.
- Evaluate shared Capacitor/Tauri test-runner code only with both host builds and semantic/result-transport controls preserved. Identical text alone is not enough evidence.
- Optional cancellation/readiness corruption calibration, proxy construction-work budgets, and conditional full-payload top-K checks where a new promise requires them. Existing intentionally ID-only laws remain valid.
- An earlier review suggested consolidating three cleanup helpers without naming them. Recover exact targets before deciding; do not merge ownership semantics blindly.
Acceptance
For each selected item: contract source, legal distinguishing history, independently computed observation, real receiving path, positive reach and fault control, exact replay, cleanup evidence, explicit environment and run cost. Keep design decisions separate from reproduced defects. No deletion without a replacement law/path map.
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.9k
- Forks
- 272
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 235
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de TanStack/db
-
Dificultad 3/5 Medio día Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 Medio día Aptitud para principiantes 58/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 5/100
TanStack/db#2139 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
Todos los issues de TanStack/db
Issues similares
-
priority:high
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
immich-app/immich#32426 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue hacktoberfest help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
libredb/libredb-studio#1756 ·
Los mantenedores suelen responder en 1 día
-
state:triage-needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día