Skip to content

[DONE] 커뮤니티 메뉴와 폰 탭에서 Workshop 이 빠지고, 옛 워크숍 주소는 커뮤니티 첫 화면으로 간다 - #268

Merged
patternflow-bot merged 5 commits into
devfrom
claude/lsh-pf-round-103-ee17su
Oct 26, 2026
Merged

patternflow-bot merged 5 commits into
devfrom
claude/lsh-pf-round-103-ee17su

Conversation

@patternflow-bot

@patternflow-bot patternflow-bot commented Oct 26, 2026 •

Copy link
Copy Markdown

lsh / https://claude.ai/code/session_01LpyJh1iKuFEjeQNTDfds3L

⚠️ 건드린 것

지시 8 이 허락한 대로 web/package.json 의 check:ci 에서 check:workshop 을 뺐어요. 지운 scripts/workshop-smoke.ts 를 부르던 "check:workshop" 줄도 같이 뺐어요.

무엇·왜

창작자 지시 8 대로 커뮤니티에서 워크숍을 걷었어요. 워크숍 쪽 다섯과 그 쪽만 쓰던 API 10개, 컴포넌트 일곱, 도우미를 지우고, 메뉴 · 폰 탭 · 덱 막대 · 가이드 연습 화면에서 Workshop 을 뺐어요. 옛 주소는 /community 로 넘어가요. 댓글 · 알림 · 신고 코드에선 워크숍 갈래만 뗐고, DB 표와 쌓인 글은 그대로예요. 머지하면 커뮤니티 메뉴는 Patterns · Decks · Atlas, 폰 탭은 Decks · Patterns · You 셋이 돼요.

좋아지는 것: 커뮤니티 메뉴에서 안 쓰는 워크숍이 빠진다 — 패턴과 덱으로 바로 간다

할 일

한 일

