[{"id":"36830178982","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":54596517,"name":"kubernetes/release","url":"https://api.github.com/repos/kubernetes/release"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/release/issues/3497","repository_url":"https://api.github.com/repos/kubernetes/release","labels_url":"https://api.github.com/repos/kubernetes/release/issues/3497/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/release/issues/3497/comments","events_url":"https://api.github.com/repos/kubernetes/release/issues/3497/events","html_url":"https://github.com/kubernetes/release/issues/3497","id":2174342797,"node_id":"I_kwDOA0ETpc6BmdaN","number":3497,"title":"Error encountered during installation using deprecated legacy Google-hosted repositories","user":{"login":"anu356","id":62091656,"node_id":"MDQ6VXNlcjYyMDkxNjU2","avatar_url":"https://avatars.githubusercontent.com/u/62091656?v=4","gravatar_id":"","url":"https://api.github.com/users/anu356","html_url":"https://github.com/anu356","followers_url":"https://api.github.com/users/anu356/followers","following_url":"https://api.github.com/users/anu356/following{/other_user}","gists_url":"https://api.github.com/users/anu356/gists{/gist_id}","starred_url":"https://api.github.com/users/anu356/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anu356/subscriptions","organizations_url":"https://api.github.com/users/anu356/orgs","repos_url":"https://api.github.com/users/anu356/repos","events_url":"https://api.github.com/users/anu356/events{/privacy}","received_events_url":"https://api.github.com/users/anu356/received_events","type":"User","site_admin":false},"labels":[{"id":346584915,"node_id":"MDU6TGFiZWwzNDY1ODQ5MTU=","url":"https://api.github.com/repos/kubernetes/release/labels/kind/support","name":"kind/support","color":"d455d0","default":false,"description":"Categorizes issue or PR as a support question."},{"id":1833751639,"node_id":"MDU6TGFiZWwxODMzNzUxNjM5","url":"https://api.github.com/repos/kubernetes/release/labels/needs-priority","name":"needs-priority","color":"ededed","default":false,"description":null},{"id":2389856663,"node_id":"MDU6TGFiZWwyMzg5ODU2NjYz","url":"https://api.github.com/repos/kubernetes/release/labels/needs-triage","name":"needs-triage","color":"ededed","default":false,"description":"Indicates an issue or PR lacks a `triage/foo` label and requires one."}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2024-03-07T14:41:04Z","updated_at":"2024-03-24T10:41:13Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"We are trying to use this \" http://apt.kubernetes.io/\" to install Kubernetes this URL is redirecting to https://packages.cloud.google.com/apt which is not working, we are not able to apt-get update and also not able to install Kubernetes , can any one help me to install Kubernetes.\r\n\r\ncurl https://packages.cloud.google.com/apt\r\n \r\n\r\n\r\n\r\n\r\n
Error 404 (Not Found)!!1\r\n\r\n\r\n404. That’s an error.\r\n
That’s all we know.\r\nroot@testing:/etc/PackageKit# ping https://packages.cloud.google.com/apt\r\nping: https://packages.cloud.google.com/apt: Name or service not known\r\nroot@testing:/etc/PackageKit# curl http://apt.kubernetes.io/\r\n\r\n
302 Found\r\n\r\n302 Found
\r\n
nginx\r\n\r\n ","reactions":{"url":"https://api.github.com/repos/kubernetes/release/issues/3497/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/kubernetes/release/issues/3497/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/kubernetes/release/issues/comments/2016766716","html_url":"https://github.com/kubernetes/release/issues/3497#issuecomment-2016766716","issue_url":"https://api.github.com/repos/kubernetes/release/issues/3497","id":2016766716,"node_id":"IC_kwDOA0ETpc54NWr8","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-24T10:41:13Z","updated_at":"2024-03-24T10:41:13Z","author_association":"NONE","body":"Hi @xmudrii, I also need kubectl >= 1.23 && < 1.24, and currently have it installed with `apt` from a .deb package from the deprecated `apt.kubernetes.io` repo.\r\n\r\nI'm getting `403 Fobridden` on both the new repo:\r\n\r\n```\r\nErr:9 https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes: kubernetes-jammy InRelease \r\n 403 Forbidden [IP: 2600:9000:26de:6000:16:f2ef:f640:93a1 443]\r\n```\r\n\r\nand **even on its signing key**:\r\n\r\n> curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.23/deb/Release.key\r\n> curl: (22) The requested URL returned error: 403\r\n\r\nI've read both the deprecation post (https://k8s.io/linuxrepos) & the [announcement post][] for `pkgs.k8s.io`. Deprecation of older versions of kubectl itself is **mentioned nowhere** there.\r\n\r\nFurther, the announcement post claims:\r\n\r\n> **The Google-hosted repository and all packages published to it will continue working in the same way as before.**\r\n\r\n— which is **demonstrably false**. I've had kubectl 1.23.17 install from `apt.kubernetes.io` just fine on 2024-02-02, here's apt log proving exactly that:\r\n\r\n> Start-Date: 2024-02-02 16:45:25\r\n> Requested-By: ulidtko (1000)\r\n> Downgrade: kubectl:amd64 (1.28.2-00, 1.23.17-00)\r\n> End-Date: 2024-02-02 16:45:28\r\n\r\nand today, it gives 403. Which means that **\"will continue working in the same way as before\"** does not hold.\r\n\r\nTo conclude with the obvious question: is k8s Release SIG going to fix this? \r\n\r\n[announcement post]: https://kubernetes.io/blog/2023/08/15/pkgs-k8s-io-introduction/","reactions":{"url":"https://api.github.com/repos/kubernetes/release/issues/comments/2016766716/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-24T10:41:14Z","org":{"id":13629408,"login":"kubernetes","gravatar_id":"","url":"https://api.github.com/orgs/kubernetes","avatar_url":"https://avatars.githubusercontent.com/u/13629408?"}},{"id":"36803544564","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":61137153,"name":"evanw/esbuild","url":"https://api.github.com/repos/evanw/esbuild"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/evanw/esbuild/issues/859","repository_url":"https://api.github.com/repos/evanw/esbuild","labels_url":"https://api.github.com/repos/evanw/esbuild/issues/859/labels{/name}","comments_url":"https://api.github.com/repos/evanw/esbuild/issues/859/comments","events_url":"https://api.github.com/repos/evanw/esbuild/issues/859/events","html_url":"https://github.com/evanw/esbuild/issues/859","id":812823877,"node_id":"MDU6SXNzdWU4MTI4MjM4Nzc=","number":859,"title":"can add support for __dirname and __filename?","user":{"login":"mulfyx","id":34765569,"node_id":"MDQ6VXNlcjM0NzY1NTY5","avatar_url":"https://avatars.githubusercontent.com/u/34765569?v=4","gravatar_id":"","url":"https://api.github.com/users/mulfyx","html_url":"https://github.com/mulfyx","followers_url":"https://api.github.com/users/mulfyx/followers","following_url":"https://api.github.com/users/mulfyx/following{/other_user}","gists_url":"https://api.github.com/users/mulfyx/gists{/gist_id}","starred_url":"https://api.github.com/users/mulfyx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulfyx/subscriptions","organizations_url":"https://api.github.com/users/mulfyx/orgs","repos_url":"https://api.github.com/users/mulfyx/repos","events_url":"https://api.github.com/users/mulfyx/events{/privacy}","received_events_url":"https://api.github.com/users/mulfyx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":19,"created_at":"2021-02-21T10:37:10Z","updated_at":"2024-03-22T16:15:11Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"example:\r\n\r\nfile1.js\r\n```js\r\nimport { basename } from 'path';\r\n\r\nexport const filename = basename(__filename);\r\n```\r\n\r\nfile2.js\r\n```js\r\nimport { filename } from './file1';\r\n\r\nconsole.log({ filename });\r\n```\r\n\r\nbuild:\r\n```sh\r\nesbuild --bundle --platform=node --outfile=build.js file2.js \r\n```\r\n\r\nand run:\r\n```sh\r\nnode build.js\r\n```\r\n\r\nexpect output:\r\n```js\r\n{ filename: 'file1.js' }\r\n```\r\n\r\nactual output:\r\n```js\r\n{ filename: 'build.js' }\r\n```\r\n\r\nthe file 'build.js' looks like this:\r\n```js\r\n// internal helpers...\r\n\r\n// file1.js\r\nvar import_path = __toModule(require(\"path\"));\r\nvar filename = import_path.basename(__filename);\r\n\r\n// file2.js\r\nconsole.log({filename});\r\n```\r\n\r\nwhy not replace __filename with the path to the file?\r\n```js\r\n// internal helpers...\r\n\r\n// file1.js\r\nvar import_path = __toModule(require(\"path\"));\r\nvar filename = import_path.basename(\"/path/to/original/file1.js\");\r\n\r\n// file2.js\r\nconsole.log({filename});\r\n```\r\n","reactions":{"url":"https://api.github.com/repos/evanw/esbuild/issues/859/reactions","total_count":39,"+1":26,"-1":0,"laugh":1,"hooray":0,"confused":0,"heart":5,"rocket":0,"eyes":7},"timeline_url":"https://api.github.com/repos/evanw/esbuild/issues/859/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/evanw/esbuild/issues/comments/2015435875","html_url":"https://github.com/evanw/esbuild/issues/859#issuecomment-2015435875","issue_url":"https://api.github.com/repos/evanw/esbuild/issues/859","id":2015435875,"node_id":"IC_kwDOA6ThAc54IRxj","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-22T16:15:11Z","updated_at":"2024-03-22T16:15:11Z","author_association":"NONE","body":"The plugin approach did not work for me. `__dirname` remained in bundled output — and was getting quietly resolved by Node, ofcourse to a different value than the source was expecting.\r\n\r\nIn this particular case, I must also use [thomaschaaf/esbuild-plugin-tsc](/thomaschaaf/esbuild-plugin-tsc) — because this project uses **decorators** which esbuild [refuses to support](https://github.com/evanw/esbuild/issues/257). Perhaps there was some interference between the 2 plugins.\r\n\r\nI ended up ditching the `dirnamePlugin` idea; and instead reworked the source, so that it addresses assets by *dist-relative* paths, rather than source-relative.\r\n\r\nThis is of course very annoying, as `esbuild` seems to break a well-specced and widely (mis)used builtin feature of Node.","reactions":{"url":"https://api.github.com/repos/evanw/esbuild/issues/comments/2015435875/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-22T16:15:12Z"},{"id":"36800469458","type":"PullRequestReviewCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":105440153,"name":"nestjs/swagger","url":"https://api.github.com/repos/nestjs/swagger"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/nestjs/swagger/pulls/comments/1535689774","pull_request_review_id":1954973598,"id":1535689774,"node_id":"PRRC_kwDOBkjjmc5biMQu","diff_hunk":"@@ -1,23 +1,107 @@\n import { SwaggerUiOptions } from './swagger-ui-options.interface';\n-import { SwaggerDocumentOptions } from './swagger-document-options.interface';\n import { OpenAPIObject } from './open-api-spec.interface';\n \n export interface SwaggerCustomOptions {\n+ /**\n+ * If `true`, Swagger resources paths will be prefixed by the global prefix set through `setGlobalPrefix()`.\n+ * Default: `false`.\n+ * @see https://docs.nestjs.com/faq/global-prefix\n+ */\n useGlobalPrefix?: boolean;\n+\n+ /**\n+ * If `false`, only API definitions (JSON and YAML) will be served (on `/{path}-json` and `/{path}-yaml`).\n+ * This is particularly useful if you are already hosting a Swagger UI somewhere else and just want to serve API definitions.\n+ * Default: `true`.\n+ */\n+ swaggerUiEnabled?: boolean;","path":"lib/interfaces/swagger-custom-options.interface.ts","commit_id":"d56087c50982c375146aa8ad50d3acf37cd878db","original_commit_id":"d56087c50982c375146aa8ad50d3acf37cd878db","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"body":"+1 for aligning the code with what's actually documented at https://docs.nestjs.com/openapi/introduction#setup-options","created_at":"2024-03-22T14:34:21Z","updated_at":"2024-03-22T14:41:50Z","html_url":"https://github.com/nestjs/swagger/pull/2840#discussion_r1535689774","pull_request_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/comments/1535689774"},"html":{"href":"https://github.com/nestjs/swagger/pull/2840#discussion_r1535689774"},"pull_request":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840"}},"reactions":{"url":"https://api.github.com/repos/nestjs/swagger/pulls/comments/1535689774/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":12,"original_start_line":12,"start_side":"RIGHT","line":17,"original_line":17,"side":"RIGHT","original_position":18,"position":18,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/nestjs/swagger/pulls/2840","id":1727067846,"node_id":"PR_kwDOBkjjmc5m8PbG","html_url":"https://github.com/nestjs/swagger/pull/2840","diff_url":"https://github.com/nestjs/swagger/pull/2840.diff","patch_url":"https://github.com/nestjs/swagger/pull/2840.patch","issue_url":"https://api.github.com/repos/nestjs/swagger/issues/2840","number":2840,"state":"open","locked":false,"title":"feat: allow to disable Swagger UI","user":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"body":"## PR Checklist\r\nPlease check if your PR fulfills the following requirements:\r\n\r\n- [X] The commit message follows our guidelines: https://github.com/nestjs/nest/blob/master/CONTRIBUTING.md\r\n- [X] Tests for the changes have been added (for bug fixes / features)\r\n- [X] Docs have been added / updated (for bug fixes / features) => https://github.com/nestjs/docs.nestjs.com/pull/2972\r\n\r\n\r\n## PR Type\r\nWhat kind of change does this PR introduce?\r\n\r\n\r\n- [ ] Bugfix\r\n- [X] Feature\r\n- [ ] Code style update (formatting, local variables)\r\n- [ ] Refactoring (no functional changes, no api changes)\r\n- [ ] Build related changes\r\n- [ ] CI related changes\r\n- [ ] Other... Please describe:\r\n\r\n## What is the current behavior?\r\n\r\n\r\nIssue Number: none\r\n\r\nCurrently when using `SwaggerModule.setup` it serves all files of Swagger UI and API definitions generated on the fly (JSON and YAML). It isn't possible for now to only serve API definitions.\r\n\r\nI see two uses-cases for this feature:\r\n- You want to serve multiple API definitions in your Nest application, so you might want to enable the UI only for the \"default\" API and disable it for other ones.\r\n- You already have a Swagger UI served somewhere else in your infrastructure and just want to make it point the API definition of your Nest app. So the UI might be disabled to reduce noise.\r\n\r\n## What is the new behavior?\r\n\r\nThis PR introduces a way to disable the Swagger UI to only generate API definitions.\r\nA new flag `swaggerUiEnabled` is available in `SwaggerModule.setup` options.\r\n\r\n## Does this PR introduce a breaking change?\r\n- [ ] Yes\r\n- [X] No\r\n\r\n\r\n\r\n## Other information\r\n\r\nIn this PR, I also improved some documentation and removed dead code ","created_at":"2024-02-15T08:02:31Z","updated_at":"2024-03-22T14:41:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"78b1cb945aa9819fdad15deaae3f63c71a68a7e4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840/commits","review_comments_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840/comments","review_comment_url":"https://api.github.com/repos/nestjs/swagger/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nestjs/swagger/issues/2840/comments","statuses_url":"https://api.github.com/repos/nestjs/swagger/statuses/d56087c50982c375146aa8ad50d3acf37cd878db","head":{"label":"lucas-gregoire:feat/allow-to-disable-swagger-ui","ref":"feat/allow-to-disable-swagger-ui","sha":"d56087c50982c375146aa8ad50d3acf37cd878db","user":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"repo":{"id":725725603,"node_id":"R_kgDOK0Gxow","name":"swagger","full_name":"lucas-gregoire/swagger","private":false,"owner":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"html_url":"https://github.com/lucas-gregoire/swagger","description":"OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:","fork":true,"url":"https://api.github.com/repos/lucas-gregoire/swagger","forks_url":"https://api.github.com/repos/lucas-gregoire/swagger/forks","keys_url":"https://api.github.com/repos/lucas-gregoire/swagger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lucas-gregoire/swagger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lucas-gregoire/swagger/teams","hooks_url":"https://api.github.com/repos/lucas-gregoire/swagger/hooks","issue_events_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues/events{/number}","events_url":"https://api.github.com/repos/lucas-gregoire/swagger/events","assignees_url":"https://api.github.com/repos/lucas-gregoire/swagger/assignees{/user}","branches_url":"https://api.github.com/repos/lucas-gregoire/swagger/branches{/branch}","tags_url":"https://api.github.com/repos/lucas-gregoire/swagger/tags","blobs_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/refs{/sha}","trees_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lucas-gregoire/swagger/statuses/{sha}","languages_url":"https://api.github.com/repos/lucas-gregoire/swagger/languages","stargazers_url":"https://api.github.com/repos/lucas-gregoire/swagger/stargazers","contributors_url":"https://api.github.com/repos/lucas-gregoire/swagger/contributors","subscribers_url":"https://api.github.com/repos/lucas-gregoire/swagger/subscribers","subscription_url":"https://api.github.com/repos/lucas-gregoire/swagger/subscription","commits_url":"https://api.github.com/repos/lucas-gregoire/swagger/commits{/sha}","git_commits_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/commits{/sha}","comments_url":"https://api.github.com/repos/lucas-gregoire/swagger/comments{/number}","issue_comment_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues/comments{/number}","contents_url":"https://api.github.com/repos/lucas-gregoire/swagger/contents/{+path}","compare_url":"https://api.github.com/repos/lucas-gregoire/swagger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lucas-gregoire/swagger/merges","archive_url":"https://api.github.com/repos/lucas-gregoire/swagger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lucas-gregoire/swagger/downloads","issues_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues{/number}","pulls_url":"https://api.github.com/repos/lucas-gregoire/swagger/pulls{/number}","milestones_url":"https://api.github.com/repos/lucas-gregoire/swagger/milestones{/number}","notifications_url":"https://api.github.com/repos/lucas-gregoire/swagger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lucas-gregoire/swagger/labels{/name}","releases_url":"https://api.github.com/repos/lucas-gregoire/swagger/releases{/id}","deployments_url":"https://api.github.com/repos/lucas-gregoire/swagger/deployments","created_at":"2023-11-30T18:40:12Z","updated_at":"2024-02-07T17:01:04Z","pushed_at":"2024-02-15T08:01:35Z","git_url":"git://github.com/lucas-gregoire/swagger.git","ssh_url":"git@github.com:lucas-gregoire/swagger.git","clone_url":"https://github.com/lucas-gregoire/swagger.git","svn_url":"https://github.com/lucas-gregoire/swagger","homepage":"https://nestjs.com","size":12211,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nestjs:master","ref":"master","sha":"b35412cead013ca476e8d55a6e284e519facd5b2","user":{"login":"nestjs","id":28507035,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTA3MDM1","avatar_url":"https://avatars.githubusercontent.com/u/28507035?v=4","gravatar_id":"","url":"https://api.github.com/users/nestjs","html_url":"https://github.com/nestjs","followers_url":"https://api.github.com/users/nestjs/followers","following_url":"https://api.github.com/users/nestjs/following{/other_user}","gists_url":"https://api.github.com/users/nestjs/gists{/gist_id}","starred_url":"https://api.github.com/users/nestjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nestjs/subscriptions","organizations_url":"https://api.github.com/users/nestjs/orgs","repos_url":"https://api.github.com/users/nestjs/repos","events_url":"https://api.github.com/users/nestjs/events{/privacy}","received_events_url":"https://api.github.com/users/nestjs/received_events","type":"Organization","site_admin":false},"repo":{"id":105440153,"node_id":"MDEwOlJlcG9zaXRvcnkxMDU0NDAxNTM=","name":"swagger","full_name":"nestjs/swagger","private":false,"owner":{"login":"nestjs","id":28507035,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTA3MDM1","avatar_url":"https://avatars.githubusercontent.com/u/28507035?v=4","gravatar_id":"","url":"https://api.github.com/users/nestjs","html_url":"https://github.com/nestjs","followers_url":"https://api.github.com/users/nestjs/followers","following_url":"https://api.github.com/users/nestjs/following{/other_user}","gists_url":"https://api.github.com/users/nestjs/gists{/gist_id}","starred_url":"https://api.github.com/users/nestjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nestjs/subscriptions","organizations_url":"https://api.github.com/users/nestjs/orgs","repos_url":"https://api.github.com/users/nestjs/repos","events_url":"https://api.github.com/users/nestjs/events{/privacy}","received_events_url":"https://api.github.com/users/nestjs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nestjs/swagger","description":"OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:","fork":false,"url":"https://api.github.com/repos/nestjs/swagger","forks_url":"https://api.github.com/repos/nestjs/swagger/forks","keys_url":"https://api.github.com/repos/nestjs/swagger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nestjs/swagger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nestjs/swagger/teams","hooks_url":"https://api.github.com/repos/nestjs/swagger/hooks","issue_events_url":"https://api.github.com/repos/nestjs/swagger/issues/events{/number}","events_url":"https://api.github.com/repos/nestjs/swagger/events","assignees_url":"https://api.github.com/repos/nestjs/swagger/assignees{/user}","branches_url":"https://api.github.com/repos/nestjs/swagger/branches{/branch}","tags_url":"https://api.github.com/repos/nestjs/swagger/tags","blobs_url":"https://api.github.com/repos/nestjs/swagger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nestjs/swagger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nestjs/swagger/git/refs{/sha}","trees_url":"https://api.github.com/repos/nestjs/swagger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nestjs/swagger/statuses/{sha}","languages_url":"https://api.github.com/repos/nestjs/swagger/languages","stargazers_url":"https://api.github.com/repos/nestjs/swagger/stargazers","contributors_url":"https://api.github.com/repos/nestjs/swagger/contributors","subscribers_url":"https://api.github.com/repos/nestjs/swagger/subscribers","subscription_url":"https://api.github.com/repos/nestjs/swagger/subscription","commits_url":"https://api.github.com/repos/nestjs/swagger/commits{/sha}","git_commits_url":"https://api.github.com/repos/nestjs/swagger/git/commits{/sha}","comments_url":"https://api.github.com/repos/nestjs/swagger/comments{/number}","issue_comment_url":"https://api.github.com/repos/nestjs/swagger/issues/comments{/number}","contents_url":"https://api.github.com/repos/nestjs/swagger/contents/{+path}","compare_url":"https://api.github.com/repos/nestjs/swagger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nestjs/swagger/merges","archive_url":"https://api.github.com/repos/nestjs/swagger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nestjs/swagger/downloads","issues_url":"https://api.github.com/repos/nestjs/swagger/issues{/number}","pulls_url":"https://api.github.com/repos/nestjs/swagger/pulls{/number}","milestones_url":"https://api.github.com/repos/nestjs/swagger/milestones{/number}","notifications_url":"https://api.github.com/repos/nestjs/swagger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nestjs/swagger/labels{/name}","releases_url":"https://api.github.com/repos/nestjs/swagger/releases{/id}","deployments_url":"https://api.github.com/repos/nestjs/swagger/deployments","created_at":"2017-10-01T12:20:24Z","updated_at":"2024-03-22T07:25:23Z","pushed_at":"2024-03-22T09:06:34Z","git_url":"git://github.com/nestjs/swagger.git","ssh_url":"git@github.com:nestjs/swagger.git","clone_url":"https://github.com/nestjs/swagger.git","svn_url":"https://github.com/nestjs/swagger","homepage":"https://nestjs.com","size":12399,"stargazers_count":1594,"watchers_count":1594,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":426,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":89,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["hacktoberfest","javascript","nest","nestjs","nodejs","swagger","typescript"],"visibility":"public","forks":426,"open_issues":89,"watchers":1594,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840"},"html":{"href":"https://github.com/nestjs/swagger/pull/2840"},"issue":{"href":"https://api.github.com/repos/nestjs/swagger/issues/2840"},"comments":{"href":"https://api.github.com/repos/nestjs/swagger/issues/2840/comments"},"review_comments":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840/comments"},"review_comment":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840/commits"},"statuses":{"href":"https://api.github.com/repos/nestjs/swagger/statuses/d56087c50982c375146aa8ad50d3acf37cd878db"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2024-03-22T14:34:21Z","org":{"id":28507035,"login":"nestjs","gravatar_id":"","url":"https://api.github.com/orgs/nestjs","avatar_url":"https://avatars.githubusercontent.com/u/28507035?"}},{"id":"36800469433","type":"PullRequestReviewEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":105440153,"name":"nestjs/swagger","url":"https://api.github.com/repos/nestjs/swagger"},"payload":{"action":"created","review":{"id":1954973598,"node_id":"PRR_kwDOBkjjmc50hoee","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"body":"LGTM; not tested.\r\n\r\nFormatting-wise, I'd ask to undo gratuitous changes (removing trailing comma, quotes, semicolons, line-splitting, etc) to minimize diff, preserve `git blame`, and simplify review — IF I was maintainer of this code, who I'm not.\r\n\r\nI've landed here at all, because was investigating a breakage of Swagger-UI in a Nest app, caused by switching to a server-side bundler (esbuild), caused by other reasons.","commit_id":"d56087c50982c375146aa8ad50d3acf37cd878db","submitted_at":"2024-03-22T14:41:49Z","state":"approved","html_url":"https://github.com/nestjs/swagger/pull/2840#pullrequestreview-1954973598","pull_request_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840","author_association":"NONE","_links":{"html":{"href":"https://github.com/nestjs/swagger/pull/2840#pullrequestreview-1954973598"},"pull_request":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840"}}},"pull_request":{"url":"https://api.github.com/repos/nestjs/swagger/pulls/2840","id":1727067846,"node_id":"PR_kwDOBkjjmc5m8PbG","html_url":"https://github.com/nestjs/swagger/pull/2840","diff_url":"https://github.com/nestjs/swagger/pull/2840.diff","patch_url":"https://github.com/nestjs/swagger/pull/2840.patch","issue_url":"https://api.github.com/repos/nestjs/swagger/issues/2840","number":2840,"state":"open","locked":false,"title":"feat: allow to disable Swagger UI","user":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"body":"## PR Checklist\r\nPlease check if your PR fulfills the following requirements:\r\n\r\n- [X] The commit message follows our guidelines: https://github.com/nestjs/nest/blob/master/CONTRIBUTING.md\r\n- [X] Tests for the changes have been added (for bug fixes / features)\r\n- [X] Docs have been added / updated (for bug fixes / features) => https://github.com/nestjs/docs.nestjs.com/pull/2972\r\n\r\n\r\n## PR Type\r\nWhat kind of change does this PR introduce?\r\n\r\n\r\n- [ ] Bugfix\r\n- [X] Feature\r\n- [ ] Code style update (formatting, local variables)\r\n- [ ] Refactoring (no functional changes, no api changes)\r\n- [ ] Build related changes\r\n- [ ] CI related changes\r\n- [ ] Other... Please describe:\r\n\r\n## What is the current behavior?\r\n\r\n\r\nIssue Number: none\r\n\r\nCurrently when using `SwaggerModule.setup` it serves all files of Swagger UI and API definitions generated on the fly (JSON and YAML). It isn't possible for now to only serve API definitions.\r\n\r\nI see two uses-cases for this feature:\r\n- You want to serve multiple API definitions in your Nest application, so you might want to enable the UI only for the \"default\" API and disable it for other ones.\r\n- You already have a Swagger UI served somewhere else in your infrastructure and just want to make it point the API definition of your Nest app. So the UI might be disabled to reduce noise.\r\n\r\n## What is the new behavior?\r\n\r\nThis PR introduces a way to disable the Swagger UI to only generate API definitions.\r\nA new flag `swaggerUiEnabled` is available in `SwaggerModule.setup` options.\r\n\r\n## Does this PR introduce a breaking change?\r\n- [ ] Yes\r\n- [X] No\r\n\r\n\r\n\r\n## Other information\r\n\r\nIn this PR, I also improved some documentation and removed dead code ","created_at":"2024-02-15T08:02:31Z","updated_at":"2024-03-22T14:41:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"78b1cb945aa9819fdad15deaae3f63c71a68a7e4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840/commits","review_comments_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840/comments","review_comment_url":"https://api.github.com/repos/nestjs/swagger/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nestjs/swagger/issues/2840/comments","statuses_url":"https://api.github.com/repos/nestjs/swagger/statuses/d56087c50982c375146aa8ad50d3acf37cd878db","head":{"label":"lucas-gregoire:feat/allow-to-disable-swagger-ui","ref":"feat/allow-to-disable-swagger-ui","sha":"d56087c50982c375146aa8ad50d3acf37cd878db","user":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"repo":{"id":725725603,"node_id":"R_kgDOK0Gxow","name":"swagger","full_name":"lucas-gregoire/swagger","private":false,"owner":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"html_url":"https://github.com/lucas-gregoire/swagger","description":"OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:","fork":true,"url":"https://api.github.com/repos/lucas-gregoire/swagger","forks_url":"https://api.github.com/repos/lucas-gregoire/swagger/forks","keys_url":"https://api.github.com/repos/lucas-gregoire/swagger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lucas-gregoire/swagger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lucas-gregoire/swagger/teams","hooks_url":"https://api.github.com/repos/lucas-gregoire/swagger/hooks","issue_events_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues/events{/number}","events_url":"https://api.github.com/repos/lucas-gregoire/swagger/events","assignees_url":"https://api.github.com/repos/lucas-gregoire/swagger/assignees{/user}","branches_url":"https://api.github.com/repos/lucas-gregoire/swagger/branches{/branch}","tags_url":"https://api.github.com/repos/lucas-gregoire/swagger/tags","blobs_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/refs{/sha}","trees_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lucas-gregoire/swagger/statuses/{sha}","languages_url":"https://api.github.com/repos/lucas-gregoire/swagger/languages","stargazers_url":"https://api.github.com/repos/lucas-gregoire/swagger/stargazers","contributors_url":"https://api.github.com/repos/lucas-gregoire/swagger/contributors","subscribers_url":"https://api.github.com/repos/lucas-gregoire/swagger/subscribers","subscription_url":"https://api.github.com/repos/lucas-gregoire/swagger/subscription","commits_url":"https://api.github.com/repos/lucas-gregoire/swagger/commits{/sha}","git_commits_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/commits{/sha}","comments_url":"https://api.github.com/repos/lucas-gregoire/swagger/comments{/number}","issue_comment_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues/comments{/number}","contents_url":"https://api.github.com/repos/lucas-gregoire/swagger/contents/{+path}","compare_url":"https://api.github.com/repos/lucas-gregoire/swagger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lucas-gregoire/swagger/merges","archive_url":"https://api.github.com/repos/lucas-gregoire/swagger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lucas-gregoire/swagger/downloads","issues_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues{/number}","pulls_url":"https://api.github.com/repos/lucas-gregoire/swagger/pulls{/number}","milestones_url":"https://api.github.com/repos/lucas-gregoire/swagger/milestones{/number}","notifications_url":"https://api.github.com/repos/lucas-gregoire/swagger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lucas-gregoire/swagger/labels{/name}","releases_url":"https://api.github.com/repos/lucas-gregoire/swagger/releases{/id}","deployments_url":"https://api.github.com/repos/lucas-gregoire/swagger/deployments","created_at":"2023-11-30T18:40:12Z","updated_at":"2024-02-07T17:01:04Z","pushed_at":"2024-02-15T08:01:35Z","git_url":"git://github.com/lucas-gregoire/swagger.git","ssh_url":"git@github.com:lucas-gregoire/swagger.git","clone_url":"https://github.com/lucas-gregoire/swagger.git","svn_url":"https://github.com/lucas-gregoire/swagger","homepage":"https://nestjs.com","size":12211,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nestjs:master","ref":"master","sha":"b35412cead013ca476e8d55a6e284e519facd5b2","user":{"login":"nestjs","id":28507035,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTA3MDM1","avatar_url":"https://avatars.githubusercontent.com/u/28507035?v=4","gravatar_id":"","url":"https://api.github.com/users/nestjs","html_url":"https://github.com/nestjs","followers_url":"https://api.github.com/users/nestjs/followers","following_url":"https://api.github.com/users/nestjs/following{/other_user}","gists_url":"https://api.github.com/users/nestjs/gists{/gist_id}","starred_url":"https://api.github.com/users/nestjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nestjs/subscriptions","organizations_url":"https://api.github.com/users/nestjs/orgs","repos_url":"https://api.github.com/users/nestjs/repos","events_url":"https://api.github.com/users/nestjs/events{/privacy}","received_events_url":"https://api.github.com/users/nestjs/received_events","type":"Organization","site_admin":false},"repo":{"id":105440153,"node_id":"MDEwOlJlcG9zaXRvcnkxMDU0NDAxNTM=","name":"swagger","full_name":"nestjs/swagger","private":false,"owner":{"login":"nestjs","id":28507035,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTA3MDM1","avatar_url":"https://avatars.githubusercontent.com/u/28507035?v=4","gravatar_id":"","url":"https://api.github.com/users/nestjs","html_url":"https://github.com/nestjs","followers_url":"https://api.github.com/users/nestjs/followers","following_url":"https://api.github.com/users/nestjs/following{/other_user}","gists_url":"https://api.github.com/users/nestjs/gists{/gist_id}","starred_url":"https://api.github.com/users/nestjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nestjs/subscriptions","organizations_url":"https://api.github.com/users/nestjs/orgs","repos_url":"https://api.github.com/users/nestjs/repos","events_url":"https://api.github.com/users/nestjs/events{/privacy}","received_events_url":"https://api.github.com/users/nestjs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nestjs/swagger","description":"OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:","fork":false,"url":"https://api.github.com/repos/nestjs/swagger","forks_url":"https://api.github.com/repos/nestjs/swagger/forks","keys_url":"https://api.github.com/repos/nestjs/swagger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nestjs/swagger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nestjs/swagger/teams","hooks_url":"https://api.github.com/repos/nestjs/swagger/hooks","issue_events_url":"https://api.github.com/repos/nestjs/swagger/issues/events{/number}","events_url":"https://api.github.com/repos/nestjs/swagger/events","assignees_url":"https://api.github.com/repos/nestjs/swagger/assignees{/user}","branches_url":"https://api.github.com/repos/nestjs/swagger/branches{/branch}","tags_url":"https://api.github.com/repos/nestjs/swagger/tags","blobs_url":"https://api.github.com/repos/nestjs/swagger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nestjs/swagger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nestjs/swagger/git/refs{/sha}","trees_url":"https://api.github.com/repos/nestjs/swagger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nestjs/swagger/statuses/{sha}","languages_url":"https://api.github.com/repos/nestjs/swagger/languages","stargazers_url":"https://api.github.com/repos/nestjs/swagger/stargazers","contributors_url":"https://api.github.com/repos/nestjs/swagger/contributors","subscribers_url":"https://api.github.com/repos/nestjs/swagger/subscribers","subscription_url":"https://api.github.com/repos/nestjs/swagger/subscription","commits_url":"https://api.github.com/repos/nestjs/swagger/commits{/sha}","git_commits_url":"https://api.github.com/repos/nestjs/swagger/git/commits{/sha}","comments_url":"https://api.github.com/repos/nestjs/swagger/comments{/number}","issue_comment_url":"https://api.github.com/repos/nestjs/swagger/issues/comments{/number}","contents_url":"https://api.github.com/repos/nestjs/swagger/contents/{+path}","compare_url":"https://api.github.com/repos/nestjs/swagger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nestjs/swagger/merges","archive_url":"https://api.github.com/repos/nestjs/swagger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nestjs/swagger/downloads","issues_url":"https://api.github.com/repos/nestjs/swagger/issues{/number}","pulls_url":"https://api.github.com/repos/nestjs/swagger/pulls{/number}","milestones_url":"https://api.github.com/repos/nestjs/swagger/milestones{/number}","notifications_url":"https://api.github.com/repos/nestjs/swagger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nestjs/swagger/labels{/name}","releases_url":"https://api.github.com/repos/nestjs/swagger/releases{/id}","deployments_url":"https://api.github.com/repos/nestjs/swagger/deployments","created_at":"2017-10-01T12:20:24Z","updated_at":"2024-03-22T07:25:23Z","pushed_at":"2024-03-22T09:06:34Z","git_url":"git://github.com/nestjs/swagger.git","ssh_url":"git@github.com:nestjs/swagger.git","clone_url":"https://github.com/nestjs/swagger.git","svn_url":"https://github.com/nestjs/swagger","homepage":"https://nestjs.com","size":12399,"stargazers_count":1594,"watchers_count":1594,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":426,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":89,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["hacktoberfest","javascript","nest","nestjs","nodejs","swagger","typescript"],"visibility":"public","forks":426,"open_issues":89,"watchers":1594,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840"},"html":{"href":"https://github.com/nestjs/swagger/pull/2840"},"issue":{"href":"https://api.github.com/repos/nestjs/swagger/issues/2840"},"comments":{"href":"https://api.github.com/repos/nestjs/swagger/issues/2840/comments"},"review_comments":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840/comments"},"review_comment":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840/commits"},"statuses":{"href":"https://api.github.com/repos/nestjs/swagger/statuses/d56087c50982c375146aa8ad50d3acf37cd878db"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2024-03-22T14:41:50Z","org":{"id":28507035,"login":"nestjs","gravatar_id":"","url":"https://api.github.com/orgs/nestjs","avatar_url":"https://avatars.githubusercontent.com/u/28507035?"}},{"id":"36800469298","type":"PullRequestReviewEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":105440153,"name":"nestjs/swagger","url":"https://api.github.com/repos/nestjs/swagger"},"payload":{"action":"created","review":{"id":1954973598,"node_id":"PRR_kwDOBkjjmc50hoee","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"body":"LGTM; not tested.\r\n\r\nFormatting-wise, I'd ask to undo gratuitous changes (removing trailing comma, quotes, semicolons, line-splitting, etc) to minimize diff, preserve `git blame`, and simplify review — IF I was maintainer of this code, who I'm not.\r\n\r\nI've landed here at all, because was investigating a breakage of Swagger-UI in a Nest app, caused by switching to a server-side bundler (esbuild), caused by other reasons.","commit_id":"d56087c50982c375146aa8ad50d3acf37cd878db","submitted_at":"2024-03-22T14:41:49Z","state":"approved","html_url":"https://github.com/nestjs/swagger/pull/2840#pullrequestreview-1954973598","pull_request_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840","author_association":"NONE","_links":{"html":{"href":"https://github.com/nestjs/swagger/pull/2840#pullrequestreview-1954973598"},"pull_request":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840"}}},"pull_request":{"url":"https://api.github.com/repos/nestjs/swagger/pulls/2840","id":1727067846,"node_id":"PR_kwDOBkjjmc5m8PbG","html_url":"https://github.com/nestjs/swagger/pull/2840","diff_url":"https://github.com/nestjs/swagger/pull/2840.diff","patch_url":"https://github.com/nestjs/swagger/pull/2840.patch","issue_url":"https://api.github.com/repos/nestjs/swagger/issues/2840","number":2840,"state":"open","locked":false,"title":"feat: allow to disable Swagger UI","user":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"body":"## PR Checklist\r\nPlease check if your PR fulfills the following requirements:\r\n\r\n- [X] The commit message follows our guidelines: https://github.com/nestjs/nest/blob/master/CONTRIBUTING.md\r\n- [X] Tests for the changes have been added (for bug fixes / features)\r\n- [X] Docs have been added / updated (for bug fixes / features) => https://github.com/nestjs/docs.nestjs.com/pull/2972\r\n\r\n\r\n## PR Type\r\nWhat kind of change does this PR introduce?\r\n\r\n\r\n- [ ] Bugfix\r\n- [X] Feature\r\n- [ ] Code style update (formatting, local variables)\r\n- [ ] Refactoring (no functional changes, no api changes)\r\n- [ ] Build related changes\r\n- [ ] CI related changes\r\n- [ ] Other... Please describe:\r\n\r\n## What is the current behavior?\r\n\r\n\r\nIssue Number: none\r\n\r\nCurrently when using `SwaggerModule.setup` it serves all files of Swagger UI and API definitions generated on the fly (JSON and YAML). It isn't possible for now to only serve API definitions.\r\n\r\nI see two uses-cases for this feature:\r\n- You want to serve multiple API definitions in your Nest application, so you might want to enable the UI only for the \"default\" API and disable it for other ones.\r\n- You already have a Swagger UI served somewhere else in your infrastructure and just want to make it point the API definition of your Nest app. So the UI might be disabled to reduce noise.\r\n\r\n## What is the new behavior?\r\n\r\nThis PR introduces a way to disable the Swagger UI to only generate API definitions.\r\nA new flag `swaggerUiEnabled` is available in `SwaggerModule.setup` options.\r\n\r\n## Does this PR introduce a breaking change?\r\n- [ ] Yes\r\n- [X] No\r\n\r\n\r\n\r\n## Other information\r\n\r\nIn this PR, I also improved some documentation and removed dead code ","created_at":"2024-02-15T08:02:31Z","updated_at":"2024-03-22T14:41:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"78b1cb945aa9819fdad15deaae3f63c71a68a7e4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840/commits","review_comments_url":"https://api.github.com/repos/nestjs/swagger/pulls/2840/comments","review_comment_url":"https://api.github.com/repos/nestjs/swagger/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nestjs/swagger/issues/2840/comments","statuses_url":"https://api.github.com/repos/nestjs/swagger/statuses/d56087c50982c375146aa8ad50d3acf37cd878db","head":{"label":"lucas-gregoire:feat/allow-to-disable-swagger-ui","ref":"feat/allow-to-disable-swagger-ui","sha":"d56087c50982c375146aa8ad50d3acf37cd878db","user":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"repo":{"id":725725603,"node_id":"R_kgDOK0Gxow","name":"swagger","full_name":"lucas-gregoire/swagger","private":false,"owner":{"login":"lucas-gregoire","id":4543679,"node_id":"MDQ6VXNlcjQ1NDM2Nzk=","avatar_url":"https://avatars.githubusercontent.com/u/4543679?v=4","gravatar_id":"","url":"https://api.github.com/users/lucas-gregoire","html_url":"https://github.com/lucas-gregoire","followers_url":"https://api.github.com/users/lucas-gregoire/followers","following_url":"https://api.github.com/users/lucas-gregoire/following{/other_user}","gists_url":"https://api.github.com/users/lucas-gregoire/gists{/gist_id}","starred_url":"https://api.github.com/users/lucas-gregoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucas-gregoire/subscriptions","organizations_url":"https://api.github.com/users/lucas-gregoire/orgs","repos_url":"https://api.github.com/users/lucas-gregoire/repos","events_url":"https://api.github.com/users/lucas-gregoire/events{/privacy}","received_events_url":"https://api.github.com/users/lucas-gregoire/received_events","type":"User","site_admin":false},"html_url":"https://github.com/lucas-gregoire/swagger","description":"OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:","fork":true,"url":"https://api.github.com/repos/lucas-gregoire/swagger","forks_url":"https://api.github.com/repos/lucas-gregoire/swagger/forks","keys_url":"https://api.github.com/repos/lucas-gregoire/swagger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lucas-gregoire/swagger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lucas-gregoire/swagger/teams","hooks_url":"https://api.github.com/repos/lucas-gregoire/swagger/hooks","issue_events_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues/events{/number}","events_url":"https://api.github.com/repos/lucas-gregoire/swagger/events","assignees_url":"https://api.github.com/repos/lucas-gregoire/swagger/assignees{/user}","branches_url":"https://api.github.com/repos/lucas-gregoire/swagger/branches{/branch}","tags_url":"https://api.github.com/repos/lucas-gregoire/swagger/tags","blobs_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/refs{/sha}","trees_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lucas-gregoire/swagger/statuses/{sha}","languages_url":"https://api.github.com/repos/lucas-gregoire/swagger/languages","stargazers_url":"https://api.github.com/repos/lucas-gregoire/swagger/stargazers","contributors_url":"https://api.github.com/repos/lucas-gregoire/swagger/contributors","subscribers_url":"https://api.github.com/repos/lucas-gregoire/swagger/subscribers","subscription_url":"https://api.github.com/repos/lucas-gregoire/swagger/subscription","commits_url":"https://api.github.com/repos/lucas-gregoire/swagger/commits{/sha}","git_commits_url":"https://api.github.com/repos/lucas-gregoire/swagger/git/commits{/sha}","comments_url":"https://api.github.com/repos/lucas-gregoire/swagger/comments{/number}","issue_comment_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues/comments{/number}","contents_url":"https://api.github.com/repos/lucas-gregoire/swagger/contents/{+path}","compare_url":"https://api.github.com/repos/lucas-gregoire/swagger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lucas-gregoire/swagger/merges","archive_url":"https://api.github.com/repos/lucas-gregoire/swagger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lucas-gregoire/swagger/downloads","issues_url":"https://api.github.com/repos/lucas-gregoire/swagger/issues{/number}","pulls_url":"https://api.github.com/repos/lucas-gregoire/swagger/pulls{/number}","milestones_url":"https://api.github.com/repos/lucas-gregoire/swagger/milestones{/number}","notifications_url":"https://api.github.com/repos/lucas-gregoire/swagger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lucas-gregoire/swagger/labels{/name}","releases_url":"https://api.github.com/repos/lucas-gregoire/swagger/releases{/id}","deployments_url":"https://api.github.com/repos/lucas-gregoire/swagger/deployments","created_at":"2023-11-30T18:40:12Z","updated_at":"2024-02-07T17:01:04Z","pushed_at":"2024-02-15T08:01:35Z","git_url":"git://github.com/lucas-gregoire/swagger.git","ssh_url":"git@github.com:lucas-gregoire/swagger.git","clone_url":"https://github.com/lucas-gregoire/swagger.git","svn_url":"https://github.com/lucas-gregoire/swagger","homepage":"https://nestjs.com","size":12211,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nestjs:master","ref":"master","sha":"b35412cead013ca476e8d55a6e284e519facd5b2","user":{"login":"nestjs","id":28507035,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTA3MDM1","avatar_url":"https://avatars.githubusercontent.com/u/28507035?v=4","gravatar_id":"","url":"https://api.github.com/users/nestjs","html_url":"https://github.com/nestjs","followers_url":"https://api.github.com/users/nestjs/followers","following_url":"https://api.github.com/users/nestjs/following{/other_user}","gists_url":"https://api.github.com/users/nestjs/gists{/gist_id}","starred_url":"https://api.github.com/users/nestjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nestjs/subscriptions","organizations_url":"https://api.github.com/users/nestjs/orgs","repos_url":"https://api.github.com/users/nestjs/repos","events_url":"https://api.github.com/users/nestjs/events{/privacy}","received_events_url":"https://api.github.com/users/nestjs/received_events","type":"Organization","site_admin":false},"repo":{"id":105440153,"node_id":"MDEwOlJlcG9zaXRvcnkxMDU0NDAxNTM=","name":"swagger","full_name":"nestjs/swagger","private":false,"owner":{"login":"nestjs","id":28507035,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4NTA3MDM1","avatar_url":"https://avatars.githubusercontent.com/u/28507035?v=4","gravatar_id":"","url":"https://api.github.com/users/nestjs","html_url":"https://github.com/nestjs","followers_url":"https://api.github.com/users/nestjs/followers","following_url":"https://api.github.com/users/nestjs/following{/other_user}","gists_url":"https://api.github.com/users/nestjs/gists{/gist_id}","starred_url":"https://api.github.com/users/nestjs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nestjs/subscriptions","organizations_url":"https://api.github.com/users/nestjs/orgs","repos_url":"https://api.github.com/users/nestjs/repos","events_url":"https://api.github.com/users/nestjs/events{/privacy}","received_events_url":"https://api.github.com/users/nestjs/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nestjs/swagger","description":"OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:","fork":false,"url":"https://api.github.com/repos/nestjs/swagger","forks_url":"https://api.github.com/repos/nestjs/swagger/forks","keys_url":"https://api.github.com/repos/nestjs/swagger/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nestjs/swagger/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nestjs/swagger/teams","hooks_url":"https://api.github.com/repos/nestjs/swagger/hooks","issue_events_url":"https://api.github.com/repos/nestjs/swagger/issues/events{/number}","events_url":"https://api.github.com/repos/nestjs/swagger/events","assignees_url":"https://api.github.com/repos/nestjs/swagger/assignees{/user}","branches_url":"https://api.github.com/repos/nestjs/swagger/branches{/branch}","tags_url":"https://api.github.com/repos/nestjs/swagger/tags","blobs_url":"https://api.github.com/repos/nestjs/swagger/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nestjs/swagger/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nestjs/swagger/git/refs{/sha}","trees_url":"https://api.github.com/repos/nestjs/swagger/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nestjs/swagger/statuses/{sha}","languages_url":"https://api.github.com/repos/nestjs/swagger/languages","stargazers_url":"https://api.github.com/repos/nestjs/swagger/stargazers","contributors_url":"https://api.github.com/repos/nestjs/swagger/contributors","subscribers_url":"https://api.github.com/repos/nestjs/swagger/subscribers","subscription_url":"https://api.github.com/repos/nestjs/swagger/subscription","commits_url":"https://api.github.com/repos/nestjs/swagger/commits{/sha}","git_commits_url":"https://api.github.com/repos/nestjs/swagger/git/commits{/sha}","comments_url":"https://api.github.com/repos/nestjs/swagger/comments{/number}","issue_comment_url":"https://api.github.com/repos/nestjs/swagger/issues/comments{/number}","contents_url":"https://api.github.com/repos/nestjs/swagger/contents/{+path}","compare_url":"https://api.github.com/repos/nestjs/swagger/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nestjs/swagger/merges","archive_url":"https://api.github.com/repos/nestjs/swagger/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nestjs/swagger/downloads","issues_url":"https://api.github.com/repos/nestjs/swagger/issues{/number}","pulls_url":"https://api.github.com/repos/nestjs/swagger/pulls{/number}","milestones_url":"https://api.github.com/repos/nestjs/swagger/milestones{/number}","notifications_url":"https://api.github.com/repos/nestjs/swagger/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nestjs/swagger/labels{/name}","releases_url":"https://api.github.com/repos/nestjs/swagger/releases{/id}","deployments_url":"https://api.github.com/repos/nestjs/swagger/deployments","created_at":"2017-10-01T12:20:24Z","updated_at":"2024-03-22T07:25:23Z","pushed_at":"2024-03-22T09:06:34Z","git_url":"git://github.com/nestjs/swagger.git","ssh_url":"git@github.com:nestjs/swagger.git","clone_url":"https://github.com/nestjs/swagger.git","svn_url":"https://github.com/nestjs/swagger","homepage":"https://nestjs.com","size":12399,"stargazers_count":1594,"watchers_count":1594,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":426,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":89,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":["hacktoberfest","javascript","nest","nestjs","nodejs","swagger","typescript"],"visibility":"public","forks":426,"open_issues":89,"watchers":1594,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840"},"html":{"href":"https://github.com/nestjs/swagger/pull/2840"},"issue":{"href":"https://api.github.com/repos/nestjs/swagger/issues/2840"},"comments":{"href":"https://api.github.com/repos/nestjs/swagger/issues/2840/comments"},"review_comments":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840/comments"},"review_comment":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nestjs/swagger/pulls/2840/commits"},"statuses":{"href":"https://api.github.com/repos/nestjs/swagger/statuses/d56087c50982c375146aa8ad50d3acf37cd878db"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2024-03-22T14:41:50Z","org":{"id":28507035,"login":"nestjs","gravatar_id":"","url":"https://api.github.com/orgs/nestjs","avatar_url":"https://avatars.githubusercontent.com/u/28507035?"}},{"id":"36789925082","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":895564,"name":"ibus/ibus","url":"https://api.github.com/repos/ibus/ibus"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/ibus/ibus/issues/2392","repository_url":"https://api.github.com/repos/ibus/ibus","labels_url":"https://api.github.com/repos/ibus/ibus/issues/2392/labels{/name}","comments_url":"https://api.github.com/repos/ibus/ibus/issues/2392/comments","events_url":"https://api.github.com/repos/ibus/ibus/issues/2392/events","html_url":"https://github.com/ibus/ibus/issues/2392","id":1182662619,"node_id":"I_kwDOAA2qTM5Gff_b","number":2392,"title":"Stateless layout switching?","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-03-27T21:04:56Z","updated_at":"2024-03-22T08:56:38Z","closed_at":"2024-03-22T08:47:44Z","author_association":"NONE","active_lock_reason":null,"body":"Hi all, any thought about **acyclic** (a.k.a. **stateless** or **modeless**) layout switching?\r\n\r\nThe basic idea:\r\n * `key_combo_1` *always* activates `layout_1`,\r\n * `key_combo_2` *always* activates `layout_2`,\r\n * `key_combo_3` *always* activates `layout_3`, and so on.\r\n\r\nThis works really well with muscle memory and eliminates **[mode errors][]**. Issues like #2303 too.\r\n\r\nMy user story is described [here](https://askubuntu.com/q/1123163/9061) for anyone interested. I want to employ Ibus to help myself learn another language with an involved writing system (Japanese).\r\n\r\nBut not seeing any option in ibus to have stateless hotkeys is a complete blocker for me.\r\n\r\nXKB can do it, can ibus?\r\n\r\n![image](https://user-images.githubusercontent.com/365338/160301292-f7d29fd7-7055-4dee-ad82-916e73f82f9e.png)\r\n\r\n[mode errors]: https://en.wikipedia.org/wiki/Mode_(user_interface)#Mode_errors\r\n\r\n","reactions":{"url":"https://api.github.com/repos/ibus/ibus/issues/2392/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/ibus/ibus/issues/2392/timeline","performed_via_github_app":null,"state_reason":"not_planned"},"comment":{"url":"https://api.github.com/repos/ibus/ibus/issues/comments/2014641283","html_url":"https://github.com/ibus/ibus/issues/2392#issuecomment-2014641283","issue_url":"https://api.github.com/repos/ibus/ibus/issues/2392","id":2014641283,"node_id":"IC_kwDOAA2qTM54FPyD","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-22T08:56:38Z","updated_at":"2024-03-22T08:56:38Z","author_association":"NONE","body":"Hi @fujiwarat, I think you missed my point.\r\n\r\nThe point is about **Stateless** layout switching (without the notion of \"the current layout\").","reactions":{"url":"https://api.github.com/repos/ibus/ibus/issues/comments/2014641283/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-22T08:56:40Z","org":{"id":391598,"login":"ibus","gravatar_id":"","url":"https://api.github.com/orgs/ibus","avatar_url":"https://avatars.githubusercontent.com/u/391598?"}},{"id":"36654336692","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":565999293,"name":"haskell/security-advisories","url":"https://api.github.com/repos/haskell/security-advisories"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/148","repository_url":"https://api.github.com/repos/haskell/security-advisories","labels_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/comments","events_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/events","html_url":"https://github.com/haskell/security-advisories/pull/148","id":2121874262,"node_id":"PR_kwDOIbx2vc5mM7qo","number":148,"title":"init hsec-cabal project","user":{"login":"MangoIV","id":40720523,"node_id":"MDQ6VXNlcjQwNzIwNTIz","avatar_url":"https://avatars.githubusercontent.com/u/40720523?v=4","gravatar_id":"","url":"https://api.github.com/users/MangoIV","html_url":"https://github.com/MangoIV","followers_url":"https://api.github.com/users/MangoIV/followers","following_url":"https://api.github.com/users/MangoIV/following{/other_user}","gists_url":"https://api.github.com/users/MangoIV/gists{/gist_id}","starred_url":"https://api.github.com/users/MangoIV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MangoIV/subscriptions","organizations_url":"https://api.github.com/users/MangoIV/orgs","repos_url":"https://api.github.com/users/MangoIV/repos","events_url":"https://api.github.com/users/MangoIV/events{/privacy}","received_events_url":"https://api.github.com/users/MangoIV/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":27,"created_at":"2024-02-06T23:48:05Z","updated_at":"2024-03-18T17:13:58Z","closed_at":null,"author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/haskell/security-advisories/pulls/148","html_url":"https://github.com/haskell/security-advisories/pull/148","diff_url":"https://github.com/haskell/security-advisories/pull/148.diff","patch_url":"https://github.com/haskell/security-advisories/pull/148.patch","merged_at":null},"body":"## the cabal audit executable \r\n\r\n### usage \r\n\r\n```console\r\nλ nix run github:mangoiv/security-advisories/mangoiv/hsec-cabal#hsec-cabal\r\ntrying to clone https://github.com/haskell/security-advisories\r\nCloning into '/tmp/hsec-cabal-ed2fae5ff8207335'...\r\nremote: Enumerating objects: 1671, done.\r\nremote: Counting objects: 100% (521/521), done.\r\nremote: Compressing objects: 100% (217/217), done.\r\nremote: Total 1671 (delta 343), reused 362 (delta 288), pack-reused 1150\r\nReceiving objects: 100% (1671/1671), 340.55 KiB | 1.88 MiB/s, done.\r\nResolving deltas: 100% (902/902), done.\r\n\r\n\r\nFound advisories:\r\n\r\ndependency \"base\" at version 4.17.2.1 is vulnerable for:\r\n HSEC-2023-0007 \"readFloat: memory exhaustion with large exponent\"\r\n published: 2023-07-22 12:29:32 +1000\r\n https://haskell.github.io/security-advisories/advisory/HSEC-2023-0007\r\n No fix version available\r\n toml, parser, dos\r\n```\r\n\r\n### features implemented \r\n\r\n- query the repository for vulnerabilities \r\n- provide local repository \r\n- pretty output \r\n- run the cabal solver on a project and match vulnerabilities against that \r\n- propose fix version\r\n- link to security-advisories website \r\n- playtest\r\n\r\n### open features \r\n\r\n- don't only provide the latest fix version but a range of fix versions\r\n- check for the newest package on hackage that is greater than the fix version\r\n- more configuration configure the output \r\n- json output instead of only pretty stdout \r\n- use API instead of repository\r\n- more solver options (perhaps offer a special flags to pass on options to cabal)\r\n- more structured monadic code (it's all IO for simplicity)\r\n\r\n## other changes \r\n\r\n- gave the nix code a polish \r\n- gave the devshell a polish \r\n- introduced pre-commit-hooks.nix (please tell me if that's not wanted) ","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/148/reactions","total_count":3,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":2,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/2004494151","html_url":"https://github.com/haskell/security-advisories/pull/148#issuecomment-2004494151","issue_url":"https://api.github.com/repos/haskell/security-advisories/issues/148","id":2004494151,"node_id":"IC_kwDOIbx2vc53eidH","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-18T17:13:57Z","updated_at":"2024-03-18T17:13:57Z","author_association":"CONTRIBUTOR","body":"JFYI, if the author is unresponsive, [there's a procedure][1] to claim the name on hackage\r\n\r\n[1]: https://wiki.haskell.org/Taking_over_a_package","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/2004494151/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-18T17:13:58Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36654282996","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":565999293,"name":"haskell/security-advisories","url":"https://api.github.com/repos/haskell/security-advisories"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/148","repository_url":"https://api.github.com/repos/haskell/security-advisories","labels_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/comments","events_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/events","html_url":"https://github.com/haskell/security-advisories/pull/148","id":2121874262,"node_id":"PR_kwDOIbx2vc5mM7qo","number":148,"title":"init hsec-cabal project","user":{"login":"MangoIV","id":40720523,"node_id":"MDQ6VXNlcjQwNzIwNTIz","avatar_url":"https://avatars.githubusercontent.com/u/40720523?v=4","gravatar_id":"","url":"https://api.github.com/users/MangoIV","html_url":"https://github.com/MangoIV","followers_url":"https://api.github.com/users/MangoIV/followers","following_url":"https://api.github.com/users/MangoIV/following{/other_user}","gists_url":"https://api.github.com/users/MangoIV/gists{/gist_id}","starred_url":"https://api.github.com/users/MangoIV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MangoIV/subscriptions","organizations_url":"https://api.github.com/users/MangoIV/orgs","repos_url":"https://api.github.com/users/MangoIV/repos","events_url":"https://api.github.com/users/MangoIV/events{/privacy}","received_events_url":"https://api.github.com/users/MangoIV/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":26,"created_at":"2024-02-06T23:48:05Z","updated_at":"2024-03-18T17:12:23Z","closed_at":null,"author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/haskell/security-advisories/pulls/148","html_url":"https://github.com/haskell/security-advisories/pull/148","diff_url":"https://github.com/haskell/security-advisories/pull/148.diff","patch_url":"https://github.com/haskell/security-advisories/pull/148.patch","merged_at":null},"body":"## the cabal audit executable \r\n\r\n### usage \r\n\r\n```console\r\nλ nix run github:mangoiv/security-advisories/mangoiv/hsec-cabal#hsec-cabal\r\ntrying to clone https://github.com/haskell/security-advisories\r\nCloning into '/tmp/hsec-cabal-ed2fae5ff8207335'...\r\nremote: Enumerating objects: 1671, done.\r\nremote: Counting objects: 100% (521/521), done.\r\nremote: Compressing objects: 100% (217/217), done.\r\nremote: Total 1671 (delta 343), reused 362 (delta 288), pack-reused 1150\r\nReceiving objects: 100% (1671/1671), 340.55 KiB | 1.88 MiB/s, done.\r\nResolving deltas: 100% (902/902), done.\r\n\r\n\r\nFound advisories:\r\n\r\ndependency \"base\" at version 4.17.2.1 is vulnerable for:\r\n HSEC-2023-0007 \"readFloat: memory exhaustion with large exponent\"\r\n published: 2023-07-22 12:29:32 +1000\r\n https://haskell.github.io/security-advisories/advisory/HSEC-2023-0007\r\n No fix version available\r\n toml, parser, dos\r\n```\r\n\r\n### features implemented \r\n\r\n- query the repository for vulnerabilities \r\n- provide local repository \r\n- pretty output \r\n- run the cabal solver on a project and match vulnerabilities against that \r\n- propose fix version\r\n- link to security-advisories website \r\n- playtest\r\n\r\n### open features \r\n\r\n- don't only provide the latest fix version but a range of fix versions\r\n- check for the newest package on hackage that is greater than the fix version\r\n- more configuration configure the output \r\n- json output instead of only pretty stdout \r\n- use API instead of repository\r\n- more solver options (perhaps offer a special flags to pass on options to cabal)\r\n- more structured monadic code (it's all IO for simplicity)\r\n\r\n## other changes \r\n\r\n- gave the nix code a polish \r\n- gave the devshell a polish \r\n- introduced pre-commit-hooks.nix (please tell me if that's not wanted) ","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/148/reactions","total_count":3,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":2,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/2004489538","html_url":"https://github.com/haskell/security-advisories/pull/148#issuecomment-2004489538","issue_url":"https://api.github.com/repos/haskell/security-advisories/issues/148","id":2004489538,"node_id":"IC_kwDOIbx2vc53ehVC","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-18T17:12:22Z","updated_at":"2024-03-18T17:12:22Z","author_association":"CONTRIBUTOR","body":"@MangoIV no, horrible... Just imagine the UX. A random dude:\r\n* learns `cabal audit` is a thing\r\n* `cabal install cabal-audit`\r\n* ...\r\n* `Error: cabal: Could not resolve dependencies:`\r\n\r\nI mean. A caveat like that, right at installation time (before we even tried the tool yet) — is a turn down. Not a good sign","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/2004489538/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-18T17:12:23Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36653705862","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":565999293,"name":"haskell/security-advisories","url":"https://api.github.com/repos/haskell/security-advisories"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/148","repository_url":"https://api.github.com/repos/haskell/security-advisories","labels_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/comments","events_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/events","html_url":"https://github.com/haskell/security-advisories/pull/148","id":2121874262,"node_id":"PR_kwDOIbx2vc5mM7qo","number":148,"title":"init hsec-cabal project","user":{"login":"MangoIV","id":40720523,"node_id":"MDQ6VXNlcjQwNzIwNTIz","avatar_url":"https://avatars.githubusercontent.com/u/40720523?v=4","gravatar_id":"","url":"https://api.github.com/users/MangoIV","html_url":"https://github.com/MangoIV","followers_url":"https://api.github.com/users/MangoIV/followers","following_url":"https://api.github.com/users/MangoIV/following{/other_user}","gists_url":"https://api.github.com/users/MangoIV/gists{/gist_id}","starred_url":"https://api.github.com/users/MangoIV/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MangoIV/subscriptions","organizations_url":"https://api.github.com/users/MangoIV/orgs","repos_url":"https://api.github.com/users/MangoIV/repos","events_url":"https://api.github.com/users/MangoIV/events{/privacy}","received_events_url":"https://api.github.com/users/MangoIV/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":22,"created_at":"2024-02-06T23:48:05Z","updated_at":"2024-03-18T16:55:21Z","closed_at":null,"author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/haskell/security-advisories/pulls/148","html_url":"https://github.com/haskell/security-advisories/pull/148","diff_url":"https://github.com/haskell/security-advisories/pull/148.diff","patch_url":"https://github.com/haskell/security-advisories/pull/148.patch","merged_at":null},"body":"> **Warning** \r\n> heavily WIP\r\n\r\n## ideas for a basic `cabal audit` plugin\r\n- exe `cabal-audit`\r\n- invokes solver (from the `cabal-install` or `Cabal` library) \r\n- extracts plan \r\n- queries plan against existing vulnerabilities\r\n\r\n## changes\r\n- move to more declarative flake setup to avoid complexity\r\n- init the hsec-cabal cabal project\r\n- move the cabal.project file to `code`\r\n- preemptively introduce `pre-commit-hooks` for the `code` directory","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/148/reactions","total_count":3,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":2,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/security-advisories/issues/148/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/2004449223","html_url":"https://github.com/haskell/security-advisories/pull/148#issuecomment-2004449223","issue_url":"https://api.github.com/repos/haskell/security-advisories/issues/148","id":2004449223,"node_id":"IC_kwDOIbx2vc53eXfH","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-18T16:55:20Z","updated_at":"2024-03-18T16:55:20Z","author_association":"CONTRIBUTOR","body":"> we need a way to distribute this other than nix\r\n\r\nhey, what about `cabal install cabal-audit` ? @MangoIV \r\n\r\n... https://hackage.haskell.org/package/cabal-audit oh OMG, now what's this :see_no_evil: ","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/2004449223/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-18T16:55:22Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36546022806","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false},"assignees":[{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false}],"milestone":null,"comments":22,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-14T10:55:37Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1997168843","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1997168843","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1997168843,"node_id":"IC_kwDOADjjIc53CmDL","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-14T10:55:37Z","updated_at":"2024-03-14T10:55:37Z","author_association":"NONE","body":"I don't entirely follow #4033 on the first read. :confused: \r\n\r\n@alt-romes speaking of phases, what's the sequence? build, copy, register, install ?\r\n\r\nFor context, what Agda does: it's a compiler that ships with a bunch of wired-in internal modules, a-la GHC.Prim. For importing, these modules must first be typechecked, producing `.agdai` files, similar to `.hi` or `.pyc`. Now, it's a crucial step to typecheck these wired-in modules during agda build — otherwise, there's possibility of breakage in wired-in modules to slip through, and install broken compiler.\r\n\r\nThat's why that custom setup hook is there. I don't think it's particularly important for Agda in *which phase* of cabal install it runs. The only expected outcomes are:\r\n * that typechecking runs, and produces the `.agdai` outputs;\r\n * that the `.agdai` outputs are added to the package's `data-files`.\r\n\r\nSo maybe, it shouldn't be a hook in the copy phase, but some other phase?","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1997168843/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-14T10:55:38Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36542500045","type":"PushEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":753181752,"name":"ulidtko/loki","url":"https://api.github.com/repos/ulidtko/loki"},"payload":{"repository_id":753181752,"push_id":17539167080,"size":159,"distinct_size":159,"ref":"refs/heads/fix/systemd-service-packaging","head":"a6b4cb990c5dd247e8f00c5d376d863f5ee66de1","before":"5c0b9b0285b35c2f507332706d0302c188248f64","commits":[{"sha":"f97fb093f32927e1479a1cca215e48161afb0407","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"(chore) Bloom store: Rewrite block downloading/caching in bloom store fetcher (#11857)\n\n**What this PR does / why we need it**:\r\n\r\n1. The `BloomStore` interface gets a new function `FetchBlocks()`, which\r\naccepts `[]BlockRef` and returns `[]BlockDirectory`.\r\n\r\n The fetcher implements a new function `FetchBlocks()` which returns a\r\n list of block directories.\r\n \r\n A block directory represents a local file path that contains the\r\n extracted files of a bloom block. It also holds a counter of active\r\n readers that access the directory. This is used for safely deleting the\r\n directory in case it needs to be removed from disk (eg. max disk/cache\r\n size reached).\r\n \r\n The fetcher resolves the block directory from three places:\r\n\r\n 1. Cache: The in-memory cache that holds actively accessed directories\r\n and keeps track of used disk size.\r\n\r\n 2. Filesystem: In case the cache was emptied (e.g. when restarting the\r\n process) but the block directory is present on disk, it can be\r\n re-assambled into a bloom directory that can be put to cache.\r\n\r\n 3. Storage: If the directory is not present locally, the block archive\r\n is downloaded and extracted and the block directory is put to cache.\r\n\r\n2. The `{Meta,Block}Client` interfaces are unified: Both clients define\r\nthe same set of operations:\r\n\r\n Get{Meta,Block}\r\n Get{Meta,Block}s\r\n Put{Meta,Block}\r\n Delete{Meta,Block}s\r\n\r\n3. The `blockDownloader` is replaced by a simple queue powered by a\r\nchannel. The queue is implemented using generics, so it can be re-used\r\nfor different request/response types.\r\n\r\n4. Code related to \"block caching\" moved into a separate file `cache.go`\r\nand unused code is removed.\r\n\r\n---------\r\n\r\nSigned-off-by: Christian Haudum \r\nCo-authored-by: Owen Diehl ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/f97fb093f32927e1479a1cca215e48161afb0407"},{"sha":"2e3fa3b861889c754ebf879c9b251147269d9d20","author":{"email":"callumstyan@gmail.com","name":"Callum Styan"},"message":"quantile sharding: switch to ddsketch sparse constructor and remove quantile vector pooling in Join function (#11844)\n\nThis should reduce our memory usage for our quantile sketches by about\r\nhalf, at least in our current situation we'll OOM after ~160-170 minutes\r\ninstead of ~90 :cry:\r\n\r\n---------\r\n\r\nSigned-off-by: Callum Styan \r\nCo-authored-by: Karsten Jeschkies ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/2e3fa3b861889c754ebf879c9b251147269d9d20"},{"sha":"73edf7a9430aa3a8dc91370fc34de9be92bbe88a","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"(chore) Bloomshipper: Separate store and client (#11865)\n\n**What this PR does / why we need it**:\r\n\r\nThis PR removes the `StoreAndClient` interface that was accepted by the\r\n`BloomShipper`. Since the `BloomStore` had to not only implement the\r\n`Store` interface, but also the `Client` interface, it caused\r\nre-implementation of the same methods in different ways.\r\n\r\nNow the shipper solely relies on the `Store` interface.\r\n\r\nSee individual commit messages for more context.\r\n\r\nTests have been rewritten from scratch and placed in their own\r\nrespective test files for store and client.\r\n\r\n---------\r\n\r\nSigned-off-by: Christian Haudum ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/73edf7a9430aa3a8dc91370fc34de9be92bbe88a"},{"sha":"3a92834de05a0aba39ea98a8654233a780b3b900","author":{"email":"ow.diehl@gmail.com","name":"Owen Diehl"},"message":"[Blooms] Stateless archiving (#11872)\n\nMoves the archival code to an interface based approach, removing the\r\nexplicit fs dependency. We can now implement with in-memory solutions.\r\nAlso refactors to use a tar-file iterator and marks tests as\r\nparallelizable.","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/3a92834de05a0aba39ea98a8654233a780b3b900"},{"sha":"162360926326eea2e57b3b15e42b2924d121e550","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"Use correct header name in docs for query fairness in scheduler (#11875)","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/162360926326eea2e57b3b15e42b2924d121e550"},{"sha":"6b46e373fb6a3ea58fd22293da5b78d203f09e08","author":{"email":"rojacob@redhat.com","name":"Robert Jacob"},"message":"operator: Integrate support for OpenShift-managed credentials in Azure (#11868)","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/6b46e373fb6a3ea58fd22293da5b78d203f09e08"},{"sha":"af66ecec6a38e88dfb0de09508ecdeddd25a23fe","author":{"email":"ow.diehl@gmail.com","name":"Owen Diehl"},"message":"[Blooms] bloomshipper meta integration (#11874)\n\nBuilds on top of https://github.com/grafana/loki/pull/11872,\r\nstandardizing on the `bloomshipper` types `Meta` and `MetaRef`.","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/af66ecec6a38e88dfb0de09508ecdeddd25a23fe"},{"sha":"69d152b618bd1e3f09712fa24f3070232f55d01a","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"(chore) BloomStore: Clean up `FetchBlocks()` (#11876)\n\n**What this PR does / why we need it**:\r\n\r\n* Removes `FetchBlocksWithQueue` and replace it with `FetchBlocks`\r\n* Operate on single `BlockRef` when loading a block directory from\r\ncache/fs/storage.\r\n* Ensure order of responses from the FetchBlocks request\r\n\r\n---------\r\n\r\nSigned-off-by: Christian Haudum ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/69d152b618bd1e3f09712fa24f3070232f55d01a"},{"sha":"7bbbf232d0dbe9a7099441862c795828210bb0c4","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"Extend BloomStore with `Client(model.Time)` function (#11881)\n\n**What this PR does / why we need it**:\r\n\r\nFor certain operations, we want direct access to the `BloomClient`.\r\nSince every schema period has its own client, the `Client()` function\r\naccepts a `model.Timestamp` for which the client should be returned.\r\n\r\nThe function may return an error, if no client for the given time could\r\nbe found.\r\n\r\n---------\r\n\r\nSigned-off-by: Christian Haudum ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/7bbbf232d0dbe9a7099441862c795828210bb0c4"},{"sha":"c4ac168a8c7885847fee505a6b63708f8c30aca4","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"BloomStore: Change signature of `FetchBlocks()` to return `[]*CloseableBlockQuerier` (#11884)\n\n**What this PR does / why we need it**:\r\n\r\nIn order to encapsulate the reference counting on the `BlockDirectory`,\r\nthe `BloomStore` now returns a slice of `*CloseableBlockQuerier` instead\r\nof the directory itself.\r\n\r\nThe caller is responsible for closing the returned querier in order to\r\nrelease the reader resource and decrement the ref counter.\r\n\r\nThe PR also renames `ClosableBlockQuerier` to `CloseableBlockQuerier`.\r\n\r\n---------\r\n\r\nSigned-off-by: Christian Haudum ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/c4ac168a8c7885847fee505a6b63708f8c30aca4"},{"sha":"46c6118eb2a2d56406042431dfbed288df6e924b","author":{"email":"julie.stickler@grafana.com","name":"J Stickler"},"message":"Update docs to support OTEL GA (#11858)\n\n**What this PR does / why we need it**:\r\nUpdating the docs in advance of OTEL release to remove \"experimental\"\r\nnotes.\r\n\r\nAlso restructured release notes so that most recent content is first.","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/46c6118eb2a2d56406042431dfbed288df6e924b"},{"sha":"ba0538c2a509e55ae4ece3482591c9a8e8ded3a9","author":{"email":"ow.diehl@gmail.com","name":"Owen Diehl"},"message":"[Blooms] tsdb iterator implementation for bloom construction (#11886)\n\nBuilds a lazy iterator over a tsdb file for bloom construction. This is\r\njust the library utility, not the integration.","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/ba0538c2a509e55ae4ece3482591c9a8e8ded3a9"},{"sha":"b26bd6d77be4e38c8273a9d88429acb463c83596","author":{"email":"derek.cadzow@grafana.com","name":"Derek Cadzow"},"message":"changed first person to comply with style guide (#11890)\n\n**What this PR does / why we need it**:\r\nchanged first person to comply with style guide\r\n\r\n**Which issue(s) this PR fixes**:\r\nFixes #\r\nNo issue\r\n\r\n**Special notes for your reviewer**:\r\n\r\n**Checklist**\r\n- [ ] Reviewed the\r\n[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)\r\nguide (**required**)\r\n- [ ] Documentation added\r\n- [ ] Tests updated\r\n- [ ] `CHANGELOG.md` updated\r\n- [ ] If the change is worth mentioning in the release notes, add\r\n`add-to-release-notes` label\r\n- [ ] Changes that require user attention or interaction to upgrade are\r\ndocumented in `docs/sources/setup/upgrade/_index.md`\r\n- [ ] For Helm chart changes bump the Helm chart version in\r\n`production/helm/loki/Chart.yaml` and update\r\n`production/helm/loki/CHANGELOG.md` and\r\n`production/helm/loki/README.md`. [Example\r\nPR](https://github.com/grafana/loki/commit/d10549e3ece02120974929894ee333d07755d213)\r\n- [ ] If the change is deprecating or removing a configuration option,\r\nupdate the `deprecated-config.yaml` and `deleted-config.yaml` files\r\nrespectively in the `tools/deprecated-config-checker` directory.\r\n[Example\r\nPR](https://github.com/grafana/loki/pull/10840/commits/0d4416a4b03739583349934b96f272fb4f685d15)","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/b26bd6d77be4e38c8273a9d88429acb463c83596"},{"sha":"483ee5613901c62d55f7b43eab07cea8c6ab6043","author":{"email":"karsten.jeschkies@grafana.com","name":"Karsten Jeschkies"},"message":"Inject downstream accumulator. (#11863)\n\n**What this PR does / why we need it**:\r\nWe inject the downstream accumulator into the downstreamer instead of\r\nconstructing it on the first arrival of the first result.\r\n\r\nSince we know the query type before executing the first query we can\r\npass the correct accumulator. This will allow us to define special\r\n`topk` or `sum by` accumulators in the future.\r\n\r\n**Checklist**\r\n- [ ] Reviewed the\r\n[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)\r\nguide (**required**)\r\n- [ ] Documentation added\r\n- [ ] Tests updated\r\n- [ ] `CHANGELOG.md` updated\r\n- [ ] If the change is worth mentioning in the release notes, add\r\n`add-to-release-notes` label\r\n- [ ] Changes that require user attention or interaction to upgrade are\r\ndocumented in `docs/sources/setup/upgrade/_index.md`\r\n- [ ] For Helm chart changes bump the Helm chart version in\r\n`production/helm/loki/Chart.yaml` and update\r\n`production/helm/loki/CHANGELOG.md` and\r\n`production/helm/loki/README.md`. [Example\r\nPR](https://github.com/grafana/loki/commit/d10549e3ece02120974929894ee333d07755d213)\r\n- [ ] If the change is deprecating or removing a configuration option,\r\nupdate the `deprecated-config.yaml` and `deleted-config.yaml` files\r\nrespectively in the `tools/deprecated-config-checker` directory.\r\n[Example\r\nPR](https://github.com/grafana/loki/pull/10840/commits/0d4416a4b03739583349934b96f272fb4f685d15)\r\n\r\n---------\r\n\r\nCo-authored-by: Christian Haudum ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/483ee5613901c62d55f7b43eab07cea8c6ab6043"},{"sha":"9128036145967cdd75440d956bb88b9506752ee4","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"Bloom gateway: Integrate processor into worker (#11895)\n\nThis PR replaces the iteration of the bloom gateway worker with the code\r\nencapsulated in the previously established processor.\r\n\r\nSince the processor only relies on the BloomStore, rather than on the\r\nBloomShipper, the PR also removes unused code from the shipper.\r\n\r\n\r\nSigned-off-by: Christian Haudum ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/9128036145967cdd75440d956bb88b9506752ee4"},{"sha":"3b122e4be173d051f2e3918a66f8b6a7e9cc84db","author":{"email":"christian.haudum@gmail.com","name":"Christian Haudum"},"message":"Bloom gateway: Wire up cache config with implementation (#11898)\n\nUntil now, the cache configuration in the bloom gateway did not initialise the cache.\r\nThis PR wires the config with the actual implementation and passes them to the bloom store.\r\n\r\nSigned-off-by: Christian Haudum ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/3b122e4be173d051f2e3918a66f8b6a7e9cc84db"},{"sha":"3a1bd41ef56f32163e146aa0571922c202f054d8","author":{"email":"ow.diehl@gmail.com","name":"Owen Diehl"},"message":"[Blooms] Routing & wiring for bloom building (#11894)\n\nA few changes wiring up bloom building logic:\r\n* A `Router` as the controlling mechanism for iterating tenants+periods,\r\nqueueing work for parallel computation, determining which fingerprint\r\nranges and tenants are owned by a replica, and waiting for it's\r\ncompletion\r\n* Updates the `SimplerBloomController` to accept ownership ranges,\r\nperiods, and tenants as arguments for use by the `Router`\r\n* Builds a `BloomTSDBStore` struct around the\r\n`indexshipper/storage.Client` interface in order to iterate relevant\r\nTSDBs/etc","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/3a1bd41ef56f32163e146aa0571922c202f054d8"},{"sha":"fe53eb6817756c54d3447d5f1265bbac7f8a492b","author":{"email":"ow.diehl@gmail.com","name":"Owen Diehl"},"message":"fix type errors after introduction of typedcache into bloomshipper (#11902)\n\nRecent changes causing compilation failures -- this fixes type\r\nsignatures after refactoring.\r\n\r\nAlso removes test coverage comparisons because they prevent us from\r\nfixing `main`","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/fe53eb6817756c54d3447d5f1265bbac7f8a492b"},{"sha":"52167c4d32cc1ed9b2cb51d48e443b61a52e4a3f","author":{"email":"ow.diehl@gmail.com","name":"Owen Diehl"},"message":"logs query & hashedquery separately to minimize stacktraces (#11901)\n\nRather than call all our values together, this PR precomputes a few in\r\n`metrics.go` so any issues will result in smaller stack traces.","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/52167c4d32cc1ed9b2cb51d48e443b61a52e4a3f"},{"sha":"5914df77b961f44563b2827357cba87df84f3778","author":{"email":"periklis@redhat.com","name":"Periklis Tsirakidis"},"message":"operator: Add support for running with Google Workload Identity (#11869)\n\nCo-authored-by: Robert Jacob ","distinct":true,"url":"https://api.github.com/repos/ulidtko/loki/commits/5914df77b961f44563b2827357cba87df84f3778"}]},"public":true,"created_at":"2024-03-14T09:16:51Z"},{"id":"36524956132","type":"IssuesEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":15111821,"name":"grafana/grafana","url":"https://api.github.com/repos/grafana/grafana"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/grafana/grafana/issues/84411","repository_url":"https://api.github.com/repos/grafana/grafana","labels_url":"https://api.github.com/repos/grafana/grafana/issues/84411/labels{/name}","comments_url":"https://api.github.com/repos/grafana/grafana/issues/84411/comments","events_url":"https://api.github.com/repos/grafana/grafana/issues/84411/events","html_url":"https://github.com/grafana/grafana/issues/84411","id":2184772446,"node_id":"I_kwDOAOaWjc6COPte","number":84411,"title":"Okta auth: Access denied on /connections/datasources to Admin role","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2024-03-13T19:48:32Z","updated_at":"2024-03-13T19:48:32Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"### What happened?\n\nUpdated `grafana-server` to 10.4.0 from 10.3.3.\r\n\r\nNow, can't access the Datasources page when logged in via Okta, despite getting `Admin/editor` role:\r\n\r\n![image](https://github.com/grafana/grafana/assets/365338/4cc08fc5-c19c-4f20-85f3-0807874adab9)\r\n\r\nServer log says:\r\n\r\n> Mar 13 19:10:33 i-038e9a3f34a5ebf9f grafana[342]: logger=context userId=9 orgId=1 uname=myuser.name@acmecorp.com t=2024-03-13T19:10:33.269842885Z level=info msg=\"Access denied\" namespace=user userID=9 accessErrorID=ACE6960765070 permissions=\"any(datasources:explore datasources:create all of datasources:read, any of datasources:delete, datasources:write)\"\r\n> Mar 13 19:10:33 i-038e9a3f34a5ebf9f grafana[342]: logger=context userId=9 orgId=1 uname=myuser.name@acmecorp.com t=2024-03-13T19:10:33.269984737Z level=info msg=\"Request Completed\" method=GET path=/connections/datasources status=302 remote_addr=172.30.1.178 time_ms=7 duration=7.210584ms size=24 referer= handler=/connections/datasources status_source=server\r\n\r\nI do have access when logged in with username-password as `admin@localhost`.\r\n\n\n### What did you expect to happen?\n\nAdmin/editor role for builtin auth === Admin/editor role from Okta\n\n### Did this work before?\n\nYes... unfortunately I don't remember when, and the logs were rotated away, washed out by an error spam from a recent incident. Pretty sure it worked last year.\r\n\r\nI do try to keep Grafana up to date, so this must've been a reasonably recent version.\n\n### How do we reproduce it?\n\n1. Create a free dev-account on okta.com\r\n2. Create an Authorization Server\r\n3. Add an OAuth2 \"application\" (client_id + client_secret pair), configure its users & groups\r\n4. Configure `[auth.okta]` section in grafana.ini\r\n5. In grafana's `ldap.toml`, \r\n```\r\n[[servers.group_mappings]] \r\ngroup_dn = \"cn=admins,ou=groups,dc=grafana,dc=org\" \r\norg_role = \"Admin\"\r\n```\r\n6. Log in to grafana using this Authorization Server\r\n7. /admin/users shows:\r\n ![image](https://github.com/grafana/grafana/assets/365338/837a921b-8840-4c1c-914a-97b4d5a66c24)\r\n8. /connections/datasources\r\n\n\n### Is the bug inside a dashboard panel?\n\n_No response_\n\n### Environment (with versions)?\n\nGrafana: 10.4.0\r\nOS: Ubuntu Jammy 22.04.4 LTS\n\n### Grafana platform?\n\nA package manager (APT, YUM, BREW, etc.)\n\n### Datasource(s)?\n\n_No response_","reactions":{"url":"https://api.github.com/repos/grafana/grafana/issues/84411/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/grafana/grafana/issues/84411/timeline","performed_via_github_app":null,"state_reason":null}},"public":true,"created_at":"2024-03-13T19:48:33Z","org":{"id":7195757,"login":"grafana","gravatar_id":"","url":"https://api.github.com/orgs/grafana","avatar_url":"https://avatars.githubusercontent.com/u/7195757?"}},{"id":"36488495848","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false},"assignees":[{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false}],"milestone":null,"comments":17,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-12T20:39:51Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1992538249","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1992538249","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1992538249,"node_id":"IC_kwDOADjjIc52w7iJ","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T20:39:50Z","updated_at":"2024-03-12T20:39:50Z","author_association":"NONE","body":"@alt-romes sure. In advance, `ldd` does output *resolved* paths. Executables internally refer to libraries abstractly, as simply `libHSfoobar-.so` or `libm.so.6` — the exact file paths are the dynamic linker's job to resolve ([dyld][] on OS X, [ld.so][] on Linux) .\r\n\r\nThese things influence what the dynamic linker's resolution does on Linux:\r\n * creating a permanent location in `/etc/ld.so.conf.d/something.conf`\r\n (followed by running `ldconfig` as root to rebuild caches);\r\n * setting `LD_LIBRARY_PATH` environment variable temporarily;\r\n * adding compiler options to bake appropriate `RPATH` / `RUNPATH` into the executable;\r\n * using [patchelf](https://github.com/NixOS/patchelf) to edit an executable's `RPATH` / `RUNPATH` post-hoc.\r\n\r\nYou can use `otool -l` or `objdump -x | grep 'R.*PATH'` to [print RPATH][] baked into an executable (resp. on OS X & Linux). It's usually a `:`-separated list. The linked stackoverflow thread, as well as Apple's `man 1 dyld`, explain variables like `@loader_path` in RPATH that dyld interprets.\r\n\r\n[dyld]: https://www.unix.com/man-page/OSX/1/dyld/\r\n[ld.so]: https://www.man7.org/linux/man-pages/man8/ld.so.8.html\r\n[print RPATH]: https://stackoverflow.com/questions/12521802/print-rpath-of-an-executable-on-macos","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1992538249/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T20:39:51Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36485213591","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false},"assignees":[{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false}],"milestone":null,"comments":15,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-12T18:35:43Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1992308009","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1992308009","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1992308009,"node_id":"IC_kwDOADjjIc52wDUp","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T18:35:42Z","updated_at":"2024-03-12T18:35:42Z","author_association":"NONE","body":"> **Nothing in Cabal guarantees that the storedir is the same as the installdir...**\r\n\r\nI understood this from your analysis in #9654 @alt-romes. But this doesn't follow:\r\n\r\n> which means that defining the path to the dynamic library relative to the binary may not be possible.\r\n\r\n— *in the most general case*, yes. But nothing prevents us from optimizing the common case, right?\r\n\r\nCan cabal detect, that none of custom `--prefix`, `--libdir` or whatnot was used, and/or that the dependency-lib *actually is* installed under the store dir? And perhaps based on that, avoid the weird-dir shenanigans.\r\n\r\nIn defensive programming philosophy, the only guarantees you have — are the once you've explicitly checked.","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1992308009/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T18:35:44Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36484875913","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false},"assignees":[{"login":"alt-romes","id":21295306,"node_id":"MDQ6VXNlcjIxMjk1MzA2","avatar_url":"https://avatars.githubusercontent.com/u/21295306?v=4","gravatar_id":"","url":"https://api.github.com/users/alt-romes","html_url":"https://github.com/alt-romes","followers_url":"https://api.github.com/users/alt-romes/followers","following_url":"https://api.github.com/users/alt-romes/following{/other_user}","gists_url":"https://api.github.com/users/alt-romes/gists{/gist_id}","starred_url":"https://api.github.com/users/alt-romes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alt-romes/subscriptions","organizations_url":"https://api.github.com/users/alt-romes/orgs","repos_url":"https://api.github.com/users/alt-romes/repos","events_url":"https://api.github.com/users/alt-romes/events{/privacy}","received_events_url":"https://api.github.com/users/alt-romes/received_events","type":"User","site_admin":false}],"milestone":null,"comments":12,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-12T18:23:44Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1992289254","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1992289254","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1992289254,"node_id":"IC_kwDOADjjIc52v-vm","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T18:23:43Z","updated_at":"2024-03-12T18:23:43Z","author_association":"NONE","body":"> Here's what happens:\r\n> A package to be installed is built in a temporary directory (that long path you pasted)\r\n\r\nThis is incorrect right away @alt-romes.\r\n\r\nThe build happens under *yet another* temporary directory:\r\n * `/tmp/cabal-install.-3164886/dist-newstyle/tmp/src-3164886/cabal9784-repro-0.1`.\r\n\r\nBTW this one looks fine to me, not weird in any way. It also fits into 1 line.","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1992289254/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T18:23:45Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36472484394","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-12T12:41:38Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991563321","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1991563321","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1991563321,"node_id":"IC_kwDOADjjIc52tNg5","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T12:41:37Z","updated_at":"2024-03-12T12:41:37Z","author_association":"NONE","body":"Besides the install itself failing, leave that aside for now @alt-romes — notice from @andreasabel OP\r\n\r\n> [...] discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\n— I do reproduce this, too (on cabal 3.10.2.1). See gist. `--enable-executable-dynamic` has no effect — only `executable-dynamic: True` in `~/.cabal/config` does.\r\n\r\nI believe just this detail is way beyond expected, and is the actual subject of this bug report.","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991563321/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T12:41:38Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36472212387","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-12T12:33:57Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991549497","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1991549497","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1991549497,"node_id":"IC_kwDOADjjIc52tKI5","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T12:33:56Z","updated_at":"2024-03-12T12:33:56Z","author_association":"NONE","body":"@alt-romes for your convenience, I've **minimized a test case** that reproduces the issue.\r\n\r\nFind it here https://gist.github.com/ulidtko/fd65f7e5d486744d0f70dbe1934c6894\r\n\r\nIf anyone gives me a pointer to cabal tests perhaps, I can try to integrate it as a proper test case.","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991549497/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T12:33:57Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36469241217","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-12T11:02:47Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991383131","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1991383131","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1991383131,"node_id":"IC_kwDOADjjIc52shhb","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T11:02:46Z","updated_at":"2024-03-12T11:02:46Z","author_association":"NONE","body":"Can Cabal provide perhaps a \"post-atomic-store-install\" hook, to enable use-cases like Agda's?","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991383131/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T11:02:47Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36468781751","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":3728161,"name":"haskell/cabal","url":"https://api.github.com/repos/haskell/cabal"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/9784/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/9784/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/9784/events","html_url":"https://github.com/haskell/cabal/issues/9784","id":2173254249,"node_id":"I_kwDOADjjIc6BiTpp","number":9784,"title":"`cabal install Agda` fails in `Setup.hs` with `executable-dynamic: True` in config file (Linux, Windows)","user":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"labels":[{"id":5625689,"node_id":"MDU6TGFiZWw1NjI1Njg5","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20windows","name":"platform: windows","color":"f9d0c4","default":false,"description":null},{"id":5625695,"node_id":"MDU6TGFiZWw1NjI1Njk1","url":"https://api.github.com/repos/haskell/cabal/labels/platform:%20linux","name":"platform: linux","color":"f9d0c4","default":false,"description":null},{"id":720402826,"node_id":"MDU6TGFiZWw3MjA0MDI4MjY=","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20cmd/install","name":"cabal-install: cmd/install","color":"d93f0b","default":false,"description":null},{"id":3311841320,"node_id":"MDU6TGFiZWwzMzExODQxMzIw","url":"https://api.github.com/repos/haskell/cabal/labels/re:%20dynamic-linking","name":"re: dynamic-linking","color":"ededed","default":false,"description":"Concerning dynamic linking (e.g. flags \"shared\", \"*-dynamic\")"},{"id":3740911225,"node_id":"LA_kwDOADjjIc7e-cZ5","url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20custom","name":"cabal-install: custom","color":"d93f0b","default":false,"description":""},{"id":5320316720,"node_id":"LA_kwDOADjjIc8AAAABPR2XMA","url":"https://api.github.com/repos/haskell/cabal/labels/build-type:%20custom","name":"build-type: custom","color":"ededed","default":false,"description":""}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2024-03-07T08:16:12Z","updated_at":"2024-03-12T10:48:43Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"`cabal install Agda` fails with `executable-dynamic: True` in config file:\r\n- https://github.com/agda/agda/issues/7163\r\n- Reproducer on Linux: https://github.com/agda/agda/pull/7172\r\n\r\nWhat is puzzling that `cabal install Agda --enable-executable-dynamic` (instead of setting in the config file) succeeds: https://github.com/agda/agda/actions/runs/8184356501/job/22378664111?pr=7172\r\n\r\nAgda fails in the `copyHook` in its `Setup.hs` when it tries to invoke the just-built executable: https://github.com/agda/agda/blob/dee0d2e1300b43ac91517c3a5c58cae6b6af3a3d/Setup.hs#L134-L140\r\nThis situation has been discussed elsewhere in this issue tracker:\r\n- https://github.com/haskell/cabal/issues/9777\r\n\r\nThe current issue highlights the discrepancy in behavior between passing the command-line flag and changing the config setting for dynamic linking.\r\n\r\nRelated:\r\n- the opposite problem, but for `ghc-options: -dynamic`: https://github.com/haskell/cabal/issues/6505","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/9784/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/cabal/issues/9784/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991349446","html_url":"https://github.com/haskell/cabal/issues/9784#issuecomment-1991349446","issue_url":"https://api.github.com/repos/haskell/cabal/issues/9784","id":1991349446,"node_id":"IC_kwDOADjjIc52sZTG","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T10:48:42Z","updated_at":"2024-03-12T10:48:42Z","author_association":"NONE","body":"Hi @alt-romes,\r\n\r\n> why does Agda fail when compiled with --enable-executable-dynamic? \r\n\r\nIt's because:\r\n 1. the just-compiled agda executable gets invoked from Setup hook;\r\n 2. to run the (dynamically-linked) executable, the OS must be able to find .so libraries, including `libHSAgda*.so`;\r\n 3. at this point of the build, `libHSAgda*.so` is under a weird path like /home/ulidtko/.cabal/store/ghc-9.6.4/incoming/new-3043174/home/ulidtko/.cabal/store/ghc-9.6.4/Agda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3/lib/libHSAgda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3-ghc9.6.4.so \r\n * this path is cumbersome to even talk about; you noticed it too, in #9654\r\n 4. the weird path can't be found by OS — thus we get the fatal `error while loading shared libraries`.\r\n\r\nThe usual ways to specify library path are:\r\n * creating a permanent location in `/etc/ld.so.conf.d/something.conf`;\r\n * setting `LD_LIBRARY_PATH` environment variable temporarily;\r\n * adding compiler options to bake appropriate `RPATH` into the executable;\r\n * using [patchelf][] to edit an executable's `RPATH` post-hoc.\r\n\r\nUnfortunately I'm not seeing the `~/.cabal/store/ghc-*/incoming/new-*` subdir — is it possible to ask Cabal to not delete it?..\r\n\r\nAlso notice, that `v1-install` with `--enable-executable-dynamic` succeeds on the same package.\r\nI.e. this is only an issue in `v2-install`.\r\n\r\n[patchelf]: https://github.com/NixOS/patchelf","reactions":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/1991349446/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T10:48:43Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36467892609","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":40411471,"name":"agda/agda","url":"https://api.github.com/repos/agda/agda"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/agda/agda/issues/7163","repository_url":"https://api.github.com/repos/agda/agda","labels_url":"https://api.github.com/repos/agda/agda/issues/7163/labels{/name}","comments_url":"https://api.github.com/repos/agda/agda/issues/7163/comments","events_url":"https://api.github.com/repos/agda/agda/issues/7163/events","html_url":"https://github.com/agda/agda/issues/7163","id":2165422339,"node_id":"I_kwDOAmihT86BEbkD","number":7163,"title":"cabal install Agda -- fails with executable-dynamic","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"labels":[{"id":245648844,"node_id":"MDU6TGFiZWwyNDU2NDg4NDQ=","url":"https://api.github.com/repos/agda/agda/labels/ux:%20installation","name":"ux: installation","color":"ededed","default":false,"description":"Getting Agda set up on your machine"},{"id":406962108,"node_id":"MDU6TGFiZWw0MDY5NjIxMDg=","url":"https://api.github.com/repos/agda/agda/labels/cabal","name":"cabal","color":"ededed","default":false,"description":"Build problems specifically related to cabal-install"},{"id":1829904559,"node_id":"MDU6TGFiZWwxODI5OTA0NTU5","url":"https://api.github.com/repos/agda/agda/labels/upstream","name":"upstream","color":"3ef722","default":false,"description":""},{"id":2192256348,"node_id":"MDU6TGFiZWwyMTkyMjU2MzQ4","url":"https://api.github.com/repos/agda/agda/labels/dynamic%20linking","name":"dynamic linking","color":"ededed","default":false,"description":"Problems compiling Agda using dynamic linking"},{"id":6655522497,"node_id":"LA_kwDOAmihT88AAAABjLM2wQ","url":"https://api.github.com/repos/agda/agda/labels/Setup.hs","name":"Setup.hs","color":"ededed","default":false,"description":"Concerning the Custom build type of Agda"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/agda/agda/milestones/42","html_url":"https://github.com/agda/agda/milestone/42","labels_url":"https://api.github.com/repos/agda/agda/milestones/42/labels","id":9459757,"node_id":"MI_kwDOAmihT84AkFgt","number":42,"title":"2.7.0","description":"Next major release (e.g. Mimer).","creator":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"open_issues":156,"closed_issues":48,"state":"open","created_at":"2023-05-29T14:02:32Z","updated_at":"2024-03-12T08:44:58Z","due_on":"2024-05-01T07:00:00Z","closed_at":null},"comments":17,"created_at":"2024-03-03T15:43:34Z","updated_at":"2024-03-12T10:22:22Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"As [documented][1], `cabal install Agda` — fails for me in the .agdai post-compilation step.\r\n\r\n> [...]\r\n> Installing executable agda in /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> Warning: The directory\r\n> /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> is not in the system search path.\r\n> dist/build/agda/agda: error while loading shared libraries: libHSAgda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039-ghc9.6.3.so: cannot open shared object file: No such file or directory\r\n> Generating Agda library interface files...\r\n> readCreateProcess: dist/build/agda/agda \"--interaction\" \"--interaction-exit-on-error\" \"--no-libraries\" \"--local-interfaces\" \"-Werror\" \"-v0\" (exit 127): failed\r\n> Error: cabal: Failed to build Agda-2.6.4.1. See the build log above for details.\r\n\r\nFailures with similar error messages observed on:\r\n * ghc 9.8.1 + cabal 3.10.2.1,\r\n * ghc 9.8.1 + cabal 3.10.1.0,\r\n * ghc 9.6.3 + cabal 3.8.1.0,\r\n\r\nand\r\n * ghc 9.8.1 + Cabal 3.8.1.0 — gives `Could not resolve dependencies`, complaining of Agda's Setup upper bound on `text < 2.1` conflicting with `text-2.1` that GHC 9.8 ships with.\r\n\r\n[1]: https://agda.readthedocs.io/en/latest/getting-started/installation.html#step-2-installing-the-agda-and-the-agda-mode-programs\r\n\r\nThe error messages seem related to haskell/cabal#9640, haskell/cabal#9654; and I'm not sure if it's cabal-install at fault here, or Agda's custom Setup, or who knows what else. As a user on \"Step 2\" of installation, I've also seen #7157 already — and hopefully some day that'll help.\r\n\r\nFor now, let me suggest that documenting this better is direly needed.\r\n\r\n--------------------------\r\n\r\n... After spending multiple hours on failing compiles, I've got success with\r\n\r\n cabal v1-install --disable-documentation --ghc-options=-j -fenable-cluster-counting -foptimise-heavily Agda\r\n\r\non latest GHC & Cabal.\r\n\r\nHow about recommending explicitly **v1-install** in the installation guide?\r\nI'll roll a patch if that sounds any good.","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/7163/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/agda/agda/issues/7163/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1991293604","html_url":"https://github.com/agda/agda/issues/7163#issuecomment-1991293604","issue_url":"https://api.github.com/repos/agda/agda/issues/7163","id":1991293604,"node_id":"IC_kwDOAmihT852sLqk","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-12T10:22:21Z","updated_at":"2024-03-12T10:22:21Z","author_association":"NONE","body":"Hi again @andreasabel, glad to help, and thanks for acknowledging the issue at all :smiley: \r\n\r\nMy hunch so far anticipates a trip into cabal rabbit hole... I'll try to contribute in haskell/cabal#9784.\r\n\r\n> We might warn in the docs about checking for `executable-dynamic: True` in the `.cabal/config`.\r\n\r\nThis sounds perfect :+1: \r\n","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1991293604/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-12T10:22:22Z","org":{"id":410000,"login":"agda","gravatar_id":"","url":"https://api.github.com/orgs/agda","avatar_url":"https://avatars.githubusercontent.com/u/410000?"}},{"id":"36433062075","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":40411471,"name":"agda/agda","url":"https://api.github.com/repos/agda/agda"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/agda/agda/issues/7163","repository_url":"https://api.github.com/repos/agda/agda","labels_url":"https://api.github.com/repos/agda/agda/issues/7163/labels{/name}","comments_url":"https://api.github.com/repos/agda/agda/issues/7163/comments","events_url":"https://api.github.com/repos/agda/agda/issues/7163/events","html_url":"https://github.com/agda/agda/issues/7163","id":2165422339,"node_id":"I_kwDOAmihT86BEbkD","number":7163,"title":"cabal install Agda -- fails with executable-dynamic","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"labels":[{"id":245648844,"node_id":"MDU6TGFiZWwyNDU2NDg4NDQ=","url":"https://api.github.com/repos/agda/agda/labels/ux:%20installation","name":"ux: installation","color":"ededed","default":false,"description":"Getting Agda set up on your machine"},{"id":406962108,"node_id":"MDU6TGFiZWw0MDY5NjIxMDg=","url":"https://api.github.com/repos/agda/agda/labels/cabal","name":"cabal","color":"ededed","default":false,"description":"Build problems specifically related to cabal-install"},{"id":1829904559,"node_id":"MDU6TGFiZWwxODI5OTA0NTU5","url":"https://api.github.com/repos/agda/agda/labels/upstream","name":"upstream","color":"3ef722","default":false,"description":""},{"id":2192256348,"node_id":"MDU6TGFiZWwyMTkyMjU2MzQ4","url":"https://api.github.com/repos/agda/agda/labels/dynamic%20linking","name":"dynamic linking","color":"ededed","default":false,"description":"Problems compiling Agda using dynamic linking"},{"id":6655522497,"node_id":"LA_kwDOAmihT88AAAABjLM2wQ","url":"https://api.github.com/repos/agda/agda/labels/Setup.hs","name":"Setup.hs","color":"ededed","default":false,"description":"Concerning the Custom build type of Agda"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/agda/agda/milestones/42","html_url":"https://github.com/agda/agda/milestone/42","labels_url":"https://api.github.com/repos/agda/agda/milestones/42/labels","id":9459757,"node_id":"MI_kwDOAmihT84AkFgt","number":42,"title":"2.7.0","description":"Next major release (e.g. Mimer).","creator":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"open_issues":155,"closed_issues":48,"state":"open","created_at":"2023-05-29T14:02:32Z","updated_at":"2024-03-11T10:06:20Z","due_on":"2024-05-01T07:00:00Z","closed_at":null},"comments":15,"created_at":"2024-03-03T15:43:34Z","updated_at":"2024-03-11T12:33:11Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"As [documented][1], `cabal install Agda` — fails for me in the .agdai post-compilation step.\r\n\r\n> [...]\r\n> Installing executable agda in /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> Warning: The directory\r\n> /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> is not in the system search path.\r\n> dist/build/agda/agda: error while loading shared libraries: libHSAgda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039-ghc9.6.3.so: cannot open shared object file: No such file or directory\r\n> Generating Agda library interface files...\r\n> readCreateProcess: dist/build/agda/agda \"--interaction\" \"--interaction-exit-on-error\" \"--no-libraries\" \"--local-interfaces\" \"-Werror\" \"-v0\" (exit 127): failed\r\n> Error: cabal: Failed to build Agda-2.6.4.1. See the build log above for details.\r\n\r\nFailures with similar error messages observed on:\r\n * ghc 9.8.1 + cabal 3.10.2.1,\r\n * ghc 9.8.1 + cabal 3.10.1.0,\r\n * ghc 9.6.3 + cabal 3.8.1.0,\r\n\r\nand\r\n * ghc 9.8.1 + Cabal 3.8.1.0 — gives `Could not resolve dependencies`, complaining of Agda's Setup upper bound on `text < 2.1` conflicting with `text-2.1` that GHC 9.8 ships with.\r\n\r\n[1]: https://agda.readthedocs.io/en/latest/getting-started/installation.html#step-2-installing-the-agda-and-the-agda-mode-programs\r\n\r\nThe error messages seem related to haskell/cabal#9640, haskell/cabal#9654; and I'm not sure if it's cabal-install at fault here, or Agda's custom Setup, or who knows what else. As a user on \"Step 2\" of installation, I've also seen #7157 already — and hopefully some day that'll help.\r\n\r\nFor now, let me suggest that documenting this better is direly needed.\r\n\r\n--------------------------\r\n\r\n... After spending multiple hours on failing compiles, I've got success with\r\n\r\n cabal v1-install --disable-documentation --ghc-options=-j -fenable-cluster-counting -foptimise-heavily Agda\r\n\r\non latest GHC & Cabal.\r\n\r\nHow about recommending explicitly **v1-install** in the installation guide?\r\nI'll roll a patch if that sounds any good.","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/7163/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/agda/agda/issues/7163/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1988337065","html_url":"https://github.com/agda/agda/issues/7163#issuecomment-1988337065","issue_url":"https://api.github.com/repos/agda/agda/issues/7163","id":1988337065,"node_id":"IC_kwDOAmihT852g52p","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-11T12:33:09Z","updated_at":"2024-03-11T12:33:09Z","author_association":"NONE","body":"@andreasabel I tried it... Naively, doesn't seem to help, the .so likewise can't be found:\r\n\r\n> $ cabal v2-install --enable-executable-dynamic --verbose .\r\n> [...]\r\n> Installing executable dist/build/libHSAgda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3-ghc9.6.4.so to /home/ulidtko/.cabal/store/ghc-9.6.4/incoming/new-3043174/home/ulidtko/.cabal/store/ghc-9.6.4/Agda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3/lib/libHSAgda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3-ghc9.6.4.so\r\n> Installing executable agda in /home/ulidtko/.cabal/store/ghc-9.6.4/incoming/new-3043174/home/ulidtko/.cabal/store/ghc-9.6.4/Agda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3/bin\r\n> Warning: The directory /home/ulidtko/.cabal/store/ghc-9.6.4/incoming/new-3043174/home/ulidtko/.cabal/store/ghc-9.6.4/Agda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3/bin is not in the system search path.\r\n> dist/build/agda/agda: error while loading shared libraries: libHSAgda-2.6.5-a88d61781dc99162e02d5d6d176b13f1418efc8b30ce081e297f0204e18346d3-ghc9.6.4.so: cannot open shared object file: No such file or directory\r\n\r\nThis is with Agda's Setup.hs patched to invoke the agda executable from `postCopy` hook, instead of `copyHook`. The exact diff I tried is here: https://github.com/ulidtko/agda/commit/ab8bab66ee172b97c0efe7640cf31d5d45abf9cd\r\n\r\ncc @UlfNorell @nad","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1988337065/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-11T12:33:11Z","org":{"id":410000,"login":"agda","gravatar_id":"","url":"https://api.github.com/orgs/agda","avatar_url":"https://avatars.githubusercontent.com/u/410000?"}},{"id":"36432883458","type":"CreateEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":770363546,"name":"ulidtko/agda","url":"https://api.github.com/repos/ulidtko/agda"},"payload":{"ref":"fix/cabal-v2-install-dynamic","ref_type":"branch","master_branch":"master","description":"Agda is a dependently typed programming language / interactive theorem prover.","pusher_type":"user"},"public":true,"created_at":"2024-03-11T12:28:12Z"},{"id":"36432856476","type":"ForkEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":40411471,"name":"agda/agda","url":"https://api.github.com/repos/agda/agda"},"payload":{"forkee":{"id":770363546,"node_id":"R_kgDOLerQmg","name":"agda","full_name":"ulidtko/agda","private":false,"owner":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ulidtko/agda","description":"Agda is a dependently typed programming language / interactive theorem prover.","fork":true,"url":"https://api.github.com/repos/ulidtko/agda","forks_url":"https://api.github.com/repos/ulidtko/agda/forks","keys_url":"https://api.github.com/repos/ulidtko/agda/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ulidtko/agda/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ulidtko/agda/teams","hooks_url":"https://api.github.com/repos/ulidtko/agda/hooks","issue_events_url":"https://api.github.com/repos/ulidtko/agda/issues/events{/number}","events_url":"https://api.github.com/repos/ulidtko/agda/events","assignees_url":"https://api.github.com/repos/ulidtko/agda/assignees{/user}","branches_url":"https://api.github.com/repos/ulidtko/agda/branches{/branch}","tags_url":"https://api.github.com/repos/ulidtko/agda/tags","blobs_url":"https://api.github.com/repos/ulidtko/agda/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ulidtko/agda/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ulidtko/agda/git/refs{/sha}","trees_url":"https://api.github.com/repos/ulidtko/agda/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ulidtko/agda/statuses/{sha}","languages_url":"https://api.github.com/repos/ulidtko/agda/languages","stargazers_url":"https://api.github.com/repos/ulidtko/agda/stargazers","contributors_url":"https://api.github.com/repos/ulidtko/agda/contributors","subscribers_url":"https://api.github.com/repos/ulidtko/agda/subscribers","subscription_url":"https://api.github.com/repos/ulidtko/agda/subscription","commits_url":"https://api.github.com/repos/ulidtko/agda/commits{/sha}","git_commits_url":"https://api.github.com/repos/ulidtko/agda/git/commits{/sha}","comments_url":"https://api.github.com/repos/ulidtko/agda/comments{/number}","issue_comment_url":"https://api.github.com/repos/ulidtko/agda/issues/comments{/number}","contents_url":"https://api.github.com/repos/ulidtko/agda/contents/{+path}","compare_url":"https://api.github.com/repos/ulidtko/agda/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ulidtko/agda/merges","archive_url":"https://api.github.com/repos/ulidtko/agda/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ulidtko/agda/downloads","issues_url":"https://api.github.com/repos/ulidtko/agda/issues{/number}","pulls_url":"https://api.github.com/repos/ulidtko/agda/pulls{/number}","milestones_url":"https://api.github.com/repos/ulidtko/agda/milestones{/number}","notifications_url":"https://api.github.com/repos/ulidtko/agda/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ulidtko/agda/labels{/name}","releases_url":"https://api.github.com/repos/ulidtko/agda/releases{/id}","deployments_url":"https://api.github.com/repos/ulidtko/agda/deployments","created_at":"2024-03-11T12:27:25Z","updated_at":"2024-03-11T12:27:26Z","pushed_at":"2024-03-11T07:59:48Z","git_url":"git://github.com/ulidtko/agda.git","ssh_url":"git@github.com:ulidtko/agda.git","clone_url":"https://github.com/ulidtko/agda.git","svn_url":"https://github.com/ulidtko/agda","homepage":"https://wiki.portal.chalmers.se/agda/pmwiki.php","size":147121,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2024-03-11T12:27:26Z","org":{"id":410000,"login":"agda","gravatar_id":"","url":"https://api.github.com/orgs/agda","avatar_url":"https://avatars.githubusercontent.com/u/410000?"}},{"id":"36371857449","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":565999293,"name":"haskell/security-advisories","url":"https://api.github.com/repos/haskell/security-advisories"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/156","repository_url":"https://api.github.com/repos/haskell/security-advisories","labels_url":"https://api.github.com/repos/haskell/security-advisories/issues/156/labels{/name}","comments_url":"https://api.github.com/repos/haskell/security-advisories/issues/156/comments","events_url":"https://api.github.com/repos/haskell/security-advisories/issues/156/events","html_url":"https://github.com/haskell/security-advisories/issues/156","id":2175912572,"node_id":"I_kwDOIbx2vc6Bscp8","number":156,"title":"bz2 is vulnerable to CVE-2019-12900","user":{"login":"hasufell","id":1241845,"node_id":"MDQ6VXNlcjEyNDE4NDU=","avatar_url":"https://avatars.githubusercontent.com/u/1241845?v=4","gravatar_id":"","url":"https://api.github.com/users/hasufell","html_url":"https://github.com/hasufell","followers_url":"https://api.github.com/users/hasufell/followers","following_url":"https://api.github.com/users/hasufell/following{/other_user}","gists_url":"https://api.github.com/users/hasufell/gists{/gist_id}","starred_url":"https://api.github.com/users/hasufell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hasufell/subscriptions","organizations_url":"https://api.github.com/users/hasufell/orgs","repos_url":"https://api.github.com/users/hasufell/repos","events_url":"https://api.github.com/users/hasufell/events{/privacy}","received_events_url":"https://api.github.com/users/hasufell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2024-03-08T12:08:08Z","updated_at":"2024-03-08T12:23:18Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"Mandatory information:\r\n\r\n* Package : [bz2](https://hackage.haskell.org/package/bz2)\r\n* cvss: 9.8\r\n* affected versions:\r\n - Haskell: 0.1.0.0 - 1.0.1.0\r\n - Upstream: 1.0.6 and earlier\r\n\r\nOptional:\r\n\r\n* cve: [CVE-2019-12900](https://nvd.nist.gov/vuln/detail/CVE-2019-12900)\r\n* affected OSes: all\r\n\r\nHackage upstream issue: https://hub.darcs.net/vmchale/bz2/issue/4\r\n\r\nUpstream blog post about the issue: https://gnu.wildebeest.org/blog/mjw/2019/08/02/bzip2-and-the-cve-that-wasnt/ (they say it's not actually exploitable with \"current compilers\")\r\n\r\n","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/156/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/haskell/security-advisories/issues/156/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/1985602091","html_url":"https://github.com/haskell/security-advisories/issues/156#issuecomment-1985602091","issue_url":"https://api.github.com/repos/haskell/security-advisories/issues/156","id":1985602091,"node_id":"IC_kwDOIbx2vc52WeIr","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-08T12:23:16Z","updated_at":"2024-03-08T12:23:16Z","author_association":"CONTRIBUTOR","body":"Huh... how is there cvss 9.8 if there's no impact?\r\n\r\n> And all state after the `selectorMtf` array in the `DState` struct would be assigned values right after reading the selectors. And none of the excess selector values would ever be used. So even though there really was an array overwrite, it was completely harmless!","reactions":{"url":"https://api.github.com/repos/haskell/security-advisories/issues/comments/1985602091/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-08T12:23:18Z","org":{"id":450574,"login":"haskell","gravatar_id":"","url":"https://api.github.com/orgs/haskell","avatar_url":"https://avatars.githubusercontent.com/u/450574?"}},{"id":"36307231158","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":40411471,"name":"agda/agda","url":"https://api.github.com/repos/agda/agda"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/agda/agda/issues/7163","repository_url":"https://api.github.com/repos/agda/agda","labels_url":"https://api.github.com/repos/agda/agda/issues/7163/labels{/name}","comments_url":"https://api.github.com/repos/agda/agda/issues/7163/comments","events_url":"https://api.github.com/repos/agda/agda/issues/7163/events","html_url":"https://github.com/agda/agda/issues/7163","id":2165422339,"node_id":"I_kwDOAmihT86BEbkD","number":7163,"title":"cabal install Agda -- fails with executable-dynamic","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"labels":[{"id":245648844,"node_id":"MDU6TGFiZWwyNDU2NDg4NDQ=","url":"https://api.github.com/repos/agda/agda/labels/ux:%20installation","name":"ux: installation","color":"ededed","default":false,"description":"Getting Agda set up on your machine"},{"id":2192256348,"node_id":"MDU6TGFiZWwyMTkyMjU2MzQ4","url":"https://api.github.com/repos/agda/agda/labels/dynamic%20linking","name":"dynamic linking","color":"ededed","default":false,"description":"Problems compiling Agda using dynamic linking"},{"id":6655522497,"node_id":"LA_kwDOAmihT88AAAABjLM2wQ","url":"https://api.github.com/repos/agda/agda/labels/Setup.hs","name":"Setup.hs","color":"ededed","default":false,"description":"Concerning the Custom build type of Agda"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/agda/agda/milestones/42","html_url":"https://github.com/agda/agda/milestone/42","labels_url":"https://api.github.com/repos/agda/agda/milestones/42/labels","id":9459757,"node_id":"MI_kwDOAmihT84AkFgt","number":42,"title":"2.7.0","description":"Next major release (e.g. Mimer).","creator":{"login":"andreasabel","id":1155218,"node_id":"MDQ6VXNlcjExNTUyMTg=","avatar_url":"https://avatars.githubusercontent.com/u/1155218?v=4","gravatar_id":"","url":"https://api.github.com/users/andreasabel","html_url":"https://github.com/andreasabel","followers_url":"https://api.github.com/users/andreasabel/followers","following_url":"https://api.github.com/users/andreasabel/following{/other_user}","gists_url":"https://api.github.com/users/andreasabel/gists{/gist_id}","starred_url":"https://api.github.com/users/andreasabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreasabel/subscriptions","organizations_url":"https://api.github.com/users/andreasabel/orgs","repos_url":"https://api.github.com/users/andreasabel/repos","events_url":"https://api.github.com/users/andreasabel/events{/privacy}","received_events_url":"https://api.github.com/users/andreasabel/received_events","type":"User","site_admin":false},"open_issues":154,"closed_issues":44,"state":"open","created_at":"2023-05-29T14:02:32Z","updated_at":"2024-03-06T11:10:51Z","due_on":"2024-05-01T07:00:00Z","closed_at":null},"comments":9,"created_at":"2024-03-03T15:43:34Z","updated_at":"2024-03-06T17:13:36Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"As [documented][1], `cabal install Agda` — fails for me in the .agdai post-compilation step.\r\n\r\n> [...]\r\n> Installing executable agda in /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> Warning: The directory\r\n> /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> is not in the system search path.\r\n> dist/build/agda/agda: error while loading shared libraries: libHSAgda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039-ghc9.6.3.so: cannot open shared object file: No such file or directory\r\n> Generating Agda library interface files...\r\n> readCreateProcess: dist/build/agda/agda \"--interaction\" \"--interaction-exit-on-error\" \"--no-libraries\" \"--local-interfaces\" \"-Werror\" \"-v0\" (exit 127): failed\r\n> Error: cabal: Failed to build Agda-2.6.4.1. See the build log above for details.\r\n\r\nFailures with similar error messages observed on:\r\n * ghc 9.8.1 + cabal 3.10.2.1,\r\n * ghc 9.8.1 + cabal 3.10.1.0,\r\n * ghc 9.6.3 + cabal 3.8.1.0,\r\n\r\nand\r\n * ghc 9.8.1 + Cabal 3.8.1.0 — gives `Could not resolve dependencies`, complaining of Agda's Setup upper bound on `text < 2.1` conflicting with `text-2.1` that GHC 9.8 ships with.\r\n\r\n[1]: https://agda.readthedocs.io/en/latest/getting-started/installation.html#step-2-installing-the-agda-and-the-agda-mode-programs\r\n\r\nThe error messages seem related to haskell/cabal#9640, haskell/cabal#9654; and I'm not sure if it's cabal-install at fault here, or Agda's custom Setup, or who knows what else. As a user on \"Step 2\" of installation, I've also seen #7157 already — and hopefully some day that'll help.\r\n\r\nFor now, let me suggest that documenting this better is direly needed.\r\n\r\n--------------------------\r\n\r\n... After spending multiple hours on failing compiles, I've got success with\r\n\r\n cabal v1-install --disable-documentation --ghc-options=-j -fenable-cluster-counting -foptimise-heavily Agda\r\n\r\non latest GHC & Cabal.\r\n\r\nHow about recommending explicitly **v1-install** in the installation guide?\r\nI'll roll a patch if that sounds any good.","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/7163/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/agda/agda/issues/7163/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1981382729","html_url":"https://github.com/agda/agda/issues/7163#issuecomment-1981382729","issue_url":"https://api.github.com/repos/agda/agda/issues/7163","id":1981382729,"node_id":"IC_kwDOAmihT852GYBJ","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-06T17:13:35Z","updated_at":"2024-03-06T17:13:35Z","author_association":"NONE","body":"@andreasabel v1-install with `executable-dynamic` succeeds on my end.\r\n\r\n> Maximal action: get rid of Setup.hs.\r\n\r\nYep :+1: #7157 linked already.\r\n\r\n-----------------------\r\n\r\nRe: CI, seeing the 5s step time makes me suspicious that most of it got cached :joy: \r\n\r\n![image](https://github.com/agda/agda/assets/365338/2830ed81-1fde-4d2c-b13c-3f69bf75c8c5)\r\n","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1981382729/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-06T17:13:36Z","org":{"id":410000,"login":"agda","gravatar_id":"","url":"https://api.github.com/orgs/agda","avatar_url":"https://avatars.githubusercontent.com/u/410000?"}},{"id":"36295447643","type":"PushEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":1184860,"name":"ulidtko/versioned-configs","url":"https://api.github.com/repos/ulidtko/versioned-configs"},"payload":{"repository_id":1184860,"push_id":17412477681,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"f8ba6112cd4fcad9b5e5d0619b6ce6e6bd43ea80","before":"9f5a92362064d263df41f1d4cbad1a65f4848989","commits":[{"sha":"ae33e72c4f4cd570df4b6be9adc3bb35ac4868b7","author":{"email":"ulidtko@gmail.com","name":"Max Ulidtko"},"message":"ghci: reduce deps on Prelude\n\nfor -XNoImplicitPrelude, custom preludes, etc","distinct":true,"url":"https://api.github.com/repos/ulidtko/versioned-configs/commits/ae33e72c4f4cd570df4b6be9adc3bb35ac4868b7"},{"sha":"edb0f4874686b376e296383e1405355ab0e67ab7","author":{"email":"ulidtko@gmail.com","name":"Max Ulidtko"},"message":"maint: sort & cleanup .gitmodules","distinct":true,"url":"https://api.github.com/repos/ulidtko/versioned-configs/commits/edb0f4874686b376e296383e1405355ab0e67ab7"},{"sha":"c9e578f12dab7398daf50de55d1acd073d2e1936","author":{"email":"ulidtko@gmail.com","name":"Max Ulidtko"},"message":"vim bundle: switch branch of LSP client\n\nhttps://github.com/autozimu/LanguageClient-neovim/pull/1264","distinct":true,"url":"https://api.github.com/repos/ulidtko/versioned-configs/commits/c9e578f12dab7398daf50de55d1acd073d2e1936"},{"sha":"f8ba6112cd4fcad9b5e5d0619b6ce6e6bd43ea80","author":{"email":"ulidtko@gmail.com","name":"Max Ulidtko"},"message":"vim bundle: draft setup for agda (nvim + cornelis)","distinct":true,"url":"https://api.github.com/repos/ulidtko/versioned-configs/commits/f8ba6112cd4fcad9b5e5d0619b6ce6e6bd43ea80"}]},"public":true,"created_at":"2024-03-06T11:39:17Z"},{"id":"36258084629","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":35726310,"name":"dart-lang/sdk","url":"https://api.github.com/repos/dart-lang/sdk"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/12693","repository_url":"https://api.github.com/repos/dart-lang/sdk","labels_url":"https://api.github.com/repos/dart-lang/sdk/issues/12693/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/sdk/issues/12693/comments","events_url":"https://api.github.com/repos/dart-lang/sdk/issues/12693/events","html_url":"https://github.com/dart-lang/sdk/issues/12693","id":84548009,"node_id":"MDU6SXNzdWU4NDU0ODAwOQ==","number":12693,"title":"Add remote port information to Socket errors","user":{"login":"whesse","id":4905639,"node_id":"MDQ6VXNlcjQ5MDU2Mzk=","avatar_url":"https://avatars.githubusercontent.com/u/4905639?v=4","gravatar_id":"","url":"https://api.github.com/users/whesse","html_url":"https://github.com/whesse","followers_url":"https://api.github.com/users/whesse/followers","following_url":"https://api.github.com/users/whesse/following{/other_user}","gists_url":"https://api.github.com/users/whesse/gists{/gist_id}","starred_url":"https://api.github.com/users/whesse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whesse/subscriptions","organizations_url":"https://api.github.com/users/whesse/orgs","repos_url":"https://api.github.com/users/whesse/repos","events_url":"https://api.github.com/users/whesse/events{/privacy}","received_events_url":"https://api.github.com/users/whesse/received_events","type":"User","site_admin":false},"labels":[{"id":219928184,"node_id":"MDU6TGFiZWwyMTk5MjgxODQ=","url":"https://api.github.com/repos/dart-lang/sdk/labels/area-library","name":"area-library","color":"c7def8","default":false,"description":null},{"id":219928199,"node_id":"MDU6TGFiZWwyMTk5MjgxOTk=","url":"https://api.github.com/repos/dart-lang/sdk/labels/library-io","name":"library-io","color":"d4c5f9","default":false,"description":null},{"id":334171875,"node_id":"MDU6TGFiZWwzMzQxNzE4NzU=","url":"https://api.github.com/repos/dart-lang/sdk/labels/P2","name":"P2","color":"fbca04","default":false,"description":"A bug or feature request we're likely to work on"},{"id":334529063,"node_id":"MDU6TGFiZWwzMzQ1MjkwNjM=","url":"https://api.github.com/repos/dart-lang/sdk/labels/type-bug","name":"type-bug","color":"ededed","default":false,"description":"Incorrect behavior (everything from a crash to more subtle misbehavior)"},{"id":4930193978,"node_id":"LA_kwDOAiEj5s8AAAABJdzKOg","url":"https://api.github.com/repos/dart-lang/sdk/labels/triaged","name":"triaged","color":"0052cc","default":false,"description":"Issue has been triaged by sub team"}],"state":"open","locked":false,"assignee":{"login":"sortie","id":3636196,"node_id":"MDQ6VXNlcjM2MzYxOTY=","avatar_url":"https://avatars.githubusercontent.com/u/3636196?v=4","gravatar_id":"","url":"https://api.github.com/users/sortie","html_url":"https://github.com/sortie","followers_url":"https://api.github.com/users/sortie/followers","following_url":"https://api.github.com/users/sortie/following{/other_user}","gists_url":"https://api.github.com/users/sortie/gists{/gist_id}","starred_url":"https://api.github.com/users/sortie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sortie/subscriptions","organizations_url":"https://api.github.com/users/sortie/orgs","repos_url":"https://api.github.com/users/sortie/repos","events_url":"https://api.github.com/users/sortie/events{/privacy}","received_events_url":"https://api.github.com/users/sortie/received_events","type":"User","site_admin":false},"assignees":[{"login":"sortie","id":3636196,"node_id":"MDQ6VXNlcjM2MzYxOTY=","avatar_url":"https://avatars.githubusercontent.com/u/3636196?v=4","gravatar_id":"","url":"https://api.github.com/users/sortie","html_url":"https://github.com/sortie","followers_url":"https://api.github.com/users/sortie/followers","following_url":"https://api.github.com/users/sortie/following{/other_user}","gists_url":"https://api.github.com/users/sortie/gists{/gist_id}","starred_url":"https://api.github.com/users/sortie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sortie/subscriptions","organizations_url":"https://api.github.com/users/sortie/orgs","repos_url":"https://api.github.com/users/sortie/repos","events_url":"https://api.github.com/users/sortie/events{/privacy}","received_events_url":"https://api.github.com/users/sortie/received_events","type":"User","site_admin":false}],"milestone":null,"comments":27,"created_at":"2013-08-23T09:32:13Z","updated_at":"2024-03-05T11:57:07Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"Errors thrown by Socket.connect currently print the local host and local port information, rather than the remote host and port.\n\nTo fix this, we would need to print both, since in the case of a socket created by accept on a listening socket, we want to know the local host and port, and there is no difference between a socket created by listening and one created by connect.\n\nThe _NativeSocket class has a cached copy of the local port, but the remote port information can only be gotten from the nativeGetRemotePeer call, which will fail if a connection has failed, like by connection refused.\n\nSo to implement this, we would need a remote port field in NativeSocket, which is filled in when a connect attempt is made, or when an accept is performed. Then we could report this in errors.\n","reactions":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/12693/reactions","total_count":21,"+1":21,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/dart-lang/sdk/issues/12693/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/comments/1978595706","html_url":"https://github.com/dart-lang/sdk/issues/12693#issuecomment-1978595706","issue_url":"https://api.github.com/repos/dart-lang/sdk/issues/12693","id":1978595706,"node_id":"IC_kwDOAiEj5s517vl6","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-05T11:57:06Z","updated_at":"2024-03-05T11:57:06Z","author_association":"NONE","body":"... the amusing story of *counting the years it takes Google to merge a [single-line patch][]* :hear_no_evil:\r\n\r\n[single-line patch]: https://github.com/dart-lang/sdk/issues/12693#issuecomment-567558502","reactions":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/comments/1978595706/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-05T11:57:07Z","org":{"id":1609975,"login":"dart-lang","gravatar_id":"","url":"https://api.github.com/orgs/dart-lang","avatar_url":"https://avatars.githubusercontent.com/u/1609975?"}},{"id":"36233997675","type":"IssueCommentEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":40411471,"name":"agda/agda","url":"https://api.github.com/repos/agda/agda"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/agda/agda/issues/7163","repository_url":"https://api.github.com/repos/agda/agda","labels_url":"https://api.github.com/repos/agda/agda/issues/7163/labels{/name}","comments_url":"https://api.github.com/repos/agda/agda/issues/7163/comments","events_url":"https://api.github.com/repos/agda/agda/issues/7163/events","html_url":"https://github.com/agda/agda/issues/7163","id":2165422339,"node_id":"I_kwDOAmihT86BEbkD","number":7163,"title":"cabal install Agda -- fails","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"labels":[{"id":245647298,"node_id":"MDU6TGFiZWwyNDU2NDcyOTg=","url":"https://api.github.com/repos/agda/agda/labels/status:%20info-needed","name":"status: info-needed","color":"ffff00","default":false,"description":"More information is needed from the bug reporter to confirm the issue."},{"id":245648844,"node_id":"MDU6TGFiZWwyNDU2NDg4NDQ=","url":"https://api.github.com/repos/agda/agda/labels/ux:%20installation","name":"ux: installation","color":"ededed","default":false,"description":"Getting Agda set up on your machine"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2024-03-03T15:43:34Z","updated_at":"2024-03-04T18:55:08Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"As [documented][1], `cabal install Agda` — fails for me in the .agdai post-compilation step.\r\n\r\n> [...]\r\n> Installing executable agda in /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> Warning: The directory\r\n> /home/ulidtko/.cabal/store/ghc-9.6.3/incoming/new-2416496/home/ulidtko/.cabal/store/ghc-9.6.3/Agda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039/bin\r\n> is not in the system search path.\r\n> dist/build/agda/agda: error while loading shared libraries: libHSAgda-2.6.4.1-09dc1b9df47955cb7746201b1496a137c6ec49dc27a449ca2b956cfbcaf36039-ghc9.6.3.so: cannot open shared object file: No such file or directory\r\n> Generating Agda library interface files...\r\n> readCreateProcess: dist/build/agda/agda \"--interaction\" \"--interaction-exit-on-error\" \"--no-libraries\" \"--local-interfaces\" \"-Werror\" \"-v0\" (exit 127): failed\r\n> Error: cabal: Failed to build Agda-2.6.4.1. See the build log above for details.\r\n\r\nFailures with similar error messages observed on:\r\n * ghc 9.8.1 + cabal 3.10.2.1,\r\n * ghc 9.8.1 + cabal 3.10.1.0,\r\n * ghc 9.6.3 + cabal 3.8.1.0,\r\n\r\nand\r\n * ghc 9.8.1 + Cabal 3.8.1.0 — gives `Could not resolve dependencies`, complaining of Agda's Setup upper bound on `text < 2.1` conflicting with `text-2.1` that GHC 9.8 ships with.\r\n\r\n[1]: https://agda.readthedocs.io/en/latest/getting-started/installation.html#step-2-installing-the-agda-and-the-agda-mode-programs\r\n\r\nThe error messages seem related to haskell/cabal#9640, haskell/cabal#9654; and I'm not sure if it's cabal-install at fault here, or Agda's custom Setup, or who knows what else. As a user on \"Step 2\" of installation, I've also seen #7157 already — and hopefully some day that'll help.\r\n\r\nFor now, let me suggest that documenting this better is direly needed.\r\n\r\n--------------------------\r\n\r\n... After spending multiple hours on failing compiles, I've got success with\r\n\r\n cabal v1-install --disable-documentation --ghc-options=-j -fenable-cluster-counting -foptimise-heavily Agda\r\n\r\non latest GHC & Cabal.\r\n\r\nHow about recommending explicitly **v1-install** in the installation guide?\r\nI'll roll a patch if that sounds any good.","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/7163/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/agda/agda/issues/7163/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1977249456","html_url":"https://github.com/agda/agda/issues/7163#issuecomment-1977249456","issue_url":"https://api.github.com/repos/agda/agda/issues/7163","id":1977249456,"node_id":"IC_kwDOAmihT8512m6w","user":{"login":"ulidtko","id":365338,"node_id":"MDQ6VXNlcjM2NTMzOA==","avatar_url":"https://avatars.githubusercontent.com/u/365338?v=4","gravatar_id":"","url":"https://api.github.com/users/ulidtko","html_url":"https://github.com/ulidtko","followers_url":"https://api.github.com/users/ulidtko/followers","following_url":"https://api.github.com/users/ulidtko/following{/other_user}","gists_url":"https://api.github.com/users/ulidtko/gists{/gist_id}","starred_url":"https://api.github.com/users/ulidtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ulidtko/subscriptions","organizations_url":"https://api.github.com/users/ulidtko/orgs","repos_url":"https://api.github.com/users/ulidtko/repos","events_url":"https://api.github.com/users/ulidtko/events{/privacy}","received_events_url":"https://api.github.com/users/ulidtko/received_events","type":"User","site_admin":false},"created_at":"2024-03-04T18:55:07Z","updated_at":"2024-03-04T18:55:07Z","author_association":"NONE","body":"Yup; this did work:\r\n\r\n```\r\n$ cabal v2-install --disable-executable-dynamic --disable-documentation --ghc-options=-j Agda\r\nResolving dependencies...\r\nBuild profile: -w ghc-9.8.1 -O1\r\nIn order, the following will be built (use -v for more details):\r\n - Agda-2.6.4.1 (lib:Agda, exe:agda, exe:agda-mode) (requires build)\r\nStarting Agda-2.6.4.1 (all, legacy fallback)\r\nBuilding Agda-2.6.4.1 (all, legacy fallback)\r\nInstalling Agda-2.6.4.1 (all, legacy fallback)\r\nCompleted Agda-2.6.4.1 (all, legacy fallback)\r\nSymlinking 'agda' to '/home/ulidtko/.cabal/bin/agda'\r\n```\r\n\r\nWhich makes sense — dynlibs won't load while `dist/build/agda/agda` resides somewhere at temporary limbo path :thinking: as that requires RPATH / LD_LIBRARY_PATH and such... Funny that RPATH won't be effective, as the executable is to be soon moved once again.\r\n\r\nSome distributions insist on dynamic-only linking; so this failure mode is something to consider.","reactions":{"url":"https://api.github.com/repos/agda/agda/issues/comments/1977249456/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2024-03-04T18:55:09Z","org":{"id":410000,"login":"agda","gravatar_id":"","url":"https://api.github.com/orgs/agda","avatar_url":"https://avatars.githubusercontent.com/u/410000?"}},{"id":"36202173496","type":"DeleteEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":766615401,"name":"ulidtko/agda-pythagoras","url":"https://api.github.com/repos/ulidtko/agda-pythagoras"},"payload":{"ref":"master","ref_type":"branch","pusher_type":"user"},"public":true,"created_at":"2024-03-03T20:53:45Z"},{"id":"36202165621","type":"CreateEvent","actor":{"id":365338,"login":"ulidtko","display_login":"ulidtko","gravatar_id":"","url":"https://api.github.com/users/ulidtko","avatar_url":"https://avatars.githubusercontent.com/u/365338?"},"repo":{"id":766615401,"name":"ulidtko/agda-pythagoras","url":"https://api.github.com/repos/ulidtko/agda-pythagoras"},"payload":{"ref":"port/agda-2.6.4.1","ref_type":"branch","master_branch":"master","description":"A proof of Pythagoras's theorem in Agda2 (from the original proof by Thierry Coquand)","pusher_type":"user"},"public":true,"created_at":"2024-03-03T20:52:51Z"}]