Ryan Hamamura
88bd0f31df
feat: add NATS chatroom example with embedded server
...
Demonstrates pub/sub messaging as an alternative to custom Rooms
implementation. Uses delaneyj/toolbelt/embeddednats to run NATS
with JetStream inside the binary - no external server required.
2026-01-16 00:50:05 -10:00
Ryan Hamamura
82a3314089
feat: add SQLite session store support
...
Add NewSQLiteSessionManager helper that creates an SCS session manager
backed by SQLite, allowing sessions to persist across server restarts.
The function handles table creation automatically.
2026-01-15 08:44:27 -10:00
Ryan Hamamura
c77ccc0796
chore: rename module to github.com/ryanhamamura/via
...
Update module path and all internal imports to use the new repository location.
2026-01-14 10:47:11 -10:00
Ryan Hamamura
03b6d7453a
feat: add Redirect and ReplaceURL methods for browser navigation
...
Add SSE-based navigation methods to Context:
- Redirect(url) / Redirectf() - navigate to new page
- ReplaceURL(url) / ReplaceURLf() - update URL without navigation
Update session example to demonstrate full login flow with redirects.
2026-01-12 00:47:52 -10:00
ryanhamamura
9a23188973
feat: add cookie-based session support using alexedwards/scs ( #1 )
...
- Add Session wrapper with typed getters (GetString, GetInt, GetBool, etc.)
- Add flash message support via Pop methods (PopString, PopInt, etc.)
- Add session utilities: Exists, Keys, ID, Clear, Destroy, RenewToken
- Create default session manager in New() for zero-config usage
- Allow custom session manager via Options.SessionManager
- Wrap mux with scs LoadAndSave middleware in Start()
- Add session example demonstrating login/logout with flash messages
2026-01-09 06:59:26 -10: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
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
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
Joao Goncalves
472351d9a5
refactor: simplify signals; small optimizations
2025-11-16 19:53:51 -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
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
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
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
57b22de0e4
chore: update example to be the same as readme
2025-11-03 00:56:27 -01:00
Joao Goncalves
23aebf73f2
feat: improve component support
2025-11-03 00:41:05 -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
eb20a2a0a9
feat: add working prototype for via
2025-10-31 00:58:53 -01:00