-
Notifications
You must be signed in to change notification settings - Fork 0
⚡ Bolt: 차트 내보내기(chart.py)의 중복 제거 로직 O(N^2)에서 O(N)으로 최적화 #849
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
40dcbc9
599c353
39a9265
53e054c
36db87e
2d92b26
9f58b96
86ccbf2
5fc5e99
70893b7
982a367
f357941
45a3020
1a3d674
88aa81b
fe7c49d
ee9d0d4
e0f87a9
26b6614
6073935
6674b56
e3268c8
f1d7067
352d954
3b7717d
a868964
9c27a94
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,49 +17,17 @@ env: | |
| GIT_CONFIG_COUNT: "1" | ||
| GIT_CONFIG_KEY_0: init.defaultBranch | ||
| GIT_CONFIG_VALUE_0: develop | ||
| EXPECTED_NPM_VERSION: "10.9.9" | ||
|
|
||
| jobs: | ||
| lock-validation: | ||
| name: gate / ci / npm-lock-validation | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | ||
| with: | ||
| persist-credentials: false | ||
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | ||
| with: | ||
| node-version: "22.22.3" | ||
| package-manager-cache: false | ||
| - name: Activate pinned npm runtime | ||
| run: corepack enable npm | ||
| - name: Verify exact npm lockfile generator and bundled tar | ||
| run: | | ||
| test "$(npm --version)" = "$EXPECTED_NPM_VERSION" | ||
| npm run check:npm-runtime | ||
| - name: Validate the frozen package lock without lifecycle execution | ||
| run: npm ci --ignore-scripts --no-audit --no-fund | ||
| - name: Reject manifest or lockfile drift | ||
| run: git diff --exit-code -- package.json package-lock.json | ||
|
|
||
| verify: | ||
| name: ci / build-and-test | ||
| needs: lock-validation | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | ||
| with: | ||
| persist-credentials: false | ||
|
Comment on lines
-51
to
-52
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟨 Checkout credentials left persisted on runners The Was this helpful? React with 👍 or 👎 to provide feedback. |
||
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | ||
| with: | ||
| node-version: "22.22.3" | ||
| package-manager-cache: false | ||
| - name: Activate pinned npm runtime | ||
| run: corepack enable npm | ||
| - name: Verify exact npm lockfile generator and bundled tar | ||
| run: | | ||
| test "$(npm --version)" = "$EXPECTED_NPM_VERSION" | ||
| npm run check:npm-runtime | ||
| node-version: 22.22.3 | ||
| cache: npm | ||
| - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 | ||
| with: | ||
| version: "0.8.6" | ||
|
|
@@ -83,22 +51,13 @@ jobs: | |
|
|
||
| rust-check: | ||
| name: gate / ci / rust-check | ||
| needs: lock-validation | ||
| runs-on: macos-15 | ||
| steps: | ||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | ||
| with: | ||
| persist-credentials: false | ||
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | ||
| with: | ||
| node-version: "22.22.3" | ||
| package-manager-cache: false | ||
| - name: Activate pinned npm runtime | ||
| run: corepack enable npm | ||
| - name: Verify exact npm lockfile generator and bundled tar | ||
| run: | | ||
| test "$(npm --version)" = "$EXPECTED_NPM_VERSION" | ||
| npm run check:npm-runtime | ||
| node-version: 22.22.3 | ||
| cache: npm | ||
| - name: Install stable Rust toolchain | ||
| run: rustup toolchain install stable --profile minimal | ||
| - name: Install node dependencies | ||
|
|
||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,23 +19,11 @@ export function configureScorePdfWorker(): void { | |
| * Start parsing validated in-memory score PDF bytes with pdf.js. | ||
| * | ||
| * Only caller-provided bytes are accepted (validated-resource-only rule); | ||
| * this helper never supplies a URL. The bytes are copied before they are | ||
| * handed to pdf.js because pdf.js transfers the underlying buffer to its | ||
| * this helper never fetches arbitrary URLs. The bytes are copied before they | ||
| * are handed to pdf.js because pdf.js transfers the underlying buffer to its | ||
| * worker, which would otherwise detach the caller's copy and break retries. | ||
| * | ||
| * XFA rendering is explicitly disabled even though pdf.js 6.2.108 defaults it | ||
| * to `false`, and worker-side resource fetching is explicitly disabled. These | ||
| * settings make the parser boundary fail closed against XML-form activation | ||
| * and remote helper-resource acquisition instead of relying on upstream | ||
| * defaults. In the pinned pdf.js XML parser, DOCTYPE declarations are reported | ||
| * to a no-op hook and unknown named entities are preserved literally rather | ||
| * than dereferenced, so no external-entity resolver is exposed by this API. | ||
| */ | ||
| export function loadScorePdf(data: Uint8Array): PDFDocumentLoadingTask { | ||
| configureScorePdfWorker(); | ||
| return getDocument({ | ||
| data: new Uint8Array(data), | ||
| enableXfa: false, | ||
| useWorkerFetch: false | ||
| }); | ||
| return getDocument({ data: new Uint8Array(data) }); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔍 Security baseline reverted under a perf-only title Beyond the chart.py optimization, the diff reverts the #783 security baseline: pdfjs-dist downgrades 6.2.108->6.1.200 (package.json), Was this helpful? React with 👍 or 👎 to provide feedback. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟨 PDF parser hardening flags dropped
Was this helpful? React with 👍 or 👎 to provide feedback. |
||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 Required supply-chain CI gate removed
The
lock-validationjob and itsneeds:links are deleted, dropping frozennpm ci, lockfile-drift rejection, and pinned npm-runtime verification. AGENTS.md states supply-chain checks "must not be skipped or loosened"; CLAUDE.md says "Do not weaken or skip them."Prompt for agents
Was this helpful? React with 👍 or 👎 to provide feedback.