{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":224408104,"defaultBranch":"main","name":"yorkie-js-sdk","ownerLogin":"yorkie-team","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-11-27T10:46:49.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/58236847?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726612133.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"b2c8022a43cd033be9ffcd97754c43873e6e60d6","ref":"refs/heads/dependabot/npm_and_yarn/examples/nextjs-scheduler/next-14.2.10","pushedAt":"2024-09-17T22:28:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump next from 14.1.3 to 14.2.10 in /examples/nextjs-scheduler\n\nBumps [next](https://github.com/vercel/next.js) from 14.1.3 to 14.2.10.\n- [Release notes](https://github.com/vercel/next.js/releases)\n- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)\n- [Commits](https://github.com/vercel/next.js/compare/v14.1.3...v14.2.10)\n\n---\nupdated-dependencies:\n- dependency-name: next\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump next from 14.1.3 to 14.2.10 in /examples/nextjs-scheduler"}},{"before":"95fa481404df9b3e611b1319a114171a7e6c46ea","after":"7e192e07dfb8561528cf7481450ec3f268d76714","ref":"refs/heads/broadcast-error-handling","pushedAt":"2024-09-16T23:18:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gwbaik9717","name":"Gunwoo Baik","path":"/gwbaik9717","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/94460569?s=80&v=4"},"commit":{"message":"Adjust default maxRetries from 10 to 0","shortMessageHtmlLink":"Adjust default maxRetries from 10 to 0"}},{"before":null,"after":"95fa481404df9b3e611b1319a114171a7e6c46ea","ref":"refs/heads/broadcast-error-handling","pushedAt":"2024-09-15T02:21:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwbaik9717","name":"Gunwoo Baik","path":"/gwbaik9717","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/94460569?s=80&v=4"},"commit":{"message":"Add retry logic to handle network errors during broadcasting\n\nThis commit introduces error handling for network failures by implementing a retry mechanism. The broadcasting operation will now attempt to resend the message up to a defined maximum number of retries with a defined retry interval when a network error occurs, ensuring resilience against temporary connectivity issues.","shortMessageHtmlLink":"Add retry logic to handle network errors during broadcasting"}},{"before":null,"after":"14501baf168d4533077f4c60ccc63a022891c269","ref":"refs/heads/max-height-splay","pushedAt":"2024-09-13T00:37:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Apply max height to splay","shortMessageHtmlLink":"Apply max height to splay"}},{"before":"0c6a7db1d1d302e135ec8fae646ce45ca3943a86","after":"f4f7ff46eede1a9028130bc0933947f37ab1a625","ref":"refs/heads/hybrid-clock-version-vector-modified","pushedAt":"2024-09-12T10:46:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Fix lint error","shortMessageHtmlLink":"Fix lint error"}},{"before":"33b60561cd9de85a4ece8ccdcca4cec46fae6e52","after":"4dcb04099410b399b677befd0c6dda7ad1adc9c4","ref":"refs/heads/gh-pages","pushedAt":"2024-09-12T06:00:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 4d5416f255336e120d19458ba095406c158bb9e5","shortMessageHtmlLink":"deploy: 4d5416f"}},{"before":"d5af182ce3963dcabef83a32cb01a8431d7b09da","after":null,"ref":"refs/heads/serializable-type","pushedAt":"2024-09-12T05:58:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"}},{"before":"4837c7d368797970dd47b92b6518b4bd690a52a6","after":"4d5416f255336e120d19458ba095406c158bb9e5","ref":"refs/heads/main","pushedAt":"2024-09-12T05:58:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Restrict presence object type to JSON serializable values (#898)\n\nTo prevent serialization issues, this commit narrows the type of the `presence`\r\nobject `P`. Previously, `

` allowed any value type, \r\nincluding non-JSON serializable ones like byte arrays, Date, and Long.\r\n\r\nWe now introduce a `Json` type, inspired by Liveblocks, to ensure only JSON\r\nserializable types are allowed in the presence object. This change affects\r\nfunctions like `broadcast`, ensuring safe serialization and addressing \r\nissues such as #884.\r\n\r\nThe new `Json` type is defined as follows:\r\n\r\n```\r\nexport type Json = JsonPrimitive | JsonArray | JsonObject;\r\ntype JsonPrimitive = string | number | boolean | null;\r\ntype JsonArray = Array;\r\ntype JsonObject = { [key: string]: Json | undefined };\r\n```\r\n\r\nThis type restriction enhances type safety and prevents potential runtime \r\nerrors during JSON serialization of presence data.\r\n\r\n---------\r\n\r\nCo-authored-by: Youngteac Hong ","shortMessageHtmlLink":"Restrict presence object type to JSON serializable values (#898)"}},{"before":"1eec4d626f4887fa001b9075916078fd9c01bf19","after":"d5af182ce3963dcabef83a32cb01a8431d7b09da","ref":"refs/heads/serializable-type","pushedAt":"2024-09-12T05:50:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Revise the codes","shortMessageHtmlLink":"Revise the codes"}},{"before":"b8b571e3754fe691610d74016b9f8a967cf5a552","after":"1eec4d626f4887fa001b9075916078fd9c01bf19","ref":"refs/heads/serializable-type","pushedAt":"2024-09-12T05:45:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Revise the codes","shortMessageHtmlLink":"Revise the codes"}},{"before":"13f528b27712b5dad78aea5b1b1b419bf8654219","after":"0c6a7db1d1d302e135ec8fae646ce45ca3943a86","ref":"refs/heads/hybrid-clock-version-vector-modified","pushedAt":"2024-09-10T00:40:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Temporarily add unload event code to detach user when close/refresh tab","shortMessageHtmlLink":"Temporarily add unload event code to detach user when close/refresh tab"}},{"before":"7ad07daab1b9a813944d1574de68725d0192738c","after":"b8b571e3754fe691610d74016b9f8a967cf5a552","ref":"refs/heads/serializable-type","pushedAt":"2024-09-09T21:53:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gwbaik9717","name":"Gunwoo Baik","path":"/gwbaik9717","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/94460569?s=80&v=4"},"commit":{"message":"Resolve type errors in examples","shortMessageHtmlLink":"Resolve type errors in examples"}},{"before":"6f383e65a0f709923e41fbeb264c2fee7dd0f463","after":"13f528b27712b5dad78aea5b1b1b419bf8654219","ref":"refs/heads/hybrid-clock-version-vector-modified","pushedAt":"2024-09-09T09:31:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Update bench test","shortMessageHtmlLink":"Update bench test"}},{"before":"3e3afe7c1438b8de0fded7d5d04f062d95e9f561","after":"6f383e65a0f709923e41fbeb264c2fee7dd0f463","ref":"refs/heads/hybrid-clock-version-vector-modified","pushedAt":"2024-09-09T06:17:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Add GC test for concurrent case and concurrent pushonly case","shortMessageHtmlLink":"Add GC test for concurrent case and concurrent pushonly case"}},{"before":"11d4848260f18041584c16e788dfcc907cc13869","after":"3e3afe7c1438b8de0fded7d5d04f062d95e9f561","ref":"refs/heads/hybrid-clock-version-vector-modified","pushedAt":"2024-09-08T14:20:51.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Modify GC test to compare version vector","shortMessageHtmlLink":"Modify GC test to compare version vector"}},{"before":null,"after":"11d4848260f18041584c16e788dfcc907cc13869","ref":"refs/heads/hybrid-clock-version-vector-modified","pushedAt":"2024-09-08T13:06:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Update TC to handle version vector","shortMessageHtmlLink":"Update TC to handle version vector"}},{"before":"7b002e621a63f266a22bffddfb07d422fae38e2c","after":"7ad07daab1b9a813944d1574de68725d0192738c","ref":"refs/heads/serializable-type","pushedAt":"2024-09-08T09:08:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gwbaik9717","name":"Gunwoo Baik","path":"/gwbaik9717","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/94460569?s=80&v=4"},"commit":{"message":"Apply Json type to Broadcast API and Devtools","shortMessageHtmlLink":"Apply Json type to Broadcast API and Devtools"}},{"before":null,"after":"7b002e621a63f266a22bffddfb07d422fae38e2c","ref":"refs/heads/serializable-type","pushedAt":"2024-09-08T09:06:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gwbaik9717","name":"Gunwoo Baik","path":"/gwbaik9717","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/94460569?s=80&v=4"},"commit":{"message":"Apply Json type to Broadcast API and Devtools","shortMessageHtmlLink":"Apply Json type to Broadcast API and Devtools"}},{"before":"84730aea5fab008481f53fe8debfc87f3874b962","after":"33b60561cd9de85a4ece8ccdcca4cec46fae6e52","ref":"refs/heads/gh-pages","pushedAt":"2024-09-06T01:31:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 4837c7d368797970dd47b92b6518b4bd690a52a6","shortMessageHtmlLink":"deploy: 4837c7d"}},{"before":"17c870420e8fdf4b139c6c6a2504f77e4b2abb54","after":"4837c7d368797970dd47b92b6518b4bd690a52a6","ref":"refs/heads/main","pushedAt":"2024-09-06T01:30:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Automate Linting with Husky and lint-staged to Prevent CI Failures (#896)\n\nThis PR addresses the issue where linting was not being automatically\r\nexecuted before commits, despite Husky being installed. The previous\r\nsetup had Husky installed at v8, but proper pre-commit hooks were not\r\nin place to ensure that linting occurred consistently. Since Husky v5,\r\nthe configuration and usage have changed. For more details, refer to\r\nthe documentation of Husky.\r\n\r\nKey changes include:\r\n\r\n- Adding the missing pre-commit configuration in the .husky folder,\r\n and ensure Husky works as expected to automate linting at the\r\n pre-commit stage.\r\n- Integrating lint-staged to only lint the files that are staged for\r\n commit, improving efficiency.\r\n\r\nWith these updates, developers will no longer need to manually run\r\nlint checks, as the process will be automated and enforced during the\r\ncommit phase.","shortMessageHtmlLink":"Automate Linting with Husky and lint-staged to Prevent CI Failures (#896"}},{"before":"dcc252bd2c284ce8dab95a8fbd65c6c13b7a5fce","after":"1083e2486f726d4ef49c3eb15d7f9c1ea8cbf2c4","ref":"refs/heads/hybrid-clock-version-vector","pushedAt":"2024-09-06T01:27:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Modify GC logic to use version vector","shortMessageHtmlLink":"Modify GC logic to use version vector"}},{"before":null,"after":"dcc252bd2c284ce8dab95a8fbd65c6c13b7a5fce","ref":"refs/heads/hybrid-clock-version-vector","pushedAt":"2024-09-05T16:48:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"JOOHOJANG","name":null,"path":"/JOOHOJANG","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46807540?s=80&v=4"},"commit":{"message":"Modify id update logic to reflect version vector max operation","shortMessageHtmlLink":"Modify id update logic to reflect version vector max operation"}},{"before":"060514540b59a91217fc4516dab1540df74f4f8f","after":"84730aea5fab008481f53fe8debfc87f3874b962","ref":"refs/heads/gh-pages","pushedAt":"2024-09-05T08:49:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 17c870420e8fdf4b139c6c6a2504f77e4b2abb54","shortMessageHtmlLink":"deploy: 17c8704"}},{"before":"835243d78e847350e2f2966afafec1dc47f78924","after":null,"ref":"refs/heads/v0.5.0","pushedAt":"2024-09-05T08:48:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"}},{"before":"2b2ee0ba0f891e048f6d90d9c76505589f486876","after":"17c870420e8fdf4b139c6c6a2504f77e4b2abb54","ref":"refs/heads/main","pushedAt":"2024-09-05T08:48:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md for v0.5.0 (#894)","shortMessageHtmlLink":"Update CHANGELOG.md for v0.5.0 (#894)"}},{"before":null,"after":"835243d78e847350e2f2966afafec1dc47f78924","ref":"refs/heads/v0.5.0","pushedAt":"2024-09-05T08:42:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md for v0.5.0","shortMessageHtmlLink":"Update CHANGELOG.md for v0.5.0"}},{"before":"4bd2a907ef7b58e9a83d549ca5c3cc1fa95ea64b","after":"2b2ee0ba0f891e048f6d90d9c76505589f486876","ref":"refs/heads/main","pushedAt":"2024-09-05T01:06:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Introduce broadcast API for event sharing (#884)\n\nThis commit implements broadcast API, which enables the sharing of a\r\nbroader range of general events beyond the current document and\r\npresence events in Yorkie's Publish-Subscribe model.\r\n\r\n1. Broadcast Events:\r\n\r\nUsers can now broadcast custom events with a specified topic and payload.\r\nThe payload can be of any type, as long as it is serializable.\r\n\r\n```ts\r\n// Broadcast an event with a topic and payload\r\nconst payload = 'hello';\r\ndoc.broadcast('TOPIC_NAME', payload);\r\n```\r\n\r\n2. Subscribe to Broadcast Events:\r\n\r\nUsers can subscribe to specific topics and handle the events via a\r\ncallback function. The callback is triggered whenever an event with\r\nthe corresponding topic is broadcast.\r\n\r\n```ts\r\n// Subscribe to a specific topic for broadcast events\r\ndoc.subscribe('broadcast', ({value: {topic, payload, clientID}}) => {\r\n // Handle the broadcast event for the specified topic\r\n});\r\n```","shortMessageHtmlLink":"Introduce broadcast API for event sharing (#884)"}},{"before":"2b2ee0ba0f891e048f6d90d9c76505589f486876","after":"4bd2a907ef7b58e9a83d549ca5c3cc1fa95ea64b","ref":"refs/heads/main","pushedAt":"2024-09-05T00:20:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Automate Linting with `Husky` and `lint-staged` to Prevent CI Failures (#893)\n\nThis commit addresses the issue where linting was not being automatically\r\nexecuted before commits, despite Husky being installed. The previous\r\nsetup had Husky installed at v8, but proper pre-commit hooks were not\r\nin place to ensure that linting occurred consistently. Since Husky v5,\r\nthe configuration and usage have changed. For more details, refer to\r\nthe documentation of Husky.\r\n\r\nKey changes include:\r\n\r\n- Adding the missing pre-commit configuration in the .husky folder,\r\n and ensure Husky works as expected to automate linting at the\r\n pre-commit stage.\r\n- Integrating lint-staged to only lint the files that are staged for\r\n commit, improving efficiency.\r\n\r\nWith these updates, developers will no longer need to manually run\r\nlint checks, as the process will be automated and enforced during the\r\ncommit phase.","shortMessageHtmlLink":"Automate Linting with Husky and lint-staged to Prevent CI Failures ("}},{"before":"542a20ff889a3f47629af74d653a5f44d2f7e1d1","after":"060514540b59a91217fc4516dab1540df74f4f8f","ref":"refs/heads/gh-pages","pushedAt":"2024-09-03T00:57:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: 2b2ee0ba0f891e048f6d90d9c76505589f486876","shortMessageHtmlLink":"deploy: 2b2ee0b"}},{"before":"18ad89f700c0737d1143af6fd0d045a2d1fbe547","after":"2b2ee0ba0f891e048f6d90d9c76505589f486876","ref":"refs/heads/main","pushedAt":"2024-09-03T00:55:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hackerwins","name":"Youngteac Hong","path":"/hackerwins","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2059311?s=80&v=4"},"commit":{"message":"Introduce broadcast API for event sharing (#884)\n\nThis commit implements broadcast API, which enables the sharing of a\r\nbroader range of general events beyond the current document and\r\npresence events in Yorkie's Publish-Subscribe model.\r\n\r\n1. Broadcast Events:\r\n\r\nUsers can now broadcast custom events with a specified topic and payload.\r\nThe payload can be of any type, as long as it is serializable.\r\n\r\n```ts\r\n// Broadcast an event with a topic and payload\r\nconst payload = 'hello';\r\ndoc.broadcast('TOPIC_NAME', payload);\r\n```\r\n\r\n2. Subscribe to Broadcast Events:\r\n\r\nUsers can subscribe to specific topics and handle the events via a\r\ncallback function. The callback is triggered whenever an event with\r\nthe corresponding topic is broadcast.\r\n\r\n```ts\r\n// Subscribe to a specific topic for broadcast events\r\ndoc.subscribe('broadcast', ({value: {topic, payload, clientID}}) => {\r\n // Handle the broadcast event for the specified topic\r\n});\r\n```","shortMessageHtmlLink":"Introduce broadcast API for event sharing (#884)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QyMjoyODo1My4wMDAwMDBazwAAAAS5Cvfe","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QyMjoyODo1My4wMDAwMDBazwAAAAS5Cvfe","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wM1QwMDo1NTo1MC4wMDAwMDBazwAAAASrCqwq"}},"title":"Activity ยท yorkie-team/yorkie-js-sdk"}