Skip to content

Commit 894e57f

Browse files
Hidden the console logs to avoid sensitive data exposure.
1 parent ad858b0 commit 894e57f

2 files changed

Lines changed: 66 additions & 20 deletions

File tree

‎apps/codebility/app/home/my-team/[projectId]/_components/ChecklistStatusBanner.tsx‎

Lines changed: 58 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,35 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
5151
}, [projectId]);
5252

5353
const fetchFreshMemberData = async () => {
54-
console.log("🔄 ChecklistStatusBanner: Fetching fresh member data...");
54+
// Only log in development - hidden in production
55+
if (process.env.NODE_ENV === 'development') {
56+
console.log("🔄 ChecklistStatusBanner: Fetching fresh member data...");
57+
}
5558
setIsFetchingMembers(true);
5659

5760
try {
5861
const teamLeadResult = await getTeamLead(projectId);
5962
if (teamLeadResult.data) {
6063
setFreshTeamLead(teamLeadResult.data);
61-
console.log("👑 Banner - Team Lead:", teamLeadResult.data.first_name, teamLeadResult.data.last_name);
64+
// Only log sensitive user data in development
65+
if (process.env.NODE_ENV === 'development') {
66+
console.log("👑 Banner - Team Lead:", teamLeadResult.data.first_name, teamLeadResult.data.last_name);
67+
}
6268
}
6369

6470
const membersResult = await getMembers(projectId);
6571
if (membersResult.data) {
6672
setFreshTeamMembers(membersResult.data);
67-
console.log("👥 Banner - Fresh members fetched:", membersResult.data.length);
73+
// Only log member count in development - don't expose actual member data
74+
if (process.env.NODE_ENV === 'development') {
75+
console.log("👥 Banner - Fresh members fetched:", membersResult.data.length);
76+
}
6877
}
6978
} catch (error) {
70-
console.error("❌ Banner - Error fetching fresh member data:", error);
79+
// Only log errors in development
80+
if (process.env.NODE_ENV === 'development') {
81+
console.error("❌ Banner - Error fetching fresh member data:", error);
82+
}
7183
} finally {
7284
setIsFetchingMembers(false);
7385
}
@@ -77,7 +89,10 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
7789
? [freshTeamLead, ...freshTeamMembers]
7890
: freshTeamMembers;
7991

80-
console.log("📊 Banner - Total members for display:", allMembers.length);
92+
// Only log in development
93+
if (process.env.NODE_ENV === 'development') {
94+
console.log("📊 Banner - Total members for display:", allMembers.length);
95+
}
8196

8297
useEffect(() => {
8398
if (!isFetchingMembers && allMembers.length > 0) {
@@ -90,13 +105,19 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
90105
const supabase = createClientClientComponent();
91106

92107
if (!supabase) {
93-
console.error("Failed to initialize Supabase client");
108+
// Only log in development
109+
if (process.env.NODE_ENV === 'development') {
110+
console.error("Failed to initialize Supabase client");
111+
}
94112
setIsLoading(false);
95113
return;
96114
}
97115

98116
try {
99-
console.log("🔍 Banner - Loading checklist data for", allMembers.length, "members");
117+
// Only log in development - don't expose member count in production
118+
if (process.env.NODE_ENV === 'development') {
119+
console.log("🔍 Banner - Loading checklist data for", allMembers.length, "members");
120+
}
100121

101122
// Get all checklist items for this project
102123
const { data: checklistData, error } = await supabase
@@ -105,11 +126,17 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
105126
.eq("project_id", projectId);
106127

107128
if (error) {
108-
console.error("❌ Banner - Error loading checklist data:", error);
129+
// Only log errors in development
130+
if (process.env.NODE_ENV === 'development') {
131+
console.error("❌ Banner - Error loading checklist data:", error);
132+
}
109133
return;
110134
}
111135

112-
console.log("📋 Banner - Found", checklistData?.length || 0, "total checklist items");
136+
// Only log in development
137+
if (process.env.NODE_ENV === 'development') {
138+
console.log("📋 Banner - Found", checklistData?.length || 0, "total checklist items");
139+
}
113140

114141
// 🔧 CRITICAL FIX: Create status for ALL members, not just those with items
115142
const statusMap: { [key: string]: MemberChecklistStatus } = {};
@@ -127,7 +154,10 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
127154
pendingItems: memberItems.length - completedCount
128155
};
129156

130-
console.log(` - ${member.first_name} ${member.last_name}: ${completedCount}/${memberItems.length} completed`);
157+
// Only log individual member data in development - SENSITIVE DATA
158+
if (process.env.NODE_ENV === 'development') {
159+
console.log(` - ${member.first_name} ${member.last_name}: ${completedCount}/${memberItems.length} completed`);
160+
}
131161
});
132162

133163
// 🔧 CRITICAL FIX: Don't filter out members with 0 items
@@ -142,9 +172,16 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
142172
});
143173

144174
setMemberStatuses(statusArray);
145-
console.log("✅ Banner - Loaded statuses for ALL", statusArray.length, "members (including those with 0 items)");
175+
176+
// Only log in development
177+
if (process.env.NODE_ENV === 'development') {
178+
console.log("✅ Banner - Loaded statuses for ALL", statusArray.length, "members (including those with 0 items)");
179+
}
146180
} catch (error) {
147-
console.error("❌ Banner - Error loading checklist statuses:", error);
181+
// Only log errors in development
182+
if (process.env.NODE_ENV === 'development') {
183+
console.error("❌ Banner - Error loading checklist statuses:", error);
184+
}
148185
} finally {
149186
setIsLoading(false);
150187
}
@@ -160,12 +197,15 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
160197
return s.pendingItems === 0;
161198
}).length;
162199

163-
console.log("📊 Banner Summary:", {
164-
totalMembers: memberStatuses.length,
165-
membersWithPending,
166-
membersFullyCompleted,
167-
totalPendingItems
168-
});
200+
// Only log summary in development - don't expose member counts in production
201+
if (process.env.NODE_ENV === 'development') {
202+
console.log("📊 Banner Summary:", {
203+
totalMembers: memberStatuses.length,
204+
membersWithPending,
205+
membersFullyCompleted,
206+
totalPendingItems
207+
});
208+
}
169209

170210
if (isFetchingMembers) {
171211
return (

‎apps/codebility/app/home/my-team/page.tsx‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,10 @@ async function TeamData() {
8787
members
8888
};
8989
} catch (error) {
90-
console.error(`Failed to fetch data for project ${project.id}:`, error);
90+
// Log errors in development only for debugging
91+
if (process.env.NODE_ENV === 'development') {
92+
console.error(`Failed to fetch data for project ${project.id}:`, error);
93+
}
9194
return {
9295
project,
9396
teamLead: { error: 'Failed to load team lead', data: null },
@@ -118,7 +121,10 @@ async function TeamData() {
118121
return <MyTeamView projectData={validProjectData} />;
119122

120123
} catch (error) {
121-
console.error('TeamData error:', error);
124+
// Log errors in development only for debugging
125+
if (process.env.NODE_ENV === 'development') {
126+
console.error('TeamData error:', error);
127+
}
122128
throw error; // Let error boundary handle it
123129
}
124130
}

0 commit comments

Comments
 (0)