mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-06-09 12:45:58 -05:00
Open
opened 2026-05-29 06:44:01 -05:00 by GiteaMirror
·
0 comments
No Branch/Tag Specified
main
dependabot/npm_and_yarn/hono-4.12.21
dependabot/cargo/tar-0.4.46
dependabot/npm_and_yarn/qs-6.15.2
codex-review/pr-457
migrate-vite-plus
fix/native-tls-legacy-servers
gschier/cli-plugin-send-render-http
pr-413
codex/cli-dev-plugin-dir-root
cli-improvements-2
mcp-client-plan
actions-system
omnara/premium-deviator
omnara/repose-aversion
copilot/create-beta-tag-for-main
v2026.4.0
v2026.4.0-beta.3
v2026.4.0-beta.2
v2026.4.0-beta.1
v2026.3.1
yaak-cli-0.6.2
v2026.3.0
v2026.3.0-beta.10
yaak-cli-0.6.1
yaak-cli-0.5.2
yaak-cli-0.5.1
yaak-cli-0.5.0
v2026.3.0-beta.9
v2026.3.0-beta.8
v2026.3.0-beta.7
v2026.3.0-beta.6
yaak-cli-0.4.0
yaak-cli-0.4.0-beta.10
yaak-cli-0.4.0-beta.9
yaak-cli-0.4.0-beta.8
yaak-cli-0.4.0-beta.7
yaak-cli-0.4.0-beta.6
yaak-cli-0.4.0-beta.4
yaak-cli-0.4.0-beta.5
yaak-cli-0.4.0-beta.3
yaak-api-0.8.3
yaak-api-0.8.1
yaak-api-0.8.2
yaak-cli-0.4.0-beta.2
yaak-cli-0.4.0-beta.1
v2026.3.0-beta.5
v2026.2.4
v2026.3.0-beta.4
v2026.2.3
v2026.3.0-beta.3
v2026.2.2
v2026.3.0-beta.2
v2026.2.1
v2026.2.1-beta.1
v2026.2.0
v2026.2.0-beta.12
v2026.2.0-beta.11
v2026.2.0-beta.10
v2026.2.0-beta.9
v2026.2.0-beta.8
v2026.2.0-beta.7
v2026.2.0-beta.6
v2026.2.0-beta.5
v2026.2.0-beta.4
v2026.2.0-beta.3
v2026.2.0-beta.2
v2026.1.2
v2026.2.0-beta.1
v2026.1.1
v2026.1.0
v2025.10.0-beta.15
v2025.10.0-beta.14
v2025.10.0-beta.13
v2025.10.0-beta.12
v2025.10.0-beta.11
v2025.10.0-beta.10
v2025.10.0-beta.9
v2025.10.0-beta.8
v2025.10.0-beta.7
v2025.10.0-beta.6
v2025.10.0-beta.5
v2025.10.0-beta.4
v2025.10.0-beta.3
v2025.9.3
v2025.10.0-beta.2
v2025.10.0-beta.1
v2025.9.2
v2025.9.2-beta.2
v2025.9.2-beta.1
v2025.9.1
v2025.9.0
v2025.9.0-beta.10
v2025.9.0-beta.9
v2025.9.0-beta.8
v2025.9.0-beta.7
v2025.9.0-beta.6
v2025.9.0-beta.5
v2025.9.0-beta.4
v2025.9.0-beta.3
v2025.8.2
v2025.9.0-beta.2
v2025.9.0-beta.1
v2025.8.1
v2025.8.0
v2025.8.0-beta.1
v2025.7.3
v2025.7.2
v2025.7.1
v2025.7.0
v2025.7.0-beta.5
v2025.7.0-beta.4
v2025.7.0-beta.3
v2025.7.0-beta.2
v2025.7.0-beta.1
v2025.6.1
v2025.6.0
v2025.6.0-beta.10
v2025.6.0-beta.8
v2025.6.0-beta.9
v2025.6.0-beta.7
v2025.6.0-beta.6
v2025.6.0-beta.5
v2025.6.0-beta.4
v2025.6.0-beta.3
v2025.6.0-beta.2
v2025.6.0-beta.1
v2025.5.6
v2025.5.5
v2025.5.4
v2025.5.3
v2025.5.2
v2025.5.1
v2025.5.0
v2025.5.0-beta.9
v2025.5.0-beta.8
v2025.5.0-beta.7
v2025.5.0-beta.6
v2025.5.0-beta.5
v2025.5.0-beta.4
v2025.5.0-beta.3
v2025.5.0-beta.2
v2025.5.0-beta.1
v2025.4.0
v2025.4.0-beta.5
v2025.4.0-beta.4
v2025.4.0-beta.3
v2025.4.0-beta.2
v2025.4.0-beta.1
v2025.3.1
v2025.3.0
v2025.3.0-beta.4
v2025.3.0-beta.3
v2025.2.3
v2025.3.0-beta.2
v2025.3.0-beta.1
v2025.2.2
v2025.2.1
v2025.2.0
v2025.2.0-beta.16
v2025.2.0-beta.15
v2025.2.0-beta.14
v2025.2.0-beta.13
v2025.2.0-beta.12
v2025.2.0-beta.11
v2025.2.0-beta.10
v2025.2.0-beta.9
v2025.2.0-beta.8
v2025.2.0-beta.7
v2025.2.0-beta.6
v2025.2.0-beta.5
v2025.2.0-beta.4
v2025.2.0-beta.3
v2025.2.0-beta.2
v2025.2.0-beta.1
v2025.1.2
v2025.1.1
v2025.1.0
v2025.1.0-rc.1
v2025.1.0-beta.15
v2025.1.0-beta.14
v2025.1.0-beta.13
v2025.1.0-beta.11
v2025.1.0-beta.10
v2025.1.0-beta.9
v2025.1.0-beta.8
v2025.1.0-beta.7
v2025.1.0-beta.6
v2025.1.0-beta.5
v2025.1.0-beta.4
v2025.1.0-beta.3
v2025.1.0-beta.2
v2025.1.0-beta.1
v2024.13.0
v2024.13.0-beta.1
v2024.12.1
v2024.12.0
v2024.12.0-beta.6
v2024.12.0-beta.5
v2024.12.0-beta.4
v2024.12.0-beta.3
v2024.12.0-beta.2
v2024.12.0-beta.1
v2024.11.5
v2024.11.4
v2024.11.3
v2024.11.2
v2024.11.1
v2024.11.0-beta.9
v2024.11.0
v2024.11.0-beta.8
v2024.11.0-beta.7
v2024.11.0-beta.6
v2024.11.0-beta.5
v2024.11.0-beta.4
v2024.11.0-beta.3
v2024.11.0-beta.2
v2024.11.0-beta.1
v2024.10.1
v2024.10.0
v2024.10.0-beta.6
v2024.10.0-beta.5
v2024.10.0-beta.4
v2024.10.0-beta.3
v2024.9.1
v2024.10.0-beta.2
v2024.9.0
v2024.10.0-beta.1
v2024.9.0-beta.3
v2024.9.0-beta.2
v2024.9.0-beta.1
v2024.8.2
v2024.8.1
v2024.8.0
v2024.8.0-beta.5
v2024.8.0-beta.4
v2024.8.0-beta.3
v2024.8.0-beta.2
v2024.8.0-beta.1
v2024.7.0
v2024.7.0-beta.11
v2024.7.0-beta.10
v2024.7.0-beta.9
v2024.7.0-beta.8
v2024.7.0-beta.7
v2024.7.0-beta.6
v2024.7.0-beta.5
v2024.7.0-beta.4
v2024.7.0-beta.3
v2024.7.0-beta.2
v2024.7.0-beta.1
v2024.6.6
v2024.6.5
v2024.6.4
v2024.6.3
v2024.6.2
v2024.6.1
v2024.6.0
v2024.6.0-beta.1
v2024.5.2
v2024.5.1
v2024.5.1-beta.1
v2024.5.0
v2024.5.0-beta.1
v2024.4.2
v2024.4.1
v2024.4.0
v2024.4.0-beta.3
v2024.4.0-beta.2
v2024.4.0-beta.1
v2024.3.10
v2024.3.9
v2024.3.8
v2024.3.7
v2024.3.6
v2024.3.5
v2024.3.4
v2024.3.3
v2024.3.2
v2024.3.1
v2024.3.0
v2024.3.0-beta.2
v2024.3.0-beta.1
v2024.2.0
v2024.1.0
v2024.0.1
v2024.0.1-beta.2
v2024.0.1-beta.1
v2024.0.0
v2023.4.0-beta.4
v2023.4.0-beta.3
v2023.4.0-beta.2
v2023.4.0-beta.1
v2023.3.0
v2023.3.0-beta.2
v2023.3.0-beta.1
v2023.2.0
v2023.1.7
v2023.0.20
v2023.0.19
v2023.0.18
v2023.0.17
v2023.0.16
v2023.0.15
v2023.0.14
v2023.0.12
v2023.0.11
v2023.0.10
v2023.0.9
v2023.0.8
v2023.0.7
v2023.0.6
v2023.0.5
v2023.0.4
v2023.0.3
v2022.0.1
v2023.0.1
v2023.0.0
v0.0.2
v0.0.1
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/yaak#2635
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/mountain-loop/yaak/pull/465
Author: @simon446
Created: 5/21/2026
Status: 🔄 Open
Base:
main← Head:fix-openapi-colon-paths📝 Commits (2)
7b7f1beResolve:ambiguity in URL path placeholders52ee7b6Render path-only URLs with leading:placeholders as chips📊 Changes
11 files changed (+133 additions, -24 deletions)
View changed files
📝
apps/yaak-client/components/HttpRequestPane.tsx(+2 -3)📝
apps/yaak-client/components/WebsocketRequestPane.tsx(+2 -3)📝
apps/yaak-client/components/core/Editor/twig/pathParameters.ts(+7 -2)📝
apps/yaak-client/components/core/Editor/url/highlight.ts(+4 -1)📝
apps/yaak-client/components/core/Editor/url/url.grammar(+10 -3)📝
apps/yaak-client/components/core/Editor/url/url.terms.ts(+6 -6)➕
apps/yaak-client/components/core/Editor/url/url.test.ts(+39 -0)📝
apps/yaak-client/components/core/Editor/url/url.ts(+5 -5)➕
apps/yaak-client/lib/pathPlaceholders.test.ts(+28 -0)➕
apps/yaak-client/lib/pathPlaceholders.ts(+14 -0)📝
crates/yaak-http/src/path_placeholders.rs(+16 -1)📄 Description
Summary
:namepath placeholders were ambiguous when followed by a literal:in the same path segment. The URL grammar matched the placeholder name greedily until/?#, and the Rust resolver's anchor required/?#$after the name — so/users/:id:literalparsed as one big placeholder and never substituted. This PR tightens the grammar so the name excludes:, extends the resolver to accept:as a trailing boundary, and adjusts the editor (chip widget filter, highlight, param-list extraction) so the new boundaries are reflected visually.Before / after
URL field rendering:
Submission
CONTRIBUTING.md.Approved feedback item (required if not a bug fix or small-scope improvement):
Related
:-suffixed path segments show up in the wild for AIP-136 custom methods (e.g./tasks/{id}:cancel,/users/{id}:archive) and any other path style that uses:verbafter a resource id. Before this PR, those URLs rendered with one greedy chip and didn't substitute when sent.Details
Grammar (
url.grammar):Placeholder { ":" ![/?#:]+ }excludes:from the name, and a/-segment now allowsPlaceholder PathSegment?so/:abc:defparses as Placeholder(:abc) + PathSegment(:def).Resolver (
crates/yaak-http/src/path_placeholders.rs): added:to the trailing-boundary regex set so:idin:id:literalsubstitutes correctly. One new unit test.Editor:
pathParameters.ts: chip widgets only render forPlaceholdernodes whose preceding document character is/— filters out the lexer's mid-segment over-emission and the long-standing env-var-followed-by-:abcquirk (${[var]}:abcno longer renders:abcas a spurious chip).highlight.ts: dropped thePlaceholder: t.emphasisstyle — chip widgets fully replace the placeholder text, so the underline was only ever visible on the spurious nodes we now skip.pathPlaceholders.ts(new): sharedextractPathPlaceholdershelper with unit tests, used by bothHttpRequestPaneandWebsocketRequestPaneto keep the URL → params sync consistent.url.test.ts(new): grammar-level test documenting the lexer over-emission the chip filter relies on.Test plan
cargo test -p yaak-http path_placeholder— 9/9 pass, includes newplaceholder_followed_by_literal_colonvp test --runagainstapps/yaak-client/lib/pathPlaceholders.test.tsandapps/yaak-client/components/core/Editor/url/url.test.ts— 8/8 passtsc --noEmitinapps/yaak-client— cleannpm test— 148 passing across JS workspaces, no failurestarget/release/yaak-app-clientand verified the editor visually for/:abc:def,${[env]}:abc, and OpenAPI-imported requests (see Before / after above)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.