Repository navigation
⚡ Bolt: [성능 개선] 테이블 셀 렌더링 최적화 #371
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
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 |
|---|---|---|
|
|
@@ -740,8 +740,14 @@ function openReportModal() { | |
| // hand-edited files ever matter. | ||
| export function parseMsProjectXml(xml) { | ||
| const tag = (block, name) => { | ||
| const m = block.match(new RegExp(`<${name}>([^<]*)</${name}>`)); | ||
| return m ? m[1].trim() : ''; | ||
| // Avoid dynamic RegExp with user-controlled input (ReDoS vulnerability) | ||
| const openTag = `<${name}>`; | ||
| const closeTag = `</${name}>`; | ||
| const start = block.indexOf(openTag); | ||
| if (start === -1) return ''; | ||
| const end = block.indexOf(closeTag, start + openTag.length); | ||
| if (end === -1) return ''; | ||
| return block.substring(start + openTag.length, end).trim(); | ||
|
Comment on lines
+743
to
+750
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 & Privacy | 🟠 Major | ⚡ Quick win
현재 변경은 권장 수정- const blocks = xml.match(/<Task>[\s\S]*?<\/Task>/g) || [];
+ const blocks = [];
+ let cursor = 0;
+ while (true) {
+ const start = xml.indexOf('<Task>', cursor);
+ if (start === -1) break;
+ const end = xml.indexOf('</Task>', start + 6);
+ if (end === -1) break;
+ blocks.push(xml.slice(start, end + 7));
+ cursor = end + 7;
+ }🤖 Prompt for AI Agents |
||
| }; | ||
| const unescape = (s) => s | ||
| .replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"') | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
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.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
중복된
[Unreleased]헤더를 제거하세요.Line 8에 이미 동일한 헤더가 있으므로 Line 51의 헤더는 MD024 위반을 발생시킵니다. 성능 개선 항목을 기존
[Unreleased]섹션 아래로 이동해 하나의 릴리스 섹션으로 병합하세요.🧰 Tools
🪛 markdownlint-cli2 (0.23.1)
[warning] 51-51: Multiple headings with the same content
(MD024, no-duplicate-heading)
🤖 Prompt for AI Agents
Source: Linters/SAST tools