Commit Graph

29 Commits

Author SHA1 Message Date
Joao Goncalves
43495ccada feat: do full sync after sse reconnect 2025-12-17 23:11:19 -01:00
Joao Goncalves
20dad802a1 feat: replace Handler() method for HTTPServeMux() for better plugin and testing integration; remove via-plugin-picocss dependency from examples; add datastar h.H nodes for data-init, data-effect, and data-ignore-morph; update realtimechart example; other small improvements 2025-12-17 17:11:59 -01:00
Gerard Webb
6da518d990 feat: Add Handler() method and fix SSE closed pipe errors (#24)
* feat: add Handler() method for testing and custom server integration

Exposes the underlying http.Handler to enable:
- Integration testing with gost-dom/browser for SSE/Datastar testing
- Custom server setups (e.g., embedding Via in existing applications)
- Standard Go httptest patterns

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Suppress closed pipe errors when SSE connection closes

Don't log error when SSE fails to send patches if the connection was
already closed. This reduces noise in logs during shutdown and testing,
where browsers/clients close connections before server handlers finish.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: joeblew999 <joeblew999@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 08:51:16 -01:00
Joao Goncalves
81d44954a4 feat: add path params; add pathparams example 2025-12-04 17:53:06 -01:00
Joao Goncalves
26268f698a refactor: simplify oninterval routine; fix(runtime): session end handler; update realtime chart example 2025-12-04 12:40:36 -01:00
Joao Goncalves
51218e7a2a fix(runtime): sync on sse reconnect 2025-11-26 00:33:38 -01:00
Joao Goncalves
36c0fb9050 fix(runtime): solve chan blocks; other small improvements 2025-11-25 23:19:50 -01:00
Joao Goncalves
a71d6f0960 feat: introduce via routine; update realtime chart example 2025-11-25 22:56:21 -01:00
Joao Goncalves
6edace647e fix(via_test): remove signal sync test that was bocking test execution 2025-11-25 22:54:00 -01:00
Joao Goncalves
9776fe0a49 fix: shakespere example not compiling; remove sleep statements from patchChan loop 2025-11-18 13:03:21 -01:00
Joao Goncalves
0064150cbc fix: patchChan loop ending after switching browser tab; feat: improve realtime chart example 2025-11-18 11:17:06 -01:00
Joao Goncalves
f5a786730a fix: check for panics on page registration. Fix header append bug: was appending multiple ctx_id to the header; feat: handle complex signal init values as json; add tests; other small improvemnts 2025-11-17 16:46:33 -01:00
Joao Goncalves
472351d9a5 refactor: simplify signals; small optimizations 2025-11-16 19:53:51 -01:00
Jeff Winkler
2bb5d80502 Use beacon (#19)
Perfect. Tried with send beacon before. Dodn work for me. Because was using get instead o post.
2025-11-16 12:44:03 -01:00
Jeff Winkler
f7b5b24dd5 Script, GH action to check that all go files compile, and any tests pass. (#16) 2025-11-15 17:47:49 -01:00
Joao Goncalves
80879216b2 fix: components not using parent page patchShan; fix: chat example nil pointer error when sync outside action 2025-11-15 02:34:27 -01:00
Joao Goncalves
808d4dd0d1 fix: try solution for race conditions; use brotli included in datastar sdk; small improvements 2025-11-14 17:16:09 -01:00
Jeff Winkler
7670926733 Brotli Compression. (#12)
Co-authored-by: João Gonçalves <joao.goncalves01@gmail.com>
2025-11-13 14:03:45 -01:00
Joao Goncalves
f6c9990f38 feat: devmode removes the persist file after successful restore 2025-11-13 12:30:45 -01:00
Joao Goncalves
b9df99889e feat: introduce ctx close mechanism using beforeunload event; small fixes and improvements; improve live reload example 2025-11-13 12:11:26 -01:00
Joao Goncalves
d282773379 fix: auto reload on multiple browser windows/tabs closes #6; fix: chatroom example not compiling 2025-11-12 02:33:22 -01:00
Joao Goncalves
03ce9808e6 feat: add devmode flag; introduce live reload support; update examples 2025-11-11 00:15:44 -01:00
Joao Goncalves
9f9e4eb568 refactor: move document head includes out of via configuration into their own append funcs; update examples 2025-11-09 03:17:03 -01:00
Jeff Winkler
3b658ed7d0 LiveReload 2025-11-08 13:05:23 -05:00
Joao Goncalves
a46c06b467 feat: introduce support for plugins 2025-11-07 02:45:58 -01:00
Joao Goncalves
798f024743 feat: improve real-time chart example; add small refinements to via core files 2025-11-07 00:44:48 -01:00
Joao Goncalves
c167f0c74f feat: add real-time chart example 2025-11-05 17:29:29 -01:00
Joao Goncalves
23aebf73f2 feat: improve component support 2025-11-03 00:41:05 -01:00
Joao Goncalves
eb20a2a0a9 feat: add working prototype for via 2025-10-31 00:58:53 -01:00