Problem
With --body-limit 200MB set (verified identical behavior via the flag and via JSS_BODY_LIMIT=200MB), pushing solid-chat/app (13.6MB repo) via jss install still produces 413 responses on some of the git-receive-pack POSTs (jss 0.0.207):
"url":"/public/apps/chat/git-receive-pack","statusCode":200 (×2)
"url":"/public/apps/chat/git-receive-pack","statusCode":413 (×2)
A 13.6MB pack should never trip a 200MB cap, so something else is rejecting those POSTs. Candidates worth checking:
- size-string parsing of the limit (
"200MB" → parseSize) silently failing for some path and falling back to a smaller route-level cap
- a per-route/route-config
bodyLimit on the git handler that doesn't inherit the global override
- git's multi-POST behavior (probe + pack, or per-branch packs in the dual-push) where one POST hits a different limit
Despite the 413s, the working tree extracts and the app serves — which turns this into a misleading-failure UX (see companion issue on jss install reporting).
Also noticed: jss start --print-config doesn't include bodyLimit, which made diagnosing this harder — worth adding while in here.
Repro: fresh pod jss start --port 5778 --root /tmp/x --idp --single-user --single-user-password me --git --body-limit 200MB, then mkdir -p /tmp/x/public/apps and jss install --pod http://localhost:5778 "solid-chat/app=chat".
Problem
With
--body-limit 200MBset (verified identical behavior via the flag and viaJSS_BODY_LIMIT=200MB), pushingsolid-chat/app(13.6MB repo) viajss installstill produces 413 responses on some of thegit-receive-packPOSTs (jss 0.0.207):A 13.6MB pack should never trip a 200MB cap, so something else is rejecting those POSTs. Candidates worth checking:
"200MB"→parseSize) silently failing for some path and falling back to a smaller route-level capbodyLimiton the git handler that doesn't inherit the global overrideDespite the 413s, the working tree extracts and the app serves — which turns this into a misleading-failure UX (see companion issue on
jss installreporting).Also noticed:
jss start --print-configdoesn't includebodyLimit, which made diagnosing this harder — worth adding while in here.Repro: fresh pod
jss start --port 5778 --root /tmp/x --idp --single-user --single-user-password me --git --body-limit 200MB, thenmkdir -p /tmp/x/public/appsandjss install --pod http://localhost:5778 "solid-chat/app=chat".