Git Product home page Git Product logo

mobile's Introduction

Chill&chat mobile app

CodeQL

Chill&chat is a free and open-source mobile chat application that can send messages instantly to anyone around the world with a Chill&chat account. It's an amazing way to socialize and connect with your friends, especially in lockdown!

License

This repository is licensed under the MIT License and is free for use. Please see the LICENSE file for a full license.

Copyright (C) 2021-2023 Alvin cheng

Contribution

You are welcome to contribute to this project at any time. To contribute, please fork the project and make changes in the forked repository. Then make a pull request under the Pull request tab. Please make sure your code has passed all tests, and the code explanation is clear before submitting, and please make sure to follow the GitHub official community guidelines when submitting any code to the Chill&chat repository.

I look forward to seeing your contributions to Chill&chat!

Bugs and issues

If you have found any bug(s) please post them in the Issues tab in this repository. Please explain the problem and post any error messages or codes, also include a list of instructions to reproduce this bug or problem.

Contact

For support and more information regarding Chill&chat products and services, please contact us with the details below and quote "Chill&chat" in your post:

Email: [email protected]

Chill&chat ID: fa3b185c-6d04-41ea-8082-10cc594ad8f6

Download

iOS

To download the app via the apple app store, please click the link below.

Manual install

Please click the button below to go to the releases tab and install the version you like!

Preview version

To use the preview version of Chill&chat, please click here. Please note that the preview version requires the Expo Go Application and a expo account. Further more, please also note that the preview version is very in consistent and often skip or contains releases that can be unstable and buggy.

Latest code

To get the latest code, please enter the command below into your terminal to clone it:

  git clone https://github.com/chillandchat/mobile/

User safety agreement

  • We will ensure that all users' private information will be private no matter what, even to the developers.

  • Private data is kept safe in a database with top-of-the-line safety and encryption, we also ensure no data is sold or shared with any third parties.

  • We will also make sure to listen to any community safety concerns or complaints.

  • We will ban and delete accounts of users that are unruly or share inappropriate data.

  • Developers will be active to eliminate security issues/bugs

All the above will be enforced to ensure Chill&chat is safe!

Credits:

Alvin cheng - Software engineer

Brianna cheng - UI&UX designer

Special thanks

Jonathan yao

❤️ Made With Love ❤️

mobile's People

Contributors

cheng-alvin avatar dependabot[bot] avatar diamondyt7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

pengchihui1

mobile's Issues

React State issue

I have a issue with react state, I mean when the state is updated the ui did not get updated or changed.

Room welcome screen

This is a feature request for a welcome screen to be made when you first join a room

Technical information

A RoomWelcomeScreen that is a child of the Chat component. This component should be rendered above the messages on the room (within ScrollView). That will display the icon of the room and a custom welcome message.

Mobile responsive bug

There has been a mobile responsive bug with all the text boxes and input fields, the bug is when I use this app on iOS the text boxes with shrink in terms of height. And the tex boxes can look a little squashed and ugly.

Alvin Cheng.

Runtime warning while navigating to ```menu```

Hey there!
This is a bug report regarding warning messages found when navigating the menu. As the logs shown below:

Logs

WARN  Found screens with the same name nested inside one another. Check:

menu, menu > menu

