Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
496 commits
Select commit Hold shift + click to select a range
995c463
build(examples): register collaboration client and resilience lab pro…
ChrisPulman Sep 24, 2026
e96e8db
test(examples): retain canonical envelope and provenance integration …
ChrisPulman Sep 24, 2026
96039ea
docs(occasionally-connected): refresh remaining acceptance gates
ChrisPulman Sep 24, 2026
b76e96a
Refresh compatibility docs and OC examples
ChrisPulman Sep 24, 2026
eb6bdc1
feat(occasionally-connected): add validated identities and start posi…
ChrisPulman Sep 11, 2026
009049f
feat(occasionally-connected): validate publishing and subscription op…
ChrisPulman Sep 11, 2026
e820396
feat(occasionally-connected): define validated batch limits
ChrisPulman Sep 11, 2026
10b1adf
feat(occasionally-connected): add deterministic endpoint circuit breaker
ChrisPulman Sep 11, 2026
e19c70a
feat(occasionally-connected): add bounded deterministic retry policy
ChrisPulman Sep 11, 2026
4401bd9
fix(occasionally-connected): order retry API documentation tags
ChrisPulman Sep 11, 2026
1e6db53
feat(occasionally-connected): add allowlisted payload serialization
ChrisPulman Sep 11, 2026
fe1c0ac
feat(occasionally-connected): add bounded admission with cancellation…
ChrisPulman Sep 11, 2026
e84f84b
feat(occasionally-connected): add context configuration and bounded d…
ChrisPulman Sep 11, 2026
654efa2
feat(occasionally-connected): add transactional protocol and typed pr…
ChrisPulman Sep 11, 2026
663f145
feat(occasionally-connected): validate capabilities before stream syn…
ChrisPulman Sep 12, 2026
b58d15b
feat(occasionally-connected): isolate bounded observer notification q…
ChrisPulman Sep 12, 2026
8fec40e
feat(occasionally-connected): classify and validate typed diagnostic …
ChrisPulman Sep 12, 2026
46331c4
feat(occasionally-connected): validate typed stream definitions
ChrisPulman Sep 12, 2026
1004f75
feat(occasionally-connected): add deterministic endpoint circuit brea…
ChrisPulman Sep 12, 2026
82a3a2c
fix(ci): stabilize coverage collection and asynchronous test guards
ChrisPulman Sep 12, 2026
d80e896
feat(occasionally-connected): coordinate atomic local stream commits
ChrisPulman Sep 12, 2026
e95865b
feat(occasionally-connected): define persistent subscription identity…
ChrisPulman Sep 12, 2026
d28e12d
feat(occasionally-connected): classify queue capacity rejection
ChrisPulman Sep 12, 2026
e44bdce
feat(occasionally-connected): add server hub convenience overloads
ChrisPulman Sep 12, 2026
f5a669e
feat(occasionally-connected): commit remote batches atomically
ChrisPulman Sep 12, 2026
59ac285
feat(occasionally-connected): persist SQLite subscription identities
ChrisPulman Sep 12, 2026
d50371c
feat(occasionally-connected): define typed remote facade contracts
ChrisPulman Sep 12, 2026
1ebc197
docs(occasionally-connected): align approved operation and projection…
ChrisPulman Sep 12, 2026
00b757b
feat(occasionally-connected): define local-first stream facade contracts
ChrisPulman Sep 12, 2026
fec6d71
feat(occasionally-connected): define context facade contract
ChrisPulman Sep 12, 2026
0ba59ca
feat(occasionally-connected): persist atomic SQLite local commits
ChrisPulman Sep 12, 2026
aaddc75
docs(occasionally-connected): record local feature consolidation work…
ChrisPulman Sep 12, 2026
1def465
fix(occasionally-connected): use configured collection expressions
ChrisPulman Sep 12, 2026
e8b397f
feat(occasionally-connected): persist remote inbox transactions in SQ…
ChrisPulman Sep 12, 2026
7d634a7
docs(occasionally-connected): record consolidated validation and remo…
ChrisPulman Sep 12, 2026
c75baea
feat(occasionally-connected): expose persisted engine operation status
ChrisPulman Sep 12, 2026
8acfd51
feat(occasionally-connected): add bounded synchronous SQLite worker
ChrisPulman Sep 12, 2026
91087dc
feat(occasionally-connected): await durable synchronization outcomes
ChrisPulman Sep 12, 2026
3b75af6
docs(occasionally-connected): record verified waiting and worker stages
ChrisPulman Sep 12, 2026
19080df
feat(occasionally-connected): persist bounded SQLite outbox leases
ChrisPulman Sep 12, 2026
5c021c3
docs(occasionally-connected): record verified SQLite lease stage
ChrisPulman Sep 12, 2026
28c29a2
feat(occasionally-connected): coordinate shared lifecycle transitions
ChrisPulman Sep 12, 2026
e91018c
docs(occasionally-connected): record verified lifecycle coordination
ChrisPulman Sep 12, 2026
defa703
test(occasionally-connected): reproduce startup completion admission …
ChrisPulman Sep 12, 2026
b0623a7
feat(occasionally-connected): add bounded server nonce replay registry
ChrisPulman Sep 12, 2026
a6b7f53
feat(occasionally-connected): persist SQLite operation state and atte…
ChrisPulman Sep 12, 2026
465f551
feat(occasionally-connected): compact SQLite history transactionally
ChrisPulman Sep 12, 2026
086c2b8
feat(occasionally-connected): add bounded in-memory store reference
ChrisPulman Sep 12, 2026
5b656d5
feat(occasionally-connected): expire in-memory inbox records
ChrisPulman Sep 12, 2026
496dd7e
fix(occasionally-connected): require durable local commit capability
ChrisPulman Sep 12, 2026
d038f35
fix(occasionally-connected): bound and capture inbox lookup inputs
ChrisPulman Sep 12, 2026
6e75367
feat(occasionally-connected): add bounded fair stream scheduler
ChrisPulman Sep 12, 2026
1cc4b61
feat(occasionally-connected): expose bounded durable SQLite adapter
ChrisPulman Sep 12, 2026
bb2aa56
feat(occasionally-connected): define server receive acknowledgement b…
ChrisPulman Sep 12, 2026
06c95fd
feat(occasionally-connected): order competing server write stamps det…
ChrisPulman Sep 12, 2026
36f2787
feat(occasionally-connected): fingerprint complete authenticated oper…
ChrisPulman Sep 12, 2026
e17425e
feat(occasionally-connected): enforce default SQLite writer ownership
ChrisPulman Sep 12, 2026
8ac2cd6
feat(occasionally-connected): parse bounded HTTP retry hints
ChrisPulman Sep 12, 2026
84e2144
test(occasionally-connected): remove assertion nullability suppressions
ChrisPulman Sep 12, 2026
9906629
feat(occasionally-connected): commit server replay state atomically
ChrisPulman Sep 12, 2026
a8534ce
feat(occasionally-connected): scope remote event origins to clients
ChrisPulman Sep 12, 2026
1aff01b
fix(occasionally-connected): enforce durable store guarantees at commit
ChrisPulman Sep 12, 2026
a349d6b
test(occasionally-connected): preserve isolated reconciliation regres…
ChrisPulman Sep 12, 2026
238a57e
feat(occasionally-connected): persist authoritative snapshot state
ChrisPulman Sep 12, 2026
7234f12
feat(occasionally-connected): select bounded FIFO batch prefixes
ChrisPulman Sep 12, 2026
cb4fd1b
test(occasionally-connected): remove Core null-forgiving fixtures
ChrisPulman Sep 12, 2026
e98505d
feat(occasionally-connected): bind local partitions to client identity
ChrisPulman Sep 12, 2026
61dd289
fix(occasionally-connected): reject corrupt client ownership metadata
ChrisPulman Sep 12, 2026
b969e0a
test(occasionally-connected): remove runtime null-forgiving fixtures
ChrisPulman Sep 12, 2026
25d3e20
fix(occasionally-connected): include event origin in worker admission
ChrisPulman Sep 12, 2026
dde6d3e
test(occasionally-connected): verify bound-client migration rollback
ChrisPulman Sep 12, 2026
5ff9575
feat(occasionally-connected): validate complete remote operation groups
ChrisPulman Sep 12, 2026
0d789ea
test(occasionally-connected): extend isolated reconciliation state re…
ChrisPulman Sep 12, 2026
aeccaa4
feat(occasionally-connected): support atomic volatile local commits
ChrisPulman Sep 12, 2026
f17ca6c
feat(occasionally-connected): reconcile authoritative receive complet…
ChrisPulman Sep 12, 2026
193398f
feat(occasionally-connected): persist atomic server replay in SQLite
ChrisPulman Sep 13, 2026
c0ca077
feat(occasionally-connected): reconcile upload results atomically
ChrisPulman Sep 13, 2026
64a4892
feat(occasionally-connected): add bounded loopback transport
ChrisPulman Sep 13, 2026
db50281
test(occasionally-connected): separate loopback hub fixtures
ChrisPulman Sep 13, 2026
1e8c37d
feat(occasionally-connected): add precise runtime metric instruments
ChrisPulman Sep 13, 2026
a3f24ac
feat(occasionally-connected): add owned activity recording
ChrisPulman Sep 13, 2026
884ce5a
feat(occasionally-connected): process authorized operations atomically
ChrisPulman Sep 13, 2026
866876a
feat(occasionally-connected): preserve serialized operation identity …
ChrisPulman Sep 13, 2026
e60b7ce
feat(occasionally-connected): persist complete server receive groups
ChrisPulman Sep 13, 2026
9eee912
feat(occasionally-connected): prepare bounded transport sends before …
ChrisPulman Sep 13, 2026
b1eff25
feat(occasionally-connected): implement bounded HTTP transport
ChrisPulman Sep 13, 2026
47c033e
feat(occasionally-connected): carry trusted conflict write provenance
ChrisPulman Sep 13, 2026
24dd7dc
fix(occasionally-connected): stabilize server write provenance per at…
ChrisPulman Sep 13, 2026
2445485
feat(occasionally-connected): persist subscription offers and acknowl…
ChrisPulman Sep 13, 2026
91cdaf5
feat(occasionally-connected): reconcile local dead letters atomically
ChrisPulman Sep 13, 2026
e45b58e
feat(occasionally-connected): compose server conflict resolution and …
ChrisPulman Sep 13, 2026
85ca60c
feat(occasionally-connected): add serialized typed stream facade
ChrisPulman Sep 13, 2026
0cf26c2
feat(occasionally-connected): persist server subscription starting po…
ChrisPulman Sep 13, 2026
5854acd
feat(occasionally-connected): coordinate prepared upload attempts
ChrisPulman Sep 13, 2026
7d315cb
feat(occasionally-connected): add bounded CRDT state and client proje…
ChrisPulman Sep 13, 2026
0701496
fix(occasionally-connected): accept declared custom operations
ChrisPulman Sep 13, 2026
b4c0746
feat(occasionally-connected): integrate verified protocol server and …
ChrisPulman Sep 13, 2026
0699b3a
feat(occasionally-connected): integrate bounded payload quarantine re…
ChrisPulman Sep 13, 2026
a8ee381
docs(occasionally-connected): record verified consolidation and remai…
ChrisPulman Sep 13, 2026
88c6e9f
feat(occasionally-connected): add verified portable HTTP endpoint
ChrisPulman Sep 13, 2026
f9e7d62
docs(occasionally-connected): record verified endpoint worktree retir…
ChrisPulman Sep 13, 2026
06f2504
feat(occasionally-connected): add atomic in-memory snapshot recovery
ChrisPulman Sep 14, 2026
047838d
fix(occasionally-connected): normalize portable endpoint and storage …
ChrisPulman Sep 14, 2026
cd33922
feat(occasionally-connected): persist coherent snapshot recovery offers
ChrisPulman Sep 14, 2026
def5e69
feat(occasionally-connected): add tested durable outbox application
ChrisPulman Sep 14, 2026
98c11db
test(occasionally-connected): repair portable SQLite fixtures and chi…
ChrisPulman Sep 14, 2026
506f92d
test(occasionally-connected): avoid privileged outbox fixture paths
ChrisPulman Sep 16, 2026
7742960
feat(occasionally-connected): add bounded HTTP replay primitives
ChrisPulman Sep 16, 2026
4fdfcd9
feat(occasionally-connected): capture and drain bounded observer input
ChrisPulman Sep 17, 2026
0fce600
feat(examples): add durable collaboration HTTP server
ChrisPulman Sep 17, 2026
927b5b5
test(occasionally-connected): report native SQLite crash recovery errors
ChrisPulman Sep 17, 2026
00cf93d
Organize OccasionallyConnected projects
ChrisPulman Sep 17, 2026
0b1acde
fix(occasionally-connected): align SQLite validation with current cor…
ChrisPulman Sep 17, 2026
f36b14e
fix(occasionally-connected): claim ready input before dispatching its…
ChrisPulman Sep 17, 2026
235d1de
fix(occasionally-connected): validate original coverage reports strictly
ChrisPulman Sep 19, 2026
92d4fbe
fix(occasionally-connected): align server code with current analyzers
ChrisPulman Sep 19, 2026
5dc8dce
feat(occasionally-connected): compose authorized server snapshot reco…
ChrisPulman Sep 19, 2026
8067fd7
feat(occasionally-connected): persist atomic SQLite snapshot recovery
ChrisPulman Sep 19, 2026
bbcecaa
feat(occasionally-connected): capture bounded owned recovery input
ChrisPulman Sep 19, 2026
b6cc99e
docs(occasionally-connected): refresh remaining work after signed int…
ChrisPulman Sep 19, 2026
60c84f5
feat(occasionally-connected): distinguish accepted replay recovery in…
ChrisPulman Sep 19, 2026
c15a18a
docs(occasionally-connected): refresh verified remaining work
ChrisPulman Sep 19, 2026
eaabe33
fix(occasionally-connected): retain unresolved included operations du…
ChrisPulman Sep 19, 2026
7b34a10
fix(occasionally-connected): reconcile bounded snapshot recovery role…
ChrisPulman Sep 19, 2026
d15682f
docs(occasionally-connected): refresh remaining tasks after store int…
ChrisPulman Sep 19, 2026
54304f6
test(occasionally-connected): remove nullable suppressions from excep…
ChrisPulman Sep 19, 2026
a3a58d3
test(occasionally-connected): avoid thread pool starvation in schedul…
ChrisPulman Sep 19, 2026
ad71600
docs(occasionally-connected): record remaining HTTP and server valida…
ChrisPulman Sep 19, 2026
10a4fa6
fix(occasionally-connected): validate replay-only server snapshot proofs
ChrisPulman Sep 19, 2026
8e7e7ef
docs(occasionally-connected): refresh remaining validation and integr…
ChrisPulman Sep 19, 2026
d1989de
test(occasionally-connected): retain crash recovery process and file …
ChrisPulman Sep 19, 2026
b47cc37
feat(occasionally-connected): declare bounded typed input admission
ChrisPulman Sep 19, 2026
54bdf4e
docs(occasionally-connected): record signed integrations and remainin…
ChrisPulman Sep 19, 2026
de2f87c
docs(occasionally-connected): refresh recovery and application valida…
ChrisPulman Sep 19, 2026
40d31c8
docs(occasionally-connected): record verified recovery coverage and s…
ChrisPulman Sep 20, 2026
464f953
feat(occasionally-connected): expose remote session expiry retry cause
ChrisPulman Sep 23, 2026
efc616a
test(occasionally-connected): integrate shared local-store conformanc…
ChrisPulman Sep 23, 2026
f0906ee
feat(occasionally-connected): integrate HTTP replay and snapshot reco…
ChrisPulman Sep 23, 2026
00901ee
fix(examples): wire authenticated collaboration replay admission
ChrisPulman Sep 23, 2026
38d14b1
feat(occasionally-connected): enforce atomic unresolved outbox capacity
ChrisPulman Sep 23, 2026
fa3450e
docs(occasionally-connected): refresh remaining acceptance and integr…
ChrisPulman Sep 23, 2026
71d273e
feat(occasionally-connected): integrate context composition and durab…
ChrisPulman Sep 23, 2026
4890046
fix(occasionally-connected): integrate atomic snapshot recovery with …
ChrisPulman Sep 23, 2026
5202475
docs(occasionally-connected): refresh remaining acceptance and donor …
ChrisPulman Sep 23, 2026
d9adf52
test(occasionally-connected): verify durable failure outcomes and mix…
ChrisPulman Sep 23, 2026
5664681
feat(occasionally-connected): demonstrate durable HTTP lost acknowled…
ChrisPulman Sep 23, 2026
924a3e8
fix(examples): accept typed client activity updates on collaboration …
ChrisPulman Sep 23, 2026
5f48f9f
feat(examples): add durable collaboration HTTP client application
ChrisPulman Sep 24, 2026
61e5135
test(occasionally-connected): make renewal cancellation and failure p…
ChrisPulman Sep 24, 2026
feadfe8
build(examples): register collaboration client and resilience lab pro…
ChrisPulman Sep 24, 2026
dede437
test(examples): retain canonical envelope and provenance integration …
ChrisPulman Sep 24, 2026
29fdc8a
docs(occasionally-connected): refresh remaining acceptance gates
ChrisPulman Sep 24, 2026
67cb206
Refresh compatibility docs and OC examples
ChrisPulman Sep 24, 2026
901ec4d
fix(occasionally-connected): restore post-rebase integration fixes
ChrisPulman Sep 26, 2026
ac82dfe
merge(occasionally-connected): synchronize remote branch
ChrisPulman Sep 26, 2026
c6f6ed1
docs(occasionally-connected): refresh release gates
ChrisPulman Sep 26, 2026
44c4bc1
feat(resilience-lab): add deterministic retry backoff scenario
ChrisPulman Sep 26, 2026
a2b8207
feat(occasionally-connected): start offline and reconnect through cir…
ChrisPulman Sep 26, 2026
b49b9fe
feat(occasionally-connected): add hosting package with health check
ChrisPulman Sep 26, 2026
770ea3b
feat(occasionally-connected): propagate W3C trace context over HTTP
ChrisPulman Sep 26, 2026
8a71ece
test(occasionally-connected): verify public admission paths and adapt…
ChrisPulman Sep 26, 2026
638ccda
test(occasionally-connected): prove CRDT composition through the publ…
ChrisPulman Sep 26, 2026
0253e3f
test(occasionally-connected): fold PreparedSession.ResultKind into Re…
ChrisPulman Sep 26, 2026
792000f
test(occasionally-connected): prove server hub idempotency, conflicts…
ChrisPulman Sep 26, 2026
57fe250
feat(resilience-lab): add remaining resilience demonstrations
ChrisPulman Sep 26, 2026
d43278f
test(occasionally-connected): add transport and store conformance suites
ChrisPulman Sep 27, 2026
c6df04f
feat(occasionally-connected): implement DropOldest eviction, overflow…
ChrisPulman Sep 27, 2026
c53167e
test(occasionally-connected): add protocol v1 golden fixtures
ChrisPulman Sep 27, 2026
77aaf3e
test(occasionally-connected): add application-level security tests
ChrisPulman Sep 27, 2026
d259de0
fix(occasionally-connected): retention-gap recovery, codec tolerance,…
ChrisPulman Sep 27, 2026
0e19a6f
feat(occasionally-connected): enforce exactly-once expiry, explicit d…
ChrisPulman Sep 27, 2026
eba5332
test(occasionally-connected): add protocol fuzzing and single-attempt…
ChrisPulman Sep 27, 2026
864bd82
feat(occasionally-connected): authenticated encryption at rest for th…
ChrisPulman Sep 27, 2026
94c0e79
feat(occasionally-connected): verify packed packages with end-to-end …
ChrisPulman Sep 28, 2026
893d7e3
feat(occasionally-connected): detect schema drift and durable storage…
ChrisPulman Sep 28, 2026
0427927
merge(occasionally-connected): integrate verified storage resilience …
ChrisPulman Sep 28, 2026
fee0331
docs(occasionally-connected): update remaining durability and release…
ChrisPulman Sep 28, 2026
2fe1e85
feat(occasionally-connected): finalize first-release durability and r…
ChrisPulman Sep 28, 2026
bf9b432
merge(occasionally-connected): integrate latest main core updates
ChrisPulman Sep 28, 2026
0cc93d9
fix(ci): install .NET 11 SDK for crash and soak gates
ChrisPulman Sep 28, 2026
c8802be
fix(ci): restore feature gates on clean runners
ChrisPulman Sep 28, 2026
dff5ce3
fix(ci): resolve installed SDK channels without shared preview quality
ChrisPulman Sep 28, 2026
18e9bd2
fix(ci): run one PR build and audit shipped dependencies
ChrisPulman Sep 28, 2026
5d157ff
fix(occasionally-connected): stabilize cross-platform coverage scenarios
ChrisPulman Sep 28, 2026
63b17e4
fix(occasionally-connected): stabilize cross-platform coverage fixtures
ChrisPulman Sep 28, 2026
00d86fb
fix(occasionally-connected): recover Windows SQLite startup after wri…
ChrisPulman Sep 28, 2026
f39ae12
test(occasionally-connected): stabilize cross-platform delivery coverage
ChrisPulman Sep 28, 2026
a1fb8e0
test(occasionally-connected): gate active subscription disposal deter…
ChrisPulman Sep 29, 2026
0c77cb8
test(occasionally-connected): stabilize replay waiter clock failure test
ChrisPulman Sep 29, 2026
43198e1
test(occasionally-connected): await crash child writer release
ChrisPulman Sep 29, 2026
b984e04
test(occasionally-connected): stabilize release timing gates
ChrisPulman Sep 29, 2026
ab33965
fix(occasionally-connected): stabilize cross-platform feature gates
ChrisPulman Sep 29, 2026
02aa7a9
test(occasionally-connected): bound loaded crash and HTTP lab runs
ChrisPulman Sep 29, 2026
b75df83
test(occasionally-connected): account for retained diagnostic replay …
ChrisPulman Sep 29, 2026
3269a85
feat(occasionally-connected): add reactive, filesystem, and websocket…
ChrisPulman Sep 29, 2026
80c855b
feat(occasionally-connected): add storage adapters and repair CI cove…
ChrisPulman Sep 30, 2026
fc52b5f
test(occasionally-connected): stabilize cancellation and process-exit…
ChrisPulman Sep 30, 2026
be12f1c
Defer stream remote activation until initialized
ChrisPulman Sep 30, 2026
112252e
fix(occasionally-connected): support deferred registration on legacy …
ChrisPulman Sep 30, 2026
2bed871
test(occasionally-connected): satisfy forwarding helper release analy…
ChrisPulman Sep 30, 2026
14a2975
fix(occasionally-connected): preserve safe startup and resolve CI reg…
ChrisPulman Sep 30, 2026
95e4bf9
fix(collaboration-client): retain publish confirmation and bound capa…
ChrisPulman Sep 30, 2026
a9e0332
fix(websockets): join canceled receive before closing the session
ChrisPulman Sep 30, 2026
fc39ef9
test(occasionally-connected): make blocking regression coordination d…
ChrisPulman Sep 30, 2026
59f8376
test(occasionally-connected): await lifecycle and store entry signals…
ChrisPulman Sep 30, 2026
b92aa71
test(sqlite): release durability writer independently of the thread pool
ChrisPulman Sep 30, 2026
65caaa3
test(occasionally-connected): isolate invalid admission assertions fr…
ChrisPulman Sep 30, 2026
6cc691c
test(sqlite): stabilize rollback lease and clarify crash-child failures
ChrisPulman Sep 30, 2026
fc10bf1
test(occasionally-connected): isolate capture worker and honor proces…
ChrisPulman Sep 30, 2026
7b1b5e7
test(occasionally-connected): coordinate retry timers and prepare adm…
ChrisPulman Sep 30, 2026
2a0eee2
test(occasionally-connected): isolate blocked store workers and arm l…
ChrisPulman Sep 30, 2026
4f77315
test(occasionally-connected): retain overflow publication timeout evi…
ChrisPulman Sep 30, 2026
796ec6d
test(occasionally-connected): await controlled late recovery failures…
ChrisPulman Sep 30, 2026
38cd397
ci: reserve synchronous test tracing for diagnostic reruns
ChrisPulman Sep 30, 2026
7ad2dd5
perf(occasionally-connected): cache immutable outbox byte charges
ChrisPulman Sep 30, 2026
8e623ed
fix(occasionally-connected): synchronize recovery and stabilize CI ex…
ChrisPulman Sep 30, 2026
98990ed
feat(occasionally-connected): add web, signalr, and mobile integrations
ChrisPulman Sep 30, 2026
1020c1b
test(occasionally-connected): bound concurrent SQLite fixture pressure
ChrisPulman Sep 30, 2026
1ad19bf
test(sqlite): isolate the real writer-lock retry deadline
ChrisPulman Sep 30, 2026
b34c881
test(occasionally-connected): bound host fixtures and preserve proces…
ChrisPulman Sep 30, 2026
c4eda03
test(occasionally-connected): isolate recovered upload clock coordina…
ChrisPulman Sep 30, 2026
c844b34
test(occasionally-connected): make lease expiry deterministic
ChrisPulman Oct 1, 2026
ebaf8b3
test(coverage): execute the freshly built CLI without SDK reevaluation
ChrisPulman Oct 1, 2026
93372f2
test(loopback): retain cancellation callbacks until they execute
ChrisPulman Oct 1, 2026
5870212
fix(ci): release framework-evaluation process resources
ChrisPulman Oct 1, 2026
7c0eb27
test(occasionally-connected): bound live collaboration fixtures
ChrisPulman Oct 1, 2026
b34c693
feat(occasionally-connected): replace managed SQLite provider with ra…
ChrisPulman Oct 1, 2026
f625d79
fix(ci): reuse the completed Sonar build for feature coverage
ChrisPulman Oct 1, 2026
7d27da2
fix(occasionally-connected): preserve bounded lifecycle delivery and …
ChrisPulman Oct 1, 2026
7d13839
test(occasionally-connected): isolate strict admission and producer c…
ChrisPulman Oct 1, 2026
c763e38
fix(resilience-lab): drive late observer receive retries
ChrisPulman Oct 1, 2026
f8b5c40
test(occasionally-connected): isolate durable ACK admission guard
ChrisPulman Oct 1, 2026
5ed91b3
test(occasionally-connected): synchronize retry wake and isolate dura…
ChrisPulman Oct 1, 2026
8ccbc1b
test(web): isolate the bounded JavaScript bridge process
ChrisPulman Oct 1, 2026
45fd3ea
fix(occasionally-connected): address priority review invariants and r…
ChrisPulman Oct 1, 2026
ebc4d88
fix(occasionally-connected): harden native build and filesystem disco…
ChrisPulman Oct 1, 2026
a789ba9
fix(mobile): compose native artifacts built on supported hosts
ChrisPulman Oct 1, 2026
1232910
refactor(ci): expose package inspector operations as separate methods
ChrisPulman Oct 1, 2026
b776a3e
test(occasionally-connected): isolate durable custom overflow fixtures
ChrisPulman Oct 1, 2026
851e2bb
fix(occasionally-connected): release publish capacity before waking p…
ChrisPulman Oct 1, 2026
51f9109
test(sqlite): drain concurrent ownership tasks before cleanup
ChrisPulman Oct 1, 2026
0a978bc
test(occasionally-connected): isolate deferred durable recovery fixture
ChrisPulman Oct 1, 2026
ba5e8e7
test(occasionally-connected): isolate cold SQLite builder fixtures
ChrisPulman Oct 1, 2026
829024c
test(collaboration): allocate server ports atomically
ChrisPulman Oct 1, 2026
a11f13e
test(http): let replay lifecycle assertions control waiter completion
ChrisPulman Oct 1, 2026
968bc1b
test(web): drain Node output when process deadlines expire
ChrisPulman Oct 1, 2026
f019c86
test(sqlite): cancel synchronous durability waits independently
ChrisPulman Oct 1, 2026
c5d2828
ci(occasionally-connected): use runner work storage for performance g…
ChrisPulman Oct 2, 2026
272b7c3
fix(resilience-lab): drive receive time while proving writer recovery
ChrisPulman Oct 2, 2026
9a65c2d
Merge branch 'main' into OccasionallyConnected
ChrisPulman Oct 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -819,7 +819,7 @@ dotnet_diagnostic.IDE0302.severity = none # Use collection expression for stacka
dotnet_diagnostic.IDE0303.severity = none # Use collection expression for Create
dotnet_diagnostic.IDE0304.severity = none # Use collection expression for builder
dotnet_diagnostic.IDE0305.severity = none # Use collection expression for fluent
dotnet_diagnostic.IDE0306.severity = none # Use collection expression for new
dotnet_diagnostic.IDE0306.severity = none # Use collection expression for new
dotnet_diagnostic.IDE0320.severity = none # Make anonymous function static - eliminates the closure-capture display class allocation
dotnet_diagnostic.IDE0050.severity = none # Convert anonymous type to tuple
dotnet_diagnostic.IDE0230.severity = none # Use UTF-8 string literal - better hot-path encoding for byte-array constants
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ jobs:
msbuildPerformTests: false
installWorkloads: true
minverMinimumMajorMinor: '0.1'
# Synchronous trace logging adds substantial I/O to the complete test suite.
# Keep both normal runs and reruns free of synchronous per-event trace writes.
enableDetailedTestLogging: false
testTimeout: '15m'
# OccasionallyConnected runs in the required per-OS, per-TFM coverage matrix.
# Do not repeat its full matrix inside this job's single test-run deadline.
testProjects: |
tests/**/*.csproj
!tests/ReactiveUI.Primitives.OccasionallyConnected*/*.csproj
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
54 changes: 54 additions & 0 deletions .github/workflows/occasionally-connected-aot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: OccasionallyConnected NativeAOT consumer

on:
pull_request:
branches: [main]
paths:
- 'src/ReactiveUI.Primitives.OccasionallyConnected*/**'
- 'src/ReactiveUI.Primitives*/**'
- 'src/ReactiveUI.Disposables/**'
- 'src/Directory.*'
- 'samples/OccasionallyConnected.PackedSample/**'
- 'tools/OccasionallyConnected.Ci/**'
- '.github/workflows/occasionally-connected-aot.yml'
workflow_dispatch:
workflow_call:
inputs:
sourceRef:
required: false
type: string
default: ''