워크숍만 쓰던 것은 부르는 곳을 git grep 으로 하나씩 재서 가렸어요. 지운 것:

  • 쪽 다섯: /community/workshop, /community/workshop/[code], /community/workshop/[code]/t/[id], /community/t/[id], 관리자의 /community/territories
  • API 10개: posts 넷(posts, posts/[id], posts/[id]/comments, posts/[id]/pin), territories 셋, presence, attachments 둘. /api/community/** 는 31개에서 21개가 됐어요.
  • 컴포넌트 일곱: WorkshopClient, TerritoryEditor, PostDetailClient, NewThreadButton, NewThreadModal, PresenceLayer, AttachmentList
  • 도우미: lib/community/workshop.ts, lib/community/server/queries/workshop.ts, lib/hooks/useDragPan.ts(부르는 곳이 WorkshopClient 와 PresenceLayer 뿐), server/attachments.ts 의 attachmentPath · sniffImage
  • scripts/workshop-smoke.ts 와 package.json 의 그 두 자리
  • Community.module.css 에서 아무 컴포넌트도 읽지 않게 된 클래스 106개의 규칙 1,385줄(src/cssModules.test.ts 가 잡아요)

같이 쓰던 곳에선 워크숍 갈래만 뗐어요.

  • 아틀라스가 쓰던 listAtlasPins 는 queries/atlas.ts 로 옮겼어요. 본문은 그대로예요.
  • CommentSection 은 패턴 댓글만 받아요(patternId). 첨부 단추와 「working here」 표는 워크숍 답글 몫이라 뺐어요.
  • comments/[id] 는 ?on=pattern 만 받고, on=post 는 400 이에요.
  • 알림: notifyNewThread 와 notifyCommentAdded 의 post 갈래를 지웠어요. 표에 남은 워크숍 알림(targetType = "post")은 알림 목록에 나오지 않아요.
  • 신고: post 는 이제 신고 대상이 아니에요. 큐에 이미 있는 워크숍 신고는 링크 없이 보이고, 처리는 그대로 돼요.
  • 메뉴(CommunityNav), 폰 탭(MobileTabBar, 다이아몬드 그림까지), 덱 막대의 「패턴 없는 곳」 목록, 가이드 연습 커뮤니티의 머리 메뉴에서 Workshop 과 Territories 를 뺐어요.
  • 폰 탭은 네 칸 고정이라 셋이 되자 오른쪽 한 칸이 비었어요. 탭 수만큼 칸을 나누게 고쳤어요(grid-auto-flow: column).
  • next.config.ts 에 옛 쪽 다섯마다 /community 로 가는 redirect 를 한 줄씩 뒀어요.
  • web/ARCHITECTURE.md, PATTERN_GUIDE.md 의 Workshop 한 단락, 아틀라스 · PostBody · BodyComposer 주석을 지금 모습으로 고쳤어요. schema.ts 는 워크숍 표 위에 「걷었고 표와 줄은 남는다」 한 단락만 더했어요.

증거

web/ 에서, 마지막 커밋(84ea2b0)과 같은 코드로:

npm ci                          → exit 0
npm run lint -- --max-warnings=0 → exit 0 (출력 없음)
npm run typecheck               → exit 0
npm run build                   → exit 0, 라우트 표에 workshop · territories · /community/t · posts · presence · attachments 없음
npm run check:ci                → exit 0
   All notify checks passed. / All moderation checks passed. / …
   Test Files  104 passed (104)
        Tests  1284 passed (1284)
   skipped  links-absolute · skipped  roadmap (gh 로그인 없음. drift.yml 이 다시 돌려요), 나머지 drift 14개 passed
npm run check:human-lock        → this diff touches 0 locked files
npm run check:voice             → nothing found
python3 .github/scripts/check_links.py → all 1248 relative links resolve

PR 의 검사(head 1e25b2d, 코드는 84ea2b0 와 같아요): Web CI success · Drift checks success · Docs point at files that exist success.

빌드한 사이트 둘(앞 dev 8ad4186 은 :3200, 뒤는 :3100, 둘 다 COMMUNITY_ENABLED=1 에 빈 DB)에 curl:

/community                                 뒤 200          앞 200
/community/workshop                        뒤 307 /community   앞 200
/community/workshop/a3                     뒤 307 /community   앞 404(빈 DB)
/community/workshop/c0/t/f9562f0b4bdf4c3b  뒤 307 /community   앞 404(빈 DB)
/community/t/abc                           뒤 307 /community   앞 404(빈 DB)
/community/territories                     뒤 307 /community   앞 404(로그인 없음)
/community/atlas · /community/decks        뒤 200          앞 200
/api/community/posts · territories · attachments   뒤 404   앞 405(GET 없음)
/api/community/presence                    뒤 404          앞 200

메뉴 둘의 링크(Playwright 로 DOM 을 읽음):

앞 데스크톱 메뉴 ["Patterns","Decks","Workshop","Atlas"]   폰 탭 ["Decks","Patterns","Workshop","You"]
뒤 데스크톱 메뉴 ["Patterns","Decks","Atlas"]              폰 탭 ["Decks","Patterns","You"]

패턴 댓글이 그대로 도는지: 뒤 사이트에 ada 로 가입해 패턴 하나를 두고, 댓글을 달고 고치고 지웠어요.

POST   /api/community/patterns/pe2e1/comments 201      → Comments (1)
PATCH  /api/community/comments/4029b09dd8a74cd3?on=pattern 200 → edited 표시 1
DELETE /api/community/comments/4029b09dd8a74cd3?on=pattern 200 → Comments (0)
attach a file 단추: 0

check:notify 에 새 칸 「a workshop alert stays off the list」 을 뒀어요. 표에 남은 워크숍 알림 한 줄이 목록에도, 운영자 목록에도 나오지 않는지 봐요. 지운 post 댓글 칸만큼 alice 의 수(4→3, 5→4)를 줄였어요. check:moderation 의 「post is a valid target」 은 「post is no longer a target」 으로 뒤집고 deck 칸을 더했어요.

폰 390 · 앞 (dev)

폰 390 · 앞

폰 390 · 뒤

폰 390 · 뒤

데스크톱 1440 · 앞 (dev)

데스크톱 1440 · 앞

데스크톱 1440 · 뒤

데스크톱 1440 · 뒤

데스크톱 1440 · 뒤, 패턴 쪽 댓글(고친 뒤)

데스크톱 1440 · 패턴 댓글

실행법

web/ 에서 npm ci && npm run build 뒤 COMMUNITY_ENABLED=1 COMMUNITY_DB_PATH=<스크래치>/community.db BETTER_AUTH_SECRET=<아무 긴 값> npx next start -p 3100. http://localhost:3100/community 의 메뉴와 폰 폭의 아래 탭을 보고, http://localhost:3100/community/workshop 이 /community 로 가는지 봐요.

가정

  • 지시 8 은 「한 바퀴에 크면 둘로 나눠요」 라고 해요. 지운 것이 거의 통째 파일이라 한 바퀴에 했어요. 둘로 나누면 API 는 남고 화면만 없는 중간 판이 머지돼요.
  • redirect 는 permanent: false(307)예요. 걷은 쪽이라 308 을 브라우저가 붙들면 같은 주소를 다시 쓸 때 막혀요.
  • redirect 를 :path* 하나로 두지 않고 옛 쪽마다 한 줄씩 둔 건 scripts/doc-map.ts 가 redirect source 의 :path* 를 한 칸으로 읽어서예요. docs/investigations/2026-10-build-map-additions.md:74 가 /community/workshop/c0/t/… 를 걸고 있어요.
  • package.json 예외는 글로는 check:ci 뿐이에요. 파일이 없는데 check:workshop 줄만 남으면 npm run check:workshop 이 깨져서 그 줄도 뺐어요. seed:map(scripts/seed-territories.ts)은 DB 표를 채우는 도구라 남겼어요. 표가 그대로이고 그 스크립트는 지운 코드를 부르지 않아요.
  • server/attachments.ts 의 attachmentDir 와 retention.ts 의 첨부 청소는 남겼어요. 계정을 지우면 그 사람 글의 첨부 줄이 같이 지워지고, 청소가 디스크에 남은 파일을 치워요.
  • 표에 남은 워크숍 알림은 목록에서 빠지지만, 안 읽은 것이면 머리의 숫자엔 알림 쪽을 한 번 열 때까지 들어가요. 그 쪽을 열면 다 읽음이 돼요.
  • BodyComposer 의 grow 값 page · modal 은 이제 아무도 넘기지 않아요(새 글 창과 글 쪽 몫이었어요). 컴포넌트의 기본값이라 이번엔 두었어요.
  • 남은 workshop 낱말(git grep -i workshop, incoming/ 빼고):
    • 걷은 일을 적은 주석과 시험: web/next.config.ts 4, scripts/notify-smoke.ts 3, scripts/moderation-smoke.ts 1, comments/[id]/route.ts 1, PostBody.tsx 3, ReportQueue.tsx 2, server/attachments.ts 2, queries/atlas.ts 1, queries/notifications.ts 1, schema.ts 1, Community.module.css 1, web/ARCHITECTURE.md 1
    • 기록이라 그대로: CHANGELOG.md 1, docs/releases/v3.9.0.md 1, docs/investigations/2026-10-build-map-additions.md 3, docs/rfc-core-and-variants.md 1(rfc 본문)
    • 저널 여섯 편(web/content/journal/*.en.mdx)은 서울의 실제 워크숍 이야기라 이 기능과 상관없어요(창작자 영역).
    • docs/media/at-a-glance.py 2, docs/media/the-lab.py 3 은 그림을 그리는 스크립트예요. 아래 표 밖 줄에 적었어요.
  • 표 밖에서 본 것(고치지 않았어요):
    • PATTERN_GUIDE.md 의 커뮤니티 사진(docs/images/pattern-guide/02-community-home.png 같은 것)이 머리 메뉴에 Workshop 을 보여요.
    • docs/media/at-a-glance.py:130 과 the-lab.py:9, :108, :121 이 「The Workshop」 상자와 글을 그려요.
    • /terms(web/src/app/terms/page.tsx:167)가 「posts」 를 스스로 지울 수 있다고 해요. 이제 그 글을 지울 화면이 없어요.

Changelog

Web

  • The community's workshop is gone. The map of directions, its threads and the territory editor are removed with their API routes; the menu and the phone tabs keep Patterns, Decks and Atlas, and the old workshop addresses redirect to /community. Comments, alerts and reports keep their pattern and deck paths, and the workshop's tables and rows stay in the database.

경험

언제: 커뮤니티 컴포넌트나 쪽을 걷어 CSS 모듈 클래스가 한꺼번에 남을 때
교훈: web/node_modules/postcss 로 파싱해 죽은 클래스를 가진 셀렉터만 떼고 빈 규칙과 바로 위 주석을 지우면, 셀렉터 목록을 같이 쓰던 규칙이 살아남고 diff 가 지우기만으로 나와요(git diff --diff-algorithm=patience 로 봐요)
근거: #268 에서 Community.module.css 의 죽은 클래스 106개를 postcss 로 걷으니 규칙 179개가 지워지고 .postTitleInput, .postBodyInput 같은 목록 셋은 산 쪽만 남았어요
언제: 바퀴에서 next.config.ts 에 옛 주소 redirect 를 더할 때
교훈: scripts/doc-map.ts 는 redirect source 의 :path* 를 한 칸([^/]+)으로 읽으니, 문서가 거는 깊은 옛 주소는 쪽마다 한 줄씩 redirect 를 둬요
근거: #268 에서 /community/workshop/:path* 하나로 두면 docs/investigations/2026-10-build-map-additions.md:74 의 /community/workshop/c0/t/… 가 doc-map 에서 걸리는 것을 pattern() 을 읽고 알았어요

바퀴

바퀴 103 · 지시 8 「커뮤니티에서 워크숍을 걷어요」

다음 바퀴

  • 지시 9 「아틀라스는 보관으로 둬요」. 메뉴에서 Atlas 를 빼고 아래 Archive 링크 하나만 남기고, 핀 쓰기 API 를 닫아요.
  • 지시 10 「커뮤니티로 「후보」 표를 다시 채워요」. 9 가 끝나면 표를 커뮤니티 갈래로 30줄쯤 새로 채워요.
  • 그 뒤 새 표의 맨 위 줄. 이번에 본 PATTERN_GUIDE.md 커뮤니티 사진과 BodyComposer 의 남은 grow 값이 그 표에 들어갈 만해요.

https://claude.ai/code/session_01LpyJh1iKuFEjeQNTDfds3L


Generated by Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpyJh1iKuFEjeQNTDfds3L
@patternflow-bot patternflow-bot changed the title [WIP] 103바퀴 — 고를 일을 찾는 중 [WIP] 커뮤니티 메뉴와 폰 탭에서 Workshop 이 빠지고, 옛 워크숍 주소는 커뮤니티 첫 화면으로 간다 Oct 26, 2026
The creator asked on 26 October for the workshop to go. Its pages, API,
components and helpers are removed, the menu, phone tab and deck dock no
longer link to it, and its old addresses redirect to /community. The
comment, alert and report code keeps only its pattern and deck branches.
The database tables and their rows stay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpyJh1iKuFEjeQNTDfds3L
The tab bar kept four columns after the Workshop tab went, leaving a
quarter of the bar empty on the right.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpyJh1iKuFEjeQNTDfds3L
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpyJh1iKuFEjeQNTDfds3L
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpyJh1iKuFEjeQNTDfds3L
@patternflow-bot patternflow-bot changed the title [WIP] 커뮤니티 메뉴와 폰 탭에서 Workshop 이 빠지고, 옛 워크숍 주소는 커뮤니티 첫 화면으로 간다 [DONE] 커뮤니티 메뉴와 폰 탭에서 Workshop 이 빠지고, 옛 워크숍 주소는 커뮤니티 첫 화면으로 간다 Oct 26, 2026
@patternflow-bot
patternflow-bot marked this pull request as ready for review October 26, 2026 07:22
@patternflow-bot
patternflow-bot merged commit 351b1ba into dev Oct 26, 2026
3 checks passed
@patternflow-bot
patternflow-bot deleted the claude/lsh-pf-round-103-ee17su branch October 26, 2026 09:36
engmung pushed a commit to engmung/Patternflow that referenced this pull request Oct 27, 2026
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.

2 participants