-
Notifications
You must be signed in to change notification settings - Fork 3
[release] FE v1.7.4 #1560
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
Merged
Merged
[release] FE v1.7.4 #1560
Changes from all commits
Commits
Show all changes
92 commits
Select commit
Hold shift + click to select a range
4c358c2
fix: ๋์๋ฆฌ๋ฐฉ ์์น ํ
์คํธ ์ค๋ฒํ๋ก์ฐ๋ก ์ง๋ ๋ฒํผ์ด ๊ฐ๋ ค์ง๋ ๋ฌธ์ ์์
suhyun113 8ec4827
feat(tracking): Mixpanel ์ด๋ฒคํธ ์์ ๋ฐ ๋๋ฐ์ด์ค ํ์
์ ํธ ์ถ๊ฐ
seongwon030 93d50ff
feat(tracking): ์คํฌ๋กค ๊น์ด ๋ง์ผ์คํค ํธ๋ํน ํ
์ถ๊ฐ
seongwon030 73201a0
feat(tracking): ClubCard ๋
ธ์ถยทํด๋ฆญ ํํธ๋งต ํธ๋ํน ๊ตฌํ
seongwon030 98fee2a
docs(main): ์นด๋ ํํธ๋งต ํธ๋ํน ๋ถ์ ์๋๋ฆฌ์ค ๋ฌธ์ํ
seongwon030 370ab02
docs(event): ์นด๋ ํํธ๋งต ํธ๋ํน ๋ฌธ์ ๊ฒฝ๋ก ์ด๋ ๋ฐ device_type ์์ฑ ์ถ๊ฐ
seongwon030 37957d1
chore(claude): mixpanel ๋ถ์ ์ปค๋งจ๋ ์ถ๊ฐ ๋ฐ ์
๋ฐ์ดํธ
seongwon030 021a140
docs(claude): mixpanel-ab ์ปค๋งจ๋ ๊ฐ์
seongwon030 e977d59
chore: gitignore ์
๋ฐ์ดํธ
seongwon030 a930f89
fix(tracking): ClubCard Viewed ์์ฑ ์ค๋ช
์์ ๋ฐ ์ด๊ธฐ ์คํฌ๋กค ๊น์ด ์ฒดํฌ ์ถ๊ฐ
seongwon030 4edc166
feat(tooling): ํฌ๋ก์ค ์์ด์ ํธ ์ฝ๋ ๋ฆฌ๋ทฐ ์ปค๋งจ๋ ์ถ๊ฐ
seongwon030 13ad0dc
feat(tooling): Jira ์คํ ๋ฆฌ ์๋ ์์ฑ ์ปค๋งจ๋ ์ถ๊ฐ
seongwon030 8d06a61
feat: ์ปค๋ฒ ์ด๋ฏธ์ง ์์ ๋ ๋ถ๊ณผ๋ณ ํ๊ทธ ์์ ํด๋ฐฑ ์ ์ฉ
suhyun113 6d75429
feat: ๋์๋ฆฌ ํ๋กํ ๋ก๊ณ ํ
๋๋ฆฌ ๋ฐ์คํฌํ/๋ชจ๋ฐ์ผ ๋ถ๋ฆฌ ์ ์ฉ
suhyun113 04501ae
feat: ํด๋ฝ ์์ธ ํ์ด์ง OG ํ๊ทธ Edge Middleware ์ ์ฉ
seongwon030 c39984c
fix: @clubName ํ์ ๋ผ์ฐํธ OG ํ๊ทธ ๋ฏธ์ ์ฉ ๋ฒ๊ทธ ์์
seongwon030 7520b28
fix: Edge Middleware fetch timeout 3์ด ์ถ๊ฐ
seongwon030 0247971
docs: OG ํ๊ทธ Edge Middleware ๊ตฌ์กฐ ๋ฐ Next.js ๋๋น ํ๊ณ์ ๋ฌธ์ํ
seongwon030 55f3f9d
Merge pull request #1549 from Moadong/feature/#1548-social-og-tag-MOAโฆ
seongwon030 72b31f3
refactor(tooling): jira-story.sh ์ธํ๋ผ ์ ๋ณด ํ๊ฒฝ ๋ณ์๋ก ์ด๋
seongwon030 e18eccd
Merge branch 'develop-fe' into feature/#1545-cross-review-and-jira-stโฆ
seongwon030 728d5dc
refactor(tooling): jira-story.sh curl ์์ ์ฑ ๊ฐ์
seongwon030 9f90ac2
Merge branch 'feature/#1545-cross-review-and-jira-story-MOA-854' of hโฆ
seongwon030 cc0fb84
Merge pull request #1546 from Moadong/feature/#1545-cross-review-and-โฆ
seongwon030 56d21f2
Merge branch 'develop-fe' into feature/#1541-card-heatmap-tracking-MOโฆ
seongwon030 a15f2f9
fix(middleware): OG ๋ฏธ๋ค์จ์ด ์ ๊ท์ ๋ ์ต์ปค ๋๋ฝ ์์
seongwon030 663f2c2
fix(middleware): ํ๊ธ ํด๋ฝ๋ช
URL ๋์ฝ๋ฉ ๋๋ฝ ์์
seongwon030 eb1e6fd
refactor(middleware): decodeURIComponent๋ฅผ safeDecode ํฌํผ๋ก ๊ต์ฒด
seongwon030 70fb202
Merge pull request #1554 from Moadong/fix/#1553-og-middleware-anchor-โฆ
seongwon030 4efb4c4
Merge pull request #1512 from Moadong/feature/#1509-control-horizontaโฆ
seongwon030 3ea3a9c
feat(main): ๋ฐฐ๋ ๋ก๋ฉ ์ค shimmer ์ค์ผ๋ ํค UI ์ถ๊ฐ
seongwon030 127b8cf
refactor(hooks): React Query ์บ์ฑ ์ ๋ต ๊ฐ์
seongwon030 71c0356
Merge pull request #1559 from Moadong/feature/#1558-react-query-cacheโฆ
seongwon030 f12cf07
feat(main): ์ด๋ฏธ์ง ๋ก๋ ์๋ฃ ์์ ๊น์ง ๋ฐฐ๋ ์ค์ผ๋ ํค ์ ์ง
seongwon030 3a2b5ac
Merge pull request #1557 from Moadong/feature/#1556-banner-skeleton-Mโฆ
seongwon030 97ae008
feat(club-detail): ๋ค์ด๋ฒ ๋งต ํด๋ฆญ Mixpanel ์ด๋ฒคํธ ํธ๋ํน ์ถ๊ฐ
seongwon030 11e8b8f
chore(scripts): Jira-GitHub ์ด์ ์๋ํ ์คํฌ๋ฆฝํธ ์ถ๊ฐ
seongwon030 8ad3284
feat(tracking): ๋๋ฝ๋ Mixpanel ์ด๋ฒคํธ ํธ๋ํน ์ถ๊ฐ
seongwon030 0d82196
chore(commands): ์ด๋ฒคํธ ํธ๋ํน ๊ฐ์ฌ Claude ์ปค๋งจ๋ ์ถ๊ฐ
seongwon030 17a58fc
chore(commands): PRD ๊ธฐ๋ฐ ํ์ ์์
์ผ๊ด ์์ฑ Claude ์ปค๋งจ๋ ์ถ๊ฐ
seongwon030 904297f
Merge pull request #1543 from Moadong/fix/#1532-club-location-overfloโฆ
suhyun113 87aa639
feat(tooling): jira-task.sh ๋ด๋น์ ์๋ ์ง์ ๋ฐ ๋ณต์ ๋ผ๋ฒจ ์ง์
suhyun113 2328a18
chore(commands): /jira-task ๋ํํ Claude ์ปค๋งจ๋ ์ถ๊ฐ
suhyun113 9002c3c
fix(commands): /jira-task ๋ธ๋์น๋ช
ํ์์ GitHub Actions ๊ท์น์ ๋ง๊ฒ ์์
suhyun113 f886fd7
feat(tooling): /jira-task ๋ง๊ฐ์ผ ์
๋ ฅ ๋ฐ ๋ธ๋์น๋ช
ํ์ ์์
suhyun113 9843ec4
fix(tooling): jq ์ค๋ฅ ๋ฉ์์ง OS๋ณ ๋ถ๊ธฐ ๋ฐ payload ํ์ผ ์ ๋ฌ๋ก Windows ํธํ์ฑ ๊ฐ์
suhyun113 9f6b491
feat(tooling): ํ์ฑ ์คํ๋ฆฐํธ ์๋ ๋ฐฐ์น ๋ฐ ๋ด๋น์ ์๋ ์ง์
suhyun113 e490090
feat(tooling): ์คํ ๋ฆฌ ์์ฑ ์ ์ํฝ(์์ํญ๋ชฉ) ์๋ ์ง์ ์ง์
suhyun113 6cdc110
Merge pull request #1569 from Moadong/refactor/#1568-jira-story-scripโฆ
suhyun113 fcdaddd
fix(components): setState updater ๋ด ํธ๋ํน ์ฌ์ด๋ ์ดํํธ ๋ถ๋ฆฌ ๋ฐ ์ด๋ฒคํธ๋ช
์์
seongwon030 158a9b1
Merge pull request #1563 from Moadong/feature/#1562-add-naver-map-eveโฆ
seongwon030 8cdc350
Merge branch 'develop-fe' into feature/#1541-card-heatmap-tracking-MOโฆ
seongwon030 9611881
refactor(main): ClubCard handleClick์์ getBoundingClientRect() ์ด์ค ํธ์ถ ์ ๊ฑฐ
seongwon030 59af3f5
fix(webview): PromotionClubCTA ์น๋ทฐ ๋ค๋น๊ฒ์ด์
๋์ ์์
seongwon030 b3c8782
fix: lint error
seongwon030 7996ef0
chore(tooling): RN ์์ด์ ํธ ์ฌ๋์ ์ปค๋งจ๋ ์ถ๊ฐ, superpowers ํด๋ gitignore ์ฒ๋ฆฌ
seongwon030 2e7df45
chore(tooling): .claude/agents/ ํ ๊ณต์ ์ถ์ ์ถ๊ฐ, RN ์์ด์ ํธ ํ์ผ ์ปค๋ฐ
seongwon030 84de106
fix(main): ClubCard impression ์ฒด๋ฅ์๊ฐ ์ธก์ ๋ฐ ํธ๋ํน ๋ฐ์ดํฐ ํ์ง ๊ฐ์
seongwon030 7595958
docs(main): ํํธ๋งต ํธ๋ํน ๋ฌธ์๋ฅผ ์ค์ ๊ตฌํ์ ๋ง๊ฒ ์์
seongwon030 d0327f6
fix(promotion): ํ๋ณด๊ฒ์ํ ํ์ฌ ์นด๋ ์์ด์ฝ ํฌ๊ธฐ ๋ฐ ๋ฐ์ํ ๋ธ๋ ์ดํฌํฌ์ธํธ ์์
suhyun113 2b702a9
fix(promotion): ์์น ์์ด์ฝ SVG๋ฅผ 14x14 ๊ท๊ฒฉ์ผ๋ก ๊ต์ฒด
suhyun113 8901696
refactor(promotion): ํ์ฌ ์นด๋ ์์ด์ฝ์ ์ธ๋ผ์ธ SVG ์ปดํฌ๋ํธ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ
suhyun113 d3eaf2d
Merge pull request #1585 from Moadong/fix/#1570-promotion-card-icon-fโฆ
suhyun113 31e26e3
fix(tooling): cross-review.sh ์ธ์ ๊ฒ์ฆ ๊ฐํ
seongwon030 4886a11
docs: API ๋ฌธ์ ์ค๋ณต ํค๋ ์ ๊ฑฐ ๋ฐ regex ํจํด ์์
seongwon030 4afd6b7
fix(main): ๋ฐฐ๋ ์ฒซ ์ด๋ฏธ์ง ๋ก๋ ์คํจ ์ isImageLoaded ์ฒ๋ฆฌ
seongwon030 b890a43
fix(main): ๋ฐฐ๋ ์ด๋ฏธ์ง ๋ก๋ ์คํจ ์ ๊นจ์ง ์ด๋ฏธ์ง ์จ๊น ์ฒ๋ฆฌ
seongwon030 f1cb73e
refactor(main): ๋ฐฐ๋ ์ด๋ฏธ์ง ์ค๋ฅ ํธ๋ค๋ฌ๋ฅผ handleImageError๋ก ๋ถ๋ฆฌ
seongwon030 bf07e10
feat(tooling): cross-review.sh ๋ณ๊ฒฝ์ฌํญ ์์ ์ ๋ธ๋์น ์ปค๋ฐ diff ์๋ ํด๋ฐฑ
seongwon030 c0d86e4
fix: ๋ถ๊ณผ ์ ๋ณด ์์ ๋ ๊ธฐ๋ณธ ์ปค๋ฒ ์ด๋ฏธ์ง ํ์
suhyun113 0608bea
Merge pull request #1589 from Moadong/fix/05-20
seongwon030 03121b7
Merge pull request #1580 from Moadong/feature/#1579-add-rn-subagent-cโฆ
seongwon030 7f27b94
Merge pull request #1542 from Moadong/feature/#1541-card-heatmap-tracโฆ
seongwon030 c420a48
fix: TAG_COLORS์ ๋งคํ ์๋ ์นดํ
๊ณ ๋ฆฌ์ผ ๋ ๊ธฐ๋ณธ ์ปค๋ฒ ์ด๋ฏธ์ง ํด๋ฐฑ ์ ์ฉ
suhyun113 1cedf9b
Merge pull request #1547 from Moadong/feature/#1544-club-cover-fallbaโฆ
suhyun113 1f4028d
feat(main): ํด๋ฝ์นด๋ impression ํธ๋ํน ์ ๋ฉด ๊ฐํธ
seongwon030 f31bb48
feat(main): ๋ฐฐ๋ ์ฌ๋ผ์ด๋ ๋ค๋น๊ฒ์ด์
ํธ๋ํน ์ถ๊ฐ
seongwon030 8677801
fix(tooling): cross-review.sh codex exec โ codex review๋ก ๋ณ๊ฒฝ
seongwon030 6c595a3
docs: ๋ฐฐ๋ ์ด๋ฒคํธ ํธ๋ํน ์ถ๊ฐ
seongwon030 0a7ddd0
Create pr-auto-label.yml
seongwon030 59c0080
docs: Mixpanel ์ด๋ฒคํธ ํธ๋ํน ์ปจ๋ฒค์
์ถ๊ฐ
seongwon030 1a23303
fix(webview): PromotionClubCTA ๋ค๋น๊ฒ์ด์
์ clubId ๋์ clubName ๊ธฐ๋ฐ์ผ๋ก ํต์ผ
seongwon030 3442d45
fix(tracking): intersectStart ๋ฐ๋ณต ๋ฎ์ด์ฐ๊ธฐ ๋ฐฉ์ง ๋ฐ ๋งํฌ๋ค์ด ์ฝ๋ํ์ค ์ธ์ด ์ง์
seongwon030 a94a8d5
style: Prettier ํฌ๋งทํ
์์
seongwon030 d442209
Merge pull request #1578 from Moadong/fix/#1577-promotion-club-cta-weโฆ
seongwon030 36323a7
fix(tracking): ๋ฐฐ๋ ๋ค๋น๊ฒ์ด์
์ด๋ฒคํธ current_index โ from_index ๋ก ๋ณ๊ฒฝ
seongwon030 9a0dbb2
fix(tracking): ClubCard impression fly-by ํํฐ๋ง ์ถ๊ฐ (MIN_DWELL_MS=300ms)
seongwon030 20f97bd
Merge pull request #1593 from Moadong/feature/#1592-main-card-heatmapโฆ
seongwon030 cc1bee2
fix: ab-test ์ปค๋งจ๋ ์ ๋๊ฒฝ๋ก๋ก ๋ณ๊ฒฝ
seongwon030 e07e3ca
Merge pull request #1598 from Moadong/fix/check-ab-command
seongwon030 c2a865e
refactor(tracking): useScrollTracking mixpanel ์ง์ ํธ์ถ์ useMixpanelTracโฆ
suhyun113 9eb0385
fix(middleware): OG ์๋ต์ Edge ์บ์ ํค๋ ์ถ๊ฐ
suhyun113 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| name: PR Auto Label | ||
|
|
||
| on: | ||
| pull_request: | ||
| types: [opened, edited, synchronize] | ||
| branches: [main, develop-fe, develop/be] | ||
|
|
||
| jobs: | ||
| label: | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: read | ||
| pull-requests: write | ||
|
|
||
| steps: | ||
| - name: Auto Label PR | ||
| uses: actions/github-script@v7 | ||
| with: | ||
| script: | | ||
| const title = context.payload.pull_request.title.toLowerCase(); | ||
| const prNumber = context.payload.pull_request.number; | ||
|
|
||
| // 1. PR ์ ๋ชฉ ๊ธฐ๋ฐ ํ์ ๋ผ๋ฒจ (conventional commit) | ||
| const typeMap = [ | ||
| { pattern: /^feat/, label: 'โจ Feature' }, | ||
| { pattern: /^hotfix/, label: '๐ hotfix' }, | ||
| { pattern: /^fix/, label: '๐ Fix' }, | ||
| { pattern: /^bug/, label: '๐ Bug' }, | ||
| { pattern: /^refactor/, label: '๐จ Refactor' }, | ||
| { pattern: /^docs/, label: '๐ Docs' }, | ||
| { pattern: /^chore/, label: '๐ Chore' }, | ||
| { pattern: /^style/, label: '๐จ Design' }, | ||
| { pattern: /^test/, label: 'โ Test' }, | ||
| { pattern: /^ci|^cd/, label: '๐ฆ CI/CD' }, | ||
| { pattern: /^deploy|^release/, label: '๐ Deploy' }, | ||
| { pattern: /^setup|^setting/, label: 'โ Setting' }, | ||
| { pattern: /^api/, label: '๐ฌ API' }, | ||
| ]; | ||
|
|
||
| const labelsToAdd = []; | ||
|
|
||
| for (const { pattern, label } of typeMap) { | ||
| if (pattern.test(title)) { | ||
| labelsToAdd.push(label); | ||
| break; | ||
| } | ||
| } | ||
|
|
||
| // AB TEST | ||
| if (/experiment|ab.?test/i.test(title)) labelsToAdd.push('AB TEST'); | ||
|
|
||
| // AI ํ์ฉ ๊ฐ์ง (์ ๋ชฉ ๋๋ ๋ณธ๋ฌธ) | ||
| const body = context.payload.pull_request.body ?? ''; | ||
| if (/claude|codex/i.test(title + body)) labelsToAdd.push('๐AI'); | ||
|
|
||
| // 2. ๋ณ๊ฒฝ ํ์ผ ๊ฒฝ๋ก ๊ธฐ๋ฐ FE/BE ๋ผ๋ฒจ | ||
| const { data: files } = await github.rest.pulls.listFiles({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| pull_number: prNumber, | ||
| }); | ||
|
|
||
| const filenames = files.map(f => f.filename); | ||
| if (filenames.some(f => f.startsWith('frontend/'))) labelsToAdd.push('๐ป FE'); | ||
| if (filenames.some(f => f.startsWith('backend/'))) labelsToAdd.push('๐พ BE'); | ||
|
|
||
| if (labelsToAdd.length > 0) { | ||
| await github.rest.issues.addLabels({ | ||
| owner: context.repo.owner, | ||
| repo: context.repo.repo, | ||
| issue_number: prNumber, | ||
| labels: labelsToAdd, | ||
| }); | ||
| core.info(`Added labels: ${labelsToAdd.join(', ')}`); | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,121 @@ | ||
| # RN ์์ด์ ํธ (React Native) | ||
|
|
||
| ๋ชจ์๋ React Native + Expo ํ๋ก์ ํธ ์ ๋ด ์์ด์ ํธ. | ||
| WebView ๋ธ๋ฆฟ์ง, ๋ฅ๋งํฌ/๋ผ์ฐํ , Push ์๋ฆผ, API/์ธ์ฆ ๊ด๋ จ ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ ์์ ํ๋ค. | ||
|
|
||
| ## ํ๋ก์ ํธ ๊ฒฝ๋ก | ||
|
|
||
| /Users/seokyoung-won/Desktop/moadong-react-native/ | ||
|
|
||
| ## ๊ธฐ์ ์คํ | ||
|
|
||
| - Expo SDK + Expo Router (ํ์ผ ๊ธฐ๋ฐ ๋ผ์ฐํ ) | ||
| - React Native New Architecture (`newArchEnabled: true`) | ||
| - React Compiler (์คํ์ ๊ธฐ๋ฅ) | ||
| - Axios (`publicApi` / `authApi`) โ `api` default export๋ deprecated | ||
| - React Context (Redux/Zustand ๋ฏธ์ฌ์ฉ) | ||
| - Firebase (Remote Config, FCM) | ||
| - Mixpanel ์ ๋๋ฆฌํฑ์ค | ||
|
|
||
| ## ์ํคํ ์ฒ | ||
|
|
||
| ### ๋ผ์ฐํ ๊ตฌ์กฐ | ||
|
|
||
| ``` | ||
| app/ | ||
| _layout.tsx # ๋ฃจํธ ๋ ์ด์์: ๋ถํธ์คํธ๋ฉ, ์คํ๋์, ๊ฐ์ ์ ๋ฐ์ดํธ, Context | ||
| (tabs)/ | ||
| index.tsx # ํ ํญ | ||
| explore.tsx # ํ์ ํญ | ||
| more.tsx # ๋๋ณด๊ธฐ ํญ | ||
| club/[id].tsx # ๋์๋ฆฌ ์์ธ (WebView) | ||
| clubDetail/[id].tsx # ๋์๋ฆฌ ์์ธ (๋ค์ดํฐ๋ธ) | ||
| webview/[slug].tsx # ๋ฒ์ฉ WebView ํ๋ฉด | ||
| modal.tsx # ๋ชจ๋ฌ | ||
| ``` | ||
|
seongwon030 marked this conversation as resolved.
|
||
|
|
||
| ### UI ๋ ์ด์ด ํจํด | ||
|
|
||
| ๊ธฐ๋ฅ๋ณ ํด๋ `ui/<feature>/` ํ์ ๊ตฌ์กฐ (ํ์ํ ๊ฒ๋ง ์์ฑ): | ||
|
|
||
| - `hook/` โ ๋ฐ์ดํฐ ํ์นญ ํ (์: `useClubs`, `useSubscribedClubs`) | ||
| - `model/` โ ํ์ ์ํ / ๋ฐ์ดํฐ ๋ณํ (์ ํ) | ||
| - `components/` โ UI ์ปดํฌ๋ํธ | ||
| - `index.ts` โ barrel export | ||
|
|
||
| ### ๋ถํธ์คํธ๋ฉ ์์ (`app/_layout.tsx`) | ||
|
|
||
| 1. Firebase Remote Config ๊ฐ์ ์ ๋ฐ์ดํธ ์ฒดํฌ | ||
| 2. iOS ATT ๊ถํ ์์ฒญ | ||
| 3. ์ก์ธ์ค ํ ํฐ ์กฐํ/์์ฑ | ||
| 4. FCM ํ ํฐ ๋ฑ๋ก | ||
| 5. ์๋ฒ์์ ๊ตฌ๋ ๋์๋ฆฌ ๋ชฉ๋ก ๋๊ธฐํ | ||
| 6. Mixpanel ์ด๊ธฐํ | ||
|
|
||
| ### API ํด๋ผ์ด์ธํธ (`services/api.ts`) | ||
|
|
||
| - `publicApi` โ ์ธ์ฆ ์๋ ์์ฒญ | ||
| - `authApi` โ Bearer ํ ํฐ ์๋ ์ฒจ๋ถ, 401 ์ `/auth/student`๋ก ์๋ ๊ฐฑ์ | ||
| - โ ๏ธ `api` (default export) ๋ deprecated โ ์ ๊ท ์ฝ๋์ ์ฌ์ฉ ๊ธ์ง | ||
|
|
||
| ### ์ํ ๊ด๋ฆฌ (Context) | ||
|
|
||
| - `SubscribedClubsProvider` (`contexts/subscribed-clubs-context.tsx`) โ ๊ตฌ๋ ๋์๋ฆฌ ๋ชฉ๋ก, ํ ๊ธ, ์๋ฒ ๋๊ธฐํ | ||
| - `MixpanelProvider` (`contexts/mixpanel-context.tsx`) โ ์ ๋๋ฆฌํฑ์ค | ||
|
|
||
| ## ์๋๋ฆฌ์ค๋ณ ํต์ฌ ํ์ผ | ||
|
|
||
| ### WebView ๋ธ๋ฆฟ์ง | ||
|
|
||
| ์น โ RN ๋ฉ์์ง ํต์ ๊ด๋ จ ํ์ผ: | ||
|
|
||
| - `app/club/[id].tsx` โ WebView ์ปดํฌ๋ํธ, `onMessage` ํธ๋ค๋ฌ | ||
| - `app/webview/[slug].tsx` โ ๋ฒ์ฉ WebView, postMessage ์ฒ๋ฆฌ | ||
| - ํ๋ก ํธ์๋ ์ชฝ: `src/utils/webviewBridge.ts` (์ฐธ์กฐ์ฉ, ์์ ๋ถ๊ฐ) | ||
|
|
||
| ### ๋ฅ๋งํฌ / ๋ผ์ฐํ | ||
|
|
||
| - `app/_layout.tsx` โ Linking ์ค์ , ์ด๊ธฐ ๋ผ์ฐํธ ์ฒ๋ฆฌ | ||
| - `app.json` โ ๋ฅ๋งํฌ ์คํด(`moadongapp://`), associated domain(`www.moadong.com`) | ||
| - Expo Router ํ์ผ ๊ธฐ๋ฐ ๋ผ์ฐํ : `app/` ๋๋ ํ ๋ฆฌ์ ํ์ผ ์ถ๊ฐ = ๋ผ์ฐํธ ์๋ ๋ฑ๋ก | ||
|
|
||
| ### Push ์๋ฆผ | ||
|
|
||
| - `app/_layout.tsx` 4๋ฒ์งธ ๋ถํธ์คํธ๋ฉ ๋จ๊ณ์์ FCM ํ ํฐ ๋ฑ๋ก | ||
| - `services/api.ts` โ ํ ํฐ ๋ฑ๋ก API ํธ์ถ | ||
| - `google-services.json` / `GoogleService-Info.plist` โ Firebase ์ค์ ํ์ผ | ||
|
|
||
| ### API / ์ธ์ฆ | ||
|
|
||
| - `services/api.ts` โ Axios ์ธ์คํด์ค ์ ์ | ||
| - `contexts/subscribed-clubs-context.tsx` โ `authApi` ์ฌ์ฉ ์์ | ||
| - ํ๊ฒฝ ๋ณ์: `EXPO_PUBLIC_BASE_URL` (`.env` ํ์ผ) | ||
|
|
||
| ## ๋์์ธ ์์คํ (`constants/theme.ts`) | ||
|
|
||
| - `MainColors` โ ์ค๋ ์ง ๊ณ์ด (`main` = `#FF5414`) | ||
| - `TagColors` โ ์นดํ ๊ณ ๋ฆฌ๋ณ ์์ (๋ด์ฌ/ํ์ /์ข ๊ต/์ทจ๋ฏธ๊ต์/์ด๋/๊ณต์ฐ) | ||
| - `Spacing` โ 4px ๊ธฐ์ค: `xs`(4) `sm`(8) `md`(16) `lg`(24) `xl`(32) `xxl`(40) `xxxl`(48) | ||
| - `BorderRadius` โ `xs`(4) `sm`(8) `md`(12) `lg`(16) `xl`(20) `full`(9999) | ||
| - ํฐํธ: Pretendard. RN `Text` ๋์ `@/components/moa-text`์ `<MoaText type="...">` ์ฌ์ฉ | ||
|
|
||
| ## ๋ค์ด๋ฐ ์ปจ๋ฒค์ | ||
|
|
||
| - ํ์ผ๋ช : `kebab-case.tsx` | ||
| - ์ปดํฌ๋ํธ: `PascalCase` | ||
| - ํ : `use` ์ ๋์ฌ + `camelCase` | ||
| - **named export ์ ํธ** โ default export๋ `app/` ํ๋ฉด ์ปดํฌ๋ํธ์๋ง ํ์ฉ | ||
| - ๊ฒฝ๋ก ๋ณ์นญ: `@/` โ ํ๋ก์ ํธ ๋ฃจํธ | ||
| - ํ๋ซํผ๋ณ ํ์ผ: `.ios.tsx` / `.web.ts` ์ ๋ฏธ์ฌ | ||
|
|
||
| ## ์์ ์ฒดํฌ๋ฆฌ์คํธ | ||
|
|
||
| ์ฝ๋ ์์ ์ ๋ฐ๋์ ํ์ธ: | ||
|
|
||
| - [ ] `authApi` / `publicApi` ๊ตฌ๋ถ ์ฌ๋ฐ๋ฅธ๊ฐ? (`api` default ์ฌ์ฉ ๊ธ์ง) | ||
| - [ ] ํ์ผ๋ช ์ด `kebab-case`์ธ๊ฐ? | ||
| - [ ] named export๋ฅผ ์ฌ์ฉํ๋๊ฐ? (`app/` ํ๋ฉด ์ ์ธ) | ||
| - [ ] `@/` ๊ฒฝ๋ก ๋ณ์นญ์ ์ฌ์ฉํ๋๊ฐ? (์๋ ๊ฒฝ๋ก ์ง์) | ||
| - [ ] TypeScript ํ์ ์ด ๋ช ์์ ์ธ๊ฐ? (`any` ๊ธ์ง) | ||
| - [ ] ๋์์ธ ํ ํฐ์ `constants/theme.ts`์์ ๊ฐ์ ธ์๋๊ฐ? | ||
| - [ ] ํ ์คํธ์ RN `<Text>` ๋์ `<MoaText type="...">` (`@/components/moa-text`)๋ฅผ ์ฌ์ฉํ๋๊ฐ? | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| description: React Native ํ๋ก์ ํธ ๋ถ์ ๋ฐ ์์ ์ RN ์์ด์ ํธ์๊ฒ ์์ | ||
| allowed-tools: Agent | ||
| --- | ||
|
|
||
| RN(React Native) ํ๋ก์ ํธ ์์ ์ RN์์ด์ ํธ ์๋ธ์์ด์ ํธ์๊ฒ ์์ํฉ๋๋ค. | ||
|
|
||
| ## ์์ ๋ด์ฉ | ||
|
|
||
| $ARGUMENTS | ||
|
|
||
| ## ์ง์์ฌํญ | ||
|
|
||
| `$ARGUMENTS`๊ฐ ๋น์ด ์์ผ๋ฉด, ์ฌ์ฉ์์๊ฒ ์ด๋ค RN ๊ด๋ จ ์์ ์ด ํ์ํ์ง ๋ฌผ์ด๋ณธ ๋ค RN์์ด์ ํธ๋ฅผ ํธ์ถํ์ธ์. | ||
|
|
||
| Agent ํด๋ก `RN์์ด์ ํธ` ์๋ธ์์ด์ ํธ๋ฅผ ํธ์ถํ์ฌ ์ ์์ ์ ์ฒ๋ฆฌํ์ธ์. | ||
|
|
||
| ๋ค์ ์ปจํ ์คํธ๋ฅผ ์์ด์ ํธ์๊ฒ ์ ๋ฌํ์ธ์: | ||
|
|
||
| - RN ํ๋ก์ ํธ ๊ฒฝ๋ก: `/Users/seokyoung-won/Desktop/moadong-react-native/` | ||
| - ํ์ฌ ํ๋ก ํธ์๋ ํ๋ก์ ํธ ๊ฒฝ๋ก: `/Users/seokyoung-won/Desktop/moadong/frontend/` | ||
| - ๋ ํ๋ก์ ํธ๊ฐ WebView๋ก ์ฐ๋๋์ด ์์ (ํ๋ก ํธ์๋ ์น โ RN WebView) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| # ์ด๋ฒคํธ ํธ๋ํน ๊ฐ์ฌ (Event Tracking Audit) | ||
|
|
||
| `src/constants/eventName.ts`์ ์ ์์ ์ค์ ์ฝ๋๋ฒ ์ด์ค ์ฌ์ฉ ํํฉ์ ๋น๊ตํด Mixpanel ํธ๋ํน ๋๋ฝ์ ์ ๊ฒํฉ๋๋ค. | ||
|
|
||
| > **์คํ ์์น**: ์๋ ๋ชจ๋ ๋ช ๋ น์ **`frontend/` ๋๋ ํฐ๋ฆฌ**์์ ์คํํด์ผ ํฉ๋๋ค. | ||
| > ๋ชจ๋ ธ๋ ํฌ ๋ฃจํธ์์ ์คํํ๋ฉด `src/` ๊ฒฝ๋ก๋ฅผ ์ฐพ์ง ๋ชปํด ๊ฒฐ๊ณผ๊ฐ 0๊ฑด์ผ๋ก ๋์ต๋๋ค. | ||
|
|
||
| ## ๋ถ์ ์์ | ||
|
|
||
| ์๋ bash ๋ช ๋ น์ ์์๋๋ก ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์์งํ์ธ์. | ||
|
|
||
| ### Step 1: ์ ์๋ ์ด๋ฒคํธ ๋ชฉ๋ก ์ถ์ถ | ||
|
|
||
| ```bash | ||
| grep -E "^\s+[A-Z_]+:" src/constants/eventName.ts | ||
| ``` | ||
|
seongwon030 marked this conversation as resolved.
|
||
|
|
||
| `USER_EVENT` ์์ ํค๋ง ์์งํฉ๋๋ค (`ADMIN_EVENT`, `PAGE_VIEW`๋ ์ ์ธ). | ||
|
|
||
| ### Step 2: ์ค์ trackEvent ํธ์ถ ํํฉ | ||
|
|
||
| ```bash | ||
| grep -rn "trackEvent(USER_EVENT\." src/ --include="*.tsx" --include="*.ts" | ||
| ``` | ||
|
|
||
| ์ด๋ค ํ์ผ์ ๋ช ๋ฒ์งธ ์ค์์ ์ด๋ค ์ด๋ฒคํธ๋ฅผ ํธ์ถํ๋์ง ์์งํฉ๋๋ค. | ||
|
|
||
| ### Step 3: ํธ๋ํน ๋ฏธ์ ์ฉ ์ธํฐ๋์ ํ์ง | ||
|
|
||
| ```bash | ||
| grep -rn "onClick\|onSubmit" src/pages/ src/components/ --include="*.tsx" -l | ||
| ``` | ||
|
|
||
| ์ ํ์ผ ๋ชฉ๋ก ์ค `trackEvent`๋ฅผ importํ๋ ํ์ผ: | ||
|
|
||
| ```bash | ||
| grep -rln "trackEvent\|useMixpanelTrack" src/pages/ src/components/ --include="*.tsx" | ||
| ``` | ||
|
|
||
| ๋ ๋ชฉ๋ก์ **๊ต์งํฉ ํ์ผ** โ ์ฆ, onClick/onSubmit์ด ์๊ณ trackEvent๋ ์ฐ๋ ํ์ผ โ ์์ trackEvent ์์ด onClick๋ง ์๋ ํธ๋ค๋ฌ๋ฅผ ํ์งํฉ๋๋ค: | ||
|
|
||
| ```bash | ||
| grep -n "onClick\|onSubmit" <ํ์ผ๊ฒฝ๋ก> | ||
| ``` | ||
|
|
||
| ๊ฐ ํธ๋ค๋ฌ ์ฃผ๋ณ 5์ค์ ์ฝ์ด trackEvent ํธ์ถ์ด ์์ผ๋ฉด ๋๋ฝ ์์ฌ์ผ๋ก ๋ถ๋ฅํฉ๋๋ค. | ||
|
|
||
| ### Step 4: ๋ฏธ์ฌ์ฉ ์ด๋ฒคํธ ํ์ง | ||
|
|
||
| Step 1์์ ์์งํ USER_EVENT ํค ๊ฐ๊ฐ์ ๋ํด Step 2 ๊ฒฐ๊ณผ์์ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค. | ||
| ํ ๋ฒ๋ ๋ฑ์ฅํ์ง ์๋ ํค๋ ๋ฏธ์ฌ์ฉ ์ด๋ฒคํธ์ ๋๋ค. | ||
|
|
||
| --- | ||
|
|
||
| ## ์ถ๋ ฅ ํ์ | ||
|
|
||
| ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์๋ 3๊ฐ ํ๋ก ์์ฝํฉ๋๋ค. | ||
|
|
||
| ### โ ํธ๋ํน ์ค์ธ ์ด๋ฒคํธ | ||
|
|
||
| | ์ด๋ฒคํธ๋ช | ์ฌ์ฉ ํ์ผ | | ||
| | ------------------ | -------------------- | | ||
| | `CLUB_MAP_CLICKED` | `ClubDetailPage.tsx` | | ||
| | โฆ | โฆ | | ||
|
|
||
| ### โ ๏ธ ํธ๋ํน ๋๋ฝ ์์ฌ ์ธํฐ๋์ | ||
|
|
||
| onClick/onSubmit์ด ์์ผ๋ trackEvent ํธ์ถ์ด ์๋ ํธ๋ค๋ฌ. **์ฌ์ฉ์ ์๋๊ฐ ๋ด๊ธด ์ฃผ์ ์ก์ **(๋ฒํผ ํด๋ฆญ, ํผ ์ ์ถ ๋ฑ)์ ํํด ๋์ดํ๊ณ , ๋จ์ ์ํ ํ ๊ธ์ด๋ ๋ด๋ถ UI ์ ์ด๋ ์ ์ธํฉ๋๋ค. | ||
|
|
||
| | ํ์ผ | ํธ๋ค๋ฌ | ๋น๊ณ | | ||
| | ------------------------ | ------------ | -------------- | | ||
| | `ClubDetailPage.tsx:157` | `onMapClick` | ์ง๋ ๋ชจ๋ฌ ์ด๊ธฐ | | ||
| | โฆ | โฆ | โฆ | | ||
|
|
||
| ### ๐๏ธ ์ ์๋ง ๋๊ณ ๋ฏธ์ฌ์ฉ ์ด๋ฒคํธ (USER_EVENT ๊ธฐ์ค) | ||
|
|
||
| ์ฝ๋ ์ด๋์๋ `trackEvent`๋ก ํธ์ถ๋์ง ์๋ ์ด๋ฒคํธ. | ||
|
|
||
| | ํค | ์ด๋ฒคํธ๋ช | | ||
| | ------------ | -------------- | | ||
| | `SOME_EVENT` | `'Some Event'` | | ||
| | โฆ | โฆ | | ||
|
|
||
| --- | ||
|
|
||
| ## ์ฃผ์์ฌํญ | ||
|
|
||
| - `ADMIN_EVENT`์ `PAGE_VIEW`๋ ๋ณ๋ ํธ๋ํน ์ฒด๊ณ(useTrackPageView ๋ฑ)๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ด๋ฒ ๊ฐ์ฌ ๋์์์ ์ ์ธํฉ๋๋ค. | ||
| - ๋๋ฝ ์์ฌ์ **์ฌ์ฉ์ ํ๋ ์ถ์ ๊ฐ์น๊ฐ ์๋** ์ธํฐ๋์ ์ ์ง์คํฉ๋๋ค. ๋๋กญ๋ค์ด ํ ๊ธ, ์ ๋ ฅ ํฌ์ปค์ค ๋ฑ ์ธ๋ถ UI ์ด๋ฒคํธ๋ ํ๋จ์ด ํ์ํ ๊ฒฝ์ฐ ๋ณ๋๋ก ์ธ๊ธํฉ๋๋ค. | ||
| - ๊ฒฐ๊ณผ ์ถ๋ ฅ ํ ์ค์ ์ถ๊ฐ๊ฐ ํ์ํ ํญ๋ชฉ์ด ์์ผ๋ฉด ์ด์ด์ ์์ ํ ์ง ๋ฌผ์ด๋ด ๋๋ค. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| ํฌ๋ก์ค ์์ด์ ํธ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์คํํฉ๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ AI์ ๋ค๋ฅธ AI๊ฐ ๋ฆฌ๋ทฐํฉ๋๋ค. | ||
|
|
||
| ์ฌ์ฉ๋ฒ: | ||
|
|
||
| - `/cross-review claude` โ Claude๋ก ์์ฑ โ Codex๊ฐ ๋ฆฌ๋ทฐ | ||
| - `/cross-review codex` โ Codex๋ก ์์ฑ โ Claude๊ฐ ๋ฆฌ๋ทฐ | ||
| - `/cross-review` โ ๊ธฐ๋ณธ๊ฐ: claude๋ก ๊ฐ์ฃผ (Codex๊ฐ ๋ฆฌ๋ทฐ) | ||
|
|
||
| ์๋ ๋ช ๋ น์ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅํฉ๋๋ค: | ||
|
|
||
| ```bash | ||
| ./scripts/cross-review.sh --writer ${ARGUMENTS:-claude} | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| Jira ์คํ ๋ฆฌ๋ฅผ ๋ํํ์ผ๋ก ์์ฑํฉ๋๋ค. | ||
|
|
||
| ๋ค์ ์์๋ก ์ฌ์ฉ์์๊ฒ ์ง๋ฌธํ์ธ์: | ||
|
|
||
| 1. **์ ๋ชฉ**: "์คํ ๋ฆฌ ์ ๋ชฉ์ ์ ๋ ฅํด์ฃผ์ธ์. (์: ์ฌ์ฉ์๋ ๋์๋ฆฌ ์นด๋๋ฅผ ํด๋ฆญํ์ฌ ์์ธ ํ์ด์ง๋ก ์ด๋ํ ์ ์๋ค)" | ||
| 2. **์ค๋ช **: "์คํ ๋ฆฌ ์ค๋ช ์ ์ ๋ ฅํด์ฃผ์ธ์. (์์ผ๋ฉด Enter)" โ ์ ํ์ฌํญ | ||
| 3. **์ธ์ ์กฐ๊ฑด**: "์ธ์ ์กฐ๊ฑด(Acceptance Criteria)์ ์ ๋ ฅํด์ฃผ์ธ์. (์์ผ๋ฉด Enter)" โ ์ ํ์ฌํญ | ||
|
|
||
| ๋ชจ๋ ์ ๋ ฅ์ด ์๋ฃ๋๋ฉด ์๋ ๋ช ๋ น์ ์คํํ์ธ์: | ||
|
|
||
| ```bash | ||
| ./scripts/jira-story.sh "์ ๋ชฉ" "์ค๋ช " "์ธ์์กฐ๊ฑด" | ||
| ``` | ||
|
|
||
| - ์ค๋ช ์ด๋ ์ธ์ ์กฐ๊ฑด์ด ์์ผ๋ฉด ๋น ๋ฌธ์์ด("")๋ก ์ ๋ฌํฉ๋๋ค. | ||
| - ์คํ ํ ์์ฑ๋ ์คํ ๋ฆฌ ํค์ ๋งํฌ๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅํฉ๋๋ค. | ||
| - `JIRA_EMAIL` ๋๋ `JIRA_API_TOKEN` ํ๊ฒฝ ๋ณ์๊ฐ ์์ผ๋ฉด ์ค์ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค. | ||
|
|
||
| --- | ||
|
|
||
| ## GitHub ์ด์ (ํ์ ์์ + ๋ธ๋์น) ์ฐ๋ | ||
|
|
||
| ์คํ ๋ฆฌ ์์ฑ ํ ๋ฐ๋ก ์ด์ด์ ๋ฌผ์ด๋ณด์ธ์: | ||
|
|
||
| "GitHub ์ด์(Jira ํ์ ์์ + ๋ธ๋์น)๋ ํจ๊ป ์์ฑํ ๊น์?" | ||
|
|
||
| **Yes์ธ ๊ฒฝ์ฐ** ์๋ ์์๋ก ์ถ๊ฐ ์ง๋ฌธ: | ||
|
|
||
| 4. **๋ด๋น์**: "๋ด๋น์๋ฅผ ์ ํํด์ฃผ์ธ์." โ seongwon030 / oesnuj / Zepelown / PororoAndFriends / lepitaaar / suhyun113 / alsdddk / yw6938 / seongje973 ์ค ์ ํ | ||
| 5. **๋ธ๋์น๋ช **: "๋ธ๋์น๋ช ์ ์ ๋ ฅํด์ฃผ์ธ์. (์: feature/add-login-page)" | ||
| 6. **๋ถ๊ธฐ ๋ธ๋์น**: "๋ถ๊ธฐํ ๋ธ๋์น๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์. (๊ธฐ๋ณธ๊ฐ: develop-fe)" โ ์ ํ์ฌํญ | ||
| 7. **ํ์คํฌ**: "์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์. (์์ผ๋ฉด Enter)" โ ์ ํ์ฌํญ, ๊ธฐ๋ณธ๊ฐ `- [ ] Task1` | ||
|
|
||
| ๋ชจ๋ ์ ๋ ฅ์ด ์๋ฃ๋๋ฉด: | ||
|
|
||
| ```bash | ||
| ./scripts/jira-task.sh "์ ๋ชฉ" "๋ด๋น์" "MOA-xxx" "๋ธ๋์น๋ช " "๋ถ๊ธฐ๋ธ๋์น" "" "ํ์คํฌ" | ||
| ``` | ||
|
|
||
| - `MOA-xxx`๋ ์์ ์์ฑ๋ ์คํ ๋ฆฌ ํค๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค. | ||
| - ๋ถ๊ธฐ ๋ธ๋์น ๋ฏธ์ ๋ ฅ ์ `develop-fe` ์ฌ์ฉํฉ๋๋ค. | ||
| - ํ์คํฌ ๋ฏธ์ ๋ ฅ ์ `- [ ] Task1` ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉํฉ๋๋ค. | ||
| - ์คํ ํ GitHub ์ด์ URL์ ์ถ๋ ฅํฉ๋๋ค. | ||
| - GitHub Actions์ด ์๋์ผ๋ก Jira ํ์ ์์ ๊ณผ ๋ธ๋์น๋ฅผ ์์ฑํฉ๋๋ค. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
๐งฉ Analysis chain
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3279
๐ Script executed:
Repository: Moadong/moadong
Length of output: 102
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3399
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3165
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3279
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3279
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3279
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3279
๐ Script executed:
Repository: Moadong/moadong
Length of output: 3279
actions/github-script@v7๋ฅผ ์ปค๋ฐ SHA๋ก ๊ณ ์ ํ์ธ์.github/workflows/pr-auto-label.yml์uses: actions/github-script@v7๋ ํ๊ทธ ์ฐธ์กฐ๋ผ ์ ์คํธ๋ฆผ ๋ณ๊ฒฝ์ ๋ฐ๋ผ ๋์์ด ๋ฌ๋ผ์ง ์ ์์ด ๋ฆด๋ฆฌ์ฆ ์ฌํ์ฑ์ด ๋จ์ด์ง๋๋ค. ์ปค๋ฐ SHA๋ก ํ๋ํด ์ฃผ์ธ์.๐ ์ ์ ๋ณ๊ฒฝ
๐งฐ Tools
๐ช zizmor (1.25.2)
[error] 17-17: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)
(unpinned-uses)
๐ค Prompt for AI Agents