Skip to content

[MCHECKSTYLE-417] Upgrade Maven Reporting API to 3.1.1/Maven Reportin…#87

Merged
asfgit merged 1 commit intomasterfrom
MCHECKSTYLE-417
Aug 20, 2022
Merged

[MCHECKSTYLE-417] Upgrade Maven Reporting API to 3.1.1/Maven Reportin…#87
asfgit merged 1 commit intomasterfrom
MCHECKSTYLE-417

Conversation

@michael-o
Copy link
Copy Markdown
Member

…g Impl to 3.2.0

Following this checklist to help us incorporate your
contribution quickly and easily:

  • Make sure there is a JIRA issue filed
    for the change (usually before you start working on it). Trivial changes like typos do not
    require a JIRA issue. Your pull request should address just this issue, without
    pulling in other changes.
  • Each commit in the pull request should have a meaningful subject line and body.
  • Format the pull request title like [MCHECKSTYLE-XXX] - Fixes bug in ApproximateQuantiles,
    where you replace MCHECKSTYLE-XXX with the appropriate JIRA issue. Best practice
    is to use the JIRA issue title in the pull request title and in the first line of the
    commit message.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Run mvn clean verify to make sure basic checks pass. A more thorough check will
    be performed on your pull request automatically.
  • You have run the integration tests successfully (mvn -Prun-its clean verify).

If your pull request is about ~20 lines of code you don't need to sign an
Individual Contributor License Agreement if you are unsure
please ask on the developers list.

To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

asfgit pushed a commit that referenced this pull request Aug 14, 2022
…g Impl to 3.2.0

This plugin hasn't been touched testwise for a very long time. The testing
approach from MPIR has been applied to accommodate M-R-Impl 3.2.0 and future
versions of it. The negative effect is that the parameter 'encoding'
has duplicated 'inputEncoding' from AbstractMavenReport for a long time.
For the sake of consistency it has been replaced with 'inputEncoding' which
breaks backward compatibility. Users are advised to use
${project.build.sourceEncoding} anyway.

This also upgrades for ITs:
* Maven Site Plugin to 3.12.1
* Maven JXR Plugin to 3.2.1-SNAPSHOT

This also upgrades:
* Maven Project Info Reports Plugin to 3.4.1

This closes #87
asfgit pushed a commit that referenced this pull request Aug 16, 2022
…g Impl to 3.2.0

This plugin hasn't been touched testwise for a very long time. The testing
approach from MPIR has been applied to accommodate M-R-Impl 3.2.0 and future
versions of it. The negative effect is that the parameter 'encoding'
has duplicated 'inputEncoding' from AbstractMavenReport for a long time.
For the sake of consistency it has been replaced with 'inputEncoding' which
breaks backward compatibility. Users are advised to use
${project.build.sourceEncoding} anyway.

This also upgrades for ITs:
* Maven Site Plugin to 3.12.1
* Maven JXR Plugin to 3.3.0

This also upgrades:
* Maven Project Info Reports Plugin to 3.4.1

This closes #87
@michael-o michael-o marked this pull request as ready for review August 16, 2022 20:14
@slawekjaranowski
Copy link
Copy Markdown
Member

After #90 we will see what is wrong with test

@michael-o
Copy link
Copy Markdown
Member Author

After #90 we will see what is wrong with test

The current failure is expected because JXR isn't out yet.

asfgit pushed a commit that referenced this pull request Aug 18, 2022
…g Impl to 3.2.0

This plugin hasn't been touched testwise for a very long time. The testing
approach from MPIR has been applied to accommodate M-R-Impl 3.2.0 and future
versions of it. The negative effect is that the parameter 'encoding'
has duplicated 'inputEncoding' from AbstractMavenReport for a long time.
For the sake of consistency it has been replaced with 'inputEncoding' which
breaks backward compatibility. Users are advised to use
${project.build.sourceEncoding} anyway.

This also upgrades for ITs:
* Maven Site Plugin to 3.12.1
* Maven JXR Plugin to 3.3.0

