Commits
Patch category: aerie-distribution
When smart-HTTP receive-pack requests include Content-Length, feed git only the remaining declared request bytes after the parsed command prefix. This gives git receive-pack an EOF even when the Worker/container proxy keeps the request body reader open while the client waits for the response.
Patch category: upstreamable-core
For HTTPS receive-pack requests where every requested ref update is a delete or points at an object already present locally, feed only the parsed command prefix to git and close stdin. This avoids smart-HTTP clients hanging while waiting for a response on updates that do not carry a packfile, and lets post-receive side effects run.
Patch category: upstreamable-core
Use an explicit service-auth lexicon method for Git receive-pack discovery and POST routes instead of deriving lxm from Git smart-HTTP path segments such as info/refs or git-receive-pack. This lets real HTTPS pushes present a PDS-issued service auth token scoped to sh.tangled.git.receivePack.
Patch category: upstreamable-core
Patch category: aerie-distribution
Unknown single-segment paths were entering the DID/handle resolver through the bare /{did} route, so scanner probes such as /wp-login.php could pay identity lookup work and return 500. Mount only the concrete git smart-HTTP route shapes under the resolver so unsupported paths use the router's fast 404 instead.
Pin scanner-path regressions and keep the existing git discovery fixture stable across local Git agent string lengths.
Patch category: upstreamable-core
Signed-off-by: Jer Miller <jeremie.miller@gmail.com>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
also fix a few things in templates themselves
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
indigo's `lexutil.Client` doesn't support subscription xrpc methods. New
`extlexutil.Client` extends the `LexDo` method to support subscription.
It won't perform redialing since we don't know which param is cursor and
which property is event sequence.
since lexgen doesn't generate code subscription xrpc methods, we hand
write it. `api/tangled/*_ext.go` files will be treated as non-generated
code.
Signed-off-by: Seongmin Lee <git@boltless.me>
Using `sh.tangled.ci.*` instead of `sh.tangled.pipeline.*` following
lexicon style guidelines. Since we need both 'pipeline' and 'workflow'
objects, we use different group namespace 'ci'.
I would prefer `ci.temp.*` to be more explicit, but that's not possible
with current lexgen's behavior. It sets filename using last two words
which allows duplicates.
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
`sh.tangled.pipeline` events are now completely generated & streamed
from spindle
Signed-off-by: Seongmin Lee <git@boltless.me>
spindle will emit `sh.tangled.pipeline` event on:
- `sh.tangled.git.refUpdate` events from knot stream
- live create/update events of `sh.tangled.repo.pull` records
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Spindle will sync git repo when new repo is registered
Spindle will listen to `sh.tangled.git.refUpdate` event from knot
stream and sync its local git repo instead. Spindle's git repo will
sparse-checkout only `/.tangled/workflows` directory.
Spindle now requires git version >=2.49 for `--revision` flag in `git
clone` command.
References:
- <https://stackoverflow.com/q/47541033/13150270>
- <https://stackoverflow.com/q/600079/13150270>
Signed-off-by: Seongmin Lee <git@boltless.me>
Lewis: May this revision serve well! <lewis@tangled.org>
Lewis: May this revision serve well! <lewis@tangled.org>
Lewis: May this revision serve well! <lewis@tangled.org>
Signed-off-by: oppiliappan <me@oppi.li>
open -> Open, closed -> Closed, etc
Signed-off-by: eti <eti@eti.tf>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: Will <did:plc:dadhhalkfcq3gucaq25hjqon>
Lewis: May this revision serve well! <lewis@tangled.org>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Will <did:plc:dadhhalkfcq3gucaq25hjqon>
Render $...$ / $$...$$ LaTeX in markdown (READMEs, issues, comments) via
client-side MathJax, with detection handled server-side by the Hugo
passthrough extension plus a custom renderer.
Pipeline:
- extension/math.go wraps each math span in <span class="math inline|
display"> carrying the raw LaTeX with MathJax \( \) / \[ \] delimiters.
passthrough handles single-line "$$...$$" blocks and protects markdown
inside math; a Pandoc-style guard (no space-padding, no digit after the
closing $) keeps currency like "$5 ... $10" from being parsed as math.
- layouts/base.html loads MathJax (v4.1.2, tex-svg) on demand, only when a
page contains span.math, and typesets just those nodes. Accessibility
options are disabled as an initial, conservative implementation.
- the sanitizer preserves the math carrier spans.
- MathJax is vendored at build time alongside mermaid (flake.nix, the nix
static-files package, and the localinfra script).
Signed-off-by: oscillatory.net <nick@oscillatory.net>
avatars render correctly now
Signed-off-by: oppiliappan <me@oppi.li>
as per new designs
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
purely decorative change to format timestamps equal to the unix epoch
(1970-01-01T00:00:00Z) as "at the beginning of time"
Updated the SSH keys setting page to document that signing keys are
supported.
Signed-off-by: Matthew Sanabria <me@matthewsanabria.com>
Updated the troubleshooting documentation to note that the SSH public
key used for verifying commit signatures must be uploaded to Tangled.
Signed-off-by: Matthew Sanabria <me@matthewsanabria.com>
Signed-off-by: dawn <dawn@tangled.org>
Lewis: May this revision serve well! <lewis@tangled.org>
Lewis: May this revision serve well! <lewis@tangled.org>
Signed-off-by: dawn <dawn@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
also improves global `<select>` styling

