Commit graph

147 commits

Author SHA1 Message Date
Peter Taoussanis
2c72d0fbfa v1.0.0-beta15 (2024-08-07) 2024-08-07 11:38:11 +02:00
Peter Taoussanis
946240dda4 [doc] Doc and example improvements 2024-08-07 11:37:00 +02:00
Peter Taoussanis
3b6396426e [nop] Housekeeping 2024-08-07 11:13:49 +02:00
Peter Taoussanis
1756069330 [nop] Tune internal handler rate limits 2024-08-07 11:13:49 +02:00
Peter Taoussanis
d2b3e7201d [nop] Move *middleware* and *ctx* to Encore sigs API 2024-08-07 11:13:49 +02:00
Peter Taoussanis
2d4b049717 [fix] [#14] File handler: Don't truncate gzip output 2024-08-07 11:13:49 +02:00
Peter Taoussanis
6e94215e7a [fix] [#10] OpenTelemetry handler: render keywords as plain strings
Before: `:foo/bar` -> ":foo/bar"
After:  `:foo/bar` ->  "foo/bar"
2024-08-07 11:13:49 +02:00
Peter Taoussanis
863cea15fa [fix] [#11] OpenTelemetry handler: signals without message fail 2024-08-07 11:13:49 +02:00
Peter Taoussanis
19a9744c3f [doc] [#13] Add warning about SLF4J API v1 to wiki 2024-08-07 11:13:49 +02:00
Peter Taoussanis
5ef84a5e41 [nop] Bump deps 2024-08-07 11:13:46 +02:00
Peter Taoussanis
c5116878f3 v1.0.0-beta14 (2024-05-25) 2024-05-25 11:19:09 +02:00
Peter Taoussanis
22c46afa04 [mod] Improve SLF4J, tools.logging interop signals
Incl.:

1. Logger names are now used as namespaces.
   - For SLF4J:         these are typically class names.
   - For tools.logging: these are typically *ns* strings.

2. These now have dedicated :kind (:slf4j, :tools.logging) to make it
   easier for users to set kind-specific min levels.
2024-05-25 11:19:09 +02:00
Peter Taoussanis
8f1035ff97 [nop] Consistent tools.logging terminology
The terminology is necessarily a bit complex because of competing constraints.
2024-05-25 11:19:09 +02:00
Peter Taoussanis
c3ce68b512 [new] Add preliminary docs for lib maintainers, etc. 2024-05-25 10:34:54 +02:00
Peter Taoussanis
8886213a2b [nop] Housekeeping 2024-05-25 00:04:00 +02:00
Peter Taoussanis
fbe9057d82 v1.0.0-beta13 (2024-05-23) 2024-05-23 10:11:30 +02:00
Peter Taoussanis
ca9b27f895 [new] Updates for latest Encore signal toolkit changes 2024-05-23 09:43:55 +02:00
Peter Taoussanis
2810ed79a1 v1.0.0-beta12 (2024-05-14) 2024-05-14 13:43:45 +02:00
Peter Taoussanis
cf31d1f358 [new] Add tests for handlers under high volume 2024-05-14 13:39:05 +02:00
Peter Taoussanis
c746e09b62 [new] Add public default-handler-dispatch-opts 2024-05-14 13:39:05 +02:00
Peter Taoussanis
f050521fbd [new] handler:console: don't cache :*out*/:*err* stream
Support case where `*out*` or `*err*` are being modified after handler
is created.
2024-05-14 13:39:05 +02:00
Peter Taoussanis
fbb7e38157 [nop] Housekeeping 2024-05-14 13:39:05 +02:00
Peter Taoussanis
4bfc0ffc7a v1.0.0-beta11 (2024-05-10) 2024-05-10 15:49:10 +02:00
Peter Taoussanis
d6c9a856dc [mod] pr-signal-fn: key opts API tweaks 2024-05-10 15:49:10 +02:00
Peter Taoussanis
050cd1fa0f [mod] format-signal-fn: key opts API tweaks 2024-05-10 11:43:32 +02:00
Peter Taoussanis
cf72017a5b [fix] pr-signal-fn: wasn't realizing delayed messages
Thanks to @DenisMc for the report!
2024-05-10 11:43:32 +02:00
Peter Taoussanis
ec92808ff4 [new] Add compile-time protection against accidental :msg_ signal option 2024-05-10 11:43:32 +02:00
Peter Taoussanis
7847bd1348 [nop] Housekeeping, docs 2024-05-10 11:43:32 +02:00
Peter Taoussanis
f2ae522c62 v1.0.0-beta10 (2024-05-08) 2024-05-08 09:36:52 +02:00
Peter Taoussanis
1f624b6d50 [mod] pr-signal: switch to single (opts) arity only
For consistency with other utils and handlers
2024-05-08 09:35:02 +02:00
Peter Taoussanis
e7cce0c12b [fix] pr-signal pr-fn support broken
Thanks to @DenisMc for the report!
2024-05-08 09:34:54 +02:00
Peter Taoussanis
8afb25dbf0 v1.0.0-beta9 (2024-05-07) 2024-05-07 14:07:46 +02:00
Peter Taoussanis
213c6470a7 [fix] [#6] Missing root stack trace
Thanks to @FieryCod for the report!
2024-05-07 14:07:34 +02:00
Peter Taoussanis
21c0d5a791 [nop] Housekeeping 2024-05-06 16:26:26 +02:00
Peter Taoussanis
cfb42899c7 v1.0.0-beta8 (2024-05-06) 2024-05-06 16:04:53 +02:00
Peter Taoussanis
34f49bede5 [new] Add handler soft links 2024-05-06 14:59:15 +02:00
Peter Taoussanis
7007e8bd03 [new] Add Slack handler 2024-05-06 14:52:32 +02:00
Peter Taoussanis
9000af14f3 [mod] Handler work, tweak util and handler param style
Incl.:

  - Consistently use map opts for all (even mandatory) args.
    Makes future extensions/changes easier.
2024-05-06 14:50:44 +02:00
Peter Taoussanis
0ff8dafaf3 [nop] Housekeeping 2024-05-06 14:13:54 +02:00
Peter Taoussanis
19d447c44c v1.0.0-beta7 (2024-05-05) 2024-05-05 14:01:42 +02:00
Peter Taoussanis
21cb44e709 [mod] Rename, refactor signal formatting utils
- Simplified some util name (only relevant to folks customizing handler behaviour)
- Merged `format-signal->edn-fn`, `format-signal->json-fn` to single `pr-signal-fn`
2024-05-05 13:58:34 +02:00
Peter Taoussanis
f3659146bf [doc] Doc improvements 2024-05-05 13:58:16 +02:00
Peter Taoussanis
1934ee7623 [new] Add :incl-kvs? opt to edn and JSON formatters 2024-05-05 13:58:16 +02:00
Peter Taoussanis
9a514d1b43 [new] Add :incl-thread?, :incl-kvs? opts to format-signal->str-fn 2024-05-05 13:58:16 +02:00
Peter Taoussanis
c5333faa03 [new] Add :end-with-newline opt to signal formatters
Instead allow format-signal-fn to decide whether or not to end with a newline
2024-05-05 13:58:16 +02:00
Peter Taoussanis
49b6da2cf2 [new] Add TCP, UDP socket handlers 2024-05-05 13:58:16 +02:00
Peter Taoussanis
8cc0a6dbc3 [fix] Broken postal handler subject 2024-05-05 13:58:16 +02:00
Peter Taoussanis
ebe8a957f5 [new] Add experimental :thread key to Clj signals
Only downside/hesitation is that this info *must* be collected at the callsite,
which means that it affects the performance of *all* created signals.

Adds ~30-50 nsecs per signal.
2024-05-05 13:58:16 +02:00
Peter Taoussanis
839143167b [mod] Simplify middleware - don't auto compose
Previously:

  It was possible to provide a vector of middleware fns when creating
  signals or adding handlers, e.g.:

    (event! ::ev-id1 {:middleware [fn1 fn2 ...]}),
    (add-handler! ::handler-id1 <handler-fn> {:middleware [fn1 fn2 ...]})

After this commit:

  Middleware is always expected to be a single fn, or nil.
  A `comp-middleware` util has been added to make it easy to compose multiple
  middleware fns into one.

Motivation:

  The previous (auto-composition) behaviour was nice when adding handlers,
  but incurred a (small but non-trivial) runtime cost when creating signals.

  The actual benefit (convenience) of auto-composition is very small, so
  I've decided to just remove this feature and add the `comp-middleware` util.

  Note that I ruled out the option of doing auto-comp only when adding handlers
  since that've meant an inconsistency and so complexity for little benefit.
2024-05-05 13:58:16 +02:00
Peter Taoussanis
63f488082b [nop] Housekeeping 2024-05-05 13:58:16 +02:00