This closes #87
@michael-o
Copy link
Copy Markdown
Member Author

@slawekjaranowski JXR 3.3.0 is out, please review.

Comment thread pom.xml Outdated
…g Impl to 3.2.0

This plugin hasn't been touched testwise for a very long time. The testing
approach from MPIR has been applied to accommodate M-R-Impl 3.2.0 and future
versions of it. The negative effect is that the parameter 'encoding'
has duplicated 'inputEncoding' from AbstractMavenReport for a long time.
For the sake of consistency it has been replaced with 'inputEncoding' which
breaks backward compatibility. Users are advised to use
${project.build.sourceEncoding} anyway.

This also upgrades for ITs:
* Maven Site Plugin to 3.12.1
* Maven JXR Plugin to 3.3.0

This closes #87
@asfgit asfgit closed this in 627fa4f Aug 20, 2022
@asfgit asfgit merged commit 627fa4f into master Aug 20, 2022
@michael-o michael-o deleted the MCHECKSTYLE-417 branch August 20, 2022 06:44
@jira-importer
Copy link
Copy Markdown

Resolve #328

KomachiSion added a commit to alibaba/nacos that referenced this pull request Apr 15, 2026
* fix(ai): restore prompt bizTags to List<String> for backward compatibility (#14876)

* fix(ai): restore prompt bizTags to List<String> for backward compatibility

Revert PromptMetaSummary.bizTags from String back to List<String> to
maintain backward compatibility with existing clients. Add a new
bizTagsStr field (String) to carry the raw DB value for console-ui
usage.

- Restore bizTags field type to List<String> in PromptMetaSummary
- Add bizTagsStr (String) field for raw string representation
- Add parseBizTagsList() in PromptOperationServiceImpl to convert
  DB string to List (supports JSON array and comma-separated formats)
- Populate both bizTags and bizTagsStr in listPrompts/getPromptDetail
- Update legacy console-ui to read from bizTagsStr
- Update console-ui-next types and components to use string[] bizTags

🤖 Generated with [Qoder][https://qoder.com]

* fix(console): rebuild legacy and next frontend assets

The legacy console-ui dist was stale — still reading bizTags (now an
array) instead of bizTagsStr (string), causing "t.split is not a
function" on the prompt detail page. Rebuild both UIs to pick up the
fix from ff9df84.

🤖 Generated with [Qoder][https://qoder.com]

* fix(console-ui): unify bizTags save format to comma-separated string

Change legacy console-ui bizTags save from JSON.stringify(tags) to
tags.join(',') so both legacy and next UIs write the same comma-separated
format to DB, consistent with the read-side parseBizTagsList() fallback.

🤖 Generated with [Qoder][https://qoder.com]

* feat(visibility): add default scope resolution for new resource creation. (#14883)

* [ISSUE #14817] feat(ai): standardize pipeline API, fix legacy console UI bugs and improve robustness (#14884)

* feat(ai): standardize pipeline API paths with explicit list/detail subpaths

- Add PipelineDetailForm for pipeline detail query parameter validation
- Introduce explicit `/list` and `/detail` subpaths for pipeline APIs
- Deprecate legacy path-based and root-level endpoints (since 3.2.1)
- Add corresponding unit tests for new form and controller methods
- Update console and maintainer-client to use new pipeline endpoints

🤖 Generated with [Qoder][https://qoder.com]

* feat(ai): PipelineAdminClient Result API, maintainer fallback, console pipeline sync

- Add PipelineAdminClient with getPipelineDetail/listPipelineExecutions returning Result<JsonNode>
- Deprecate JsonNode-only getPipeline/listPipelines; unwrap success data for compatibility
- Fallback to legacy admin paths on HTTP 404 for older servers
- Add PipelineMaintainerServiceImpl unit tests
- Console UI: pipelineApi helper; Prompt/Skill detail refresh from /v3/console/ai/pipelines/detail

Assisted-by: Claude Code
Made-with: Cursor

* fix(ai): fix pipeline callback and repository error handling

1. PromptOperationServiceImpl.onPipelineComplete: align with Skill/AgentSpec
   behavior - on APPROVED only log trace (no auto-publish), on REJECTED add
   try-catch protection for meta rollback and log trace. The old code called
   publish() in the async callback thread where RequestContextHolder
   (ThreadLocal) has no auth context, causing permission denied errors.

2. PipelineExecutionRepositoryImpl: add DataAccessException catch to all
   query methods so that a missing pipeline_execution table does not crash
   the server. Errors are logged as warnings and methods return graceful
   defaults (null / empty list / 0).

🤖 Generated with [Qoder][https://qoder.com]

* feat(datasource): add pipeline_execution table DDL for PostgreSQL and Oracle

Add CREATE TABLE statement for pipeline_execution to pg-schema.sql and
oracle-schema.sql, enabling pipeline execution persistence on these databases.

🤖 Generated with [Qoder][https://qoder.com]

* chore(console): rebuild legacy console-ui static assets

* Fix legacy console UI bugs and improve robustnessFix console UI (#14886)

* fix(console-ui): fix MonacoEditor stale closure causing draft edits not persisted

Move `const { onChange } = this.props` from outside the onDidChangeModelContent
callback into inside the callback. The old code captured onChange at editor mount
time (when isEditingDraft=false, so onChange=undefined), meaning content changes
were never propagated to the parent component state. This caused PUT /prompt/draft
to always send the original template value instead of the edited one.

🤖 Generated with [Qoder][https://qoder.com]

* fix(console-ui): fix Skill pages using wrong field name for SKILL.md content

The backend Skill model uses `skillMd` for SKILL.md content, but the legacy
console UI consistently used `instruction`. This caused:
- SKILL.md content showing as empty when editing skills
- Save failing with "Required parameter skillCard.skillMd not present"

Fix: map `skillMd` -> `instruction` at API load boundaries and `instruction`
-> `skillMd` at API save boundaries in NewSkill.js, SkillDetail.js, and
SkillOptimizeDialog.js. Internal form field name remains `instruction`.

🤖 Generated with [Qoder][https://qoder.com]

* fix(console-ui): fix Prompt pipeline status display and publish flow

1. PromptDetail: show pipeline status for all versions with pipeline info,
   not only when version status is 'reviewing'.

2. PublishPromptVersion: fix publish flow to use the two-step draft+submit
   API (POST /prompt/draft then POST /prompt/submit) instead of the removed
   single-step POST /prompt endpoint.

🤖 Generated with [Qoder][https://qoder.com]

# Conflicts:
#	console-ui/src/pages/AI/PromptDetail/PromptDetail.js

* fix(ai): allow empty bizTags to clear all tags for Prompt, Skill and AgentSpec

Remove the bizTags non-blank validation in PromptBizTagsUpdateForm,
SkillBizTagsUpdateForm, and AgentSpecBizTagsUpdateForm. Passing empty
or null bizTags is a valid operation that means clearing all tags, and
the service layer already handles this correctly.

🤖 Generated with [Qoder][https://qoder.com]

* chore(console-ui): remove dead PublishPromptVersion page

PublishPromptVersion is unreachable dead code — no route points to it,
no code writes the sessionStorage keys it reads from, and the single-step
POST /prompt API it relied on has been removed. The publish flow now lives
entirely within PromptDetail.js (draft -> submit -> publish).

Remove the component directory, its exclusive locale keys, and rebuild
the legacy static assets.

🤖 Generated with [Qoder][https://qoder.com]

* test(ai): update PromptBizTagsUpdateFormTest to match relaxed bizTags validation

The validate() method no longer rejects null/blank bizTags (changed in
0ce0067), so the test must expect success instead of NacosApiException.

🤖 Generated with [Qoder][https://qoder.com]

* chore(console): rebuild legacy console-ui static assets

🤖 Generated with [Qoder][https://qoder.com]

* fix(console-ui-next): replace internal npm registry URLs with public registry (#14891)

Replace all 154 occurrences of Alibaba internal npm registry
(registry.anpm.alibaba-inc.com) with the public npm registry
(registry.npmjs.org) in package-lock.json to fix npm install
hanging for external users.

Signed-off-by: cxhello <[email protected]>

* feat(console): add copilot feature toggle and redesign plugin management layout (#14893)

* feat(copilot): conditionally show copilot features based on nacos.copilot.enabled

Add CopilotModuleStateBuilder to expose copilot_enabled in /v3/console/server/state,
so both console UIs can conditionally render copilot-related features (AI generate,
optimize, debug buttons, settings, and sidebar entry) only when copilot is enabled.

🤖 Generated with [Qoder][https://qoder.com]

# Conflicts:
#	console-ui/src/pages/AI/PromptDetail/PromptDetail.js
#	console-ui/src/pages/AI/SkillDetail/SkillDetail.js
#	console/src/main/resources/static/legacy/index.html
#	console/src/main/resources/static/legacy/js/main.js
#	console/src/main/resources/static/next/js/AppLayout.js
#	console/src/main/resources/static/next/js/main.js

* fix(copilot): hide debug panel entirely and clean up dead code when copilot disabled

- Wrap entire debug panel in PromptDetail (both UIs) with copilot-enabled guard
- Add route guard in settingCenter to redirect when copilot is disabled
- Make settingCenter loadConfig conditional on copilotEnabled
- Remove dead SkillOptimizeDialog code from SkillManagement list page

🤖 Generated with [Qoder][https://qoder.com]

* refactor(plugin): replace page navigation with in-place expand/collapse layout

Change plugin management from navigating to a filtered table view to
expanding plugin tables inline below each type card. Cards are now
displayed one per row with a toggle chevron, defaulting to collapsed.

🤖 Generated with [Qoder][https://qoder.com]

* fix(plugin): fix nested table borders, blank icons, and card spacing

- Remove outer plugin-list-card border/shadow to eliminate nested border
- Strip table border inside expanded card for cleaner look
- Replace invalid icon types (database→form, process→sorting) for
  datasource-dialect and ai-pipeline plugins
- Align operation column header with detail button text
- Reduce card header padding and icon size in console-ui-next for
  tighter spacing between card and expanded table

🤖 Generated with [Qoder][https://qoder.com]

* fix(plugin): align table columns and reduce header spacing in console-ui-next

- Add fixed percentage widths to table columns so headers align across
  different expanded type cards
- Center-align critical and available nodes columns (header + cell)
- Reduce table header row height for tighter spacing below card header

🤖 Generated with [Qoder][https://qoder.com]

* fix(plugin): fix card gap, table alignment and header spacing in both UIs

- Add gap-0 to Card component to eliminate blank space between card
  header and expanded table in console-ui-next
- Restore default TableHead height and border now that gap is fixed
- Center-align status and operation columns with their headers
- Left-align all columns in console-ui for consistency
- Reduce table header padding in console-ui expanded cards

🤖 Generated with [Qoder][https://qoder.com]

* Add unit tests to increase maintainer-client coverage to 90% (#14888)

* Add unit tests to increase maintainer-client coverage to 90%

- Add PromptMaintainerServiceImplTest (27 tests)
- Add AgentSpecMaintainerServiceImplTest (14 tests)
- Add SkillMaintainerServiceImplTest (8 tests)
- Extend PipelineMaintainerServiceImplTest (4 tests)
- Extend HttpRequestTest (5 tests)
- Extend HttpClientManagerTest (2 tests)

Coverage improved from 74.14% to 94.10%

* Fix checkstyle violations in unit tests

- Replace star imports with specific imports (AvoidStarImport)
- Rename test methods to camelCase format (MethodName check)
- Methods renamed from underscore_format to camelCaseFormat

* Fix remaining checkstyle violations (unused imports)

* Fix missing BeforeEach import and remove unused imports

* feat(ci): add PR validation workflow to check commit author emails (#14896)

Add a lightweight pull_request_target workflow that verifies all commit
authors have their emails linked to a GitHub account. Unlinked emails
cause CLA assistant to be permanently stuck at pending, wasting
maintainer time on manual review.

The check runs immediately for fork PRs (no approval needed), posts
fix instructions as a PR comment when issues are found, and re-checks
automatically on new pushes.

Signed-off-by: cxhello <[email protected]>

* fix(maintainer-client): use original property string in error messages of ParamUtil (#14892)

Move NacosClientProperties.getProperty() calls outside try blocks so
that the catch clause references the original invalid input string
instead of the static field which still holds the default/stale value.
Also enhance tests to verify exception messages contain the actual
invalid input.

Signed-off-by: cxhello <[email protected]>

* docs: add issue assignment guidelines to CONTRIBUTING.md (#14899)

Add "Issue Assignment" section to both English and Chinese versions
of CONTRIBUTING.md, establishing a formal claiming process with
14-day timeout expectation to prevent duplicate work.

Signed-off-by: cxhello <[email protected]>

* [ISSUE #14898] Add issue auto-assign workflow with /assign command and stale detection (#14900)

* feat(ci): add issue auto-assign workflow with /assign command and stale detection

Signed-off-by: cxhello <[email protected]>

* chore(ci): exempt stale-assignment label from stale issue bot

Signed-off-by: cxhello <[email protected]>

* docs: update issue assignment section with /assign command usage

Signed-off-by: cxhello <[email protected]>

---------

Signed-off-by: cxhello <[email protected]>

* Add unit tests to improve coverage for common utilities (#14902)

* test(common): add unit tests to improve coverage from 93.27% to 95%

- New test classes:
  - BatchTaskCounterTest (6 tests)
  - ByteArrayResponseHandlerTest (3 tests)

- Extended test classes:
  - FuzzyGroupKeyPatternTest (+17 tests)
  - VersionUtilsTest (+14 tests)
  - JdkHttpClientRequestTest (+4 tests)

Total: 44 new test methods
Coverage target: 95% achieved

* test(common): add tests for CollectionUtils and DefaultParamChecker to reach 95% Line coverage

- CollectionUtilsTest: +8 tests for getCardinalityMap, isEqualCollection
- DefaultParamCheckerTest: +8 tests for checkMcpNameFormat, checkAgentNameFormat
- JdkHttpClientRequestTest: simplified SSL tests

Total: 16 new tests, +26 covered lines
Line coverage: 94.29% -> 95.15% ✅

* fix(common): fix failing tests - all 842 tests now pass

- BatchTaskCounterTest: remove invalid batchSuccess(0) test case
- DefaultParamCheckerTest: use Chinese characters for illegal name test
- FuzzyGroupKeyPatternTest: fix case sensitivity in pattern matching tests

Test results (JDK 17):
- Tests Run: 842
- Failures: 0
- Errors: 0
- Line Coverage: 95.59%

* feat(console): add OIDC/OAuth2 SSO login support for both legacy and next consoles (#14912)

Add frontend OIDC authentication integration for both console UIs,
  enabling SSO login via external identity providers (Keycloak, Okta, etc.)
  when nacos.core.auth.system.type=oidc is configured.

  Changes:
  - Add SSO login button on login page when OIDC mode is detected
  - Sync OIDC callback cookies (accessToken/username) to localStorage on app startup
  - Detect OIDC users and redirect logout to IdP RP-initiated logout endpoint
  - Hide "Change Password" menu for OIDC users (passwords managed by IdP)
  - Add OIDC-specific error messages to session expiration detection
  - Add authSystemType to server state store for OIDC mode detection
  - Add zh-CN and en-US locale strings for SSO login UI

* chore(deps): bump org.apache.logging.log4j:log4j-core (#14910)

Bumps org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(checkstyle): fix maven-checkstyle-plugin inputEncoding (#14906)

apache/maven-checkstyle-plugin#87

* [ISSUE #14908] fix(ai): SkillRemoteHandler#createDraft passes skillCard as targetVersion and loses targetVersion (#14909)

SkillRemoteHandler#createDraft was calling the 4-parameter overload of
SkillMaintainerService#createDraft, passing form.getSkillCard() into the
targetVersion slot. The 4-parameter overload then calls the 5-parameter
version with skillCard=null, causing the actual skill content to be lost
and targetVersion to receive the wrong value.

Fix uses the correct 5-parameter overload:
  createDraft(namespaceId, skillName, basedOnVersion, targetVersion, skillCard)

Also updates the unit test mock to match the 5-parameter signature.

Assisted-by: Claude Code

* fix(naming): do not force clusterName to DEFAULT in v3 HTTP API (#14778)

When clusterName is not specified, InstanceListForm.fillDefaultValue()
was forcing it to "DEFAULT", causing v3 HTTP API to return NOT_FOUND
for services using non-default cluster names. The gRPC path treats
empty cluster as "return all instances", but v3 HTTP did an exact
match against "DEFAULT".

Change fillDefaultValue() to use empty string instead of DEFAULT_CLUSTER_NAME,
and add a blank-check in CatalogServiceV2Impl.listInstances() to skip the
cluster existence validation when clusterName is blank, aligning behavior
with the gRPC path (ServiceUtil.doSelectInstances).

Fixes #14650

* test(common): add tests to improve line coverage to 96.47% (#14914)

* test(common): add tests to improve line coverage to 96.47%

Add 44 tests covering:
- Base64 encoding/decoding edge cases
- JdkHttpClientRequest file upload and body handling
- TraceEventPublisher queue and exception handling
- AbstractHttpClientFactory SSL configuration
- HttpClientBeanHolder concurrent access
- TaskExecuteWorker queue processing

Line coverage: 95.47% -> 96.47% (+1.00%)
Missing lines: 231 -> 180 (-51 lines)
Tests: 842 -> 907 (+65 tests)

Remaining 180 missing lines are exempt:
- SSL exception handlers
- Static block exceptions
- Native method calls
- Edge case branches

* fix: remove garbage content from JdkHttpClientRequestTest.java

* feat(ai): support filtering skills by bizTag in list API and console UIFeat/biztag search (#14895)

* feat(ai): support filtering skills by bizTag in list API and console UI

Add bizTag filter parameter to the skill list endpoints (admin, console)
and wire it through the full call chain: form -> controller -> service ->
QueryCondition.bizTagsLike (LIKE query). Refactor both console-ui-next
and console-ui skill management pages into a cleaner two-row search layout
separating search inputs from filter/sort controls.

Assisted-by: Claude Code

🤖 Generated with [Qoder][https://qoder.com]

# Conflicts:
#	console/src/main/resources/static/legacy/index.html
#	console/src/main/resources/static/legacy/js/1.js
#	console/src/main/resources/static/legacy/js/2.js
#	console/src/main/resources/static/legacy/js/main.js
#	console/src/main/resources/static/next/js/main.js

# Conflicts:
#	console/src/main/resources/static/legacy/js/main.js
#	console/src/main/resources/static/next/css/main3.css
#	console/src/main/resources/static/next/js/index30.js
#	console/src/main/resources/static/next/js/index33.js
#	console/src/main/resources/static/next/js/index34.js

# Conflicts:
#	console/src/main/resources/static/legacy/index.html
#	console/src/main/resources/static/legacy/js/main.js
#	console/src/main/resources/static/next/js/AppLayout.js
#	console/src/main/resources/static/next/js/main.js

* refactor(console-ui-next): improve Skill list search bar layout

- Single-row filters with overflow-x-auto and focus ring safe padding
- Add bizTag filter input field with Tag icon
- Adjust widths and shrink-0 for consistent layout

* feat(console): deploy console-ui-next and console-ui (legacy) static assets

* test(ai): fix SkillAdminControllerTest for new bizTag parameter

Update listSkills mock and verify calls to include the new bizTag
parameter added to SkillOperationService.listSkills signature.

🤖 Generated with [Qoder][https://qoder.com]

* test(ai): improve bizTag-related unit test coverage

Add tests for setBizTag/getBizTag in AiResourceFilterableFormTest,
bizTag filter branches in SkillOperationServiceImplTest, and create
SkillBizTagsUpdateFormTest for validate branch coverage.

🤖 Generated with [Qoder][https://qoder.com]

* feat(console): deploy console-ui-next and console-ui (legacy) static assets

* fix(console): align SkillRemoteHandlerTest and SkillInnerHandlerTest  mock with 9-arg listSkills signature

Add missing bizTag (isNull()) matcher to listSkills mock calls in
testListSkills and testListSkillsWithNullSource to match the updated
SkillMaintainerService method signature that includes the bizTag parameter.

🤖 Generated with [Qoder][https://qoder.com]

* fix(console-ui): add braces in OIDC getCookie for ESLint curly rule

Wrap the parts.length check in a block to satisfy curly and
nonblock-statement-body-position during frontend build.

Assisted-by: Claude Code

* chore(console): refresh bundled console UI static assets

    Rebuild legacy and next console static output (chunk hashes and JS bundles)

* Fix prompt get default scope problem (#14919)

* refactor(prompt): replace direct DB calls with AiResourceManager delegation.

* refactor(resource): centralize AiResource persistence calls in AiResourceManager.

* test(http): fix file content write method in file upload test.

* feat(ai): For#14621 add support for A2A AgentCard v1 protocol and extended agent card capabilities. (#14920)

* feat(ai): For#14621 normalize and validate AgentCard with supported interfaces. (#14921)

* [ISSUE#14621] feat(a2a): support protocolVersion and tenant in agent endpoints for A2A 1.0.0. (#14922)

* [ISSUE#14621] refactor(ai): enhance agent card change detection and improve grpc client ability checks. (#14924)

* [ISSUE#14621] refactor(ai): enhance agent card change detection and improve grpc client ability checks.

* test(cache): ensure no event emitted for identical agent card updates.

* fix(config): add null check for metaDataItem in config import (#14917)

When importing a ZIP file that does not contain the required metadata
file (.metadata.yml), getMetaDataItem() returns null, causing a
NullPointerException. Add a null check to return a proper error
response instead of crashing.

Fixes #14785

* fix(auth): fix race conditions in CachedJwtTokenManager (#14916)

* fix(auth): fix race conditions in CachedJwtTokenManager

Replace non-atomic containsKey/get patterns on ConcurrentHashMap with
single get-and-null-check to prevent NullPointerException when the
scheduled cleanup task evicts entries between the check and access.

Affected methods: createToken, getAuthentication, validateToken,
parseToken, getTokenTtlInSeconds.

* fix(auth): add missing validateToken tests and remove unused import

Add tests for validateToken cached path and cache eviction scenario.
Remove unused ConcurrentHashMap import from test file.

* fix(auth): reject login with LDAP-prefixed usernames to prevent auth bypass (#14915)

LDAP proxy users stored in local DB with a well-known default password
can be exploited by directly authenticating with the LDAP_ prefix.
Reject any login attempt where the username starts with the LDAP prefix
(case-insensitive) to ensure LDAP users always authenticate via LDAP.

Fixes #14862

* fix(config): add null check for optional ids parameter in exportConfigV2 (#14918)

The ids parameter is declared with required=false but the code calls
ids.removeAll() without null check, causing NullPointerException when
the parameter is omitted from the request.

---------

Signed-off-by: cxhello <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: sai <[email protected]>
Co-authored-by: cxhello <[email protected]>
Co-authored-by: Eric Wang <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: 徐晓伟 <[email protected]>
Co-authored-by: hexsmith0214 <[email protected]>
Co-authored-by: Guimu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants