From a01cea241a5d836e68ad1e4a574853f684e8319c Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Tue, 7 Mar 2023 16:00:53 +0100 Subject: [PATCH 1/6] [mod] [#412] [BREAKING] Move unofficial adapters under `community` dir --- src/taoensso/sente/server_adapters/{ => community}/aleph.clj | 2 +- src/taoensso/sente/server_adapters/{ => community}/dogfort.cljs | 2 +- src/taoensso/sente/server_adapters/{ => community}/express.cljs | 2 +- .../sente/server_adapters/{ => community}/generic_node.cljs | 2 +- src/taoensso/sente/server_adapters/{ => community}/immutant.clj | 2 +- .../sente/server_adapters/{ => community}/macchiato.cljs | 2 +- .../sente/server_adapters/{ => community}/nginx_clojure.clj | 2 +- src/taoensso/sente/server_adapters/{ => community}/undertow.clj | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) rename src/taoensso/sente/server_adapters/{ => community}/aleph.clj (97%) rename src/taoensso/sente/server_adapters/{ => community}/dogfort.cljs (91%) rename src/taoensso/sente/server_adapters/{ => community}/express.cljs (98%) rename src/taoensso/sente/server_adapters/{ => community}/generic_node.cljs (98%) rename src/taoensso/sente/server_adapters/{ => community}/immutant.clj (96%) rename src/taoensso/sente/server_adapters/{ => community}/macchiato.cljs (96%) rename src/taoensso/sente/server_adapters/{ => community}/nginx_clojure.clj (97%) rename src/taoensso/sente/server_adapters/{ => community}/undertow.clj (98%) diff --git a/src/taoensso/sente/server_adapters/aleph.clj b/src/taoensso/sente/server_adapters/community/aleph.clj similarity index 97% rename from src/taoensso/sente/server_adapters/aleph.clj rename to src/taoensso/sente/server_adapters/community/aleph.clj index 78c05be0..11214ffd 100644 --- a/src/taoensso/sente/server_adapters/aleph.clj +++ b/src/taoensso/sente/server_adapters/community/aleph.clj @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.aleph +(ns taoensso.sente.server-adapters.community.aleph "Sente server adapter for Aleph (https://github.com/ztellman/aleph)." {:author "Soren Macbeth (@sorenmacbeth)"} (:require diff --git a/src/taoensso/sente/server_adapters/dogfort.cljs b/src/taoensso/sente/server_adapters/community/dogfort.cljs similarity index 91% rename from src/taoensso/sente/server_adapters/dogfort.cljs rename to src/taoensso/sente/server_adapters/community/dogfort.cljs index 4e664ccc..47414eea 100644 --- a/src/taoensso/sente/server_adapters/dogfort.cljs +++ b/src/taoensso/sente/server_adapters/community/dogfort.cljs @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.dogfort +(ns taoensso.sente.server-adapters.community.dogfort "Sente server adapter for Node.js with Dog Fort (https://github.com/whamtet/dogfort)." {:author "Matthew Molloy <@whamtet>"} diff --git a/src/taoensso/sente/server_adapters/express.cljs b/src/taoensso/sente/server_adapters/community/express.cljs similarity index 98% rename from src/taoensso/sente/server_adapters/express.cljs rename to src/taoensso/sente/server_adapters/community/express.cljs index cd7153c2..d1c98245 100644 --- a/src/taoensso/sente/server_adapters/express.cljs +++ b/src/taoensso/sente/server_adapters/community/express.cljs @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.express +(ns taoensso.sente.server-adapters.community.express "Sente server adapter for Node.js with Express (http://expressjs.com/). This adapter works differently that the others as Sente is diff --git a/src/taoensso/sente/server_adapters/generic_node.cljs b/src/taoensso/sente/server_adapters/community/generic_node.cljs similarity index 98% rename from src/taoensso/sente/server_adapters/generic_node.cljs rename to src/taoensso/sente/server_adapters/community/generic_node.cljs index a57e8d82..8e99fbf3 100644 --- a/src/taoensso/sente/server_adapters/generic_node.cljs +++ b/src/taoensso/sente/server_adapters/community/generic_node.cljs @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.generic-node +(ns taoensso.sente.server-adapters.community.generic-node "Sente server adapter for Node.js using the `ws` and `http` libraries. Ref. https://github.com/websockets/ws, https://nodejs.org/api/http.html, diff --git a/src/taoensso/sente/server_adapters/immutant.clj b/src/taoensso/sente/server_adapters/community/immutant.clj similarity index 96% rename from src/taoensso/sente/server_adapters/immutant.clj rename to src/taoensso/sente/server_adapters/community/immutant.clj index 1a0e4506..5a0ed117 100644 --- a/src/taoensso/sente/server_adapters/immutant.clj +++ b/src/taoensso/sente/server_adapters/community/immutant.clj @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.immutant +(ns taoensso.sente.server-adapters.community.immutant "Sente server adapter for Immutant v2+ (http://immutant.org/)." {:author "Toby Crawley (@tobias)"} (:require diff --git a/src/taoensso/sente/server_adapters/macchiato.cljs b/src/taoensso/sente/server_adapters/community/macchiato.cljs similarity index 96% rename from src/taoensso/sente/server_adapters/macchiato.cljs rename to src/taoensso/sente/server_adapters/community/macchiato.cljs index 358c7161..8883b705 100644 --- a/src/taoensso/sente/server_adapters/macchiato.cljs +++ b/src/taoensso/sente/server_adapters/community/macchiato.cljs @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.macchiato +(ns taoensso.sente.server-adapters.community.macchiato "Sente server adapter for Node.js with the Macchiato Framework (https://macchiato-framework.github.io/)." {:author "Andrew Phillips <@theasp>"} diff --git a/src/taoensso/sente/server_adapters/nginx_clojure.clj b/src/taoensso/sente/server_adapters/community/nginx_clojure.clj similarity index 97% rename from src/taoensso/sente/server_adapters/nginx_clojure.clj rename to src/taoensso/sente/server_adapters/community/nginx_clojure.clj index e4feb560..e1d0e27c 100644 --- a/src/taoensso/sente/server_adapters/nginx_clojure.clj +++ b/src/taoensso/sente/server_adapters/community/nginx_clojure.clj @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.nginx-clojure +(ns taoensso.sente.server-adapters.community.nginx-clojure "Sente server adapter for Nginx-Clojure v0.4.2+ (http://nginx-clojure.github.io/)." {:author "Zhang Yuexiang (@xfeep)"} diff --git a/src/taoensso/sente/server_adapters/undertow.clj b/src/taoensso/sente/server_adapters/community/undertow.clj similarity index 98% rename from src/taoensso/sente/server_adapters/undertow.clj rename to src/taoensso/sente/server_adapters/community/undertow.clj index 7eef3658..5058ed43 100644 --- a/src/taoensso/sente/server_adapters/undertow.clj +++ b/src/taoensso/sente/server_adapters/community/undertow.clj @@ -1,4 +1,4 @@ -(ns taoensso.sente.server-adapters.undertow +(ns taoensso.sente.server-adapters.community.undertow "Sente server adapter for ring-undertow-adapter." {:author "Nik Peric"} (:require From b30bb34402da4f162ed211db8f6a058757ef2348 Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Fri, 24 Feb 2023 09:32:01 +0100 Subject: [PATCH 2/6] [nop] Bump deps --- example-project/project.clj | 23 +++++++++++------------ project.clj | 16 ++++++++-------- src/taoensso/sente.cljc | 4 +--- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/example-project/project.clj b/example-project/project.clj index 924b262c..1978e157 100644 --- a/example-project/project.clj +++ b/example-project/project.clj @@ -11,12 +11,12 @@ :dependencies [[org.clojure/clojure "1.11.1"] - [org.clojure/clojurescript "1.11.57"] - [org.clojure/core.async "1.5.648"] - [org.clojure/tools.nrepl "0.2.13"] ; Optional, for Cider + [org.clojure/clojurescript "1.11.60"] + [org.clojure/core.async "1.6.673"] + [nrepl "1.0.0"] ; Optional, for Cider [com.taoensso/sente "1.17.0"] ; <--- Sente - [com.taoensso/timbre "5.2.1"] + [com.taoensso/timbre "6.1.0"] ;;; TODO Choose (uncomment) a supported web server ----------------------- [http-kit "2.6.0"] ; Default @@ -27,8 +27,8 @@ ;; [info.sunng/ring-jetty9-adapter "0.14.2"] ;; ----------------------------------------------------------------------- - [ring "1.9.5"] - [ring/ring-defaults "0.3.3"] ; Includes `ring-anti-forgery`, etc. + [ring "1.9.6"] + [ring/ring-defaults "0.3.4"] ; Includes `ring-anti-forgery`, etc. ;; [ring-anti-forgery "1.3.0"] [compojure "1.7.0"] ; Or routing lib of your choice @@ -37,14 +37,13 @@ ;;; Transit deps optional; may be used to aid perf. of larger data payloads ;;; (see reference example for details): [com.cognitect/transit-clj "1.0.329"] - [com.cognitect/transit-cljs "0.8.269"]] + [com.cognitect/transit-cljs "0.8.280"]] :plugins - [[lein-pprint "1.3.2"] - [lein-ancient "0.7.0"] - ;[com.cemerick/austin "0.1.6"] - [lein-cljsbuild "1.1.8"] - [cider/cider-nrepl "0.28.4"]] ; Optional, for use with Emacs + [[lein-pprint "1.3.2"] + [lein-ancient "0.7.0"] + [lein-cljsbuild "1.1.8"] + [cider/cider-nrepl "0.30.0"]] ; Optional, for use with Emacs :cljsbuild {:builds diff --git a/project.clj b/project.clj index ea181dda..fbd651a2 100644 --- a/project.clj +++ b/project.clj @@ -11,11 +11,11 @@ *assert* true} :dependencies - [[org.clojure/core.async "1.5.648"] - [com.taoensso/encore "3.23.0"] + [[org.clojure/core.async "1.6.673"] + [com.taoensso/encore "3.50.0"] [org.java-websocket/Java-WebSocket "1.5.3"] [org.clojure/tools.reader "1.3.6"] - [com.taoensso/timbre "5.2.1"]] + [com.taoensso/timbre "6.1.0"]] :plugins [[lein-pprint "1.3.2"] @@ -27,7 +27,7 @@ {;; :default [:base :system :user :provided :dev] :server-jvm {:jvm-opts ^:replace ["-server"]} :provided {:dependencies [[org.clojure/clojure "1.10.2"] - [org.clojure/clojurescript "1.11.57"]]} + [org.clojure/clojurescript "1.11.60"]]} :1.8 {:dependencies [[org.clojure/clojure "1.8.0"]]} :1.9 {:dependencies [[org.clojure/clojure "1.9.0"]]} :1.10 {:dependencies [[org.clojure/clojure "1.10.2"]]} @@ -36,15 +36,15 @@ :dev [:1.11 :test :server-jvm :depr] :test {:dependencies [[com.cognitect/transit-clj "1.0.329"] - [com.cognitect/transit-cljs "0.8.269"] + [com.cognitect/transit-cljs "0.8.280"] [org.clojure/test.check "1.1.1"] [http-kit "2.6.0"] [org.immutant/web "2.1.10"] [nginx-clojure "0.5.3"] - [aleph "0.4.7"] + [aleph "0.6.1"] [macchiato/core "0.2.22"] - [luminus/ring-undertow-adapter "1.2.5"] - [info.sunng/ring-jetty9-adapter "0.17.6"]]}} + [luminus/ring-undertow-adapter "1.3.0"] + [info.sunng/ring-jetty9-adapter "0.18.5"]]}} :cljsbuild {:test-commands {"node" ["node" :node-runner "target/main.js"] diff --git a/src/taoensso/sente.cljc b/src/taoensso/sente.cljc index 6da9ee9a..d94edd9d 100644 --- a/src/taoensso/sente.cljc +++ b/src/taoensso/sente.cljc @@ -90,9 +90,7 @@ #?(:cljs (:require-macros [taoensso.sente :as sente-macros :refer [elide-require]])) #?(:clj (:import [org.java_websocket.client WebSocketClient]))) -(if (vector? taoensso.encore/encore-version) - (enc/assert-min-encore-version [2 105 0]) - (enc/assert-min-encore-version 2.105)) +(enc/assert-min-encore-version [3 49 0]) (def sente-version "Useful for identifying client/server mismatch" [1 11 0]) From 798e50ee800cf3827c74fcd099d2b67ab13a28ee Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Fri, 24 Feb 2023 16:00:40 +0100 Subject: [PATCH 3/6] v1.18.0-SNAPSHOT --- example-project/project.clj | 4 ++-- project.clj | 2 +- src/taoensso/sente.cljc | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/example-project/project.clj b/example-project/project.clj index 1978e157..9ad81424 100644 --- a/example-project/project.clj +++ b/example-project/project.clj @@ -1,4 +1,4 @@ -(defproject com.taoensso.examples/sente "1.17.0" +(defproject com.taoensso.examples/sente "1.18.0-SNAPSHOT" :description "Sente, reference web-app example project" :url "https://github.com/ptaoussanis/sente" :license {:name "Eclipse Public License" @@ -15,7 +15,7 @@ [org.clojure/core.async "1.6.673"] [nrepl "1.0.0"] ; Optional, for Cider - [com.taoensso/sente "1.17.0"] ; <--- Sente + [com.taoensso/sente "1.18.0-SNAPSHOT"] ; <--- Sente [com.taoensso/timbre "6.1.0"] ;;; TODO Choose (uncomment) a supported web server ----------------------- diff --git a/project.clj b/project.clj index fbd651a2..9da31a54 100644 --- a/project.clj +++ b/project.clj @@ -1,4 +1,4 @@ -(defproject com.taoensso/sente "1.17.0" +(defproject com.taoensso/sente "1.18.0-SNAPSHOT" :author "Peter Taoussanis " :description "Realtime web comms for Clojure/Script" :url "https://github.com/ptaoussanis/sente" diff --git a/src/taoensso/sente.cljc b/src/taoensso/sente.cljc index d94edd9d..4b7480a3 100644 --- a/src/taoensso/sente.cljc +++ b/src/taoensso/sente.cljc @@ -91,9 +91,7 @@ #?(:clj (:import [org.java_websocket.client WebSocketClient]))) (enc/assert-min-encore-version [3 49 0]) - -(def sente-version "Useful for identifying client/server mismatch" - [1 11 0]) +(def sente-version "Useful for identifying client/server mismatch" [1 18 0]) #?(:cljs (def ^:private node-target? (= *target* "nodejs"))) From 797c809dc915fe26f5bac10d6673bd0243332c1d Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Thu, 16 Mar 2023 12:29:34 +0100 Subject: [PATCH 4/6] [nop] Remove stale recommendations --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 61a055aa..9ae79bd1 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,6 @@ > **Sen-te** (先手) is a Japanese [Go] term used to describe a play with such an overwhelming follow-up that it demands an immediate response, leaving its player with the initiative. -(I'd also recommend checking out James Henderson's [Chord] and Kevin Lynagh's [jetty7-websockets-async] as possible alternatives!) - ## Features * **Bidirectional a/sync comms** over both **WebSockets** and **Ajax** (auto-fallback) * **It just works**: auto keep-alives, buffering, protocol selection, reconnects From bddcf65a373d202e734bc91bdace52af57ea6e91 Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Thu, 16 Mar 2023 14:36:41 +0100 Subject: [PATCH 5/6] [nop] Update project.clj template --- project.clj | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/project.clj b/project.clj index 9da31a54..64fbcb50 100644 --- a/project.clj +++ b/project.clj @@ -2,13 +2,15 @@ :author "Peter Taoussanis " :description "Realtime web comms for Clojure/Script" :url "https://github.com/ptaoussanis/sente" - :license {:name "Eclipse Public License" - :url "http://www.eclipse.org/legal/epl-v10.html" - :distribution :repo - :comments "Same as Clojure"} :min-lein-version "2.3.3" - :global-vars {*warn-on-reflection* true - *assert* true} + + :license + {:name "Eclipse Public License 1.0" + :url "http://www.eclipse.org/legal/epl-v10.html"} + + :global-vars + {*warn-on-reflection* true + *assert* true} :dependencies [[org.clojure/core.async "1.6.673"] From 56906bca8d53a47604db36a2b85ce253e8605b19 Mon Sep 17 00:00:00 2001 From: Jeff Rose Date: Thu, 6 Apr 2023 13:18:15 -0600 Subject: [PATCH 6/6] fixing a bug in arraybuffer binary data unwrapped v2 --- src/taoensso/sente.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/taoensso/sente.cljc b/src/taoensso/sente.cljc index 4b7480a3..f6e3345e 100644 --- a/src/taoensso/sente.cljc +++ b/src/taoensso/sente.cljc @@ -214,7 +214,7 @@ (enc/str-starts-with? packed "+") [(subs packed 1) :v1/wrapped] (enc/str-starts-with? packed "-") [(subs packed 1) :v1/unwrapped] :else [ packed :v2/unwrapped]) - packed)) + [packed :v2/unwrapped])) (comment (parse-packed "+[[\"foo\"] \"uuid\"]"))