Support App Slug for PAT#15714
Merged
gsmithun4 merged 1 commit intorebase/lts-main-10-mgsfrom Mar 26, 2026
Merged
Conversation
gsmithun4
approved these changes
Mar 26, 2026
gsmithun4
added a commit
that referenced
this pull request
Mar 26, 2026
* Fix pipeline * Fix pipeline: matrix * Fix label matching using toJSON() for exact match to prevent substring collisions (e.g. 'run-cypress' matching 'run-cypress-marketplace-ee') * final updates * Remove CE from pipeline * feat: add portal dimensions handling to CodeHinter and related components - Implemented onPortalDimensionsChange callback in CodeHinter to manage popup editor dimensions. - Updated MultiLineCodeEditor and SingleLineCodeEditor to pass onPortalDimensionsChange prop. - Enhanced Portal component to utilize dimensions from the editor and handle resizing events. - Introduced helper functions for reading and setting default dimensions. This improves the user experience by allowing dynamic resizing of the code editor popups. * fix(mongodb): resolve double encoding in connection strings * fix: use safeDecode function * add log for seeding * test * fix: split onboarding seeding into separate steps and complete onboarding flow Split the single seeding run block into three distinct steps (Setup Super Admin, Authenticate, Complete Onboarding) so each has independent logs and a clear pass/fail indicator in Actions. Also adds the missing authenticate + finish calls so onboarding_status is set to onboarding_completed, preventing the frontend from redirecting every UI test visit to /setup. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Update Cypress Marketplace workflow. (#15467) * test * final updates * Remove CE from pipeline * Update config * fix: pass dataCy prop to ToggleV2 in FlipComponentDropdown toggle-flip fields rendered via FlipComponentDropdown were not receiving a dataCy prop, so ToggleV2 rendered without a data-cy attribute. Now passes generateCypressDataCy(label) so toggle-flip fields get the correct data-cy selector for Cypress tests. * fix: update marketplace dataSource form helpers - verifyToggleFieldUI: check both -label and -toggle-label selectors - fillDSConnectionKeyValuePairs: use addMoreButton() instead of addButton() - add fillDynamicSelectorFxMode for DynamicSelector fx fields - add dynamicSelectorFx case to processFields switch * fix: fix postgres marketplace Cypress spec - constants: SSL → SSL/TLS, Database name → Database, fix placeholders - constants: Primary key column(s) → Primary key column-s (cyParamName compat) - constants: bulkUpdate schema/table as dynamicSelectorFx type - spec: fix invalid port error message to current backend message - spec: afterEach delete app before datasource, track appCreated flag - spec: add pre-cleanup for orphaned apps * fix: fix mysql marketplace Cypress spec - constants: connection_type defaultValue Hostname → Manual connection - constants: Database name → Database, fix host/port placeholders to manifest descriptions - constants: SSL → SSL/TLS, isRequired false for username/database - constants: remove SSL certificate from defaultFields (conditional field) - spec: connection_type manual + protocol hostname in API payload - spec: trim error messages to remove hardcoded server IPs * fix: fix redis marketplace Cypress spec * fix: fix mssql marketplace Cypress spec - constants: add missing Connection type dropdown and Allow dynamic connection parameters toggle - constants: fix host/port placeholders to manifest descriptions (localhost, 1433) - constants: Database name → Database, isRequired false for database/username/password - constants: Azure (encrypt connection) → Azure encrypt connection (manifest label) - constants: add SSL/TLS toggle, remove SSH tunnel (conditional field) - spec: add connection_type manual + SSL state keys in API payload - spec: trim error messages to remove hardcoded IPs and timing values * fix: fix mongodb marketplace Cypress spec - constants: Database name → Database, fix placeholders to manifest descriptions - constants: host/port isRequired true in manual branch (manifest required: true) - constants: remove conditional TLS/SSL certificate dropdown from defaultFields - constants: add missing Connection options keyValue, SSL/TLS toggle, SSH tunnel toggle - constants: add missing Connection string encrypted field in connection string branch - constants: remove hasEyeIcon from password-v3/password-v3-textarea fields (no eye icon) - spec: add use_ssl and ssh_enabled state keys in API payload * fix: fix elasticsearch marketplace Cypress spec - constants: remove stale moment/moment import - constants: remove hasEyeIcon from password field (password-v3 has no eye icon) - spec: fix certificate fields encrypted flag to true in API payload - spec: trim SSL EPROTO error message to stable partial "wrong version number" * fix: update marketplace config specPattern to explicit datasources path Replace **/*.cy.js glob with datasources/*.cy.js to scope the marketplace test run to the datasources directory only. * feat: migrate restAPI spec to datasources directory with new format - move selectors/texts/utils to marketplace subdirectories - update imports to use new marketplace paths - replace cy.visit('/') with cy.viewport(1400,1600) in beforeEach - fix cy.apiDeleteApp() to use UUID (no-arg form) - fix datasource count assertions (44->45, APIs 22->23) - replace fragile CSS-in-JS class selectors with stable data-cy selectors - fix dropdown assertions: have.text -> contain.text for react-select - fix SSL certificate label casing - add scrollIntoView().first() for datasource button after reload * fix: correct import casing for dataSourceForm helpers in datasource specs Import paths used lowercase 'datasourceform' but actual filenames use camelCase 'dataSourceForm', causing Webpack module-not-found errors on Linux CI (case-sensitive filesystem). * test * update: cypress config --------- * fix: pass tj-workspace-id header and extract org ID for onboarding finish step JwtStrategy requires the tj-workspace-id header to resolve the authenticated user; without it the guard returns false and the finish endpoint 401s. Extract current_organization_id from the authenticate response using jq, export it to GITHUB_ENV as TJ_ORG_ID, then pass it as the tj-workspace-id header in the Complete Onboarding step. Validated locally: all three seeding steps exit 0 and onboarding_status is set to onboarding_completed in the DB. * fix(appCanvasUtils): update modal header padding logic to correctly handle close button visibility * fix: initialize prevComponentsOrder to an empty array to ensure sorting on first render in Viewer * fix: update comment in useSortedComponents to clarify initialization of prevComponentsOrder * refactor: remove unnecessary resize property from table component styles * 🚀 chore: update submodules to latest lts-3.16 after auto-merge (#15694) Co-authored-by: johnsoncherian <57667706+johnsoncherian@users.noreply.github.com> * Chore: db:seed script for first user setup (#15684) * Chore: db:seed script for first user setup Replaces the stale commented-out seed script with a working HTTP-based implementation that calls POST /api/onboarding/setup-super-admin — the exact same endpoint QA uses via curl. This ensures the seed creates all required database records (org, user, roles, environments, groups, themes, default data sources, instance settings) without duplicating any business logic. Supports env var overrides (SEED_EMAIL, SEED_PASSWORD, SEED_NAME, SEED_WORKSPACE) for CI/preview deployments. Idempotent — skips if users already exist. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Chore: use got instead of raw http, improve re-seed message Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Chore: trim verbose logs from seed script Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Chore: remove redundant comment Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- * fix: Allow sharing cookie for prompt & template id while onbaording to sub domain (#15695) * 🚀 chore: update submodules to latest lts-3.16 after auto-merge (#15698) Co-authored-by: gsmithun4 <3417097+gsmithun4@users.noreply.github.com> * Fix : REST API datasource allows for parsing new file picker component files (#15612) * File base64 data is added to the post request * Object and Array is converted to string before appending to form data * bump version to 3.20.130-lts across all components --------- Co-authored-by: gsmithun4 <gsmithun4@gmail.com> * refactor: datasource case inconsistencies (#15618) * Feature: Implement OIDC refresh token flow (#15389) * feat(oidc): implement OIDC refresh token flow - Update server/ee submodule with OIDC refresh token support - Set isSSOLogin for workspace OIDC + decrypt client secret in refresh * fix: register OidcRefreshService in SessionModule The EE JwtStrategy depends on OidcRefreshService but SessionModule never loaded or provided it. Add CE stub, load via getProviders, and add OidcRefreshService + SSOConfigsRepository to providers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(oidc): add frontend sync for ssoUserInfo refresh - Frontend now detects X-SSO-Info-Updated header when backend refreshes tokens - Async session refresh updates globals.currentUser.ssoUserInfo without page reload - Deduplicates concurrent refresh requests to prevent N+1 session fetches - Add SsoInfoUpdatedInterceptor to set header when tokens refresh - Update OidcRefreshService with docs explaining binding recommendations - Return boolean from checkAndRefreshIfNeeded to signal when refresh occurs Changes: - Backend: Set X-SSO-Info-Updated header after successful token refresh - Frontend: Detect header in http-client.js and handle-response.js - Interception: Global interceptor manages header setting - Documentation: JSDoc explains two binding patterns * {{globals.currentUser.ssoUserInfo}} - stale but auto-syncs now * {{globals.server.currentUser.ssoUserInfo}} - always fresh (recommended) Closes: ToolJet/tj-ee#4245 * refactor(oidc): use Symbol for ssoInfoUpdated + export from CE interceptor - SsoInfoUpdatedInterceptor now exports SSO_INFO_UPDATED Symbol as the canonical flag. EE JwtStrategy imports and sets it on req instead of using Express module augmentation. - CE OidcRefreshService stub return type updated: void → boolean. * fix: remove stale submodule from index * chore: ignore .serena/ directory Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * wip: OIDC refresh token - token refresh interceptor and session handling Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: correct sso_user_info property path in refreshSsoInfo The /api/session endpoint returns sso_user_info at the top level of the response, not nested under current_user. This caused refreshSsoInfo() to always read undefined, so the Zustand store was never updated after OIDC token refresh — leaving component bindings stale until a full page reload. Also deduplicate refreshSsoInfo() from handle-response.js and http-client.js into a shared module to prevent future drift. * fix: address PR review feedback for OIDC refresh token flow - Remove debug console.log statements from handle-response.js - Add console.debug to empty catch in refreshSsoInfo.js for diagnostics - Broaden JSDoc to reflect non-editor usage contexts - Add cross-reference comments between duplicate SSO header checks - Update CE stub with pointer to EE implementation - Update server/ee submodule pointer * chore: update submodule commits for frontend and server --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Souvik <psouvik260@gmail.com> Co-authored-by: gsmithun4 <gsmithun4@gmail.com> * 🚀 chore: update submodules to latest lts-3.16 after auto-merge (#15699) Co-authored-by: gsmithun4 <3417097+gsmithun4@users.noreply.github.com> * fix(QueryManagerBody): prevent stale writes when switching queries by validating current query ID * Enabled dynamic height in mobile view * Modal height fix * Marketplace pipeline test PR [Do not merge] (#15680) * test * fix: update MSSQL DNS error assertion and REST API datasource count for CI * update Ds count * test: update verifyDSConnection to use toast assertions (PR #15616) TestConnection.jsx no longer renders inline status badges — success/failure feedback is now via react-hot-toast. Update helper to: - Success: assert toast 'Test connection verified' instead of test-connection-verified-text badge - Failed: assert toast 'Test connection could not be verified' + keep connection-alert-text assertion for specific error messages - Remove test-connection-failed-text assertion (element removed from UI) * update timeout on toast * test: fix lastName sanitization regex in mssql spec and fake.js * refactor: rewrite seed script to use TypeORM directly The old seed script was fully commented out and its backing service (seed.service.ts_ig) had broken imports and missing onboarding status, causing the frontend to redirect to /setup on every page load. The new script connects directly via TypeORM DataSource and creates: org, SSO config, super admin user, org-user mapping, default environments, permission groups, and marks both user.onboardingStatus and metadata.onboarded so the frontend skips /setup. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * refactor: rewrite seed script to use TypeORM directly The old seed script was fully commented out and its backing service (seed.service.ts_ig) had broken imports and missing onboarding status, causing the frontend to redirect to /setup on every page load. The new script connects directly via TypeORM DataSource and creates: org, SSO config, super admin user, org-user mapping, default environments, permission groups, and marks both user.onboardingStatus and metadata.onboarded so the frontend skips /setup. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: bump version to 3.20.131-lts across all components * fix: form fields prioritize (#15657) * fix: Handle template app creation from website (#15717) * Support App Slug for PAT (#15714) --------- Co-authored-by: emidhun <midhun752@gmail.com> Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: sahil7303 <sahildewangan73@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com> Co-authored-by: johnsoncherian <57667706+johnsoncherian@users.noreply.github.com> Co-authored-by: Akshay <akshaysasidrn@gmail.com> Co-authored-by: Nishidh Jain <61869195+NishidhJain@users.noreply.github.com> Co-authored-by: gsmithun4 <3417097+gsmithun4@users.noreply.github.com> Co-authored-by: Ganesh Kumar <40178541+ganesh8056@users.noreply.github.com> Co-authored-by: Sahil Dewangan <123866478+sahil7303@users.noreply.github.com> Co-authored-by: Souvik <psouvik260@gmail.com> Co-authored-by: Shaurya Sharma <shaurya064@gmail.com> Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com> Co-authored-by: Rudhra Deep Biswas <98055396+rudeUltra@users.noreply.github.com>
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.
No description provided.