summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
42 hoursweb UI: tappable nav rail, join button (quick-join + sample rooms), room ↵mainketsuban
switch reconnects mesh, Config screen, pie menu overlay; HTTPS-SETUP rewritten for lighttpd (wss proxy)
2 daysbundle Japanese font as flat webfont.js (in-memory Response via fetch shim) ↵ketsuban
since deploy FTP forbids MKD; drop stale Jenkinsfile deploy tweak
2 daysweb deploy: flatten composeResources (FTP MKD denied on server) + runtime ↵ketsuban
fetch/XHR remap shim in index.html
2 daysdeploy: upload web bundle recursively so composeResources (Japanese font) ↵ketsuban
reaches lighttpd
2 daysbundleWeb: ship composeResources (bundled Japanese font) from ↵ketsuban
dist/productionExecutable
2 daysRewrite wasm UI: minimal 5-screen app (Home/Create/Note/Calendar/Live) with ↵ketsuban
bundled Japanese font, browser file download, auto org-pack publish/subscribe, received-org hydration; fix wasm video renegotiation (re-offer after addTrack), camera/screen mode switch via replaceTrack, media error surfacing; https/wss deployment docs (ops/HTTPS-SETUP.md)
2 daysG/H/P/K/L waves: JGit-CID full connection (attachments committed to git + ↵ketsuban
cid->blob index + missing-CID sync + persistent block stores); org-mode source of truth (round-trip, JGit commits, PoA state machine); real OrgFlow Pack (manifest/sha256, receiver restore, sourceCommitSha); slide collab over mesh (collab.slide.op=17); relay server forwarding; PoA real signatures (Ed25519/WebCrypto) + persistence; pie redesign (quadrant+D-arc); attachments on notes/calendar; GRAPH+INK cards; pptx export/import; wasm pack receive; kotlin daemon 4GB; wiring sweep
3 daysT1-T4: wasm BrowserRtcPlatform datachannel+real pack transfer; webrtc-java ↵ketsuban
camera/video (JvmCamera, I420); ICE servers consumed; chat threadId wire; pack LRU eviction; store persistence (OPFS/file) + notification scheduler; UI integration sweep (room dialog real, onboarding, experiment/presentation store wiring, filter consumption, WorkspaceScreen absorbed); Jenkinsfile full matrix
3 daysci: retrigger after daemon killketsuban
3 daysW11: U-22 billiard FSMP reproduction page (physics sim, ACO-lite pheromone, ↵ketsuban
waterline, Billiard re-route, TTU stats, MeasurementEvent log)
3 daysW4/W8/W9/W10/W13/W15/W17: item chat + Home flow/pins + PoA roles; Live media ↵ketsuban
(screen share/camera via zero-bridge, CID frames); collaborative card-note sync over FSMP chat channel; signaling auto-reconnect + --serve-signaling; GUI-Lisp evaluator + host API; seedFixtures off by default; fsmp-relay race fix
3 daysW2/W12/W14/W16: wasm runtime+config; CID block store (JVM+OPFS); msg_type ↵ketsuban
numbering; UX overhaul (set model, pie menu nav, Create/Note/Calendar/Live, card notes, gid multi-membership chat transport); 3-peer E2E proven
4 daysRooms+QR+Calendar+Experiment: shared app store; room-scoped signaling ↵ketsuban
(roomId routing, atomic join); QR matrix render/paste-join; calendar union view + notifications; Excel-like formulas + GUI-Lisp demos
4 daysUI: no Dispatchers.Main in commonMain VMs; real workspace pack distribution; ↵ketsuban
QR bootstrap invite - DistributionViewModel/ConfigViewModel no longer own Main-dispatcher scopes (crashed where no Main dispatcher exists); observe() is suspend and runs in the composition's LaunchedEffect - startDistribution() builds a real OrgFlow Pack from workspace org text when none offered (GUI button now actually distributes) - Workspace invite emits FSMP1 QrBootstrapPayload (workspaceId, signalingEndpoint, sessionToken, expiry) instead of the fake token - ContentTransferService.onSenderComplete -> DistributionSnapshot. completedPeers so senders finish deterministically - web index.html cache-buster (?v=web3) for stale bundle diagnosis
4 daysWorker image: add X11/ALSA/PulseAudio for webrtc-java natives; start pulse ↵ketsuban
daemon with worker
4 daysFix orgflow-ui ViewModelTest for new DistributionViewModel APIketsuban
4 daysReal WebRTC P2P: FSMP content transfer over DataChannels (desktop+wasm)ketsuban
Replace the staged demo with a working end-to-end path: - fsmp-core session/: ContentChunker/SenderSession/ReceiverSession with real chunk bytes, sha256 verify (hash-check before dedup), ACK bitmaps, repair selection, manifest verification on assembly - fsmp-transport: WebRtcMeshTransport (offer/answer/ICE trickle over signaling, initiator election, pending-ICE buffering), RtcPlatform seam, ContentTransferService (wire = JSON w/ Base64 payloads under SCTP 64KB) - JVM: dev.onvoid webrtc-java adapter (OnVoidRtcPlatform), JDK HttpClient WebSocket signaling client, raw-RFC6455 WsSignalingServer (Ktor CIO dropped frames cross-session; replaced) - wasmJs: browser() target added, common mesh compiles; browser RTC via externals lands with zero-bridge work - services/signaling-server: standalone WS signaling main - apps/desktop: DesktopDistributionRuntime wires FsmpEngine scheduler -> plan -> pump -> transport -> feedback -> ACO; DesktopConfigStore (ORGFLOW_CONFIG_DIR / XDG), FsmpConfigWriter round-trip, P2pDemoMain (makepack/sender/receiver/signaling roles) - orgflow-ui: Distribution screen binds real snapshots; new Config screen (slider edits persist to config dir, engine hot-rebuild) - FluidInjectionPlanner: never drop REPAIR candidates (waterline met) Proven in-container: 2 processes + signaling, 525013B pack transferred, manifest verified, files byte-identical.
4 daysShip Compose-for-Wasm UI as the live web appketsuban
Root cause of earlier wasm OOM: kotlin.daemon.jvmargs=1024m in gradle.properties (CLI -Dkotlin.daemon.jvmargs is ignored for daemon matching). Measured on this 4GB box with daemon heap bisect: 1280m OOM / 1536m OK (dev), production webpack OK at 2048m (peak: kotlin daemon ~2.0GB + gradle daemon ~0.55GB + node 0.15GB). - gradle.properties: kotlin.daemon.jvmargs=-Xmx2048m -XX:+UseSerialGC - orgflow-ui: wasmJs browser target, CanvasBasedWindow entry, index.html with ComposeTarget canvas + loading overlay - bundleWeb: package production webpack output + index.html (13MB: orgflow-ui.js 0.5MB + app.wasm 8.4MB + skiko.wasm 2.8MB) - web/ now renders the full OrgFlowApp in-browser instead of the domain banner/DOM report page
4 daysdesktop fat jar: bundle skiko natives for all desktop OSesketsuban
compose.desktop.currentOs resolved only linux-x64 runtime, so Windows/macOS users hit missing skiko-windows64.dll(.sha256) on launch. Add explicit skiko-awt-runtime-{windows-x64,macos-arm64,macos-x64} 0.9.4.2 (aligned with CMP 1.8.2) extracted into the fat jar; jar now carries linux/windows/macos natives (66MB) and boots clean on linux
4 daysFix desktop app: OrgFlowRoute class-init cycle + real UI in desktop bundleketsuban
- OrgFlowRoute.all: lazy init — eager companion array froze a null when OrgFlowNavigation's default (Home) triggered subclass-first class init; crashed OrgFlowApp composition with NPE at route.id (verified under Xvfb, fixed build runs clean with all 8 nav entries rendered) - bundleDesktop now packages apps/desktop fat jar (Main-Class jp.orgflow.app.desktop.MainKt, deps merged) + launcher; verified java -jar boots the Compose UI headless (Xvfb) without exceptions
5 daysHarden spec compliance + rich wasm web pageketsuban
- Remove stray nested module copies (orgflow-{storage,git-poa,org,pack,tree}) - Aggregate AnchorId into domain identity/DomainIds.kt (hard rule: IDs in identity files only) - Drop duplicate Measurement classes from orgflow-domain (single log rule; consolidated in orgflow-debug), prune domainModule/ FourthDivisionTest - wasm web page: live DOM report (ActivityTree demo + ContentStore CID via content-store dep) instead of banner-only console; styled index.html - Compose-for-Wasm UI attempted but reverted: whole-program wasm compile OOMs on the 4GB CI box even for a minimal Compose app
5 daysDeepen 1st Division + integration: config loading, ACO feedback, TCP ↵ketsuban
relay/signaling, apps wired to UI - fsmp-core: FsmpConfigLoader (fsmp-defaults/waterline/ob-sca-v/aco/peer-limits JSON via okio, partial+corrupt tolerant), OB-SCA-V weights wired from config, FsmpEngine.applyFeedback feeds ACO route learning, ChunkMind priority uses routeScores, simulation tests (full mesh, slow peer, repair storm cap, feedback) - fsmp-transport: TcpSignalingClient (JVM sockets, replay buffer) + LoopbackDataChannelPort pair with tests - fsmp-relay: RelayStateStore (okio atomic JSON snapshot), TcpRelayServer (HELLO handshake, base64 chunk frames, OK/DROP acks), RelayServerMain --port/--state wiring - orgflow-debug: DecisionTraceAdapter maps fsmp-core DecisionTrace to measurement events; drop duplicate Measurement classes from orgflow-domain - apps: desktop uses OrgFlowApp (nav shell), Android exercises coordinator+capture - zero-bridge-api: add iosArm64/iosSimulatorArm64/iosX64 targets
5 daysImplement 1st Division (FSMP) + 2nd Division (UI) modulesketsuban
- fsmp-core: ch.14/15 pipeline (ChunkMind/OB-SCA-V/Waterline/PagePriority/ SSS/FluidInjection/SeparatorAnchor/Billiard/ACO/ChunkCache/BottomPool/ RepairPriority), frame codec+fragmenter/reassembler/replay guard, role-grouped messages, topology (partial mesh), runtime (event bus/ scheduler/state machine/coordinator), consistency policies; 10 tests - fsmp-transport: ch.16/17 transport API, signaling envelope/client, WebRTC port model with backpressure controller, ICE candidate mapper, route feedback, QR bootstrap encode/validate; tests - fsmp-relay: ch.18 selective chunk forwarder (cache/index/manifest verifier/ACK aggregator/repair coordinator/sessions) + jvm server skeleton + koin module - orgflow-ui: ch.4-10 Compose MP app scaffold (nav/theme/screens/ components), 5W1H capture form, agenda, experiment table + graph tab + GUI-Lisp editor/autocomplete/error hint/preview, presentation builder, distribution waterline board, workspace QR invite, onboarding - orgflow-capture: 5W1H data-driven templates + service + commit coordinator (agent), orgflow-experiment: table model + GUI-Lisp interpreter with defun limits + chart compiler (agent) - orgflow-tree/git-poa/zero-bridge-wasm remainders filled - Fix lisp map/filter/reduce raw function args, group-count key quoting, capture schedule detection
6 daysFix baseline compile: AndroidX flag, PresentationExporter dup, dp import, ↵ketsuban
Android driver schema
6 daysbuildbot: add setup-git-auth step before Git stepketsuban
Worker is a Jenkins Docker container with /run/secrets/git_pass but no .git-credentials. Add a ShellCommand step to create it before Git fetch.
6 daysdeploy: sync buildbot master.cfg (password-leak fix)ketsuban
6 daysbuildbot: fix password leak in sourcestamps + deploy cmdlineketsuban
- Remove GIT_CREDS from URL and use .git-credentials + credential.helper store - Remove GIT_CREDS from env file (only WORKER_PASS remains) - Use curl --netrc-file instead of -u flag in deploy step - Update install.sh to set up git credential.helper
6 daysImplement crypto/debug/presentation modules + zero-bridge + fix app shellsketsuban
6 daysFix non-JVM HmacService hex formatting (String.format is JVM-only)ketsuban
6 daysFix crypto: jvm HmacService uses javax.crypto; other targets use okioketsuban
6 daysbundleWasmNode: read package from root build dirketsuban
6 daysFix bundleWasmNode package path for multi-module namingketsuban
6 daysFix desktop launcher jar glob for multi-module namingketsuban
6 daysFix IntegrityVerifier object usage in testsketsuban
6 daysFix common HMAC byte operations and desktop banner importketsuban
6 daysApp: static banner + version bump 0.2.0 (datetime Clock broke iOS lane)ketsuban
6 daysch.21: HMAC-SHA256 all targets + AES-GCM jvm actual; visible deploy bannerketsuban
7 daysops/: CI watcher, worker bootstrap, backup & legacy auth scriptsketsuban
7 daysapps/android: application plugin + defaultConfig (verified)ketsuban
7 daysFix settings quote style for android app includeketsuban
7 daysAndroid application module (APK) + wire into settingsketsuban
7 daysdesktop: application{} + Window(onCloseRequest)ketsuban
7 daysdesktop: use androidx.compose.ui.window.Windowketsuban
7 daysApply kotlin compose compiler pluginketsuban
7 daysdesktop packageVersion must be >=1.0.0 for CMP nativeDistributionsketsuban
7 daysRestore composeMultiplatform version entryketsuban
7 daysFix quote style in settings includeketsuban
7 daysCompose desktop app shell (2nd Division entry point)ketsuban
7 daysFix judge test values above thresholdsketsuban
7 daysFix FourthDivision test expectationsketsuban