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
Jeff Winkler
3ee90b30d8
SQLite FTS example ( #20 )
...
* SQLite FTS example
* refactor: remove via cfg chaining
---------
Co-authored-by: Joao Goncalves <joao.goncalves01@gmail.com >
2025-11-18 12:09:56 -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
João Gonçalves
6fafd1d6e0
docs: update readme
2025-11-17 17:26:10 -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
e0fa5560ab
Signals fix ( #17 )
...
* Fix signals bug, add test.
* Test
2025-11-16 08:51:04 -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
Jeff Winkler
762635d7d9
Signals were always being sent down - changed flag never cleared. This wiped out the user input area in chat. ( #13 )
...
Publish every 100ms
Co-authored-by: João Gonçalves <joao.goncalves01@gmail.com >
2025-11-15 10:40:07 -01:00
Joao Goncalves
03019364ca
fix: component nil pointer on sync; improve realtimechart example
2025-11-15 03:01:53 -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
João Gonçalves
042975fdd7
docs: update readme
2025-11-14 18:50:15 -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
351bed3ea1
Chatroom 2 ( #10 )
...
* Remove unused method. Don't panic if unknown room.
* Need a Connected() check for rooms publishing - don't do the work of rendering for a dead connection
* Make vars private.
* Linter issues
* Remove Connected()
* Mutation observer. Publish 4x / second.
---------
Co-authored-by: João Gonçalves <joao.goncalves01@gmail.com >
2025-11-13 14:39:37 -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
Jeff Winkler
779718a088
Multi-Room Chat ( #4 )
...
* # This is a combination of 4 commits.
# This is the 1st commit message:
Chatroom example
# This is the commit message #2 :
Avatar styling
# This is the commit message #3 :
Styling
# This is the commit message #4 :
cleanup
* Chatroom example
Avatar styling
Benchmark tests
Cleanup
ignore
Files
Cleanroom chatroom impl
* Rewrite.
* changes
* Fix Deadlocks. Start the rooms. Fix styling. Random things. Bookmarklet.
* Subset data
* Rm file
* Simplify User. Just Comparable.
* Remove method.
2025-11-11 22:30:40 -01:00
Joao Goncalves
5e9740813b
cleanup: go mod
2025-11-11 00:15:44 -01:00
Joao Goncalves
03ce9808e6
feat: add devmode flag; introduce live reload support; update examples
2025-11-11 00:15:44 -01:00
João Gonçalves
a0d672cabe
Update contributing guidelines in README.md
2025-11-09 03:41:45 -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
João Gonçalves
5c80a934e9
Merge pull request #2 from winkler1/race-condition
...
LiveReload, some small changes
2025-11-09 00:31:19 -01:00
Jeff Winkler
3b658ed7d0
LiveReload
2025-11-08 13:05:23 -05:00
João Gonçalves
c1ddb6441e
Update description of Via framework in README
2025-11-07 11:13:42 -01: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
57b22de0e4
chore: update example to be the same as readme
2025-11-03 00:56:27 -01:00
Joao Goncalves
61ce1d4258
docs: update readme
2025-11-03 00:49:32 -01:00
Joao Goncalves
905f1dc5da
docs: update readme
2025-11-03 00:46:52 -01:00
Joao Goncalves
23aebf73f2
feat: improve component support
2025-11-03 00:41:05 -01:00
Joao Goncalves
c0e050b0f8
docs: update readme
2025-11-02 02:49:23 -01:00
Joao Goncalves
0f492d807e
feat: introduce component support
2025-11-02 02:45:20 -01:00
Joao Goncalves
3d09b3110d
refactor: move cation trigger logic to its own file; separate conter and greeter examples
2025-11-02 02:44:27 -01:00
Joao Goncalves
a265f537a6
docs: update readme
2025-10-31 11:39:04 -01:00
Joao Goncalves
7468169412
docs: update readme
2025-10-31 11:31:29 -01:00
Joao Goncalves
7b32590ae6
docs: update readme
2025-10-31 11:26:00 -01:00
Joao Goncalves
f3ae62f954
docs: update readme
2025-10-31 11:10:37 -01:00
Joao Goncalves
f38a7dde39
docs: update readme
2025-10-31 01:53:47 -01:00
Joao Goncalves
f8f0376dbe
docs: update readme
2025-10-31 01:50:43 -01:00