v7.12 release #278

Merged
Yury merged 49 commits from additional-validations-regex into main 2026-07-28 09:52:12 +00:00
Owner

Issue

Closes #273 (HARDREGEX + SOFTREGEX validation rules)
Closes #279 (display all libs in MPE_SECURITY)
Closes #211 (prevent incompatible RLS + REPLACE loadtype combinations)
Closes #239 (viewbox filter state leaking into the base table's filters)
Closes #276 (Angular / Clarity upgrade + sheetJS shim to clear audit CVEs)

Summary

New HARDREGEX / SOFTREGEX DQ rules (#273)

Two new validation rule types apply regular expressions to cell values, configured via MPE_VALIDATIONS:

  • HARDREGEX — a non-matching value blocks submission (cell renders red), on the same path as the existing CASE / MINVAL / MAXVAL / NOTNULL rules.
  • SOFTREGEX — a non-matching value shows a yellow warning but submission is still allowed. Since the cell validator would block submission, this is wired as a display-only grid renderer instead, and mirrored in the edit-record modal (which has no grid renderer to hook into) via DcValidator.failsSoftRegex.

Behaviour details:

  • SAS-side validation — a new post-edit hook on MPE_VALIDATIONS (mpe_validations_postedit.sas) validates regex patterns with PRXPARSE when the rule is saved; invalid patterns are rejected with the offending columns listed. Patterns may be written in SAS PRX /pattern/flags syntax or bare form — the frontend parses both (parseRegexRule).
  • Frontend evaluation — patterns are evaluated with the JavaScript regex engine. They are used as authored (not auto-anchored), so rule authors write ^...$ themselves for a full-value match. Malformed-in-the-browser patterns fail open (treated as valid, logged via console.warn) rather than blocking every submission on that column.
  • Exemptions — blank values are always exempt; on numeric columns the plain SAS missing (.) is also exempt. Special missings (.A-.Z, ._) are deliberately-set values and are validated against the pattern. Cells in rows marked for deletion are not validated/warned (except primary-key columns).
  • One regex per column — if a column has both rules, the SOFTREGEX is ignored entirely (the column behaves as HARDREGEX-only); the column-header info dropdown and cell tooltip show the applied pattern (col-info-html).
  • New dc-warning-cell CSS class for the SOFTREGEX warning, reusing the app's existing Clarity/CDS warning colour tokens rather than a hardcoded colour.
  • Mock coverage: two new demo columns on MPE_X_TEST / MPE_X_NEW (REGEX_HARD_COL — email pattern, REGEX_SOFT_COL — UK postcode pattern), following the existing RULE_DEMO_COLS convention.
  • Documentation: new "Regex Rules" section in docs/dcc-validations.md and updated RULE_TYPE values in docs/tables/mpe_validations.md (docs.datacontroller.io).

RLS / REPLACE loadtype validation (#211)

Row-level security with EDIT (or ALL) scope is incompatible with tables configured with the REPLACE loadtype. This is now enforced in the backend post-edit hooks:

  • mpe_row_level_security_postedit.sas rejects submissions that would apply EDIT-scope RLS to a REPLACE-loadtype table.
  • mpe_tables_postedit.sas performs the symmetric check, preventing a table being switched to REPLACE while EDIT-scope RLS rules exist.

MPE_SECURITY shows all libraries (#279)

The LIBREF validation dropdown in MPE_SECURITY now lists all assigned libraries instead of only libraries that contain editable tables.

Viewbox filter isolation (#239)

Fixed viewbox filter state leaking into (and from) the base table's filter state — each viewbox now maintains its own isolated filters. Includes Cypress fixes for the previously flaky viewbox.cy.ts assertions, now added to the CI test suite.

Dependency upgrades / security (#276)

  • Angular 19 → 20 and Clarity bump, with a crypto/browserify shim for sheetJS.
  • Bumped @sasjs/core and patched audit vulnerabilities across client and sas lockfiles — npm audit is now at 0 vulnerabilities, and the CI check has been made strict (fails on any audit finding).
  • Lockfile fixes to keep npm ci working in the pipeline (peer-dependency drift).
  • Ensured no assets (including og: meta links) are fetched from external sources, keeping DC fully offline/on-prem capable.

Test plan

  • npm run test:headless — unit tests green, incl. new dq-validation.spec.ts, parseRegexRule.spec.ts, regex-warning-renderer.spec.ts, isRegexRuleExempt.spec.ts, col-info-html.spec.ts, and new cases in dc-validator.spec.ts (matching/non-matching values, blank/missing exemptions, malformed patterns, dual-rule behaviour, modal support, regression coverage using real HARDREGEX/SOFTREGEX rule values)
  • npx tsc --noEmit — clean
  • npm run lint:check / sasjs lint — clean on touched files
  • npm run build — production build succeeds
  • npm audit — 0 vulnerabilities (now enforced in CI)
  • CI: build + Cypress green (editor.cy.ts incl. new HARDREGEX/SOFTREGEX cases against MPE_X_TEST, and viewbox.cy.ts)
  • SAS tests: sasjs test — incl. new stagedata.test.3.sas and updated RLS/validations hook tests
  • Manual: on MPE_X_TEST, an invalid email in REGEX_HARD_COL blocks submission (red); an invalid postcode in REGEX_SOFT_COL shows a yellow warning but still submits; marking that row for delete clears the warning; the same behaviour is visible in the edit-record modal; the applied pattern shows in the column info dropdown
  • Manual: attempting to save an EDIT-scope RLS rule against a REPLACE-loadtype table (or switching such a table to REPLACE) is rejected with a clear message
## Issue Closes #273 (HARDREGEX + SOFTREGEX validation rules) Closes #279 (display all libs in MPE_SECURITY) Closes #211 (prevent incompatible RLS + REPLACE loadtype combinations) Closes #239 (viewbox filter state leaking into the base table's filters) Closes #276 (Angular / Clarity upgrade + sheetJS shim to clear audit CVEs) ## Summary ### New HARDREGEX / SOFTREGEX DQ rules (#273) Two new validation rule types apply regular expressions to cell values, configured via `MPE_VALIDATIONS`: - **`HARDREGEX`** — a non-matching value blocks submission (cell renders red), on the same path as the existing `CASE` / `MINVAL` / `MAXVAL` / `NOTNULL` rules. - **`SOFTREGEX`** — a non-matching value shows a yellow warning but submission is still allowed. Since the cell validator would block submission, this is wired as a display-only grid renderer instead, and mirrored in the edit-record modal (which has no grid renderer to hook into) via `DcValidator.failsSoftRegex`. Behaviour details: - **SAS-side validation** — a new post-edit hook on `MPE_VALIDATIONS` (`mpe_validations_postedit.sas`) validates regex patterns with `PRXPARSE` when the rule is saved; invalid patterns are rejected with the offending columns listed. Patterns may be written in SAS PRX `/pattern/flags` syntax or bare form — the frontend parses both (`parseRegexRule`). - **Frontend evaluation** — patterns are evaluated with the JavaScript regex engine. They are used as authored (not auto-anchored), so rule authors write `^...$` themselves for a full-value match. Malformed-in-the-browser patterns fail open (treated as valid, logged via `console.warn`) rather than blocking every submission on that column. - **Exemptions** — blank values are always exempt; on numeric columns the plain SAS missing (`.`) is also exempt. Special missings (`.A`-`.Z`, `._`) are deliberately-set values and **are** validated against the pattern. Cells in rows marked for deletion are not validated/warned (except primary-key columns). - **One regex per column** — if a column has both rules, the SOFTREGEX is ignored entirely (the column behaves as HARDREGEX-only); the column-header info dropdown and cell tooltip show the applied pattern (`col-info-html`). - New `dc-warning-cell` CSS class for the SOFTREGEX warning, reusing the app's existing Clarity/CDS warning colour tokens rather than a hardcoded colour. - Mock coverage: two new demo columns on `MPE_X_TEST` / `MPE_X_NEW` (`REGEX_HARD_COL` — email pattern, `REGEX_SOFT_COL` — UK postcode pattern), following the existing `RULE_DEMO_COLS` convention. - Documentation: new "Regex Rules" section in `docs/dcc-validations.md` and updated `RULE_TYPE` values in `docs/tables/mpe_validations.md` (docs.datacontroller.io). ### RLS / REPLACE loadtype validation (#211) Row-level security with EDIT (or ALL) scope is incompatible with tables configured with the `REPLACE` loadtype. This is now enforced in the backend post-edit hooks: - `mpe_row_level_security_postedit.sas` rejects submissions that would apply EDIT-scope RLS to a REPLACE-loadtype table. - `mpe_tables_postedit.sas` performs the symmetric check, preventing a table being switched to REPLACE while EDIT-scope RLS rules exist. ### MPE_SECURITY shows all libraries (#279) The LIBREF validation dropdown in `MPE_SECURITY` now lists all assigned libraries instead of only libraries that contain editable tables. ### Viewbox filter isolation (#239) Fixed viewbox filter state leaking into (and from) the base table's filter state — each viewbox now maintains its own isolated filters. Includes Cypress fixes for the previously flaky `viewbox.cy.ts` assertions, now added to the CI test suite. ### Dependency upgrades / security (#276) - Angular 19 → 20 and Clarity bump, with a crypto/browserify shim for sheetJS. - Bumped `@sasjs/core` and patched audit vulnerabilities across `client` and `sas` lockfiles — `npm audit` is now at **0 vulnerabilities**, and the CI check has been made strict (fails on any audit finding). - Lockfile fixes to keep `npm ci` working in the pipeline (peer-dependency drift). - Ensured no assets (including `og:` meta links) are fetched from external sources, keeping DC fully offline/on-prem capable. ## Test plan - [ ] `npm run test:headless` — unit tests green, incl. new `dq-validation.spec.ts`, `parseRegexRule.spec.ts`, `regex-warning-renderer.spec.ts`, `isRegexRuleExempt.spec.ts`, `col-info-html.spec.ts`, and new cases in `dc-validator.spec.ts` (matching/non-matching values, blank/missing exemptions, malformed patterns, dual-rule behaviour, modal support, regression coverage using real HARDREGEX/SOFTREGEX rule values) - [ ] `npx tsc --noEmit` — clean - [ ] `npm run lint:check` / `sasjs lint` — clean on touched files - [ ] `npm run build` — production build succeeds - [ ] `npm audit` — 0 vulnerabilities (now enforced in CI) - [ ] CI: build + Cypress green (`editor.cy.ts` incl. new HARDREGEX/SOFTREGEX cases against `MPE_X_TEST`, and `viewbox.cy.ts`) - [ ] SAS tests: `sasjs test` — incl. new `stagedata.test.3.sas` and updated RLS/validations hook tests - [ ] Manual: on `MPE_X_TEST`, an invalid email in `REGEX_HARD_COL` blocks submission (red); an invalid postcode in `REGEX_SOFT_COL` shows a yellow warning but still submits; marking that row for delete clears the warning; the same behaviour is visible in the edit-record modal; the applied pattern shows in the column info dropdown - [ ] Manual: attempting to save an EDIT-scope RLS rule against a REPLACE-loadtype table (or switching such a table to REPLACE) is rejected with a clear message
Yury added 1 commit 2026-07-20 15:20:02 +00:00
feat(editor): add HARDREGEX/SOFTREGEX validation rules
Build / Build-and-ng-test (pull_request) Successful in 5m25s
Build / Build-and-test-development (pull_request) Successful in 14m56s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m35s
17e4802895
Two new DQ rule types apply regular expressions to cell values:
HARDREGEX blocks submission on a non-matching value (same path as the
existing CASE/MINVAL/MAXVAL rules); SOFTREGEX is display-only — a
non-matching value gets a yellow warning cell but can still submit,
so it's wired as a grid renderer rather than a validator, and mirrored
in the edit-record modal (which has no grid renderer to hook into) via
DcValidator.failsSoftRegex. Both rules exempt blank and SAS special
missing values, and fail open on a malformed pattern rather than
blocking every submission on that column. HARDREGEX takes precedence
when both rules apply to the same column, so a failing value renders
red/blocked, never yellow.
Yury requested review from allan 2026-07-20 15:20:27 +00:00
Yury requested review from sead 2026-07-20 15:20:27 +00:00
Yury requested review from trevor 2026-07-20 15:20:27 +00:00
allan added 1 commit 2026-07-20 19:52:44 +00:00
feat(regex): backend validations on regex strings
Build / Build-and-ng-test (pull_request) Successful in 5m36s
Build / Build-and-test-development (pull_request) Successful in 15m57s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m28s
d2c93a46fa
Yury added 1 commit 2026-07-21 06:23:34 +00:00
chore: merge remote-tracking branch 'origin/main' into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m29s
Build / Build-and-test-development (pull_request) Successful in 15m36s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m27s
3ed7cfdbee
allan added 1 commit 2026-07-21 17:08:48 +00:00
feat: using ALL libraries as validation in MPE_SECURITY. Closes #279
Build / Build-and-ng-test (pull_request) Successful in 5m20s
Build / Build-and-test-development (pull_request) Successful in 15m19s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m50s
62ff0aee4a
allan changed title from feat(editor): add HARDREGEX/SOFTREGEX validation rules## to v7.12 release 2026-07-21 17:33:01 +00:00
allan added 4 commits 2026-07-22 18:25:11 +00:00
feat: validation on RLS for REPLACE, + docs + tests. Closes #211
Build / Build-and-ng-test (pull_request) Successful in 5m24s
Build / Build-and-test-development (pull_request) Successful in 15m37s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m43s
7378f3ba30
Merge pull request 'Issue211' (#281) from issue211 into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m22s
Build / Build-and-test-development (pull_request) Successful in 15m39s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m31s
6cd9b68581
Reviewed-on: #281
Yury added 1 commit 2026-07-23 10:37:33 +00:00
fix(validations): parse SAS PRX /pattern/flags syntax in HARDREGEX/SOFTREGEX
Build / Build-and-ng-test (pull_request) Successful in 5m27s
Build / Build-and-test-development (pull_request) Successful in 15m50s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m43s
7ed3730ae3
RULE_VALUE is authored in PRX delimiter form because prxparse() requires
it, but HARDREGEX, the SOFTREGEX grid renderer, and failsSoftRegex were
all passing that string straight into `new RegExp()`, so the delimiters
and flags were matched as literal characters instead of applied - making
these rules silently never match real data.

Adds parseRegexRule (extracted, tested independently) to strip the
delimiters, apply flags, hoist a leading (?i) modifier, and translate
\Q...\E and \A/\z to their JS equivalents. Atomic groups and possessive
quantifiers are left unfixed (documented, fail-safe) - translating them
risks renumbering the pattern's own capture groups.

Also switches the REGEX_HARD_COL/REGEX_SOFT_COL mock rules to the
delimited form so editor.cy.ts's existing e2e coverage actually exercises
this path.
Yury added 1 commit 2026-07-23 11:16:19 +00:00
chore: regenerated sas/package-lock.json
Build / Build-and-ng-test (pull_request) Successful in 5m45s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m19s
Build / Build-and-test-development (pull_request) Successful in 15m48s
578c403994
allan added 6 commits 2026-07-23 12:23:39 +00:00
fix: patch npm audit vulnerabilities in sas and client dependencies
Build / Build-and-ng-test (pull_request) Failing after 1m18s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 1m28s
e22edf7ed3
fix: regenerate client lockfile to resolve Angular peer-dependency drift breaking npm ci
Build / Build-and-ng-test (pull_request) Successful in 5m19s
Build / Build-and-test-development (pull_request) Successful in 14m55s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m47s
05fe4744d5
chore(deps): upgrade Angular 19 -> 21 to resolve audit CVEs
Build / Build-and-ng-test (pull_request) Failing after 52s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 1m6s
022981390e
Bumps @angular/* to 21 (passing through 20 as a transient step, since
vendored Clarity has no Angular-20-compatible release) and
@typescript-eslint to 8.65.0 for TS 5.9 compat. Applies the required
ng update migrations, including *ngIf/*ngFor/*ngSwitch -> control-flow
syntax across 37 templates.
fix(deps): retarget Angular upgrade to 20, not 21 (CI install was broken)
Build / Build-and-ng-test (pull_request) Successful in 8m13s
Build / Build-and-test-development (pull_request) Successful in 25m4s
Lighthouse Checks / lighthouse (pull_request) Successful in 52m4s
cac9244f92
Retargets @angular/* to 20.3.26/cdk 20.2.14, reverts main.ts's
21-only bootstrap option, and widens Clarity's vendored peerDependencies
metadata to declare Angular 20 support (verified compatible; only 21 actually breaks it).
chore: bumped @sasjs/core
Build / Build-and-ng-test (pull_request) Successful in 5m6s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m4s
Build / Build-and-test-development (pull_request) Successful in 15m24s
56b7854db5
Merge pull request 'fix: patch npm audit vulnerabilities in sas and client dependencies' (#280) from issue-276 into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m40s
Build / Build-and-test-development (pull_request) Successful in 15m30s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
994e7fc973
Reviewed-on: #280
Yury added 1 commit 2026-07-23 15:35:15 +00:00
fix(lint): remove redundant optional chaining
Build / Build-and-ng-test (pull_request) Successful in 4m59s
Build / Build-and-test-development (pull_request) Successful in 15m12s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m15s
d881290618
allan added 1 commit 2026-07-24 11:53:33 +00:00
fix: default value for label
Build / Build-and-ng-test (pull_request) Successful in 5m35s
Build / Build-and-test-development (pull_request) Successful in 15m36s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m51s
a3e46a968e
allan added 2 commits 2026-07-24 11:54:22 +00:00
fix: adding REGEX validations to mpe_x_test
Build / Build-and-ng-test (pull_request) Failing after 1m58s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 21m55s
bd798b424a
Yury added 2 commits 2026-07-24 12:00:10 +00:00
Verifies parseRegexRule against a corpus of RULE_VALUEs collected from an
existing MPE_VALIDATIONS table - none use PRX-only syntax, so behavior is
confirmed to match SAS PRX exactly, not just "doesn't throw". Pins two
data quirks found along the way (a range vs. literal-hyphen character
class, and a double-escaped lookahead that's a no-op in both engines)
rather than silently treating either as a bug to fix.
chore: merge branch additional-validations-regex
Build / Build-and-ng-test (pull_request) Failing after 1m44s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 22m50s
54b8c78f86
allan added 6 commits 2026-07-24 13:54:41 +00:00
fix: removing low severity warning in npm audit
Build / Build-and-ng-test (pull_request) Failing after 48s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 1m9s
2a771bb91a
fix: include peer dependencies in package-lock for npm ci in pipeline
Build / Build-and-ng-test (pull_request) Failing after 2m38s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Canceled after 6m25s
b51c770782
chore(docs): no auto-commit rule
Build / Build-and-test-development (pull_request) Canceled after 0s
Build / Build-and-ng-test (pull_request) Canceled after 43s
Lighthouse Checks / lighthouse (pull_request) Canceled after 4m7s
cfe1e75be4
chore: adding crypt shim to tests
Build / Build-and-ng-test (pull_request) Successful in 5m16s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m50s
Build / Build-and-test-development (pull_request) Successful in 15m32s
fae9496bbc
Merge branch 'additional-validations-regex' into auditfix
Build / Build-and-ng-test (pull_request) Successful in 5m5s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m42s
Build / Build-and-test-development (pull_request) Successful in 15m52s
66f7b87b07
Merge pull request 'fix: removing low severity warning in npm audit' (#283) from auditfix into additional-validations-regex
Build / Build-and-test-development (pull_request) Canceled after 0s
Build / Build-and-ng-test (pull_request) Canceled after 31s
Lighthouse Checks / lighthouse (pull_request) Canceled after 5s
92c1e20126
Reviewed-on: #283
Reviewed-by: Yury <yury@4gl.io>
allan added 6 commits 2026-07-24 14:24:32 +00:00
fix(query): isolate viewbox filter state from the base table's
Build / Build-and-ng-test (pull_request) Successful in 5m8s
Build / Build-and-test-development (pull_request) Successful in 15m11s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
7a35cf4a45
Also guards $dataformats.vars[column] in viewboxes.component.html against
a column not present in the map (unrelated crash hit while reproducing).
chore: added viewbox.cy.ts to CI tests
Build / Build-and-ng-test (pull_request) Successful in 4m54s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m0s
Build / Build-and-test-development (pull_request) Failing after 21m21s
ee4e9b9271
test(cypress): fix flaky viewbox.cy.ts assertions and DOM lookups
Build / Build-and-ng-test (pull_request) Successful in 5m53s
Lighthouse Checks / lighthouse (pull_request) Successful in 22m19s
Build / Build-and-test-development (pull_request) Successful in 20m2s
37a98e1d64
Replace one-shot .then()/for-loop matching with retrying .should()/cy.contains()
lookups, drop stale cached DOM node references (viyaLib) in favor of live re-queries.
Merge branch 'additional-validations-regex' into issue-239
Build / Build-and-test-development (pull_request) Canceled after 0s
Build / Build-and-ng-test (pull_request) Canceled after 1m15s
Lighthouse Checks / lighthouse (pull_request) Canceled after 1m17s
7050808d80
Merge branch 'additional-validations-regex' into issue-239
Build / Build-and-ng-test (pull_request) Successful in 4m53s
Lighthouse Checks / lighthouse (pull_request) Successful in 20m48s
Build / Build-and-test-development (pull_request) Successful in 19m27s
5c56c7579f
Merge pull request 'fix(query): isolate viewbox filter state from the base table's' (#282) from issue-239 into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m17s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
Build / Build-and-test-development (pull_request) Successful in 20m8s
8efea8c744
Reviewed-on: #282
allan added 1 commit 2026-07-24 16:45:13 +00:00
fix: ensure that no assets (including og links) ever fetch from external sources
Build / Build-and-ng-test (pull_request) Successful in 5m3s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m7s
Build / Build-and-test-development (pull_request) Successful in 19m37s
33dcb989d3
allan added 4 commits 2026-07-25 18:17:23 +00:00
fix: optimisation, renamed values for DDTYPE to save space
Build / Build-and-ng-test (pull_request) Failing after 1m45s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 20m4s
cfb60e5e4b
chore: down to 0 vulns
Build / Build-and-ng-test (pull_request) Failing after 1m57s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 2m12s
e7abb0a08a
fix: licensecheker
Build / Build-and-ng-test (pull_request) Successful in 5m0s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m7s
Build / Build-and-test-development (pull_request) Successful in 19m40s
f60bcef583
Merge pull request 'fix: optimisation, renamed values for DDTYPE to save space' (#285) from ddtype_rename into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m23s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m50s
Build / Build-and-test-development (pull_request) Successful in 20m35s
44bc7f7fea
Reviewed-on: #285
allan added 5 commits 2026-07-27 11:39:31 +00:00
feat(editor): show applied HARDREGEX/SOFTREGEX pattern in column info dropdown
Build / Build-and-ng-test (pull_request) Failing after 1m44s
Build / Build-and-test-development (pull_request) Skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 21m25s
39c8855f37
Add DcValidator.getRegexRuleValue (HARDREGEX takes precedence), thread it
through buildColInfoHtml, and cover it with a Cypress test.
Merge branch 'additional-validations-regex' into regex-info
Build / Build-and-ng-test (pull_request) Successful in 4m58s
Lighthouse Checks / lighthouse (pull_request) Successful in 20m51s
Build / Build-and-test-development (pull_request) Successful in 19m50s
aaf406b386
Merge branch 'additional-validations-regex' into regex-info
Build / Build-and-ng-test (pull_request) Successful in 5m35s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m51s
Build / Build-and-test-development (pull_request) Successful in 20m2s
d13fab267f
feat(editor): evaluate HARDREGEX/SOFTREGEX independently instead of hard-wins precedence
Build / Build-and-ng-test (pull_request) Successful in 4m59s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m21s
Build / Build-and-test-development (pull_request) Successful in 21m3s
57db1179a9
Both rules can now apply to one column: HARDREGEX still blocks submission
and takes its own tooltip, but SOFTREGEX is evaluated (and shown) whenever
HARDREGEX passes, instead of being silently suppressed whenever HARDREGEX
was merely present. Column-header info dropdown labels each rule separately
when a column has both.
Merge pull request 'feat(editor): show applied HARDREGEX/SOFTREGEX pattern in column info dropdown and cell tooltip' (#284) from regex-info into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m50s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m53s
Build / Build-and-test-development (pull_request) Successful in 20m59s
f171375899
Reviewed-on: #284
allan added 5 commits 2026-07-27 18:06:49 +00:00
fix(regex): special missing handling
Build / Build-and-ng-test (pull_request) Successful in 4m59s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m20s
Build / Build-and-test-development (pull_request) Successful in 20m45s
180c2477ed
fix: ensure only one REGEX applies at a time
Build / Build-and-ng-test (pull_request) Successful in 5m32s
Build / Build-and-test-development (pull_request) Canceled after 7m12s
Lighthouse Checks / lighthouse (pull_request) Canceled after 10m14s
8fb58eb36e
chore(demo): adding extra regex's to mpe_x_test
Build / Build-and-ng-test (pull_request) Successful in 5m13s
Build / Build-and-test-development (pull_request) Canceled after 11m54s
Lighthouse Checks / lighthouse (pull_request) Canceled after 16m54s
f9ea53cf78
fix: removing thousand seperator from plain numerics in EDIT mode
Build / Build-and-ng-test (pull_request) Successful in 5m11s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m12s
Build / Build-and-test-development (pull_request) Successful in 20m7s
0392a81cbd
Merge pull request 'fix(regex): special missing handling' (#286) from regexfix into additional-validations-regex
Build / Build-and-ng-test (pull_request) Successful in 5m0s
Lighthouse Checks / lighthouse (pull_request) Successful in 20m53s
Build / Build-and-test-development (pull_request) Successful in 20m17s
a4c3989c26
Reviewed-on: #286
Yury merged commit 347923900f into main 2026-07-28 09:52:12 +00:00
Yury deleted branch additional-validations-regex 2026-07-28 09:52:13 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dc/dc#278