{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":757448383,"defaultBranch":"main","name":"mls-kotlin","ownerLogin":"Traderjoe95","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-14T14:15:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11873598?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1707920160.8082108","currentOid":""},"activityList":{"items":[{"before":"f3dc2905dbebfe32179c4c8e32154e920ac4939e","after":"70bd7110b08713ae9425bbad6e6da13fa6fed8f3","ref":"refs/heads/main","pushedAt":"2024-03-15T20:02:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Add exposed port to container image","shortMessageHtmlLink":"Add exposed port to container image"}},{"before":"a3b9b15e409a8e86f013ee0f6e5e6099e51c0b2c","after":"f3dc2905dbebfe32179c4c8e32154e920ac4939e","ref":"refs/heads/main","pushedAt":"2024-03-15T19:57:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Implement the initial version of the interop harness\n\nAdds an implementation of the MLS test harness on vertx-grpc,\nincluding a JIB image build. No testing is done yet.\n\nAdd some helpers and APIs that are helpful for the test\nharness, or in general.\n\nRename dataT back to T in `Encodable` instances for consistency.","shortMessageHtmlLink":"Implement the initial version of the interop harness"}},{"before":"c42532bdc133922c72336aa77e05badfc043fd8e","after":"a3b9b15e409a8e86f013ee0f6e5e6099e51c0b2c","ref":"refs/heads/main","pushedAt":"2024-03-09T22:02:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Fix usage of Lifetime struct to work around Java's Instant domain restrictions","shortMessageHtmlLink":"Fix usage of Lifetime struct to work around Java's Instant domain res…"}},{"before":"2f67de7c6c5b50109c19fe8f7e57b5fc43b028d4","after":"c42532bdc133922c72336aa77e05badfc043fd8e","ref":"refs/heads/main","pushedAt":"2024-03-09T21:43:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Write README","shortMessageHtmlLink":"Write README"}},{"before":"671c1d4edcc08937d15c235cce13b9ecc3cbfb63","after":"2f67de7c6c5b50109c19fe8f7e57b5fc43b028d4","ref":"refs/heads/main","pushedAt":"2024-03-05T13:35:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Add IntelliJ Code Styles to Repository","shortMessageHtmlLink":"Add IntelliJ Code Styles to Repository"}},{"before":"ccfd5613f06a477f1010ab32112e7fda9d2c422d","after":"671c1d4edcc08937d15c235cce13b9ecc3cbfb63","ref":"refs/heads/main","pushedAt":"2024-03-05T13:32:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Fix application of handshake message options","shortMessageHtmlLink":"Fix application of handshake message options"}},{"before":"e507532e7cfdbff796e9ef47dc27d6c4bd0db9e4","after":"ccfd5613f06a477f1010ab32112e7fda9d2c422d","ref":"refs/heads/main","pushedAt":"2024-03-04T20:47:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Re-implement demo in terms of the new high-level API\n\nFix a few bugs and add accessors for ReInit and\nBranch functionality.\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Re-implement demo in terms of the new high-level API"}},{"before":"01c06322e0a3e2db089d8271878aaa35ac88448d","after":"e507532e7cfdbff796e9ef47dc27d6c4bd0db9e4","ref":"refs/heads/main","pushedAt":"2024-03-02T14:12:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Implement a rough sketch for the high-level Re-init API\n\nProcessing handshake messages now returns a dedicated\nresult type, if successful. It may indicate that\n\na. a proposal was processed\nb. a commit was processed (that added no new members)\nc. a commit was processed that added new members\nd. a commit was processed that triggered a re-init\n\nIn case c., the result includes a list of welcome\nmessages to send, plus the key packages they are\nto be sent to. Note that only the committer receives\nthis result, as other members may not be able to create\nthe welcome messages.\n\nIn case d., the result contains the SuspendedGroupClient\ninstance that can be used to resume the group (i.e start\na new group and create welcome messages for all members).\nNote that this transition to a different client state\nisn't supported on the MlsClient level so far.\n\nRemoves the very outdated and incomplete service modules\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Implement a rough sketch for the high-level Re-init API"}},{"before":"507b82fe7212b07c972d0adcb1e83c6c200b7771","after":"01c06322e0a3e2db089d8271878aaa35ac88448d","ref":"refs/heads/main","pushedAt":"2024-03-02T12:50:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Continue with implementing high-level API\n\nWork on usability of the public API by translating\na good chunk of it from using context receivers to\nplain Either.\n\nProperly handle errors in HPKE decryption and any key\ndeserialization.\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Continue with implementing high-level API"}},{"before":"6cd53ff88fdfa768723b25a9bbc2f0ff7bca71c9","after":"507b82fe7212b07c972d0adcb1e83c6c200b7771","ref":"refs/heads/main","pushedAt":"2024-02-29T23:08:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Begin implementation of a high-level client API\n\nAdds GroupClient and MlsClient, providing access to a single group\nand managing multiple groups, respectively.\nAdds a message factory and proposal validator to the GroupState.\n\nRemoves ApplicationCtx, as it introduces unwanted dependencies.\n\nFixes package directive in the .message package.\n\nImplements proper handling for own updates (caching the private\nkeys)\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Begin implementation of a high-level client API"}},{"before":"d7970aa899ac81acb67308b86ecd3870f9801a9a","after":"6cd53ff88fdfa768723b25a9bbc2f0ff7bca71c9","ref":"refs/heads/main","pushedAt":"2024-02-27T16:28:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Finish integration of test vectors and fix more bugs\n\nFixes a bug that entirely disabled using proposal references\nin commits. Fixes calculation of proposal references to use\nAuthenticatedContent instead of the raw Proposal.\n\nFixes enum encoded width of ResumptionPskUsage to be one byte\ninstead of two.\n\nRelax deserialization of the ReInit extensions field, as it\npreviously required the extension types to be valid for the\nGroupContext. Unfortunately, the test vectors use an illegal\nextension type (RatchetTree) in there, which made tests fail.\nIf this is fixed in the test vectors, this change can be reverted.\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Finish integration of test vectors and fix more bugs"}},{"before":"abaa7b6989de33037673fecd2eb0efc925a86ec1","after":"d7970aa899ac81acb67308b86ecd3870f9801a9a","ref":"refs/heads/main","pushedAt":"2024-02-27T00:06:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"More test vectors and API improvements\n\nSplit update path application (receiver side) into smaller methods\nand simplify it.\n\nAdd generic-based binding between ContentType and Content. This allows\nPrivateMessages to also carry a type hint for their content (in form of\nthe ContentType). Add a specialized superinterface for handshake content\ntypes to be able to express \"Messages carrying handshake content\" in terms\nof type expressions.\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"More test vectors and API improvements"}},{"before":"d67beebebe379051814a01722e654047feb63002","after":"abaa7b6989de33037673fecd2eb0efc925a86ec1","ref":"refs/heads/main","pushedAt":"2024-02-25T23:09:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Begin introducing test vectors and fix bugs discovered\n\nAdd demo for branching.\n\nSome API adjustments, including a common base types for refined\nbytes-like types. Monkey-patch a bug in BC's DHKEM implementation.\n\nRemove ULID from library API.\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Begin introducing test vectors and fix bugs discovered"}},{"before":"1e60247f74b4370eafd95d36586d186c6d9057ad","after":"d67beebebe379051814a01722e654047feb63002","ref":"refs/heads/main","pushedAt":"2024-02-21T21:13:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Make GroupState only cover one epoch and make it immutable\n\nImproves GroupState handling by making it immutable. Every update\nto the state (as done by handshake messages) causes a new (immutable)\ninstance to be created.\n\nImprove distinction between group states of active and suspended groups\nand make these types public.\n\nRemove most dependencies on ApplicationCtx, as they lead to hard-to-\nfix problems.\n\nFix issues in crypto (namely key [de]serialization).\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Make GroupState only cover one epoch and make it immutable"}},{"before":"9033ad8db1815246af456b94967ef0b2512082fc","after":"1e60247f74b4370eafd95d36586d186c6d9057ad","ref":"refs/heads/main","pushedAt":"2024-02-19T23:38:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Update RatchetTree to include private keys and restructure the API\n\nAdds SecretTree interface for representing the Secret Tree, plus the\nSecretTreeImpl class.\n\nRemoves TreePrivateKeyStore. Removes unnecessary context from properties\nlike NodeIndex.parent and such.\n\nRemoves GroupInfo from commit signatures; it can be created easily\nfrom the GroupState.\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Update RatchetTree to include private keys and restructure the API"}},{"before":"a02f17a54dc66ba94bed6160d7d0c2c82f74f465","after":"9033ad8db1815246af456b94967ef0b2512082fc","ref":"refs/heads/main","pushedAt":"2024-02-18T22:29:00.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Small cosmetic adjustment to README\n\nSigned-off-by: Johannes Leupold ","shortMessageHtmlLink":"Small cosmetic adjustment to README"}},{"before":null,"after":"a02f17a54dc66ba94bed6160d7d0c2c82f74f465","ref":"refs/heads/main","pushedAt":"2024-02-14T14:16:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Traderjoe95","name":"Johannes Leupold","path":"/Traderjoe95","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11873598?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEFwV7LwA","startCursor":null,"endCursor":null}},"title":"Activity · Traderjoe95/mls-kotlin"}