59 Commits

Author SHA1 Message Date
root
2debd33804 W7e: wasm-preferred dispatch + compile-on-demand; harden unit ABI validator
- Dispatch (linux_fastcgi.cpp): route every request through wasm. On a
  cold/stale artifact, compile the unit on demand (get_shared_unit, forced) and
  serve wasm; native compiler_invoke* remains only as a fallback when wasm
  cannot be made ready (compile failure / backend disabled). Applies to the 4
  handle_complete branches and the CLI socket path.
- backend.cpp: delete the now-vestigial native-only fallback token gate
  (wasm_backend_native_fallback_*), empty since W7d; should_handle now gates on
  config + current artifact + healthy worker only.
- check_unit_wasm.py: skip the defense-in-depth llvm-nm allocator scan when
  llvm-nm SIGSEGVs on a degenerate-but-valid module (e.g. a unit with no
  exported handlers). Fixes site/demo/empty.uce, the last unit that could not
  produce a .wasm; forbidden allocator *exports* are still rejected.

A pi-assisted review caught that the compile-freshness check keys off the .so
mtime only, so force_recompile is required to rebuild a missing/stale .wasm; a
unit already cached in-process whose .wasm later vanished still uses native
fallback (closed in W7e stage B). Native execution is otherwise bypassed for
all real traffic.

Verified: scripts/run_cli_tests.sh --include-wasm-kill -> 87 passed, 0 failed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 18:20:12 +00:00
root
8587fbc5aa wasm runtime: central WS broker, unified handlers, W7d holdouts, membrane completeness
- WS: a dedicated broker process owns HTTP_PORT + every connection; it forwards
  renders to the worker pool over uce.sock (non-blocking) and applies ws_*
  command batches flushed back at workspace teardown. Removes the now-dead
  per-worker websocket executor (-509 lines).
- Dispatch: unify CLI / WebSocket / serve_http / page render through one
  serve_via_wasm(entry_unit, handler) path; handler string -> __uce_<handler>
  export symbol.
- W7d: rewrite zip.uce to the membrane return-value error contract (no C++
  try/catch), error-reporting.uce to genuine wasm traps instead of throw, and
  sharedunit.uce to unit_info(); empty the native-only token gate.
- Membrane: wire ls / mkdir / file_mtime through new uce_host_file_list /
  uce_host_file_mkdir / uce_host_file_mtime hostcalls (resolve_guest_file gains
  directory support). Fixes /doc/index.uce listing nothing; adds a regression
  assertion that the index enumerates items.
- Docs: add docs/wasm-runtime-architecture.md; record the W7e staged native-
  deletion plan in WASM-PROPOSAL.md.

