Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-05-01 Thread via GitHub


DSingh0304 closed issue #3315: GSoC 2026 Proposal: JSON Schema Driven Form 
Component [APISIX-39]
URL: https://github.com/apache/apisix-dashboard/issues/3315


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-05-01 Thread via GitHub


DSingh0304 commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-4359669834

   > Has this project been selected for this GSOC ?
   
   Unfortunately the project did not got selected i guess so closing this 
proposal would unclog the issue section. 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-04-30 Thread via GitHub


DSingh0304 commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-4354997445

   Has this project been selected for this GSOC ?
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-03-24 Thread via GitHub


DSingh0304 commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-4118039009

   > Hi [@DSingh0304](https://github.com/DSingh0304),
   > 
   > Great improvement on the SchemaForm flow — the stale field cleanup fix 
makes the conditional behavior much more reliable and aligns well with 
react-hook-form expectations.
   > 
   > I tested the demo locally, and it works well overall. I had a few 
suggestions that might help strengthen it further:
   > 
   > 1. Repeated branch switching
   >It might be useful to stress-test rapid toggling (A → B → A → B) to 
ensure no stale values or validation errors persist across inactive branches.
   > 
   > 2. Nested field cleanup
   >For deeply nested objects or arrays, we should ensure unregistering 
a parent path consistently removes the full subtree from form state.
   > 
   > 3. useWatch optimization
   >Since conditional rendering relies on useWatch, we could consider 
narrowing subscriptions to only relevant fields (like discriminators) and 
memoizing branch resolution logic to reduce unnecessary re-renders.
   > 
   > 4. Additional test coverage
   >It may help to add tests for:
   > 
   > 
   > * repeated branch switching
   > 
   > * nested object/array cleanup
   > 
   > * switching branches with existing validation errors
   > 
   > 
   > Happy to help contribute to any of these if needed. Let me know your 
thoughts!
   
   Sure I will look into these..


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-03-24 Thread via GitHub


Jaswanth-arjun commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-4117995665

   Hi @DSingh0304,
   
   Great improvement on the SchemaForm flow — the stale field cleanup fix makes 
the conditional behavior much more reliable and aligns well with 
react-hook-form expectations.
   
   I tested the demo locally, and it works well overall. I had a few 
suggestions that might help strengthen it further:
   
   1. Repeated branch switching  
   It might be useful to stress-test rapid toggling (A → B → A → B) to ensure 
no stale values or validation errors persist across inactive branches.
   
   2. Nested field cleanup  
   For deeply nested objects or arrays, we should ensure unregistering a parent 
path consistently removes the full subtree from form state.
   
   3. useWatch optimization  
   Since conditional rendering relies on useWatch, we could consider narrowing 
subscriptions to only relevant fields (like discriminators) and memoizing 
branch resolution logic to reduce unnecessary re-renders.
   
   4. Additional test coverage  
   It may help to add tests for:
   - repeated branch switching
   - nested object/array cleanup
   - switching branches with existing validation errors
   
   Happy to help contribute to any of these if needed. Let me know your 
thoughts!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-03-24 Thread via GitHub


DSingh0304 commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-4117495363

   > Hi @DSingh0304 , I reviewed the proposal and PR #3274.
   > 
   > The SchemaForm implementation looks quite comprehensive. 
   > I would like to contribute by helping extend and improve it.
   > 
   > Possible areas I can work on:
   > - Improving UI/UX of generated forms
   > - Adding support for remaining schema patterns like anyOf / 
patternProperties
   > - Writing unit and integration tests
   > - Enhancing documentation for schema-to-widget mapping
   > 
   > Please let me know if this would be helpful, or suggest areas where 
contributions are needed.
   
   Hi @Jaswanth-arjun thank you for your review, but I am still working on the 
PR and improving it myself, you can suggest the changes in the comments here I 
will try to integrate those of possible!!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-03-24 Thread via GitHub


Jaswanth-arjun commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-4117395602

   Hi @DSingh0304 , I reviewed the proposal and PR #3274.
   
   The SchemaForm implementation looks quite comprehensive. 
   I would like to contribute by helping extend and improve it.
   
   Possible areas I can work on:
   - Improving UI/UX of generated forms
   - Adding support for remaining schema patterns like anyOf / patternProperties
   - Writing unit and integration tests
   - Enhancing documentation for schema-to-widget mapping
   
   Please let me know if this would be helpful, or suggest areas where 
contributions are needed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-03-24 Thread via GitHub


toalone567-art commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-4117210753

   > # GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39]
   > ## 1. Project Information
   > * **Project Name:** JSON Schema to Form UI for APISIX Dashboard (APISIX-39)
   > * **Student Name:** Deep Shekhar Singh
   > * **GitHub:** [@DSingh0304](https://github.com/DSingh0304)
   > * **Timezone:** IST (UTC+5:30)
   > 
   > ## 2. Why I am the Right Candidate for this Project
   > Over the past few months, I have become deeply involved in the APISIX 
Dashboard codebase, significantly improving its stability and test coverage. I 
am intimately familiar with its React 19 + Mantine + `react-hook-form` 
architecture.
   > 
   > **My Key Core Contributions:**
   > 
   > 1. **Massive E2E Test Suite Expansion (10+ Merged PRs):** Authored 
comprehensive E2E tests for almost every major resource, including Services 
([test(e2e): add comprehensive service CRUD tests and UI utility functions 
#3258](https://github.com/apache/apisix-dashboard/pull/3258)), Stream Routes 
([test: add stream route E2E tests with detail page flows 
#3255](https://github.com/apache/apisix-dashboard/pull/3255)), Consumer Groups 
([test: add E2E tests for Consumer Groups 
#3250](https://github.com/apache/apisix-dashboard/pull/3250)), SSLs ([test: add 
E2E tests for SSLs (#3087) 
#3249](https://github.com/apache/apisix-dashboard/pull/3249)), Global Rules 
([test: add E2E tests for global rules 
#3248](https://github.com/apache/apisix-dashboard/pull/3248)), Plugin Metadata 
([test: add E2E tests for plugin metadata resource 
#3247](https://github.com/apache/apisix-dashboard/pull/3247)), Plugin Configs 
([test: add comprehensive E2E tests for plugin configs 
#3246](https://github.com/a
 pache/apisix-dashboard/pull/3246)), Secrets ([test: add comprehensive E2E 
tests for Secrets resource 
#3245](https://github.com/apache/apisix-dashboard/pull/3245)), Protos ([test: 
add E2E tests for protos 
#3244](https://github.com/apache/apisix-dashboard/pull/3244)), and Consumers 
([test(e2e): Add E2E tests for consumer and credentials 
#3243](https://github.com/apache/apisix-dashboard/pull/3243)).
   > 2. **UI Crash Resolution:** Resolved UI crashes caused by `vars` form 
component array formatting via `a.trim()` tags input ([fix: a.trim is not a 
function #3286](https://github.com/apache/apisix-dashboard/pull/3286)).
   > 3. **Advanced Search Implementation:** Developed the hybrid routing search 
form with 9 frontend/backend filter fields ([feat: add route search form with 9 
filter fields #3222](https://github.com/apache/apisix-dashboard/pull/3222)).
   > 4. **CI Pipeline Improvement:** Implemented the strict CI Linting workflow 
([feat: add lint workflow 
#3291](https://github.com/apache/apisix-dashboard/pull/3291)).
   > 
   > ### 3. Working Proof of Concept (Submitted in January, PR 
[#3274](https://github.com/apache/apisix-dashboard/pull/3274))
   > I didn't want to just propose an idea; I wanted to prove it works natively 
within the dashboard. In early January, I submitted an initial Proof of Concept 
that addressed the core concerns in the original feature request 
([#2986](https://github.com/apache/apisix-dashboard/issues/2986)). The 
maintainer ([@Baoyuantop](https://github.com/Baoyuantop)) validated this 
approach and the corresponding PR 
**[#3274](https://github.com/apache/apisix-dashboard/pull/3274)**.
   > 
   > _(Below is a screen recording of the working SchemaForm PoC generating the 
UI for the `proxy-rewrite` plugin directly from its JSON Schema)_
   > 
   >  Screencast.from.2026-03-03.20-30-24.mp4 
   > Since that initial validation, the PoC has been extended and currently 
successfully implements rendering of basic types, `oneOf`, `dependencies`, and 
dynamic array handling without external libraries (using RHF's `useFieldArray` 
and Mantine's `TagsInput`), all wrapped in an AJV validation pipeline with 
_zero new heavy external dependencies_.
   > 
   > ## 4. Project Description & Approach
   > **The Problem:** Currently, configuring APISIX plugins in the Dashboard 
requires writing raw JSON in a Monaco editor within `PluginEditorDrawer`. With 
over 150+ plugins, each with unique schema definitions, maintaining hand-coded 
forms is unsustainable. Relying on raw JSON leads to a steep learning curve, 
validation errors, and a poor developer experience.
   > 
   > **The Solution & Approach:** The Admin API already exposes full JSON 
Schema at `GET /apisix/admin/schema/plugins/{name}`. We can dynamically 
auto-generate user-friendly forms directly from these schemas. Instead of 
relying on heavy third-party JSON-to-Form libraries that are hard to customize, 
my approach builds exactly upon the Technical Design outlined in 
[#2988](https://github.com/apache/apisix-dashboard/issues/2988):
   > 
   > * **React Hook Form (RHF):** For performant, un-controlled form state 
management.
   > * **AJV:** For 

Re: [I] GSoC 2026 Proposal: JSON Schema Driven Form Component [APISIX-39] [apisix-dashboard]

2026-03-03 Thread via GitHub


DSingh0304 commented on issue #3315:
URL: 
https://github.com/apache/apisix-dashboard/issues/3315#issuecomment-3990780919

   Hi @Baoyuantop, following your suggestion on the mailing list regarding GSoC 
2026 applications, I have formalized my proposal for APISIX-39 here. It 
includes the technical approach for the SchemaForm component and references my 
ongoing work in PR #3274. I’m looking forward to any feedback or suggestions 
from you and the community!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]