- 비밀번호 길이 검증 로직 제거: 비밀번호 길이 검증을 서버에서 처리하지 않도록 변경하여 클라이언트 측에서 유효성 검사를 수행하도록 함.
- 암호화 방식 변경: 기존의 암호화 로직을 EncryptUtil을 사용하여 간소화하고 일관성을 유지함.
- 사용자 비밀번호 재설정 시 알림 상태 초기화: 비밀번호 재설정 모달에서 알림 상태를 초기화하여 사용자 경험 개선.
- Introduced a new `quote` module, including routes, controllers, and services for managing quotes.
- Implemented API endpoints for listing, creating, updating, and deleting quotes, ensuring proper company code filtering for data access.
- Developed a comprehensive UI for quote management, allowing users to create, edit, and view quotes seamlessly.
- Enhanced the admin layout to include the new quote management page, improving navigation and accessibility for users.
These additions significantly enhance the application's capabilities in managing quotes, providing users with essential tools for their sales processes.
- useCartSync: 삭제 시 deleteRecord 사용 (cancelled 업데이트 대신)
- InboundCartPage: 확정 후 직접 DELETE 호출 (이중 안전장치)
- OutboundCartPage: 동일 수정
- 품목 카드: item_info.image 있으면 표시, 없으면 📦
- cmux 검증: 확정 후 cart_items 0건 확인
- Updated the `requireSuperAdmin` middleware to allow users with `userType` as 'SUPER_ADMIN' to access management functionalities, even if their `companyCode` is not '*'.
- Modified the `isSuperAdmin` utility function to recognize users as SUPER_ADMIN based solely on their `userType`, simplifying the access validation logic.
- These changes ensure that SUPER_ADMIN users maintain their management capabilities across company transitions, enhancing the flexibility and security of the application.
- Introduced multiple new pages to enhance design management functionalities, allowing users to manage design requests, track their work, and oversee project and task statuses.
- Implemented UI components such as tables, dialogs, and forms to facilitate user interactions and data management.
- Integrated necessary API calls for fetching and manipulating design-related data, ensuring a seamless user experience across the new pages.
These additions significantly expand the design management capabilities of the application, providing users with comprehensive tools for managing their design workflows.
- useCartSync: createRecord 시 crypto.randomUUID()로 id 생성
- cart_items NOT NULL id 제약 해결
- cmux browser로 실제 검증 완료:
- 담기 → DB 저장 확인 (in_cart status)
- 장바구니 페이지 이동 + 품목 표시 확인
- 배지 숫자 표시 + isDirty 애니메이션
- 하단 큰 확정 버튼 제거 (우상단만)
- cart_items: id를 crypto.randomUUID()로 생성 (NOT NULL 대응)
- cart_items: row_data에 품목 정보 JSON 저장
- 입고번호: 장바구니에서 미리 표시 안 함 → 확정 시 생성
- 장바구니 조회: 올바른 API 파라미터로 수정
- 담기 취소 시 dbId로 정확한 cart_items DELETE
- backend: inventory_stock INSERT 시 id 누락 버그 수정
- frontend: 거래처 API supplier_mng으로 수정
- frontend: cart_items 실제 컬럼 구조 맞춤
- frontend: InboundCart 확정 로직 PC와 동일하게 정렬
- 검증: 발주→장바구니→입고등록→재고증가→발주상태변경 전체 확인
- 홈 KPI: 실제 입고/출고 건수 API 연동
- 홈 최근활동: 실제 입고+출고 이벤트 표시
- 구매입고 cart_items DB 연동 (cart-save → data-save)
- 입고 확정: 입고번호 자동생성 + 창고 선택 + cart 정리
- 거래처: 클릭→모달 방식으로 변경
- QR/바코드 스캔: BarcodeScanModal 이식 + glossy v3 버튼
- 수량 입력: 단계별 흐름 (포장→개수→수량→확인)
- 발주품목: 거래처 미선택 시 빈 화면 안내
- 돋보기 아이콘 제거
- 홈 화면: KPI 캐러셀, 메뉴 아이콘, 최근 활동, 공지 배너
- 입고유형선택: 외부 7개 + 내부 3개 아이콘, 금일 입고 KPI
- 구매입고: 거래처 선택, 발주 품목 카드, 담기/취소
- 장바구니: 체크박스, 포장 정보, 검사 상태, 확정
- 숫자 키패드: 터치 입력, MAX, 포장등록
- 포장 선택: 6종 단위 (박스/포대/팩/묶음/롤/통)
- 검사 모달: 마스터 기반 체크리스트, 측정값, 양품/불량
- 공통 PopShell: 헤더(시계+프로필), 배너, 푸터
- 반응형 4모드 (태블릿/핸드폰 가로세로)
- Removed the useRouter hook and replaced it with the useTabStore for managing tab navigation in the Dashboard List and Dashboard Designer pages.
- Updated button and row click handlers to utilize the openTab function, enhancing the user experience by allowing for tabbed navigation instead of direct routing.
- This change improves the overall structure and maintainability of the dashboard management functionality, aligning with the new tab management system.
- Changed background color of the main container from white to card style for better visual consistency with the overall design.
- Updated the CardHeader background to a muted style, enhancing the aesthetic appeal and aligning with the new design guidelines.
These changes improve the user interface of the Barcode Label Management page, ensuring a cohesive look and feel across the application.
- Integrated multi-language functionality across the audit log, system notices, collection management, and common code management components, enhancing accessibility for diverse users.
- Updated UI elements to utilize translation keys, ensuring that all text is dynamically translated based on user preferences.
- Improved error handling messages to be localized, providing a better user experience in case of issues.
These changes significantly enhance the usability and internationalization of the management features, making the application more inclusive.
- Integrated multi-language functionality across various user management components, including user list, roles list, and user authorization pages, enhancing accessibility for diverse users.
- Updated UI elements to utilize translation keys, ensuring that all text is dynamically translated based on user preferences.
- Improved error handling messages to be localized, providing a better user experience in case of issues.
These changes significantly enhance the usability and internationalization of the user management features, making the application more inclusive.
- Updated the user list retrieval logic to ensure proper filtering based on company codes, enhancing security for user data access.
- Implemented checks to restrict access to company management APIs, allowing only SUPER_ADMIN users to perform actions related to company data.
- Adjusted the user interface to reflect access restrictions for non-SUPER_ADMIN users, providing clear feedback when access is denied.
These changes strengthen the integrity of user management and ensure that sensitive company information is only accessible to authorized personnel.
- Added validation to ensure that only existing SUPER_ADMIN users can grant or modify SUPER_ADMIN permissions.
- Updated the user management page to reflect that both SUPER_ADMIN and COMPANY_ADMIN can access the user permissions, while COMPANY_ADMIN cannot grant SUPER_ADMIN rights.
- Enhanced the user authorization modal to prevent COMPANY_ADMIN from changing SUPER_ADMIN permissions, ensuring proper access control.
These changes improve the security and integrity of user role management within the application.
ERP-node에서 개발한 POP/MES 관련 백엔드 API를 vexplor_dev로 이전.
컨트롤러 16개, 라우트 16개, 서비스 2개 복사 + app.ts 라우트 등록 + cheerio 의존성 추가.
이전 대상:
- POP 생산관리 (popProduction, inspectionResult)
- 작업지시, 공정정보, 생산계획
- 입고, 출고, 출하지시, 출하계획
- 분석리포트, 영업리포트, 설계모듈
- 자재현황, 포장/적재, 크롤링, 시스템공지
tsc 검증: 기존 에러 1건 외 신규 에러 없음
- Deleted the following files as they are no longer relevant to the current project structure:
- 결재 시스템 구현 현황
- 결재 시스템 v2 사용 가이드
- WACE 시스템 문제점 분석 및 개선 계획
- Agent Pipeline 한계점 분석
- AI 기반 화면 자동 생성 시스템 설계서
- WACE ERP Backend - 분석 문서 인덱스
These deletions help streamline the documentation and remove obsolete information, ensuring that only current and relevant resources are maintained.
- 사용자 온라인 상태 표시 (온라인/자리비움/오프라인) 디스코드 스타일
- 채팅방별 알림 ON/OFF 토글 (Bell 아이콘, localStorage 저장)
- 파일 업로드 실시간 소켓 브로드캐스트 및 한글 파일명 깨짐 수정
- FAB 읽지않음 배지 버그 수정 (메신저 닫혀있을 때 markAsRead 차단)
- 타이핑 도트 애니메이션, 날짜 오늘/어제 표시
- 입력창 bordered box, DM 편집 버튼 숨김
- 메신저 설정 버튼 제거, 새 대화 시작하기 Empty state CTA
- useMessengerSocket 소켓 중복 생성 방지 (MessengerModal로 이동)
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
[RAPID-micro] 추적 파일 정리 및 메신저 소소한 변경
- .omc/state/ 파일 git 추적 제거 (.gitignore 이미 설정됨)
- db/checkpoints/ gitignore 추가
- globals.css: 메신저 메시지 시간 폰트 스타일 추가
- useMessenger.ts: fileMimeType 필드 및 API_BASE_URL import 추가
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
[RAPID-fix] 스크롤 sentinel 방식으로 교체: scrollIntoView useLayoutEffect (페인트 전 보장)
[RAPID-fix] 스크롤 근본 원인 수정: isOpen deps 추가로 메신저 열릴 때마다 하단 스크롤
[RAPID-fix] 스크롤 ResizeObserver 추가: 이미지 로드 후 높이 변화 감지해 자동 하단 스크롤
[RAPID-fix] 캡처 속도/화질 개선 + 드래그 커서 4방향 화살표로 변경
- 오버레이 마운트 시점에 미리 캡처 시작 → mouseup 즉시 크롭
- scale: max(dpr, 2)로 화질 2배 향상
- 캡처 준비 중 wait 커서 표시
- 메신저 헤더 드래그 커서 cursor-grab → cursor-move (4방향 화살표)
[RAPID-micro] 캡처 버튼 헤더 → 입력창 첨부파일 좌측으로 이동
[RAPID-micro] 채팅방 선택 시 스크롤 하단 이동 수정
[RAPID] 메신저 3가지 수정: 스크롤 버튼, DM 상대방 이름, 캡처 속도 개선
[RAPID-fix] 스크롤/캡처 3가지 수정
- 스크롤 하단 이동: useLayoutEffect → useEffect+rAF (이미지 레이아웃 완료 후 스크롤)
- 스크롤 버튼: 리스너 deps를 room.id로 변경 (room 없을 때 미연결 문제 해결)
- 캡처 속도: domToPng(느림) → getDisplayMedia 네이티브 API(즉시 캡처)
[RAPID-fix] 메신저 3가지 수정
- 최신 메시지 버튼: 스크롤 컨테이너 밖으로 이동, 입력창 위 중앙 고정
- 스크롤 하단: rAF + 600ms 지연 2회 (이미지 비동기 로드 대응)
- 캡처: 버튼 클릭 즉시 오버레이 + domToPng 병렬 실행, mouseup에서 await (font:false 최적화)
[RAPID-micro] 채팅방 열 때 스크롤 점프 제거
[RAPID-fix] 캡처 오버레이 렌더 후 domToPng 시작으로 mousedown 딜레이 개선
[RAPID-fix] 캡처 프리캐싱: 메신저 열릴 때 백그라운드 domToPng → 버튼 클릭 즉시 오버레이
[RAPID-fix] 캡처 worker 추가: 리소스 fetch를 Web Worker로 오프로드
[RAPID-fix] 캡처 방식 변경: domToPng 제거 → getDisplayMedia (즉시 캡처, 프리캐싱 제거)
[RAPID-micro] 화면 캡처 버튼 제거 (Cmd+V 붙여넣기로 대체)
- modern-screenshot 패키지 추가
- ScreenCapture: 전체화면 오버레이 + 드래그 영역 선택 + DOM 캡처
- MessengerModal: 캡처 버튼(Scissors) 추가, 캡처 중 모달 숨김
- MessageInput: forwardRef로 addFiles 메서드 외부 노출
- ChatPanel: messageInputRef prop 추가 및 전달
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>