* WiP initial setup, ServerSentEventGenerator class
* WiP working merge_fragments in Rails
* #merge_fragments and #merge_signals
* Handle SSE vs Data* options
* Test that #merge_fragments works with a #call(view_context:) interface
* Test Dispatcher#stream
* #remove_fragments
* #remove_signals
* #execute_script
* execute_script with attributes Hash
* Connection: keep-alive
* Use 2 line-breaks as message end, plus last line's 1 line break (3 total)
* Connection callbacks. #on_connect, #on_disconnect, #on_error
* Dispatcher#signals
* Omit retry if using default value (1000)
* Omit defaults
* Multiline scripts
* Test Rack endpoint
* Document test Rack endpoint
* Add missing defaults
* Spawn multiple streams in threads, client_disconnect and server_disconnect handlers
* Move ThreadSpawner to configuration
* Configure a RailsThreadSpawner when Rails detected
* Move Railtie one dir up
* Global error callback
Datastar.config.on_error { |err| Sentry.notify(err) }
* Catch exception from stream threads in main thread
* Linearlize exception handling
* Refactor dispatcher to handle single stream in main thread, multi streams in separate threads
* spawner => executor. Rails Async executor using fibers.
* Support Async for fiber-based concurrency
* Finalize response for Rack and Rails
* test Rack app
* Threaded demo
* Test Dispatcher#sse?
Also do not check for SSE Accept on stream.
Leave it up to the user.
* Do not check Accept header in test app. Test scripts don't send it properly.
* Document code
* Example progress bar Rack app
* README
* Link to D* SSE docs
* See examples
* Document callbacks
* List Ruby SDK in SDKs.md
* Ruby struct in consts.go
* Document running tasks with arguments via Docker
* Code-gen Ruby constants from shared data via template
* Make test rely on constants
* Datastar.from_rack_env(env) => Datastar::Dispatcher
* Ruby example snippets
* #redirect(location)
* Ruby snippet using #redirect(new_path)
* Add X-Accel-Buffering: no header
To disable response buffering by NGinx and other proxies.
* Clarify linearisation of updates in Readme
* Tidy-up progress example
* Move examples to /examples/ruby
* Document Rails and Phlex
* Version 1.0.0.beta.1
* Version 1.0.0.beta.1
* Do not set Connection header if not HTTP/1.1
* Don't touch BUILDING.md docs in this PR
* Remove Changelog for now
* Sort Ruby alphabetically (just "ruby", not the entire line)
* Add hello world example, remove progress bar one.
* Add hello-world example to code-gen
* Typos
* update zig to work on master
* Updated deps, fixed to use tests.zig as root, add datastar as module, refactoring
* Update test_runner.zig. Move tests to root.zig.
* tokamak: use post0 when no body
Datastar responses are also valid SSE responses, and the D* client already sends `Accept: text/event-stream` to the server, so tests should replicate that.
Some servers might rely on this for content negotiation.
Co-authored-by: Ismael Celis <ismaelct@gmail.com>
* sdk/typescript add support for ResponseInit in web stream method
This allows setting custom headers
* sdk/ts elide datalines with default values
* sdk/ts run deno fmt
* sdk/typescript deno lint
* sdk/typescript better error handling for streams
* sdk/typescript improve deno request abortion support and async completion
* sdk/typescript fix type error in error usage
* Refactor: Ring jetty adapter is now a generic ring adapter
Minor changes:
- Properly eliding SSE retry duration
- Added a small utility in the main api.
- Added a new option to the ->sse-response functions to support
modifying the HTTP response status.
- Fixed typos and errors in the docs.
- using consts version number.
- Prepared tests for rj9a
- Properly killing webrivers when shutting down tests
* Docs: fixing the fixed typo
* sdk/dotnet-nuget_version - updated the nuget version to 1.0.0-beta.3
* sdk/dotnet-nuget_version - updated the nuget version to 1.0.0-beta.1
---------
Co-authored-by: Greg Holden <SpiralOSS@users.noreply.github.com>
* sdk/dotnet - more renaming, doco, and code shortening; caching of signals
* sdk/dotnet - added model binding
* sdk/dotnet-model_binding - FromSignals behaves more like other From* attributes
---------
Co-authored-by: Greg Holden <SpiralOSS@users.noreply.github.com>
* add description to the markdownRenders func
* add /api/search using bleve
* wrap search functionality in a basic feature flag
* remove some comments that are not needed
* add desktop styling for search
* undo add feature flag
* mobile styling
* fix: merge correct fragment
* fix: menu item being cut off on mobile
* Add keyboard shortcut to add focus
* fix: loading indicator jank
* Styling tweaks
* remove un-neccessary ids
* Update site.css
---------
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
* Add polling
* Rename file
* Add `how_to_redirect_the_page_from_the_backend`
* Add Hello World example guide
* Add to nav, start on polling
* Remove `.leading` from code snippets
* Fix typo
* How to bind keydown events to specific keys
* How to redirect from the backend (#565)
* Add how tos with demos
* Fixes
* Fixes
* Add snippets
* Rename to location in snippet
* Wording
* Tweaks
* Prep for merging
* Improve wording
---------
Co-authored-by: Dominik Tarnowski <dom@tdom.dev>