forked from openclaw/openclaw
-
Notifications
You must be signed in to change notification settings - Fork 19
Sync/upstream 2026 03 07 #97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
342 commits
Select commit
Hold shift + click to select a range
76bfd9b
Agents: add generic poll-vote action support
gumadeiras 7597fc5
fix(ollama): pass provider headers to Ollama stream function (#24285)
7531a3e
test(ollama): add default header precedence coverage
shakkernerd e6f0203
chore(changelog): add PR entry openclaw#24337 thanks @echoVic
shakkernerd efdf2ca
Outbound: allow text-only plugin adapters
liuxiaopai-ai bb07b2b
Outbound: avoid empty multi-media fallback sends
liuxiaopai-ai a970cae
chore(changelog): align outbound adapter entry openclaw#32788 thanks …
shakkernerd 698c200
fix(outbound): fail media-only text-only adapter fallback
shakkernerd 2123265
chore(changelog): clarify outbound media-only fallback openclaw#32788…
shakkernerd 4cc293d
fix(review): enforce behavioral sweep validation
shakkernerd 2b98cb6
Fix gateway restart false timeouts on Debian/systemd (#34874)
vincentkoc df0f2e3
Compaction/Safeguard: require structured summary headings (#25555)
rodrigouroz 53b2479
Fix Linux daemon install checks when systemd user bus env is missing …
vincentkoc 4242c51
agents: preserve totalTokens on request failure instead of using cont…
RealKai42 96021a2
fix: align AGENTS.md template section names with post-compaction extr…
echoVic 8c5692a
Changelog: add daemon systemd user-bus fallback entry (#34884)
vincentkoc 9c68470
Changelog: add gateway restart health entry (#34874)
vincentkoc b3fb881
fix: finalize spanish locale support
dvrshil ed05810
fix: add spanish locale support (#35038) (thanks @DaoPromociones)
dvrshil 809f951
fix(deps): patch hono transitive audit vulnerabilities
shakkernerd da0e245
fix(security): avoid prototype-chain account path checks (#34982)
HOYALIM 4d06c90
fix(deps): bump tar to 7.5.10
shakkernerd 4989485
docs(changelog): document dependency security fixes
shakkernerd 432e022
fix: restore auto-reply system events timeline (#34794) (thanks @anis…
anisoptera 63ce7c7
fix(feishu): comprehensive reply mechanism — outbound replyToId forwa…
guoqunabc 68e68bf
fix(feishu): use msg_type media for mp4 video (fixes #33674) (#33720)
polooooo 8b8167d
fix(agents): bypass pendingDescendantRuns guard for cron announce del…
Sid-Qin 3bf6ed1
Feishu: harden streaming merge semantics and final reply dedupe (#33245)
rexl2018 1059b40
fix: cron backup should preserve pre-edit snapshot (#35195) (#35234)
0xsline 79d00ae
fix(cron): stabilize restart catch-up replay semantics (#35351)
Takhoffman 28dc2e8
cron: narrow startup replay backoff guard (#35391)
Takhoffman cc5dad8
cron: unify stale-run recovery and preserve manual-run every anchors …
Takhoffman 4bd3469
refactor(telegram): remove unused webhook callback helper (#27816)
huntharo 5d5fa0d
fix(pr): make review claim step required
shakkernerd 48decef
fix(skills): deduplicate slash commands by skillName across all inter…
fb4f52b
style: fix formatting in skill-commands.test.ts and provider.ts
b5a94d2
style(skills): align formatting cleanup for dedupe changes
shakkernerd 1805735
chore(changelog): add dedupe note openclaw#27521 thanks @shivama205
shakkernerd 987e473
fix(agents): detect Venice provider proxying xAI/Grok models for sche…
Sid-Qin ce0c131
fix(agents): decode HTML entities in xAI/Grok tool call arguments (#3…
Sid-Qin d9b69a6
fix(agents): guard promoteThinkingTagsToBlocks against malformed cont…
Sid-Qin 8891e1e
fix(web-ui): render Accounts schema node properly (#35380)
stakeswky 463fd47
fix(agents): guard context pruning against malformed thinking blocks …
Sid-Qin c4dab17
fix(gateway): prevent internal route leakage in chat.send
alexyyyander 3a6b412
fix(gateway): pass actual version to Control UI client instead of dev…
Sid-Qin 60849f3
chore(pr): enforce changelog placement and reduce merge sync churn
shakkernerd 2c8ee59
TTS: add baseUrl support to OpenAI TTS config (#34321)
RealKai42 6a705a3
ACP: add persistent Discord channel and Telegram topic bindings (#34873)
dutifulbob c522154
docs(telegram): recommend allowlist for single-user DM policy (#34841)
echoVic 06ff25c
fix(feishu): check response.ok before calling response.json() in stre…
Sid-Qin e5b6a4e
Mattermost: honor onmessage mention override and add gating diagnosti…
turian 4dc0c66
fix(subagents): strip leaked [[reply_to]] tags from completion announ…
vincentkoc 544abc9
fix(cron): restore direct fallback after announce failure in best-eff…
Takhoffman 9741e91
test(cron): add cross-channel announce fallback regression coverage (…
Takhoffman 136ca87
feat(mattermost): add interactive buttons support (#19957)
tonydehnke 8d48235
fix(browser): remove deprecated --disable-blink-features=AutomationCo…
Sid-Qin ba223c7
fix(feishu): add HTTP timeout to prevent per-chat queue deadlocks (#3…
ayanesakura b9f3f8d
fix(feishu): use probed botName for mention checks (#36391)
liuxiaopai-ai 627b37e
Feishu: honor bot mentions by ID despite aliases (Fixes #36317) (#36333)
dingn42 89b303c
Mattermost: switch plugin-sdk imports to scoped subpaths (openclaw#36…
Takhoffman 2972d6f
fix(feishu): accept groupPolicy "allowall" as alias for "open" (#36358)
Sid-Qin 995ae73
synthesis: fix Feishu group mention slash parsing
Sid-Qin 174eeea
Feishu: normalize group slash command probing
liuxiaopai-ai 09c68f8
add prependSystemContext and appendSystemContext to before_prompt_bui…
maweibin bc66a8f
fix(feishu): avoid media regressions from global HTTP timeout (#36500)
Takhoffman 72cf925
Gateway: add SecretRef support for gateway.auth.token with auth-mode …
joshavant 60a6d11
fix(embedded): classify model_context_window_exceeded as context over…
RealKai42 6c03761
fix(agents): skip compaction API call when session has no real messag…
Sid-Qin edc386e
fix(ui): catch marked.js parse errors to prevent Control UI crash (#3…
BinHPdev 709dc67
fix(session): archive old transcript on daily/scheduled reset to prev…
byungsker 591264e
fix(agents): set preserveSignatures to isAnthropic in resolveTranscri…
Sid-Qin 8ac7ce7
fix: avoid false global rate-limit classification from generic cooldo…
stakeswky f014e25
refactor(agents): share failover HTTP status classification (#36615)
altaywtf 029c473
fix(failover): narrow service-unavailable to require overload indicat…
jnMetaCode 036c329
Compaction/Safeguard: add summary quality audit retries (#25556)
rodrigouroz 6859619
test(agents): add provider-backed failover regressions (#36735)
altaywtf 837b7b4
Docs: add Slack typing reaction fallback
vincentkoc 1d3962a
Docs: update gateway config reference for Slack and TTS
vincentkoc 6b2c115
Docs: clarify OpenAI-compatible TTS endpoints
vincentkoc 2b45eb0
Docs: document Control UI locale support
vincentkoc 98aecab
Docs: cover heartbeat, cron, and plugin route updates
vincentkoc 999b7e4
fix(ui): bump dompurify to 3.3.2 (#36781)
vincentkoc 0c08e3f
UI: hoist lifecycle connect test mocks (#36788)
vincentkoc 49acb07
fix(agents): classify insufficient_quota 400s as billing (#36783)
altaywtf aad372e
feat: append UTC time alongside local time in shared Current time lin…
jriff 60d3363
fix(auth): grant senderIsOwner for internal channels with operator.ad…
Sid-Qin a0b731e
fix(config): prevent RangeError in merged schema cache key generation
powermaster888 7830366
fix(slack): propagate mediaLocalRoots through Slack send path
2233admin b9a20dc
fix(slack): preserve dedupe while recovering dropped app_mention (#34…
littleben 97ea9df
README: add algal to contributors list (#2046)
joshavant 063e493
fix: decouple Discord inbound worker timeout from listener timeout (#…
dutifulbob 688b72e
plugins: enforce prompt hook policy with runtime validation (#36567)
gumadeiras f771ba8
fix(memory): avoid destructive qmd collection rebinds
vignesh07 6dfd39c
Harden Telegram poll gating and schema consistency (#36547)
gumadeiras 06a229f
fix(browser): close tracked tabs on session cleanup (#36666)
vignesh07 1a67cf5
Diffs: restore system prompt guidance (#36904)
gumadeiras c260e20
fix(routing): avoid full binding rescans in resolveAgentRoute (#36915)
vignesh07 d86a12e
fix(gateway): honor insecure ws override for remote hostnames
vignesh07 3cd4978
fix(llm-task): load runEmbeddedPiAgent from dist/extensionAPI in inst…
vignesh07 92b4892
fix(auth): harden openai-codex oauth login path
vignesh07 d58dafa
feat(telegram/acp): Topic Binding, Pin Binding Message, Fix Spawn Par…
huntharo d326861
fix(gateway): preserve streamed prefixes across tool boundaries
vignesh07 cec5535
fix(tui): prevent stale model indicator after /model
vignesh07 fb289b7
Memory: handle SecretRef keys in doctor embeddings (#36835)
joshavant 8088218
fix(openai-codex): request required oauth api scopes (#24720)
vignesh07 94fdee2
fix(memory-flush): ban timestamped variant files in default flush pro…
zerone0x 6084c26
fix(tui): render final event error when assistant output is empty (#1…
vignesh07 7a22b3f
feat(agents): flush reply pipeline before compaction wait (#35489)
Sid-Qin 1ab9393
fix(secrets): harden api key normalization for ByteString headers
vignesh07 b39ca7e
fix(slack): remove double mrkdwn conversion in native streaming path
littleben 909f26a
fix(kimi-coding): normalize anthropic tool payload format
vignesh07 1efa7a8
fix(slack): thread channel ID through inbound context for reactions (…
dunamismax 604f22c
fix(heartbeat): pin HEARTBEAT.md reads to workspace path
vignesh07 2f86ae7
fix(subagents): recover announce cleanup after kill/complete race
vignesh07 71ec421
feat(hooks): emit compaction lifecycle hooks (#16788)
vincentkoc fa3fafd
fix(auth): harden openai-codex oauth refresh fallback
vignesh07 81b93b9
fix(subagents): announce delivery with descendant gating, frozen resu…
tyler6204 4daaea1
fix(agents): avoid synthetic tool-result writes on idle-timeout cleanup
vignesh07 05fb16d
fix(agent): harden undici stream timeouts for long openai-completions…
vignesh07 ce71fac
fix(slack): record app_mention retry key before dedupe check (#37033)
Takhoffman d45353f
fix(agents): honor explicit rate-limit cooldown probes in fallback runs
vignesh07 36afd1b
fix(agents): allow configured ollama endpoints without dummy api keys
vignesh07 87e38da
fix(memory): recover qmd updates from duplicate document constraints
vignesh07 e5481ac
Doctor: warn on implicit heartbeat directPolicy (#36789)
vincentkoc d4021f4
Plugins: clarify registerHttpHandler migration errors (#36794)
vincentkoc 16f9f4d
fix(memory): repair qmd collection name conflicts during ensure
vignesh07 91aed29
fix(memory): handle qmd search results without docid
vignesh07 428d176
Plugins: avoid false integrity drift prompts on unpinned updates (#37…
vincentkoc 9881a74
Changelog: add #37179 release note
vincentkoc 8f69e07
Delete changelog/fragments directory
vincentkoc 10fe82f
Update CHANGELOG.md
vincentkoc 4d9134f
fix(whatsapp): remove implicit [openclaw] self-chat prefix
vignesh07 8c85ad5
fix: remove config.schema from agent gateway tool (#7382)
kakuteki 5d4b040
feat(openai): add gpt-5.4 support for API and Codex OAuth (#36590)
dorukardahan 8d4a2f2
fix(tui): preserve credential-like tokens in render sanitization
vignesh07 0e42450
CLI: make read-only SecretRef status flows degrade safely (#37023)
joshavant ca80914
chore(changelog): update for #37023
joshavant 2671f04
fix(agents): disable usage streaming chunks on non-native openai-comp…
vignesh07 36e2e04
feat(nano-banana-pro): add --aspect-ratio flag to generate_image.py (…
BrennerSpear 9c86a9f
fix(gateway): support image_url in OpenAI chat completions (#34068)
vincentkoc e11a077
fix(agents): avoid xAI web_search tool-name collisions
vignesh07 8c2633a
fix: clear Telegram DM draft after materialize (#36746) (thanks @joel…
obviyus 6c39616
Fix Control UI duplicate iMessage replies for internal webchat turns …
vincentkoc 0e2bc58
fix: enforce 600 perms for cron store and run logs (#36078)
aerelune 726ef48
fix(tui): accept canonical session-key aliases in chat event routing
vignesh07 9dab154
Gateway: normalize OpenAI stream chunk text
vincentkoc a939a15
Gateway: coerce chat deliverable route boolean
vincentkoc dfe23b9
fix(web_search): align brave language codes with API
vignesh07 777af47
Respect source channel for agent event surfacing (#36030)
Octane0411 5fdcef7
fix(session): prefer webchat routes for direct ui turns (#37135)
frankekn ff33460
Gateway: discriminate input sources
vincentkoc a622aee
Cron: migrate legacy provider delivery hints
vincentkoc 44ec3e4
Cron: stabilize runs-one-shot migration tests
vincentkoc 30c0f7e
fix(memory): retry mcporter after Windows EINVAL spawn
vignesh07 c5828cb
fix(onboarding): guard daemon status probe on headless linux
vignesh07 ff97195
Gateway: add path-scoped config schema lookup (#37266)
gumadeiras 5b03ce7
docs(changelog): add pr entry
gumadeiras ee6f7b1
fix(ci): restore protocol and schema checks (#37470)
altaywtf a65d70f
Fix failover for zhipuai 1310 Weekly/Monthly Limit Exhausted (#33813)
zhouhe-xydt a4a490b
fix(openai-codex-oauth): stop mutating authorize url scopes
vignesh07 cbb96d9
Update CHANGELOG.md
vignesh07 bdd3685
fix(auth): remove bogus codex oauth responses probe
obviyus f051c14
docs(changelog): fold codex oauth fix notes
obviyus ae56597
docs(changelog): add codex oauth pr reference (#37558)
obviyus 01b2017
fix(failover): classify HTTP 402 as rate_limit when payload indicates…
xinhuagu 4a80d48
fix(mattermost): allow reachable interaction callback URLs (#37543)
mukhtharcm fa6c0e1
Gateway: allow slash-delimited schema lookup paths
gumadeiras fee91fe
feature(context): extend plugin system to support custom context mana…
jalehman 9fed9f1
fix(session): tighten direct-session webchat routing matching (#37867)
vincentkoc e88f660
docs(tools): document slash-delimited config schema lookup paths
vincentkoc f788ba1
docs(protocol): document slash-delimited schema lookup plugin ids
vincentkoc eb2eeba
docs(plugins): document context engine slots and registration
vincentkoc 7cc3376
docs(plugins): add context-engine manifest kind example
vincentkoc 5470337
docs(config): list the context engine plugin slot
vincentkoc 151f260
docs: context engine
vincentkoc 86a89d9
fix(nano-banana-pro): remove space after MEDIA: token in generate_ima…
QuantDeveloperUSA a820c63
CI: drop unused install-smoke bootstrap
vincentkoc 37a3fb0
nano-banana-pro: respect explicit --resolution when editing images (#…
shuofengzhang 05c2cbf
Skills/nano-banana-pro: clarify MEDIA token comment (#38063)
vincentkoc 9917a3f
CI: run changed-scope on main pushes
vincentkoc 9c1786b
Telegram/Discord: honor outbound mediaMaxMb uploads (#38065)
vincentkoc 7c45d91
Docs: align BlueBubbles media cap wording
vincentkoc 20038fb
openai-image-gen: validate --background and --style options (#36762)
shuofengzhang 222d635
WhatsApp: honor outbound mediaMaxMb (#38097)
vincentkoc a274ef9
Mattermost: harden interaction callback binding (#38057)
vincentkoc f392b81
Infra: require explicit opt-in for prerelease npm installs (#38117)
vincentkoc 81f22ae
openai-image-gen: validate and normalize --output-format (#36648)
shuofengzhang 9aceb51
Gateway: normalize HEIC input_image sources (#38122)
vincentkoc 6a9deb2
CI: cover skill and extension tests
vincentkoc d000316
fix: Windows: openclaw plugins install fails with spawn EINVAL
e6bf69b
fix: Telegram API requests fail with Network request failed after
59895f9
fix: narrow Telegram failed-after retry match
obviyus f9d86b9
chore: prep #38056 for landing (thanks @0xlin2023)
obviyus 9521e61
Gateway: follow up HEIC input image handling (#38146)
vincentkoc b127333
fix(feishu): restore explicit media request timeouts
obviyus 4ed5feb
chore(extensions): sync plugin versions
obviyus d070c44
fix(gateway): keep probe routes reachable with root-mounted control u…
vincentkoc 57f19f0
container builds: opt-in extension deps via OPENCLAW_EXTENSIONS build…
sallyom e3390bf
CI: add Barnacle r: too-many-prs guard
vincentkoc b782538
fix: tune stale workflow limits
thewilloftheshadow 3e967cb
fix: add stale workflow fallback run
thewilloftheshadow 8f834ff
chore: update X handle
thewilloftheshadow 9a1a63a
chore: disable contributor labels
thewilloftheshadow 3d7bc59
feat(onboarding): add web search to onboarding flow (#34009)
kesku 067ec4f
CI: shallow scope checkouts
vincentkoc afdbc47
Install Smoke: shallow docs-scope checkout
vincentkoc 60d20f9
Install Smoke: allow reusing prebuilt test images
vincentkoc 5e05a9c
Install Smoke: cache docker smoke builds
vincentkoc 38f46e8
chore: code/dead tests cleanup (#38286)
vincentkoc 084dfd2
Media: reject spoofed input_image MIME payloads (#38289)
vincentkoc ec3df0d
CI: scope secret scans to changed files
vincentkoc b529b7c
Docs: update secret scan reproduction steps
vincentkoc 6611298
CI: keep full secret scans on main
vincentkoc 042b2c8
Docs: clarify main secret scan behavior
vincentkoc e9919ea
CI: add base-commit fetch helper
vincentkoc 9c464c2
CI: fetch base history on demand
vincentkoc 82eebc9
Install Smoke: fetch docs base on demand
vincentkoc 9c55299
CI: skip detect-secrets on main temporarily
vincentkoc 768736d
Tooling: add Knip workspace config
vincentkoc b70d3c4
Tooling: wire deadcode scripts to Knip
vincentkoc b17baca
CI: enable report-only Knip deadcode job
vincentkoc ab5fcfc
feat(gateway): add channel-backed readiness probes (#38285)
vincentkoc 7ce79c8
docs: fix broken dashboard image on i18n pages (#38031)
angrybirddd 20db7af
fix(feishu): remove invalid timeout properties from SDK method calls …
ant1eicher 864a1ec
docs: add changelog entry for Feishu timeouts (#38356)
thewilloftheshadow c301c5d
fix: add no-ci-pr auto-response label
thewilloftheshadow 91494b2
fix: repair auto-response workflow YAML
thewilloftheshadow e601bf2
fix(pi-embedded-runner): propagate sender identity to fix Feishu doc …
cszhouwei 110ca23
Feishu: update media timeout tests
vincentkoc 6e962d8
fix(agents): handle overloaded failover separately (#38301)
altaywtf a190220
Tests: serialize low-memory test runner lanes
vincentkoc 455430a
Dead code: remove unused helper modules (#38318)
vincentkoc 03b9aba
feat(compaction): make post-compaction context sections configurable …
efe-arv ae96a81
fix: strip skill-injected env vars from ACP harness spawn env (#36280…
taw0002 48b3c4a
fix(auth): treat unconfigured-owner sessions as owner for ownerOnly t…
widingmarcus-cyber 942c53e
fix(agents): prevent totalTokens crash when assistant usage is missin…
sp-hk2ldn 5320ee7
fix(venice): harden discovery limits and tool support (#38306)
vincentkoc adb9234
fix(imessage): prevent echo loop from leaking internal metadata and a…
joelnishanth 3070faf
fix(venice): switch default model to kimi-k2-5 (#38423)
vincentkoc 42e3d8d
Secrets: add inline allowlist review set (#38314)
vincentkoc 063b9aa
fix: xxxxx
vincentkoc 74959fc
Dependencies: remove unused core and UI packages (#38316)
vincentkoc 2d52c88
fix(podman): stop assuming /tmp is disk-backed (#38296)
vincentkoc 75981b0
Dependencies: remove unused extension packages (#38317)
vincentkoc bf623a5
Agents: add skill API rate-limit guardrail (#38452)
vincentkoc 563a125
fix(gateway): stop shared-main chat.send from inheriting stale extern…
vincentkoc ba9eaf2
fix(media): retain inbound media with recursive cleanup TTL (#38292)
vincentkoc a01978b
fix(googlechat): inherit shared defaults for multi-account webhook au…
Takhoffman 930d793
Merge upstream into sync/upstream-2026-03-07
siri666942 c4914b6
Merge origin/main into sync/upstream-2026-03-07
siri666942 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| name: Ensure base commit | ||
| description: Ensure a shallow checkout has enough history to diff against a base SHA. | ||
| inputs: | ||
| base-sha: | ||
| description: Base commit SHA to diff against. | ||
| required: true | ||
| fetch-ref: | ||
| description: Branch or ref to deepen/fetch from origin when base-sha is missing. | ||
| required: true | ||
| runs: | ||
| using: composite | ||
| steps: | ||
| - name: Ensure base commit is available | ||
| shell: bash | ||
| env: | ||
| BASE_SHA: ${{ inputs.base-sha }} | ||
| FETCH_REF: ${{ inputs.fetch-ref }} | ||
| run: | | ||
| set -euo pipefail | ||
|
|
||
| if [ -z "$BASE_SHA" ] || [[ "$BASE_SHA" =~ ^0+$ ]]; then | ||
| echo "No concrete base SHA available; skipping targeted fetch." | ||
| exit 0 | ||
| fi | ||
|
|
||
| if git rev-parse --verify "$BASE_SHA^{commit}" >/dev/null 2>&1; then | ||
| echo "Base commit already present: $BASE_SHA" | ||
| exit 0 | ||
| fi | ||
|
|
||
| for deepen_by in 25 100 300; do | ||
| echo "Base commit missing; deepening $FETCH_REF by $deepen_by." | ||
| git fetch --no-tags --deepen="$deepen_by" origin "$FETCH_REF" || true | ||
| if git rev-parse --verify "$BASE_SHA^{commit}" >/dev/null 2>&1; then | ||
| echo "Resolved base commit after deepening: $BASE_SHA" | ||
| exit 0 | ||
| fi | ||
| done | ||
|
|
||
| echo "Base commit still missing; fetching full history for $FETCH_REF." | ||
| git fetch --no-tags origin "$FETCH_REF" || true | ||
| if git rev-parse --verify "$BASE_SHA^{commit}" >/dev/null 2>&1; then | ||
| echo "Resolved base commit after full ref fetch: $BASE_SHA" | ||
| exit 0 | ||
| fi | ||
|
|
||
| echo "Base commit still unavailable after fetch attempts: $BASE_SHA" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The action currently succeeds even if the base commit cannot be found after all fetch attempts. This can lead to subsequent steps failing with less clear error messages. It would be more explicit to fail the action at this point by exiting with a non-zero status code and logging a proper error annotation.