├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── UPGRADE.md ├── art └── preview.png ├── composer.json ├── composer.lock └── src ├── ChatifyMessenger.php ├── ChatifyServiceProvider.php ├── Console ├── InstallCommand.php └── PublishCommand.php ├── Facades └── ChatifyMessenger.php ├── Http └── Controllers │ ├── Api │ └── MessagesController.php │ └── MessagesController.php ├── MessageCollection.php ├── Models ├── ChFavorite.php └── ChMessage.php ├── Traits ├── HasMessage.php └── UUID.php ├── assets ├── css │ ├── dark.mode.css │ ├── light.mode.css │ └── style.css ├── imgs │ └── avatar.png ├── js │ ├── autosize.js │ ├── code.js │ ├── font.awesome.min.js │ └── utils.js └── sounds │ └── new-message-sound.mp3 ├── config └── chatify.php ├── database └── migrations │ ├── 2022_01_10_99999_add_active_status_to_users.php │ ├── 2022_01_10_99999_add_avatar_to_users.php │ ├── 2022_01_10_99999_add_dark_mode_to_users.php │ ├── 2022_01_10_99999_add_messenger_color_to_users.php │ ├── 2022_01_10_99999_create_chatify_favorites_table.php │ └── 2022_01_10_99999_create_chatify_messages_table.php ├── routes ├── api.php └── web.php └── views ├── layouts ├── favorite.blade.php ├── footerLinks.blade.php ├── headLinks.blade.php ├── info.blade.php ├── listItem.blade.php ├── messageCard.blade.php ├── modals.blade.php └── sendForm.blade.php └── pages └── app.blade.php /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /vendor 3 | composer.lock 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change log 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | ## v1.6.5 () 6 | 7 | ### Fixed 8 | - Settings modal UI #351 9 | - Limit the data retrieved for the user #359 10 | - [FIX] - Init user conversation from URL #374 11 | - Sanitize inputs to prevent xss when sending message #377 12 | 13 | ## v1.6.4 (2024-04-27) 14 | 15 | ### Fixed 16 | - [fix bug] updateSelectedContact and IDinfo load if user_id != auth_id #339 17 | 18 | ## v1.6.3 (2024-03-17) 19 | 20 | ### Added 21 | 22 | - Support for a custom routes. 23 | 24 | ## v1.6.2 (2023-07-27) 25 | 26 | ### Added 27 | 28 | - Support for a custom WS server #291. 29 | 30 | ## v1.6.1 (2023-03-03) 31 | 32 | ### Fixed 33 | 34 | - Migration files issue (Cannot redeclare class...). 35 | 36 | ## v1.6.0 (2023-03-03) 37 | 38 | ### Added 39 | 40 | - Emoji's support. 41 | - Css variables. 42 | - Notification sounds. 43 | - Auto-time updates. 44 | 45 | ### Changed 46 | 47 | - Using UUIDs instead of random IDs on table primary column #243. 48 | - UI/UX changes and enhancements. 49 | - Code refactored (part of it). 50 | - Messenger primary color fallback. 51 | 52 | ### Fixed 53 | 54 | - Fetching messages multiple times at once on send/fetch requests. 55 | - Migrations duplicate class name. 56 | - Prevent chat for invalid user ids #246 57 | - Fix responsiveness when going to chat with specific ID #247. 58 | - App URL should be changed when click the `back to contacts` button on small screens. 59 | - Internet connection UI. 60 | - Prevent Users from updating each others statuses #254 61 | - Contact list realtime updates issues. 62 | - Delete messages issues. 63 | - Fix contact list error `Malformed UTF-8 characters, possibly incorrectly encoded` 64 | - Search multiple request on typing, debouncing used. 65 | 66 | ## v1.5.6 (2023-01-26) 67 | 68 | ### Fixed 69 | 70 | - Keyboard overlaping on input issue on mobile #202. 71 | - Security issue and code enhancements #240. 72 | 73 | ## v1.5.5 (2023-01-21) 74 | 75 | ### Fixed 76 | 77 | - message delete event channel #238. 78 | 79 | ## v1.5.4 (2022-12-05) 80 | 81 | ### Fixed 82 | 83 | - Channels auth secutiy issue #29 84 | 85 | ## v1.5.3 (2022-12-04) 86 | 87 | ### Fixed 88 | 89 | - Channels Secutiy issue #29 90 | 91 | ## v1.5.2 (2022-07-08) 92 | 93 | ### Fixed 94 | 95 | - MessageCard & fetchMessage methods@`ChatifyMessenger.php` fallback. 96 | 97 | ## v1.5.1 (2022-06-09) 98 | 99 | ### Fixed 100 | 101 | - Sync the `sending a message form`'s allowed files/images with the `config` file (Update sendForm.blade.php [#190](https://github.com/munafio/chatify/pull/190)) 102 | 103 | ## v1.5.0 (2022-06-08) 104 | 105 | ### Added 106 | 107 | - Page/Document visibility Support which improves (seen) feature #183 108 | 109 | ### Fixed 110 | 111 | - fix: case insensitive file upload extension check #182 112 | 113 | ## v1.4.0 (2022-05-02) 114 | 115 | ### Added 116 | 117 | - [Gravatar](https:://gravatar.com) support (optional, can be changed at config/chatify.php). 118 | - Delete Message by ID. 119 | - Laravel's Storage disk now supported and can be changed from the config. 120 | 121 | ### Changed 122 | 123 | - File upload (user avatar & attachments) `allowed files` and `max size` now can be changed from one place which is (config/chatify.php). 124 | 125 | ### Fixed 126 | 127 | - Bugs and UI/UX design fixes/improvements. 128 | 129 | ## v1.3.4 (2022-02-04) 130 | 131 | ### Fixed 132 | 133 | - Fixed Installing errors on the migrations step. #163 134 | 135 | ## v1.3.3 (2022-01-10) 136 | 137 | ### Fixed 138 | 139 | - Fixed file upload size limit error message rephrase #160. 140 | 141 | ### Changed 142 | 143 | - Files max upload size changed & added to the config to be customizable. 144 | - Changed `Messenger colors` logic to be more flexible and customizable. 145 | - Migration files renamed, file date automatically will be changed to the publish/install date. 146 | 147 | ## v1.3.2 (2022-01-07) 148 | 149 | ### Fixed 150 | 151 | - Fixed CSS issue in FF with the contact list #157. 152 | - Correct misspelt of `updateContactItem` method (typo error) #159. 153 | 154 | ## v1.3.1 (2021-12-23) 155 | 156 | ### Fixed 157 | 158 | - Fixed migration's rollback, (ch\_) prefix added. 159 | 160 | ## v1.3.0 (2021-11-30) 161 | 162 | ### Fixed 163 | 164 | - UI/Ux fixes & improvements. 165 | - Backend fixes & improvements. 166 | 167 | ### Added 168 | 169 | - Messages, Contacts, and Search pagination. 170 | - API routes. 171 | 172 | ## v1.2.5 (2021-08-18) 173 | 174 | ### Fixed 175 | 176 | - Fixed a security issue on uploaded file-name, which is vulnerable with XSS. 177 | 178 | ## v1.2.4 (2021-07-15) 179 | 180 | ### Fixed 181 | 182 | - README updates. 183 | - Install Command fixes & improvements. 184 | - Contact list visible onLoad. 185 | - Settings’ modal responsive design. 186 | 187 | ### Added 188 | 189 | - UPGRADE.md added. 190 | - Publish command added. 191 | - Package.json additions & modifications. 192 | 193 | ## v1.2.3 - (2021-06-19) 194 | 195 | ### Fixed 196 | 197 | - XSS issue on inputs. 198 | - UI/UX fixes & improvements. 199 | - Send message fixes (UI & backend). 200 | - Update Profile Settings (upload file & error handling ….). 201 | - Shared photos not working issue. 202 | - Typo error fixes (Your `contatc` list is empty). 203 | - Rolling back migrations added. 204 | - Get Last message `orderBy` query duplication. 205 | 206 | ## v1.2.2 - (2021-06-01) 207 | 208 | ### Fixed 209 | 210 | - Migrate to database command removed. 211 | - Publishable asset `assets` avatar config issue. 212 | - Pusher encryption key option removed. 213 | - Settings button on click not working issue. 214 | 215 | ## v1.2.1 - (2021-05-30) 216 | 217 | ### Fixed 218 | 219 | - Publishable asset `assets`. 220 | 221 | ## v1.2.0 - (2021-05-30) 222 | 223 | ### FIxed 224 | 225 | - Security issues. 226 | - UI/UX issues. 227 | - Route [home] not defiend. 228 | - `$msg->attachment` issue #9. 229 | - Delete conversation issue #89. 230 | 231 | ### Added 232 | 233 | - Console commands. 234 | - `Models` added to assets to be published. 235 | - Laravel 8+ support. 236 | 237 | ### Changed 238 | 239 | - Project structure. 240 | - composer updated `pusher/pusher-php-server` to v^7.0. 241 | - Models & Migrations' tables names changed (added `ch` prefix to avoid duplication) solves issue #68. 242 | - Models changed to (`ChMessage`, `ChFavorite`) 243 | - Migrations' tables names (`ch_messages`, `ch_favorites`) 244 | - Configuration file `config/chatify.php`. 245 | 246 | ## v1.0.1 - (2020-09-30) 247 | 248 | ### FIxed 249 | 250 | - Security issues. 251 | 252 | ### Added 253 | 254 | - Routes' controllers namespace included in the configuration. 255 | 256 | ## v1.0.0 - (2019-12-30) 257 | 258 | - First release 259 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Munaf A. Mahdi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |