{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":529027653,"defaultBranch":"trunk","name":"wordpress-playground","ownerLogin":"WordPress","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-08-25T21:46:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/276006?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717111189.0","currentOid":""},"activityList":{"items":[{"before":"f57c63cc76aff138404faa4f11da2ac72c8927e3","after":null,"ref":"refs/heads/revert-routing-changes","pushedAt":"2024-05-30T23:19:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"brandonpayton","name":"Brandon Payton","path":"/brandonpayton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/530877?s=80&v=4"}},{"before":"36b126e367fe3b54cdf3fdd3ab72998e20963ac5","after":"b35b882031aad7663c1e90b89702cb923d84df90","ref":"refs/heads/trunk","pushedAt":"2024-05-30T23:19:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"brandonpayton","name":"Brandon Payton","path":"/brandonpayton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/530877?s=80&v=4"},"commit":{"message":"Revert \"Route requests for missing static files using remote asset metadata (#1417)\" (#1474)\n\n## What is this PR doing?\r\n\r\nThis reverts commit 36b126e367fe3b54cdf3fdd3ab72998e20963ac5.\r\n\r\n## What problem is it solving?\r\n\r\nWhen using browser storage and reloading Playground after an initial\r\nload, WordPress renders as if it cannot find remote CSS assets.\r\n\r\n![Screenshot 2024-05-31 at 1 16\r\n58 AM](https://github.com/WordPress/wordpress-playground/assets/530877/50517355-9e80-4379-8593-00ef48a218a9)\r\n\r\nThe issue should be something small, but I am reverting until we can fix\r\nit.","shortMessageHtmlLink":"Revert \"Route requests for missing static files using remote asset me…"}},{"before":null,"after":"f57c63cc76aff138404faa4f11da2ac72c8927e3","ref":"refs/heads/revert-routing-changes","pushedAt":"2024-05-30T23:12:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"brandonpayton","name":"Brandon Payton","path":"/brandonpayton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/530877?s=80&v=4"},"commit":{"message":"Revert \"Route requests for missing static files using remote asset metadata (#1417)\"\n\nThis reverts commit 36b126e367fe3b54cdf3fdd3ab72998e20963ac5.","shortMessageHtmlLink":"Revert \"Route requests for missing static files using remote asset me…"}},{"before":"37d738921d42c4ac4d14d908463e8528651283b5","after":null,"ref":"refs/heads/list-remote-static-files","pushedAt":"2024-05-30T22:47:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"brandonpayton","name":"Brandon Payton","path":"/brandonpayton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/530877?s=80&v=4"}},{"before":"5d45048e4678753d7212e3537ce7d5e0c374517b","after":"36b126e367fe3b54cdf3fdd3ab72998e20963ac5","ref":"refs/heads/trunk","pushedAt":"2024-05-30T22:47:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"brandonpayton","name":"Brandon Payton","path":"/brandonpayton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/530877?s=80&v=4"},"commit":{"message":"Route requests for missing static files using remote asset metadata (#1417)\n\n## What is this PR doing?\r\n\r\nThis PR:\r\n- Includes a list of remote asset paths with minified WP builds\r\n- Updates request handling to only handle missing files as static when\r\nthey are explicitly listed as remote assets\r\n(perhaps this should be split into multiple PRs)\r\n- Updates request routing to behave more like a regular web server\r\n\r\nRelated to #1365 in that we need better information to judge whether to\r\nhandle a request for a missing static file as PHP.\r\n\r\n## What problem is it solving?\r\n\r\nPrior to this PR, we could not easily tell whether we should request a\r\nmissing static asset from the web or delegate the request to PHP.\r\n\r\n## How is the problem addressed?\r\n\r\nBy including a list of remote asset paths with minified WP builds, we\r\ncan judge which missing static file paths represent remote assets and\r\nwhich can be delegated to PHP.\r\n\r\n## Testing Instructions\r\n\r\n- CI tests\r\n- Examine a minified WP zip and the contents of its\r\nwordpress-remote-asset-paths file\r\n- Test manually with `npm run dev` and observe that Playground loads\r\nnormally with no unexpected errors in the console","shortMessageHtmlLink":"Route requests for missing static files using remote asset metadata (#…"}},{"before":"f655598dc6d469bf02e78f1ff34da9a5cce054d9","after":"37d738921d42c4ac4d14d908463e8528651283b5","ref":"refs/heads/list-remote-static-files","pushedAt":"2024-05-30T22:30:28.000Z","pushType":"push","commitsCount":22,"pusher":{"login":"brandonpayton","name":"Brandon Payton","path":"/brandonpayton","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/530877?s=80&v=4"},"commit":{"message":"Update WordPress builds","shortMessageHtmlLink":"Update WordPress builds"}},{"before":"c76824982b2e182b46f0d301b749018696f88dca","after":"5d45048e4678753d7212e3537ce7d5e0c374517b","ref":"refs/heads/trunk","pushedAt":"2024-05-30T18:44:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Recompile WordPress major and beta versions","shortMessageHtmlLink":"Recompile WordPress major and beta versions"}},{"before":"85bb66a519d023564b68b376fb91e495125d1a26","after":"c76824982b2e182b46f0d301b749018696f88dca","ref":"refs/heads/trunk","pushedAt":"2024-05-30T08:08:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Refresh WordPress Nightly","shortMessageHtmlLink":"Refresh WordPress Nightly"}},{"before":"4913b70545090f13654bbd84e317c1944a44b8fa","after":"86897f34c344d2308a03afce1e45bf5a33f6f02c","ref":"refs/heads/update/store-multiple-sites-in-browser","pushedAt":"2024-05-29T20:18:12.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"bgrgicak","name":"Bero","path":"/bgrgicak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1199991?s=80&v=4"},"commit":{"message":"Fix tests","shortMessageHtmlLink":"Fix tests"}},{"before":"b2eb953e5d98ee4b0e1d42f3acf3fa10a51dd7ba","after":"4913b70545090f13654bbd84e317c1944a44b8fa","ref":"refs/heads/update/store-multiple-sites-in-browser","pushedAt":"2024-05-29T20:10:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bgrgicak","name":"Bero","path":"/bgrgicak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1199991?s=80&v=4"},"commit":{"message":"e2e test","shortMessageHtmlLink":"e2e test"}},{"before":"3a857923a118d31db3f730267f3eecd44845c7ef","after":"b2eb953e5d98ee4b0e1d42f3acf3fa10a51dd7ba","ref":"refs/heads/update/store-multiple-sites-in-browser","pushedAt":"2024-05-29T13:14:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bgrgicak","name":"Bero","path":"/bgrgicak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1199991?s=80&v=4"},"commit":{"message":"Add docs","shortMessageHtmlLink":"Add docs"}},{"before":"b932a53310ec2165b378aa2ead95cec6e626d8ba","after":null,"ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-29T13:07:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"}},{"before":"f4c7f93453df695fd29ab2431fb9e830b06ab0f5","after":"85bb66a519d023564b68b376fb91e495125d1a26","ref":"refs/heads/trunk","pushedAt":"2024-05-29T13:07:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Browser: php.mount() support for OPFS/Native FS handles (#1470)\n\n## What is this PR doing?\r\n\r\nShips a `DirectoryHandleMount` class that can be used to mount OPFS\r\nusing the `php.mount()` method:\r\n\r\n```ts\r\nawait php.mount(\r\n\tphp.documentRoot,\r\n\tcreateDirectoryHandleMountHandler(opfsHandle);\r\n);\r\n```\r\n\r\n### Other changes\r\n\r\nThis PR removes the `Mountable` interface in favor of functional API to\r\nsimplify the implementation and remove any state management concerns.\r\n\r\n**Before:**\r\n\r\n```ts\r\nphp.mount(dir, new NodeFSMount(dir));\r\n```\r\n\r\n**After:**\r\n\r\n```ts\r\nphp.mount(dir, createNodeFsMountHandler(dir));\r\n```\r\n\r\n## What problem is it solving?\r\n\r\nIt enables mounting OPFS and local directory handles in the browser\r\nversion of Playground using the same abstraction as we use for mounting\r\nlocal directories in Node.js. This, in turn, enables using OPFS mounts\r\nin the [boot\r\nprotocol](https://github.com/WordPress/wordpress-playground/pull/1390)\r\nand relying on the same general code paths and abstractions.\r\n\r\n## How is the problem addressed?\r\n\r\nDirectoryHandleMount is not a \"real\" mount in that it doesn't actually\r\nplug in an Emscripten FS implementation into the PHP Emscripten module.\r\nInstead, it copies all the OPFS files into Playground MEMFS (or the\r\nother way around). After that initial sync, it journals all the MEMFS\r\nfilesystem operations and replays them in OPFS. This is good enough for\r\nthe in-browser directory handle, since the underlying files aren't going\r\nto change on their own, but for the Local Filesystem directory handle we\r\nalso have an explicit \"Synchronize files\" button to bring any local\r\nchanges back into Playground.\r\n\r\nOnce Emscripten supports asynchronous filesystem operations via wasmfs,\r\nwe'll be about to get rid of the journal and mount an OPFS\r\nimplementation to directly delegate writes, reads, etc to the underlying\r\nfilesystem.\r\n\r\n## Testing Instructions\r\n\r\nOpen local Playground and change the storage option to \"browser\", make\r\nsome visible changes, refresh Playground a few times, confirm the site\r\nstill loads and the changes are still around. Close the browser, reopen\r\nit, confirm it still works.\r\n\r\nThem repeat the test with the local directory storage option.\r\n\r\nAlso, confirm the following Playground CLI command works and sets up a\r\nsite in a local `new-wordpress-site` directory:\r\n\r\n```bash\r\nbun packages/playground/cli/src/cli.ts server --mount-before-install=`pwd`/new-wordpress-site:/wordpress\r\n```","shortMessageHtmlLink":"Browser: php.mount() support for OPFS/Native FS handles (#1470)"}},{"before":"d1e7f8b6008978d393d2b5a4306f681c433bfcbb","after":"ac2165f2cc0fa1ea8d3e8a872a0bcff83b87b236","ref":"refs/heads/adamziel-patch-1","pushedAt":"2024-05-29T12:59:51.000Z","pushType":"push","commitsCount":51,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Merge branch 'trunk' into adamziel-patch-1","shortMessageHtmlLink":"Merge branch 'trunk' into adamziel-patch-1"}},{"before":null,"after":"3a857923a118d31db3f730267f3eecd44845c7ef","ref":"refs/heads/update/store-multiple-sites-in-browser","pushedAt":"2024-05-29T12:56:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bgrgicak","name":"Bero","path":"/bgrgicak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1199991?s=80&v=4"},"commit":{"message":"Add warning if storage is incompatible","shortMessageHtmlLink":"Add warning if storage is incompatible"}},{"before":"1c7da8bac230bb9928a29afa64b3750d8be35162","after":"b932a53310ec2165b378aa2ead95cec6e626d8ba","ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-29T12:55:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Replace classes with functions","shortMessageHtmlLink":"Replace classes with functions"}},{"before":"4989279b26bfbd0b4533aab81bdcbaecbd57d7f8","after":"f4c7f93453df695fd29ab2431fb9e830b06ab0f5","ref":"refs/heads/trunk","pushedAt":"2024-05-29T09:06:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Refresh SQLite integration plugin","shortMessageHtmlLink":"Refresh SQLite integration plugin"}},{"before":"76a7017b3e806a3381b8659f5ee0889b632382d3","after":"1c7da8bac230bb9928a29afa64b3750d8be35162","ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-29T07:51:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Update vite.config.ts","shortMessageHtmlLink":"Update vite.config.ts"}},{"before":"880637a7c0563661778e627fcdaae3f61e1796cb","after":"76a7017b3e806a3381b8659f5ee0889b632382d3","ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-29T07:22:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Update vite.config.ts","shortMessageHtmlLink":"Update vite.config.ts"}},{"before":"c8a56f2e621c52a6cdc8166de3d8d1a6b6b27895","after":"880637a7c0563661778e627fcdaae3f61e1796cb","ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-29T06:56:44.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Merge branch 'trunk' into dirhandle-mount","shortMessageHtmlLink":"Merge branch 'trunk' into dirhandle-mount"}},{"before":"87595c919d0481e65b5826e60b14503100e55a7a","after":"c8a56f2e621c52a6cdc8166de3d8d1a6b6b27895","ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-29T06:55:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Update directory-handle-mount.ts","shortMessageHtmlLink":"Update directory-handle-mount.ts"}},{"before":"d5ee9a0e625597cf1ec454cd61db96e7d3e1a744","after":null,"ref":"refs/heads/fs-methods","pushedAt":"2024-05-29T06:54:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"}},{"before":"daf9c52f982c5e1a6ffcb5ceba70d68f55e6614f","after":"4989279b26bfbd0b4533aab81bdcbaecbd57d7f8","ref":"refs/heads/trunk","pushedAt":"2024-05-29T06:54:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Move Filesystem methods to a static FSHelpers class (#1468)\n\n## What is this PR doing?\r\n\r\nMove the implementation of the Filesystem-related methods from the PHP\r\nclass to a static FSHelpers class.\r\n\r\nThis is a non-breaking change. The PHP class still has the same\r\ninterface, it just delegates all the calls to FSHelpers.\r\n\r\nThe following filesystem methods are affected:\r\n - readFileAsText\r\n - readFileAsBuffer \r\n - writeFile\r\n - unlink\r\n - mv\r\n - rmdir\r\n - listFiles\r\n - isDir\r\n - fileExists\r\n - mkdir\r\n - copyRecursive\r\n\r\n## Motivation\r\n\r\nThis sets the stage for OPFSMountHandle\r\n\r\nWe keep reimplementing similar logic in different places. This PR makes\r\noperations like recursive remove usable outside of the PHP class\r\ninstance.\r\n\r\n## Testing Instructions\r\n\r\nconfirm the ci checks pass","shortMessageHtmlLink":"Move Filesystem methods to a static FSHelpers class (#1468)"}},{"before":"664e788e09fd898a3c2d54e6c522eaef2a7ef7b9","after":"d5ee9a0e625597cf1ec454cd61db96e7d3e1a744","ref":"refs/heads/fs-methods","pushedAt":"2024-05-28T22:10:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Fix error formatting","shortMessageHtmlLink":"Fix error formatting"}},{"before":"879c72f8cd2ccbcf5fde81591d8681c764fee962","after":"664e788e09fd898a3c2d54e6c522eaef2a7ef7b9","ref":"refs/heads/fs-methods","pushedAt":"2024-05-28T21:50:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Remove custom vite reporter","shortMessageHtmlLink":"Remove custom vite reporter"}},{"before":"d9f5cdf8da96c7c2faf14cfa3569231b624a12f4","after":null,"ref":"refs/heads/produce-minified-wp-without-sqlite-plugin","pushedAt":"2024-05-28T21:49:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"}},{"before":"eef41afb184bb4cc6586b0a0b6eba60d39f04bc8","after":"daf9c52f982c5e1a6ffcb5ceba70d68f55e6614f","ref":"refs/heads/trunk","pushedAt":"2024-05-28T21:49:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"WordPress Build: Use Playground CLI to produce minified WordPress build (without the SQLite integration plugin) (#1426)\n\nUses Playground CLI to produce the minified WordPress builds:\r\n\r\n```bash\r\n$ bun \\\r\n packages/playground/cli/src/cli.ts run-blueprint \\\r\n --wp=https://wordpress.org/6.5.zip \\\r\n --mount-before-install=./wordpress-site:/wordpress\r\n```\r\n\r\nThose new builds ships **without** the SQLite database integration\r\nplugin but **with** the SQLite database file containing all the data and\r\ntables created by a vanilla WordPress installation.\r\n\r\nAdvantages:\r\n\r\n* Less code to maintain – Playground CLI replaces a custom bash script\r\nrelying on wget, unzip, sed, wp-cli etc.\r\n* More testing for our internal tools – we're dogfooding Playground CLI\r\nand the boot protocol in the critical code path.\r\n\r\n## Testing instructions\r\n\r\n* Confirm the CI checks passed – this is about as good of a testing as\r\nwe can get.\r\n* Run `npm run dev` and confirm the local Playground loads without any\r\nissues.\r\n\r\nRun `bun packages/playground/cli/src/cli.ts server --login` and confirm\r\nit loads an installed WordPress.\r\n\r\nRelated: #1398","shortMessageHtmlLink":"WordPress Build: Use Playground CLI to produce minified WordPress bui…"}},{"before":"9f632601ac9868792586c781becc88b085c6ac58","after":"87595c919d0481e65b5826e60b14503100e55a7a","ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-28T21:06:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Move the type augmentation to directory-handle-mount.ts","shortMessageHtmlLink":"Move the type augmentation to directory-handle-mount.ts"}},{"before":"9ad7827c8f4bc4e5d9d50ae3b8ef7546d22d2cc3","after":"d9f5cdf8da96c7c2faf14cfa3569231b624a12f4","ref":"refs/heads/produce-minified-wp-without-sqlite-plugin","pushedAt":"2024-05-28T21:03:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Create the /wordpress/wp-content/mu-plugins directory when attempting to writeFile to it","shortMessageHtmlLink":"Create the /wordpress/wp-content/mu-plugins directory when attempting…"}},{"before":"c1f6265a122069e7ae9914ecb6fcd7475f42a953","after":"9f632601ac9868792586c781becc88b085c6ac58","ref":"refs/heads/dirhandle-mount","pushedAt":"2024-05-28T20:56:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"adamziel","name":"Adam Zieliński","path":"/adamziel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/205419?s=80&v=4"},"commit":{"message":"Clean up the AbstractMountable state","shortMessageHtmlLink":"Clean up the AbstractMountable state"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWH9bxgA","startCursor":null,"endCursor":null}},"title":"Activity · WordPress/wordpress-playground"}