Repository navigation
refactor: prepare shared DashKit lifecycle for alternate layouts - #328
Open
daniil-filippov-dev wants to merge 5 commits into
Open
daniil-filippov-dev wants to merge 5 commits into
daniil-filippov-dev wants to merge 5 commits into
Conversation
Contributor
|
Preview is ready. |
daniil-filippov-dev
marked this pull request as ready for review
October 23, 2026 08:44
daniil-filippov-dev
requested review from
Marginy605,
mournfulCoroner and
roberthovsepyan
as code owners
October 23, 2026 08:44
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
🤖 AI TLDR
Prepare shared DashKit lifecycle and flat layout contracts for an additional adapter; prevent stale widget readiness and empty no-op change events.
🤖 AI-generated
Extract the existing lifecycle, registration singleton and ref/event methods into a shared base. The root entry keeps the legacy layout. Ignore stale Item/Text load completions and report Text readiness after its DOM update; four readiness checks exercise the shared modules once without either layout engine.
Add ten reusable common flat scenarios on the real legacy renderer: drag/restore, no-op, incremental baseline/params, subscriptions, CRUD/refs, hidden-group membership, view/edit identity, visual autoheight/reset, async readiness and flat statics. #329 adds GridStack to the same runner with identical expectations. Pure shared event regressions run once; existing legacy suites remain active through normal
npm test.Compare canonical saved geometry when gating change events so enriched plugin defaults cannot create empty-patch history entries. Additions, removals and order changes still emit. Update Gulp to 5.0.1 and exclude test sources from published output.
This PR has no GridStack dependency, runtime, public subpath or nested schema. The opt-in implementation follows in #329. Merge this preparation first; then update the feature branch from
mainand retarget #329 before merging it.Validation: 109 Jest tests in 13 suites passed on Node 22.22.0; types, scoped lint, styles/format and ESM/CJS build passed. Final
a16b7c8only names the unchanged engine table; executable scenario equivalence, types, scoped lint and all ten flat cases were checked. Final-head GitHub CI is green. Thirteen runtime snapshots and 4,484 resolution edges contained no GridStack imports.Fresh independent Codex sessions applied codebase-design, ponytail-review and review-pull-request to the final head. No actionable findings remained. The last review included independent parallel Standards and Spec passes, each with zero findings and 24 focused tests passed. Real downstream performance, browser/touch and other React peer versions were outside these preparation reviews.