Commit Graph

3 Commits

Author SHA1 Message Date
abdussamedulutas 18269059cc #46: 3. parti sunucu köprüsü (bridge)
- internal/bridge: Inbox (bounded FIFO), HTTPApprover (fail-closed connection
  gate), HTTPTrigger (suit-reply push) — birim testleri ile birlikte
- ws.Approver arayüzü + ws.Options.Approver: bağlantı kabulü HTTP upgrade
  öncesinde delege edilir (403 ile reddedilebilir)
- services.WithBridgeInbox + bridge/send handler: client → uygulama sunucusu
  mesajları inbox'a yönlendirilir
- httpserver.ServerOptions: BridgeInbox + Approver enjeksiyonu
- POST /api/bridge/inbox endpoint: uygulama sunucusu inbox'ı atomik olarak boşaltır
- main.go: BRIDGE_APPROVE_URL / BRIDGE_TRIGGER_URL / BRIDGE_INBOX env değişkenleri
  ile köprü opsiyonel etkinleştirilir
- go test -race ./... yeşil

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 12:05:59 +03:00
abdussamedulutas 441093bad6 #43/#44/#45: Notify (store-and-forward + suit) ve data-sync alt sistemleri
- internal/notify: store-and-forward (#43) + suit/yanıtlı (#44). Offline hedefe
  bırakılan mesaj bağlanınca teslim; trace id ile durum sorgulanır; suit cevabı
  3. taraf trigger'a manuel iletilir. TTL + hedef-başı sınır + janitor → leak yok.
- internal/datastore: active sync/collection (CRUD broadcast, arrival-time seq ile
  çakışma çözümü) + passive sync (dedupe merge pool) + temp/permanent datastore.
  Saf paket (ws bağımsız), servis katmanı I/O yapar.
- services.Register artık *Registry döndürür + ...Option alır (WithNotifyTrigger).
  main.go janitor'ları başlatır/durdurur. Eski Register(hub) çağrıları çalışır.

Testler: internal/notify, internal/datastore birim testleri + services
notify_test/datasync_test (offline teslim, suit reply+trigger, CRUD broadcast,
concurrent arrival-order, passive convergence, disconnect unsubscribe).
go test -race ./... yeşil.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 08:30:20 +03:00
abdussamedulutas 835f0b5f2e Go engine portu (0.1.0 çekirdek) — Node.js engine'i race-free Go'ya taşı
MWSE engine'i (Source/) performans odaklı, eşzamanlılık-güvenli bir Go
projesine taşır. WSTS tel sözleşmesi (SDK giriş/çıkış) korunur; frontend
dokunulmadan çalışmaya devam eder.

- internal/protocol: WSTS encode/decode (request/response/stream/signal)
- internal/ws: Client (bağlantı-başına tek-yazıcı), Room (RWMutex + snapshot
  broadcast), Hub (kayıt + router + event bus), Server (yaşam döngüsü, saQut
  heartbeat). #22 "ayrılırken-yazma" race'i yapısal olarak çözüldü.
- internal/services: YourID, Session, Auth, Room, IPPressure, DataTransfer
  portu (Node'daki bariz bug'lar düzeltildi; tel şekilleri korundu).
- internal/config, internal/httpserver: env config, statik + /api + graceful
  shutdown.
- loadtest/: ayrı modül — ping/relay yük testi + benchmark istemcisi.

go build/vet/test -race ./... yeşil. TestLeaveWhileSendRace regresyonu temiz.
Uçtan uca doğrulandı: ping ~140k req/s (p50 ~200µs, 0 hata),
relay ~190k msg/s (%98.5 teslim).

İnsan onayına bırakılanlar REVIEW.md'de; kararlar decisions.md'de;
durum PORT-PROGRESS.md'de. Hiçbir issue kapatılmadı, stable'a dokunulmadı,
deploy/push yapılmadı.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 07:09:36 +03:00