This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-06-09
Channels
- # announcements (1)
- # babashka (14)
- # calva (8)
- # chlorine-clover (3)
- # clerk (6)
- # clj-kondo (27)
- # cljdoc (20)
- # clojars (6)
- # clojure (53)
- # clojure-denver (8)
- # clojure-europe (17)
- # clojure-nl (1)
- # clojure-norway (270)
- # clojure-uk (5)
- # clojurescript (35)
- # community-development (7)
- # cursive (12)
- # datalevin (3)
- # datomic (26)
- # etaoin (23)
- # exercism (1)
- # hyperfiddle (3)
- # java (14)
- # nrepl (2)
- # off-topic (12)
- # pathom (3)
- # portal (44)
- # practicalli (2)
- # reagent (7)
- # releases (1)
- # shadow-cljs (13)
- # timbre (3)
- # xtdb (4)
New Electric bugfix release - v2-alpha-338 — https://github.com/hyperfiddle/electric/blob/master/CHANGELOG.md Please upgrade asap and also please continue to NOT run master as we are landing unstable changes.
I want to draw your attention to something cool in this release – we had an issue where the streaming server clock demo drained mobile battery life even when the tab was not focused, which is due to the websocket API not supporting backpressure yet (!). The fix was to expose the dom-visiblity-state
signal to the server using an e/client
block, so that the clock on the server can pause when the tab is blurred. The point is that the server here can see the dom-visibility-state without any additional coordination or complexity beyond a single https://github.com/hyperfiddle/electric/blob/fef8b661966a26e09f3c0683b0a18c759182747f/src/hyperfiddle/electric.cljc#L193, no heavy HTTP endpoint etc. We think that is really cool, and demonstrates how with Electric we can slice the client/server boundary in highly granular ways we never could have imagined before.
The next release we hope will land a major rewrite of portions of Missionary and Electric based on our learnings, which will unblock a number of major improvements going forward like seamless-resync-on-reconnect (no loss of page state on connection loss), fast incremental builds (compile closures individually, not all at once), and other developer experience improvements. We're also working on "UI5", the next evolution of our crud/forms library with builtin server sync and robust optimistic updates.