Conversation
eesha264
commented
Jul 9, 2026
Member
- merged country code and ph.no
- added inida to holidays
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
This PR updates user settings UI to merge country dialing code selection with phone number entry, and extends calendar holiday support by adding India via Google Calendar, alongside a large set of additional “ 2 ”-suffixed files (tests/configs/docs/scripts/workflows) that appear to be duplicates of existing files.
Changes:
- Update Settings profile form UI to present country dial code + phone number as a single combined input group.
- Add India (IN) handling to the Calendar holiday endpoint (Google Calendar API) and ensure India is present in the countries list.
- Introduce many “
2”-suffixed files (workflows, scripts, tests, docs, configs) that largely duplicate existing counterparts and risk operational duplication.
Reviewed changes
Copilot reviewed 60 out of 64 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/kanban.spec 2.ts | Adds a duplicate Kanban Playwright spec with a “ 2 ” filename. |
| tests/dashboard.spec 2.ts | Adds a duplicate Dashboard Playwright spec with a “ 2 ” filename. |
| tests/auth.spec 2.ts | Adds a duplicate Auth Playwright spec with a “ 2 ” filename. |
| src/components/views/SettingsView.tsx | Merges country dial code selection + phone number entry into a single combined input row. |
| src/components/views/CalendarView.tsx | Adds auth-state tracking and gates country fetching/loading on auth availability. |
| src/components/ui/GithubIcon 2.tsx | Adds a duplicate GitHub icon component file with a “ 2 ” suffix. |
| src/components/landing/IsometricMatrix 2.tsx | Adds a duplicate IsometricMatrix component file with a “ 2 ” suffix. |
| scripts/run-and-report-tests 2.cjs | Adds a duplicate weekly Playwright run/report script with a “ 2 ” suffix. |
| scripts/generate_phase5 2.cjs | Adds a “phase5” generation script (includes destructive git operations). |
| scripts/generate_phase4 2.cjs | Adds a “phase4” generation script (includes destructive git operations). |
| scripts/fetch-refresh-token 2.cjs | Adds a duplicate OAuth refresh-token helper script with a “ 2 ” suffix. |
| README.md | Replaces the README with a shorter version (new badges/quickstart/features/founders sections). |
| playwright.config 2.ts | Adds a duplicate Playwright config file with a “ 2 ” suffix. |
| nager_countries.json | Adds a large JSON country list (no in-repo references found during review). |
| docs/reports/DASHBOARD_BRANCH_COMMIT_LOG 2.md | Adds a “ 2 ”-suffixed dashboard commit log doc. |
| docs/plans/DASHBOARD_LOADING_EXECUTION_PLAN_APRIL_2026 2.md | Adds a “ 2 ”-suffixed loading plan doc. |
| docs/guides/DESIGN_INSPIRATION_GUIDE 2.md | Adds a “ 2 ”-suffixed design inspiration guide doc. |
| docs/guides/COLLABORATOR_ONBOARDING 2.md | Adds a “ 2 ”-suffixed collaborator onboarding doc. |
| docs/audit/PERFORMANCE_AUDIT 2.md | Adds a “ 2 ”-suffixed performance audit doc. |
| docs/architecture/tech_stack_overview 2.md | Adds a “ 2 ”-suffixed tech stack overview doc. |
| docs/architecture/security_and_auth_architecture 2.md | Adds a “ 2 ”-suffixed security/auth architecture doc. |
| docs/architecture/realtime_notes_editor 2.md | Adds a “ 2 ”-suffixed realtime notes architecture doc. |
| docs/architecture/performance_and_caching_strategy 2.md | Adds a “ 2 ”-suffixed perf/caching strategy doc. |
| docs/architecture/loading_animation_strategy 2.md | Adds a “ 2 ”-suffixed loading animation strategy doc. |
| docs/architecture/kanban_github_sync 2.md | Adds a “ 2 ”-suffixed kanban/GitHub sync architecture doc. |
| docs/architecture/instant_chat_system 2.md | Adds a “ 2 ”-suffixed chat system architecture doc. |
| docs/architecture/design_inspiration_service 2.md | Adds a “ 2 ”-suffixed design inspiration service doc. |
| docs/architecture/ai_project_architect 2.md | Adds a “ 2 ”-suffixed AI project architect doc. |
| docs/architecture/agentic_liquid_glass_ui 2.md | Adds a “ 2 ”-suffixed “agentic liquid glass UI” skill doc. |
| backend/tests/verifyGithub.test 2.js | Adds a duplicate backend test file with a “ 2 ” suffix. |
| backend/tests/teamRoutes.delete.test 2.js | Adds a duplicate backend test file with a “ 2 ” suffix. |
| backend/tests/safeEnv.test 2.js | Adds a duplicate backend test file with a “ 2 ” suffix. |
| backend/tests/internalMetricsAndLoadShedding.test 2.js | Adds a duplicate backend test file with a “ 2 ” suffix. |
| backend/tests/githubAppWebhookIdempotency.test 2.js | Adds a duplicate backend test file with a “ 2 ” suffix. |
| backend/tests/githubAppWebhookAggregation.test 2.js | Adds a duplicate backend test file with a “ 2 ” suffix. |
| backend/templates/email/test-report 2.html | Adds a duplicate email template file with a “ 2 ” suffix. |
| backend/services/geoService.js | Removes large header/commentary, keeps core geo resolution logic. |
| backend/services/firebaseAdmin.js | Refactors firebase-admin initialization and exports admin + getFirestoreAdmin. |
| backend/scripts/ops/set-storage-cors.js | Removes large header block from ops script. |
| backend/scripts/ops/set-admin.js | Removes large header block from ops script. |
| backend/scripts/migrations/backfill_ownerUid.js | Minor formatting/cleanup in migration script. |
| backend/routes/redisCacheSampleRoutes.js | Replaces large header/comments with concise route description and keeps routes. |
| backend/routes/collaboratorRoutes 2.js | Adds a duplicate collaborator routes file with a “ 2 ” suffix. |
| backend/routes/calendarRoutes.js | Adds IN holiday support via Google Calendar and modifies countries endpoint behavior. |
| backend/prisma/generated/client/runtime/index-browser.js | Adds a sourcemap comment to a generated Prisma runtime file. |
| backend/models/Project.js | Removes large header; reformats schema and adds webhook snapshot fields commentary. |
| backend/models/Message.js | Removes large header; reformats schema and clarifies indexing comment. |
| backend/models/Meeting.js | Removes large header; minor schema formatting/comment tweak. |
| backend/models/index.js | Removes large header; keeps export map. |
| backend/models/Folder.js | Removes large header; keeps schema. |
| backend/.npmrc 2 | Adds a duplicate npm config file with a “ 2 ” suffix. |
| .npmrc 2 | Adds a duplicate npm config file with a “ 2 ” suffix. |
| .github/workflows/weekly-tests 2.yml | Adds a duplicate scheduled workflow with a “ 2 ” suffix. |
| .github/workflows/desktop-lua-ci 2.yml | Adds a duplicate Desktop Lua CI workflow with a “ 2 ” suffix. |
| .github/workflows/android-native-ci 2.yml | Adds a duplicate Android CI workflow with a “ 2 ” suffix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+1
to
+7
| name: Weekly Test Execution | ||
|
|
||
| on: | ||
| schedule: | ||
| # Runs at 00:00 every Sunday | ||
| - cron: '0 0 * * 0' | ||
| workflow_dispatch: # Allows manual trigger from GitHub UI |
Comment on lines
+1
to
+5
| name: Android Native CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: ['main'] |
Comment on lines
+1
to
+5
| name: Desktop Lua CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: ['main'] |
Comment on lines
+139
to
+143
| const googleCalId = encodeURIComponent('en.indian#holiday@group.v.calendar.google.com'); | ||
| const apiKey = process.env.GOOGLE_CALENDAR_API_KEY; | ||
| const timeMin = `${year}-01-01T00:00:00Z`; | ||
| const timeMax = `${year}-12-31T23:59:59Z`; | ||
| const url = `https://www.googleapis.com/calendar/v3/calendars/${googleCalId}/events?key=${apiKey}&timeMin=${timeMin}&timeMax=${timeMax}&singleEvents=true&orderBy=startTime`; |
| router.get('/countries', verifyToken, async (_req, res) => { | ||
| // This is an if statement that checks two conditions: first, if 'countriesCache' exists (is not null), AND second, if the current time (Date.now()) minus the 'timestamp' stored in 'countriesCache' is less than 'COUNTRIES_CACHE_TTL'. | ||
| // This checks if valid, non-stale country data exists in the cache, allowing the server to return cached data instead of making a new external API call. | ||
| router.get('/countries', async (_req, res) => { |
Comment on lines
+76
to
+81
| import React from 'react'; | ||
| import { LucideProps } from 'lucide-react'; | ||
|
|
||
| export const Github = React.forwardRef<SVGSVGElement, LucideProps>(({ color = 'currentColor', size = 24, strokeWidth = 2, className, ...props }, ref) => { | ||
| return ( | ||
| <svg |
Comment on lines
+1
to
+6
| const { execSync } = require('child_process'); | ||
| const fs = require('fs'); | ||
| const path = require('path'); | ||
| require('dotenv').config({ path: path.join(__dirname, '../backend/.env') }); | ||
| const { sendEmail } = require('../backend/utils/emailService'); | ||
| const { getTestReportEmailHtml } = require('../backend/utils/emailTemplates'); |
| @@ -0,0 +1 @@ | |||
| [{"countryCode":"AD","name":"Andorra"},{"countryCode":"AG","name":"Antigua and Barbuda"},{"countryCode":"AI","name":"Anguilla"},{"countryCode":"AL","name":"Albania"},{"countryCode":"AM","name":"Armenia"},{"countryCode":"AO","name":"Angola"},{"countryCode":"AR","name":"Argentina"},{"countryCode":"AT","name":"Austria"},{"countryCode":"AU","name":"Australia"},{"countryCode":"AW","name":"Aruba"},{"countryCode":"AX","name":"Åland Islands"},{"countryCode":"BA","name":"Bosnia and Herzegovina"},{"countryCode":"BB","name":"Barbados"},{"countryCode":"BD","name":"Bangladesh"},{"countryCode":"BE","name":"Belgium"},{"countryCode":"BF","name":"Burkina Faso"},{"countryCode":"BG","name":"Bulgaria"},{"countryCode":"BH","name":"Bahrain"},{"countryCode":"BJ","name":"Benin"},{"countryCode":"BL","name":"Saint Barthélemy"},{"countryCode":"BM","name":"Bermuda"},{"countryCode":"BO","name":"Bolivia"},{"countryCode":"BQ","name":"Caribbean Netherlands"},{"countryCode":"BR","name":"Brazil"},{"countryCode":"BS","name":"Bahamas"},{"countryCode":"BW","name":"Botswana"},{"countryCode":"BY","name":"Belarus"},{"countryCode":"BZ","name":"Belize"},{"countryCode":"CA","name":"Canada"},{"countryCode":"CD","name":"DR Congo"},{"countryCode":"CG","name":"Congo"},{"countryCode":"CH","name":"Switzerland"},{"countryCode":"CI","name":"Ivory Coast"},{"countryCode":"CL","name":"Chile"},{"countryCode":"CM","name":"Cameroon"},{"countryCode":"CN","name":"China"},{"countryCode":"CO","name":"Colombia"},{"countryCode":"CR","name":"Costa Rica"},{"countryCode":"CU","name":"Cuba"},{"countryCode":"CW","name":"Curaçao"},{"countryCode":"CY","name":"Cyprus"},{"countryCode":"CZ","name":"Czechia"},{"countryCode":"DE","name":"Germany"},{"countryCode":"DK","name":"Denmark"},{"countryCode":"DM","name":"Dominica"},{"countryCode":"DO","name":"Dominican Republic"},{"countryCode":"DZ","name":"Algeria"},{"countryCode":"EC","name":"Ecuador"},{"countryCode":"EE","name":"Estonia"},{"countryCode":"EG","name":"Egypt"},{"countryCode":"ES","name":"Spain"},{"countryCode":"FI","name":"Finland"},{"countryCode":"FK","name":"Falkland Islands"},{"countryCode":"FO","name":"Faroe Islands"},{"countryCode":"FR","name":"France"},{"countryCode":"GA","name":"Gabon"},{"countryCode":"GB","name":"United Kingdom"},{"countryCode":"GD","name":"Grenada"},{"countryCode":"GE","name":"Georgia"},{"countryCode":"GF","name":"French Guiana"},{"countryCode":"GG","name":"Guernsey"},{"countryCode":"GH","name":"Ghana"},{"countryCode":"GI","name":"Gibraltar"},{"countryCode":"GL","name":"Greenland"},{"countryCode":"GM","name":"Gambia"},{"countryCode":"GN","name":"Guinea"},{"countryCode":"GP","name":"Guadeloupe"},{"countryCode":"GR","name":"Greece"},{"countryCode":"GT","name":"Guatemala"},{"countryCode":"GY","name":"Guyana"},{"countryCode":"HK","name":"Hong Kong"},{"countryCode":"HN","name":"Honduras"},{"countryCode":"HR","name":"Croatia"},{"countryCode":"HT","name":"Haiti"},{"countryCode":"HU","name":"Hungary"},{"countryCode":"ID","name":"Indonesia"},{"countryCode":"IE","name":"Ireland"},{"countryCode":"IM","name":"Isle of Man"},{"countryCode":"IS","name":"Iceland"},{"countryCode":"IT","name":"Italy"},{"countryCode":"JE","name":"Jersey"},{"countryCode":"JM","name":"Jamaica"},{"countryCode":"JP","name":"Japan"},{"countryCode":"KE","name":"Kenya"},{"countryCode":"KH","name":"Cambodia"},{"countryCode":"KN","name":"Saint Kitts and Nevis"},{"countryCode":"KR","name":"South Korea"},{"countryCode":"KY","name":"Cayman Islands"},{"countryCode":"KZ","name":"Kazakhstan"},{"countryCode":"LC","name":"Saint Lucia"},{"countryCode":"LI","name":"Liechtenstein"},{"countryCode":"LR","name":"Liberia"},{"countryCode":"LS","name":"Lesotho"},{"countryCode":"LT","name":"Lithuania"},{"countryCode":"LU","name":"Luxembourg"},{"countryCode":"LV","name":"Latvia"},{"countryCode":"MA","name":"Morocco"},{"countryCode":"MC","name":"Monaco"},{"countryCode":"MD","name":"Moldova"},{"countryCode":"ME","name":"Montenegro"},{"countryCode":"MF","name":"Saint Martin"},{"countryCode":"MG","name":"Madagascar"},{"countryCode":"MK","name":"North Macedonia"},{"countryCode":"ML","name":"Mali"},{"countryCode":"MN","name":"Mongolia"},{"countryCode":"MQ","name":"Martinique"},{"countryCode":"MR","name":"Mauritania"},{"countryCode":"MS","name":"Montserrat"},{"countryCode":"MT","name":"Malta"},{"countryCode":"MW","name":"Malawi"},{"countryCode":"MX","name":"Mexico"},{"countryCode":"MZ","name":"Mozambique"},{"countryCode":"NA","name":"Namibia"},{"countryCode":"NE","name":"Niger"},{"countryCode":"NG","name":"Nigeria"},{"countryCode":"NI","name":"Nicaragua"},{"countryCode":"NL","name":"Netherlands"},{"countryCode":"NO","name":"Norway"},{"countryCode":"NU","name":"Niue"},{"countryCode":"NZ","name":"New Zealand"},{"countryCode":"PA","name":"Panama"},{"countryCode":"PE","name":"Peru"},{"countryCode":"PG","name":"Papua New Guinea"},{"countryCode":"PH","name":"Philippines"},{"countryCode":"PL","name":"Poland"},{"countryCode":"PM","name":"Saint Pierre and Miquelon"},{"countryCode":"PN","name":"Pitcairn Islands"},{"countryCode":"PR","name":"Puerto Rico"},{"countryCode":"PT","name":"Portugal"},{"countryCode":"PW","name":"Palau"},{"countryCode":"PY","name":"Paraguay"},{"countryCode":"RO","name":"Romania"},{"countryCode":"RS","name":"Serbia"},{"countryCode":"RU","name":"Russia"},{"countryCode":"SC","name":"Seychelles"},{"countryCode":"SE","name":"Sweden"},{"countryCode":"SG","name":"Singapore"},{"countryCode":"SI","name":"Slovenia"},{"countryCode":"SJ","name":"Svalbard and Jan Mayen"},{"countryCode":"SK","name":"Slovakia"},{"countryCode":"SL","name":"Sierra Leone"},{"countryCode":"SM","name":"San Marino"},{"countryCode":"SN","name":"Senegal"},{"countryCode":"SR","name":"Suriname"},{"countryCode":"SV","name":"El Salvador"},{"countryCode":"SX","name":"Sint Maarten"},{"countryCode":"TC","name":"Turks and Caicos Islands"},{"countryCode":"TG","name":"Togo"},{"countryCode":"TN","name":"Tunisia"},{"countryCode":"TR","name":"Türkiye"},{"countryCode":"TT","name":"Trinidad and Tobago"},{"countryCode":"TV","name":"Tuvalu"},{"countryCode":"UA","name":"Ukraine"},{"countryCode":"UG","name":"Uganda"},{"countryCode":"US","name":"United States"},{"countryCode":"UY","name":"Uruguay"},{"countryCode":"VA","name":"Vatican City"},{"countryCode":"VC","name":"Saint Vincent and the Grenadines"},{"countryCode":"VE","name":"Venezuela"},{"countryCode":"VG","name":"British Virgin Islands"},{"countryCode":"VI","name":"United States Virgin Islands"},{"countryCode":"VN","name":"Vietnam"},{"countryCode":"WS","name":"Samoa"},{"countryCode":"ZA","name":"South Africa"},{"countryCode":"ZM","name":"Zambia"},{"countryCode":"ZW","name":"Zimbabwe"}] No newline at end of file | |||
| @@ -0,0 +1 @@ | |||
| legacy-peer-deps=true | |||
| @@ -0,0 +1 @@ | |||
| legacy-peer-deps=true | |||
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.