30 Commits

Author SHA1 Message Date
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