Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Tests: Migrate src/screens/UserPortal/Volunteer/Actions from Jest to Vitest #2611

Closed
wants to merge 39 commits into from

Conversation

MayankJha014
Copy link

@MayankJha014 MayankJha014 commented Dec 6, 2024

What kind of change does this PR introduce?
This PR migrates the test cases in src/screens/UserPortal/Volunteer/Actions from Jest to Vitest, ensuring compatibility with Vitest and maintaining 100% test coverage.

Checklist:

  • Migrated src/screens/UserPortal/Volunteer/Actions Jest test cases to Vitest.
  • Verified all tests pass with npm run test:vitest.
  • Ensured 100% test coverage.

Issue Number:
#2586

Screencast.from.2024-12-06.06-40-40.webm

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced a new configuration file for the YAML language server with customizable settings.
    • Added a template for environment variables to assist local development.
    • Implemented a README for GitHub workflows to guide contributors.
    • Launched a script to validate TypeScript files for TSDoc comments.
    • Created a utility script for comparing translation files for missing keys.
    • Added comprehensive localization support for multiple languages (English, French, Hindi, Spanish, Chinese).
  • Documentation

    • Enhanced the README with a community section and updated links.
    • Created detailed installation and contribution guidelines.
    • Introduced a structured code style guide.
  • Bug Fixes

    • Updated issue and pull request templates for clarity and consistency.
  • Chores

    • Updated various configuration files for improved linting and testing practices.
    • Added scripts for managing local storage usage and updating tables of contents in Markdown files.

DangaRanga and others added 30 commits May 23, 2021 12:21
Updated CONTRIBUTING.md with new branching strategy
…dependabot/npm_and_yarn/dns-packet-1.3.4

Bump dns-packet from 1.3.1 to 1.3.4
* Update authorized-changes-detection.yml

* Code Coverage @ 87.1%

* Update .gitignore

* Delete codecov

This executable should not be in the repo