permissions:
contents: read

concurrency:
group: occasionally-connected-aot-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
native-aot-consumer:
runs-on: windows-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ inputs.sourceRef || github.sha }}
persist-credentials: false
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
8.0.x
9.0.x
10.0.x
11.0.x
- name: Pack, publish, and run clean NativeAOT consumer
shell: bash
run: dotnet run --project tools/OccasionallyConnected.Ci/OccasionallyConnected.Ci.csproj -- aot --version "0.1.0-ocaot.${{ github.run_id }}.${{ github.run_attempt }}"
- name: Retain NativeAOT evidence
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: occasionally-connected-native-aot
path: artifacts/oc-aot
if-no-files-found: warn
158 changes: 158 additions & 0 deletions .github/workflows/occasionally-connected-crash.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
name: OccasionallyConnected crash matrix

on:
pull_request:
branches: [main]
paths:
- 'src/ReactiveUI.Primitives.OccasionallyConnected*/**'
- 'src/tests/ReactiveUI.Primitives.OccasionallyConnected*/**'
- 'src/Directory.*'
- '.github/workflows/occasionally-connected-crash.yml'
schedule:
- cron: '17 4 * * 1'
workflow_dispatch:

permissions:
contents: read

concurrency:
group: occasionally-connected-crash-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
crash-matrix:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Tests
class: OccasionallyConnectedStreamTests
test: WhenProcessDiesAtStreamCrashPoint_ThenReopenedStreamHonorsDurableBoundary
- os: ubuntu-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Tests
class: OccasionallyConnectedBuilderTests
test: '*StrategySurvivesProcessTermination*'
- os: ubuntu-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Transport.Http.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Transport.Http.Tests
class: HttpRemoteTransportAdapterTests
test: WhenProcessDiesDuringHttpPush_ThenRestartedTransportPreservesServerEffect
- os: ubuntu-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Transport.WebSockets.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Transport.WebSockets.Tests
class: WebSocketRemoteTransportAdapterTests
test: WhenProcessDiesDuringWebSocketPush_ThenRestartedTransportPreservesServerEffect
- os: ubuntu-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Storage.Sqlite.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Storage.Sqlite.Tests
class: SqliteLocalStoreAdapterTests
test: WhenWriterProcessDiesAtCommitCheckpoint_ThenReopenHonorsTransactionBoundary
- os: ubuntu-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Storage.FileSystem.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Storage.FileSystem.Tests
class: FileSystemLocalStoreAdapterTests
test: WhenProcessDiesAtCompactionCheckpoint_ThenReopenUsesCompleteJournal
- os: ubuntu-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Server.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Server.Tests
class: SqliteServerCommitJournalTests
test: WhenServerWriterDiesAtCommitCheckpoint_ThenResendAppliesExactlyOnce
- os: windows-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Tests
class: OccasionallyConnectedStreamTests
test: WhenProcessDiesAtStreamCrashPoint_ThenReopenedStreamHonorsDurableBoundary
- os: windows-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Tests
class: OccasionallyConnectedBuilderTests
test: '*StrategySurvivesProcessTermination*'
- os: windows-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Transport.Http.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Transport.Http.Tests
class: HttpRemoteTransportAdapterTests
test: WhenProcessDiesDuringHttpPush_ThenRestartedTransportPreservesServerEffect
- os: windows-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Transport.WebSockets.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Transport.WebSockets.Tests
class: WebSocketRemoteTransportAdapterTests
test: WhenProcessDiesDuringWebSocketPush_ThenRestartedTransportPreservesServerEffect
- os: windows-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Storage.Sqlite.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Storage.Sqlite.Tests
class: SqliteLocalStoreAdapterTests
test: WhenWriterProcessDiesAtCommitCheckpoint_ThenReopenHonorsTransactionBoundary
- os: windows-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Storage.FileSystem.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Storage.FileSystem.Tests
class: FileSystemLocalStoreAdapterTests
test: WhenProcessDiesAtCompactionCheckpoint_ThenReopenUsesCompleteJournal
- os: windows-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Server.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Server.Tests
class: SqliteServerCommitJournalTests
test: WhenServerWriterDiesAtCommitCheckpoint_ThenResendAppliesExactlyOnce
- os: macos-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Tests
class: OccasionallyConnectedStreamTests
test: WhenProcessDiesAtStreamCrashPoint_ThenReopenedStreamHonorsDurableBoundary
- os: macos-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Tests
class: OccasionallyConnectedBuilderTests
test: '*StrategySurvivesProcessTermination*'
- os: macos-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Transport.Http.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Transport.Http.Tests
class: HttpRemoteTransportAdapterTests
test: WhenProcessDiesDuringHttpPush_ThenRestartedTransportPreservesServerEffect
- os: macos-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Transport.WebSockets.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Transport.WebSockets.Tests
class: WebSocketRemoteTransportAdapterTests
test: WhenProcessDiesDuringWebSocketPush_ThenRestartedTransportPreservesServerEffect
- os: macos-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Storage.Sqlite.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Storage.Sqlite.Tests
class: SqliteLocalStoreAdapterTests
test: WhenWriterProcessDiesAtCommitCheckpoint_ThenReopenHonorsTransactionBoundary
- os: macos-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Storage.FileSystem.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Storage.FileSystem.Tests
class: FileSystemLocalStoreAdapterTests
test: WhenProcessDiesAtCompactionCheckpoint_ThenReopenUsesCompleteJournal
- os: macos-latest
project: ReactiveUI.Primitives.OccasionallyConnected.Server.Tests
namespace: ReactiveUI.Primitives.OccasionallyConnected.Server.Tests
class: SqliteServerCommitJournalTests
test: WhenServerWriterDiesAtCommitCheckpoint_ThenResendAppliesExactlyOnce
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6
with:
dotnet-version: |
8.0.x
9.0.x
10.0.x
11.0.x
- name: Run crash matrix test
working-directory: src
run: >-
dotnet test
"tests/${{ matrix.project }}/${{ matrix.project }}.csproj"
--configuration Release
--framework net10.0
-p:AndroidPrimitivesTargetFrameworks=
-p:ApplePrimitivesTargetFrameworks=
-p:MobilePlatformTargetFrameworks=
--
--treenode-filter "/*/${{ matrix.namespace }}/${{ matrix.class }}/${{ matrix.test }}"
--minimum-expected-tests 1
Loading
Loading