This can cause confusing behavior during navigation. Consider using unique names for each screen instead. 
    at BaseNavigationContainer (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:101832:28)
    at ThemeProvider (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:106907:21)
    at NavigationContainerInner (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:106799:26)
    at RCTView
    at View (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:48291:43)
    at Provider (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:110444:21)
    at anonymous (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:101051:52)
    at withDevTools(Anonymous) (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:100707:27)
    at RCTView
    at View (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:48291:43)
    at RCTView
    at View (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:48291:43)
    at AppContainer (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:48168:36)
    at main(RootComponent) (http://192.168.0.244:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false:84659:28)

Reproduction steps

  • Start and enter the development server.
  • Load into the login screen.
  • Enter username and password in text fields respectively.
  • Tap "login".

[Bug occurs here]

Please resolve this issue soon.
Thank you!

Quit button not responding after pressing

Hello!
Here is another issue report for Chill&chat mobile, I have found out that the quit button on the Error screen is not functional after clicking. Here are some reproduction steps:

Reproduction

  • Open app
  • Disconnect WIFI to trigger app panic
  • Click the quit button

System information

OS: iOS 16.2
System: iPhone 13 mini

Thanks

Apple review issue

Apple has addressed an issue with the previous build, they have pointed out that the 'sign in' button was not working. I guessing that this can be caused by the slow response times of the server. I am thinking to make the user know that the app is still responding by adding a loading spinner when you click the button. Loading spinners will also be added to the signup and login buttons.

New feature: Like a message in chill&chat

I want to implement a feature so users of chill&chat can like messages others send. The icon for the like button will be a love heart from mui, and there will be a like counter on the side and when the like count is >9 it will display: "9+" instead of the actual number .

Thanks!

Chat room

This issue is for the activity conversations chat room in the Chill&chat app

Giphy(R) API for gif support

Hello! Here is a feature request for support on the Giphy API with GIF support. More information here. The giphy API will send back some gifs that we can support by allowing them to be sent on Chill&chat. Due to the fact that this type of feature was already made and architecture has already been made for it.

Show new messages feature

This is the show new messages feature issuer where the changes can be tracked.

Goal

To make the recent messages show at the bottom of the RoomList component.

Refactoring ticket

The update icon color screen requires refactoring to spectate the styles from embedding in the prop to the style element in the create method.

BUG REPORT!!: Fonts not loading correctly

BUG REPORT!!: bug has been found at:
at Router.tsx line 50 at expoAppLoading.default component.
at loader.ts line 16 at loadFonts function.

To reproduce, just open the app and start it up.

Runtime error when signing out

Hello there! While testing the mobile app, I found a runtime error regarding forward refs and redux state. As listed below.

Code details

Code version: unreleased commit - bc9a5c1
Environment: Visual studio code
Host operating system: MacOS 13.1
Host device: Macbook Pro intel core i5 2017 edition 13 inch
Running device: iPhone 13 mini 2021
Running device operating system: iOS 16.4.1
Expo CLI version: 6.3.2
Node version: 18.15.0
Shell: Zsh
Shell version: 5.8.1

Error message

ERROR  Warning: Cannot update a component (`ForwardRef(BaseNavigationContainer)`) while rendering a different component (`Menu`). To locate the bad setState() call inside `Menu`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
    in Menu (created by SceneView)
    in StaticContainer
    in EnsureSingleNavigator (created by SceneView)
    in SceneView (created by BottomTabView)
    in RCTView (created by View)
    in View (created by Screen)
    in RCTView (created by View)
    in View (created by Background)
    in Background (created by Screen)
    in Screen (created by BottomTabView)
    in RNSScreen (created by AnimatedComponent)
    in AnimatedComponent
    in AnimatedComponentWrapper (created by InnerScreen)
    in Suspender (created by Freeze)
    in Suspense (created by Freeze)
    in Freeze (created by DelayedFreeze)
    in DelayedFreeze (created by InnerScreen)
    in InnerScreen (created by Screen)
    in Screen (created by MaybeScreen)
    in MaybeScreen (created by BottomTabView)
    in RNSScreenNavigationContainer (created by ScreenContainer)
    in ScreenContainer (created by MaybeScreenContainer)
    in MaybeScreenContainer (created by BottomTabView)
    in RCTView (created by View)
    in View (created by SafeAreaInsetsContext)
    in SafeAreaProviderCompat (created by BottomTabView)
    in BottomTabView (created by BottomTabNavigator)
    in PreventRemoveProvider (created by NavigationContent)
    in NavigationContent
    in Unknown (created by BottomTabNavigator)
    in BottomTabNavigator (created by ControlCenter)
    in ControlCenter (created by SceneView)
    in StaticContainer
    in EnsureSingleNavigator (created by SceneView)
    in SceneView (created by SceneView)
    in RCTView (created by View)
    in View (created by DebugContainer)
    in DebugContainer (created by MaybeNestedStack)
    in MaybeNestedStack (created by SceneView)
    in RCTView (created by View)
    in View (created by SceneView)
    in RNSScreen (created by AnimatedComponent)
    in AnimatedComponent
    in AnimatedComponentWrapper (created by InnerScreen)
    in Suspender (created by Freeze)
    in Suspense (created by Freeze)
    in Freeze (created by DelayedFreeze)
    in DelayedFreeze (created by InnerScreen)
    in InnerScreen (created by Screen)
    in Screen (created by SceneView)
    in SceneView (created by NativeStackViewInner)
    in Suspender (created by Freeze)
    in Suspense (created by Freeze)
    in Freeze (created by DelayedFreeze)
    in DelayedFreeze (created by ScreenStack)
    in RNSScreenStack (created by ScreenStack)
    in ScreenStack (created by NativeStackViewInner)
    in NativeStackViewInner (created by NativeStackView)
    in RNCSafeAreaProvider (created by SafeAreaProvider)
    in SafeAreaProvider (created by SafeAreaInsetsContext)
    in SafeAreaProviderCompat (created by NativeStackView)
    in NativeStackView (created by NativeStackNavigator)
    in PreventRemoveProvider (created by NavigationContent)
    in NavigationContent
    in Unknown (created by NativeStackNavigator)
    in NativeStackNavigator
    in EnsureSingleNavigator
    in BaseNavigationContainer
    in ThemeProvider
    in NavigationContainerInner
    in RCTView (created by View)
    in View
    in Provider
    in Unknown (created by withDevTools(Anonymous))
    in withDevTools(Anonymous)
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in main(RootComponent)

Reproduction

Here are some steps to reproduce this bug.

  • Load code environment
  • Login with username and password
  • Tap the user icon
  • Press 'signout'
  • Check logs

Thank you!

Housekeeping

Hello, after testing and adding new features to the Chill&chat mobile app, many bugs and issues have been found that have to be fixed. This housekeeping issue is a mini-project to fix all the bugs found in the latest version that will be pushed out in the next one. Here is a list of the bugs to be fixed:

Modifier issue

This bug was mentioned in #81, but in short, when you use a modifier in the recent messages, it will be shown as plain text and have the risk of exposing API keys.

Socket connection for recent messages

This bug I think was also recently mentioned in #81. Again, in short, this issue is regarding the recent messages in the Menu screen, I need the recent messages to be updated when someone sends a message. This is done by creating a socket connection to the API and listening to messages.

Image rendering issue for MessageOptions

When you go to the MessageOptions page(By long pressing the message bubble) and inspect an uploaded image, the image will throw an error, this is caused due to the fact that no key is provided and the API needs a key to function properly. So, we need to add a key to whether the image is from an external or an internal source.

Improvement: Greeting option to the RoomWelcomer

To improve user experience, we can add an option for the user to send a hello message to the room, the user can press a 'hello' gif to send it to the room. Please note that the other bugs will be a priority, if the other bugs do not get fixed in time, this feature would not be implemented

That's it, however I will add more issues below if needed.

Thanks!

Edit API doc

There will be python samples and example code added to the docs. as well as some grammer and writing issues been fixed

Api CORS error

I have ran into a CORS error when I try to connect to the api it blocks me and gives me an error
Error message:
Access to XMLHttpRequest at 'http://localhost:8080/api/users/get/all' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

If anyone can help me Thanks!

Modifiers issue

Modifiers such as !IMG can allow messages to have better styling. however, they are not normal text and require extra care and caution to make the styling look as seamless as possible. A few bugs have been discovered regarding this feature in the mobile app.

Menu display issue

When a modifier is used in a recent message and displayed on the menu screen, these modifiers will return as plain ascii text. This may make the interface look more cluttered and annoying and make the user confused about why there is random text on the recent messages.

An easy fix would be to replace anything with the !IMG modifier with <image> and any other modifier with nothing. Even though this may affect the styling and look, however, it is more economical and efficient in this way.

Title

When the !TITLE modified is used in a message, there is no way for the user to set a newline underneath that line of text.

A fix can be drafted upon further inspection of the code.

That's it and thanks for reading!

Apple review issues

Hello!
After review, the apple app review team rejected Chill&chat and pointed out many issues that require work and fixing, this includes a 4.0 guideline violation and a 5.1.0 violation. More information can be found below about each of the problems.

App guideline 4.0(Design flaw)

Apple has found that the UpdateIcon screen's ScrollView is conflicting with the Text element when the screen size is limited. However, apple did not specify what device this issue was recorded.

Required fix

A fix is required to stop the ScrollView and the Text elements from conflicting with each other.

App guideline 5.1.0(Legal and law issues)

According to apple app development guidelines, "Starting June 30, 2022, apps submitted to the App Store that support account creation must also let users initiate deletion of their account within the app. Deleting an account removes the account from the developer’s records, along with any data associated with the account that the developer isn’t legally required to maintain." . So, we need to provide a account deletion method.

Thanks!

React hooks error

I was trying to implement a react hook in the loginPage.tsxfile and this error came:

Type '() => JSX.Element | undefined' is not assignable to type 'FC<{}>'.
  Type 'Element | undefined' is not assignable to type 'ReactElement<any, any> | null'.
    Type 'undefined' is not assignable to type 'ReactElement<any, any> | null'.

Can anyone help??
Thanks!

Bugs list

Bug when creating a room

The error screen will be deployed when the user creates a new room. A error message will be also displayed in the console of the app, which read:

 ERROR  [TypeError: undefined is not an object (evaluating 'returnedMessages[returnedMessages.length - 1].user')]

Reproduction steps

  1. Sign in
  2. Tap plus icon
  3. Tap create room
  4. Enter details
  5. Click create

Styling bug

A bug with the styling in the Menu screen was found. Specifically, in the RoomList component where the latest message will overflow to the outside of the screen. This prevents the user from reading it and is not aesthetcally pleasing as a contained text.

Reproduction steps

  1. Sign in

That's All!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.