-
-
Notifications
You must be signed in to change notification settings - Fork 867
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
Fix: Venue details now update without requiring a name change #3302
Fix: Venue details now update without requiring a name change #3302
Conversation
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
WalkthroughThe pull request addresses a bug in the venue update functionality within the Talawa Admin portal. The changes focus on improving the Changes
Assessment against linked issues
Possibly related PRs
Suggested reviewers
Poem
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
Documentation and Community
|
Our Pull Request Approval ProcessThanks for contributing! Testing Your CodeRemember, your PRs won't be reviewed until these criteria are met:
Our policies make our code better. ReviewersDo not assign reviewers. Our Queue Monitors will review your PR and assign them.
Reviewing Your CodeYour reviewer(s) will have the following roles:
CONTRIBUTING.mdRead our CONTRIBUTING.md file. Most importantly:
Other
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (5)
src/components/OrganizationCard/OrganizationCard.tsx (1)
210-210
: Simplify conditional rendering using optional chainingThe conditional check
address && address.city
can be simplified using optional chaining for better readability.Apply this diff to simplify the code:
- {address && address.city && ( + {address?.city && (🧰 Tools
🪛 Biome (1.9.4)
[error] 210-210: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
src/components/Venues/VenueModal.tsx (1)
Line range hint
257-266
: Use functional state updates within asynchronous functionsWhen updating state inside an asynchronous function like
onChange
, use the functional form ofsetState
to prevent potential issues with stale state due to closures.Apply this diff to update the state correctly:
- if (file) { - setFormState({ - ...formState, - imageURL: await convertToBase64(file), - }); - } + if (file) { + const base64Image = await convertToBase64(file); + setFormState((prevState) => ({ + ...prevState, + imageURL: base64Image, + })); + }src/components/OrganizationCard/OrganizationCard.spec.tsx (2)
324-324
: Use exact error message keys in assertionsThe test is using 'errorOccured' and 'MembershipRequestNotFound' directly. These should match the exact keys from the i18n translations to ensure test reliability.
-expect(toast.error).toHaveBeenCalledWith('errorOccured'); +expect(toast.error).toHaveBeenCalledWith('users.errorOccured'); -expect(toast.error).toHaveBeenCalledWith('MembershipRequestNotFound'); +expect(toast.error).toHaveBeenCalledWith('users.MembershipRequestNotFound');Also applies to: 367-367
53-65
: Restructure i18n translation setup to match actual namespaceThe translation keys should be nested under the 'users' namespace to match the actual application structure.
translation: { - users: { - MembershipRequestSent: 'Request sent', - orgJoined: 'Joined', - AlreadyJoined: 'Already joined', - errorOccured: 'error occurred', - MembershipRequestNotFound: 'Request not found', - MembershipRequestWithdrawn: 'Request withdrawn', - visit: 'Visit', - withdraw: 'Withdraw', - joinNow: 'Join Now', - }, + users: { + MembershipRequestSent: 'Request sent', + orgJoined: 'Joined', + AlreadyJoined: 'Already joined', + errorOccured: 'error occurred', + MembershipRequestNotFound: 'Request not found', + MembershipRequestWithdrawn: 'Request withdrawn', + visit: 'Visit', + withdraw: 'Withdraw', + joinNow: 'Join Now' + }, + common: { + admins: 'Admins', + members: 'Members' + } }, -common: { - admins: 'Admins', - members: 'Members', -},src/screens/UserPortal/Organizations/Organizations.tsx (1)
Line range hint
252-285
: Optimize organization mapping logicThe current implementation has duplicate mapping logic across different modes. Consider extracting the common mapping logic into a utility function to improve maintainability and reduce code duplication.
+const mapOrganization = (org: InterfaceOrganization, isJoined: boolean) => ({ + ...org, + membershipRequestStatus: 'accepted', + isJoined, +}); if (mode === 0) { if (data) { const organizations = data.organizationsConnection.map( (organization: InterfaceOrganization) => { let membershipRequestStatus = ''; if (organization.members.find((member: { _id: string }) => member._id === userId)) membershipRequestStatus = 'accepted'; else if (organization.membershipRequests.find((request: { user: { _id: string } }) => request.user._id === userId)) membershipRequestStatus = 'pending'; - return { - ...organization, - membershipRequestStatus, - isJoined: false, - }; + return mapOrganization(organization, false); }, ); setOrganizations(organizations); } } else if (mode === 1) { if (joinedOrganizationsData && joinedOrganizationsData.users.length > 0) { const organizations = joinedOrganizationsData.users[0]?.user?.joinedOrganizations.map( - (org: InterfaceOrganization) => ({ - ...org, - membershipRequestStatus: 'accepted', - isJoined: true, - }), + (org: InterfaceOrganization) => mapOrganization(org, true), ) || []; setOrganizations(organizations); } }
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
src/components/OrganizationCard/OrganizationCard.spec.tsx
(1 hunks)src/components/OrganizationCard/OrganizationCard.tsx
(1 hunks)src/components/Venues/VenueModal.tsx
(3 hunks)src/components/test-utils/TestWrapper.tsx
(1 hunks)src/screens/UserPortal/Organizations/Organizations.tsx
(6 hunks)
🧰 Additional context used
🪛 Biome (1.9.4)
src/components/Venues/VenueModal.tsx
[error] 119-119: isNaN is unsafe. It attempts a type coercion. Use Number.isNaN instead.
See the MDN documentation for more details.
Unsafe fix: Use Number.isNaN instead.
(lint/suspicious/noGlobalIsNan)
src/components/OrganizationCard/OrganizationCard.tsx
[error] 210-210: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Test Application
- GitHub Check: Analyse Code With CodeQL (javascript)
🔇 Additional comments (2)
src/components/test-utils/TestWrapper.tsx (1)
1-51
: Well-structured test utility componentThe
TestWrapper
component is well-implemented and provides a convenient way to wrap test components with the necessary providers for testing.src/screens/UserPortal/Organizations/Organizations.tsx (1)
Line range hint
1-437
: Verify PR objective alignmentThe code changes appear to be focused on organization membership status tracking, but the PR objective states it's meant to fix venue details updates without requiring name changes. This seems to be a significant mismatch between the implementation and the stated objective.
Could you please clarify if this is the correct PR implementation for fixing the venue details update issue? If not, we might need to revisit the changes to ensure they address the actual problem.
@gkbishnoi07 Please fix the failed tests. |
working on test cases |
Please make a minor commit. The failing test should be fixed with that |
Sure, I will address this issue soon and make the necessary minor commit to fix the failing test. I'm currently traveling but will handle it as soon as possible |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/components/Venues/VenueModal.spec.tsx (1)
270-307
: Add test case for updating venue without name change.To directly verify the fix mentioned in the PR objective, consider adding a test case that updates only the description or capacity while keeping the name unchanged.
Here's a suggested test case:
test('updates venue successfully when only non-name fields are changed', async () => { const mockLink = new StaticMockLink([ { request: { query: UPDATE_VENUE_MUTATION, variables: { id: 'venue1', name: 'Venue 1', // Same name capacity: 200, // Changed description: 'Updated description', // Changed file: 'image1', }, }, result: { data: { editVenue: { _id: 'venue1', }, }, }, } ], true); renderVenueModal(editProps, mockLink); await wait(0); // Update only capacity and description fireEvent.change( screen.getByDisplayValue('Updated description for venue 1'), { target: { value: 'Updated description' }, }, ); fireEvent.change(screen.getByDisplayValue('100'), { target: { value: '200' }, }); await act(async () => { fireEvent.click(screen.getByTestId('updateVenueBtn')); await wait(0); }); await waitFor(() => { expect(toast.success).toHaveBeenCalledWith( 'Venue details updated successfully', ); }); expect(editProps.refetchVenues).toHaveBeenCalled(); expect(editProps.onHide).toHaveBeenCalled(); });
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
src/components/Venues/VenueModal.spec.tsx
(6 hunks)src/components/Venues/VenueModal.tsx
(3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- src/components/Venues/VenueModal.tsx
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Test Application
- GitHub Check: Check Python Code Style
- GitHub Check: Analyse Code With CodeQL (javascript)
🔇 Additional comments (4)
src/components/Venues/VenueModal.spec.tsx (4)
49-53
: LGTM! Mock setup aligns with the fix.The UPDATE_VENUE_MUTATION mock correctly excludes the organizationId field, which aligns with the fix for venue updates.
86-92
: LGTM! Properly implemented wait utility.The wait utility correctly uses act to handle React state updates during testing, ensuring proper test behavior for asynchronous operations.
94-116
: LGTM! Well-structured props setup.The separation into defaultProps and editProps improves maintainability and makes the test setup more explicit.
270-307
: LGTM! Comprehensive update test implementation.The test properly verifies the venue update functionality with proper assertions and error handling.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/pull-request.yml
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Test Application
Please fix the conflicting file |
i try everthing this code is same as develop-postgres but i dont know why its conflict |
yaa its safe |
wait last try |
@palisadoes i check all good i also run npx prettier --write but its blocking you can merge this PR all safe |
Run prettier in your local branch. commit and add to this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (5)
src/components/OrganizationCard/OrganizationCard.tsx (5)
20-47
: Consider enhancing type safety for the interface.The interface is well-structured, but could benefit from these improvements:
- Consider making optional fields explicit with
?
operator- Add
readonly
to prevent accidental mutations- Consider using a separate type for the address object
interface InterfaceOrganizationCardProps { - id: string; + readonly id: string; - name: string; + readonly name: string; - image: string; + readonly image?: string; - description: string; + readonly description: string; - admins: { + readonly admins: { - id: string; + readonly id: string; }[]; - members: { + readonly members: { - id: string; + readonly id: string; }[]; - address: { + type Address = { + readonly city: string; + readonly countryCode: string; + readonly line1: string; + readonly postalCode: string; + readonly state: string; + }; + readonly address?: Address;
116-126
: Enhance error handling in useEffect.The error handling is good, but could be more specific:
- Consider using a custom error type for localStorage failures
- Log the actual error message in development
useEffect(() => { try { - // Use the custom hook to retrieve the userId - const id = getItem('userId'); // Adjust this line based on your actual localStorage key + const id = getItem('userId'); setUserId(id); } catch (error) { - console.error('Failed to access localStorage:', error); + if (process.env.NODE_ENV === 'development') { + console.error('Failed to access localStorage:', error); + } setUserId(null); - toast.error('Failed to access user data'); + toast.error(t('FailedToAccessUserData') as string); } }, [getItem]);
97-111
: Consider consolidating mutation configurations.The refetchQueries configuration is duplicated across mutations. Consider extracting it to a constant.
+ const refetchConfig = [ + { query: USER_ORGANIZATION_CONNECTION, variables: { id } }, + ]; + const [sendMembershipRequest] = useMutation(SEND_MEMBERSHIP_REQUEST, { - refetchQueries: [ - { query: USER_ORGANIZATION_CONNECTION, variables: { id } }, - ], + refetchQueries: refetchConfig, }); const [joinPublicOrganization] = useMutation(JOIN_PUBLIC_ORGANIZATION, { - refetchQueries: [ - { query: USER_ORGANIZATION_CONNECTION, variables: { id } }, - ], + refetchQueries: refetchConfig, }); const [cancelMembershipRequest] = useMutation(CANCEL_MEMBERSHIP_REQUEST, { - refetchQueries: [ - { query: USER_ORGANIZATION_CONNECTION, variables: { id } }, - ], + refetchQueries: refetchConfig, });
159-187
: Improve error handling in withdrawMembershipRequest.The error handling could be more consistent with the joinOrganization function:
- Use type assertion for ApolloError like in joinOrganization
- Add specific error codes handling
} catch (error: unknown) { - if (process.env.NODE_ENV === 'development') { - console.error('Failed to withdraw membership request:', error); - } - toast.error(t('errorOccured') as string); + if (error instanceof Error) { + const apolloError = error as ApolloError; + const errorCode = apolloError.graphQLErrors?.[0]?.extensions?.code; + if (process.env.NODE_ENV === 'development') { + console.error('Failed to withdraw membership request:', error); + } + if (errorCode === 'REQUEST_NOT_FOUND') { + toast.error(t('MembershipRequestNotFound') as string); + } else { + toast.error(t('errorOccured') as string); + } + } }
210-218
: Improve address rendering with optional chaining.Use optional chaining as suggested by static analysis and add aria-label for accessibility.
- {address && address.city && ( + {address?.city && ( - <div className={styles.address}> + <div className={styles.address} aria-label={t('organizationAddress')}> <h6 className="text-secondary"> - <span className="address-line">{address.line1}, </span> - <span className="address-line">{address.city}, </span> - <span className="address-line">{address.countryCode}</span> + <span className="address-line">{address?.line1}, </span> + <span className="address-line">{address?.city}, </span> + <span className="address-line">{address?.countryCode}</span> </h6> </div> )}🧰 Tools
🪛 Biome (1.9.4)
[error] 210-210: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
docs/docs/tutorial-extras/img/docsVersionDropdown.png
is excluded by!**/*.png
docs/docs/tutorial-extras/img/localeDropdown.png
is excluded by!**/*.png
📒 Files selected for processing (13)
docs/docs/intro.md
(0 hunks)docs/docs/tutorial-basics/_category_.json
(0 hunks)docs/docs/tutorial-basics/congratulations.md
(0 hunks)docs/docs/tutorial-basics/create-a-blog-post.md
(0 hunks)docs/docs/tutorial-basics/create-a-document.md
(0 hunks)docs/docs/tutorial-basics/create-a-page.md
(0 hunks)docs/docs/tutorial-basics/deploy-your-site.md
(0 hunks)docs/docs/tutorial-basics/markdown-features.mdx
(0 hunks)docs/docs/tutorial-extras/_category_.json
(0 hunks)docs/docs/tutorial-extras/manage-docs-versions.md
(0 hunks)docs/docs/tutorial-extras/translate-your-site.md
(0 hunks)docs/src/components/HomepageFeatures/index.tsx
(0 hunks)src/components/OrganizationCard/OrganizationCard.tsx
(1 hunks)
💤 Files with no reviewable changes (12)
- docs/docs/tutorial-basics/category.json
- docs/docs/tutorial-basics/congratulations.md
- docs/docs/tutorial-extras/category.json
- docs/docs/tutorial-extras/manage-docs-versions.md
- docs/docs/tutorial-basics/create-a-blog-post.md
- docs/docs/tutorial-basics/deploy-your-site.md
- docs/docs/tutorial-extras/translate-your-site.md
- docs/docs/tutorial-basics/create-a-document.md
- docs/docs/intro.md
- docs/src/components/HomepageFeatures/index.tsx
- docs/docs/tutorial-basics/create-a-page.md
- docs/docs/tutorial-basics/markdown-features.mdx
🧰 Additional context used
🪛 Biome (1.9.4)
src/components/OrganizationCard/OrganizationCard.tsx
[error] 210-210: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
🔇 Additional comments (1)
src/components/OrganizationCard/OrganizationCard.tsx (1)
1-262
: Overall implementation looks good!The component is well-structured with proper error handling, type safety, and follows React best practices. The suggested improvements are optional enhancements for maintainability and type safety.
🧰 Tools
🪛 Biome (1.9.4)
[error] 210-210: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (5)
src/components/OrganizationCard/OrganizationCard.tsx (5)
69-70
: Remove duplicate @returns tag in JSDoc.The documentation contains duplicate return statements. Please remove one of them to maintain clarity.
* @returns JSX element representing the organization card. -* @returns The organization card component.
116-126
: Consider creating a custom error type for localStorage failures.The error handling is good, but could be more specific with a custom error type for localStorage failures.
// Add this type definition: type StorageError = { code: 'STORAGE_ACCESS_DENIED' | 'STORAGE_UNAVAILABLE'; message: string; }; // Then modify the catch block: } catch (error) { const storageError: StorageError = { code: 'STORAGE_UNAVAILABLE', message: error instanceof Error ? error.message : 'Unknown error' }; console.error('Failed to access localStorage:', storageError); setUserId(null); toast.error(`Failed to access user data: ${storageError.message}`); }
146-156
: Consider extracting GraphQL error codes to constants.The error handling is good, but error codes should be extracted to constants for better maintainability.
// Add these constants: const GRAPHQL_ERROR_CODES = { ALREADY_MEMBER: 'ALREADY_MEMBER', } as const; // Then modify the error handling: if (errorCode === GRAPHQL_ERROR_CODES.ALREADY_MEMBER) {
210-218
: Use optional chaining for address properties.Consider using optional chaining to simplify the address check, as suggested by static analysis.
-{address && address.city && ( +{address?.city && ( <div className={styles.address}> <h6 className="text-secondary"> - <span className="address-line">{address.line1}, </span> - <span className="address-line">{address.city}, </span> - <span className="address-line">{address.countryCode}</span> + <span className="address-line">{address?.line1}, </span> + <span className="address-line">{address?.city}, </span> + <span className="address-line">{address?.countryCode}</span> </h6> </div> )}🧰 Tools
🪛 Biome (1.9.4)
[error] 210-210: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
219-222
: Consider adding null checks for admins and members arrays.Add null checks to prevent potential runtime errors when accessing length property.
<h6 className={styles.orgadmin}> - {tCommon('admins')}: <span>{admins?.length}</span> - {tCommon('members')}: <span>{members?.length}</span> + {tCommon('admins')}: <span>{admins?.length ?? 0}</span> + {tCommon('members')}: <span>{members?.length ?? 0}</span> </h6>
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/components/OrganizationCard/OrganizationCard.tsx
(1 hunks)
🧰 Additional context used
🪛 Biome (1.9.4)
src/components/OrganizationCard/OrganizationCard.tsx
[error] 210-210: Change to an optional chain.
Unsafe fix: Change to an optional chain.
(lint/complexity/useOptionalChain)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Test Application
- GitHub Check: Analyse Code With CodeQL (javascript)
🔇 Additional comments (2)
src/components/OrganizationCard/OrganizationCard.tsx (2)
73-85
: LGTM! Clean prop destructuring implementation.The component signature is well-structured with proper TypeScript types and comprehensive prop destructuring.
26-26
: Verify the removal of properties from previous version.Previous review comments questioned the removal of certain properties. Could you please confirm if removing these properties was intentional and won't impact other components?
Also applies to: 44-44
✅ Verification successful
Property removal appears intentional due to component separation
The codebase has two distinct OrganizationCard components - one in the root components directory and another in UserPortal. The removal of firstName/lastName properties from this component appears to be an intentional architectural decision, likely part of separating concerns between these components.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for any remaining usage of the removed properties echo "Searching for potential usage of removed properties..." rg -l "firstName|lastName" --type typescriptLength of output: 200
Script:
#!/bin/bash # Search for firstName/lastName in TypeScript files echo "Searching in .ts and .tsx files..." rg -l "firstName|lastName" -g "*.{ts,tsx}" # Search for property access patterns echo -e "\nChecking property access patterns..." ast-grep --pattern '$_.$_[firstName]' ast-grep --pattern '$_.$_[lastName]'Length of output: 10170
Script:
#!/bin/bash # Find files importing OrganizationCard echo "Files importing OrganizationCard:" rg -l "import.*OrganizationCard" -g "*.{ts,tsx}" # Check for specific usage patterns in those files echo -e "\nChecking OrganizationCard property access:" ast-grep --pattern 'import { OrganizationCard } from "$_" $$$ <OrganizationCard $_={$_} />'Length of output: 699
Please fix the conflicting file. |
now i get all upstream changes but in that their is sensitive file changes so how can i solve that problem |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
DOCUMENTATION.md (2)
21-29
: Fix grammar and URL formatting in Docusaurus instructions.The instructions are clear, but there are a few issues to address:
Apply these changes:
- - A local version of `docs.talawa.io` should automatically launched in your browser at http://localhost:3000/ + - A local version of `docs.talawa.io` should automatically launch in your browser at `http://localhost:3000`🧰 Tools
🪛 LanguageTool
[grammar] ~25-~25: The modal verb ‘should’ requires the verb’s base form.
Context: ...fdocs.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 thedocs/
directory of t...(MARKDOWN_NNP)
🪛 Markdownlint (0.37.0)
25-25: Bare URL used
null(MD034, no-bare-urls)
31-32
: Enhance the warning message about Markdown files.While the message is clear, it could be more professional and informative.
Apply this change:
-***PLEASE*** do not add markdown files in this repository. Add them to `talawa-docs`! +***Important:*** Do not add Markdown files in this repository. All documentation files should be added to the `talawa-docs` repository.🧰 Tools
🪛 LanguageTool
[uncategorized] ~32-~32: The preposition “to” seems more likely in this position.
Context: ... PLEASE do not add markdown files in this repository. Add them to `talawa-do...(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
DOCUMENTATION.md
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
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)
[uncategorized] ~32-~32: The preposition “to” seems more likely in this position.
Context: ... PLEASE do not add markdown files in this repository. Add them to `talawa-do...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
🪛 Markdownlint (0.37.0)
DOCUMENTATION.md
25-25: Bare URL used
null
(MD034, no-bare-urls)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Test Application
🔇 Additional comments (2)
DOCUMENTATION.md (2)
8-10
: LGTM! Table of Contents is now more streamlined.The TOC structure has been simplified by removing redundant entries while maintaining clear navigation.
16-19
: LGTM! Clear and concise documentation locations.The section effectively communicates the two documentation sources with proper emphasis and links to relevant resources.
da20828
into
PalisadoesFoundation:develop-postgres
What kind of change does this PR introduce?
Bugfix
Issue Number:
Fixes #3300
Snapshots/Videos:
Screen.Recording.2025-01-17.021831.mp4
Summary
This PR resolves a bug in the Venue Details modal where updating venue information (such as description, capacity, or image) would fail unless the "Name of the Venue" field was modified. The issue was caused by a conditional check that compared the old and new venue names to determine changes, and incorrectly treated updates to other fields as unnecessary if the names matched.
Does this PR introduce a breaking change?
No
Other information
N/A
Have you read the [contributing guide](https://github.com/PalisadoesFoundation/talawa-admin/blob/master/CONTRIBUTING.md)?
Yes
Summary by CodeRabbit
New Features
Bug Fixes
Tests
Documentation