{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":10717754,"defaultBranch":"master","name":"elvish","ownerLogin":"elves","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-06-16T08:43:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6590824?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724772466.0","currentOid":""},"activityList":{"items":[{"before":"bba940f6bd77263b9b05b33d852212028eaf64dc","after":"ea80f9f56cdb9c33a58c433dfe1801f9c0cdaea3","ref":"refs/heads/etk","pushedAt":"2024-09-21T13:09:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"8a99e2c7a322dd570c4b303a64df72e349846549","after":"68146c056833d5b52776d2190e32f5e6b92eb714","ref":"refs/heads/master","pushedAt":"2024-09-20T17:10:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"website/slides: Add slide for 2024-09 London Gophers talk.","shortMessageHtmlLink":"website/slides: Add slide for 2024-09 London Gophers talk."}},{"before":"e80acb1c27f0a1edbe070bdad594456224c61946","after":"bba940f6bd77263b9b05b33d852212028eaf64dc","ref":"refs/heads/etk","pushedAt":"2024-09-12T13:20:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"1685fcbc86c37ef6f15eb069d08d9fb37327c4bc","after":"e80acb1c27f0a1edbe070bdad594456224c61946","ref":"refs/heads/etk","pushedAt":"2024-09-11T16:45:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"75f994af409016bd00fc0cd33745900298147274","after":"1685fcbc86c37ef6f15eb069d08d9fb37327c4bc","ref":"refs/heads/etk","pushedAt":"2024-09-10T19:03:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"1d97e88eb8ba9c8d0858238be71d2e6462a31e78","after":"8a99e2c7a322dd570c4b303a64df72e349846549","ref":"refs/heads/master","pushedAt":"2024-09-10T17:10:30.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"pkg/eval: Simplify how the lifecycle of ports are tracked.\n\nThe lifecycle of a port is often tied to the execution of a form - for example,\nin \"echo > out\", port 1 is redirected to a file that should be closed when the\nform finishes execution.\n\nPreviously, this is tracked with the following scheme:\n\n- The port field has two fields - closeFile and closeChan - indicating whether\n the file and chan components should be closed when the form finishes execution.\n\n- However, a port could be used in multiple forms: for example, in\n\n { echo foo; echo bar } > out\n\n The same port 1 is used for both echo commands, but the file in it should only\n be closed when the overall form finishes execution.\n\n- To handle this correct, the idea of \"forking\" a port is introduced - the forked\n ports always have their closeFile and closeChan set to false. Similarly, when a\n Frame gets \"forked\", all its ports are forked as well.\n\nThis commit switches to a different approach based on the observation that there\nare only two places that care about closeFile and closeChan: pipelineOp.exec and\nredirOp.exec, and they are very close in the call frame (with only formOp.exec\nbetween them).\n\nSo instead of embedding the ownership information to the port struct, track\nit in a separate formOwnedPort struct, and thread a *[]formOwnedPort as an\nadditional argument of pipelineOp.exec, formOp.exec and redirOp.exec.\n\nThis allows us to get rid of concept of \"forking\" a port. The Frame.Fork method\nstill exists because it needs to make a shallow copy of the ports slice, but the\nimplementation is now simpler.","shortMessageHtmlLink":"pkg/eval: Simplify how the lifecycle of ports are tracked."}},{"before":"3d6b1310da3b2e70d1d7099d5f9ad8c78be4fe30","after":"75f994af409016bd00fc0cd33745900298147274","ref":"refs/heads/etk","pushedAt":"2024-09-09T13:55:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"66b22dcde925bad651eb5939523b621a68c73716","after":"3d6b1310da3b2e70d1d7099d5f9ad8c78be4fe30","ref":"refs/heads/etk","pushedAt":"2024-09-08T13:16:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"ce19c91dee982d7b6413e8f2ddd4347df7a9d2db","after":"1d97e88eb8ba9c8d0858238be71d2e6462a31e78","ref":"refs/heads/master","pushedAt":"2024-09-04T14:37:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"tools/buildall.elv: Always remove existing zip files.","shortMessageHtmlLink":"tools/buildall.elv: Always remove existing zip files."}},{"before":"a0e55e8e411a86a668df564942e4b01e03045017","after":"66b22dcde925bad651eb5939523b621a68c73716","ref":"refs/heads/etk","pushedAt":"2024-08-31T21:00:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"5d04fd30c76bdb6dc2e0ef0fad22fe3039177326","after":"ce19c91dee982d7b6413e8f2ddd4347df7a9d2db","ref":"refs/heads/master","pushedAt":"2024-08-30T22:31:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"website/get/default-shell.md: Rewrite \"dealing with incompatible programs\".","shortMessageHtmlLink":"website/get/default-shell.md: Rewrite \"dealing with incompatible prog…"}},{"before":null,"after":"a0e55e8e411a86a668df564942e4b01e03045017","ref":"refs/heads/etk","pushedAt":"2024-08-27T15:27:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Introduce pkg/etk, a new TUI framework.\n\nThe framework has the following interesting features:\n\n- It has a first-class Elvish binding with the same expressive power as the Go\n version of the framework.\n\n- It has an immediate-mode API, meaning that a component is represented by a\n function that gets invoked every time the state changes.\n\nFor more on the motivation and tradeoffs of the design, see the slidedeck in\nwebsite/slides/draft-etk.md.\n\nThis package will eventually replace pkg/cli/tk as Elvish's internal TUI\nframework, and Elvish's TUI will be rewritten to use it.","shortMessageHtmlLink":"Introduce pkg/etk, a new TUI framework."}},{"before":"5d04fd30c76bdb6dc2e0ef0fad22fe3039177326","after":"50dad916b6c91dc76d901188ad12715e58bf5064","ref":"refs/heads/integrate-1831","pushedAt":"2024-08-27T15:05:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"extend lastcmd mode to support all the previous cmds\n\nSigned-off-by: Tw ","shortMessageHtmlLink":"extend lastcmd mode to support all the previous cmds"}},{"before":"6628a0b1c0ecc860a815568f71f68fbf6e355cda","after":null,"ref":"refs/heads/ci","pushedAt":"2024-08-27T15:04:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"}},{"before":null,"after":"5d04fd30c76bdb6dc2e0ef0fad22fe3039177326","ref":"refs/heads/integrate-1831","pushedAt":"2024-08-27T15:04:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"website/ref/language.md: Add a note about special command syntax.\n\nThis addresses #649.","shortMessageHtmlLink":"website/ref/language.md: Add a note about special command syntax."}},{"before":"94dca208118803083ee0a8a9495b02f93286ab1f","after":"5d04fd30c76bdb6dc2e0ef0fad22fe3039177326","ref":"refs/heads/master","pushedAt":"2024-08-23T08:52:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"website/ref/language.md: Add a note about special command syntax.\n\nThis addresses #649.","shortMessageHtmlLink":"website/ref/language.md: Add a note about special command syntax."}},{"before":"0d14388b970e337165e5775a4b911c11bcb33aa0","after":"94dca208118803083ee0a8a9495b02f93286ab1f","ref":"refs/heads/master","pushedAt":"2024-08-21T10:55:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":".github/workflows: Drop sourcegraph LSIF task.\n\nThe LSIF uploader has been superseded by the SCIP uploader, and it seems to take\nmore effort to set up.\n\nGitHub's code search has improved recently and I barely use SourceGraph anymore,\nso just drop it. It can be added back if the need arises in future.","shortMessageHtmlLink":".github/workflows: Drop sourcegraph LSIF task."}},{"before":"835719005c556e9d47d37a7e3e51ece5beb40f55","after":"6628a0b1c0ecc860a815568f71f68fbf6e355cda","ref":"refs/heads/ci","pushedAt":"2024-08-21T10:51:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":".github/workflows: Update sourcegraph index task.","shortMessageHtmlLink":".github/workflows: Update sourcegraph index task."}},{"before":"cbe8f111bcfa3069c64bfc0ff898ecd764eb91df","after":"835719005c556e9d47d37a7e3e51ece5beb40f55","ref":"refs/heads/ci","pushedAt":"2024-08-21T10:49:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":".github/workflows: Update sourcegraph index task.","shortMessageHtmlLink":".github/workflows: Update sourcegraph index task."}},{"before":"36e50702cf8dc26b8ec01b48c2d8d8ed55b614d6","after":"0d14388b970e337165e5775a4b911c11bcb33aa0","ref":"refs/heads/master","pushedAt":"2024-08-21T10:45:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":".github/workflows: Update Go version to match binary builder.","shortMessageHtmlLink":".github/workflows: Update Go version to match binary builder."}},{"before":null,"after":"cbe8f111bcfa3069c64bfc0ff898ecd764eb91df","ref":"refs/heads/ci","pushedAt":"2024-08-21T10:39:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":".github/workflows: Update sourcegraph index task.","shortMessageHtmlLink":".github/workflows: Update sourcegraph index task."}},{"before":"78bdb4f9806f7204d249dabcf7faa692ee1bb337","after":"36e50702cf8dc26b8ec01b48c2d8d8ed55b614d6","ref":"refs/heads/master","pushedAt":"2024-08-21T10:29:47.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"pkg/eval/vals: Integrate ScanMapToGo into ScanToGo.\n\nAlso export getFieldMapKeys and use it to implement pkg/eval.scanOptions.\n\nThese changes establish field maps as a unified concept when converting between\nElvish maps and Go data structs.","shortMessageHtmlLink":"pkg/eval/vals: Integrate ScanMapToGo into ScanToGo."}},{"before":"84cb7005f8035cf7285aedee7f77329459d91b32","after":"78bdb4f9806f7204d249dabcf7faa692ee1bb337","ref":"refs/heads/master","pushedAt":"2024-08-16T09:35:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":".cirrus.yml: Don't test with -race on OpenBSD.\n\ngo test -race has never been supported on OpenBSD, but presumably previous\nversions of Go on OpenBSD ignored the flag rather than failing.","shortMessageHtmlLink":".cirrus.yml: Don't test with -race on OpenBSD."}},{"before":"fcbc7b0e5ec8541364bdd697468f05cb12224dde","after":"84cb7005f8035cf7285aedee7f77329459d91b32","ref":"refs/heads/master","pushedAt":"2024-08-16T09:24:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Bump codespell and staticcheck versions.\n\nAlso fix issues discovered by the new versions.","shortMessageHtmlLink":"Bump codespell and staticcheck versions."}},{"before":"b8dcffbde74af862abba2c8326b7ed14c6e56bdd","after":"fcbc7b0e5ec8541364bdd697468f05cb12224dde","ref":"refs/heads/master","pushedAt":"2024-08-16T09:11:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"Require Go 1.22, and update dependencies.\n\nAlso update the {Net Open}BSD image names\n(https://github.com/anarazel/pg-vm-images/commit/5979bb94061518f724e8b54ad92dacd\n91e7ac179).","shortMessageHtmlLink":"Require Go 1.22, and update dependencies."}},{"before":"8f593e181b5c117e23c2830ea581e74be79e2c1d","after":"b8dcffbde74af862abba2c8326b7ed14c6e56bdd","ref":"refs/heads/master","pushedAt":"2024-08-15T15:52:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"website: Link to YouTube channel on homepage.","shortMessageHtmlLink":"website: Link to YouTube channel on homepage."}},{"before":"d141de97b808149149de7642af89a85095e09318","after":null,"ref":"refs/heads/gophercon-talk","pushedAt":"2024-08-15T14:23:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"}},{"before":"ba41780be5111a2e0440c15d75bc4b333f8f2195","after":null,"ref":"refs/heads/emulated-tests","pushedAt":"2024-08-15T14:23:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"}},{"before":"f1e89bb95d1fc185301715774aa572cb80933e88","after":"8f593e181b5c117e23c2830ea581e74be79e2c1d","ref":"refs/heads/master","pushedAt":"2024-08-15T14:23:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":"website/slides: Add slides for GopherCon UK talk.","shortMessageHtmlLink":"website/slides: Add slides for GopherCon UK talk."}},{"before":"6e29dd883293e2941421b6d7debf006edca9ff40","after":"f1e89bb95d1fc185301715774aa572cb80933e88","ref":"refs/heads/master","pushedAt":"2024-08-15T10:54:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xiaq","name":"Qi Xiao","path":"/xiaq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/582021?s=80&v=4"},"commit":{"message":".github/workflows: Add emulated tests for riscv64 and s390x.","shortMessageHtmlLink":".github/workflows: Add emulated tests for riscv64 and s390x."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxMzowOTozMC4wMDAwMDBazwAAAAS8tl4E","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xNVQxMDo1NDo1Ni4wMDAwMDBazwAAAASbG7tS"}},"title":"Activity · elves/elvish"}