* added translation hint text in placeholders (#487)

* Update pull-requests.yml

* Create DOCUMENTATION.md

* Rename issue-guidelines.md to ISSUE_GUIDELINES.md

* Update CONTRIBUTING.md

* Update issue.yml

* Rename PR-guidelines.md to PR_GUIDELINES.md

* Update CONTRIBUTING.md

* Update pull-request-target.yml

* Delete PULL_REQUEST_TEMPLATE.md

* Delete ISSUE_TEMPLATE.md

* Rename Code_Style.md to CODE_STYLE.md

* added removeMember mutation (#491)

* added removeMember mutation

* changed mutation name

* remove contributions from router (#502)

* Fixed Settings page Header (#501)

* fixed cani-use lite warning

* fixed the alignments for smaller screens and also added spacing on places where it was needed

* fixed the linting errors

* ran prettier to remove styling errors

* made the orgSetting title dynamic

* linted the code and made the settings header as required and also made the settings page navbar responsive

* linted code and made necessary changes

* errors fixed

* Added dropdown for Applanguage in UserUpdation form (#498)

* Added dropdown for Applanguage in UserUpdation form

* App language code changed to Default language

* Change the Scalar Types [Provides relevant client side changes for #1085 in Talawa-API] (#500)

* Change typedefs

* Fix date parsing

* Move ID to ObjectID scalar

* Client changes for Adding GraphQL Scalars (#511)

* Change typedefs

* Fix date parsing

* Move ID to ObjectID scalar

* Revert ObjectID to ID

* Change ObjectID to ID

* modal closed after organization creation (#516)

* most recently added Org displays at the top (#515)

* Add Husky (#520)

* updated contributing (#521)

* Display and choose Organisation image (#512)

* upload image working for createOrganisation

* Organisation image showing everywhere

* Testcase failure fixed

* Linting fixed

* convertToBase64 func made and tests for it

* CI/CD error fixed

* tests added for AdminNavbar & OrganisationDashboard

* Linting fixed

* fixed translation on the plugin tab (#510)

* added OrgName to the Navbar (#525)

* Fix create event mutation [Fixes part of #1101 in Talawa-API] (#523)

* Add format fix

* Fix updation of posts

* Test coverage improved for organizationPeople.tsx (#526)

* Update INSTALLATION.md

* Update INSTALLATION.md

* Update INSTALLATION.md

* Update stale.yml

* Remove tags (#532)

* Fixed navbar added tests (#534)

* Fixed navbar added tests

* Fixed the translation of All orgnaizations btn in AdminNavbar

* Fix the updateOrg page, and made it to create mutation request [Fixes #531] (#536)

* fix orgUpdate system

* fix translations

* Update CONTRIBUTING.md

* Code Coverage @ 88%

* Fixes #478 : Implemeneted calendar to the Event tab (#537)

* calendar-implemented

* calendar-implemented

* fixed tests

* Added post-merge hook using husky (#541)

* Added post-merge hook using husky

* made required changes to installation.md

* make changes to documentation for husky

* made the required changes in installation guide

* Update pull-requests.yml

* Fixed yarn installation instructions (#584)

* organization sorting for all organization (#619)

* removed redundant notification (#577)

* Profile Page for Members (#543)

* Initial member page made

* Changed query added Org and Events section

* Homescreen ready

* initial translation added for Profile

* initial translation added for Profile

* Added translations

* Added translations

* Revised translation

* Fixed failing tests for components

* Link added to OrgAdminListCard

* Linting fixed for OrgPeopleListCard

* Added tests, removed logs

* Uniform design

* Fix:routing issue for orgdash page (#580)

* Fix:routing issue for orgdash page

* fix:failing test of SuperDashListCard

* Rectify Warnings: EventListCard.test.tsx (#595)

* Added logic to close modal after successful submission (#623)

* Feature Request: Position of the search bar.  (#631)

* Feature Request: Position of the search bar #614 resolved

* Feature Request: Position of the search bar #614 resolved

* fixes: #550 added test for the calendar (#552)

* added test for the calendar

* updates mocks

* Update Router Function [Fixes #636] (#638)

* Update Router Function

* Empty commit

* Fix about content overflow (#632)

Signed-off-by: Ekene Nwobodo <[email protected]>

* removed duplicate rows per page section in orgposts (#648)

* fixed :made card in organization dashboard interactive (#620)

* Implemented manage functionality for admin and super admin after login (#539)

* Implememnted manage functinality for admin/superadmin after login

* Update AdminDashListCard.module.css

* Some formatting issues with module file

* resolved workflow issues

* Added folding feature to posts (#581)

* added folding feature to posts

* added fold feature to posts

* brought code under code coverage

* added tests

* added tests for remainging uncovered lines

* brought code coverage to 100% for the changes

* Code coverage @87.2%

* Fix User Update Details Page and Add Update Password Page [Fixes #530] (#657)

* fixed updateuser logic

* update translations

* fix lint

* lint fix 2

* fix tests

* fixed:move orgLocation & remove duplicate orgName (#655)

* fixed:move orgLocation & remove duplicate orgName

* Dummy commit

* fixes - [#597] - Navbar navlinks hover and button styles  (#603)

* fixed: #585 - Password error showing. Tested

* fix: #590 - fixed navbar hover issues

* fix: #590 - fixed navbar hover issues

* Code Coverage 87.4%

* fixes 599 (#653)

* fixed errors and removed window.replace

* written test case for ensure window.location.replace

* written test case for ensure window.location.replace

* added useHistory to keep track of routing behind the scenes

* fixed merge conflicts and errors

* updated comments for file changes

* Added warning comments for routing

---------

Co-authored-by: Adepeju <adepeju.kayode@gmail>

* fix org search location (#682)

Signed-off-by: Ekene Nwobodo <[email protected]>

* fixed the issue of validate the input before submit #674 (#678)

* Adds required tests for OrganizationEvents.tsx and Fixes a minor bug in Calendar (#527)

* adds tests for organization events

* removes the unrequired branch from OrganizationEvents.tsx

* fixes failing tests

* fixes failing lint tests

* Update password preview feature with coverage tests (#629)

* Fix to the issue #585 (#607)

* [fix]- fixed the password error warning

* [fix]- fixed the password error warning

* [fix]- fixed the password error warning

* [fix]-fixed the password error warning

* [fix]-fixed the password error warning

* [fix]-fixed the password error warning

* [fix]-fixed the password error warning

* [feat]-added test cases for password error warning

* [feat]- added test cases for password error warning

* [feat]- added test cases for password error warning

* [fix]- fixed the linting

* Improve test coverage for calendar.tsx (#679)

* Improve test coverage for calendar.tsx

* Restore previous tests

* remove --coverage

* i rebased my codebase and resolved the initial issue (#669)

* fixed the issue use of toast in place of window.alert #645 (#687)

* Update ISSUE_GUIDELINES.md

* fixed the static time data under Organization card in the Organization List tab (#689)

* fixed the static time in org card

* formatted the date to MM D, YYYY

---------

Co-authored-by: thesaaddevloper <[email protected]>

* Fixed the pagination alignment issue (#702)

* [fix]- fixed the password error warning

* [fix]- fixed the password error warning

* [fix]- fixed the password error warning

* [fix]-fixed the password error warning

* [fix]-fixed the password error warning

* [fix]-fixed the password error warning

* [fix]-fixed the password error warning

* [feat]-added test cases for password error warning

* [feat]- added test cases for password error warning

* [feat]- added test cases for password error warning

* [fix]- fixed the linting

* [fix]- fixed the pagination alignment issue

* [fix]- fixed the pagination alignment issue

* [fix]- fixed the pagination alignment issue

* Removed overlapping (#675)

* changes input element to textarea and changes in test (#710)

* Code Coverage @90.7%

* Indicating active tabs (#691)

* added underline to active links in navbar

* fixed lint error

* fixed the org default image #688 and removed stock image (#695)

* fixed the org default image #688 and removed stock image

* removed eslint warning

* added new img as default org img

* Update INSTALLATION.md

* Added Clear Error and Warn Messages when API is unavailable (#670)

* Added error and warn messages

* Added tests & fixed inconsistency in mocks

* Lint fix LoginPage

* Lint Fix LoginPage.test

* minor fix

* Minor update to LoginPage

* Minor change to LoginPage.test

* Replaced toast.warn() with toast.error()

* Fixed test accordingly

* Lint Fix

* Minor fix

* Extra edge case handled

* code coverage fix

* Lint fix

* Update LoginPage

* Update LoginPage.test

* Lint fix

* improve test coverage for orgpost.tsx (#718)

* Improve test coverage for calendar.tsx

* Restore previous tests

* remove --coverage

* improve test for orgpost.tsx

* Implemented Proper Error Handling for all Screens [Fixes: #535] (#731)

* Handled error cases for all screens

* Some more fixes

* Some more fixes

* Added StaticMockLink to use Mocks multiple times [Fixes Multiple Issues] (#745)

* add StaticMockLink

* lint fix

* remove showWarning

* Added prompt to Register on Login Page (#628)

* Add prompt to Login page
- Add prompt in other languages: fr, sp, hi, zh.
- switch styling of Login Button with Reg Button

* format with prettier

* fixed event checkboxes to update (#707)

* Block/Unblock functionality for only members of the organization (#690)

* Implememnted manage functinality for admin/superadmin after login

* Update AdminDashListCard.module.css

* Some formatting issues with module file

* resolved workflow issues

* Updated block/unblock page preventing users who are not members of organiztion

* Update BlockUser.test.tsx to resolve failing tests

Modified the mocks fields according to the corresponding changes in BlockUser.tsx file.

* created a reusable postNotFound Component with responsive UI (#717)

* created a reusable postNotFound Component with responsive UI

* run test error solved

* added translation to the component and also created the test.tsx for the error component

* fixed the failing test and added the postNotFound reusable component for OrgList

---------

Co-authored-by: thesaaddevloper <[email protected]>

* fix: #601 modal responsive width (#621)

* added dynamic title to OrgPeople section (#704)

* added dynamic title to OrgPeople section

* fixed code coverage

* fixed code coverage

* uncommented the mistakenly added code

* Delete er

* Updated session timeout notification toast with already existing one (#734)

* Added a toast to notify users that session has expired and redirects to the login page

* Updated toast notification on session timeout  with already existing one

* eliminated the use of  magic numbers

* minor error correction on the timeout minutes

---------

Co-authored-by: TheoCathy <[email protected]>

* Fixed the empty space in the OrgList (#751)

* created a reusable postNotFound Component with responsive UI

* run test error solved

* added translation to the component and also created the test.tsx for the error component

* fixed the failing test and added the postNotFound reusable component for OrgList

* fixed the empty space in orgList

* fixed the failing test

* removed the unwanted files

---------

Co-authored-by: thesaaddevloper <[email protected]>

* align navbar items (#755)

* align navbar items

* replace More with a hamburger icon

* replace More with a hamburger icon to fix workflow error

* replace More with a hamburger icon to fix workflow error

* Fixes: toggle password for registration  (#758)

* added toggle-password

* updated

* formatting

* added icon for toggle password

* Super Admin Dashboard Error When Organizations Absent (#754)

* No Organization Warning on OrgList

* Minor Fix

* Fixed failing tests

* Added Warning on Roles and Request Pages

* Added Tests for OrgList

* Testing Fixes

* Added more tests

* Added Tests for Roles and Request Pages

* Code Coverage @ 91.0%

* Add link to dashboard admin card (#760)

* image upload made functional (#677)

* image upload made functional

* lint

* fixed failing test

* linting

* re run test , remove yarn.lock changes

* updateUser test cov

* OrgPost

* rerun tests

* Empty commit

* reverted last 2 commits changes

* re run code cov

* update userUpdate

* rerun code cov again

* revert last commit

* Update PR_GUIDELINES.md

* Implemented Search bar and the radio buttons in orgPost page that searches both title and text of post (#770)

* created a reusable postNotFound Component with responsive UI

* run test error solved

* added translation to the component and also created the test.tsx for the error component

* fixed the failing test and added the postNotFound reusable component for OrgList

* fixed the empty space in orgList

* fixed the failing test

* removed the unwanted files

* the one search bar which searches both text and title of post

* testing file

* orpost file testing

* code coverage is increased

* fixed the failing test

---------

Co-authored-by: thesaaddevloper <[email protected]>
Co-authored-by: saadabban76 <�[email protected]>

* center org image on mobile (#778)

Signed-off-by: Ekene Nwobodo <[email protected]>

* removed link for plugin dropdown toggle (#781)

* removed link for plugin dropdown toggle

* added id

* align superadmin nav items and fix failed tests (#766)

* changed the handleSearchByName function in searchByName in Roles page (#735)

* changed the handleSearchByName function to search using target's value instead of searchByName variable

* updated the file Roles.tsx to take care of useState lag

* changed tests for suiting searchByName

* changed tests for searchByName including backspaces

* added tests for paginationList and changing rowsPerPage

* added tests to increase coverage in Roles.tsx

* changed the package.json file's test command

* removed extra scrollbars (#800)

* Recently added Post displays at top (#773)

* Recently added Post displays at top

* reversed the posts as required in the query

* Increased the OrgList Code Coverage (#786)

* increased the orgList coverage to 95$

* increased the orgList Code Coverage

* increased the orgList Code Coverage

* increased the orgList Code Coverage

* fixed image rendering in orgPost page

* increased the code coverage for orgList Component

* increased code coverage to 97% in orgList Component

---------

Co-authored-by: saadabban76 <�[email protected]>

* Modify event visibility for non-admins (#796)

* Modify event visibility for non-admins

Signed-off-by: Ekene Nwobodo <[email protected]>

* Add test suites for events visibilty

---------

Signed-off-by: Ekene Nwobodo <[email protected]>

* Bug Fix: Drawer menu visibility (#794)

* Remove filter by event field (#807)

* increased the orgList coverage to 95$

* increased the orgList Code Coverage

* increased the orgList Code Coverage

* increased the orgList Code Coverage

* fixed image rendering in orgPost page

* increased the code coverage for orgList Component

* increased code coverage to 97% in orgList Component

* removed the filter by event section in orgPeople's component

* fixed the failing test

---------

Co-authored-by: saadabban76 <�[email protected]>

* Add image to post (#804)

* increased the orgList coverage to 95$

* increased the orgList Code Coverage

* increased the orgList Code Coverage

* increased the orgList Code Coverage

* fixed image rendering in orgPost page

* increased the code coverage for orgList Component

* increased code coverage to 97% in orgList Component

* added Image to the post's card

* replaced external links with codebase default image

* replaced external links with codebase default image

* replaced blank image with the default image

* fixed the failing test

---------

Co-authored-by: saadabban76 <�[email protected]>

* Update pull-request-target.yml

* Update pull-request-target.yml

* Update pull-request-target.yml

* Update pull-request-target.yml

* Update pull-request-target.yml

* Update pull-request-target.yml

* Upgrade Yarn to NPM in Talawa Admin Project (#802)

* npm upgrade

* remove package lock

* Update push.yml

* empty

* upgrade yarn to npm

* fix docs

* fix scripts

* empty

* stop watch mode

* fix ymls

* empty

* fix scripts

* empty commit

* update scripts

* Redirect to dashboard on organization update (#816)

* Redirect to dashboard on organization update

* Minor Change

* Proper Testing Of Pagination In All List Views (#797)

* install faker package used for mocks in tests

* Test init for pagination

* install dependencies needed to implement certain tests

* add a data-testid attribute to their markup for use in tests

* add data-testid attributes to its markup being referenced from tests

* add test to ensure the number of organization displayed on the page corresponds to the option selected from rowsPerPage

* add prop to allow rendering of component in test environment

* add data-testid attributes to their markup being referenced from tests

* add data-testid attributes to its markup being referenced from tests

* add test to affirm that the number of persons displayed on the webpage is same with the selected option from rowsPerPage

* install dependencies for certain tests

* fix lint errors

* tests fix

* remove unnecessary dependencies

* lint fix

* tests fix update

* restore file to previous state

* empty commit

* tests fix update

* lint fix

* Conditional Usage of Google reCAPTCHA [Fixes #798] (#820)

* conditonal recaptcha

* Update INSTALLATION.md

* add tests

* fixed the issue of Mismatched passwords validation #722 (#824)

* fixed the issue of Mismatched passwords validation #722

* fixed lint code error

* Code Coverage @ 92%

* Replace Talawa Portal with Talawa Admin Portal #817 (#821)

* Update website title to Talawa Admin Portal in en

* Update website title in fr json file

* Update website title in sp json file

* Update website title in zh json file

* Update website title in hi json file

* Update the test in ListNavbar file

* Update the test in LoginPage.test file

* Create a function for the tex macher to make test

* Fix lint errors in the LandingPage test file

* Remove console.log in LandingPage test file

* Upgrade to use npm instead of yarn

* Delete yarn.lock file

* Fix lint errors

* Fix lint errors

* Update the heading in hi.json file

* Remove unused codes

* Fix lint error in LanfingPage file

* Correct the talawa_portal value in Fr json file

* Correct the talawa_portal value in sp json file

* Remove anused package in package.json file

* Organization Form Redirect Issue Prevents User Navigation, Affecting User Experience.  Issue #808 (#815)

* addressing issue #808

* finished - requested changes

* addressing warning

* Added:  event preview modal to view event details (#772)

* added event preview model

* added event preview model

* fixed formatting

* added test

* added test

* added test

* failing tests

* test

* tests

* Update workflow (#832)

* Workflow fix (#833)

* Update pull-requests.yml

* Update pull-requests.yml

* Update pull-requests.yml

* Code Coverage @ 91.0%

* Feature: Separation of ADMIN and SUPERADMIN functionalities (#826)

* Initial changes

* Commit to sync repo

* Made changes to OrgList

* Some fixes

* Minor fix

* Added tests for OrgList

* Added tests for OrgList

* Coverage fix

* Required changes added

* Made changes to OrgList

* Some fix

* Some fixes

* fixes test for OrgList

* Some more fixes

* Empty commit

* Lint fix

* Fixed test

* Lint fix

* Added Whitespace Validation to Organization and Post create forms (#838)

* Added whitespace check in Org Create form

* Added Tests

* Added Empty String check to OrgPost Form

* Added Tests for OrgPost

* fixed the issue of Toast msg is not available in all languages #740 (#845)

* fixed the issue of Toast msg is not available in all languages #740

* format issue

* Empty-Commit

* Fixed Org Update (#843)

* Prevent Admins and Super Admins from downgrading their own roles (#840)

* Code Cleanup

* Disabled Super Admins from changing their roles

* Added Tests

* Added more tests

* Improved Code Quality

* Revert "Fixed Org Update (#843)" (#847)

This reverts commit 53c3fef28ef986d63b1eec45663acb7d07cf1b8d.

* Fixed Organization Update and Translation (#849)

* Fixed Organization Update

* Minor Changes

* Success message updated

* Fail tests on warning [Priority Needed] (#856)

* fix warnings

Signed-off-by: Ansh Goyal <[email protected]>

* fix warnings

Signed-off-by: Ansh Goyal <[email protected]>

* fix warnings

Signed-off-by: Ansh Goyal <[email protected]>

* fix warnings

Signed-off-by: Ansh Goyal <[email protected]>

* fix warnings

Signed-off-by: Ansh Goyal <[email protected]>

* restore addonregister

Signed-off-by: Ansh Goyal <[email protected]>

---------

Signed-off-by: Ansh Goyal <[email protected]>

* Code duplicacy removed (#852)

* Code duplicacy removed

* Tests added

* Added comments

* Fixed failing tests

* Code formatted

* Unused packages removed, flag icons package updated to latest version (#860)

* Unused packages removed, flag icons updated to latest version

* Empty commit

* Changes in package-lock.json

* Fixes #848: limiting mulitple toast (#851)

* limiting-toast

* added test

* Organization People Filters Improved (#855)

* Added Filters to Users and Organizations Query

* Added Last Name Filter on User, Member and Admin

* Added Translation

* Fixed Failing Tests

* Added Tests for Filters

* Fixed Failing Tests

* Code Cleanup

* Fixed Tests

* Added Translation

* remove graphql-boost dep (#866)

Signed-off-by: Ansh Goyal <[email protected]>

* added UserNotFound component to the Roles page and improved the search (#865)

* changed the handleSearchByName function to search using target's value instead of searchByName variable

* updated the file Roles.tsx to take care of useState lag

* changed tests for suiting searchByName

* changed tests for searchByName including backspaces

* added tests for paginationList and changing rowsPerPage

* added tests to increase coverage in Roles.tsx

* changed the package.json file's test command

* changed PostNotFound component to be used as a reusable one and added it in Roles section and set languages option in locales folder

* changed formatting in locales changed files

* removed comments in Roles.tsx

* Empty commit

* renamed the PostNotFound component and modifiied relevant files

* changed Roles.tsx filtering

* empty commit

* reverted changes in package.json

* Improved signupform validations (#828)

* Improved signupform validations

* updated signup form validation to show all messages at once

* improved test coverage for LoginPage

* Fixed failing test

---------

Co-authored-by: Joyce Malicha <[email protected]>

* added tests for Search Bar in the Organization List Page of SUPERADMIN #827 (#867)

* added tests for Search Bar in the Organization List Page of SUPERADMIN #827

* added tests for Search Bar in the Organization List Page of SUPERADMIN #827

* Added Tests Previews (#868)

* Installed jest-preview

* Automatic Setup

* Fiixed Failing Test Command

* Added Basic CSS

* Added PostCSS Module

* Fixed MUI Styling

* Minor Changes

* Added cross-env to support windows

* Adaptar for React 17 and CSS Modules Mock

* Added Mocked Styles to Tests

* Documentatin Updated

* Fixed Failing Tests

* Minorr change in documentation

* Jest is now Dev Dependency

* Workflow Test

* Jest Module Path Updates

* Module Path Tese 2

* Github Workflow Fixed

* Removed Legacy Test Command

* Added Documentation to Debug Tests

* Fixed Documentation

* Docs Image Added To Repo

* Images Reorganization

* Organized Images

* Revert "Improved signupform validations (#828)" (#875)

This reverts commit 5820dd9ec05256551b48470c8880fcdc05452fda.

* Restored SearchBar Test for OrgList Page (#878)

* Restored searchBar test

* Lint fix

* Coverage fix

* Lint fix

* Some fixes

* Some fixes

* fixed the issue of Users filter to fetch corresponding Users to Organisation #701 (#853)

* fixed the issue of Users filter to fetch corresponding Users to Organisation #701

* removedd uunused variable

* fixed failing text

* fixed merged issue

* fixed lint error

* swap variable

* Revert "Restored SearchBar Test for OrgList Page (#878)" (#879)

This reverts commit 3d39c524d54e81853490d2d8a1f844ce67252365.

* Fixed crashing on error in Block/Unblock page (#862)

* Website crash fixed

* lint fixed

* Added tests for empty response from server

* More tests added

* Rerun tests empty commit

* Redirect on error functioning

* Fixed failing tests

* Testcase and Title added when users not found

* Linting fixed

* Typo fixed

* Fixed failing tests

* Linting fixed

* Added NotFound component in OrgPeople and changed Roles.tsx  (#882)

* changed the handleSearchByName function to search using target's value instead of searchByName variable

* updated the file Roles.tsx to take care of useState lag

* changed tests for suiting searchByName

* changed tests for searchByName including backspaces

* added tests for paginationList and changing rowsPerPage

* added tests to increase coverage in Roles.tsx

* changed the package.json file's test command

* changed PostNotFound component to be used as a reusable one and added it in Roles section and set languages option in locales folder

* changed formatting in locales changed files

* removed comments in Roles.tsx

* Empty commit

* renamed the PostNotFound component and modifiied relevant files

* changed Roles.tsx filtering

* empty commit

* reverted changes in package.json

* added NotFound component in OrgPeople, made changes in the locales files and made some changes to Roles too

* added NotFound component to OrgPeople, changerd locales files and changed Roles.tsx

* minor change

* Restored Search-Bar Test for OrgList Page (#880)

* Restored searchBar test

* Lint fix

* Coverage fix

* Lint fix

* Some fixes

* Some fixes

* Fixed Org Dashboard Error (#873)

* Fixed TypeError

* Minor Change

* Fixed Tests

* Added back logo512

* Fixed auth header getting copied on login (#890)

* fix user update  (#876)

* fix user detials update

* remove userType from update-user page

* fix failed test for userUpdate.test.tsx

* Removed and Replaced Ant Design from the project (#891)

* Fixed auth header getting copied on login

* Removed/Replaced  Ant Design from the project

* Fixed failing tests

* Removed comment

* Add today functionality in calendar (#897)

* Update countline.py

* Update pull-requests.yml

* Updated countlines.py to cover .spec. files (#900)

Co-authored-by: Peter Harrison <[email protected]>

* fixed the Inability to set user roles for specific organizations #556 (#898)

* fixed the Inability to set user roles for specific organizations #556

* added all language translation

* Revert "fixed the Inability to set user roles for specific organizations #556 (#898)" (#901)

This reverts commit 891d898eb5543116bb9042a6386b5a12e474159c.

* Documentation updated, Redundant css files removed (#896)

* Doc updated unused files removed

* Removed unused css files from setup tests

* Added small calendar in the events #887  (#903)

* added small clanedar

* added small clanedar

* fixed Code Coverage: Create tests for OrgSettings.tsx #396 (#905)

* remove redundancy from orgPostCard (#906)

* Revert "remove redundancy from orgPostCard (#906)" (#910)

This reverts commit d5ce4aa27ee241b0687f7db3d6acd1b62339562f.

* Block/Unblock Page Improvements (#885)

* Added Radio Buttons

* Optimized Queries

* Optimized Query and Added Last Name Filter

* Radio Button Working

* Added Translations

* Fixed Filter Name

* Fixed Debounce

* Fixed Asynchronous Debounce

* Added Tests

* Better Error and Loading State Handline

* Fixed Loader

* Fixed Loader

* Modulrised Mock Data

* Minor Change

* Fixed Tests

* Increase Coverage

* User query replaced with OrgMemberConnection

* Fixed Tests

* Code Coverage Increase

* Code Cov

* Fixed Translations

* Fixed Failing Tests

* fix in failing test (#913)

* Improve and Standardize Automated Linting Tests (#916)

* added linting rules

* added linting rules

* added linting rules

* Rename `data` variables to more readable name [Fixes #829] (#835)

* Refactor screens

* Update components

* Fix test

* Fix typecheck errors

* Increase test coverage

* Merge latest adminUI-Redesign into Develop (#927)

* Updated CODE_STYLE.md

* Updated CODE_STYLE.md (#917)

* Updated CODE_STYLE.md

* Import section update

* Upgrade and Migrate from Bootstrap 4 to Bootstrap 5 (#925)

* Updated CODE_STYLE.md

* Latest Boostrap v5.3.0 & react-bootstrap v2.7.4 installed

* Buttons replaced from normal ones to Bootstrap ones

* Import section update

* Error fixed for Buttons

* Language dropdowns and Change language

* InputBoxes & Checkboxes fixed and imported from BS

* Removed unused package popper.js

* Replaced react-modal with Bootstrap one in Login Page

* Modals converted to React Bootstrap one

* Completely replaced react-modal with react-bootstrap/Modal from the project

* Removed react-modal from the project

* Removed classbased modal and unused images

* Notification navbar migrated

* Modal migration

* Modal migration

* Modal migration done for OrgPostCard

* Empty commit to make workflow run

* Empty commit to make workflow run

* Empty commit to run the workflow

---------

Co-authored-by: Anwer Sayeed <[email protected]>

* Introduces API versioning check in CI/CD (#924)

* a random change

* husky precommit

* one more try

* one more try

* one more try

* one more try

* one more try

* one more try

* second try

* removed unwanted deps

* removed unwanted deps

* resolved the error

* updated variable name

* rerun test

* rerun test

* added test to pull.yml

* removed push check

* resolved conflict

* Update stale.yml

* Update CONTRIBUTING.md

* Merge talawa-user-portal into develop (#935)

* Create login and register page for user portal

* Lint public locales

* Create tests for login page components

* Add react import in tests

* Create organizations screen for user portal

* Fix failing tests and lint code

* fix failing tests

* Add tests for organization screen and componenets

* Fix non-null assertions

* Fix non-null assertions in organizations test

* Fix bootstrap migration changes

* Merge latest Admin UI Redesign into Develop (#934)

* Updated CODE_STYLE.md

* Updated CODE_STYLE.md (#917)

* Updated CODE_STYLE.md

* Import section update

* Upgrade and Migrate from Bootstrap 4 to Bootstrap 5 (#925)

* Updated CODE_STYLE.md

* Latest Boostrap v5.3.0 & react-bootstrap v2.7.4 installed

* Buttons replaced from normal ones to Bootstrap ones

* Import section update

* Error fixed for Buttons

* Language dropdowns and Change language

* InputBoxes & Checkboxes fixed and imported from BS

* Removed unused package popper.js

* Replaced react-modal with Bootstrap one in Login Page

* Modals converted to React Bootstrap one

* Completely replaced react-modal with react-bootstrap/Modal from the project

* Removed react-modal from the project

* Removed classbased modal and unused images

* Notification navbar migrated

* Modal migration

* Modal migration

* Modal migration done for OrgPostCard

* Empty commit to make workflow run

* Empty commit to make workflow run

* Empty commit to run the workflow

* Sass filed added with documentation

* Linting fixed

* Fixed the folder structure and naming convention

* Customised Bootstrap  (#929)

* Sass filed added with documentation

* Linting fixed

* Fixed the folder structure and naming convention

* Assets typo fixed

* Typo fix

* Merge conflict error fixed

---------

Co-authored-by: Anwer Sayeed <[email protected]>

* test PR for API versioning check (#932)

* testPR

* test2

* testing the change

* testing it again

* test--no-verify

* test--no-verify

* echo token

* test-again

* test-again

* test

* test

* read-only

* clone

* clone

* redesigned newsfeed (#939)

* Revert "redesigned newsfeed (#939)" (#943)

This reverts commit a645eca7cf2ce1335374f48b52335a293e344580.

* Make Talawa-Admin mutations in sync with the backend (#946)

* Initial change

* Redundant Notification removed

* Fixed linting and other issues

* Tests fixed

* Add Home Screen And People Screen along with other components (#940)

* Create login and register page for user portal

* Lint public locales

* Create tests for login page components

* Add react import in tests

* Create organizations screen for user portal

* Fix failing tests and lint code

* fix failing tests

* Add tests for organization screen and componenets

* Fix non-null assertions

* Fix non-null assertions in organizations test

* Fix bootstrap migration changes

* Add Home Screen along with other components

* Fix failing tests

* Add required tests and Offcanvas navbar

* Remove unused variables from tests

* Sync the Mutations with talawa-api

* Merge AdminUI-Redesign into Develop (#947)

* Updated CODE_STYLE.md

* Updated CODE_STYLE.md (#917)

* Updated CODE_STYLE.md

* Import section update

* Upgrade and Migrate from Bootstrap 4 to Bootstrap 5 (#925)

* Updated CODE_STYLE.md

* Latest Boostrap v5.3.0 & react-bootstrap v2.7.4 installed

* Buttons replaced from normal ones to Bootstrap ones

* Import section update

* Error fixed for Buttons

* Language dropdowns and Change language

* InputBoxes & Checkboxes fixed and imported from BS

* Removed unused package popper.js

* Replaced react-modal with Bootstrap one in Login Page

* Modals converted to React Bootstrap one

* Completely replaced react-modal with react-bootstrap/Modal from the project

* Removed react-modal from the project

* Removed classbased modal and unused images

* Notification navbar migrated

* Modal migration

* Modal migration

* Modal migration done for OrgPostCard

* Empty commit to make workflow run

* Empty commit to make workflow run

* Empty commit to run the workflow

* Sass filed added with documentation

* Linting fixed

* Fixed the folder structure and naming convention

* Customised Bootstrap  (#929)

* Sass filed added with documentation

* Linting fixed

* Fixed the folder structure and naming convention

* Assets typo fixed

* Typo fix

* Initial login page work

* Merge conflict error fixed

* Theming modified and Added Loader over every screen

* Fixed UI issue for navbar and login

* Fixed production bug

* Removed unused variable

* Tests fixed

* Added Change Language Btn dropdown

* Merge conflict fixed, merge latest develop into adminUI-redesign (#938)

* Merge latest adminUI-Redesign into Develop (#927)

* Updated CODE_STYLE.md

* Updated CODE_STYLE.md (#917)

* Updated CODE_STYLE.md

* Import section update

* Upgrade and Migrate from Bootstrap 4 to Bootstrap 5 (#925)

* Updated CODE_STYLE.md

* Latest Boostrap v5.3.0 & react-bootstrap v2.7.4 installed

* Buttons replaced from normal ones to Bootstrap ones

* Import section update

* Error fixed for Buttons

* Language dropdowns and Change language

* InputBoxes & Checkboxes fixed and imported from BS

* Removed unused package popper.js

* Replaced react-modal with Bootstrap one in Login Page

* Modals converted to React Bootstrap one

* Completely replaced react-modal with react-bootstrap/Modal from the project

* Removed react-modal from the project

* Removed classbased modal and unused images

* Notification navbar migrated

* Modal migration

* Modal migration

* Modal migration done for OrgPostCard

* Empty commit to make workflow run

* Empty commit to make workflow run

* Empty commit to run the workflow

---------

Co-authored-by: Anwer Sayeed <[email protected]>

* Introduces API versioning check in CI/CD (#924)

* a random change

* husky precommit

* one more try

* one more try

* one more try

* one more try

* one more try

* one more try

* second try

* removed unwanted deps

* removed unwanted deps

* resolved the error

* updated variable name

* rerun test

* rerun test

* added test to pull.yml

* removed push check

* resolved conflict

* Sass filed added with documentation

* Linting fixed

* Fixed the folder structure and naming convention

* Update stale.yml

* Typo fix

* Update CONTRIBUTING.md

* Merge talawa-user-portal into develop (#935)

* Create login and register page for user portal

* Lint public locales

* Create tests for login page components

* Add react import in tests

* Create organizations screen for user portal

* Fix failing tests and lint code

* fix failing tests

* Add tests for organization screen and componenets

* Fix non-null assertions

* Fix non-null assertions in organizations test

* Fix bootstrap migration changes

* Merge conflict error fixed

---------

Co-authored-by: Anwer Sayeed <[email protected]>
Co-authored-by: Kanishka Bansode <[email protected]>
Co-authored-by: Peter Harrison <[email protected]>
Co-authored-by: Noble Mittal <[email protected]>

* Random checkout

* Design ready for homescreen

* Login page 100% code c=coverage

* Login page icon adjustment

* Added translations

* Fixed the failing tests

* Revert to older version of loader

* Animation added fixed warnings

* Fixed accessability

* Mutations and Tests foxed

* Fixed coloring in UserPortal

* Tests fixed and ChangeLanguageDropdown used in UserLoginPage

* Linting Fixed

---------

Co-authored-by: Anwer Sayeed <[email protected]>
Co-authored-by: Kanishka Bansode <[email protected]>
Co-authored-by: Peter Harrison <[email protected]>
Co-authored-by: Noble Mittal <[email protected]>

* Merge latest adminUI-Redesign (#950)

* Initial Organizations screen done

* Removed yellow scrollbar

* Linting fixed

* Replaced images with svgs for logos

* Styling done for btnsContainer

* Better typechecking and readability

* Animated Drawer working

* Responsive page ready

* OrgCard responsive

* Fixed navbar issue and added webkit keyframes

* LeftDrawer ready

* Translations added

* Added shimmer loading effect

* Styling issue fixed

* Failing tests fixed for OrgList

* Removed unused vars

* Tests done for LeftDrawer

* Succesfully made component without causing any breaking change

* 100% Code coverage achieved for Requests Screen

* Fix alignment

* Roles screen UI done

* Role screen fixed with 100% test coverage

* Changing screen activeness fixed

* Unused vars and Typos fixed

* Language support added

* Linting and typos fixed

* Fixed failing tests for LeftDrawer

* Completed tests of AdminDashListCard with 100% code coverage

* OrgListCard done

* Finalised tests

* Requests user search made functional again !

* Fixed loading on refetch and UX on all screens

* OrgList failing errors fixed

* Fixed all failing tests

* Achieved 100% code coverage for OrgList.tsx

* Wrote tests and mod LeftDrawer for admins

* Minor ui issue fixed

* Fixed failing test

* UI bug dropdown

* Frontend insync with Backend attempt 1

* Introspection fail fix 1

* Introspection error fix 3

* Introspection error fix another attempt

* Another attempt

* [Talawa-user-portal] Add Settings and Donate Screen, along with other UI fixes (#953)

* Create login and register page for user portal

* Lint public locales

* Create tests for login page components

* Add react import in tests

* Create organizations screen for user portal

* Fix failing tests and lint code

* fix failing tests

* Add tests for organization screen and componenets

* Fix non-null assertions

* Fix non-null assertions in organizations test

* Fix bootstrap migration changes

* Add Home Screen along with other components

* Fix failing tests

* Add required tests and Offcanvas navbar

* Remove unused variables from tests

* Sync the Mutations with talawa-api

* Add Settings and Donate Screen

* Add multilingual support for the screens

* Add Event Project and Volunteer Management (#961)

* Add screens for adding and updating event projects

* Add delete operation for event projects and debug update

* Remove yarn.lock

* Begin testing

* Add display of tasks and functionality to add tasks

* Add modal for edit task

* Add UpdateTaskModal

* Add Delete Task Modal and volunteers display

* Add test for DeleteEventProjectModal.tsx

* Add tests for add and update event project modal

* Add screen for managing volunteers

* Add option to assign and remove volunteers

* Add tests for AddTaskModal.tsx

* Add tests for TaskListItem.tsx and DeleteTaskModal.tsx

* Complete testing for all Task Modals

* Add completed display to tasks

* Add tests for event dashboard

* Restructure files

* Add attendee management modal

* Add testing for EventAttendeeModal

* Move to 100% testing and wrapper for attendees modal

* Add basic checkIn functionality for users

* Add testing for CheckIn modals

* Introduce the tag generation into the repository

* Update linting rule and fix errors

* Remove alloted seat and alloted room

* Fix testing

* Correct some tests

* Migrate from attendees to registrants

* Migrate Event Project modals to new design

* Migrate registrants modals and checkin modals to new design with 100% test coverage

* Move task modals to new styles

* Move to 100% test coverage

* Admin workflow completed with updated package.json (#960)

* Merge latest AdminUI Redesign into develop (#956)

* Initial Organizations screen done

* Removed yellow scrollbar

* Linting fixed

* Replaced images with svgs for logos

* Styling done for btnsContainer

* Better typechecking and readability

* Animated Drawer working

* Responsive page ready

* OrgCard responsive

* Fixed navbar issue and added webkit keyframes

* LeftDrawer ready

* Translations added

* Added shimmer loading effect

* Styling issue fixed

* Failing tests fixed for OrgList

* Removed unused vars

* Tests done for LeftDrawer

* Succesfully made component without causing any breaking change

* 100% Code coverage achieved for Requests Screen

* Fix alignment

* Roles screen UI done

* Role screen fixed with 100% test coverage

* Changing screen activeness fixed

* Unused vars and Typos fixed

* Language support added

* Linting and typos fixed

* Fixed failing tests for LeftDrawer

* Completed tests of AdminDashListCard with 100% code coverage

* OrgListCard done

* Finalised tests

* Requests user search made functional again !

* Fixed loading on refetch and UX on all screens

* OrgList failing errors fixed

* Fixed all failing tests

* Achieved 100% code coverage for OrgList.tsx

* Wrote tests and mod LeftDrawer for admins

* Minor ui issue fixed

* Fixed failing test

* UI bug dropdown

* Frontend insync with Backend attempt 1

* Introspection fail fix 1

* Introspection error fix 3

* Introspection error fix another attempt

* Another attempt

* Fixed Default Animation on Organizations Screen

* Fixed typo

* Loading data from localstorage functional

* Fixed name conventions

* Fixed typo

* UI Fix

* Changed screen name

* Table Loader added

* Added LeftOrg drawer and Organization screen comp to Screens

* routesReducer tests fixed

* Redundant adminNavbar removed from project

* MemberDetail issue fixed

* Achieved 100% code coverage for LeftDrawerOrg, Added Empty div in images

* Fixed failing tests

* Fix tests

* Fixed warnings

* Linting fixes

* Linting issues fixed

* Achieved 100% code coverage for CollapsibleDropdown

* Achieved 100% CC on IconComponent and removed useless imports

* Achieved 100% cc for LeftDrawer Component

* Achieved 100% CC on SuperAdminScreen Component

* Fixed typo

* Integrated Event Dashboard

* Failing tests for LeftDrawer LeftDrawerOrg OrgList screen fixed

* Removed redundant code

* Removed useless imports

* Linting fixed

* Removed LeftDrawerOrg

* Update documentation

* copy-docs -to-talawa branch update to develop

* removed dependance of code copying from generate segment

* Update push.yml (#969)

* Update push.yml (#970)

* Feature Request: Adding a dialog to go to plugin store after an organization is created by the admin (#951)

* Add/ test for OrgPost.tsx

* fix:  org post back to default

* Added Dialog 2

* Updated Dialog UI

* Removed Extra code

* Updated Plugin store

* fix: warnings and solves #951  & #948

* fix: warnings and solves #951  & #948

* fix: warnings and solves #951  & #948

* Fix: UI Redesign

* fix: merge

* fix

* Update AddOnStore.tsx

* Fixed Merge Errors

* Add test: for OrgEntry

* Test 3

* fix test 4

* Merge latest AdminUI Redesign into develop (#972)

* Initial Organizations screen done

* Removed yellow scrollbar

* Linting fixed

* Replaced images with svgs for logos

* Styling done for btnsContainer

* Better typechecking and readability

* Animated Drawer working

* Responsive page ready

* OrgCard responsive

* Fixed navbar issue and added webkit keyframes

* LeftDrawer ready

* Translations added

* Added shimmer loading effect

* Styling issue fixed

* Failing tests fixed for OrgList

* Removed unused vars

* Tests done for LeftDrawer

* Succesfully made component without causing any breaking change

* 100% Code coverage achieved for Requests Screen

* Fix alignment

* Roles screen UI done

* Role screen fixed with 100% test coverage

* Changing screen activeness fixed

* Unused vars and Typos fixed

* Language support added

* Linting and typos fixed

* Fixed failing tests for LeftDrawer

* Completed tests of AdminDashListCard with 100% code coverage

* OrgListCard done

* Finalised tests

* Requests user search made functional again !

* Fixed loading on refetch and UX on all screens

* OrgList failing errors fixed

* Fixed all failing tests

* Achieved 100% code coverage for OrgList.tsx

* Wrote tests and mod LeftDrawer for admins

* Minor ui issue fixed

* Fixed failing test

* UI bug dropdown

* Frontend insync with Backend attempt 1

* Introspection fail fix 1

* Introspection error fix 3

* Introspection error fix another attempt

* Another attempt

* Fixed Default Animation on Organizations Screen

* Fixed typo

* Loading data from localstorage functional

* Fixed name conventions

* Fixed typo

* UI Fix

* Changed screen name

* Table Loader added

* Added LeftOrg drawer and Organization screen comp to Screens

* routesReducer tests fixed

* Redundant adminNavbar removed from project

* MemberDetail issue fixed

* Achieved 100% code coverage for LeftDrawerOrg, Added Empty div in images

* Fixed failing tests

* Fix tests

* Fixed warnings

* Linting fixes

* Linting issues fixed

* Achieved 100% code coverage for CollapsibleDropdown

* Achieved 100% CC on IconComponent and removed useless imports

* Achieved 100% cc for LeftDrawer Component

* Achieved 100% CC on SuperAdminScreen Component

* Fixed typo

* Integrated Event Dashboard

* Failing tests for LeftDrawer LeftDrawerOrg OrgList screen fixed

* Removed redundant code

* Removed useless imports

* Linting fixed

* Removed LeftDrawerOrg

* Dashboard screen ui almost ready

* Org Dash ready

* Block/Unblock screen ready

* Organization settings page ready

* Lang changes

* Page refresh on updating org removed

* OrgUpdate tests done

* OrgUpdate 100% test coverage achieved

* OrgSettings Tests done

* Organization Dashboard Cards done

* Organization Dashboard achieved 100% CC

* 100% CC achieved for BlockUser screen

* Finalised changes

* Small change

* Tests fixed

* Separate OrgSettings component made

* Linting fixed

* Formatting fixed

* Events screen and Post Comment Modal for Talawa-user-portal  (#963)

* Create login and register page for user portal

* Lint public locales

* Create tests for login page components

* Add react import in tests

* Create organizations screen for user portal

* Fix failing tests and lint code

* fix failing tests

* Add tests for organization screen and componenets

* Fix non-null assertions

* Fix non-null assertions in organizations test

* Fix bootstrap migration changes

* Add Home Screen along with other components

* Fix failing tests

* Add required tests and Offcanvas navbar

* Remove unused variables from tests

* Sync the Mutations with talawa-api

* Add Settings and Donate Screen

* Add multilingual support for the screens

* Add events screen without calendar view

* Add multilingual support to Events screen

* Fix failing tests due to merge

* Add Post Comment functionality

* Refactor Events tests

* Deprecate event registrants from query

* Update README.md

* Add My Tasks screen and Fix UI bugs [User Portal] (#978)

* Create login and register page for user portal

* Lint public locales

* Create tests for login page components

* Add react import in tests

* Create organizations screen for user portal

* Fix failing tests and lint code

* fix failing tests

* Add tests for organization screen and componenets

* Fix non-null assertions

* Fix non-null assertions in organizations test

* Fix bootstrap migration changes

* Add Home Screen along with other components

* Fix failing tests

* Add required tests and Offcanvas navbar

* Remove unused variables from tests

* Sync the Mutations with talawa-api

* Add Settings and Donate Screen

* Add multilingual support for the screens

* Add events screen without calendar view

* Add multilingual support to Events screen

* Fix failing tests due to merge

* Add Post Comment functionality

* Refactor Events tests

* Deprecate event registrants from query

* Add my tasks screen for user portal

* Remove unnecessary comments from test files

* Add Feedback UI Components to Talawa Admin (#980)

* Add feedback component

* Add tests for feedback modal

* Add handling for empty feedback

* Add Average Rating and Reviews component

* Add testing for all the added cards

* Fix tests and move to 100% coverage

* Add bugfix

* Add merge function to fix failing tests

* Add key definitons

* Change merge policy

* Add custom merge policy to all the Event Stat tests

* remove cache

* Migrate to a single query in the parent

* Adding Plugin Logic to the Talawa Mobile Web App (#976)

* Add/ test for OrgPost.tsx

* fix:  org post back to default

* Added Dialog 2

* Updated Dialog UI

* Removed Extra code

* Updated Plugin store

* fix: warnings and solves #951  & #948

* fix: warnings and solves #951  & #948

* fix: warnings and solves #951  & #948

* Fix: UI Redesign

* fix: merge

* fix

* Update AddOnStore.tsx

* Fixed Merge Errors

* Add test: for OrgEntry

* Test 3

* fix test 4

* chores: version changes

* Add: Initial Websocket setup on talawa mobile web

* Add: plugin logic

* Add: plugin logic

* removed extra

* removed extra

* Added: Tests

* fix

* Add Side Navigation to Event Dashboard (#981)

* Create left drawer for event dashboard

* Add basic styles to the event dashboard

* Fix button styling

* Add testing

* Add testing for the left event drawer

* Add 100% line coverage for all components

* Increase timeout for tests

* Move maximum rating in feedback from 10 to 5 [Fixes #990] (#987)

* Move maximum rating in feedbacks from 10 to 5

* Fix failing tests

* Add chat screen to talawa-user-portal (#986)

* Create login and register page for user portal

* Lint public locales

* Create tests for login page components

* Add react import in tests

* Create organizations screen for user portal

* Fix failing tests and lint code

* fix failing tests

* Add tests for organization screen and componenets

* Fix non-null assertions

* Fix non-null assertions in organizations test

* Fix bootstrap migration changes

* Add Home Screen along with other components

* Fix failing tests

* Add required tests and Offcanvas navbar

* Remove unused variables from tests

* Sync the Mutations with talawa-api

* Add Settings and Donate Screen

* Add multilingual support for the screens

* Add events screen without calendar view

* Add multilingual support to Events screen

* Fix failing tests due to merge

* Add Post Comment functionality

* Refactor Events tests

* Deprecate event registrants from query

* Add my tasks screen for user portal

* Remove unnecessary comments from test files

* Add chat screen along with components

* Add mui/system package for x-chart support

* Add chat screen tests and fix other bugs

* Update issue.yml

* Update stale.yml

* Merge latest AdminUI Redesign into Master (#1006)

* Pagination Done for Orglist

* Fixed warnings

* Infinite scroll and search working for Requests screen

* Simplified the code

* Infinite scroll enabled and functioning on OrgList Requests and Users screen

* FIxed warning

* Fixed typo

* Fixed bug

* Joined and Blockedbyorgs screen and mdoal ready

* Tables ready !

* Remove user from organization functionality working well

* Update user role in organization feature ready

* Minor changes

* Done with tests on OrgList

* Done with testss of Requests screen

* 100% CC achieved for Users screen

* Main tests done for UserTableItem

* 100% Code Coverage Achieved for UserTableItem

* Removed Redundant Landing Page

* 100% CC achieved for TableLoader

* Translation added for Users Screen

* Translation done for Requests screen

* Translation done for dashboard screen

* Linting and warnings fixed

* Improved login page

* UI Done for Forgot Password Screen

* Forgot Password Screen Tests done!

* Fixed all pending tests

* Better message for btns and coloring

* Linting issues fixed

* Fixed code styles

* SUPPRESSED UNKNOWN ERROR

* Fixed formatting

* Updated typoed message

* Fixed failing tests accompanying typo

* fix createEvent to close modal and show events without refresh (#1014)

* fix: Ensure Full Visibility of Logo on 404 Error Page (#1018)

- Adjusted the positioning of the logo on the 404 error page to ensure full visibility.
- Implemented CSS modifications to prevent the logo from being covered or cut off.
- Tested the changes by navigating to various undefined endpoints, confirming that the logo is now displayed
  correctly on the 404 error page.

This commit addresses the bug by ensuring the proper display of the logo on the 404 error page,
enhancing the user experience.

Fixes #1016

Signed-off-by: Akhilender <[email protected]>

* Implemented featurs for Postfeed Management (#982)

* redesigned newsfeed

* added test

* newsfeed management

* pinned post

* postfeed management

* pin unpin tag and video control

* changes part 2

* newsfeed changes

* changes in Card Preview of newsfeed

* changes in Card Preview of newsfeed

* testing phase 1

* translation

* tests

* tests

* merged intto develop

* test

* Added query

* Update pull-requests.yml

* update and delete buttons of event modal are now working (#1051)

* update and delete buttons of event modal are now working

* fixed the naming conventions and style of the modal

* Dynamic dashboard Enhancements (#979)

* Dynamic Organization Dashboard

* Dynamic Organization Dashboard

* refined organization dashboard

* Update src/utils/handleLatestFeed.ts

Co-authored-by: Noble Mittal <[email protected]>

* fixed inconsistent casing

* fixed org dashboard test

* fixed org dashboard test

* revert previous commit

* final changes

* final changes

---------

Co-authored-by: Noble Mittal <[email protected]>

* Fix dashboard items (#1007)

* Dashboard items are working now.

* added variables for links -fix dashboard items

* Added variables for links -fix dashboard items.

* made the changes as said

* Removed : string from variable assignment.

* remove repititive code and resolved falling tests

* Fix repeating code and falling tests.

* Resolved some more falling tests

* write test for missed lines

* Fix event creation issue with white spaces. (#1025)

* fix event creation with white spaces

* Add test for empty input values

* chore: fix unit test (#1052)

* Fix layout distortion due to untruncated title description of events. (#1049)

* Fix layout distortion due to untruncated title description of events

* Add test

* add test for LeftDrawerEvent.tsx

* fixed some tests

* add test complete

* test: SecuredRouteForUser component 100% Test Coverage and fixed uncovered lines (#1048)

* SecuredRouteForUser test case added

* Fixed Linting Errors

* Update SecuredRouteForUser.test.tsx

* Update SecuredRouteForUser.test.tsx

* linting fix

* Update SecuredRouteForUser.test.tsx

* Update SecuredRouteForUser.test.tsx

* Fix incorrect toast Notification. (#1053)

* correct toast notification for TableRow.tsx with full test coverage

* Add correct toast with full code  coverage

* Add correct toast for deleteEventProjectModal.tsx with full test coverage

* Add correct toast for UpdateEventProjectModal.tsx with full test coverage

* Add correct toast for EventRegistrantsModal.tsx and full test  coverage.

* Add correct toast for AddTaskModal.tsx with full test coverage

* Add correct toast for UpdateTaskModal.tsx with full test coverage

* minor fix

* Add correct toast to EventRegistrantsModal.tsx

* fix EventRegitrantsModal.tsx

* created a return button on event dashboard (#1057)

* test: Loader Component 100% Test Coverage and Fix Uncovered Lines (#1047)

* test: Achieve 100% Test Coverage and Fix Uncovered Lines

- Improved the test coverage for the Loader component, addressing the previously uncovered lines and ensuring that all tests pass successfully.
- Added a test to ensure that the component renders correctly with a custom 'sm' size. I verified that both the spinner-wrapper and
  spinner elements are present and that the correct class is applied.
- Added a test to ensure that the component renders correctly with a 'lg' size. I verified that the spinner element has the appropriate class.
- Added a test to ensure that the component renders correctly with an 'xl' size. I verified that the spinner element has the correct class.

With these new tests, I now have 100% test coverage, and there are no more uncovered lines. The Loader component is thoroughly tested for
different size scenarios, and all tests pass successfully.

Signed-off-by: Akhilender <[email protected]>

* Fixed linting in Loader component

Signed-off-by: Akhilender <[email protected]>

* Test: Increasing the test level

- Trying to meet the code coverage level for Loader component.

Signed-off-by: Akhilender <[email protected]>

* Fixed Linting

Signed-off-by: Akhilender <[email protected]>

* fix: Linting

Signed-off-by: Akhilender <[email protected]>

* Improving test coverage for Loader Component

- Fixed lint errors

Signed-off-by: Akhilender <[email protected]>

* test: Improving the tests on the Loader Component

- Added a new aspect in the test-case1

Signed-off-by: Akhilender <[email protected]>

* Fixed: Removed runtime-generated classes from testing

- Eliminated all checks for classes associated with bootstrap components assigned at runtime.
- Recognized that validating classes assigned during runtime is inappropriate.

Signed-off-by: Akhilender <[email protected]>

---------

Signed-off-by: Akhilender <[email protected]>

* Simulated Test Database (#984)

* Dynamic Organization Dashboard

* Dynamic Organization Dashboard

* Sample Org Implementation

* removed unnecessary changes

* removed unnecessary svgs

* removed unnecessary import

* added appropriate button style

* fixed OrgListCard tests

* Fixed OrgList and OrgListCard Tests

* Removed Unnecessary 'container' Variable

* Added Missing Translations and removed unused variable

* Fixed event check in management not updating automatically bug (#1062)

* fixed the event checkIn bug

* fixed the failing test

* fixed the CheckInWrapper test

* Fix user profile buttons layout and added form validation (#1064)

* Fix user profile buttons layout and added form validation

* Fix falling tests and warnings

* Add test for missed lines

* fix falling tests

* test: Achieved 100% test coverage and fixed uncovered lines (#1068)

* test: Achieved 100% test coverage and fixed uncovered lines

- Improved the test coverage for the User-Password-Update component, addressing the previously uncovered lines and ensuring that all tests pass
  successfully.
- Added two new tests
  1. Empty Password Field Test:
   - The first test ensures that an error is displayed when attempting to save changes with an empty password field.

  2. Mismatched New and Confirm Passwords Test
   - The second test covers the scenario where the new and confirm password fields do not match.

With these new tests, I now have 100% test coverage, and there are no more uncovered lines.

Signed-off-by: Akhilender <[email protected]>

* Altered the formData

- Altered the formData to make sure all are related to the organization name.

Signed-off-by: Akhilender <[email protected]>

---------

Signed-off-by: Akhilender <[email protected]>

* created test for src/components/UserPortal/EventCard/EventCard.tsx (#1079)

* created test for eventCard of User portal

* corrected the start and end time

* Feature request: Adding advertisement screen (#994)

* Add/ test for OrgPost.tsx

* fix:  org post back to default

* Added Dialog 2

* Updated Dialog UI

* Removed Extra code

* Updated Plugin store

* fix: warnings and solves #951  & #948

* fix: warnings and solves #951  & #948

* fix: warnings and solve…
…ations" button (PalisadoesFoundation#1124)

* Changes position and text of all organization button

* Made changes to the routesReducer.test file

* Made changes in IconComponent.test file

* Fetched changes from main repo

* Fixed unnecessary changes

---------

Co-authored-by: Aditya Agarwal <[email protected]>
* Added Base branch check to main

* Deleted all files in the main branch in anticipation of merging develop into main cleanly

* Merge develop to main

* Deleted all main files

* Merged develop into main
* Deleted all files in the main branch in anticipation of merging develop into main cleanly

* Merge develop into main
* Deleted all files in the main branch in anticipation of merging develop into main cleanly

* Merge develop into main

* Deleted all files in the main branch in anticipation of merging develop into main cleanly

* Merge develop into main
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.15 to 6.2.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v6.1.15...v6.2.1)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…lisadoesFoundation#1961)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v40...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@4.18.2...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](mde/ejs@v3.1.9...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…tion#2020)

* Deleted all files in the main branch in anticipation of merging develop into main cleanly

* Merge develop into main

---------

Co-authored-by: Peter Harrison <[email protected]>
* 20240727112607 Deleted all files in the main branch in anticipation of merging develop into main cleanly

* 20240727112842 Merge develop into main
* 20240929102850 Deleted all files in the main branch in anticipation of merging develop into main cleanly

* 20240929103238 Merge develop into main
…lisadoesFoundation#2307)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](tj-actions/changed-files@v40...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot bot and others added 9 commits September 29, 2024 11:32
Bumps [rollup](https://github.com/rollup/rollup) from 4.21.3 to 4.22.5.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.21.3...v4.22.5)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 20241114065242 Deleted all files in the main branch in anticipation of merging develop into main cleanly

* 20241114065332 Merge develop into main
Copy link

coderabbitai bot commented Dec 6, 2024

Walkthrough

The pull request introduces several new configuration files and scripts to enhance the Talawa Admin project. Key additions include .coderabbit.yaml for YAML language server settings, .env.example for environment variable templates, and various scripts for testing and localization. Additionally, updates to linting configurations, GitHub workflows, and documentation files aim to standardize project practices and improve developer experience. The changes reflect a comprehensive effort to refine the codebase and support new features and workflows.

Changes

File Path Change Summary
.coderabbit.yaml New configuration file for YAML language server settings.
.env.example New file providing a template for environment variables required for local development.
.eslintignore Updated to exclude additional files and directories from linting.
.eslintrc.json Modified to enhance linting setup with new rules and plugins.
.github/ISSUE_TEMPLATE/bug-report.md Updated formatting and added new sections for additional details and internship candidates.
.github/ISSUE_TEMPLATE/feature-request.md Modified metadata and added a section for internship candidates.
.github/dependabot.yaml New configuration file for Dependabot to automate dependency updates.
.github/pull_request_template.md Enhanced with a detailed explanation of the branching strategy and new sections for contributors.
.github/workflows/README.md New README file outlining guidelines for managing YAML workflow files.
.github/workflows/codeql-codescan.yml New workflow for automating CodeQL analysis.
.github/workflows/push.yml New workflow to automate testing and coverage calculations on code pushes.
.gitignore Updated to ignore additional files and directories relevant to development.
.husky/post-merge New script to run npm install if package.json changes are detected.
.husky/pre-commit New script to format code, run linters, and check types before committing.
.lintstagedrc.json New configuration for lint-staged to enforce linting and formatting on staged files.
.node-version New entry specifying the Node.js version as v22.7.0.
.prettierignore Updated to ignore additional files and directories from Prettier formatting.
.prettierrc Modified to include a new property for handling line endings.
CODEOWNERS New file designating @palisadoes as the code owner for the repository.
CODE_OF_CONDUCT.md Added a Table of Contents for better navigation.
DOCUMENTATION.md New file providing guidance on accessing and using project documentation.
INSTALLATION.md New document detailing installation steps for the application.
schema.graphql Updated to introduce new types, inputs, and directives for managing application data.
package.json Significant updates to project dependencies and scripts, reflecting a shift in tooling.
README.md Enhanced structure with new sections and updated links for better clarity.
Various JSON files in public/locales/ New localization files for English, French, Hindi, Spanish, and Chinese for UI elements.

Possibly related issues

Possibly related PRs

Suggested labels

refactor

Suggested reviewers

  • pranshugupta54
  • varshith257
  • gautam-divyanshu

Poem

🐰 In the land of code where rabbits play,
New scripts and configs brighten the day.
With YAML and tests, we hop with glee,
Talawa Admin, as fine as can be!
So let’s code and create, with joy and delight,
For every change makes our project shine bright! 🌟


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

github-actions bot commented Dec 6, 2024

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulations on making your first PR! 🎊 If you haven't already, check out our Contributing Guidelines and PR Reporting Guidelines to ensure that you are following our guidelines for contributing and creating PR.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 38

🧹 Outside diff range and nitpick comments (59)
.github/workflows/issue.yml (5)

6-7: Specify the exact path to the README.md file

The comment references a README.md file but doesn't specify its exact location. This could make it difficult for contributors to find the referenced documentation.

-# Please read the README.md file in this directory that defines what should 
+# Please read .github/workflows/README.md that defines what should 
🧰 Tools
🪛 yamllint (1.35.1)

[error] 6-6: trailing spaces

(trailing-spaces)


34-40: Use consistent variable naming convention

The code mixes camelCase (apiParams) with snake_case (issue_number). Consider sticking to one convention.

-const issue_number = context.issue.number;
+const issueNumber = context.issue.number;
 const apiParams = {
   owner,
   repo,
-  issue_number
+  issue_number: issueNumber
 };

42-55: Refactor label management logic for better maintainability

The current implementation has duplicated code for label addition and complex reduce operations.

Consider refactoring to:

-if(labels.data.reduce((a, c)=>a||["dependencies"].includes(c.name), false))
-  await github.rest.issues.addLabels({
-    owner: context.repo.owner,
-    repo: context.repo.repo,
-    issue_number: context.issue.number,
-    labels: ["good first issue", "security"]
-  });
-else if(labels.data.reduce((a, c)=>a||["security", "ui/ux"].includes(c.name), false))
-  await github.rest.issues.addLabels({
-    owner: context.repo.owner,
-    repo: context.repo.repo,
-    issue_number: context.issue.number,
-    labels: ["good first issue"]
-  });
+const hasLabel = (labelNames) => labels.data.some(label => labelNames.includes(label.name));
+const addLabels = async (newLabels) => {
+  await github.rest.issues.addLabels({
+    owner: context.repo.owner,
+    repo: context.repo.repo,
+    issue_number: issueNumber,
+    labels: newLabels
+  });
+};
+
+if (hasLabel(["dependencies"])) {
+  await addLabels(["good first issue", "security"]);
+} else if (hasLabel(["security", "ui/ux"])) {
+  await addLabels(["good first issue"]);
+}

62-65: Consider updating actions/first-interaction to the latest version

The action is using an older version (v1). Consider updating to the latest version for potential improvements and bug fixes.

-      - uses: actions/first-interaction@v1
+      - uses: actions/[email protected]

65-66: Remove extra blank lines at the end of the file

The file contains unnecessary blank lines at the end.

          issue-message: "Congratulations on making your first Issue! :confetti_ball: If you haven't already, check out our [Contributing Guidelines](https://github.com/PalisadoesFoundation/talawa-admin/blob/develop/CONTRIBUTING.md) and [Issue Reporting Guidelines](https://github.com/PalisadoesFoundation/talawa-admin/blob/develop/ISSUE_GUIDELINES.md) to ensure that you are following our guidelines for contributing and making issues."
-
-
🧰 Tools
🪛 yamllint (1.35.1)

[warning] 66-66: too many blank lines

(1 > 0) (empty-lines)

public/locales/en/errors.json (2)

2-2: Standardize punctuation and capitalization in error messages

There are inconsistencies in punctuation and capitalization:

  • Some messages end with exclamation marks while others don't
  • Inconsistent capitalization (e.g., "Sorry! you" should be "Sorry! You")
- "talawaApiUnavailable": "Talawa-API service is unavailable!. Is it running? Check your network connectivity too.",
+ "talawaApiUnavailable": "Talawa-API service is unavailable. Is it running? Check your network connectivity.",
- "notAuthorised": "Sorry! you are not Authorised!",
+ "notAuthorised": "Sorry! You are not authorized.",
- "notFoundMsg": "Oops! The Page you requested was not found!",
+ "notFoundMsg": "Oops! The page you requested was not found.",

Also applies to: 5-5, 8-8


10-10: Fix grammatical error in error loading message

The message contains a grammatical error ("occured" should be "occurred").

- "errorLoading": "Error occured while loading {{entity}} data"
+ "errorLoading": "Error occurred while loading {{entity}} data"
scripts/__mocks__/@pdfme/generator.ts (2)

11-11: Remove commented out console.log statement

Remove the commented debug statement as it's not needed in the final code.

-    // console.log('pdf error: length : ', template, inputs, inputs.length);

15-20: Enhance mock PDF generation for better testing

The current mock implementation generates random bytes which might not be sufficient for thorough testing. Consider:

  1. Including more PDF-like structure (e.g., PDF version, EOF marker)
  2. Incorporating input data into the generated content
  3. Adding size variations based on template complexity
-  const pdfHeader = [0x25, 0x50, 0x44, 0x46]; // %PDF
-  // Add some random content based on input size
-  const contentSize = Math.min(template.schemas.length, inputs.length) * 10;
-  const mockContent = Array.from({ length: contentSize }, () =>
-    Math.floor(Math.random() * 256),
-  );
+  // PDF Header with version
+  const pdfHeader = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2D, 0x31, 0x2E, 0x34]); // %PDF-1.4
+  
+  // Generate content based on template and inputs
+  const contentBytes = new TextEncoder().encode(
+    JSON.stringify({ template: template.schemas, data: inputs })
+  );
+  
+  // PDF EOF marker
+  const eofMarker = new Uint8Array([0x25, 0x25, 0x45, 0x4F, 0x46]); // %%EOF
scripts/__mocks__/@pdfme/generator.test.ts (1)

1-47: Migrate test configuration to Vitest

While the test syntax is similar, ensure the following for Vitest compatibility:

  1. Update imports to use Vitest types
  2. Configure Vitest test environment

Add these imports at the top:

import { describe, it, expect } from 'vitest';

Also, verify that vitest.config.ts includes the proper test environment setup:

export default defineConfig({
  test: {
    environment: 'jsdom',
    globals: true,
    setupFiles: ['./src/setupTests.ts'],
  },
});
public/locales/zh/common.json (1)

10-12: Refine translations for user roles

The translations for user roles could be more precise and consistent:

  • "admin": "行政" is too generic, consider "管理员" for consistency with line 9
  • "superAdmin": "超级管理员" is correct
  • "user": "用户" is correct
-  "admin": "行政",
+  "admin": "管理员",
public/locales/sp/common.json (1)

1-98: Consider adding language metadata

Consider adding language metadata at the top of both files to help with maintenance:

  • Language name
  • Language code
  • Last updated date
  • Translation version
 {
+  "_metadata": {
+    "languageName": "Español",
+    "languageCode": "es",
+    "lastUpdated": "2024-12-01",
+    "version": "1.0"
+  },
   "firstName": "Nombre",
public/locales/hi/translation.json (1)

22-23: Consider cultural adaptation for technical terms.

The Hindi translation for password validation contains technical terms that might be unfamiliar to Hindi users:

Consider providing more natural Hindi translations for technical terms:

  • "lowercase letter" -> "छोटे अक्षर"
  • "uppercase letter" -> "बड़े अक्षर"
  • "special character" -> "विशेष चिन्ह"

Apply this diff to improve clarity:

-    "password_invalid": "पासवर्ड में कम से कम 1 छोटा अक्षर, 1 बड़ा अक्षर, 1 संख्या और 1 विशेष अक्षर होना चाहिए",
+    "password_invalid": "पासवर्ड में कम से कम एक छोटा अक्षर, एक बड़ा अक्षर, एक अंक और एक विशेष चिन्ह होना चाहिए।",
setup.ts (1)

13-18: Check for existence of .env.example before reading

In lines 13-18, the script assumes that .env.example exists. If it doesn't, the script will throw an error when attempting to read it.

Add a check to ensure .env.example exists before attempting to read it:

 if (!fs.existsSync('.env')) {
+  if (!fs.existsSync('.env.example')) {
+    console.error('.env.example file is missing.');
+    process.exit(1);
+  }
   fs.openSync('.env', 'w');
   const config = dotenv.parse(fs.readFileSync('.env.example'));
   for (const key in config) {
     fs.appendFileSync('.env', `${key}=${config[key]}\n`);
   }
 }
.github/workflows/compare_translations.py (1)

1-49: Improve module docstring formatting for clarity

The module docstring contains sections like 'Methodology', 'Attributes', 'Functions', and 'NOTE' that could be better organized according to PEP 257 standards. This will enhance readability and maintainability.

Consider restructuring the docstring as follows:

-"""Script to encourage more efficient coding practices.
-Methodology:
-
-    Utility for comparing translations between default and other languages.
-
-    This module defines a function to compare two translations
-    and print any missing keys in the other language's translation.
-Attributes:
-
-    FileTranslation : Named tuple to represent a combination
-                        of file and missing translations.
-
-        Fields:
-            - file (str): The file name.
-            - missing_translations (list): List of missing translations.
-
-    Functions:
-        compare_translations(default_translation, other_translation):
-            Compare two translations and print missing keys.
-
-     load_translation(filepath):
-        Load translation from a file.
-
-    check_translations():
-        Load the default translation and compare it with other translations.
-
-     main():
-        The main function to run the script.
-        Parses command-line arguments, checks for the
-        existence of the specified directory, and then
-        calls check_translations with the provided or default directory.
-
-
-Usage:
-    This script can be executed to check and print missing
-    translations in other languages based on the default English translation.
-
-Example:
-    python compare_translations.py
-NOTE:
-    This script complies with our python3 coding and documentation standards
-    and should be used as a reference guide. It complies with:
-
-        1) Pylint
-        2) Pydocstyle
-        3) Pycodestyle
-        4) Flake8
-
-"""
+"""Utility script for comparing translations between the default and other languages.

This script defines functions to compare translation JSON files and identify missing or extra keys in other language translations compared to the default English translation.

Functions:
    - compare_translations(...)
    - flatten_json(...)
    - load_translation(...)
    - check_translations(...)
    - main(...)

Usage:
    Execute this script to identify missing translations:
        python compare_translations.py

Note:
    This script adheres to Python 3 coding and documentation standards, complying with:
        1) Pylint
        2) Pydocstyle
        3) Pycodestyle
        4) Flake8
"""
.github/workflows/countline.py (1)

1-26: Refine module docstring for better clarity and compliance

The module docstring contains sections that could be better organized to enhance readability and adhere to PEP 257 standards.

Consider updating the docstring to focus on the purpose of the script and its usage:

-"""Script to encourage more efficient coding practices.
-
-Methodology:
-
-    Analyses the `lib` and `test` directories to find files that exceed a
-    pre-defined number of lines of code.
-
-    This script was created to help improve code quality by encouraging
-    contributors to create reusable code.
-
-NOTE:
-
-    This script complies with our python3 coding and documentation standards
-    and should be used as a reference guide. It complies with:
-
-        1) Pylint
-        2) Pydocstyle
-        3) Pycodestyle
-        4) Flake8
-
-    Run these commands from the CLI to ensure the code is compliant for all
-    your pull requests.
-
-"""
+"""Utility script to analyze code files for excessive length.

This script scans the `lib`, `src`, and `test` directories to identify files exceeding a specified maximum number of lines of code. The goal is to encourage code reusability and maintainability by keeping files concise.

Note:
    This script adheres to Python 3 coding and documentation standards, complying with:
        1) Pylint
        2) Pydocstyle
        3) Pycodestyle
        4) Flake8

Usage:
    Run this script to check for files that are too long before submitting pull requests.
"""
.husky/post-merge (1)

4-4: Ensure reliable detection of changes in package.json during merges

The command git diff HEAD^ HEAD --exit-code -- ./package.json might not work correctly in all scenarios, such as when there are multiple parents (e.g., after a merge commit), or when HEAD^ does not exist (e.g., the first commit).

Consider using git diff-tree with ORIG_HEAD for better reliability:

- git diff HEAD^ HEAD --exit-code -- ./package.json || npm install
+ git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD | grep -q 'package.json' && npm install

This checks for changes in package.json between ORIG_HEAD and HEAD, which is more reliable in post-merge scenarios.

.lintstagedrc.json (1)

2-3: Consider optimizing lint-staged patterns

The current patterns might cause redundant processing. Consider combining the ESLint and Prettier commands for TypeScript files to improve performance:

{
-  "**/*.{ts,tsx,yml}": "eslint --fix",
-  "**/*.{ts,tsx,json,scss,css,yml}": "prettier --write",
+  "**/*.{ts,tsx}": ["eslint --fix", "prettier --write"],
+  "**/*.yml": ["eslint --fix", "prettier --write"],
+  "**/*.{json,scss,css}": "prettier --write",
.husky/pre-commit (1)

5-5: Remove commented code

The commented lint:fix command should either be removed or documented if there's a specific reason for keeping it.

scripts/githooks/update-toc.js (1)

4-6: Consider recursive directory scanning

The current implementation only processes markdown files in the root directory. Consider scanning subdirectories for a more comprehensive update.

-const markdownFiles = fs
-  .readdirSync('./')
-  .filter((file) => file.endsWith('.md'));
+function findMarkdownFiles(dir) {
+  let results = [];
+  const files = fs.readdirSync(dir);
+  files.forEach(file => {
+    const filePath = `${dir}/${file}`;
+    if (fs.statSync(filePath).isDirectory()) {
+      results = results.concat(findMarkdownFiles(filePath));
+    } else if (file.endsWith('.md')) {
+      results.push(filePath);
+    }
+  });
+  return results;
+}
+const markdownFiles = findMarkdownFiles('./');
scripts/custom-test-env.js (2)

4-7: Improve JSDoc documentation

The JSDoc comment should use @class and @extends tags to properly document the class inheritance.

 /**
- * A custom environment to set the TextEncoder and TextDecoder variables, that is required by @pdfme during testing.
- * Providing a polyfill to the environment for the same
+ * Custom test environment that provides TextEncoder and TextDecoder polyfills.
+ * @class
+ * @extends {Environment}
+ * @description Required by @pdfme library during testing
  */
🧰 Tools
🪛 eslint

[error] 5-5: tsdoc-undefined-tag: The TSDoc tag "@pdfme" is not defined in this configuration

(tsdoc/syntax)


9-15: Add TypeScript return type annotations

The setup method should include proper TypeScript return type annotations for better type safety.

- async setup() {
+ async setup(): Promise<void> {
🧰 Tools
🪛 eslint

[error] 9-9: Missing return type on function.

(@typescript-eslint/explicit-function-return-type)


[error] 9-9: Missing return type on function.

(@typescript-eslint/explicit-module-boundary-types)

config/vite.config.ts (2)

8-12: Remove ambiguous comment about base path

The comment suggests uncertainty about the base path configuration. If this is a deliberate choice, document the reasoning instead.

-  // depending on your application, base can also be "/"
   build: {
     outDir: 'build',
   },
   base: '',

27-28: Fix incorrect comment about default port

The comment mentions port 3000 but the actual configuration uses 4321.

-    // this sets a default port to 3000
+    // this sets a default port to 4321
     port: 4321,
.github/workflows/codeql-codescan.yml (2)

28-29: Consider adding TypeScript to language matrix

Since this is a TypeScript project (as evidenced by the Vite config), consider including TypeScript in the CodeQL analysis.

       matrix:
-        language: [ 'javascript' ]
+        language: [ 'javascript', 'typescript' ]

6-8: Fix YAML formatting issues

There are trailing spaces and indentation inconsistencies throughout the file. Consider using a YAML formatter.

Would you like me to provide a properly formatted version of the entire file?

Also applies to: 17-17, 20-20

🧰 Tools
🪛 yamllint (1.35.1)

[error] 6-6: trailing spaces

(trailing-spaces)

.github/pull_request_template.md (2)

22-24: Enhance issue reference format

Consider providing more specific guidance for issue references:

-**Issue Number:**
-
-Fixes #<!--Add related issue number here.-->
+**Issue Number:** #<!--Add issue number here-->
+
+Resolves #<!--Add any additional related issues-->

28-29: Add specific guidance for test and snapshot sections

The sections for tests and snapshots could benefit from more specific guidance about expectations.

-<!--Yes or No. Note: Add unit tests or automation tests for your code.-->
+<!--
+Yes/No. Please specify:
+- Type of tests added (unit/integration/e2e)
+- Current test coverage percentage
+-->

-<!--Add snapshots or videos wherever possible.-->
+<!--
+Please provide:
+- Screenshots for UI changes
+- Test execution results for backend changes
+- Links to deployment previews if applicable
+-->

Also applies to: 32-33

DOCUMENTATION.md (1)

26-29: Fix typos and improve clarity in instructions

There are some minor issues that should be addressed:

-1. Add/modify the markdown documents to the `docs/` directory of the `talawa-docs` repository
-1. If adding a file, then you will also need to edit the `sidebars.js` which is used to generate the [docs.talawa.io](https://docs.talawa.io/) menus.
-1. Always monitor the local website in your brower to make sure the changes are acceptable. 
+1. Add/modify the Markdown documents in the `docs/` directory of the `talawa-docs` repository
+1. When adding a new file, edit the `sidebars.js` file to update the [docs.talawa.io](https://docs.talawa.io/) navigation menus
+1. Always monitor the local website in your browser to verify the changes are displaying correctly
🧰 Tools
🪛 LanguageTool

[grammar] ~26-~26: Did you mean the formatting language “Markdown” (= proper noun)?
Context: ...ttp://localhost:3000/ 1. Add/modify the markdown documents to the docs/ directory of t...

(MARKDOWN_NNP)

.github/workflows/stale.yml (2)

18-21: Remove trailing spaces in YAML

Fix YAML formatting issues:

 permissions:
   issues: write
-  pull-requests: write  
-  
+  pull-requests: write
🧰 Tools
🪛 yamllint (1.35.1)

[error] 20-20: trailing spaces

(trailing-spaces)


[error] 21-21: trailing spaces

(trailing-spaces)


37-42: Consider adjusting stale timeframes and exempt labels

The current configuration might be too aggressive for some scenarios:

-        days-before-stale: 10
+        days-before-stale: 30
         days-before-close: 180
         remove-stale-when-updated: true
         exempt-all-milestones: true
-        exempt-pr-labels: 'wip'
-        exempt-issue-labels: 'wip'
+        exempt-pr-labels: 'wip,security,dependencies'
+        exempt-issue-labels: 'wip,security,bug'

Consider:

  1. Increasing the stale period to 30 days to allow more time for discussion
  2. Adding exemptions for security-related issues and dependency updates
  3. Exempting bug reports from being marked as stale
.github/workflows/check-tsdoc.js (2)

5-11: Consider making the skip list configurable

The hardcoded skip list might be better maintained in a configuration file, making it easier to update without modifying the script.

Consider moving the skip list to a separate config file:

-const filesToSkip = [
-    'index.tsx', 
-    'EventActionItems.tsx',
-    'OrgPostCard.tsx',
-    'UsersTableItem.tsx',
-    'FundCampaignPledge.tsx'
-];
+import config from './tsdoc-config.json';
+const filesToSkip = config.skipFiles;

49-66: Add detailed reporting capabilities

The current error reporting could be more informative for developers.

 async function run() {
   const dir = process.argv[2] || './src';
   const files = await findTsxFiles(dir);
   const filesWithoutTsDoc = [];
+  const summary = {
+    total: files.length,
+    withTsDoc: 0,
+    withoutTsDoc: 0
+  };

   for (const file of files) {
     if (!await containsTsDocComment(file)) {
       filesWithoutTsDoc.push(file);
+      summary.withoutTsDoc++;
+    } else {
+      summary.withTsDoc++;
     }
   }

   if (filesWithoutTsDoc.length > 0) {
+    console.log(`\nTSDoc Coverage Summary:`);
+    console.log(`Total files: ${summary.total}`);
+    console.log(`Files with TSDoc: ${summary.withTsDoc}`);
+    console.log(`Files without TSDoc: ${summary.withoutTsDoc}`);
+    console.log(`\nFiles missing TSDoc comments:`);
     filesWithoutTsDoc.forEach(file => {
       console.error(`No TSDoc comment found in file: ${file}`);
     });
     process.exit(1);
   }
 }
.github/workflows/push.yml (2)

54-54: Add test result artifacts

Consider saving test results as artifacts for better debugging capabilities.

       run: npm install
-      - run: npm run test -- --watchAll=false --coverage
+      - name: Run tests with coverage
+        run: npm run test -- --watchAll=false --coverage --json --outputFile=test-results.json
+      - name: Upload test results
+        if: always()
+        uses: actions/upload-artifact@v4
+        with:
+          name: test-results
+          path: test-results.json

55-61: Enhance CodeCov configuration

The current CodeCov setup could benefit from additional configuration options.

       uses: codecov/codecov-action@v4
       with:
         token: ${{ secrets.CODECOV_TOKEN }}
         verbose: true
         fail_ci_if_error: false
         name: '${{env.CODECOV_UNIQUE_NAME}}'
+        files: ./coverage/coverage-final.json
+        flags: unittests
+        codecov_yml_path: .codecov.yml
scripts/githooks/check-localstorage-usage.js (4)

1-9: Add TypeScript type annotations for better maintainability

Consider adding TypeScript types to improve code maintainability and catch potential issues early.

-const args = process.argv.slice(2);
-const scanEntireRepo = args.includes('--scan-entire-repo');
+const args: string[] = process.argv.slice(2);
+const scanEntireRepo: boolean = args.includes('--scan-entire-repo');

10-18: Enhance error handling in containsSkipComment function

The error handling could be more informative by including the error type and stack trace for debugging.

 } catch (error) {
-    console.error(`Error reading file ${file}:`, error.message);
+    console.error(
+      `Error reading file ${file}:`,
+      error instanceof Error ? `${error.message}\n${error.stack}` : String(error)
+    );
     return false;
 }
🧰 Tools
🪛 eslint

[error] 10-10: Missing return type on function.

(@typescript-eslint/explicit-function-return-type)


51-56: Move file exclusions to a configuration file

Consider moving the file exclusion list to a configuration file for better maintainability.

+// Add to package.json or create a new config file:
+// {
+//   "localStorageCheck": {
+//     "excludeFiles": [
+//       "check-localstorage-usage.js",
+//       "useLocalstorage.test.ts",
+//       "useLocalstorage.ts"
+//     ]
+//   }
+// }

65-69: Consider using regex pattern for localStorage checks

Using a regex pattern would make the code more maintainable and potentially catch more variations of localStorage usage.

-      if (
-        content.includes('localStorage.getItem') ||
-        content.includes('localStorage.setItem') ||
-        content.includes('localStorage.removeItem')
-      ) {
+      const localStoragePattern = /localStorage\.(getItem|setItem|removeItem)/;
+      if (localStoragePattern.test(content)) {
.github/workflows/talawa_admin_md_mdx_format_adjuster.py (2)

32-37: Consider using a more maintainable pattern definition

The patterns dictionary could be more maintainable using a loop or comprehension.

-    patterns = {
-        "<": r"(?<!\\)<",
-        ">": r"(?<!\\)>",
-        "{": r"(?<!\\){",
-        "}": r"(?<!\\)}"
-    }
+    chars = "<>{}",
+    patterns = {char: fr"(?<!\\){char}" for char in chars}

90-93: Add progress reporting for large directories

When processing many files, it would be helpful to show progress.

+    total_files = sum(1 for _, _, files in os.walk(args.directory)
+                      for file in files if file.lower().endswith(".md"))
+    processed = 0
     for root, _, files in os.walk(args.directory):
         for file in files:
             if file.lower().endswith(".md"):
+                processed += 1
+                print(f"Processing file {processed}/{total_files}: {file}")
                 process_file(os.path.join(root, file))
ISSUE_GUIDELINES.md (1)

41-44: Improve formatting of nested list items

The nested list items should be properly indented for better readability.

 1. **Previously Assigned Issues**: We regularly review issues and add a [`no-issue-activity`](https://github.com/PalisadoesFoundation/talawa-admin/issues?q=is%3Aissue+is%3Aopen+label%3Ano-issue-activity) label to them. Use the issue comments to ask whether the assignee is still working on the issue, and if not, ask for the issue to be assigned to you.
 1. **Unassigned Issues**: If the issue is already reported and [not assigned to anyone](https://github.com/PalisadoesFoundation/talawa-admin/issues?q=is%3Aissue+is%3Aopen+no%3Aassignee) and you are interested in working on the issue then:
-   1. Ask for the issue to be assigned to you in the issue comments
-   2. Ask our contributors to assign it to you in `#talawa` slack channel.
+    1. Ask for the issue to be assigned to you in the issue comments
+    2. Ask our contributors to assign it to you in `#talawa` Slack channel.
🧰 Tools
🪛 LanguageTool

[grammar] ~44-~44: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ...butors to assign it to you in #talawa slack channel. Working on these types of exi...

(ON_SKYPE)

README.md (1)

53-53: Fix heading formatting

Remove extra space after the hash in the "Videos" heading.

-#  Videos
+# Videos
🧰 Tools
🪛 Markdownlint (0.35.0)

53-53: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)

.github/workflows/pull-request-target.yml (1)

1-77: Clean up YAML formatting

Remove trailing spaces from multiple lines in the file (lines 6, 13, 15, 27-29, 31, 33-34, 36, 41, 46, 71).

Workflow functionality looks good!

The PR automation workflow effectively:

  • Adds clear PR review policy
  • Provides helpful guidance for first-time contributors
  • Sets clear expectations for PR approval process
🧰 Tools
🪛 yamllint (1.35.1)

[error] 6-6: trailing spaces

(trailing-spaces)


[error] 13-13: trailing spaces

(trailing-spaces)


[error] 15-15: trailing spaces

(trailing-spaces)


[error] 27-27: trailing spaces

(trailing-spaces)


[error] 28-28: trailing spaces

(trailing-spaces)


[error] 29-29: trailing spaces

(trailing-spaces)


[error] 31-31: trailing spaces

(trailing-spaces)


[error] 33-33: trailing spaces

(trailing-spaces)


[error] 34-34: trailing spaces

(trailing-spaces)


[error] 36-36: trailing spaces

(trailing-spaces)


[error] 41-41: trailing spaces

(trailing-spaces)


[error] 46-46: trailing spaces

(trailing-spaces)


[error] 71-71: trailing spaces

(trailing-spaces)

.github/workflows/eslint_disable_check.py (1)

61-61: Rename unused loop variable

The loop variable dirs is not used in the loop body. Rename it to _dirs to indicate it's intentionally unused.

-    for root, dirs, files in os.walk(os.path.join(directory, 'src')):
+    for root, _dirs, files in os.walk(os.path.join(directory, 'src')):
🧰 Tools
🪛 Ruff (0.8.0)

61-61: Loop control variable dirs not used within loop body

Rename unused dirs to _dirs

(B007)

.eslintrc.json (1)

134-137: Consider adding Vitest-specific ESLint plugin

Since the project is migrating to Vitest, consider adding eslint-plugin-vitest to ensure proper linting of Vitest test files.

{
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^8.11.0",
    "@typescript-eslint/parser": "^8.5.0",
    "@vitest/coverage-istanbul": "^2.1.8",
+   "eslint-plugin-vitest": "latest"
  }
}
PR_GUIDELINES.md (1)

31-34: Add language specifiers to code blocks

The code blocks should specify the shell language for better syntax highlighting.

-```
+```shell
npm run lint:fix
npm run format:fix


Also applies to: 39-42

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 Markdownlint (0.35.0)</summary>

31-31: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

</blockquote></details>
<details>
<summary>package.json (1)</summary><blockquote>

`159-164`: **Review package resolutions**

The resolutions section specifies fixed versions for Apollo Client and GraphQL, which might affect test stability. Ensure these versions are compatible with both Jest and Vitest during the migration.

</blockquote></details>
<details>
<summary>CODE_STYLE.md (2)</summary><blockquote>

`49-51`: **Clarify file extension requirements.**

While the naming conventions are clear, it would be helpful to explicitly mention the expected file extensions:
- React components: `.tsx` for TypeScript components
- CSS modules: `.module.css` or `.module.scss`

---

`127-138`: **Add test file organization guidelines.**

The folder structure section should include guidelines for organizing test files:
- Location of test files (alongside components or in a separate `__tests__` directory)
- Naming convention for test files (e.g., `*.test.tsx` or `*.spec.tsx`)

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[style] ~127-~127: Consider removing “of” to be more concise
Context: ...tories of `src`  `assets` - This houses all of the static assets used in the project   - `...

(ALL_OF_THE)

---

[style] ~128-~128: Consider removing “of” to be more concise
Context: ... in the project   - `css` - This houses all of the css files used in the project   - `imag...

(ALL_OF_THE)

---

[style] ~129-~129: Consider removing “of” to be more concise
Context: ... the project   - `images` - This houses all of the images used in the project   - `scss` -...

(ALL_OF_THE)

---

[style] ~130-~130: Consider removing “of” to be more concise
Context: ...in the project   - `scss` - This houses all of the scss files used in the project     - `c...

(ALL_OF_THE)

---

[grammar] ~134-~134: The singular proper name ‘Sass’ must be used with a third-person or a past tense verb.
Context: ...rms     - `_talawa.scss` - Partial Sass file for Talawa     - `_utilities.scss` - Pa...

(HE_VERB_AGR)

---

[grammar] ~135-~135: The singular proper name ‘Sass’ must be used with a third-person or a past tense verb.
Context: ...     - `_utilities.scss` - Partial Sass file for utilities     - `_variables.scss` -...

(HE_VERB_AGR)

---

[grammar] ~136-~136: The singular proper name ‘Sass’ must be used with a third-person or a past tense verb.
Context: ...     - `_variables.scss` - Partial Sass file for variables     - `app.scss` - Main S...

(HE_VERB_AGR)

</details>
<details>
<summary>🪛 Markdownlint (0.35.0)</summary>

128-128: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

---

129-129: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

---

130-130: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)

---

131-131: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

---

132-132: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

---

133-133: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

---

134-134: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

---

135-135: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

---

136-136: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

---

137-137: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

</details>

</details>

</blockquote></details>
<details>
<summary>CONTRIBUTING.md (2)</summary><blockquote>

`75-75`: **Fix capitalization of "Slack".**

Maintain consistent capitalization for the proper noun "Slack".

```diff
-slack channel
+Slack channel

Also applies to: 77-77

🧰 Tools
🪛 LanguageTool

[grammar] ~75-~75: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ...tant to ask the author of the PR in the slack channel or in their PRs or issues thems...

(ON_SKYPE)


104-107: Add language specifiers to code blocks.

Code blocks should specify the language for proper syntax highlighting.

-```
+```bash
 npm install
 npm run test --watchAll=false --coverage

Also applies to: 113-117, 128-132, 139-141, 143-145

🧰 Tools
🪛 Markdownlint (0.35.0)

104-104: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

INSTALLATION.md (4)

67-68: Fix grammatical and OS naming issues.

The text contains grammatical errors and incorrect OS naming.

Apply these corrections:

-1. On your computer, navigate to the folder where you want to setup the repository.
-2. Open a `cmd` (Windows) or `terminal` (Linux or MacOS) session in this folder.
+1. On your computer, navigate to the folder where you want to set up the repository.
+2. Open a `cmd` (Windows) or `terminal` (Linux or macOS) session in this folder.
🧰 Tools
🪛 LanguageTool

[grammar] ~67-~67: The word “setup” is a noun. The verb is spelled with a space.
Context: ...avigate to the folder where you want to setup the repository. 2. Open a cmd (Window...

(NOUN_VERB_CONFUSION)


[grammar] ~68-~68: The operating system from Apple is written “macOS”.
Context: ...cmd (Windows) or terminal (Linux or MacOS) session in this folder. 1. An easy ...

(MAC_OS)


102-119: Standardize OS naming and improve formatting.

The text contains inconsistent OS naming and formatting issues.

Apply these corrections:

-Follow these steps to install the `node.js` packages in Windows, Linux and MacOS.
+Follow these steps to install the `node.js` packages in Windows, Linux, and macOS.

 1. For Windows:
    [...]
-2. For Linux and MacOS, use the terminal window.
+2. For Linux and macOS, use the terminal window.
🧰 Tools
🪛 LanguageTool

[grammar] ~102-~102: The operating system from Apple is written “macOS”.
Context: ...node.jspackages in Windows, Linux and MacOS. 1. For Windows: 1. first install...

(MAC_OS)


[duplication] ~116-~116: Possible typo: you repeated a word
Context: ... 5. Save the document. 6. Exit notepad 7. Exit PowerShell 8. This will ensure...

(ENGLISH_WORD_REPEAT_RULE)


[grammar] ~119-~119: The operating system from Apple is written “macOS”.
Context: ...t version of node.js 2. For Linux and MacOS, use the terminal window. 1. install...

(MAC_OS)

🪛 Markdownlint (0.35.0)

105-105: null
Bare URL used

(MD034, no-bare-urls)


256-258: Consider adding error handling guidance.

The command section should include guidance on common errors and troubleshooting steps.

Consider adding a subsection like this:

```bash
npm run serve

Troubleshooting Common Issues

If you encounter any of the following errors:

  1. Port already in use: Try using a different port in your .env file
  2. Missing dependencies: Run npm install again
  3. Build errors: Clear your cache with npm clean-cache and rebuild

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 Markdownlint (0.35.0)</summary>

256-256: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

---

`321-335`: **Fix heading hierarchy and code block formatting.**

The document contains inconsistent heading levels and code block styles.

Apply these corrections:
```diff
-#### pre-commit hook
+### pre-commit hook

-        git commit -m "commit message" --no-verify
+```bash
+git commit -m "commit message" --no-verify
+```

-#### post-merge hook
+### post-merge hook

-        git pull --no-verify
+```bash
+git pull --no-verify
+```
🧰 Tools
🪛 Markdownlint (0.35.0)

321-321: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


327-327: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)


335-335: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)

.github/ISSUE_TEMPLATE/bug-report.md (1)

33-36: Improve markdown formatting for links and headings.

The section uses incorrect markdown formatting for headings and URLs.

Apply these corrections:

-**Potential internship candidates**
+## Potential internship candidates

 Please read this if you are planning to apply for a Palisadoes Foundation internship 
-https://github.com/PalisadoesFoundation/talawa/issues/359
+[Internship Information](https://github.com/PalisadoesFoundation/talawa/issues/359)
🧰 Tools
🪛 Markdownlint (0.35.0)

36-36: null
Bare URL used

(MD034, no-bare-urls)


33-33: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

.github/ISSUE_TEMPLATE/feature-request.md (1)

25-28: Improve markdown formatting for links and headings.

The section uses incorrect markdown formatting for headings and URLs.

Apply these corrections:

-**Potential internship candidates**
+## Potential internship candidates

 Please read this if you are planning to apply for a Palisadoes Foundation internship 
-https://github.com/PalisadoesFoundation/talawa/issues/359
+[Internship Information](https://github.com/PalisadoesFoundation/talawa/issues/359)
🧰 Tools
🪛 Markdownlint (0.35.0)

28-28: null
Bare URL used

(MD034, no-bare-urls)


25-25: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

.github/workflows/README.md (1)

13-13: Fix grammatical issues in the workflow guidelines.

There are a few minor issues to address:

  1. Line 13: Add a comma after "possible"
  2. Line 24: Remove the repeated word "to"
  3. Line 35: Use "e.g." instead of "eg."

Apply this diff:

-Whenever possible you must ensure that:
+Whenever possible, you must ensure that:

-Place all actions related to to this in the `pull-request-target.yml` file.
+Place all actions related to this in the `pull-request-target.yml` file.

-Jobs only work correctly if they have a dedicated file (eg. `CodeQL`)
+Jobs only work correctly if they have a dedicated file (e.g., `CodeQL`)

Also applies to: 24-24, 35-35

🧰 Tools
🪛 LanguageTool

[uncategorized] ~13-~13: Possible missing comma found.
Context: ...ding on the type of workflow. Whenever possible you must ensure that: 1. The file roles...

(AI_HYDRA_LEO_MISSING_COMMA)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between f9e10b8 and 35a3058.

⛔ Files ignored due to path filters (75)
  • package-lock.json is excluded by !**/package-lock.json
  • public/favicon.ico is excluded by !**/*.ico
  • public/favicon_palisadoes.ico is excluded by !**/*.ico
  • public/images/logo512.png is excluded by !**/*.png
  • public/images/svg/angleDown.svg is excluded by !**/*.svg
  • public/images/svg/arrow-left.svg is excluded by !**/*.svg
  • public/images/svg/arrow-right.svg is excluded by !**/*.svg
  • public/images/svg/attendees.svg is excluded by !**/*.svg
  • public/images/svg/feedback.svg is excluded by !**/*.svg
  • public/images/svg/profiledefault.svg is excluded by !**/*.svg
  • public/images/svg/up-down.svg is excluded by !**/*.svg
  • public/logo192.png is excluded by !**/*.png
  • public/markdown/images/install1.png is excluded by !**/*.png
  • public/markdown/images/install2.png is excluded by !**/*.png
  • src/assets/css/app.css.map is excluded by !**/*.map
  • src/assets/images/blank.png is excluded by !**/*.png
  • src/assets/images/bronze.png is excluded by !**/*.png
  • src/assets/images/defaultImg.png is excluded by !**/*.png
  • src/assets/images/gold.png is excluded by !**/*.png
  • src/assets/images/palisadoes_logo.png is excluded by !**/*.png
  • src/assets/images/silver.png is excluded by !**/*.png
  • src/assets/images/talawa-logo-600x600.png is excluded by !**/*.png
  • src/assets/images/talawa-logo-dark-200x200.png is excluded by !**/*.png
  • src/assets/images/talawa-logo-lite-200x200.png is excluded by !**/*.png
  • src/assets/svgs/Attendance.svg is excluded by !**/*.svg
  • src/assets/svgs/actionItem.svg is excluded by !**/*.svg
  • src/assets/svgs/admin.svg is excluded by !**/*.svg
  • src/assets/svgs/agenda-category-icon.svg is excluded by !**/*.svg
  • src/assets/svgs/agenda-items.svg is excluded by !**/*.svg
  • src/assets/svgs/angleRight.svg is excluded by !**/*.svg
  • src/assets/svgs/article.svg is excluded by !**/*.svg
  • src/assets/svgs/blockUser.svg is excluded by !**/*.svg
  • src/assets/svgs/blockedUser.svg is excluded by !**/*.svg
  • src/assets/svgs/cardItemDate.svg is excluded by !**/*.svg
  • src/assets/svgs/cardItemEvent.svg is excluded by !**/*.svg
  • src/assets/svgs/cardItemLocation.svg is excluded by !**/*.svg
  • src/assets/svgs/chat.svg is excluded by !**/*.svg
  • src/assets/svgs/checkInRegistrants.svg is excluded by !**/*.svg
  • src/assets/svgs/dashboard.svg is excluded by !**/*.svg
  • src/assets/svgs/date.svg is excluded by !**/*.svg
  • src/assets/svgs/event.svg is excluded by !**/*.svg
  • src/assets/svgs/events.svg is excluded by !**/*.svg
  • src/assets/svgs/flask.svg is excluded by !**/*.svg
  • src/assets/svgs/funds.svg is excluded by !**/*.svg
  • src/assets/svgs/key.svg is excluded by !**/*.svg
  • src/assets/svgs/listEventRegistrants.svg is excluded by !**/*.svg
  • src/assets/svgs/location.svg is excluded by !**/*.svg
  • src/assets/svgs/logout.svg is excluded by !**/*.svg
  • src/assets/svgs/media.svg is excluded by !**/*.svg
  • src/assets/svgs/newChat.svg is excluded by !**/*.svg
  • src/assets/svgs/organizations.svg is excluded by !**/*.svg
  • src/assets/svgs/palisadoes.svg is excluded by !**/*.svg
  • src/assets/svgs/people.svg is excluded by !**/*.svg
  • src/assets/svgs/plugins.svg is excluded by !**/*.svg
  • src/assets/svgs/post.svg is excluded by !**/*.svg
  • src/assets/svgs/posts.svg is excluded by !**/*.svg
  • src/assets/svgs/requests.svg is excluded by !**/*.svg
  • src/assets/svgs/roles.svg is excluded by !**/*.svg
  • src/assets/svgs/settings.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/Facebook-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/Github-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/Instagram-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/Linkedin-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/Reddit-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/Slack-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/X-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/social-icons/Youtube-Logo.svg is excluded by !**/*.svg
  • src/assets/svgs/tag.svg is excluded by !**/*.svg
  • src/assets/svgs/tags.svg is excluded by !**/*.svg
  • src/assets/svgs/talawa.svg is excluded by !**/*.svg
  • src/assets/svgs/user.svg is excluded by !**/*.svg
  • src/assets/svgs/userEvent.svg is excluded by !**/*.svg
  • src/assets/svgs/users.svg is excluded by !**/*.svg
  • src/assets/svgs/venues.svg is excluded by !**/*.svg
  • src/assets/talawa-logo-lite-200x200.png is excluded by !**/*.png
📒 Files selected for processing (82)
  • .coderabbit.yaml (1 hunks)
  • .env.example (1 hunks)
  • .eslintignore (1 hunks)
  • .eslintrc.json (4 hunks)
  • .github/ISSUE_TEMPLATE/bug-report.md (2 hunks)
  • .github/ISSUE_TEMPLATE/feature-request.md (2 hunks)
  • .github/dependabot.yaml (1 hunks)
  • .github/pull_request_template.md (2 hunks)
  • .github/workflows/README.md (1 hunks)
  • .github/workflows/auto-label.json5 (1 hunks)
  • .github/workflows/check-tsdoc.js (1 hunks)
  • .github/workflows/ci.yml (0 hunks)
  • .github/workflows/codeql-analysis.yml (0 hunks)
  • .github/workflows/codeql-codescan.yml (1 hunks)
  • .github/workflows/compare_translations.py (1 hunks)
  • .github/workflows/countline.py (1 hunks)
  • .github/workflows/eslint_disable_check.py (1 hunks)
  • .github/workflows/issue.yml (1 hunks)
  • .github/workflows/linter.yml (0 hunks)
  • .github/workflows/npm-publish.yml (0 hunks)
  • .github/workflows/pull-request-target.yml (1 hunks)
  • .github/workflows/pull-request.yml (1 hunks)
  • .github/workflows/push.yml (1 hunks)
  • .github/workflows/stale.yml (1 hunks)
  • .github/workflows/talawa_admin_md_mdx_format_adjuster.py (1 hunks)
  • .gitignore (2 hunks)
  • .husky/post-merge (1 hunks)
  • .husky/pre-commit (1 hunks)
  • .lintstagedrc.json (1 hunks)
  • .node-version (1 hunks)
  • .prettierignore (1 hunks)
  • .prettierrc (1 hunks)
  • CODEOWNERS (1 hunks)
  • CODE_OF_CONDUCT.md (1 hunks)
  • CODE_STYLE.md (1 hunks)
  • CONTRIBUTING.md (2 hunks)
  • DOCUMENTATION.md (1 hunks)
  • Docker_Container/.dockerignore (0 hunks)
  • Docker_Container/README.md (0 hunks)
  • Docker_Container/docker-compose.yml (0 hunks)
  • Docker_Container/dockerfile (0 hunks)
  • INSTALLATION.md (1 hunks)
  • ISSUE_GUIDELINES.md (1 hunks)
  • ISSUE_TEMPLATE.md (0 hunks)
  • PR-guidelines.md (0 hunks)
  • PR_GUIDELINES.md (1 hunks)
  • PULL_REQUEST_TEMPLATE.md (0 hunks)
  • README.md (3 hunks)
  • config/babel.config.cjs (1 hunks)
  • config/vite.config.ts (1 hunks)
  • index.html (1 hunks)
  • issue-guidelines.md (0 hunks)
  • jest-preview.config.ts (1 hunks)
  • jest.config.js (1 hunks)
  • package.json (2 hunks)
  • public/index.html (0 hunks)
  • public/locales/en/common.json (1 hunks)
  • public/locales/en/errors.json (1 hunks)
  • public/locales/en/translation.json (1 hunks)
  • public/locales/fr/common.json (1 hunks)
  • public/locales/fr/errors.json (1 hunks)
  • public/locales/fr/translation.json (1 hunks)
  • public/locales/hi/common.json (1 hunks)
  • public/locales/hi/errors.json (1 hunks)
  • public/locales/hi/translation.json (1 hunks)
  • public/locales/sp/common.json (1 hunks)
  • public/locales/sp/errors.json (1 hunks)
  • public/locales/sp/translation.json (1 hunks)
  • public/locales/zh/common.json (1 hunks)
  • public/locales/zh/errors.json (1 hunks)
  • public/locales/zh/translation.json (1 hunks)
  • public/manifest.json (1 hunks)
  • schema.graphql (1 hunks)
  • scripts/__mocks__/@dicebear/collection.ts (1 hunks)
  • scripts/__mocks__/@dicebear/core.ts (1 hunks)
  • scripts/__mocks__/@pdfme/generator.test.ts (1 hunks)
  • scripts/__mocks__/@pdfme/generator.ts (1 hunks)
  • scripts/__mocks__/fileMock.js (1 hunks)
  • scripts/custom-test-env.js (1 hunks)
  • scripts/githooks/check-localstorage-usage.js (1 hunks)
  • scripts/githooks/update-toc.js (1 hunks)
  • setup.ts (1 hunks)
⛔ Files not processed due to max files limit (28)
  • src/App.test.tsx
  • src/App.tsx
  • src/Constant/constant.spec.ts
  • src/Constant/constant.ts
  • src/GraphQl/Mutations/ActionItemCategoryMutations.ts
  • src/GraphQl/Mutations/ActionItemMutations.ts
  • src/GraphQl/Mutations/AgendaCategoryMutations.ts
  • src/GraphQl/Mutations/AgendaItemMutations.ts
  • src/GraphQl/Mutations/CampaignMutation.ts
  • src/GraphQl/Mutations/CommentMutations.ts
  • src/GraphQl/Mutations/EventAttendeeMutations.ts
  • src/GraphQl/Mutations/EventVolunteerMutation.ts
  • src/GraphQl/Mutations/FundMutation.ts
  • src/GraphQl/Mutations/OrganizationMutations.ts
  • src/GraphQl/Mutations/PledgeMutation.ts
  • src/GraphQl/Mutations/TagMutations.ts
  • src/GraphQl/Mutations/VenueMutations.ts
  • src/GraphQl/Mutations/mutations.ts
  • src/GraphQl/Queries/ActionItemCategoryQueries.ts
  • src/GraphQl/Queries/ActionItemQueries.ts
  • src/GraphQl/Queries/AgendaCategoryQueries.ts
  • src/GraphQl/Queries/AgendaItemQueries.ts
  • src/GraphQl/Queries/EventVolunteerQueries.ts
  • src/GraphQl/Queries/OrganizationQueries.ts
  • src/GraphQl/Queries/PlugInQueries.ts
  • src/GraphQl/Queries/Queries.ts
  • src/GraphQl/Queries/fundQueries.ts
  • src/GraphQl/Queries/userTagQueries.ts
💤 Files with no reviewable changes (13)
  • .github/workflows/ci.yml
  • .github/workflows/linter.yml
  • ISSUE_TEMPLATE.md
  • issue-guidelines.md
  • Docker_Container/.dockerignore
  • public/index.html
  • Docker_Container/dockerfile
  • Docker_Container/docker-compose.yml
  • PULL_REQUEST_TEMPLATE.md
  • PR-guidelines.md
  • .github/workflows/codeql-analysis.yml
  • Docker_Container/README.md
  • .github/workflows/npm-publish.yml
✅ Files skipped from review due to trivial changes (25)
  • .eslintignore
  • .prettierrc
  • scripts/mocks/@dicebear/collection.ts
  • .node-version
  • .prettierignore
  • config/babel.config.cjs
  • scripts/mocks/fileMock.js
  • jest-preview.config.ts
  • CODEOWNERS
  • public/manifest.json
  • scripts/mocks/@dicebear/core.ts
  • public/locales/fr/errors.json
  • .github/dependabot.yaml
  • .coderabbit.yaml
  • public/locales/zh/errors.json
  • public/locales/hi/errors.json
  • .github/workflows/auto-label.json5
  • public/locales/fr/common.json
  • public/locales/hi/common.json
  • public/locales/en/common.json
  • public/locales/fr/translation.json
  • public/locales/sp/translation.json
  • public/locales/zh/translation.json
  • .env.example
  • index.html
🧰 Additional context used
🪛 yamllint (1.35.1)
.github/workflows/pull-request-target.yml

[error] 6-6: trailing spaces

(trailing-spaces)


[error] 13-13: trailing spaces

(trailing-spaces)


[error] 15-15: trailing spaces

(trailing-spaces)


[error] 27-27: trailing spaces

(trailing-spaces)


[error] 28-28: trailing spaces

(trailing-spaces)


[error] 29-29: trailing spaces

(trailing-spaces)


[error] 31-31: trailing spaces

(trailing-spaces)


[error] 33-33: trailing spaces

(trailing-spaces)


[error] 34-34: trailing spaces

(trailing-spaces)


[error] 36-36: trailing spaces

(trailing-spaces)


[error] 41-41: trailing spaces

(trailing-spaces)


[error] 46-46: trailing spaces

(trailing-spaces)


[error] 71-71: trailing spaces

(trailing-spaces)

.github/workflows/codeql-codescan.yml

[error] 6-6: trailing spaces

(trailing-spaces)


[error] 17-17: trailing spaces

(trailing-spaces)


[error] 20-20: trailing spaces

(trailing-spaces)


[warning] 31-31: wrong indentation: expected 6 but found 7

(indentation)


[warning] 37-37: wrong indentation: expected 11 but found 10

(indentation)

.github/workflows/issue.yml

[error] 6-6: trailing spaces

(trailing-spaces)


[warning] 15-15: wrong indentation: expected 4 but found 6

(indentation)


[warning] 66-66: too many blank lines

(1 > 0) (empty-lines)

.github/workflows/stale.yml

[error] 6-6: trailing spaces

(trailing-spaces)


[error] 20-20: trailing spaces

(trailing-spaces)


[error] 21-21: trailing spaces

(trailing-spaces)

.github/workflows/push.yml

[error] 6-6: trailing spaces

(trailing-spaces)


[error] 17-17: trailing spaces

(trailing-spaces)


[error] 18-18: trailing spaces

(trailing-spaces)


[warning] 20-20: wrong indentation: expected 2 but found 4

(indentation)


[error] 21-21: trailing spaces

(trailing-spaces)


[error] 50-50: trailing spaces

(trailing-spaces)


[warning] 62-62: too many blank lines

(1 > 0) (empty-lines)

.github/workflows/pull-request.yml

[error] 49-49: trailing spaces

(trailing-spaces)


[error] 60-60: trailing spaces

(trailing-spaces)


[error] 63-63: trailing spaces

(trailing-spaces)


[error] 92-92: trailing spaces

(trailing-spaces)


[error] 126-126: trailing spaces

(trailing-spaces)


[error] 129-129: trailing spaces

(trailing-spaces)


[error] 150-150: trailing spaces

(trailing-spaces)


[error] 157-157: trailing spaces

(trailing-spaces)


[error] 197-197: trailing spaces

(trailing-spaces)


[error] 201-201: trailing spaces

(trailing-spaces)


[error] 204-204: trailing spaces

(trailing-spaces)


[error] 205-205: trailing spaces

(trailing-spaces)


[error] 213-213: trailing spaces

(trailing-spaces)


[error] 243-243: trailing spaces

(trailing-spaces)


[error] 249-249: trailing spaces

(trailing-spaces)


[error] 251-251: trailing spaces

(trailing-spaces)

🪛 eslint
scripts/custom-test-env.js

[error] 5-5: tsdoc-undefined-tag: The TSDoc tag "@pdfme" is not defined in this configuration

(tsdoc/syntax)


[error] 9-9: Missing return type on function.

(@typescript-eslint/explicit-function-return-type)


[error] 9-9: Missing return type on function.

(@typescript-eslint/explicit-module-boundary-types)

scripts/githooks/update-toc.js

[error] 11-12: Delete ··⏎

(prettier/prettier)

scripts/githooks/check-localstorage-usage.js

[error] 10-10: Missing return type on function.

(@typescript-eslint/explicit-function-return-type)


[error] 20-20: Missing return type on function.

(@typescript-eslint/explicit-function-return-type)


[error] 43-43: Missing return type on function.

(@typescript-eslint/explicit-function-return-type)


[error] 89-89: Insert ,

(prettier/prettier)


[error] 92-92: Insert ,

(prettier/prettier)

jest.config.js

[error] 33-33: Delete ·

(prettier/prettier)


[error] 34-34: Insert ,

(prettier/prettier)

🪛 LanguageTool
README.md

[uncategorized] ~56-~56: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...)" videos are extremely helpful for new open source contributors.

(EN_COMPOUND_ADJECTIVE_INTERNAL)

CONTRIBUTING.md

[style] ~27-~27: This expression usually appears with a “please” in front of it.
Context: ...DUCT.md) to understand what this means. Let us know immediately if you have unacceptable ex...

(INSERT_PLEASE)


[uncategorized] ~34-~34: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...)" videos are extremely helpful for new open source contributors. ## Ways to Contribute I...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[grammar] ~62-~62: A determiner may be missing.
Context: ...l Request guidelines](PR_GUIDELINES.md) is best resource to follow to start working on ...

(THE_SUPERLATIVE)


[uncategorized] ~68-~68: Loose punctuation mark.
Context: ...ushed to the main branch: - develop: For unstable code and bug fixing - `mai...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~69-~69: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d bug fixing - main: Where the stable production ready code lies. This is our default branch. ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[typographical] ~73-~73: Consider adding a comma.
Context: ...ultiple developers are working on issues there is bound to be a conflict of interest (...

(IF_THERE_COMMA)


[typographical] ~73-~73: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...licts) among issues, PRs or even ideas. Usually these conflicts are resolved in a **Fir...

(RB_LY_COMMA)


[grammar] ~73-~73: Did you mean “served” (as in the idiom ‘first come, first served’)?
Context: ...ts are resolved in a First Come First Serve basis however there are certain excep...

(FIRST_SERVED)


[grammar] ~75-~75: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ...tant to ask the author of the PR in the slack channel or in their PRs or issues thems...

(ON_SKYPE)


[style] ~77-~77: ‘Last but not the least’ might be wordy. Consider a shorter alternative.
Context: ...y and test that function when needed. - Last but not the least, communication is important make sure t...

(EN_WORDINESS_PREMIUM_LAST_BUT_NOT_THE_LEAST)


[grammar] ~77-~77: It seems that “to” is missing before the verb.
Context: ...t the least, communication is important make sure to talk to other contributors, in ...

(MISSING_TO_BETWEEN_BE_AND_VB)


[grammar] ~77-~77: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ... other contributors, in these cases, in slack channel or in a issue/PR thread. - As a...

(ON_SKYPE)


[misspelling] ~77-~77: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... in these cases, in slack channel or in a issue/PR thread. - As a last resort the...

(EN_A_VS_AN)


[typographical] ~78-~78: It appears that a comma is missing.
Context: ...el or in a issue/PR thread. - As a last resort the Admins would be responsible for dec...

(DURING_THAT_TIME_COMMA)


[grammar] ~135-~135: The operating system from Apple is written “macOS”.
Context: ...r packages can be found for Windows and MacOS. 6. The currently acceptable c...

(MAC_OS)


[grammar] ~165-~165: The past participle is required after “must be”.
Context: ...branch_name>`.(Here branch name must be name of the branch you want to push the chan...

(BE_VBP_IN)


[grammar] ~178-~178: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ...dation/talawa) for the link to join our slack channel. 1. We also have a technical em...

(ON_SKYPE)

ISSUE_GUIDELINES.md

[uncategorized] ~2-~2: Loose punctuation mark.
Context: # Issue Report Guidelines 👍🎉 First off, thanks for taking t...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~4-~4: Consider a shorter alternative to avoid wordiness.
Context: ...ing the time to contribute! 🎉👍 In order to give everyone a chance to submit a issu...

(IN_ORDER_TO_PREMIUM)


[misspelling] ~5-~5: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...der to give everyone a chance to submit a issues reports and contribute to the Ta...

(EN_A_VS_AN)


[typographical] ~24-~24: Consider adding a comma here.
Context: ...> ___ ## Issue Management In all cases please use the [GitHub open issue search](http...

(PLEASE_COMMA)


[style] ~30-~30: Consider using a different verb for a more formal wording.
Context: .... 1. Verify whether the issue has been fixed by trying to reproduce it using the lat...

(FIX_RESOLVE)


[style] ~35-~35: The wording of this phrase can be improved.
Context: ...lcome contributors who find new ways to make the code better. ### Existing Issues You can also be ...

(MAKE_STYLE_BETTER)


[grammar] ~44-~44: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ...butors to assign it to you in #talawa slack channel. Working on these types of exi...

(ON_SKYPE)


[grammar] ~53-~53: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ...ew Issues 1. Join our #talawa-github slack channel for automatic issue and pull re...

(ON_SKYPE)


[grammar] ~57-~57: Did you mean the communication tool “Slack” (= proper noun, capitalized)?
Context: ...lines 1. Discuss issues in our various slack channels when necessary 2. Please do no...

(ON_SKYPE)


[typographical] ~57-~57: Consider adding a comma here.
Context: ...ur various slack channels when necessary 2. Please do not derail or troll issues. 3. Keep...

(PLEASE_COMMA)

DOCUMENTATION.md

[grammar] ~25-~25: The modal verb ‘should’ requires the verb’s base form.
Context: ...f docs.talawa.io should automatically launched in your browser at http://localhost:300...

(MD_BASEFORM)


[grammar] ~26-~26: Did you mean the formatting language “Markdown” (= proper noun)?
Context: ...ttp://localhost:3000/ 1. Add/modify the markdown documents to the docs/ directory of t...

(MARKDOWN_NNP)

CODE_STYLE.md

[style] ~127-~127: Consider removing “of” to be more concise
Context: ...tories of src assets - This houses all of the static assets used in the project - `...

(ALL_OF_THE)


[style] ~128-~128: Consider removing “of” to be more concise
Context: ... in the project - css - This houses all of the css files used in the project - `imag...

(ALL_OF_THE)


[style] ~129-~129: Consider removing “of” to be more concise
Context: ... the project - images - This houses all of the images used in the project - scss -...

(ALL_OF_THE)


[style] ~130-~130: Consider removing “of” to be more concise
Context: ...in the project - scss - This houses all of the scss files used in the project - `c...

(ALL_OF_THE)


[grammar] ~134-~134: The singular proper name ‘Sass’ must be used with a third-person or a past tense verb.
Context: ...rms - _talawa.scss - Partial Sass file for Talawa - _utilities.scss - Pa...

(HE_VERB_AGR)


[grammar] ~135-~135: The singular proper name ‘Sass’ must be used with a third-person or a past tense verb.
Context: ... - _utilities.scss - Partial Sass file for utilities - _variables.scss -...

(HE_VERB_AGR)


[grammar] ~136-~136: The singular proper name ‘Sass’ must be used with a third-person or a past tense verb.
Context: ... - _variables.scss - Partial Sass file for variables - app.scss - Main S...

(HE_VERB_AGR)


[style] ~141-~141: Consider removing “of” to be more concise
Context: ...views/screens Constant - This houses all of the constants used in the project `GraphQl...

(ALL_OF_THE)


[style] ~143-~143: Consider removing “of” to be more concise
Context: ...in the project GraphQl - This houses all of the GraphQL queries and mutations used in t...

(ALL_OF_THE)


[style] ~145-~145: Consider removing “of” to be more concise
Context: ...in the project screens - This houses all of the views/screens to be navigated through i...

(ALL_OF_THE)


[style] ~147-~147: Consider removing “of” to be more concise
Context: ... in Talawa-Admin state - This houses all of the state management code for the project ...

(ALL_OF_THE)


[uncategorized] ~165-~165: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...following order: - React imports - Third party imports - Local imports If there is...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

PR_GUIDELINES.md

[uncategorized] ~2-~2: Loose punctuation mark.
Context: # Pull Request Guidelines 👍🎉 First off, thanks for taking t...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~4-~4: Consider a shorter alternative to avoid wordiness.
Context: ...ing the time to contribute! 🎉👍 In order to give everyone a chance to submit a pull...

(IN_ORDER_TO_PREMIUM)


[style] ~46-~46: Style-wise, it’s not ideal to insert an adverb (‘manually’) in the middle of an infinitive construction (‘to test’). Try moving the adverb to avoid split infinitives.
Context: ..., you'll need to tell us what steps you followed to manually test your changes. 1. Please read our [CONTRIBUTING.md](C...

(SPLIT_INFINITIVE)


[style] ~56-~56: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...o be closed. The quality of our code is very important to us. Therefore we make experienced ma...

(EN_WEAK_ADJECTIVE)


[uncategorized] ~56-~56: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...ty of our code is very important to us. Therefore we make experienced maintainers of our ...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[style] ~59-~59: Consider using a different verb for a more formal wording.
Context: ...check if all tests are passing; if not, fix the issues and then create a pull reque...

(FIX_RESOLVE)


[style] ~64-~64: This expression is wordy and overused. Consider replacing it with a more concise and formal alternative.
Context: ...wer your questions, but we'll get to it sooner or later. @mentioning someone just adds to the p...

(SOONER_OR_LATER)


[uncategorized] ~64-~64: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...adds to the pile of notifications we get and it won't make us look at your issue fas...

(COMMA_COMPOUND_SENTENCE)


[style] ~65-~65: Consider shortening or rephrasing this to strengthen your wording.
Context: ...ue faster. 1. Do not force push. If you make changes to your pull request, please simply add a ...

(MAKE_CHANGES)

INSTALLATION.md

[duplication] ~25-~25: Possible typo: you repeated a word
Context: ...](#running-talawa-admin) - Accessing Talawa-Admin - [Talawa-Admin Registration](#talawa-admin-registratio...

(ENGLISH_WORD_REPEAT_RULE)


[typographical] ~55-~55: It appears that a comma is missing.
Context: ... that follow. # Prerequisites In this section we'll explain how to set up all the pre...

(DURING_THAT_TIME_COMMA)


[uncategorized] ~61-~61: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: .... Basic git knowledge is required for open source contribution so make sure you're comfor...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[grammar] ~67-~67: The word “setup” is a noun. The verb is spelled with a space.
Context: ...avigate to the folder where you want to setup the repository. 2. Open a cmd (Window...

(NOUN_VERB_CONFUSION)


[grammar] ~68-~68: The operating system from Apple is written “macOS”.
Context: ...cmd (Windows) or terminal (Linux or MacOS) session in this folder. 1. An easy ...

(MAC_OS)


[uncategorized] ~70-~70: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e option based on your OS. 3. For Our Open Source Contributor Software Developers: ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[grammar] ~102-~102: The operating system from Apple is written “macOS”.
Context: ...node.jspackages in Windows, Linux and MacOS. 1. For Windows: 1. first install...

(MAC_OS)


[duplication] ~116-~116: Possible typo: you repeated a word
Context: ... 5. Save the document. 6. Exit notepad 7. Exit PowerShell 8. This will ensure...

(ENGLISH_WORD_REPEAT_RULE)


[grammar] ~119-~119: The operating system from Apple is written “macOS”.
Context: ...t version of node.js 2. For Linux and MacOS, use the terminal window. 1. install...

(MAC_OS)


[grammar] ~123-~123: The word “setup” is a noun. The verb is spelled with a white space.
Context: ... the respective recommended commands to setup your node environment 3. This wil...

(NOUN_VERB_CONFUSION)


[uncategorized] ~162-~162: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...at runtime. It is not a part of the repo and you will have to create it. For a sampl...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~228-~228: The word “setup” is a noun. The verb is spelled with a space.
Context: ...E_KEY in .env file You may not want to setup reCAPTCHA since the project will still ...

(NOUN_VERB_CONFUSION)


[grammar] ~232-~232: The word “setup” is a noun. The verb is spelled with a space.
Context: ...ad the following steps. If you want to setup Google reCAPTCHA now, you may refer to ...

(NOUN_VERB_CONFUSION)


[typographical] ~246-~246: Except for inverted sentences, ‘need them’ requires a question mark at the end of the sentence.
Context: ...t need them or want to keep the console clean # Post Configuration Steps It's now t...

(MD_PRP_QUESTION_MARK)


[uncategorized] ~261-~261: Did you mean: “By default,”?
Context: ...n serve ``` ## Accessing Talawa-Admin By default talawa-admin runs on port `4321` on y...

(BY_DEFAULT_COMMA)


[grammar] ~311-~311: The word ‘lint’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...w.webp) ## Linting code files You can lint your code files using this command: ``...

(PRP_MD_NN)

.github/workflows/README.md

[uncategorized] ~13-~13: Possible missing comma found.
Context: ...ding on the type of workflow. Whenever possible you must ensure that: 1. The file roles...

(AI_HYDRA_LEO_MISSING_COMMA)


[duplication] ~24-~24: Possible typo: you repeated a word
Context: ...ors: 1. Place all actions related to to this in the pull-request-target.yml f...

(ENGLISH_WORD_REPEAT_RULE)


[uncategorized] ~35-~35: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...orrectly if they have a dedicated file (eg. CodeQL) ## Scripts Follow these gui...

(E_G)

CODE_OF_CONDUCT.md

[duplication] ~11-~11: Possible typo: you repeated a word
Context: ...-responsibilities) - Scope - Enforcement - Enforcement Guidelines ...

(ENGLISH_WORD_REPEAT_RULE)

🪛 Markdownlint (0.35.0)
README.md

53-53: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)

CONTRIBUTING.md

104-104: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


113-113: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


128-128: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


139-139: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


143-143: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


158-158: null
No empty links

(MD042, no-empty-links)


159-159: null
No empty links

(MD042, no-empty-links)


161-161: null
No empty links

(MD042, no-empty-links)

DOCUMENTATION.md

25-25: null
Bare URL used

(MD034, no-bare-urls)

CODE_STYLE.md

128-128: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


129-129: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


130-130: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


131-131: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


132-132: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


133-133: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


134-134: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


135-135: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


136-136: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


137-137: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


164-164: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


165-165: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


166-166: Expected: 0; Actual: 2
Unordered list indentation

(MD007, ul-indent)


57-57: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


73-73: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


75-75: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


92-92: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


190-190: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


230-230: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


58-58: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


65-65: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


78-78: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


95-95: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


158-158: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


173-173: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


181-181: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


239-239: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


245-245: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


251-251: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

PR_GUIDELINES.md

31-31: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


39-39: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

INSTALLATION.md

321-321: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time

(MD001, heading-increment)


33-33: Expected: 4; Actual: 6
Unordered list indentation

(MD007, ul-indent)


34-34: Expected: 4; Actual: 6
Unordered list indentation

(MD007, ul-indent)


95-95: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)


105-105: null
Bare URL used

(MD034, no-bare-urls)


142-142: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


154-154: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


164-164: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


188-188: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


194-194: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


200-200: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


208-208: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


214-214: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


220-220: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


240-240: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


256-256: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


264-264: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


270-270: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


292-292: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


300-300: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


313-313: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


327-327: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)


335-335: Expected: fenced; Actual: indented
Code block style

(MD046, code-block-style)


178-178: Expected: #setting-up-react_app_talawa_url-in-env-file; Actual: #setting-up-REACT_APP_TALAWA_URL-in-env-file
Link fragments should be valid

(MD051, link-fragments)


178-178: Expected: #setting-up-react_app_recaptcha_site_key-in-env-file; Actual: #setting-up-REACT_APP_RECAPTCHA_SITE_KEY-in-env-file
Link fragments should be valid

(MD051, link-fragments)

.github/ISSUE_TEMPLATE/bug-report.md

36-36: null
Bare URL used

(MD034, no-bare-urls)


33-33: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

.github/ISSUE_TEMPLATE/feature-request.md

28-28: null
Bare URL used

(MD034, no-bare-urls)


25-25: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🪛 actionlint (1.7.4)
.github/workflows/codeql-codescan.yml

35-35: the runner of "github/codeql-action/init@v2" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


41-41: the runner of "github/codeql-action/autobuild@v2" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


44-44: the runner of "github/codeql-action/analyze@v2" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

.github/workflows/issue.yml

29-29: the runner of "actions/github-script@v6" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

.github/workflows/stale.yml

28-28: the runner of "actions/stale@v8" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

.github/workflows/pull-request.yml

61-61: property "changed_files" is not defined in object type {changed-files: {conclusion: string; outcome: string; outputs: {string => string}}}

(expression)


62-62: shellcheck reported issue in this script: SC2086:info:1:12: Double quote to prevent globbing and word splitting

(shellcheck)


79-79: "github.event.pull_request.head.ref" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions for more details

(expression)

🪛 Ruff (0.8.0)
.github/workflows/eslint_disable_check.py

61-61: Loop control variable dirs not used within loop body

Rename unused dirs to _dirs

(B007)

.github/workflows/compare_translations.py

135-135: Within an except clause, raise exceptions with raise ... from err or raise ... from None to distinguish them from errors in exception handling

(B904)

🔇 Additional comments (22)
.gitignore (4)

13-14: LGTM: Testing artifacts properly ignored

The change from ignoring coverage as a file to coverage/ as a directory is correct. Adding codecov is appropriate if you're using Codecov for coverage reporting.


Line range hint 21-25: LGTM: Environment files properly configured

Correctly ignoring all environment file variants while keeping the template .env.example (as mentioned in the summary) is the recommended approach for managing environment configurations securely.


31-32: LGTM: Debug logs ignored

Properly ignoring debug logs prevents cluttering the repository with temporary debugging output.


34-37: LGTM: Editor files properly ignored

Standard practice to ignore editor-specific files and swap files, preventing personal IDE configurations from affecting other team members.

public/locales/zh/common.json (1)

54-67: 🛠️ Refactor suggestion

Maintain consistent translation style for navigation items

Some navigation items are in English while others are translated. All should be translated for consistency:

  • "My Organizations" should be "我的组织"
  • "Dashboard" should be "仪表板"
  • "Events" should be "事件"
  • etc.
-  "My Organizations": "我的组织",
-  "Dashboard": "仪表板",
-  "People": "人们",
-  "Events": "事件",
-  "Venues": "场地",
-  "Action Items": "行动项目",
-  "Posts": "帖子",
-  "Block/Unblock": "封锁/解除封锁",
-  "Advertisement": "广告",
-  "Funds": "资金",
-  "Membership Requests": "会员请求",
-  "Plugins": "插件",
-  "Plugin Store": "插件商店",
-  "Settings": "设置",
+  "myOrganizations": "我的组织",
+  "dashboard": "仪表板",
+  "people": "人们",
+  "events": "事件",
+  "venues": "场地",
+  "actionItems": "行动项目",
+  "posts": "帖子",
+  "blockUnblock": "封锁/解除封锁",
+  "advertisement": "广告",
+  "funds": "资金",
+  "membershipRequests": "会员请求",
+  "plugins": "插件",
+  "pluginStore": "插件商店",
+  "settings": "设置"

Likely invalid or redundant comment.

public/locales/sp/common.json (1)

79-79: Verify placeholder syntax in Spanish translations

The placeholders are correctly maintained, but please verify that the surrounding text follows Spanish grammar rules:

  • "searchResultsFor": "Resultados de búsqueda para {{text}}"
  • "addedSuccessfully": "{{item}} agregado con éxito"
    etc.

Also applies to: 83-85

✅ Verification successful

Spanish translations follow correct grammar rules and placeholder usage

The Spanish translations maintain proper grammar rules while correctly using the placeholders:

  • "Resultados de búsqueda para {{text}}" follows Spanish word order and preposition usage
  • "{{item}} agregado/actualizado/eliminado con éxito" correctly places the placeholder at the start and maintains proper adjective agreement
  • "Buscar por {{item}}" uses the correct preposition "por" for searching by a criterion
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for consistent placeholder usage across all locale files

# Check for {{text}} placeholder usage
echo "Checking {{text}} placeholder usage:"
rg -l "{{text}}" public/locales/*/common.json

# Check for {{item}} placeholder usage
echo "Checking {{item}} placeholder usage:"
rg -l "{{item}}" public/locales/*/common.json

Length of output: 671


Script:

#!/bin/bash
# Description: Check for consistent placeholder usage across all locale files using escaped curly braces

# Check for {{text}} placeholder usage
echo "Checking {{text}} placeholder usage:"
rg -l "\{\{text\}\}" public/locales/*/common.json

# Check for {{item}} placeholder usage
echo "Checking {{item}} placeholder usage:"
rg -l "\{\{item\}\}" public/locales/*/common.json

# Show the actual translations for better context
echo -e "\nTranslation contexts:"
rg "\{\{(text|item)\}\}" public/locales/*/common.json

Length of output: 2964

public/locales/en/translation.json (1)

229-230: ⚠️ Potential issue

Fix template string interpolation.

The message uses template literals but the variables are not properly escaped for JSON:

Apply this diff to properly escape the template variables:

-    "removeUserFrom": "Remove User from {{org}}",
-    "removeConfirmation": "Are you sure you want to remove '{{name}}' from organization '{{org}}'?",
+    "removeUserFrom": "Remove User from {org}",
+    "removeConfirmation": "Are you sure you want to remove '{name}' from organization '{org}'?",

Likely invalid or redundant comment.

public/locales/hi/translation.json (2)

1178-1179: ⚠️ Potential issue

Fix template string interpolation in Hindi translations.

The Hindi translation for donation range message uses template literals but needs proper variable escaping:

Apply this diff to properly escape the template variables:

-    "donationOutOfRange": "दान राशि {{min}} और {{max}} के बीच होनी चाहिए.",
+    "donationOutOfRange": "दान राशि {min} और {max} के बीच होनी चाहिए।",

Likely invalid or redundant comment.


1-1482: Verify translation completeness and accuracy.

The translation files appear complete with all keys having corresponding translations. However, consider:

  1. Having native Hindi speakers verify the translations for accuracy and cultural appropriateness
  2. Testing the translations in the UI to ensure proper rendering of Hindi characters
  3. Verifying that all date/time formats are properly localized

Run the following script to verify translation key consistency:

✅ Verification successful

Translation verification successful

The verification results show:

  1. Both English and Hindi translation files have exactly 1321 keys, confirming complete coverage
  2. No empty translations were found in the Hindi file
  3. Sample translations confirm proper Hindi Unicode characters (Devanagari script) are used
  4. All translation files are present and properly formatted
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Compare keys between English and Hindi translation files
# to ensure all keys are present in both files.

# Extract keys from both files
jq -r 'path(..)|[.[]|tostring]|join(".")' public/locales/en/translation.json | sort > en_keys.txt
jq -r 'path(..)|[.[]|tostring]|join(".")' public/locales/hi/translation.json | sort > hi_keys.txt

# Compare keys
diff en_keys.txt hi_keys.txt

# Check for any empty translations
jq -r 'path(..|select(type == "string" and . == ""))|[.[]|tostring]|join(".")' public/locales/hi/translation.json

Length of output: 318


Script:

#!/bin/bash
# Let's try a different approach to verify translations

# First check if both files exist and get their content
echo "=== Checking translation files ==="
ls -l public/locales/*/translation.json

echo -e "\n=== Comparing key counts ==="
echo "English keys:"
jq 'def count: . as $in | reduce paths(scalars) as $p (0; .+1); count' public/locales/en/translation.json

echo "Hindi keys:"
jq 'def count: . as $in | reduce paths(scalars) as $p (0; .+1); count' public/locales/hi/translation.json

echo -e "\n=== Checking for empty translations in Hindi file ==="
jq -r 'paths(scalars) as $p | select(getpath($p) == "") | $p | join(".")' public/locales/hi/translation.json

echo -e "\n=== Sample of Hindi translations ==="
# Get first few translations to verify they contain Hindi text
jq -r '.. | select(type == "string") | select(test("[\u0900-\u097F]")) | select(length > 0) | .[0:50]' public/locales/hi/translation.json | head -n 5

Length of output: 1600

.lintstagedrc.json (1)

4-4: Verify the localStorage check script implementation

Let's ensure the custom script for checking localStorage usage exists and is properly implemented.

✅ Verification successful

Custom localStorage check script is properly implemented

The script is well-implemented with the following key features:

  • Scans modified files (or entire repo with --scan-entire-repo flag)
  • Detects direct localStorage API usage (getItem, setItem, removeItem)
  • Provides skip mechanism via // SKIP_LOCALSTORAGE_CHECK comment
  • Excludes specific test and hook files from checks
  • Gives clear error messages with suggestions to use custom hook
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the script exists and examine its implementation
if [ -f "scripts/githooks/check-localstorage-usage.js" ]; then
    echo "Script exists. Checking implementation:"
    cat "scripts/githooks/check-localstorage-usage.js"
else
    echo "Warning: check-localstorage-usage.js script not found!"
fi

Length of output: 2662

scripts/githooks/update-toc.js (1)

1-14: Verify markdown-toc dependency

Let's ensure the required dependency is properly configured.

✅ Verification successful

markdown-toc dependency is properly configured

The verification confirms that markdown-toc is correctly listed as a dependency in package.json, ensuring the script will work as intended.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if markdown-toc is listed in package.json
if jq -e '.dependencies["markdown-toc"] // .devDependencies["markdown-toc"]' package.json > /dev/null; then
    echo "markdown-toc is properly configured in package.json"
else
    echo "Warning: markdown-toc dependency is missing from package.json!"
fi

Length of output: 201

🧰 Tools
🪛 eslint

[error] 11-12: Delete ··⏎

(prettier/prettier)

.github/pull_request_template.md (1)

4-11: LGTM! Clear branching strategy explanation.

The added branching strategy explanation is clear and helpful. It effectively communicates the distinction between develop and master branches.

README.md (1)

Line range hint 3-56: Documentation improvements look great!

The changes enhance the README's structure and accessibility:

  • Added clear community engagement section
  • Improved navigation with table of contents
  • Better organized documentation references
  • Added helpful video resources
🧰 Tools
🪛 LanguageTool

[uncategorized] ~22-~22: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...university students to work on selected open source projects. They are mentored by software...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🪛 Markdownlint (0.35.0)

22-22: Missing link or image reference definition: "pfd"
Reference links and images should use a label that is defined

(MD052, reference-links-images)

.github/workflows/eslint_disable_check.py (2)

1-122: Well-structured and documented Python script!

The implementation:

  • Has comprehensive error handling
  • Follows Python coding standards
  • Includes detailed docstrings
  • Effectively checks for eslint-disable statements
🧰 Tools
🪛 Ruff (0.8.0)

61-61: Loop control variable dirs not used within loop body

Rename unused dirs to _dirs

(B007)


1-1: Verify alignment with PR objectives

The PR description mentions migrating tests from Jest to Vitest, but the files under review are documentation and workflow related. Please verify if:

  1. The test migration files are missing from this review
  2. The PR description needs to be updated to match these changes
✅ Verification successful

PR scope matches the changes

The PR changes are indeed related to Vitest configuration, showing modifications to test setup files (vitest.config.ts and vitest.setup.ts). The change updates the test coverage exclusion patterns, which is consistent with test infrastructure work. No discrepancy exists between the PR description and the actual changes.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for Jest to Vitest migration changes

# Look for test file changes
echo "Searching for test file changes..."
git diff --name-only HEAD~1 | grep -E "test|spec|__tests__"

# Look for Jest/Vitest related changes
echo "Searching for Jest/Vitest related changes..."
rg -l "jest|vitest" $(git diff --name-only HEAD~1)

Length of output: 431


Script:

#!/bin/bash
# Let's verify the actual PR changes to understand the scope
git diff --name-only HEAD~1

# Check the content of vitest.config.ts to understand if this is a new file
git diff HEAD~1 vitest.config.ts

Length of output: 481

.eslintrc.json (2)

4-6: LGTM: Environment configuration is properly set up

The environment configuration correctly includes node, jest, and es6, which is necessary for both Jest and Vitest test environments.


135-135: Verify Jest rules compatibility with Vitest

The Jest-specific ESLint rules might need adjustment for Vitest compatibility.

✅ Verification successful

Jest ESLint rules should be kept as the project uses both Jest and Vitest

The codebase currently has both Jest and Vitest configurations and dependencies:

  • Multiple test files using Jest-style syntax (describe, it, expect)
  • Both Jest (jest package) and Vitest (vitest package) are installed
  • Jest-related packages like @testing-library/jest-dom, babel-jest are present
  • Project has both vitest.config.ts and Jest configurations

Disabling the Jest ESLint rule is appropriate as it prevents potential conflicts while the project maintains compatibility with both testing frameworks.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for Jest-specific test patterns that might need updating for Vitest
rg -l "describe\(|it\(|test\(|expect\(" | grep "\.test\.|\.spec\."

Length of output: 68


Script:

#!/bin/bash
# Check for presence of test files and test configuration
fd -e test.js -e spec.js -e test.ts -e spec.ts

# Check for Vitest configuration
fd vitest.config

# Check package.json for test dependencies
cat package.json | jq '.dependencies,.devDependencies' | grep -i "jest\|vitest"

Length of output: 1346

package.json (2)

77-78: Review test script configuration

Both Jest and Vitest test scripts are present. Consider:

  1. Adding coverage threshold configuration for Vitest
  2. Ensuring consistent coverage reporting between Jest and Vitest during migration
✅ Verification successful

Coverage configuration is properly set up in both test runners

The coverage configuration is well-defined in both Jest and Vitest:

  • Jest has coverage thresholds (20% for lines and statements) and specific ignore patterns
  • Vitest has comprehensive coverage setup with Istanbul provider, multiple reporters (text, html, lcov), and appropriate exclusion patterns

No action needed as both configurations are properly established for the migration period.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for existing coverage configuration
rg -l "coverage|coverageThreshold" | grep -E "vitest.config.*|jest.config.*"

Length of output: 110


Script:

#!/bin/bash
# Check coverage configuration in both files
echo "=== Jest Coverage Config ==="
cat jest.config.js | grep -A 10 "coverage"

echo -e "\n=== Vitest Coverage Config ==="
cat vitest.config.ts | grep -A 10 "coverage"

Length of output: 1096


136-136: Verify Vitest coverage configuration

The Istanbul coverage reporter is configured for Vitest, but ensure it's properly configured in the Vitest config file.

Also applies to: 156-156

✅ Verification successful

Istanbul coverage reporter is properly configured

The Vitest configuration file (vitest.config.ts) has the Istanbul coverage provider correctly configured with appropriate settings:

  • Provider is set to 'istanbul'
  • Coverage is enabled
  • Reports directory is specified
  • Proper exclusions are configured
  • Multiple report formats are set up (text, html, text-summary, lcov)
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for Vitest coverage configuration
rg "coverage" config/vitest.config.ts

Length of output: 101


Script:

#!/bin/bash
# Search for vitest config files in the repository
fd -e ts -e js vitest.config

# Search for any file containing vitest configuration
rg -l "defineConfig.*vitest" 

Length of output: 95


Script:

#!/bin/bash
# Check the content of vitest.config.ts for coverage configuration
cat vitest.config.ts

# Also search for any coverage-related configuration in other files
rg -l "coverage.*istanbul"

Length of output: 1064

.github/workflows/README.md (2)

5-8: LGTM! Clear warning about workflow changes.

The section effectively communicates the importance of making changes to workflow files only under contributor guidance.


37-47: LGTM! Well-defined script requirements.

The section clearly outlines coding standards and requirements for Python scripts, promoting consistency and quality.

CODE_OF_CONDUCT.md (1)

3-20: LGTM! Well-structured Table of Contents.

The added Table of Contents improves document navigation while following markdown best practices:

  • Clear section hierarchy
  • Proper link formatting
  • ToC markers for potential automated updates
🧰 Tools
🪛 LanguageTool

[duplication] ~11-~11: Possible typo: you repeated a word
Context: ...-responsibilities) - Scope - Enforcement - Enforcement Guidelines ...

(ENGLISH_WORD_REPEAT_RULE)

Comment on lines +3 to +5
# files that interfere with YARN
yarn.lock
pnpm-lock.yaml
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

⚠️ Potential issue

Remove yarn.lock and pnpm-lock.yaml from .gitignore

The project is using npm as its package manager, evidenced by the presence of package-lock.json. Ignoring lock files from multiple package managers is unnecessary and could lead to confusion.

  • Remove the following lines from .gitignore:
    yarn.lock
    pnpm-lock.yaml
    
  • Keep tracking package-lock.json in git as it's the lock file for the project's chosen package manager (npm)
🔗 Analysis chain

Reconsider ignoring package manager lock files

Lock files should typically be committed to ensure dependency consistency across the team. Additionally, mixing multiple package managers (yarn and pnpm) could lead to dependency resolution conflicts.

Consider:

  1. Choose one package manager for the project
  2. Remove the lock file entries from .gitignore
  3. Commit the chosen package manager's lock file
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check which package manager is being used in the project
if [ -f "package.json" ]; then
    echo "Checking package manager scripts..."
    cat package.json | jq '.scripts' | grep -iE 'yarn|pnpm|npm'
fi

Length of output: 166


Script:

#!/bin/bash
# Let's check if package.json exists and examine its content
if [ -f "package.json" ]; then
    echo "package.json content:"
    cat package.json
fi

# Check for presence of package manager files
echo -e "\nChecking for package manager files:"
ls -la package-lock.json yarn.lock pnpm-lock.yaml 2>/dev/null || true

Length of output: 6067

Comment on lines +2 to +8
"talawaApiUnavailable": "Talawa-API service is unavailable!. Is it running? Check your network connectivity too.",
"notFound": "Not found",
"unknownError": "An unknown error occurred. Please try again later. {{msg}}",
"notAuthorised": "Sorry! you are not Authorised!",
"errorSendingMail": "Error sending mail",
"emailNotRegistered": "Email not registered",
"notFoundMsg": "Oops! The Page you requested was not found!",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

⚠️ Potential issue

Critical: Spanish translations missing for most error messages

The verification confirms that 7 out of 9 error messages in public/locales/sp/errors.json are still in English, while other language files (fr, hi, zh) have proper translations. Only these messages are translated to Spanish:

  • errorOccurredCouldntCreate: "Ocurrió un error. No se pudo crear {{entity}}"
  • errorLoading: "Ocurrió un error al cargar los datos de {{entity}}"

The following messages need Spanish translations:

  • talawaApiUnavailable
  • notFound
  • unknownError
  • notAuthorised
  • errorSendingMail
  • emailNotRegistered
  • notFoundMsg
🔗 Analysis chain

Critical: Missing Spanish translations for error messages

Most error messages are still in English instead of Spanish. Only the last two messages (errorOccurredCouldntCreate and errorLoading) are properly translated to Spanish. All messages in this file should be translated to maintain consistent localization.

Here's a verification script to check for potential English text in Spanish localization files:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for potential English words in Spanish localization files
# This helps identify untranslated content

echo "Checking for potential English words in Spanish localization files..."
rg -i "not|error|sorry|mail|check|running|oops|page" "public/locales/sp/*.json"

Length of output: 295


Script:

#!/bin/bash
# Let's first check if the directory structure is different
echo "Checking directory structure for locales:"
fd -t d "locales"

echo -e "\nListing all locale files:"
fd -e json . "locales"

echo -e "\nChecking content of any Spanish translation files:"
fd -e json . "locales" | grep -i "sp\|es" | xargs cat

Length of output: 577


Script:

#!/bin/bash
# Now that we know the correct path, let's check the contents
echo "Listing contents of public/locales directory:"
ls -la public/locales/

echo -e "\nChecking for Spanish translation files:"
find public/locales -type f -name "*es*.json" -o -name "*sp*.json"

echo -e "\nDisplaying contents of errors.json files in all locales:"
find public/locales -type f -name "errors.json" -exec echo -e "\n=== {} ===" \; -exec cat {} \;

Length of output: 3523

Comment on lines +5 to +11
test('should return a Promise', async () => {
const result = generate({
template: { schemas: [] } as Template,
inputs: [],
});
expect(result).toBeInstanceOf(Promise);
});
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix incorrect test assertions and migrate to Vitest syntax

The first two test cases have logical errors:

  1. The first test throws an error but doesn't handle it
  2. The second test doesn't await the Promise resolution

Also, these need to be migrated to Vitest syntax.

-  test('should return a Promise', async () => {
+  it('should return a Promise', () => {
     const result = generate({
-      template: { schemas: [] } as Template,
+      template: { schemas: ['test'] } as Template,
-      inputs: [],
+      inputs: [{ test: 'value' }],
     });
     expect(result).toBeInstanceOf(Promise);
   });

-  test('should resolve to a Uint8Array', async () => {
+  it('should resolve to a Uint8Array', async () => {
     const result = generate({
-      template: { schemas: [] } as Template,
+      template: { schemas: ['test'] } as Template,
-      inputs: [],
+      inputs: [{ test: 'value' }],
     });
-    expect(result).toBeInstanceOf(Uint8Array);
+    const data = await result;
+    expect(data).toBeInstanceOf(Uint8Array);
   });

Also applies to: 13-19

Comment on lines +4 to +47
describe('Testing mock generate util', () => {
test('should return a Promise', async () => {
const result = generate({
template: { schemas: [] } as Template,
inputs: [],
});
expect(result).toBeInstanceOf(Promise);
});

test('should resolve to a Uint8Array', async () => {
const result = generate({
template: { schemas: [] } as Template,
inputs: [],
});
expect(result).toBeInstanceOf(Uint8Array);
});

it('should throw an error when template is empty', async () => {
const emptyTemplate = { schemas: [] } as Template;
const validInputs = [{ field1: 'value1' }];

await expect(
generate({ template: emptyTemplate, inputs: validInputs }),
).rejects.toThrow('Template or inputs cannot be empty.');
});

it('should throw an error when inputs are empty', async () => {
const validTemplate = { schemas: [{ name: 'field1' }] } as Template;
const emptyInputs: Record<string, string>[] = [];

await expect(
generate({ template: validTemplate, inputs: emptyInputs }),
).rejects.toThrow('Template or inputs cannot be empty.');
});

it('should throw an error when both template and inputs are empty', async () => {
const emptyTemplate = { schemas: [] } as Template;
const emptyInputs: Record<string, string>[] = [];

await expect(
generate({ template: emptyTemplate, inputs: emptyInputs }),
).rejects.toThrow('Template or inputs cannot be empty.');
});
});
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add missing positive test cases

The test suite only covers error cases but lacks positive test cases for successful PDF generation.

Add these test cases:

it('should generate PDF with valid template and inputs', async () => {
  const template = {
    schemas: ['field1', 'field2']
  } as Template;
  const inputs = [
    { field1: 'value1', field2: 'value2' }
  ];
  
  const result = await generate({ template, inputs });
  
  expect(result.length).toBeGreaterThan(0);
  // Verify PDF header
  expect(result.slice(0, 4)).toEqual(new Uint8Array([0x25, 0x50, 0x44, 0x46]));
});

it('should generate different content for different inputs', async () => {
  const template = {
    schemas: ['field1']
  } as Template;
  
  const result1 = await generate({
    template,
    inputs: [{ field1: 'value1' }]
  });
  
  const result2 = await generate({
    template,
    inputs: [{ field1: 'value2' }]
  });
  
  expect(Buffer.from(result1).toString()).not.toEqual(
    Buffer.from(result2).toString()
  );
});

Comment on lines +1 to +19
{
"firstName": "First Name",
"lastName": "Last Name",
"searchByName": "Search By Name",
"loading": "Loading...",
"endOfResults": "End of results",
"noResultsFoundFor": "No results found for ",
"edit": "Edit",
"admins": "Admins",
"admin": "ADMIN",
"user": "USER",
"superAdmin": "SUPERADMIN",
"members": "Members",
"logout": "Logout",
"login": "Login",
"register": "Register",
"menu": "Menu",
"settings": "Settings",
"gender": "Género",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Translate missing English strings to Spanish

Many strings in this section are still in English and need Spanish translations:

  • "firstName" should be "Nombre"
  • "lastName" should be "Apellido"
  • "searchByName" should be "Buscar por Nombre"
    etc.
-  "firstName": "First Name",
-  "lastName": "Last Name",
-  "searchByName": "Search By Name",
-  "loading": "Loading...",
-  "endOfResults": "End of results",
-  "noResultsFoundFor": "No results found for ",
-  "edit": "Edit",
-  "admins": "Admins",
-  "admin": "ADMIN",
-  "user": "USER",
-  "superAdmin": "SUPERADMIN",
-  "members": "Members",
-  "logout": "Logout",
-  "login": "Login",
-  "register": "Register",
-  "menu": "Menu",
-  "settings": "Settings",
+  "firstName": "Nombre",
+  "lastName": "Apellido",
+  "searchByName": "Buscar por Nombre",
+  "loading": "Cargando...",
+  "endOfResults": "Fin de resultados",
+  "noResultsFoundFor": "No se encontraron resultados para ",
+  "edit": "Editar",
+  "admins": "Administradores",
+  "admin": "ADMINISTRADOR",
+  "user": "USUARIO",
+  "superAdmin": "SUPERADMINISTRADOR",
+  "members": "Miembros",
+  "logout": "Cerrar Sesión",
+  "login": "Iniciar Sesión",
+  "register": "Registrarse",
+  "menu": "Menú",
+  "settings": "Configuración",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
"firstName": "First Name",
"lastName": "Last Name",
"searchByName": "Search By Name",
"loading": "Loading...",
"endOfResults": "End of results",
"noResultsFoundFor": "No results found for ",
"edit": "Edit",
"admins": "Admins",
"admin": "ADMIN",
"user": "USER",
"superAdmin": "SUPERADMIN",
"members": "Members",
"logout": "Logout",
"login": "Login",
"register": "Register",
"menu": "Menu",
"settings": "Settings",
"gender": "Género",
{
"firstName": "Nombre",
"lastName": "Apellido",
"searchByName": "Buscar por Nombre",
"loading": "Cargando...",
"endOfResults": "Fin de resultados",
"noResultsFoundFor": "No se encontraron resultados para ",
"edit": "Editar",
"admins": "Administradores",
"admin": "ADMINISTRADOR",
"user": "USUARIO",
"superAdmin": "SUPERADMINISTRADOR",
"members": "Miembros",
"logout": "Cerrar Sesión",
"login": "Iniciar Sesión",
"register": "Registrarse",
"menu": "Menú",
"settings": "Configuración",
"gender": "Género",
}

Comment on lines +46 to +47
1. All pull requests must have test units. If, for some reason, it is not possible to add tests, please let us know and explain why. In that case, you'll need to tell us what steps you followed to manually test your changes.
1. Please read our [CONTRIBUTING.md](CONTRIBUTING.md) document for details on our testing policy.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Update testing section to include Vitest

Since the project is migrating to Vitest, the testing section should be updated to reflect the new testing framework.

-1. All pull requests must have test units. If, for some reason, it is not possible to add tests, please let us know and explain why. In that case, you'll need to tell us what steps you followed to manually test your changes.
+1. All pull requests must include Vitest test units. If adding tests is not possible, please provide a detailed explanation and document the manual testing steps taken to verify the changes.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
1. All pull requests must have test units. If, for some reason, it is not possible to add tests, please let us know and explain why. In that case, you'll need to tell us what steps you followed to manually test your changes.
1. Please read our [CONTRIBUTING.md](CONTRIBUTING.md) document for details on our testing policy.
1. All pull requests must include Vitest test units. If adding tests is not possible, please provide a detailed explanation and document the manual testing steps taken to verify the changes.
1. Please read our [CONTRIBUTING.md](CONTRIBUTING.md) document for details on our testing policy.
🧰 Tools
🪛 LanguageTool

[style] ~46-~46: Style-wise, it’s not ideal to insert an adverb (‘manually’) in the middle of an infinitive construction (‘to test’). Try moving the adverb to avoid split infinitives.
Context: ..., you'll need to tell us what steps you followed to manually test your changes. 1. Please read our [CONTRIBUTING.md](C...

(SPLIT_INFINITIVE)

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Use LTS version of Node.js.

Using 22.x which is not an LTS version could lead to stability issues. Consider using the current LTS version.

-          node-version: '22.x'
+          node-version: '20.x'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
node-version: '22.x'
node-version: '20.x'

Comment on lines +61 to +62
CHANGED_FILES: ${{ steps.changed_files.outputs.all_changed_files }}
run: npx eslint ${CHANGED_FILES} && python .github/workflows/eslint_disable_check.py
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix potential command injection vulnerability.

The script is using unquoted environment variables which could lead to command injection. Always quote variables in shell scripts.

-        run: npx eslint ${CHANGED_FILES} && python .github/workflows/eslint_disable_check.py
+        run: npx eslint "${CHANGED_FILES}" && python .github/workflows/eslint_disable_check.py
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CHANGED_FILES: ${{ steps.changed_files.outputs.all_changed_files }}
run: npx eslint ${CHANGED_FILES} && python .github/workflows/eslint_disable_check.py
CHANGED_FILES: ${{ steps.changed_files.outputs.all_changed_files }}
run: npx eslint "${CHANGED_FILES}" && python .github/workflows/eslint_disable_check.py
🧰 Tools
🪛 actionlint (1.7.4)

61-61: property "changed_files" is not defined in object type {changed-files: {conclusion: string; outcome: string; outputs: {string => string}}}

(expression)


62-62: shellcheck reported issue in this script: SC2086:info:1:12: Double quote to prevent globbing and word splitting

(shellcheck)

Comment on lines +182 to +227
Test-Application:
name: Test Application
runs-on: ubuntu-latest
needs: [Code-Quality-Checks, Check-ESlint-Disable]
steps:
- name: Checkout the Repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'

- name: Install Dependencies
run: npm install

- name: Get changed TypeScript files
id: changed-files
uses: tj-actions/changed-files@v40

- name: Run tests
if: steps.changed-files.outputs.only_changed != 'true'
run: npm run test -- --watchAll=false --coverage

- name: TypeScript compilation for changed files
run: |
for file in ${{ steps.changed-files.outputs.all_files }}; do
if [[ "$file" == *.ts || "$file" == *.tsx ]]; then
npx tsc --noEmit "$file"
fi
done
- name: Present and Upload coverage to Codecov as ${{env.CODECOV_UNIQUE_NAME}}
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
fail_ci_if_error: false
name: '${{env.CODECOV_UNIQUE_NAME}}'

- name: Test acceptable level of code coverage
uses: VeryGoodOpenSource/very_good_coverage@v2
with:
path: "./coverage/lcov.info"
min_coverage: 95.0

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add dependency on Check-Sensitive-Files job.

The Test-Application job should wait for Check-Sensitive-Files to complete to ensure no unauthorized changes are being tested.

    needs: [Code-Quality-Checks, Check-ESlint-Disable]
+    needs: [Code-Quality-Checks, Check-ESlint-Disable, Check-Sensitive-Files]

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 yamllint (1.35.1)

[error] 197-197: trailing spaces

(trailing-spaces)


[error] 201-201: trailing spaces

(trailing-spaces)


[error] 204-204: trailing spaces

(trailing-spaces)


[error] 205-205: trailing spaces

(trailing-spaces)


[error] 213-213: trailing spaces

(trailing-spaces)

Comment on lines +158 to +161
[![Code-cov-token.jpg](/public/images/codecov/Code-cov-token.jpg)]()
[![addd-your-key.jpg](/public/images/codecov/addd-your-key.jpg)]()
6. You will see your code coverage reports with every push to your repo after following these steps
[![results.jpg](/public/images/codecov/results.jpg)]()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix empty markdown links.

The following links are empty and should be properly formatted:

-[![Code-cov-token.jpg](/public/images/codecov/Code-cov-token.jpg)]()
+![Code-cov-token.jpg](/public/images/codecov/Code-cov-token.jpg)

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Markdownlint (0.35.0)

158-158: null
No empty links

(MD042, no-empty-links)


159-159: null
No empty links

(MD042, no-empty-links)


161-161: null
No empty links

(MD042, no-empty-links)

@palisadoes
Copy link
Contributor

This PR needs to be closed.

The source and target PR branches are the same. This means that our reviewers will not be able to checkout the changes and test on their systems using this methodology which will cause a rejection error:

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

Please follow these steps:

  1. Create a new branch with a different name in your local repository
    1. Make sure the branch name is named differently from the required target branch in the PR
    2. Use the git checkout -b command to do this.
  2. Resubmit your PR

Closing

@palisadoes
Copy link
Contributor

Please submit your PRs against our develop-postgres branch. this before submitting your PR for review.

@palisadoes palisadoes closed this Dec 6, 2024
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.

8 participants