{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":39863734,"defaultBranch":"master","name":"PFire","ownerLogin":"darcymiranda","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-07-29T00:01:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/609992?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715292123.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"a457580420e5ef90f989ca77a883a4f8c81bf4b0","ref":"refs/heads/fix-byte-attribute-names","pushedAt":"2024-05-09T22:02:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Refactor single byte attribute name serialization","shortMessageHtmlLink":"Refactor single byte attribute name serialization"}},{"before":"e11ee0e5f410742bc7d5aff86fd66aec798467a7","after":"fd5cff13ef0ef083724cdc26f229b8ef702d3432","ref":"refs/heads/master","pushedAt":"2024-05-07T01:12:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Add missing KeepAlive props + unit test (#49)\n\nCo-authored-by: Scott Riordan ","shortMessageHtmlLink":"Add missing KeepAlive props + unit test (#49)"}},{"before":"017656ec649739f6ce807284b683265119084a5f","after":"e11ee0e5f410742bc7d5aff86fd66aec798467a7","ref":"refs/heads/master","pushedAt":"2024-03-29T14:44:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Packet 169 - System Broadcast (#47)\n\nThis packet is sent from the server to send a broadcast to all logged in clients.\r\n\r\nIt features two attributes: An unknown int and a message.\r\n\r\nAs noted in the comments, I am not sure what the int sent does. I looked at decompiled code and it seems to make it skip over reading a string if set to zero or something. However even when set to zero it still displays.","shortMessageHtmlLink":"Packet 169 - System Broadcast (#47)"}},{"before":"f50774e6dddb6823ff43e74864f39a048e9455a5","after":"017656ec649739f6ce807284b683265119084a5f","ref":"refs/heads/master","pushedAt":"2024-03-29T14:43:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Packets 21 and 149 - Fetch Friend Favorite Game Server List (#46)\n\n* Preliminary adding, it reads and sends as it should but no real data is sent, just enough to satisfy xfire awaiting something.\r\n* This packet deals with fetching all game server information based on Game ID and Friend Favorites.\r\n\r\nAdded Inbound Packet GameServerFetchFriendsFavorites (21)\r\n * It only expects a gameid. From there the server sends back GameServerSendFriendsFavorites packet. (Weirdly enough, this one uses the string \"gameid\" unlike the All packet.)\r\n\r\nAdded Outbound Packet GameServerSendFriendsFavorites (149)\r\n * Four attributes are sent: gameid, a list of gameips and a list of gameports (both iterates in sync), list of a list of ints for FriendIds.\r\n * I have added as such for future addition: It makes the lists but doesn't populate them and sends back the GameId sent by the client.\r\n * The FriendIds nested list is a weird one, only ever used again in FriendofFriends. I had to make a list of userids and then put it inside of FriendIds. I don't know why they designed it as such, as vanilla xfire doesn't use this information at all it seems...\r\n\r\nXFireMessageType and XFireMessageTypeFactory adds the packets to the lists as needed.","shortMessageHtmlLink":"Packets 21 and 149 - Fetch Friend Favorite Game Server List (#46)"}},{"before":"b772c67b9ba2bfcd5c9fba7b2cbfc2d063a86bc9","after":"f50774e6dddb6823ff43e74864f39a048e9455a5","ref":"refs/heads/master","pushedAt":"2024-03-28T00:34:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Packets 22 and 150 - Game Servers By ID - All (#45)\n\n* Preliminary adding, it reads and sends as it should but no real data is sent, just enough to satisfy xfire awaiting something.\r\n* This packet deals with fetching all game server information based on Game ID.\r\n\r\nAdded Inbound Packet GameServerFetchAll (22)\r\n ! This one sends a numerical attribute name.\r\n * It only expects a gameid. From there the server sends back GameServerSendAll packet.\r\n\r\nAdded Outbound Packet GameServerSendAll (150)\r\n * Three attributes are sent: gameid, a list of gameips and a list of gameports (both iterates in sync).\r\n ! All three attributes are numerical.\r\n * I have added as such for future addition: It makes the lists but doesn't populate them and sends back the GameId sent by the client.\r\n * In my testing of using a list of hardcoded localhost servers results using Quake 3 and Half-Life 1.5 proved to work, as the base xfire client comes with server query tools built in.\r\n\r\nXFireMessageType and XFireMessageTypeFactory adds the packets to the lists as needed.\r\n\r\nMessageSerializer's GetAttributeName now includes GameServerFetchAll as it recieves attributes that aren't strings. I should fix this eventually, as some packets use bytes and others use strings.","shortMessageHtmlLink":"Packets 22 and 150 - Game Servers By ID - All (#45)"}},{"before":"1da466d305c7fc9d1f0a6ce1093523c261b12f5d","after":"b772c67b9ba2bfcd5c9fba7b2cbfc2d063a86bc9","ref":"refs/heads/master","pushedAt":"2024-03-24T16:41:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Packets 9 and 139 - Friend Removal (#43)\n\n* Packets 9 and 139 - Friend Removal\r\n\r\n* This packet deals with removing a friend, both ways.\r\n\r\n* PFireDatabase functions added/modified: QueryUser and RemoveFriend\r\n * QueryUser has a new overload for an integer arg for the userid. Now you can search users by userid.\r\n * RemoveFriend, both UserModel args adapted from DeletePendingFriendRequest.\r\n\r\n* Added Inbound Packet FriendRemoval (9)\r\n ! This one has no attribute count from the client.\r\n * It only expects a userid. From there the server handles the rest.\r\n * As such, I added an overload to QueryUser to search by userid.\r\n\r\n* Added Outbound Packet FriendRemoved (139)\r\n * This one only has a userid, as a confirmation.\r\n\r\n* Packets 9 and 139 - Naming convention cleanup","shortMessageHtmlLink":"Packets 9 and 139 - Friend Removal (#43)"}},{"before":"22ee134c0286d69229072deb760864437439d96e","after":"1da466d305c7fc9d1f0a6ce1093523c261b12f5d","ref":"refs/heads/master","pushedAt":"2024-02-03T16:56:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Fix github workflow (#42)\n\n* Update workflow .net version\r\n\r\n* Update github actions versions\r\n\r\n---------\r\n\r\nCo-authored-by: Scott Riordan ","shortMessageHtmlLink":"Fix github workflow (#42)"}},{"before":"b3e1f09727a6afe5050864da73554d6c5772bd75","after":"22ee134c0286d69229072deb760864437439d96e","ref":"refs/heads/master","pushedAt":"2024-02-03T00:57:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Update projects to latest .Net and packages to latest versions (#41)\n\nCo-authored-by: Scott Riordan ","shortMessageHtmlLink":"Update projects to latest .Net and packages to latest versions (#41)"}},{"before":"5f60fc38150b5b73daf2c1da0c2499b0edbe3d9f","after":"b3e1f09727a6afe5050864da73554d6c5772bd75","ref":"refs/heads/master","pushedAt":"2023-11-08T15:55:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Packets 4 and 135 - Game Information Packets (#40)\n\n* Packets 4 and 135 - Game Information Packets\r\n(This is a preliminary addition. Game IPs/Ports SHOULD work, but I haven't tested it yet.)\r\n\r\n* This packet sends a game id, as dictated by the client, if the other client doesn't have the id, it won't show it.\r\n\r\nAdded UpdateGameInfo to XFireClient Class and 135 to the list of Message Types.\r\n\r\n* Update src/PFire.Core/Protocol/Messages/Outbound/FriendsGameInfo.cs\r\n\r\nCo-authored-by: Darcy Miranda \r\n\r\n* Update src/PFire.Core/Protocol/Messages/Outbound/FriendsGameInfo.cs\r\n\r\nCo-authored-by: Darcy Miranda \r\n\r\n* Game Information Compliance\r\n* Made a new model for game handling\r\n* Added the game model into the user model\r\n* Removed the function from XFireClient\r\n\r\n* Fixed redundant variable names\r\n\r\n---------\r\n\r\nCo-authored-by: Darcy Miranda ","shortMessageHtmlLink":"Packets 4 and 135 - Game Information Packets (#40)"}},{"before":"b2b698b03754e264a2a9e8bc31618699f0bac354","after":"5f60fc38150b5b73daf2c1da0c2499b0edbe3d9f","ref":"refs/heads/master","pushedAt":"2023-10-24T14:38:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Packet 144 - Server PONG Response Implementation (#39)\n\n* Packet 144 - Server PONG Response Implemention\r\n! This fixes the previous bug of the client timing out the server.\r\n\r\nDescription: When the Client sends a ping, the server will send back a PONG response immediately.\r\n\r\n* This packet has been observed via the client disassembly as needing just a single attribute: 'value' which probably is a dummy attribute. I observed a similar attribute sent by the clientside packet KeepAlive (Packet 13). All captured packets wrote it as zero, I will do so also.\r\n\r\nAs such I have made the XFireMessage name into ServerPong.\r\n\r\n* Update src/PFire.Core/Protocol/Messages/Outbound/ServerPong.cs\r\n\r\nCo-authored-by: Darcy Miranda \r\n\r\n* Update src/PFire.Core/Protocol/Messages/Inbound/KeepAlive.cs\r\n\r\nCo-authored-by: Darcy Miranda \r\n\r\n---------\r\n\r\nCo-authored-by: Darcy Miranda ","shortMessageHtmlLink":"Packet 144 - Server PONG Response Implementation (#39)"}},{"before":"0a4a44b0a6dee30e078b1abd0d518a2a485dc7e2","after":"b2b698b03754e264a2a9e8bc31618699f0bac354","ref":"refs/heads/master","pushedAt":"2023-10-18T04:05:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"darcymiranda","name":"Darcy Miranda","path":"/darcymiranda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609992?s=80&v=4"},"commit":{"message":"Fixed low latency warnings by sending the recipient's acknowledgement to the chat initiator (#38)","shortMessageHtmlLink":"Fixed low latency warnings by sending the recipient's acknowledgement…"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERgo4OAA","startCursor":null,"endCursor":null}},"title":"Activity · darcymiranda/PFire"}