Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
4ed9908
Update wisp to v0.5.6 (429/503 on WS upgrade connection-limit rejection)
kwsantiago Jun 26, 2026
f892de9
Merge pull request #2 from privkeyio/update-wisp-v0.5.6
MattDHill Jun 26, 2026
4a9c4b2
Update wisp to v0.5.7 (shutdown use-after-free fix)
kwsantiago Jun 27, 2026
7924a4a
Merge pull request #3 from privkeyio/update-wisp-v0.5.7
MattDHill Jun 28, 2026
1778ea7
Update wisp to v0.5.9 (churn + shutdown crash fixes; folds in v0.5.8)
kwsantiago Jun 29, 2026
be897c7
Merge pull request #5 from privkeyio/update-wisp-v0.5.9
MattDHill Jun 29, 2026
a519daa
Update wisp to v0.5.10 (build against upstream http.zig; drop fork)
kwsantiago Jul 1, 2026
81b89d3
Merge pull request #6 from privkeyio/update-wisp-v0.5.10
MattDHill Jul 1, 2026
fe7384b
Update wisp to v0.5.11 (NIP-16 ephemeral relay, spider + connection h…
kwsantiago Jul 7, 2026
472702e
Merge pull request #8 from privkeyio/update-wisp-v0.5.11
MattDHill Jul 7, 2026
5fe5983
Update wisp to v0.5.12 (spider TLS busy-spin + connect/handshake time…
kwsantiago Jul 11, 2026
289cc25
Merge pull request #9 from privkeyio/update-wisp-v0.5.12
MattDHill Jul 11, 2026
064219b
Update wisp to v0.5.13 (NIP-51/Marmot, rate-limiter sharding)
kwsantiago Jul 16, 2026
c2ab7ba
Build wisp from main HEAD (7c07362) as 0.5.13:1 test build
wksantiago Jul 19, 2026
b0e254d
Update wisp to v0.5.14 (query scan cap)
wksantiago Jul 21, 2026
54902b9
Use HTTP health check to detect a wedged relay
wksantiago Aug 10, 2026
0f14044
Bump package to 0.5.14:2
wksantiago Aug 10, 2026
0a54e59
Sync README health check table with HTTP check
wksantiago Aug 10, 2026
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
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ RUN case "${TARGETARCH}" in \
# Pinned to the latest upstream release. Bump WISP_VERSION and WISP_COMMIT to
# update (see UPDATING.md). WISP_COMMIT is the immutable commit the tag points
# to; the guard below fails the build if the tag is ever re-pointed.
ARG WISP_VERSION=v0.5.5
ARG WISP_COMMIT=76a3261369ff4a2b5dedb778e8b1d42184800ea4
ARG WISP_VERSION=v0.5.14
ARG WISP_COMMIT=40ec89eb5439c80a3b3508b5f52fcfd64d76cc9f
RUN git clone --branch ${WISP_VERSION} --depth 1 https://github.com/privkeyio/wisp.git /src && \
HEAD_SHA="$(git -C /src rev-parse HEAD)" && \
if [ "${HEAD_SHA}" != "${WISP_COMMIT}" ]; then \
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ Require NIP-42 authentication (to connect and/or to publish), restrict connectio

| Check | Method | Display | Message |
|-------|--------|---------|---------|
| Relay | Port listening (7777) | "Relay" | "The relay is ready and accepting connections" / "The relay is not responding" |
| Relay | HTTP GET on `http://127.0.0.1:7777/` (5s timeout) | "Relay" | "The relay is ready and accepting connections" / "The relay is not responding" |

---

Expand Down
8 changes: 7 additions & 1 deletion startos/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,14 @@ export const main = sdk.setupMain(async ({ effects }) => {
exec: { command: ['wisp', 'relay', configPath] },
ready: {
display: i18n('Relay'),
// An HTTP fetch, not just a port-listening check: a wedged relay keeps
// its listen socket bound (the kernel still completes handshakes) while
// serving nothing, which checkPortListening reads as healthy. Fetching
// GET / requires wisp to actually respond, so an accept-stalled relay
// fails the check instead of appearing up.
fn: () =>
sdk.healthCheck.checkPortListening(effects, relayPort, {
sdk.healthCheck.checkWebUrl(effects, `http://127.0.0.1:${relayPort}/`, {
timeout: 5000,
successMessage: i18n('The relay is ready and accepting connections'),
errorMessage: i18n('The relay is not responding'),
}),
Expand Down
4 changes: 2 additions & 2 deletions startos/versions/current.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk'

export const current = VersionInfo.of({
version: '0.5.5:0',
version: '0.5.14:2',
releaseNotes: {
en_US:
'Updates wisp to v0.5.5. No behavior change from v0.5.4: wisp now builds against the upstream http.zig and websocket.zig libraries instead of temporary forks, since all of its fixes have been merged upstream. Carries forward every prior fix: the inbound-worker crash fix, crash-safe storage, stable Spider upstream connections, no per-IP cap behind the StartOS proxy, and the diagnosable (ReleaseSafe) build.',
'Updates wisp to v0.5.14. Queries are now bounded in how many stored entries they may scan, so a selective filter matching fewer events than its limit no longer walks the entire database. This fixes severe CPU and major page-fault load on large databases. The new query_scan_multiplier setting (default 20, 0 to disable) controls the bound. The health check now performs an HTTP request so an unresponsive relay is reported as down. Carries forward every prior fix.',
},
migrations: {
up: async ({ effects }) => {},
Expand Down