fix: integrate people archive, report reader and western chart corrections
Independent Staging Quality Gate / validate (push) Successful in 16m28s
Independent Staging Quality Gate / publish (push) Successful in 3m33s

Validate on Linux Node 22 and PostgreSQL 17: 3894 frontend tests and 64 database tests pass, with no removed test names or new failures. Preserve static Home, bounded gzip, assertion-change records and manual acceptance gaps.

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
jesse-ux
2026-09-25 20:41:16 +08:00
co-authored by Claude Code
parent 48fe4daf51
commit 4d801e53c3
78 changed files with 34844 additions and 441 deletions
+10
View File
@@ -50,6 +50,16 @@ test("or() compiles the session cursor filter with a nested and", () => {
assert.match(listRoute, /pageQuery = pageQuery\.or\(sessionCursorFilter\(cursor\)\)/);
});
test("or() compiles null and boolean IS without binding them as strings", () => {
const parameters: unknown[] = [];
assert.equal(compilePostgrestOr("chart_profile_id.is.null,chart_profile_id.eq.self", parameters, new Map()),
'("chart_profile_id" is null or "chart_profile_id" = $1)');
assert.deepEqual(parameters, ["self"]);
assert.equal(compilePostgrestOr("enabled.is.true,enabled.is.false", [], new Map()),
'("enabled" is true or "enabled" is false)');
assert.throws(() => compilePostgrestOr("enabled.is.anything", [], new Map()));
});
test("session list empty-consultation filter is session_type scoped", () => {
assert.match(listFilter, /session_type\.neq\.consultation,messages\.neq\.\[\]/);
assert.match(listRoute, /excludeEmptyConsultations/);