Skip to content

fix(pwa): migration 010 crash-looped app.logicsrc.com (inline SQL comments) - #271

Merged
sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
fix/rotation-migration-comments
Oct 29, 2026
Merged

sh1pt-actions-fleet[bot] merged 1 commit into
masterfrom
fix/rotation-migration-comments

Conversation

@sh1pt-actions-fleet

Copy link
Copy Markdown
Contributor

libsql-pg convertDdl turns an inline -- comment inside CREATE TABLE into a column named --. Postgres then fails with column "--" specified more than once, and app.logicsrc.com crash-looped on boot after #269. The comments now sit above the statement, with no semicolons, because the migrator splits on them.

Verified: replayed the shim's convertDdl output for the old and new file on the prod DB inside BEGIN/ROLLBACK. The old file reproduces the error and the new one creates the table and index. PWA tests: 108 passed.

🤖 Generated with Claude Code

libsql-pg's convertDdl turns an inline '-- comment' inside CREATE TABLE into
a column named "--" (Postgres: column "--" specified more than once), which
crash-looped app.logicsrc.com on boot after #269. Comments move above the
statement, without semicolons (the migrator splits on them).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

67 finding(s)

HIGH/CRITICAL: 6 | MEDIUM: 29 | LOW: 32

Severity Rule Location
HIGH secret-private-key apps/pwa/src/routes/keyring.mjs:32
HIGH secret-private-key packages/cli/src/keyring.ts:83
HIGH secret-private-key packages/logicsrc-mcp/src/keyring.ts:20
HIGH secret-private-key plugins/credential-sharing/src/providers/ssh.ts:129
HIGH js-host-header-trust apps/commandboard-web/server.js:27
HIGH js-ssrf-outbound-request apps/pwa/public/sw.js:45
MEDIUM js-unescaped-html-sink apps/commandboard-web/src/main.ts:19
MEDIUM sh-remote-script-execution apps/logicsrc-web/public/install.sh:71
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/[[...slug]]/page.tsx:59
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/layout.tsx:80
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/pricing/page.tsx:42
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/breadcrumbs.tsx:43
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/pit-footer.tsx:16
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/site-shell.tsx:36
MEDIUM js-unescaped-html-sink apps/pwa/public/keyring.js:51
MEDIUM sql-template-interpolation apps/pwa/src/routes/rotation.mjs:78
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:253
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:297
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:299
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:303
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:307
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:326
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:327
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:329
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:330
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:331
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:334
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:395
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:402
MEDIUM redos-nested-quantifier packages/cli/src/rotation-catalog.ts:408
MEDIUM redos-nested-quantifier packages/opencontext/src/ids.ts:10
MEDIUM redos-nested-quantifier packages/opencontext/src/ids.ts:11
MEDIUM js-timing-unsafe-mac-compare packages/opencontext/src/validate.ts:208
MEDIUM redos-nested-quantifier packages/openerrand/src/browser.ts:34
MEDIUM redos-nested-quantifier packages/openontology/src/ids.ts:20
LOW secret-generic-credential apps/pwa/test/appbar.test.mjs:10
LOW secret-private-key apps/pwa/test/keyring.test.mjs:137
LOW secret-generic-credential apps/pwa/test/signup-profile.test.mjs:61
LOW secret-generic-credential apps/pwa/test/signup-profile.test.mjs:72
LOW secret-openai-key packages/cli/src/desktop-flow.test.ts:315
LOW secret-generic-api-key packages/cli/src/desktop-flow.test.ts:315
LOW secret-private-key packages/cli/src/keyring.test.ts:86
LOW secret-private-key packages/cli/src/keyring.test.ts:88
LOW secret-private-key packages/cli/src/rotate-flow.test.ts:125
LOW secret-generic-api-key packages/cli/src/rotate-flow.test.ts:177
LOW secret-generic-credential packages/cli/src/rotate-flow.test.ts:184
LOW secret-generic-api-key packages/cli/src/rotate-flow.test.ts:198
LOW secret-generic-credential packages/cli/src/rotate-flow.test.ts:204
LOW secret-generic-credential packages/cli/src/rotators.test.ts:52
LOW secret-generic-credential packages/cli/src/rotators.test.ts:75

…and 17 more. Full results in the Security tab.

Snippets are redacted; ThreatCrush never prints matched credential material.

@sh1pt-actions-fleet
sh1pt-actions-fleet Bot merged commit 63ecfb4 into master Oct 29, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant