{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":824641936,"defaultBranch":"main","name":"fury","ownerLogin":"mikaelpeltier","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-07-05T15:21:23.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/12774819?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1720192889.9078999","currentOid":""},"activityList":{"items":[{"before":"e99b46f4b83f79a23cf240466479da9e3657810d","after":"fd4ba2e2cbb7da1d0c6752de20752290b9594cee","ref":"refs/heads/main","pushedAt":"2024-08-18T16:25:24.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"mikaelpeltier","name":"Mikaël Peltier","path":"/mikaelpeltier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12774819?s=80&v=4"},"commit":{"message":"fix(scala): fix nested type serialization in scala object type (#1809)\n\n## What does this PR do?\r\n\r\n\r\n\r\n\r\n## Related issues\r\n\r\nCloses #1801 \r\n\r\n\r\n## Does this PR introduce any user-facing change?\r\n\r\n\r\n\r\n- [ ] Does this PR introduce any public API change?\r\n- [ ] Does this PR introduce any binary protocol compatibility change?\r\n\r\n\r\n## Benchmark\r\n\r\n","shortMessageHtmlLink":"fix(scala): fix nested type serialization in scala object type (apach…"}},{"before":"7517c23c3964d2ed948ba5deeda2057ff5e1b8bb","after":"e99b46f4b83f79a23cf240466479da9e3657810d","ref":"refs/heads/main","pushedAt":"2024-08-12T08:52:07.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"mikaelpeltier","name":"Mikaël Peltier","path":"/mikaelpeltier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12774819?s=80&v=4"},"commit":{"message":"feat(Rust): Support polymorphism (#1795)\n\n## What does this PR do?\r\n1. Support polymorphism\r\nAdd a class resolver which is used for managing the relationship between\r\ntype_id and serializer. The serializer is generated by a generic\r\nfunction which will be called by dynamic dispatch. When a struct uses\r\n`Box` as a field type and does not specify the specific type,\r\nwe will use the class resolver to load the handler by type_id. In this\r\nsituation, there is some performance overhead due to hash lookup, but it\r\ngreatly improves convenience.\r\nUse as follow:\r\n```Rust\r\n#[test]\r\nfn any() {\r\n #[derive(Fury, Debug)]\r\n struct Animal {\r\n f3: String,\r\n }\r\n\r\n #[derive(Fury, Debug)]\r\n struct Person {\r\n f1: Box,\r\n }\r\n\r\n let person = Person {\r\n f1: Box::new(Animal {\r\n f3: String::from(\"hello\"),\r\n }),\r\n };\r\n\r\n let mut fury = Fury::default();\r\n fury.register::(999);\r\n fury.register::(1000);\r\n let bin = fury.serialize(&person);\r\n let obj: Person = fury.deserialize(&bin).expect(\"\");\r\n assert_eq!(true, obj.f1.is::())\r\n}\r\n\r\n```\r\n2. Add a register function for user to register Struct and id\r\n3. Remove tag and hash which were generate by macro before and were\r\nremoved in our protocol now.\r\n\r\n## TODO\r\n1. Internal types like String、Set and Map should be registered by fury\r\nby default and lookup by pattern match to avoid hash overhead.\r\n2. More unit testcases.\r\n3. Support `Box `","shortMessageHtmlLink":"feat(Rust): Support polymorphism (apache#1795)"}},{"before":"d25ccbb1803f137cc5e9bf15fa060ae67c5be7ad","after":"7517c23c3964d2ed948ba5deeda2057ff5e1b8bb","ref":"refs/heads/main","pushedAt":"2024-07-27T15:44:20.000Z","pushType":"push","commitsCount":32,"pusher":{"login":"mikaelpeltier","name":"Mikaël Peltier","path":"/mikaelpeltier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12774819?s=80&v=4"},"commit":{"message":"chore(java): add fury deep copy documentation (#1773)\n\n## What does this PR do?\r\n\r\nadd fury deep copy documentation\r\n\r\n## Related issues\r\n\r\nCloses #1772\r\n\r\n## Does this PR introduce any user-facing change?\r\n\r\n\r\n\r\n- [ ] Does this PR introduce any public API change?\r\n- [ ] Does this PR introduce any binary protocol compatibility change?\r\n\r\n\r\n## Benchmark\r\n\r\n","shortMessageHtmlLink":"chore(java): add fury deep copy documentation (apache#1773)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xOFQxNjoyNToyNC4wMDAwMDBazwAAAASdXJv2","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xOFQxNjoyNToyNC4wMDAwMDBazwAAAASdXJv2","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yN1QxNTo0NDoyMC4wMDAwMDBazwAAAASKxwMu"}},"title":"Activity · mikaelpeltier/fury"}