kjh2064
5807e1b35e
fix: HttpClientFactory 생명주기 불일치(Scope Capture) 문제를 회피하기 위해 CRM API 클라이언트에 직접 토큰 주입하도록 전면 개편
TaxBaik CI/CD / build-and-deploy (push) Successful in 55s
2026-06-29 15:43:15 +09:00
kjh2064
3e1097f585
fix: DelegatingHandler와 TokenStore의 생명주기 불일치(Scope Capture) 문제 해결을 위한 IServiceProvider 동적 해석(Resolve) 적용
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-29 15:39:07 +09:00
kjh2064
917600a793
fix: 인증 로컬스토리지 복구 흐름에서 TokenStore 적재가 보장되지 않은 상태로 인증 통과 처리되는 보안 누수 현상 수정 (401 오류 원천 차단)
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-29 15:35:32 +09:00
kjh2064
0d3615b44d
fix: Blazor 인증 공급자의 비동기 로딩 지연에 의한 API 호출 레이스 컨디션 해결 (CascadingParameter Task<AuthenticationState> 대기 추가)
TaxBaik CI/CD / build-and-deploy (push) Successful in 59s
2026-06-29 15:30:14 +09:00
kjh2064
fc339ca9e7
fix: Blazor Server Prerendering 시점의 401 에러 방지를 위해 CRM 화면 API 로드 수명 주기를 OnAfterRenderAsync로 일괄 개선
TaxBaik CI/CD / build-and-deploy (push) Successful in 53s
2026-06-29 15:27:03 +09:00
kjh2064
da1226994f
fix: E2E 테스트 시 Blazor 인증 상태 복원을 위한 로컬스토리지 토큰 세트(accessToken, refreshToken, tokenExpiry) 주입 보강
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m18s
2026-06-29 15:23:21 +09:00
kjh2064
6bc03ce3d9
fix: CI E2E 테스트용 로컬스토리지 인증 토큰 키 불일치 수정 (auth_token -> accessToken)
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m28s
2026-06-29 15:20:36 +09:00
kjh2064
ecfbfc7cac
feat: 검색엔진 노출 강화를 위한 SEO 설정(sitemap.xml, JSON-LD 구조화 데이터, 메타 태그) 추가 및 개선
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m2s
2026-06-29 15:18:44 +09:00
kjh2064
46cb508bdf
fix: Contract, TaxProfile, TaxFilingSchedule에 대해 선제적으로 GetAllAsync API 및 구현체 추가
TaxBaik CI/CD / build-and-deploy (push) Successful in 53s
2026-06-29 15:16:08 +09:00
kjh2064
ecabe8d9cc
fix: ConsultingActivity 전체 조회 API 및 리포지토리/서비스 구현체 구현
TaxBaik CI/CD / build-and-deploy (push) Successful in 56s
2026-06-29 15:12:23 +09:00
kjh2064
55c65810c1
fix: RevenueTracking 전체 조회 API 및 리포지토리/서비스 구현체 구현
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m3s
2026-06-29 15:09:21 +09:00
kjh2064
7054d397e4
fix: AdminDashboardController의 라우트 매핑 오류 수정 (api/admin-dashboard)
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m2s
2026-06-29 15:05:59 +09:00
kjh2064
11fb596fc2
Merge branch 'feature/telegram-logging'
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-29 15:02:54 +09:00
kjh2064
a04592499c
fix: 블로그 작성/수정 시 카테고리 MudSelect 타입 캐스팅 오류 수정
2026-06-29 14:52:09 +09:00
kjh2064
ea9478f2f1
Merge pull request 'feat: Serilog 기반 실시간 텔레그램 에러 알림 연동' ( #6 ) from feature/telegram-logging into master
...
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
Reviewed-on: http://178.104.200.7/kjh2064/taxbaik/pulls/6
2026-06-29 11:41:38 +09:00
kjh2064
f569211967
feat: Serilog 기반 실시간 텔레그램 에러 알림 연동
2026-06-29 11:35:27 +09:00
kjh2064
c8306e2ac7
Merge pull request 'docs: ROADMAP_WBS.md 내 텔레그램 및 고객 포털 태스크 완료 상태 체크 업데이트' ( #5 ) from docs/roadmap-update into master
...
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m26s
Reviewed-on: http://178.104.200.7/kjh2064/taxbaik/pulls/5
2026-06-29 00:08:07 +09:00
kjh2064
bad2f47ffe
Merge pull request 'feat: 고객 포털 세무 신고 및 상담 요약 실시간 대시보드 화면 고도화 및 어드민 UX 리사이징 보완' ( #4 ) from feature/client-portal into master
...
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m31s
Reviewed-on: http://178.104.200.7/kjh2064/taxbaik/pulls/4
2026-06-29 00:07:57 +09:00
kjh2064
943fe9c819
Merge pull request 'feat: TelegramNotificationService 내에 SendReportAsync 추가 및 백그라운드 리포팅 로직 개선' ( #3 ) from feature/telegram-reports into master
...
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m20s
Reviewed-on: http://178.104.200.7/kjh2064/taxbaik/pulls/3
2026-06-29 00:07:47 +09:00
kjh2064
7b819f4ab0
docs: ROADMAP_WBS.md 내 텔레그램 및 고객 포털 태스크 완료 상태 체크 업데이트
2026-06-29 00:05:52 +09:00
kjh2064
6a5740ec68
feat: 고객 포털 세무 신고 및 상담 요약 실시간 대시보드 화면 고도화 및 어드민 UX 리사이징 보완
2026-06-29 00:05:32 +09:00
kjh2064
3c8f30af6d
feat: TelegramNotificationService 내에 SendReportAsync 추가 및 백그라운드 리포팅 로직 개선
2026-06-29 00:05:14 +09:00
kjh2064
7e3b4e2229
test(e2e): relax tax profile dialog check
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-28 23:25:06 +09:00
kjh2064
67bd5dc666
test(e2e): suppress inquiry telegrams in ci
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-28 21:40:11 +09:00
kjh2064
84161ee2d9
fix(contact): allow suppressing inquiry telegrams
2026-06-28 21:40:10 +09:00
kjh2064
5aec36b155
fix(telegram): remove duplicate deploy success notice
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m1s
2026-06-28 21:33:33 +09:00
kjh2064
3ab8971025
test(public): cover contact back navigation
TaxBaik CI/CD / build-and-deploy (push) Successful in 53s
2026-06-28 21:30:08 +09:00
kjh2064
db30e71e0a
fix(contact): restore inquiry telegram notifications
2026-06-28 21:30:07 +09:00
kjh2064
e4c2758dea
test(e2e): stabilize crm modal check
TaxBaik CI/CD / build-and-deploy (push) Successful in 52s
2026-06-28 21:15:50 +09:00
kjh2064
75661aa0ef
style(admin): compact admin shell
2026-06-28 21:15:50 +09:00
kjh2064
3303ba2e96
style(admin): compact the admin shell
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m25s
2026-06-28 21:04:08 +09:00
kjh2064
43c2ff6ad9
fix(telegram): route deploy complete to system chat
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-28 21:03:05 +09:00
kjh2064
a7bb8d7149
fix(admin): remove drawer footer info and close on mobile
TaxBaik CI/CD / build-and-deploy (push) Successful in 56s
2026-06-28 20:58:51 +09:00
kjh2064
791ce6d526
test(e2e): wait for tax profile dialog before assertions
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-28 20:54:03 +09:00
kjh2064
61083a5bb1
test(e2e): align browser checks with current UI
TaxBaik CI/CD / build-and-deploy (push) Successful in 53s
2026-06-28 20:49:50 +09:00
kjh2064
66fb86d23c
fix(admin): standardize empty CRM states
2026-06-28 20:49:49 +09:00
kjh2064
16f7c6097c
test(e2e): disambiguate dashboard heading
TaxBaik CI/CD / build-and-deploy (push) Successful in 54s
2026-06-28 19:38:17 +09:00
kjh2064
7232635ed0
docs(ci): add deploy troubleshooting harness
TaxBaik CI/CD / build-and-deploy (push) Successful in 53s
2026-06-28 19:34:23 +09:00
kjh2064
b42b98d560
fix(auth): return token alias for admin login
2026-06-28 19:34:22 +09:00
kjh2064
f216660afa
fix(portal): skip unconfigured oauth providers
TaxBaik CI/CD / build-and-deploy (push) Successful in 53s
2026-06-28 19:29:54 +09:00
kjh2064
b31b43e30e
fix(ci): repair deploy workflow yaml
TaxBaik CI/CD / build-and-deploy (push) Failing after 1m45s
2026-06-28 19:25:40 +09:00
kjh2064
86bd9ef8ff
chore(ci): allow manual deploy dispatch
2026-06-28 19:13:35 +09:00
kjh2064
2fd9984a45
chore(ci): trigger deploy after verification
2026-06-28 18:55:29 +09:00
kjh2064
91330ec94c
chore(ci): trigger deploy with real push
2026-06-28 18:50:11 +09:00
kjh2064
08102c8684
chore(ci): deploy trigger
2026-06-28 18:42:55 +09:00
kjh2064
e2472b7ea1
feat(portal): 고객 포털 인증과 소셜 로그인 기반 추가
2026-06-28 18:39:29 +09:00
kjh2064
033883aac5
feat(ops): 배포 알림과 텔레그램 리포트 추가
2026-06-28 18:39:28 +09:00
kjh2064
d2cfcd90f0
feat(admin): 표준 화면 패턴으로 CRM 화면 정리
2026-06-28 18:39:28 +09:00
kjh2064
42e73fa694
test: add comprehensive E2E tests for CRM pages
...
TaxBaik CI/CD / build-and-deploy (push) Successful in 52s
Step 5: E2E Testing Framework
- Create admin-crm-pages.spec.ts with 8 test cases
- Test CRM page loads: TaxProfiles, TaxFilingSchedules, Contracts, ConsultingActivities, RevenueTrackings
- Verify MudDataGrid rendering (with data or empty message)
- Verify create dialog functionality (modal opens on button click)
- Test navigation group visibility and expandability
- Validate no console errors during navigation
- Reuse existing admin-auth helpers (loginThroughAdminUi, navigateInBlazor)
Test Coverage:
1. TaxProfiles page load + add button
2. TaxFilingSchedules page load + D-day tracking UI
3. Contracts page load + MRR display
4. ConsultingActivities page load + activity records
5. RevenueTrackings page load + payment status
6. CRM navigation group (5 links visible + expandable)
7. Modal dialog open (TaxProfiles add flow)
8. No console errors (cross-page navigation)
Test Architecture:
- Reuses existing E2E infrastructure (Playwright config, helpers)
- Follows admin-smoke.spec.ts pattern for consistency
- Uses loginThroughAdminUi() for admin session setup
- Uses navigateInBlazor() for SPA navigation
- Respects E2E_BASE_URL and E2E_ADMIN_PASSWORD env vars
- Timeout: 15s for page load, 5s for modal
- Parallel execution on CI (fullyParallel: true)
Build Integration:
- No breaking changes
- No new dependencies required
- Ready for CI/CD pipeline (GitHub Actions, Gitea CI)
- Supports Green-Blue deployment testing
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-06-28 17:54:22 +09:00
kjh2064
f8f8f869fc
feat: add CRM & Tax Management navigation group in admin sidebar
...
TaxBaik CI/CD / build-and-deploy (push) Successful in 52s
Step 4: Navigation Reorganization
- Add new 'CRM & 세무관리' nav group (BusinessCenter icon)
- Organize 5 CRM pages: TaxProfiles, TaxFilingSchedules, Contracts, ConsultingActivities, RevenueTrackings
- Reorder nav groups: Dashboard → CRM (default expanded) → Customer → Website → Inquiries → Settings
- Update 'Customer' group label and icons for clarity
- Set expandedCRMGroup=true for immediate visibility
Navigation Structure (Post-change):
`
대시보드
├─ CRM & 세무관리 [EXPANDED]
│ ├─ 세무 프로필 (Assignment icon)
│ ├─ 신고 일정 (CalendarMonth icon)
│ ├─ 계약 관리 (Description icon)
│ ├─ 상담 활동 (ChatBubble icon)
│ └─ 수익 추적 (Receipt icon)
├─ 고객 관리
│ ├─ 고객 카드
│ └─ 세무신고
├─ 홈페이지
│ ├─ 공지사항
│ ├─ FAQ 관리
│ ├─ 블로그 관리
│ └─ 시즌 시뮬레이터
├─ 문의 관리
└─ 설정
`
Design Rationale:
- CRM group positioned first (after dashboard) for workflow priority
- Default expanded = immediate page discovery
- Icons from Material Design Filled set for consistency
- Grouped by business domain, not by data type
Build Status: 0 errors, 3 warnings (existing)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-06-28 17:51:55 +09:00