resolves
[TAN-436](https://linear.app/tangled/issue/TAN-436/branch-selector-max-width-is-too-small)
Signed-off-by: eti <eti@eti.tf>


resolves
[TAN-537](https://linear.app/tangled/issue/TAN-537/responsive-pr-state-selector)
Signed-off-by: eti <eti@eti.tf>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
also updates url on live search
Signed-off-by: oppiliappan <me@oppi.li>
When smart-HTTP receive-pack requests include Content-Length, feed git only the remaining declared request bytes after the parsed command prefix. This gives git receive-pack an EOF even when the Worker/container proxy keeps the request body reader open while the client waits for the response.
Patch category: upstreamable-core
For HTTPS receive-pack requests where every requested ref update is a delete or points at an object already present locally, feed only the parsed command prefix to git and close stdin. This avoids smart-HTTP clients hanging while waiting for a response on updates that do not carry a packfile, and lets post-receive side effects run.
Patch category: upstreamable-core
Use an explicit service-auth lexicon method for Git receive-pack discovery and POST routes instead of deriving lxm from Git smart-HTTP path segments such as info/refs or git-receive-pack. This lets real HTTPS pushes present a PDS-issued service auth token scoped to sh.tangled.git.receivePack.
Patch category: upstreamable-core
Patch category: aerie-distribution
Unknown single-segment paths were entering the DID/handle resolver through the bare /{did} route, so scanner probes such as /wp-login.php could pay identity lookup work and return 500. Mount only the concrete git smart-HTTP route shapes under the resolver so unsupported paths use the router's fast 404 instead.
Pin scanner-path regressions and keep the existing git discovery fixture stable across local Git agent string lengths.
Patch category: upstreamable-core
Signed-off-by: Jer Miller <jeremie.miller@gmail.com>
indigo's `lexutil.Client` doesn't support subscription xrpc methods. New
`extlexutil.Client` extends the `LexDo` method to support subscription.
It won't perform redialing since we don't know which param is cursor and
which property is event sequence.
since lexgen doesn't generate code subscription xrpc methods, we hand
write it. `api/tangled/*_ext.go` files will be treated as non-generated
code.
Signed-off-by: Seongmin Lee <git@boltless.me>
Using `sh.tangled.ci.*` instead of `sh.tangled.pipeline.*` following
lexicon style guidelines. Since we need both 'pipeline' and 'workflow'
objects, we use different group namespace 'ci'.
I would prefer `ci.temp.*` to be more explicit, but that's not possible
with current lexgen's behavior. It sets filename using last two words
which allows duplicates.
Signed-off-by: Seongmin Lee <git@boltless.me>
Spindle will sync git repo when new repo is registered
Spindle will listen to `sh.tangled.git.refUpdate` event from knot
stream and sync its local git repo instead. Spindle's git repo will
sparse-checkout only `/.tangled/workflows` directory.
Spindle now requires git version >=2.49 for `--revision` flag in `git
clone` command.
References:
- <https://stackoverflow.com/q/47541033/13150270>
- <https://stackoverflow.com/q/600079/13150270>
Signed-off-by: Seongmin Lee <git@boltless.me>
Render $...$ / $$...$$ LaTeX in markdown (READMEs, issues, comments) via
client-side MathJax, with detection handled server-side by the Hugo
passthrough extension plus a custom renderer.
Pipeline:
- extension/math.go wraps each math span in <span class="math inline|
display"> carrying the raw LaTeX with MathJax \( \) / \[ \] delimiters.
passthrough handles single-line "$$...$$" blocks and protects markdown
inside math; a Pandoc-style guard (no space-padding, no digit after the
closing $) keeps currency like "$5 ... $10" from being parsed as math.
- layouts/base.html loads MathJax (v4.1.2, tex-svg) on demand, only when a
page contains span.math, and typesets just those nodes. Accessibility
options are disabled as an initial, conservative implementation.
- the sanitizer preserves the math carrier spans.
- MathJax is vendored at build time alongside mermaid (flake.nix, the nix
static-files package, and the localinfra script).
Signed-off-by: oscillatory.net <nick@oscillatory.net>
Signed-off-by: dawn <dawn@tangled.org>