{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":754022331,"defaultBranch":"main","name":"firebase-auth-chat-app","ownerLogin":"neronguyenvn","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-07T08:47:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/50225603?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1707364010.0","currentOid":""},"activityList":{"items":[{"before":"d4df1a4e09b3c14c975ede1759799efff1ad27ea","after":"9e9470f16203cd6c9e32437e02fa08476f2c2b2a","ref":"refs/heads/main","pushedAt":"2024-09-02T16:13:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"feat(architecture:domain)","shortMessageHtmlLink":"feat(architecture:domain)"}},{"before":"321ab956937b782d1bbc7f9af07fa9eb514ff255","after":"d4df1a4e09b3c14c975ede1759799efff1ad27ea","ref":"refs/heads/main","pushedAt":"2024-09-02T16:11:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"feat(architecture:domain)","shortMessageHtmlLink":"feat(architecture:domain)"}},{"before":"52cad641af4f9d5dbc0e7f1f787844a7d547dde7","after":"321ab956937b782d1bbc7f9af07fa9eb514ff255","ref":"refs/heads/main","pushedAt":"2024-09-02T16:10:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"fix(coroutine)","shortMessageHtmlLink":"fix(coroutine)"}},{"before":"6bc8ebe3c1388b4e19ef3673f33b30659b674d67","after":"52cad641af4f9d5dbc0e7f1f787844a7d547dde7","ref":"refs/heads/main","pushedAt":"2024-09-02T16:02:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"feat: add buildSrc and coroutine modules","shortMessageHtmlLink":"feat: add buildSrc and coroutine modules"}},{"before":"2986fdaae138490996800d7a204d362c69334da3","after":"6bc8ebe3c1388b4e19ef3673f33b30659b674d67","ref":"refs/heads/main","pushedAt":"2024-09-01T17:57:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"chore: bump dependencies, migrate to kotlin 2.0","shortMessageHtmlLink":"chore: bump dependencies, migrate to kotlin 2.0"}},{"before":"1ace21d18d5e3d6ff95bea802f08329aca83e442","after":"2986fdaae138490996800d7a204d362c69334da3","ref":"refs/heads/main","pushedAt":"2024-09-01T16:21:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"refactor: clean up project and rename app to ChatToggle","shortMessageHtmlLink":"refactor: clean up project and rename app to ChatToggle"}},{"before":"719b50e0dac473210fc10732e0b8a94b72578b42","after":"1ace21d18d5e3d6ff95bea802f08329aca83e442","ref":"refs/heads/main","pushedAt":"2024-03-04T09:33:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[ui] Update corner shape from using percent to using dp value to ensure consistency for both short and long messages","shortMessageHtmlLink":"[ui] Update corner shape from using percent to using dp value to ensu…"}},{"before":"909ed5470fe210923e4a6bfb6cde42b17faffe58","after":"719b50e0dac473210fc10732e0b8a94b72578b42","ref":"refs/heads/main","pushedAt":"2024-03-04T08:21:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[doc] Update README.md","shortMessageHtmlLink":"[doc] Update README.md"}},{"before":"a0c7d7d38a985a4e68032d1e7be75285a323af05","after":"909ed5470fe210923e4a6bfb6cde42b17faffe58","ref":"refs/heads/main","pushedAt":"2024-03-04T07:45:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[fix] Correct intent filter action name in PushNotificationService","shortMessageHtmlLink":"[fix] Correct intent filter action name in PushNotificationService"}},{"before":"3f56244d2bbdcbbf16d9b909d104968407cf67d8","after":"a0c7d7d38a985a4e68032d1e7be75285a323af05","ref":"refs/heads/main","pushedAt":"2024-03-04T07:03:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[doc] Add Chatne_Complete_Flow video in demo section of README.md","shortMessageHtmlLink":"[doc] Add Chatne_Complete_Flow video in demo section of README.md"}},{"before":"e5e43279d0871923cfcd30482c382401eb2fba20","after":"3f56244d2bbdcbbf16d9b909d104968407cf67d8","ref":"refs/heads/main","pushedAt":"2024-03-04T06:55:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[doc] Add README.md","shortMessageHtmlLink":"[doc] Add README.md"}},{"before":"3f56244d2bbdcbbf16d9b909d104968407cf67d8","after":"e5e43279d0871923cfcd30482c382401eb2fba20","ref":"refs/heads/main","pushedAt":"2024-03-04T06:46:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[doc] update README.md","shortMessageHtmlLink":"[doc] update README.md"}},{"before":"fe9fb3bcb86d9068b2fe8d1c2135feecb2df169e","after":"3f56244d2bbdcbbf16d9b909d104968407cf67d8","ref":"refs/heads/main","pushedAt":"2024-03-04T00:00:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[doc] Add README.md","shortMessageHtmlLink":"[doc] Add README.md"}},{"before":"3f56244d2bbdcbbf16d9b909d104968407cf67d8","after":"fe9fb3bcb86d9068b2fe8d1c2135feecb2df169e","ref":"refs/heads/main","pushedAt":"2024-03-03T23:26:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[chore] Update README.md","shortMessageHtmlLink":"[chore] Update README.md"}},{"before":"c72431d742f61de6dc3922e2a2d6acf2ea2bfbc3","after":"3f56244d2bbdcbbf16d9b909d104968407cf67d8","ref":"refs/heads/main","pushedAt":"2024-03-03T23:22:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[doc] Add README.md","shortMessageHtmlLink":"[doc] Add README.md"}},{"before":"8faecc4badcb3368557ba8a57b26914ba306692b","after":"c72431d742f61de6dc3922e2a2d6acf2ea2bfbc3","ref":"refs/heads/main","pushedAt":"2024-03-03T05:58:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[perf] Improve performance by directly inserting successfully sent WebSocket messages into the local database","shortMessageHtmlLink":"[perf] Improve performance by directly inserting successfully sent We…"}},{"before":"e4ff1132902f6aa21a7d0f940949ef4716304dc9","after":"8faecc4badcb3368557ba8a57b26914ba306692b","ref":"refs/heads/main","pushedAt":"2024-03-03T05:53:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[fix] Correct loading state handling in AuthPresenter; Preserve inputMessage in ChatRoomPresenter","shortMessageHtmlLink":"[fix] Correct loading state handling in AuthPresenter; Preserve input…"}},{"before":"c5893f73cac6a40292caf1e1cacabf2b2693438a","after":"e4ff1132902f6aa21a7d0f940949ef4716304dc9","ref":"refs/heads/main","pushedAt":"2024-03-02T20:05:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[refactor] Encapsulate URLs into Endpoint object","shortMessageHtmlLink":"[refactor] Encapsulate URLs into Endpoint object"}},{"before":"b62ab5e254721407e0e985c37271dbf01b71f69a","after":"c5893f73cac6a40292caf1e1cacabf2b2693438a","ref":"refs/heads/main","pushedAt":"2024-03-02T20:04:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[refactor] Encapsulate URLs into Endpoint object","shortMessageHtmlLink":"[refactor] Encapsulate URLs into Endpoint object"}},{"before":"58cedd4a4c086fc775cb604eda5cf6b546a753b7","after":"b62ab5e254721407e0e985c37271dbf01b71f69a","ref":"refs/heads/main","pushedAt":"2024-03-02T19:25:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[feat] Manage WebSocket connection lifecycle with lifecycle considerations; incoming messages from WebSocket are now inserted into the database instead of being emitted to the upper layer","shortMessageHtmlLink":"[feat] Manage WebSocket connection lifecycle with lifecycle considera…"}},{"before":"56cb26df6f0f1c4bfaa6f666ff1c7c0f4aadf713","after":"58cedd4a4c086fc775cb604eda5cf6b546a753b7","ref":"refs/heads/main","pushedAt":"2024-03-02T16:37:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[feat] Introduce offline-first chat history using Realm database","shortMessageHtmlLink":"[feat] Introduce offline-first chat history using Realm database"}},{"before":"b921a46dfc8f6a670a147186d869045b5ca2eeb3","after":"56cb26df6f0f1c4bfaa6f666ff1c7c0f4aadf713","ref":"refs/heads/main","pushedAt":"2024-02-28T15:52:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[ui] Enable edge-to-edge, tweak ChatRoomScreen UI","shortMessageHtmlLink":"[ui] Enable edge-to-edge, tweak ChatRoomScreen UI"}},{"before":"0269bfdab358f78b1f1d92de1d9d1b44b07a107d","after":"b921a46dfc8f6a670a147186d869045b5ca2eeb3","ref":"refs/heads/main","pushedAt":"2024-02-28T13:35:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[ui] Create message card components for current user and other; format timestamp with default options","shortMessageHtmlLink":"[ui] Create message card components for current user and other; forma…"}},{"before":"0bcd74666b5922b79b7101f6a62ce2abdd0bf440","after":"0269bfdab358f78b1f1d92de1d9d1b44b07a107d","ref":"refs/heads/main","pushedAt":"2024-02-28T13:32:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[feat] Implement shouldShowInfo and shouldShowTimestamp functions in ChatRoomPresenter","shortMessageHtmlLink":"[feat] Implement shouldShowInfo and shouldShowTimestamp functions in …"}},{"before":"3fd4f8867b70bd7dada6358e87afadc61ad52e93","after":"0bcd74666b5922b79b7101f6a62ce2abdd0bf440","ref":"refs/heads/main","pushedAt":"2024-02-28T13:29:48.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[feat] Expand ChatMessage with control properties; synchronize NetworkMessage with backend model updates","shortMessageHtmlLink":"[feat] Expand ChatMessage with control properties; synchronize Networ…"}},{"before":"695ff9d5912bf672de6898e816557fe74ad702b7","after":"3fd4f8867b70bd7dada6358e87afadc61ad52e93","ref":"refs/heads/main","pushedAt":"2024-02-27T16:53:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[fix] Ensure JSON object injection for consistent usage","shortMessageHtmlLink":"[fix] Ensure JSON object injection for consistent usage"}},{"before":"4f798922b329a74821534ce33d186a9fdb4509a3","after":"695ff9d5912bf672de6898e816557fe74ad702b7","ref":"refs/heads/main","pushedAt":"2024-02-27T16:39:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[feat+ui] Introduce TopBar with user avatar for accessing additional user information; relocate sign-out option within it","shortMessageHtmlLink":"[feat+ui] Introduce TopBar with user avatar for accessing additional …"}},{"before":"dd8c4590afddfae3f96512aa2b30efdb8d00cc2e","after":"4f798922b329a74821534ce33d186a9fdb4509a3","ref":"refs/heads/main","pushedAt":"2024-02-27T12:53:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[fix+ui] Implement simple welcome message; temporarily disable sign-in button during its execution","shortMessageHtmlLink":"[fix+ui] Implement simple welcome message; temporarily disable sign-i…"}},{"before":"102edb23fcbac3bb8d483660f20b2900151c5800","after":"dd8c4590afddfae3f96512aa2b30efdb8d00cc2e","ref":"refs/heads/main","pushedAt":"2024-02-27T09:02:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[feat] Enhance Chat WebSocket to return UserMessage instead of plain text","shortMessageHtmlLink":"[feat] Enhance Chat WebSocket to return UserMessage instead of plain …"}},{"before":"f58ede2dc83e1dd90b01fe88c71afeb19c8d4dea","after":"102edb23fcbac3bb8d483660f20b2900151c5800","ref":"refs/heads/main","pushedAt":"2024-02-27T05:45:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"neronguyenvn","name":"Nero Nguyen","path":"/neronguyenvn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/50225603?s=80&v=4"},"commit":{"message":"[feat] Implement sign out function for chat room","shortMessageHtmlLink":"[feat] Implement sign out function for chat room"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEqshldQA","startCursor":null,"endCursor":null}},"title":"Activity · neronguyenvn/firebase-auth-chat-app"}