Skip to content

Conversation

@M4dhav
Copy link
Contributor

@M4dhav M4dhav commented Aug 3, 2025

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking CHANGE which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (does not change functionality, e.g. code style improvements, linting)
  • Documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Please include screenshots below if applicable.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

Maintainer Checklist

  • closes #xxxx (Replace xxxx with the GitHub issue number)
  • Tag the PR with the appropriate labels

Summary by CodeRabbit

  • New Features

    • Added comprehensive localization support for English and Hindi, including resource files and integration throughout the app.
    • Introduced chat functionality for rooms, with real-time messaging, replies, editing, and notifications.
    • Added user-selectable partner matching in pair chat, with online user lists and explicit partner selection.
    • Implemented new onboarding, privacy policy, CSAE standards, and translation guide documentation.
    • Enhanced theme management with dynamic profile image placeholders.
  • Improvements

    • Refactored UI screens to use localized strings and improved theming.
    • Improved notification handling and user profile completeness.
    • Updated various screens for accessibility, responsive layouts, and new features (e.g., chat in rooms).
  • Bug Fixes

    • Fixed color and image asset references for consistency and theme adaptation.
    • Corrected validation and fallback logic in forms and user profile handling.
  • Chores

    • Migrated Android build scripts to Kotlin DSL and updated Gradle configuration.
    • Updated .gitignore and project structure automation.
    • Added new GitHub issue templates for configuration, refactoring, and security improvements.
  • Documentation

    • Added or updated onboarding, privacy policy, translation guide, and CSAE standards documents.
  • Style

    • Standardized code style and formatting across controllers and screens.
  • Tests

    • No user-facing test changes included.
  • Revert

    • No reversions included.

puneethkumar18 and others added 30 commits November 3, 2024 10:54
userName unavailable message showing
Fixes AOSSIE-Org#397: Implement Dynamic Theming for SVG Illustrations - Primary Color Adaptation
userImagePlaceholder based on the app Theme
fix: animated splash screen redirects context to null
…eature

feat: added share-app-feature and improved ui
…-working

feat: the discord icon redirects to discord page of aossie
Bug: there is an unclosed bracket in email_verification_screen
M4dhav and others added 28 commits July 16, 2025 16:29
Upload CSAE Standards doc for Play Store Listing
Connect Chat Pages to backend and implement notification functionality
…ect-structure

feat: add GitHub Action to auto-update project_structure.txt
@coderabbitai
Copy link

coderabbitai bot commented Aug 3, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This update introduces comprehensive localization and internationalization support (English and Hindi) across the entire Flutter app, replacing all hardcoded user-facing strings with localized resources. It adds new localization files, refactors controllers and views for context-aware string retrieval, and updates models, routes, and utilities to support dynamic, language-aware content. Several new features, such as a room chat controller, partner selection in pair chat, and category color mapping, are introduced. The build system is migrated to Gradle Kotlin DSL, and new GitHub workflows and documentation files are added.

Changes

Cohort / File(s) Change Summary
Localization Infrastructure
lib/l10n/app_en.arb, lib/l10n/app_hi.arb, lib/l10n/app_localizations.dart, lib/l10n/app_localizations_en.dart, lib/l10n/app_localizations_hi.dart, l10n.yaml
Added English and Hindi ARB files, Dart localization classes, and config for internationalization; supports dynamic, parameterized, and pluralized strings.
Controllers: Localization & Logic Refactors
lib/controllers/auth_state_controller.dart, lib/controllers/authentication_controller.dart, lib/controllers/change_email_controller.dart, lib/controllers/create_room_controller.dart, lib/controllers/edit_profile_controller.dart, lib/controllers/email_verify_controller.dart, lib/controllers/explore_story_controller.dart, lib/controllers/livekit_controller.dart, lib/controllers/network_controller.dart, lib/controllers/onboarding_controller.dart, lib/controllers/pair_chat_controller.dart, lib/controllers/profile_binding.dart, lib/controllers/room_chat_controller.dart, lib/controllers/rooms_controller.dart, lib/controllers/single_room_controller.dart, lib/controllers/tabview_binding.dart, lib/controllers/tabview_controller.dart, lib/controllers/upcomming_rooms_controller.dart
Refactored to use localized strings, updated method signatures to accept context, added new features (room chat controller, pair chat partner selection), improved notification and error handling, and restructured state management.
Views/Screens: Localization, UI, and New Features
lib/views/screens/about_app_screen.dart, lib/views/screens/add_chapter_screen.dart, lib/views/screens/category_screen.dart, lib/views/screens/change_email_screen.dart, lib/views/screens/chapter_play_screen.dart, lib/views/screens/contribute_screen.dart, lib/views/screens/create_chapter_screen.dart, lib/views/screens/create_room_screen.dart, lib/views/screens/create_story_screen.dart, lib/views/screens/delete_account_screen.dart, lib/views/screens/edit_profile_screen.dart, lib/views/screens/email_verification_screen.dart, lib/views/screens/explore_screen.dart, lib/views/screens/forgot_password_screen.dart, lib/views/screens/home_screen.dart, lib/views/screens/landing_screen.dart, lib/views/screens/login_screen.dart, lib/views/screens/no_room_screen.dart, lib/views/screens/notifications_screen.dart, lib/views/screens/onboarding_screen.dart, lib/views/screens/pair_chat_screen.dart, lib/views/screens/pair_chat_users_screen.dart, lib/views/screens/pairing_screen.dart, lib/views/screens/profile_screen.dart, lib/views/screens/reset_password_screen.dart, lib/views/screens/room_chat_screen.dart, lib/views/screens/room_screen.dart, lib/views/screens/settings_screen.dart, lib/views/screens/signup_screen.dart, lib/views/screens/splash_screen.dart
Replaced all hardcoded strings with localized equivalents, added/updated UI for new features (chat, partner selection), improved theming, accessibility, and error dialogs, and refactored widget structures for better state and context management.
Models: User, Message, Reply
lib/models/message.dart, lib/models/reply_to.dart, lib/models/resonate_user.dart, lib/models/resonate_user.freezed.dart, lib/models/resonate_user.g.dart
Updated user model fields, improved serialization/deserialization, added copyWith and pattern matching, enhanced message/reply models for chat features.
Theme and Utility Enhancements
lib/themes/theme_controller.dart, lib/themes/theme_screen.dart, lib/utils/app_images.dart, lib/utils/colors.dart, lib/utils/constants.dart, lib/utils/extensions/datetime_extension.dart, lib/utils/ui_sizes.dart, lib/utils/utils.dart
Improved theme management, added category color mapping, updated placeholder and image assets, enhanced constants for chat and external URLs, and improved utility methods for localization and formatting.
Routing and Navigation
lib/routes/app_pages.dart, lib/routes/app_routes.dart
Updated routes to reflect new screens and removed obsolete ones.
App Entry and Main
lib/main.dart
Integrated localization delegates and supported locales into the app root.
Services
lib/services/appwrite_service.dart, lib/services/room_service.dart
Added Appwrite Functions access, enforced non-null tokens, and improved error handling.
Android Build System Migration
android/app/build.gradle, android/app/build.gradle.kts, android/build.gradle, android/build.gradle.kts, android/settings.gradle, android/settings.gradle.kts, android/gradle.properties, android/gradle/wrapper/gradle-wrapper.properties
Migrated from Groovy to Kotlin DSL for Gradle, updated dependencies, improved build caching and parallelization, and updated Gradle version.
iOS Project Updates
ios/Runner.xcodeproj/project.pbxproj, ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme, ios/Runner/AppDelegate.swift, ios/Runner/Info.plist, ios/.gitignore
Updated deployment target, added notification integration, localized Info.plist, and improved build phases and ignore rules.
GitHub Workflows & Issue Templates
.github/ISSUE_TEMPLATE/configuration_change.yml, .github/ISSUE_TEMPLATE/re-implementation.yml, .github/ISSUE_TEMPLATE/refactor-to-enhance.yml, .github/ISSUE_TEMPLATE/security_improvement.yml, .github/workflows/build_and_deploy.yml, .github/workflows/greet_contributors.yml, .github/workflows/update-project-structure.yml
Added/updated issue templates for configuration, re-implementation, refactoring, and security; introduced workflows for build/deploy, contributor greetings, and project structure updates.
Documentation
CSAE_STANDARDS.md, ONBOARDING.md, PRIVACY-POLICY.md, README.md, TRANSLATIONS.md
Added/updated onboarding, privacy policy, standards, translation guide, and improved README formatting and content.
Miscellaneous
analysis_options.yaml, .gitignore, android/.gitignore, android/app/google-services.json, android/app/build/.last_build_id, android/untranslated.txt, lib/firebase_options.dart, ios/Runner/GoogleService-Info.plist
Updated ignore rules, removed sensitive/config files, added build ID, updated analyzer config, and removed generated Firebase options.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant App (Flutter)
    participant AppLocalizations
    participant Controller
    participant View

    User->>App: Launches App
    App->>AppLocalizations: Loads localization delegates for supported locales
    App->>View: Builds UI with context
    View->>AppLocalizations: Fetches localized strings via context
    User->>View: Interacts with UI (e.g., submits form)
    View->>Controller: Passes context and user input
    Controller->>AppLocalizations: Retrieves localized error/success messages
    Controller->>View: Returns localized results
    View->>User: Displays localized UI and messages
Loading
sequenceDiagram
    participant User
    participant App
    participant RoomChatController
    participant AppwriteService
    participant MessageDB

    User->>App: Opens Room Chat
    App->>RoomChatController: Initialize and subscribe to messages
    RoomChatController->>AppwriteService: Fetch messages
    AppwriteService->>MessageDB: Query messages for room
    MessageDB-->>AppwriteService: Returns message list
    AppwriteService-->>RoomChatController: Returns messages
    RoomChatController-->>App: Updates UI with messages
    User->>App: Sends message
    App->>RoomChatController: sendMessage(content)
    RoomChatController->>AppwriteService: Upload message
    AppwriteService->>MessageDB: Store new message
    MessageDB-->>AppwriteService: Acknowledge
    AppwriteService-->>RoomChatController: Success
    RoomChatController-->>App: UI updates, notifies user
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~90+ minutes

Possibly related PRs

  • AOSSIE-Org/Resonate#479: Both PRs modify the .github/workflows/greet_contributors.yml file, with this PR introducing the workflow and the related PR fixing its location and reliability.

Suggested labels

documentation

Poem

In fields of code where carrots grow,
A rabbit hops with joy to show—
Two tongues now sing, the UI gleams,
Stories, rooms, and chat in teams!
With colors bright and themes anew,
The build hops forward, strong and true.
🐇✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ 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.
    • Explain this complex logic.
    • 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 explain this code block.
    • @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 explain its main purpose.
    • @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.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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 generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this 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.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

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.

@M4dhav M4dhav closed this Aug 3, 2025
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.