Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions .changeset/anti-spam.md

This file was deleted.

19 changes: 19 additions & 0 deletions packages/client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# @meshcorejs/client

## 0.2.0

### Minor Changes

- [#10](https://github.com/meshcorejs/meshcore.js/pull/10) [`d41742f`](https://github.com/meshcorejs/meshcore.js/commit/d41742f68bea30fd9b243d62c3e4827587e2491a) Thanks [@Asuniia](https://github.com/Asuniia)! - Anti-spam guards, on by default and not configurable:

- Commands ignore the Public channel unless they opt in with `setScope('public')` (`CommandScope` gains `'public'`); `channel.send()` and `message.reply()` on Public reject with `PublicChannelError`. `Channel.isPublic`, `PUBLIC_CHANNEL_SECRET`.
- On a channel every refusal is silent (`commandDenied` only) and `@Bot` answers one line (`Replies.helperChannel`). **Breaking:** `Replies.unknownCommandChannel` and `Replies.channelUntrusted` are removed.
- 10 parts per 5 minutes per channel (`CHANNEL_SEND_LIMIT`, `CHANNEL_SEND_WINDOW_MS`), one flood advert per 30 minutes (`ADVERT_FLOOD_INTERVAL_MS`); both reject with `RateLimitError`.
- `new Client({ maxHops })`: commands from further away are ignored (`commandDenied` `tooFar`), `message.reply()` rejects with `TooFarError`.
- `client.radio.request(code, payload, collect?)` sends an unwrapped Companion command through the request queue; the three mesh-transmitting commands are refused (`GuardedCommandError`). `expectType` and `Collector` are exported.

### Patch Changes

- Updated dependencies [[`d41742f`](https://github.com/meshcorejs/meshcore.js/commit/d41742f68bea30fd9b243d62c3e4827587e2491a)]:
- @meshcorejs/protocol@0.2.0
- @meshcorejs/transports@0.2.0
2 changes: 1 addition & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@meshcorejs/client",
"version": "0.1.0",
"version": "0.2.0",
"description": "Build MeshCore bots: a Client with events, managers, builders, plugins and permissions.",
"keywords": [
"meshcore",
Expand Down
13 changes: 13 additions & 0 deletions packages/protocol/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @meshcorejs/protocol

## 0.2.0

### Minor Changes

- [#10](https://github.com/meshcorejs/meshcore.js/pull/10) [`d41742f`](https://github.com/meshcorejs/meshcore.js/commit/d41742f68bea30fd9b243d62c3e4827587e2491a) Thanks [@Asuniia](https://github.com/Asuniia)! - Anti-spam guards, on by default and not configurable:

- Commands ignore the Public channel unless they opt in with `setScope('public')` (`CommandScope` gains `'public'`); `channel.send()` and `message.reply()` on Public reject with `PublicChannelError`. `Channel.isPublic`, `PUBLIC_CHANNEL_SECRET`.
- On a channel every refusal is silent (`commandDenied` only) and `@Bot` answers one line (`Replies.helperChannel`). **Breaking:** `Replies.unknownCommandChannel` and `Replies.channelUntrusted` are removed.
- 10 parts per 5 minutes per channel (`CHANNEL_SEND_LIMIT`, `CHANNEL_SEND_WINDOW_MS`), one flood advert per 30 minutes (`ADVERT_FLOOD_INTERVAL_MS`); both reject with `RateLimitError`.
- `new Client({ maxHops })`: commands from further away are ignored (`commandDenied` `tooFar`), `message.reply()` rejects with `TooFarError`.
- `client.radio.request(code, payload, collect?)` sends an unwrapped Companion command through the request queue; the three mesh-transmitting commands are refused (`GuardedCommandError`). `expectType` and `Collector` are exported.
2 changes: 1 addition & 1 deletion packages/protocol/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@meshcorejs/protocol",
"version": "0.1.0",
"version": "0.2.0",
"description": "MeshCore Companion Radio protocol codec (framing, commands, responses). No I/O.",
"keywords": [
"meshcore",
Expand Down
17 changes: 17 additions & 0 deletions packages/testing/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# @meshcorejs/testing

## 0.2.0

### Patch Changes

- [#10](https://github.com/meshcorejs/meshcore.js/pull/10) [`d41742f`](https://github.com/meshcorejs/meshcore.js/commit/d41742f68bea30fd9b243d62c3e4827587e2491a) Thanks [@Asuniia](https://github.com/Asuniia)! - Anti-spam guards, on by default and not configurable:

- Commands ignore the Public channel unless they opt in with `setScope('public')` (`CommandScope` gains `'public'`); `channel.send()` and `message.reply()` on Public reject with `PublicChannelError`. `Channel.isPublic`, `PUBLIC_CHANNEL_SECRET`.
- On a channel every refusal is silent (`commandDenied` only) and `@Bot` answers one line (`Replies.helperChannel`). **Breaking:** `Replies.unknownCommandChannel` and `Replies.channelUntrusted` are removed.
- 10 parts per 5 minutes per channel (`CHANNEL_SEND_LIMIT`, `CHANNEL_SEND_WINDOW_MS`), one flood advert per 30 minutes (`ADVERT_FLOOD_INTERVAL_MS`); both reject with `RateLimitError`.
- `new Client({ maxHops })`: commands from further away are ignored (`commandDenied` `tooFar`), `message.reply()` rejects with `TooFarError`.
- `client.radio.request(code, payload, collect?)` sends an unwrapped Companion command through the request queue; the three mesh-transmitting commands are refused (`GuardedCommandError`). `expectType` and `Collector` are exported.
- Updated dependencies [[`d41742f`](https://github.com/meshcorejs/meshcore.js/commit/d41742f68bea30fd9b243d62c3e4827587e2491a)]:
- @meshcorejs/protocol@0.2.0
- @meshcorejs/client@0.2.0
- @meshcorejs/transports@0.2.0
2 changes: 1 addition & 1 deletion packages/testing/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@meshcorejs/testing",
"version": "0.1.0",
"version": "0.2.0",
"description": "Test @meshcorejs/client bots without a radio: fake radio, simulated time, DM and channel helpers.",
"keywords": [
"meshcore",
Expand Down
8 changes: 8 additions & 0 deletions packages/transports/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# @meshcorejs/transports

## 0.2.0

### Patch Changes

- Updated dependencies [[`d41742f`](https://github.com/meshcorejs/meshcore.js/commit/d41742f68bea30fd9b243d62c3e4827587e2491a)]:
- @meshcorejs/protocol@0.2.0
2 changes: 1 addition & 1 deletion packages/transports/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@meshcorejs/transports",
"version": "0.1.0",
"version": "0.2.0",
"description": "Serial, TCP and BLE transports for MeshCore Companion radios, plus an in-memory fake radio for tests.",
"keywords": [
"meshcore",
Expand Down
2 changes: 1 addition & 1 deletion plugins/ai/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"peerDependencies": {
"@meshcorejs/client": ">=0.1.0"
"@meshcorejs/client": ">=0.2.0"
},
"devDependencies": {
"@meshcorejs/client": "workspace:*",
Expand Down