Verified: scripts/run_cli_tests.sh --include-wasm-kill -> 87 passed, 0 failed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:51:51 +00:00
root
15e8d092bc W7+ 2026-06-14 01:37:39 +00:00
udo
6bb4f7f0ad test: port network suite to uce cli runner 2026-06-13 22:58:35 +00:00
udo
b1856c1725 chore: narrow wasm backend entrypoint API 2026-06-13 22:32:02 +00:00
udo
af6500d134 fix: harden wasm w7 entrypoint paths 2026-06-13 22:08:52 +00:00
root
d6421cb8f3 feat: extend wasm backend entrypoints 2026-06-13 21:50:19 +00:00
root
fe83c52411 feat: membrane remaining wasm host surfaces 2026-06-13 20:10:00 +00:00
udo
c84fc86e6c W6 2026-06-13 16:19:52 +00:00
udo
5a56d4f39e W5 2026-06-13 15:10:42 +00:00
Udo
afaa4dd7c0 feat: cut over to WASM backend 2026-06-13 08:42:31 +00:00
udo
577aae076e W3 2026-06-13 02:07:38 +00:00
udo
eb8f303f94 docs: remove unsupported second-plane language roadmap 2026-06-12 20:36:57 +00:00
udo
89b5499c8f fix: harden WASM phase 5 harness 2026-06-12 20:13:07 +00:00
udo
961df2d542 phase 5 2026-06-12 19:55:35 +00:00
udo
80285b7fb4 feat: implement WASM phase 1 DValue ABI 2026-06-12 12:42:56 +00:00
udo
7e2faf1472 spike: validate WASM phase 0 2026-06-12 11:40:26 +00:00
udo
7066da3cde refactor: rename DTree to DValue 2026-06-12 11:05:52 +00:00
udo
941f5aea08 feat: add configurable UCE error pages 2026-06-12 08:59:09 +00:00
udo
b957a2373b chore: ignore Python cache artifacts 2026-06-11 23:06:03 +00:00
udo
20db669589 fix: stabilize runtime follow-up regressions 2026-06-11 23:03:07 +00:00
udo
7f757654b6 fix: harden UCE runtime and starter 2026-06-11 13:44:24 +00:00
Udo
71ddcaf7d4 Consolidate config and base64 helpers 2026-05-21 10:31:21 +00:00
Udo
8b37e7ea1e Fix direct HTTP status sanitizer fallback 2026-05-21 10:19:43 +00:00
Udo
41e9ca219f Streamline hardening helpers and expand coverage 2026-05-21 10:12:11 +00:00
Udo
0d8b74930c Harden HTTP path headers sessions and archives 2026-05-21 09:56:25 +00:00
Udo
d37517041d Add custom server API and runtime limits 2026-05-21 09:36:23 +00:00
Udo
02e153a6a7 Add archive helpers and harden task runtime 2026-05-21 00:00:23 +00:00
Udo
9f7625c7fd working on documentation and more API functions 2026-04-29 12:09:37 +00:00
Udo
cd445f3c9b some cleanup 2026-04-28 12:10:07 +00:00
Udo
223cf4c6e1 website with slop placeholders 2026-04-22 13:31:51 +00:00
Udo
14ebf10a22 changing doc format and HTML literals 2026-04-22 09:31:00 +00:00
Udo
f7b066b374 changing doc format and HTML literals 2026-04-22 01:56:46 +00:00
Udo
8223dcc6b3 I think I need to change the documentation format 2026-04-22 01:32:05 +00:00
udo
b53eb6e4f1 Enhance template parser to handle C++ comments and refactor preprocessing logic
- Updated parser to correctly interpret C++ `//` and `/* ... */` comments within template code.
- Split preprocessing implementation into separate files for better organization.
- Added regression test for comment parsing in templates.
- Adjusted CSS styles for improved layout and readability in documentation.
2026-04-20 21:41:23 +00:00
Udo
dc05f9faa5 PHP familiarity shortcuts 2026-04-19 21:15:52 +00:00
Udo
af642c8167 getting closer to full port of web app starter 2026-04-19 19:44:18 +00:00
Udo
d1167aec3b getting closer to full port of web app starter 2026-04-19 19:09:21 +00:00
Udo
2b5586d7df decided in favor of dedicated COMPONENT() macro, updates to documentation 2026-04-19 11:34:03 +00:00
Udo
be514d63d6 trying to port web app starter from PHP 2026-04-19 09:38:23 +00:00
udo
46d98a092f Enhance WebSocket support: add opcode handling, binary message support, and improve connection validation 2026-04-18 18:41:50 +00:00
udo
86dc93864e Add WebSocket support and enhance chat functionality
- Implement WebSocket handling in the FastCGI server, allowing for real-time communication.
- Introduce functions for managing WebSocket connections, broadcasting messages, and sending to specific connections.
- Create a chat interface in the `websockets.ws.uce` file, including message handling and user notifications.
- Refactor existing code to accommodate WebSocket integration, ensuring compatibility with HTTP requests.
- Update documentation to reflect new features and usage instructions for WebSocket functionality.
2026-04-18 15:10:15 +00:00
udo
cd8f07aaa7 Refactor FastCGI server and compiler, enhance HTTP header parsing, and add WebSocket support
- Refactored FastCGIServer class to improve socket handling and added shutdown functionality.
- Updated compiler functions to streamline HTML and text literal processing.
- Enhanced split_kv function to support uppercase keys and added split_http_headers for better HTTP header parsing.
- Introduced new session management functions to validate and handle session IDs.
- Added WebSocket frame parsing and handling in the URI module.
- Created systemd service scripts for easier deployment and management of the UCE FastCGI runtime.
- Added new test cases for header handling, time parsing, and WebSocket functionality.
2026-04-18 14:04:58 +00:00
Udo
984453f336 update sigh 2022-12-22 06:01:23 +00:00
Udo
392b7224b1 Merge branch 'main' of github.com:ThingamaNet/uce 2022-04-18 23:37:37 +00:00
Udo
364d83b199 doc update 2022-04-18 23:37:21 +00:00
Udo Schroeter
21fdeafb6c
Basic documentation 2022-02-11 11:44:32 +01:00
Udo Schroeter
9e5b7d39e3
Basic readme 2022-02-11 11:22:04 +01:00
Udo
defc628204 packaging 2022-02-11 02:35:06 +00:00
Udo
6f6919f3f0 backage builder 2022-02-11 01:51:32 +00:00