[{"id":"10774775432","type":"PushEvent","actor":{"id":1027688,"login":"danielinux","display_login":"danielinux","gravatar_id":"","url":"https://api.github.com/users/danielinux","avatar_url":"https://avatars.githubusercontent.com/u/1027688?"},"repo":{"id":1035834056,"name":"danielinux/FrostZone","url":"https://api.github.com/repos/danielinux/FrostZone"},"payload":{"repository_id":1035834056,"push_id":33066605804,"ref":"refs/heads/master","head":"0a03ba160c3f74f7927e852987d009c5176d8d09","before":"77dbf292aae33b14571952fd0ad0fdf62c966b30"},"public":true,"created_at":"2026-04-19T17:46:21Z"},{"id":"10774710608","type":"PushEvent","actor":{"id":1027688,"login":"danielinux","display_login":"danielinux","gravatar_id":"","url":"https://api.github.com/users/danielinux","avatar_url":"https://avatars.githubusercontent.com/u/1027688?"},"repo":{"id":1035834056,"name":"danielinux/FrostZone","url":"https://api.github.com/repos/danielinux/FrostZone"},"payload":{"repository_id":1035834056,"push_id":33066540814,"ref":"refs/heads/master","head":"77dbf292aae33b14571952fd0ad0fdf62c966b30","before":"dcbaff0a0eac686dccfa586cb48cfdd865e09334"},"public":true,"created_at":"2026-04-19T17:43:26Z"},{"id":"8571524270","type":"IssuesEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":959438025,"name":"packagecontrol/sublime_aio","url":"https://api.github.com/repos/packagecontrol/sublime_aio"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/6","repository_url":"https://api.github.com/repos/packagecontrol/sublime_aio","labels_url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/6/comments","events_url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/6/events","html_url":"https://github.com/packagecontrol/sublime_aio/issues/6","id":4291176342,"node_id":"I_kwDOOS_cyc7_xieW","number":6,"title":"Proposal for using `sublime.set_timeout_async` as the loop's default executor","user":{"login":"rwols","id":2431823,"node_id":"MDQ6VXNlcjI0MzE4MjM=","avatar_url":"https://avatars.githubusercontent.com/u/2431823?v=4","gravatar_id":"","url":"https://api.github.com/users/rwols","html_url":"https://github.com/rwols","followers_url":"https://api.github.com/users/rwols/followers","following_url":"https://api.github.com/users/rwols/following{/other_user}","gists_url":"https://api.github.com/users/rwols/gists{/gist_id}","starred_url":"https://api.github.com/users/rwols/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwols/subscriptions","organizations_url":"https://api.github.com/users/rwols/orgs","repos_url":"https://api.github.com/users/rwols/repos","events_url":"https://api.github.com/users/rwols/events{/privacy}","received_events_url":"https://api.github.com/users/rwols/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"open","locked":false,"assignees":[],"milestone":null,"comments":1,"created_at":"2026-04-19T14:52:15Z","updated_at":"2026-04-19T15:08:37Z","closed_at":null,"assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"You can run blocking, compute-intensive functions using run_in_executor:\n\n```py\n\ndef compute_intensive_function() -> int:\n    time.sleep(1)\n    return 42\n\nasync def f() -> int:\n    result = await asyncio.get_running_loop().run_in_executor(None, compute_intensive_function)\n    return result\n```\n\nThe first argument is a `concurrent.futures.Executor`. When `None` is passed, the default executor is lazily instantiated, which by default is a `concurrent.futures.ThreadPoolExecutor`.\n\n.\n\n[The documentation for ThreadPoolExecutor](https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor) mentions that it will by default spawn\n\n```\nmin(32, (os.process_cpu_count() or 1) + 4)\n```\n\nthreads. Now here's the point where I'm going to be opinionated. I consider this too many threads for text editor plugins. For a server? Sure. Not for a text editor.\n\nBecause we already have a thread available to us for compute-intensive work, we should utilize that thread. This issue proposes we do that.\n\nIn my exploratory library I wrote such an executor here: https://github.com/sublimelsp/sublime_asyncio/blob/master/executor.py\n\nIt is hooked up to the loop here: https://github.com/sublimelsp/sublime_asyncio/blob/6a8eb2dbd36c72b34eb0078bc1b3cb96f1692acb/globalstate.py#L71\n\nThis will cause calls like this:\n\n```py\nasync def f() -> int:\n    result = await asyncio.get_running_loop().run_in_executor(None, compute_intensive_function)\n    return result\n```\n\nto use ST's async thread. Yes, you can still pass a custom executor that spawns too many threads for a text editor. Like bringing a leaf blower to move a single leaf. But that's every plugin author's deliberate choice then.","reactions":{"url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/6/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/packagecontrol/sublime_aio/issues/6/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null}},"public":true,"created_at":"2026-04-19T14:52:16Z","org":{"id":9866449,"login":"packagecontrol","gravatar_id":"","url":"https://api.github.com/orgs/packagecontrol","avatar_url":"https://avatars.githubusercontent.com/u/9866449?"}},{"id":"10767713527","type":"PushEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"repository_id":87645313,"push_id":33059544796,"ref":"refs/heads/main","head":"10880fbd039d4a613b7d3e4efedc244e894e6e0a","before":"74ddbeb9f850110bc319e740f2d65c1c26280032"},"public":true,"created_at":"2026-04-19T12:26:10Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"8569832314","type":"PullRequestReviewEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"review":{"id":4135932677,"node_id":"PRR_kwDOBTlcgc72hVMF","user":{"login":"rwols","id":2431823,"node_id":"MDQ6VXNlcjI0MzE4MjM=","avatar_url":"https://avatars.githubusercontent.com/u/2431823?v=4","gravatar_id":"","url":"https://api.github.com/users/rwols","html_url":"https://github.com/rwols","followers_url":"https://api.github.com/users/rwols/followers","following_url":"https://api.github.com/users/rwols/following{/other_user}","gists_url":"https://api.github.com/users/rwols/gists{/gist_id}","starred_url":"https://api.github.com/users/rwols/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwols/subscriptions","organizations_url":"https://api.github.com/users/rwols/orgs","repos_url":"https://api.github.com/users/rwols/repos","events_url":"https://api.github.com/users/rwols/events{/privacy}","received_events_url":"https://api.github.com/users/rwols/received_events","type":"User","user_view_type":"public","site_admin":false},"body":null,"commit_id":"a9044687bdfa881bc527875e152788008df644b0","state":"approved","html_url":"https://github.com/sublimelsp/LSP/pull/2876#pullrequestreview-4135932677","pull_request_url":"https://api.github.com/repos/sublimelsp/LSP/pulls/2876","_links":{"html":{"href":"https://github.com/sublimelsp/LSP/pull/2876#pullrequestreview-4135932677"},"pull_request":{"href":"https://api.github.com/repos/sublimelsp/LSP/pulls/2876"}},"submitted_at":"2026-04-19T12:26:01Z","updated_at":"2026-04-19T12:26:01Z"},"pull_request":{"url":"https://api.github.com/repos/sublimelsp/LSP/pulls/2876","id":3551680944,"number":2876,"head":{"ref":"sort-references","sha":"a9044687bdfa881bc527875e152788008df644b0","repo":{"id":195684696,"url":"https://api.github.com/repos/jwortmann/LSP","name":"LSP"}},"base":{"ref":"main","sha":"d983eeacab0ceda63f0b6116f1d5c95776ca02d1","repo":{"id":87645313,"url":"https://api.github.com/repos/sublimelsp/LSP","name":"LSP"}}},"action":"created"},"public":true,"created_at":"2026-04-19T12:26:03Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"10765265743","type":"DeleteEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"ref":"chore/add-tests","ref_type":"branch","full_ref":"refs/heads/chore/add-tests","pusher_type":"user"},"public":true,"created_at":"2026-04-19T10:22:36Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"10765265232","type":"PushEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"repository_id":87645313,"push_id":33057102061,"ref":"refs/heads/main","head":"74ddbeb9f850110bc319e740f2d65c1c26280032","before":"d983eeacab0ceda63f0b6116f1d5c95776ca02d1"},"public":true,"created_at":"2026-04-19T10:22:34Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"8568588754","type":"PullRequestEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"action":"merged","number":2866,"pull_request":{"url":"https://api.github.com/repos/sublimelsp/LSP/pulls/2866","id":3525338378,"number":2866,"head":{"ref":"chore/add-tests","sha":"7438d4a103829f9b0f57f586b4065f0499062c74","repo":{"id":87645313,"url":"https://api.github.com/repos/sublimelsp/LSP","name":"LSP"}},"base":{"ref":"main","sha":"2b812e075794c5515ae24d2ec1910f5e2b711e95","repo":{"id":87645313,"url":"https://api.github.com/repos/sublimelsp/LSP","name":"LSP"}}}},"public":true,"created_at":"2026-04-19T10:22:33Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"8568573878","type":"IssueCommentEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/sublimelsp/LSP/issues/2866","repository_url":"https://api.github.com/repos/sublimelsp/LSP","labels_url":"https://api.github.com/repos/sublimelsp/LSP/issues/2866/labels{/name}","comments_url":"https://api.github.com/repos/sublimelsp/LSP/issues/2866/comments","events_url":"https://api.github.com/repos/sublimelsp/LSP/issues/2866/events","html_url":"https://github.com/sublimelsp/LSP/pull/2866","id":4258070606,"node_id":"PR_kwDOBTlcgc7SIGUK","number":2866,"title":"Test both TCP modes","user":{"login":"rwols","id":2431823,"node_id":"MDQ6VXNlcjI0MzE4MjM=","avatar_url":"https://avatars.githubusercontent.com/u/2431823?v=4","gravatar_id":"","url":"https://api.github.com/users/rwols","html_url":"https://github.com/rwols","followers_url":"https://api.github.com/users/rwols/followers","following_url":"https://api.github.com/users/rwols/following{/other_user}","gists_url":"https://api.github.com/users/rwols/gists{/gist_id}","starred_url":"https://api.github.com/users/rwols/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwols/subscriptions","organizations_url":"https://api.github.com/users/rwols/orgs","repos_url":"https://api.github.com/users/rwols/repos","events_url":"https://api.github.com/users/rwols/events{/privacy}","received_events_url":"https://api.github.com/users/rwols/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":3,"created_at":"2026-04-13T21:46:04Z","updated_at":"2026-04-19T10:22:35Z","closed_at":"2026-04-19T10:22:33Z","assignee":null,"type":null,"active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/sublimelsp/LSP/pulls/2866","html_url":"https://github.com/sublimelsp/LSP/pull/2866","diff_url":"https://github.com/sublimelsp/LSP/pull/2866.diff","patch_url":"https://github.com/sublimelsp/LSP/pull/2866.patch","merged_at":"2026-04-19T10:22:33Z"},"body":"Add a test that checks that \"tcp server mode\" works. Server meaning that this plugin acts as the TCP server and the langserver connects as TCP client.","reactions":{"url":"https://api.github.com/repos/sublimelsp/LSP/issues/2866/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/sublimelsp/LSP/issues/2866/timeline","performed_via_github_app":null,"state_reason":null},"comment":{"url":"https://api.github.com/repos/sublimelsp/LSP/issues/comments/4275699285","html_url":"https://github.com/sublimelsp/LSP/pull/2866#issuecomment-4275699285","issue_url":"https://api.github.com/repos/sublimelsp/LSP/issues/2866","id":4275699285,"node_id":"IC_kwDOBTlcgc7-2f5V","user":{"login":"rwols","id":2431823,"node_id":"MDQ6VXNlcjI0MzE4MjM=","avatar_url":"https://avatars.githubusercontent.com/u/2431823?v=4","gravatar_id":"","url":"https://api.github.com/users/rwols","html_url":"https://github.com/rwols","followers_url":"https://api.github.com/users/rwols/followers","following_url":"https://api.github.com/users/rwols/following{/other_user}","gists_url":"https://api.github.com/users/rwols/gists{/gist_id}","starred_url":"https://api.github.com/users/rwols/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwols/subscriptions","organizations_url":"https://api.github.com/users/rwols/orgs","repos_url":"https://api.github.com/users/rwols/repos","events_url":"https://api.github.com/users/rwols/events{/privacy}","received_events_url":"https://api.github.com/users/rwols/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-19T10:20:59Z","updated_at":"2026-04-19T10:21:56Z","body":"Yeah. It's just a fake test server for integration tests. Not a big deal to see an error in that file to me. I welcome the effort to make the environment for that file more precise.","reactions":{"url":"https://api.github.com/repos/sublimelsp/LSP/issues/comments/4275699285/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":"2026-04-19T10:20:59Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"8563619658","type":"IssueCommentEvent","actor":{"id":8977247,"login":"Spritetm","display_login":"Spritetm","gravatar_id":"","url":"https://api.github.com/users/Spritetm","avatar_url":"https://avatars.githubusercontent.com/u/8977247?"},"repo":{"id":816340481,"name":"Spritetm/plexus_20_emu","url":"https://api.github.com/repos/Spritetm/plexus_20_emu"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/23","repository_url":"https://api.github.com/repos/Spritetm/plexus_20_emu","labels_url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/23/comments","events_url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/23/events","html_url":"https://github.com/Spritetm/plexus_20_emu/issues/23","id":4289586209,"node_id":"I_kwDOMKheAc7_reQh","number":23,"title":"[feature request] Support multiple terminals","user":{"login":"normanr","id":14849,"node_id":"MDQ6VXNlcjE0ODQ5","avatar_url":"https://avatars.githubusercontent.com/u/14849?v=4","gravatar_id":"","url":"https://api.github.com/users/normanr","html_url":"https://github.com/normanr","followers_url":"https://api.github.com/users/normanr/followers","following_url":"https://api.github.com/users/normanr/following{/other_user}","gists_url":"https://api.github.com/users/normanr/gists{/gist_id}","starred_url":"https://api.github.com/users/normanr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanr/subscriptions","organizations_url":"https://api.github.com/users/normanr/orgs","repos_url":"https://api.github.com/users/normanr/repos","events_url":"https://api.github.com/users/normanr/events{/privacy}","received_events_url":"https://api.github.com/users/normanr/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"open","locked":false,"assignees":[],"milestone":null,"comments":2,"created_at":"2026-04-19T00:43:17Z","updated_at":"2026-04-19T06:18:12Z","closed_at":null,"assignee":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"It would be nice to be able to emulate having multiple terminals connected to the UARTs.\n\nI'd guess that the emu and WebAssembly targets would need to handle this differently, I have no idea how to even suggest going about it.","reactions":{"url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/23/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/Spritetm/plexus_20_emu/issues/23/timeline","performed_via_github_app":null,"state_reason":null,"pinned_comment":null},"comment":{"url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/comments/4274884854","html_url":"https://github.com/Spritetm/plexus_20_emu/issues/23#issuecomment-4274884854","issue_url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/23","id":4274884854,"node_id":"IC_kwDOMKheAc7-zZD2","user":{"login":"Spritetm","id":8977247,"node_id":"MDQ6VXNlcjg5NzcyNDc=","avatar_url":"https://avatars.githubusercontent.com/u/8977247?v=4","gravatar_id":"","url":"https://api.github.com/users/Spritetm","html_url":"https://github.com/Spritetm","followers_url":"https://api.github.com/users/Spritetm/followers","following_url":"https://api.github.com/users/Spritetm/following{/other_user}","gists_url":"https://api.github.com/users/Spritetm/gists{/gist_id}","starred_url":"https://api.github.com/users/Spritetm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spritetm/subscriptions","organizations_url":"https://api.github.com/users/Spritetm/orgs","repos_url":"https://api.github.com/users/Spritetm/repos","events_url":"https://api.github.com/users/Spritetm/events{/privacy}","received_events_url":"https://api.github.com/users/Spritetm/received_events","type":"User","user_view_type":"public","site_admin":false},"created_at":"2026-04-19T00:52:25Z","updated_at":"2026-04-19T00:52:25Z","body":"I can imagine some ways to go at this; the emu could open pseudo-terminals (/dev/pty) in OSses supporting it, allowing the user to connect a program like Minicom to it as if it was a real serial port. The WebAssembly target could have multiple open terminal tabs, one for each console. However, I haven't touched the emulator code in two years now, unless there's some real demand for it, I'm unlikely to be the person implementing this.","pin":null,"reactions":{"url":"https://api.github.com/repos/Spritetm/plexus_20_emu/issues/comments/4274884854/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2026-04-19T00:52:25Z"},{"id":"10751111209","type":"PushEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"repository_id":87645313,"push_id":33042932863,"ref":"refs/heads/chore/add-tests","head":"7438d4a103829f9b0f57f586b4065f0499062c74","before":"c511ceccf2614c9b48b85312dcb0b515041dc36f"},"public":true,"created_at":"2026-04-18T20:04:28Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"10751053084","type":"PushEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"repository_id":87645313,"push_id":33042874836,"ref":"refs/heads/chore/add-tests","head":"c511ceccf2614c9b48b85312dcb0b515041dc36f","before":"b4f0420d8cd1d5043712ab3978c475c56b912b4c"},"public":true,"created_at":"2026-04-18T20:01:31Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"8560848643","type":"IssuesEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":959438025,"name":"packagecontrol/sublime_aio","url":"https://api.github.com/repos/packagecontrol/sublime_aio"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/4","repository_url":"https://api.github.com/repos/packagecontrol/sublime_aio","labels_url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/4/comments","events_url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/4/events","html_url":"https://github.com/packagecontrol/sublime_aio/issues/4","id":4289009005,"node_id":"I_kwDOOS_cyc7_pRVt","number":4,"title":"Ability to register a coroutine to be run at exit","user":{"login":"rwols","id":2431823,"node_id":"MDQ6VXNlcjI0MzE4MjM=","avatar_url":"https://avatars.githubusercontent.com/u/2431823?v=4","gravatar_id":"","url":"https://api.github.com/users/rwols","html_url":"https://github.com/rwols","followers_url":"https://api.github.com/users/rwols/followers","following_url":"https://api.github.com/users/rwols/following{/other_user}","gists_url":"https://api.github.com/users/rwols/gists{/gist_id}","starred_url":"https://api.github.com/users/rwols/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwols/subscriptions","organizations_url":"https://api.github.com/users/rwols/orgs","repos_url":"https://api.github.com/users/rwols/repos","events_url":"https://api.github.com/users/rwols/events{/privacy}","received_events_url":"https://api.github.com/users/rwols/received_events","type":"User","user_view_type":"public","site_admin":false},"labels":[],"state":"closed","locked":false,"assignees":[],"milestone":null,"comments":1,"created_at":"2026-04-18T19:48:18Z","updated_at":"2026-04-19T14:17:26Z","closed_at":"2026-04-19T14:17:26Z","assignee":null,"type":null,"active_lock_reason":null,"sub_issues_summary":{"total":0,"completed":0,"percent_completed":0},"issue_dependencies_summary":{"blocked_by":0,"total_blocked_by":0,"blocking":0,"total_blocking":0},"body":"I need a way to run a coroutine in the on_exit handler. I don't immediately see a way to do this. Is there such a way?\n\nI need this functionality so we can gracefully close running language servers when the application stops.","reactions":{"url":"https://api.github.com/repos/packagecontrol/sublime_aio/issues/4/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/packagecontrol/sublime_aio/issues/4/timeline","performed_via_github_app":null,"state_reason":"completed","pinned_comment":null}},"public":true,"created_at":"2026-04-18T19:48:19Z","org":{"id":9866449,"login":"packagecontrol","gravatar_id":"","url":"https://api.github.com/orgs/packagecontrol","avatar_url":"https://avatars.githubusercontent.com/u/9866449?"}},{"id":"10749598672","type":"PushEvent","actor":{"id":1027688,"login":"danielinux","display_login":"danielinux","gravatar_id":"","url":"https://api.github.com/users/danielinux","avatar_url":"https://avatars.githubusercontent.com/u/1027688?"},"repo":{"id":1035834056,"name":"danielinux/FrostZone","url":"https://api.github.com/repos/danielinux/FrostZone"},"payload":{"repository_id":1035834056,"push_id":33041417855,"ref":"refs/heads/master","head":"dcbaff0a0eac686dccfa586cb48cfdd865e09334","before":"9277fe9e4a250847018a6218014d2ffc50b384c3"},"public":true,"created_at":"2026-04-18T18:46:32Z"},{"id":"10749081805","type":"PushEvent","actor":{"id":1027688,"login":"danielinux","display_login":"danielinux","gravatar_id":"","url":"https://api.github.com/users/danielinux","avatar_url":"https://avatars.githubusercontent.com/u/1027688?"},"repo":{"id":1039176382,"name":"danielinux/arm-frosted-eabi-gcc","url":"https://api.github.com/repos/danielinux/arm-frosted-eabi-gcc"},"payload":{"repository_id":1039176382,"push_id":33040899881,"ref":"refs/heads/master","head":"c6720bc9f57b67729d44b95446ed22824c97b421","before":"fe82347ce85110ef73806cdc04d3e852702c33fd"},"public":true,"created_at":"2026-04-18T18:20:40Z"},{"id":"10749038229","type":"PushEvent","actor":{"id":1027688,"login":"danielinux","display_login":"danielinux","gravatar_id":"","url":"https://api.github.com/users/danielinux","avatar_url":"https://avatars.githubusercontent.com/u/1027688?"},"repo":{"id":1039175666,"name":"danielinux/newlib-frosted","url":"https://api.github.com/repos/danielinux/newlib-frosted"},"payload":{"repository_id":1039175666,"push_id":33040856302,"ref":"refs/heads/frosted","head":"e6a092952e2efd9b94e24cb3f3115c60c7c73803","before":"e126c01c22d75d7026fc26f7c0c5f0fb42a31ce0"},"public":true,"created_at":"2026-04-18T18:18:30Z"},{"id":"10738634638","type":"PushEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"repository_id":87645313,"push_id":33030439993,"ref":"refs/heads/chore/add-tests","head":"b4f0420d8cd1d5043712ab3978c475c56b912b4c","before":"908c84955aa0232538730dc3d313ec66498ec718"},"public":true,"created_at":"2026-04-18T09:35:04Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"10738560335","type":"PushEvent","actor":{"id":2431823,"login":"rwols","display_login":"rwols","gravatar_id":"","url":"https://api.github.com/users/rwols","avatar_url":"https://avatars.githubusercontent.com/u/2431823?"},"repo":{"id":87645313,"name":"sublimelsp/LSP","url":"https://api.github.com/repos/sublimelsp/LSP"},"payload":{"repository_id":87645313,"push_id":33030365605,"ref":"refs/heads/chore/add-tests","head":"908c84955aa0232538730dc3d313ec66498ec718","before":"699dad3d7d678d07b6bd6be7e5b5d6268c913fe6"},"public":true,"created_at":"2026-04-18T09:31:01Z","org":{"id":48095564,"login":"sublimelsp","gravatar_id":"","url":"https://api.github.com/orgs/sublimelsp","avatar_url":"https://avatars.githubusercontent.com/u/48095564?"}},{"id":"10735302037","type":"PushEvent","actor":{"id":1027688,"login":"danielinux","display_login":"danielinux","gravatar_id":"","url":"https://api.github.com/users/danielinux","avatar_url":"https://avatars.githubusercontent.com/u/1027688?"},"repo":{"id":1122687370,"name":"danielinux/m33mu","url":"https://api.github.com/repos/danielinux/m33mu"},"payload":{"repository_id":1122687370,"push_id":33027102120,"ref":"refs/heads/master","head":"25b954b394287e9e613c1ea33ff06af4c3a455d7","before":"ce6c78e6c4cd31d6955bc9ab3e6bf8ef00312000"},"public":true,"created_at":"2026-04-18T06:25:53Z"},{"id":"8538220602","type":"PullRequestReviewEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"review":{"id":4130621993,"node_id":"PRR_kwDOImpjQs72NEop","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Despite being a native Spanish speaker, reviewing Spanish text is not something I do often so that took longer than I expected. I'd also say that it's a first pass as it's already Friday night here so I'll stop here for now.","commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","state":"commented","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#pullrequestreview-4130621993","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#pullrequestreview-4130621993"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"submitted_at":"2026-04-17T17:44:25Z","updated_at":"2026-04-17T17:44:25Z"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}},"action":"created"},"public":true,"created_at":"2026-04-17T17:44:27Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8538220595","type":"PullRequestReviewEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"review":{"id":4130621993,"node_id":"PRR_kwDOImpjQs72NEop","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"Despite being a native Spanish speaker, reviewing Spanish text is not something I do often so that took longer than I expected. I'd also say that it's a first pass as it's already Friday night here so I'll stop here for now.","commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","state":"commented","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#pullrequestreview-4130621993","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#pullrequestreview-4130621993"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"submitted_at":"2026-04-17T17:44:25Z","updated_at":"2026-04-17T17:44:25Z"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}},"action":"updated"},"public":true,"created_at":"2026-04-17T17:44:27Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8538106502","type":"PullRequestReviewCommentEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102179071","pull_request_review_id":4130621993,"id":3102179071,"node_id":"PRRC_kwDOImpjQs64537_","diff_hunk":"@@ -4,20 +4,610 @@\n #\n msgid \"\"\n msgstr \"\"\n-\"Project-Id-Version: sudo-rs 0.2.12\\n\"\n+\"Project-Id-Version: sudo-rs 0.2.13\\n\"\n \"Report-Msgid-Bugs-To: https://github.com/trifectatechfoundation/sudo-rs/\"\n \"issues\\n\"\n-\"POT-Creation-Date: 2025-12-08 17:30+0100\\n\"\n-\"PO-Revision-Date: 2025-12-08 20:17+0100\\n\"\n-\"Last-Translator: Marc Schoolderman <marc@trifectatech.org>\\n\"\n+\"POT-Creation-Date: 2026-10-03 17:30+0100\\n\"\n+\"PO-Revision-Date: 2026-29-03 08:33+0100\\n\"\n+\"Last-Translator: Guler01\\n\"\n \"Language-Team: Language =es\\n\"\n \"Language: =es\\n\"\n \"MIME-Version: 1.0\\n\"\n \"Content-Type: text/plain; charset=UTF-8\\n\"\n \"Content-Transfer-Encoding: 8bit\\n\"\n \n #. TRANSLATORS: This is a well-known quote, try to preserve it in translation.\n-#: src/common/error.rs:84\n+#: src/common/error.rs:89\n #, rust-format\n msgid \"I'm sorry {user}. I'm afraid I can't do that\"\n-msgstr \"Lo siento, {user}. Me temo que no puedo hacer eso.\"\n+msgstr \"Lo siento, {user}. Me temo que no puedo hacerlo.\"\n+\n+#: src/sudoers/entry/verbose.rs:33\n+msgid \"Commands:\"\n+msgstr \"Comandos:\"\n+\n+#: src/sudoers/entry/verbose.rs:46\n+msgid \"Sudoers entry:\"\n+msgstr \"Entrada de sudoers:\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:54\n+msgid \"RunAsUsers\"\n+msgstr \"RunAs-usuarios\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:64\n+msgid \"RunAsGroups\"\n+msgstr \"RunAs-grupos\"\n+\n+#: src/sudoers/entry/verbose.rs:70\n+msgid \"Options\"\n+msgstr \"Opciones\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:79\n+msgid \"Cwd\"\n+msgstr \"Cwd\"\n+\n+#: src/pam/askpass.rs:55\n+#, rust-format\n+msgid \"Failed to run askpass program {path}: {error}\"\n+msgstr \"No se pudo ejecutar el programa askpass {path}: {error}\"\n+\n+#: src/pam/error.rs:211 src/common/error.rs:136 src/common/error.rs:143\n+msgid \"Unexpected null character in input\"\n+msgstr \"Carácter nulo inesperado en la entrada\"\n+\n+#: src/pam/error.rs:212\n+msgid \"Could not read input data as UTF-8 string\"\n+msgstr \"No se pudieron leer los datos de entrada como una cadena UTF-8\"\n+\n+#: src/pam/error.rs:214\n+msgid \"Account validation failure, is your account locked?\"\n+msgstr \"Error al validar la cuenta, ¿tu cuenta está bloqueada?\"\n+\n+#: src/pam/error.rs:219\n+msgid \"Account or password is expired, reset your password and try again\"\n+msgstr \"La cuenta o la contraseña está caducada; restablece tu contraseña y vuelve a intentarlo.\"\n+\n+#: src/pam/error.rs:223\n+msgid \"Password expired, contact your system administrator\"\n+msgstr \"Contraseña caducada; contacta al administrador del sistema\"\n+\n+#: src/pam/error.rs:225\n+#, rust-format\n+msgid \"PAM error: {error}\"\n+msgstr \"Error del PAM: {error}\"\n+\n+#: src/pam/error.rs:226 src/common/error.rs:116\n+#, rust-format\n+msgid \"IO error: {error}\"\n+msgstr \"Error de E/S: {error}\"\n+\n+#: src/pam/error.rs:227\n+msgid \"A terminal is required to authenticate\"\n+msgstr \"Se requiere una terminal para autentificar\"\n+\n+#: src/pam/error.rs:231\n+msgid \"It was not possible to get a list of environment variables\"\n+msgstr \"No se pudo obtener una lista de las variables de entorno\"\n+\n+#: src/pam/error.rs:234\n+msgid \"Interaction is required\"\n+msgstr \"Se requiere una interacción\"\n+\n+#: src/pam/error.rs:236\n+msgid \"Authentication required but not attempted\"\n+msgstr \"Se requiere autentificación, pero no se intentó\"\n+\n+#: src/pam/error.rs:239\n+msgid \"Incorrect authentication attempt\"\n+msgstr \"Intento de autentificación incorrecto\"\n+\n+#: src/pam/error.rs:241\n+msgid \"timed out\"\n+msgstr \"tiempo agotado\"\n+\n+#: src/pam/error.rs:245\n+#, rust-format\n+msgid \"Sorry, user {user} is not allowed to authenticate as {other_user}.\"\n+msgstr \"Lo siento, el usuario {user} no tiene permitido autentificarse como {other_user}.\"\n+\n+#: src/pam/error.rs:251\n+msgid \"No askpass program specified in SUDO_ASKPASS\"\n+msgstr \"El programa askpass no está especificado en SUDO_ASKPASS\"\n+\n+#: src/pam/error.rs:256\n+#, rust-format\n+msgid \"Askpass program '{path}' is not an absolute path\"\n+msgstr \"El programa askpass «{path}» no es una ruta absoluta\"\n+\n+#: src/pam/mod.rs:86\n+msgid \"authenticate\"\n+msgstr \"autentificar\"\n+\n+#: src/pam/converse.rs:153\n+msgid \"input needed\"\n+msgstr \"entrada requerida\"\n+\n+#: src/system/audit.rs:155\n+#, rust-format\n+msgid \"{path} must be owned by root\"\n+msgstr \"{path} debe pertenecer a root\"\n+\n+#: src/system/audit.rs:160\n+#, rust-format\n+msgid \"{path} cannot be group-writable\"\n+msgstr \"{path} no puede tener permisos de escritura para el grupo\"\n+\n+#: src/system/audit.rs:165\n+#, rust-format\n+msgid \"{path} cannot be world-writable\"\n+msgstr \"{path} no puede tener permisos de escritura para todos\"\n+\n+#: src/system/audit.rs:206\n+#, rust-format\n+msgid \"{path} has no valid parent directory\"\n+msgstr \"{path} no tiene un directorio padre válido\"\n+\n+#: src/system/audit.rs:285\n+msgid \"invalid path\"\n+msgstr \"ruta inválida\"\n+\n+#: src/system/audit.rs:293\n+msgid \"path must be absolute\"\n+msgstr \"la ruta debe ser absoluta\"\n+\n+#: src/system/audit.rs:305 src/system/audit.rs:329\n+msgid \"cannot open a file in a path writable by the user\"\n+msgstr \"no se puede abrir un archivo en una ruta escribible por el usuario\"\n+\n+#: src/system/audit.rs:347\n+msgid \"error in provided path\"\n+msgstr \"error en la ruta proporcionada\"\n+\n+#: src/common/error.rs:52\n+#, rust-format\n+msgid \"\"\n+\"Sorry, user {user} is not allowed to execute '{command}' as {other_user} on \"\n+\"{hostname}.\"\n+msgstr \"\"\n+\"Lo siento, el usuario {user} no tiene permitido ejecutar «{command}» como {other_user} en \"","path":"po/es.po","commit_id":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","original_commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"I generally can't say that `«` is a more common quote character than `'`. it is not particularly easier to type on a Spanish keyboard as far as I can remember","created_at":"2026-04-17T17:40:42Z","updated_at":"2026-04-17T17:44:25Z","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102179071","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"self":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102179071"},"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102179071"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"reactions":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102179071/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":178,"position":178,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}}},"public":true,"created_at":"2026-04-17T17:40:42Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8537968031","type":"PullRequestReviewCommentEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102156001","pull_request_review_id":4130621993,"id":3102156001,"node_id":"PRRC_kwDOImpjQs645yTh","diff_hunk":"@@ -4,20 +4,610 @@\n #\n msgid \"\"\n msgstr \"\"\n-\"Project-Id-Version: sudo-rs 0.2.12\\n\"\n+\"Project-Id-Version: sudo-rs 0.2.13\\n\"\n \"Report-Msgid-Bugs-To: https://github.com/trifectatechfoundation/sudo-rs/\"\n \"issues\\n\"\n-\"POT-Creation-Date: 2025-12-08 17:30+0100\\n\"\n-\"PO-Revision-Date: 2025-12-08 20:17+0100\\n\"\n-\"Last-Translator: Marc Schoolderman <marc@trifectatech.org>\\n\"\n+\"POT-Creation-Date: 2026-10-03 17:30+0100\\n\"\n+\"PO-Revision-Date: 2026-29-03 08:33+0100\\n\"\n+\"Last-Translator: Guler01\\n\"\n \"Language-Team: Language =es\\n\"\n \"Language: =es\\n\"\n \"MIME-Version: 1.0\\n\"\n \"Content-Type: text/plain; charset=UTF-8\\n\"\n \"Content-Transfer-Encoding: 8bit\\n\"\n \n #. TRANSLATORS: This is a well-known quote, try to preserve it in translation.\n-#: src/common/error.rs:84\n+#: src/common/error.rs:89\n #, rust-format\n msgid \"I'm sorry {user}. I'm afraid I can't do that\"\n-msgstr \"Lo siento, {user}. Me temo que no puedo hacer eso.\"\n+msgstr \"Lo siento, {user}. Me temo que no puedo hacerlo.\"","path":"po/es.po","commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","original_commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"I'd say\n> Me temo que no puedo hacer eso\n\nas written it sounds more like \"I'm afraid I can't do *it*\"","created_at":"2026-04-17T17:36:00Z","updated_at":"2026-04-17T17:44:25Z","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102156001","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"self":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102156001"},"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102156001"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"reactions":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102156001/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":26,"position":1,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}}},"public":true,"created_at":"2026-04-17T17:36:00Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8537850845","type":"PullRequestReviewCommentEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102137068","pull_request_review_id":4130621993,"id":3102137068,"node_id":"PRRC_kwDOImpjQs645trs","diff_hunk":"@@ -4,20 +4,610 @@\n #\n msgid \"\"\n msgstr \"\"\n-\"Project-Id-Version: sudo-rs 0.2.12\\n\"\n+\"Project-Id-Version: sudo-rs 0.2.13\\n\"\n \"Report-Msgid-Bugs-To: https://github.com/trifectatechfoundation/sudo-rs/\"\n \"issues\\n\"\n-\"POT-Creation-Date: 2025-12-08 17:30+0100\\n\"\n-\"PO-Revision-Date: 2025-12-08 20:17+0100\\n\"\n-\"Last-Translator: Marc Schoolderman <marc@trifectatech.org>\\n\"\n+\"POT-Creation-Date: 2026-10-03 17:30+0100\\n\"\n+\"PO-Revision-Date: 2026-29-03 08:33+0100\\n\"\n+\"Last-Translator: Guler01\\n\"\n \"Language-Team: Language =es\\n\"\n \"Language: =es\\n\"\n \"MIME-Version: 1.0\\n\"\n \"Content-Type: text/plain; charset=UTF-8\\n\"\n \"Content-Transfer-Encoding: 8bit\\n\"\n \n #. TRANSLATORS: This is a well-known quote, try to preserve it in translation.\n-#: src/common/error.rs:84\n+#: src/common/error.rs:89\n #, rust-format\n msgid \"I'm sorry {user}. I'm afraid I can't do that\"\n-msgstr \"Lo siento, {user}. Me temo que no puedo hacer eso.\"\n+msgstr \"Lo siento, {user}. Me temo que no puedo hacerlo.\"\n+\n+#: src/sudoers/entry/verbose.rs:33\n+msgid \"Commands:\"\n+msgstr \"Comandos:\"\n+\n+#: src/sudoers/entry/verbose.rs:46\n+msgid \"Sudoers entry:\"\n+msgstr \"Entrada de sudoers:\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:54\n+msgid \"RunAsUsers\"\n+msgstr \"RunAs-usuarios\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:64\n+msgid \"RunAsGroups\"","path":"po/es.po","commit_id":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","original_commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"similar to my previous comment, maybe `GruposPermitidos`? or `GruposRunAs`?","created_at":"2026-04-17T17:31:49Z","updated_at":"2026-04-17T17:44:25Z","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102137068","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"self":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102137068"},"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102137068"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"reactions":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102137068/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":43,"position":43,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}}},"public":true,"created_at":"2026-04-17T17:31:49Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8537827046","type":"PullRequestReviewCommentEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102133053","pull_request_review_id":4130621993,"id":3102133053,"node_id":"PRRC_kwDOImpjQs645ss9","diff_hunk":"@@ -4,20 +4,610 @@\n #\n msgid \"\"\n msgstr \"\"\n-\"Project-Id-Version: sudo-rs 0.2.12\\n\"\n+\"Project-Id-Version: sudo-rs 0.2.13\\n\"\n \"Report-Msgid-Bugs-To: https://github.com/trifectatechfoundation/sudo-rs/\"\n \"issues\\n\"\n-\"POT-Creation-Date: 2025-12-08 17:30+0100\\n\"\n-\"PO-Revision-Date: 2025-12-08 20:17+0100\\n\"\n-\"Last-Translator: Marc Schoolderman <marc@trifectatech.org>\\n\"\n+\"POT-Creation-Date: 2026-10-03 17:30+0100\\n\"\n+\"PO-Revision-Date: 2026-29-03 08:33+0100\\n\"\n+\"Last-Translator: Guler01\\n\"\n \"Language-Team: Language =es\\n\"\n \"Language: =es\\n\"\n \"MIME-Version: 1.0\\n\"\n \"Content-Type: text/plain; charset=UTF-8\\n\"\n \"Content-Transfer-Encoding: 8bit\\n\"\n \n #. TRANSLATORS: This is a well-known quote, try to preserve it in translation.\n-#: src/common/error.rs:84\n+#: src/common/error.rs:89\n #, rust-format\n msgid \"I'm sorry {user}. I'm afraid I can't do that\"\n-msgstr \"Lo siento, {user}. Me temo que no puedo hacer eso.\"\n+msgstr \"Lo siento, {user}. Me temo que no puedo hacerlo.\"\n+\n+#: src/sudoers/entry/verbose.rs:33\n+msgid \"Commands:\"\n+msgstr \"Comandos:\"\n+\n+#: src/sudoers/entry/verbose.rs:46\n+msgid \"Sudoers entry:\"\n+msgstr \"Entrada de sudoers:\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:54\n+msgid \"RunAsUsers\"\n+msgstr \"RunAs-usuarios\"","path":"po/es.po","commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","original_commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"mixing Spanish and English here feels a bit odd to me. maybe `UsuariosPermitidos`? as it better conveys the meaning without consulting the manual/docs\n\nif the RunAs terminology must be kept then `UsuariosRunAs` feels slightly more idiomatic (but still odd)","created_at":"2026-04-17T17:31:03Z","updated_at":"2026-04-17T17:44:25Z","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102133053","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"self":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102133053"},"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102133053"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"reactions":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102133053/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":39,"position":1,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}}},"public":true,"created_at":"2026-04-17T17:31:03Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8537314417","type":"PullRequestReviewCommentEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102036056","pull_request_review_id":4130621993,"id":3102036056,"node_id":"PRRC_kwDOImpjQs645VBY","diff_hunk":"@@ -4,20 +4,610 @@\n #\n msgid \"\"\n msgstr \"\"\n-\"Project-Id-Version: sudo-rs 0.2.12\\n\"\n+\"Project-Id-Version: sudo-rs 0.2.13\\n\"\n \"Report-Msgid-Bugs-To: https://github.com/trifectatechfoundation/sudo-rs/\"\n \"issues\\n\"\n-\"POT-Creation-Date: 2025-12-08 17:30+0100\\n\"\n-\"PO-Revision-Date: 2025-12-08 20:17+0100\\n\"\n-\"Last-Translator: Marc Schoolderman <marc@trifectatech.org>\\n\"\n+\"POT-Creation-Date: 2026-10-03 17:30+0100\\n\"\n+\"PO-Revision-Date: 2026-29-03 08:33+0100\\n\"\n+\"Last-Translator: Guler01\\n\"\n \"Language-Team: Language =es\\n\"\n \"Language: =es\\n\"\n \"MIME-Version: 1.0\\n\"\n \"Content-Type: text/plain; charset=UTF-8\\n\"\n \"Content-Transfer-Encoding: 8bit\\n\"\n \n #. TRANSLATORS: This is a well-known quote, try to preserve it in translation.\n-#: src/common/error.rs:84\n+#: src/common/error.rs:89\n #, rust-format\n msgid \"I'm sorry {user}. I'm afraid I can't do that\"\n-msgstr \"Lo siento, {user}. Me temo que no puedo hacer eso.\"\n+msgstr \"Lo siento, {user}. Me temo que no puedo hacerlo.\"\n+\n+#: src/sudoers/entry/verbose.rs:33\n+msgid \"Commands:\"\n+msgstr \"Comandos:\"\n+\n+#: src/sudoers/entry/verbose.rs:46\n+msgid \"Sudoers entry:\"\n+msgstr \"Entrada de sudoers:\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:54\n+msgid \"RunAsUsers\"\n+msgstr \"RunAs-usuarios\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:64\n+msgid \"RunAsGroups\"\n+msgstr \"RunAs-grupos\"\n+\n+#: src/sudoers/entry/verbose.rs:70\n+msgid \"Options\"\n+msgstr \"Opciones\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:79\n+msgid \"Cwd\"\n+msgstr \"Cwd\"\n+\n+#: src/pam/askpass.rs:55\n+#, rust-format\n+msgid \"Failed to run askpass program {path}: {error}\"\n+msgstr \"No se pudo ejecutar el programa askpass {path}: {error}\"\n+\n+#: src/pam/error.rs:211 src/common/error.rs:136 src/common/error.rs:143\n+msgid \"Unexpected null character in input\"\n+msgstr \"Carácter nulo inesperado en la entrada\"\n+\n+#: src/pam/error.rs:212\n+msgid \"Could not read input data as UTF-8 string\"\n+msgstr \"No se pudieron leer los datos de entrada como una cadena UTF-8\"\n+\n+#: src/pam/error.rs:214\n+msgid \"Account validation failure, is your account locked?\"\n+msgstr \"Error al validar la cuenta, ¿tu cuenta está bloqueada?\"\n+\n+#: src/pam/error.rs:219\n+msgid \"Account or password is expired, reset your password and try again\"\n+msgstr \"La cuenta o la contraseña está caducada; restablece tu contraseña y vuelve a intentarlo.\"\n+\n+#: src/pam/error.rs:223\n+msgid \"Password expired, contact your system administrator\"\n+msgstr \"Contraseña caducada; contacta al administrador del sistema\"\n+\n+#: src/pam/error.rs:225\n+#, rust-format\n+msgid \"PAM error: {error}\"\n+msgstr \"Error del PAM: {error}\"\n+\n+#: src/pam/error.rs:226 src/common/error.rs:116\n+#, rust-format\n+msgid \"IO error: {error}\"\n+msgstr \"Error de E/S: {error}\"\n+\n+#: src/pam/error.rs:227\n+msgid \"A terminal is required to authenticate\"\n+msgstr \"Se requiere una terminal para autentificar\"\n+\n+#: src/pam/error.rs:231\n+msgid \"It was not possible to get a list of environment variables\"\n+msgstr \"No se pudo obtener una lista de las variables de entorno\"\n+\n+#: src/pam/error.rs:234\n+msgid \"Interaction is required\"\n+msgstr \"Se requiere una interacción\"\n+\n+#: src/pam/error.rs:236\n+msgid \"Authentication required but not attempted\"\n+msgstr \"Se requiere autentificación, pero no se intentó\"\n+\n+#: src/pam/error.rs:239\n+msgid \"Incorrect authentication attempt\"\n+msgstr \"Intento de autentificación incorrecto\"\n+\n+#: src/pam/error.rs:241\n+msgid \"timed out\"\n+msgstr \"tiempo agotado\"\n+\n+#: src/pam/error.rs:245\n+#, rust-format\n+msgid \"Sorry, user {user} is not allowed to authenticate as {other_user}.\"\n+msgstr \"Lo siento, el usuario {user} no tiene permitido autentificarse como {other_user}.\"\n+\n+#: src/pam/error.rs:251\n+msgid \"No askpass program specified in SUDO_ASKPASS\"\n+msgstr \"El programa askpass no está especificado en SUDO_ASKPASS\"\n+\n+#: src/pam/error.rs:256\n+#, rust-format\n+msgid \"Askpass program '{path}' is not an absolute path\"\n+msgstr \"El programa askpass «{path}» no es una ruta absoluta\"\n+\n+#: src/pam/mod.rs:86\n+msgid \"authenticate\"\n+msgstr \"autentificar\"\n+\n+#: src/pam/converse.rs:153\n+msgid \"input needed\"\n+msgstr \"entrada requerida\"\n+\n+#: src/system/audit.rs:155\n+#, rust-format\n+msgid \"{path} must be owned by root\"\n+msgstr \"{path} debe pertenecer a root\"\n+\n+#: src/system/audit.rs:160\n+#, rust-format\n+msgid \"{path} cannot be group-writable\"\n+msgstr \"{path} no puede tener permisos de escritura para el grupo\"\n+\n+#: src/system/audit.rs:165\n+#, rust-format\n+msgid \"{path} cannot be world-writable\"\n+msgstr \"{path} no puede tener permisos de escritura para todos\"\n+\n+#: src/system/audit.rs:206\n+#, rust-format\n+msgid \"{path} has no valid parent directory\"\n+msgstr \"{path} no tiene un directorio padre válido\"\n+\n+#: src/system/audit.rs:285\n+msgid \"invalid path\"\n+msgstr \"ruta inválida\"\n+\n+#: src/system/audit.rs:293\n+msgid \"path must be absolute\"\n+msgstr \"la ruta debe ser absoluta\"\n+\n+#: src/system/audit.rs:305 src/system/audit.rs:329\n+msgid \"cannot open a file in a path writable by the user\"\n+msgstr \"no se puede abrir un archivo en una ruta escribible por el usuario\"\n+\n+#: src/system/audit.rs:347\n+msgid \"error in provided path\"\n+msgstr \"error en la ruta proporcionada\"\n+\n+#: src/common/error.rs:52\n+#, rust-format\n+msgid \"\"\n+\"Sorry, user {user} is not allowed to execute '{command}' as {other_user} on \"\n+\"{hostname}.\"\n+msgstr \"\"\n+\"Lo siento, el usuario {user} no tiene permitido ejecutar «{command}» como {other_user} en \"\n+\"{hostname}.\"\n+\n+#: src/common/error.rs:61\n+#, rust-format\n+msgid \"Sorry, user {user} may not run {command} on {hostname}.\"\n+msgstr \"Lo siento, el usuario {user} no puede ejecutar {command} en {hostname}.\"\n+\n+#: src/common/error.rs:69\n+msgid \"sudo must be owned by uid 0 and have the setuid bit set\"\n+msgstr \"sudo debe ser propiedad del uid 0 y tener el bit setuid activado\"\n+\n+#: src/common/error.rs:80\n+#, rust-format\n+msgid \"'{path}': command not found\"\n+msgstr \"«{path}»: comando no encontrado\"\n+\n+#: src/common/error.rs:83\n+#, rust-format\n+msgid \"'{path}': invalid command\"\n+msgstr \"«{path}»: comando inválido\"\n+\n+#: src/common/error.rs:85\n+#, rust-format\n+msgid \"user '{user}' not found\"\n+msgstr \"no se encontró el usuario «{user}»\"\n+\n+#: src/common/error.rs:86\n+#, rust-format\n+msgid \"group '{group}' not found\"\n+msgstr \"no se encontró el grupo «{group}»\"\n+\n+#: src/common/error.rs:91\n+msgid \"interactive authentication is required\"\n+msgstr \"se requiere una autentificación interactiva\"\n+\n+#: src/common/error.rs:95\n+msgid \"you are not allowed to set the following environment variables:\"\n+msgstr \"no tienes permitido establecer las siguientes variables de entorno:\"\n+\n+#: src/common/error.rs:111\n+#, rust-format\n+msgid \"cannot execute '{path}': {error}\"\n+msgstr \"no se pudo ejecutar «{path}»: {error}\"\n+\n+#: src/common/error.rs:122\n+#, rust-format\n+msgid \"maximum {num} incorrect authentication attempts\"\n+msgstr \"máximo de {num} intentos fallidos de autentificación\"\n+\n+#: src/common/error.rs:128\n+#, rust-format\n+msgid \"you are not allowed to use '--chdir {path}' with '{command}'\"\n+msgstr \"no tienes permitido usar «--chdir {path}» con «{command}»\"\n+\n+#: src/common/error.rs:150\n+#, rust-format\n+msgid \"unable to change AppArmor profile to {profile}: {error}\"\n+msgstr \"no se pudo cambiar el perfil de AppArmor a {profile}: {error}\"\n+\n+#: src/sudo/pam.rs:127\n+msgid \"Authentication failed, try again.\"\n+msgstr \"Autentificación fallida, intenta de nuevo.\"\n+\n+#: src/exec/mod.rs:154\n+#, rust-format\n+msgid \"unable to change directory to {path}: {error}\"\n+msgstr \"no se pudo cambiar el directorio a {path}: {error}\"\n+\n+#: src/sudo/edit.rs:47\n+#, rust-format\n+msgid \"failed to read metadata for {path}: {error}\"\n+msgstr \"error al leer los metadatos de {path}: {error}\"\n+\n+#: src/sudo/edit.rs:55\n+#, rust-format\n+msgid \"file {path} is not a regular file\"\n+msgstr \"el archivo {path} no es un archivo regular\"\n+\n+#: src/sudo/edit.rs:65\n+#, rust-format\n+msgid \"failed to lock {path}: {error}\"\n+msgstr \"error al bloquear {path}: {error}\"\n+\n+#: src/sudo/edit.rs:78\n+#, rust-format\n+msgid \"failed to read {path}: {error}\"\n+msgstr \"error al leer {path}: {error}\"\n+\n+#: src/sudo/edit.rs:145\n+#, rust-format\n+msgid \"{path} unchanged\"\n+msgstr \"{path} no cambió\"\n+\n+#: src/sudo/edit.rs:165\n+#, rust-format\n+msgid \"failed to write {path}: {error}\"\n+msgstr \"error al escribir {path}: {error}\"\n+\n+#: src/sudo/edit.rs:184\n+#, rust-format\n+msgid \"failed to remove temporary directory {path}: {error}\"\n+msgstr \"no se pudo quitar el directorio temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:196\n+#, rust-format\n+msgid \"{error}\"\n+msgstr \"{error}\"\n+\n+#: src/sudo/edit.rs:217\n+#, rust-format\n+msgid \"failed to create temporary directory: {error}\"\n+msgstr \"no se pudo crear el directorio temporal: {error}\"\n+\n+#: src/sudo/edit.rs:225\n+#, rust-format\n+msgid \"failed to create temporary directory {path}: {error}\"\n+msgstr \"no se pudo crear el directorio temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:239\n+#, rust-format\n+msgid \"failed to create temporary file {path}: {error}\"\n+msgstr \"no se pudo crear el archivo temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:248\n+#, rust-format\n+msgid \"failed to write to temporary file {path}: {error}\"\n+msgstr \"no se pudo escribir en el archivo temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:268\n+#, rust-format\n+msgid \"failed to run editor {path}: {error}\"\n+msgstr \"no se pudo ejecutar el editor {path}: {error}\"\n+ \n+#: src/sudo/edit.rs:289\n+#, rust-format\n+msgid \"failed to read from temporary file {path}: {error}\"\n+msgstr \"no se pudo leer del archivo temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:298\n+#, rust-format\n+msgid \"failed to remove temporary file {path}: {error}\"\n+msgstr \"no se pudo quitar el archivo temporal {path}: {error}\"\n+\n+#. TRANSLATORS: the initial letters of 'yes' and 'no' responses, in that order\n+#: src/sudo/edit.rs:307\n+msgid \"yn\"\n+msgstr \"sn\"\n+\n+#: src/sudo/edit.rs:311\n+#, rust-format\n+msgid \"sudoedit: truncate {path} to zero? (y/n) [n] \"\n+msgstr \"sudoedit: ¿truncar {path} a cero? (s/n) [n] \"\n+\n+#: src/sudo/edit.rs:324\n+#, rust-format\n+msgid \"not overwriting {path}\"\n+msgstr \"no se sobrescribe {path}\"\n+\n+#: src/sudo/edit.rs:328 src/sudo/edit.rs:337\n+#, rust-format\n+msgid \"failed to write data to parent: {error}\"\n+msgstr \"no se pudieron escribir datos al padre: {error}\"\n+\n+#: src/sudo/pipeline/edit.rs:33\n+#, rust-format\n+msgid \"{path}: editing symbolic links is not permitted\"\n+msgstr \"{path}: no está permitido editar enlaces simbólicos\"\n+\n+#: src/sudo/pipeline/edit.rs:39\n+#, rust-format\n+msgid \"error opening {path}: {error}\"\n+msgstr \"error al abrir {path}: {error}\"\n+\n+#: src/sudo/pipeline/edit.rs:46\n+#, rust-format\n+msgid \"invalid path: {path}\"\n+msgstr \"ruta inválida: {path}\"\n+\n+#: src/sudo/pipeline/edit.rs:51\n+msgid \"please address the problems and try again\"\n+msgstr \"por favor, soluciona los problemas y vuelve a intentarlo\"\n+\n+#: src/sudo/pipeline/list.rs:48\n+#, rust-format\n+msgid \"User {user} may run the following commands on {hostname}:\"\n+msgstr \"El usuario {user} puede ejecutar los siguientes comandos en {hostname}:\"\n+\n+#: src/sudo/pipeline/list.rs:63\n+#, rust-format\n+msgid \"User {user} is not allowed to run sudo on {hostname}.\"\n+msgstr \"El usuario {user} no tiene permitido ejecutar sudo en {hostname}.\"\n+\n+#: src/sudo/cli/help_edit.rs:3\n+msgid \"\"\n+\"usage: sudoedit -h | -V\\n\"\n+\"usage: sudoedit [-BknS] [-p prompt] [-g group] [-u user] file ...\"\n+msgstr \"\"\n+\"uso: sudoedit -h | -V\\n\"\n+\"uso: sudoedit [-BknS] [-p solicitud] [-g grupo] [-u usuario] archivo ...\"\n+\n+#: src/sudo/cli/help_edit.rs:10\n+msgid \"sudoedit - edit files as another user\"\n+msgstr \"sudoedit - edita archivos como otro usuario\"\n+\n+#: src/sudo/cli/help_edit.rs:15\n+msgid \"\"\n+\"Options:\\n\"\n+\"  -B, --bell                    ring bell when prompting\\n\"\n+\"  -g, --group=group             run command as the specified group name or \"\n+\"ID\\n\"\n+\"  -h, --help                    display help message and exit\\n\"\n+\"  -k, --reset-timestamp         invalidate timestamp file\\n\"\n+\"  -n, --non-interactive         non-interactive mode, no prompts are used\\n\"\n+\"  -p, --prompt=prompt           use the specified password prompt\\n\"\n+\"  -S, --stdin                   read password from standard input\\n\"\n+\"  -u, --user=user               run command (or edit file) as specified \"\n+\"user\\n\"\n+\"                                name or ID\\n\"\n+\"  -V, --version                 display version information and exit\\n\"\n+\"  --                            stop processing command line arguments\"\n+msgstr \"\"\n+\"Opciones:\\n\"\n+\"  -B, --bell                    emitir un sonido al solicitar la entrada\\n\"\n+\"  -g, --group=grupo             ejecutar el comando como el nombre o ID de\\n\"\n+\"                                grupo especificado\\n\"\n+\"  -h, --help                    mostrar el mensaje de ayuda y salir\\n\"\n+\"  -k, --reset-timestamp         invalidar el archivo de marca de tiempo\\n\"\n+\"  -n, --non-interactive         modo no interactivo, no se solicitan entradas\\n\"\n+\"  -p, --prompt=solicitud        usar la solicitud de contraseña especificada\\n\"\n+\"  -S, --stdin                   leer contraseña de la entrada estándar\\n\"\n+\"  -u, --user=usuario            ejecutar comando (o editar archivo) como el \"\n+\"nombre\\n\"\n+\"                                o ID de usuario especificado\\n\"\n+\"  -V, --version                 mostrar información de la versión y salir\\n\"\n+\"  --                            dejar de procesar argumentos de la línea de comandos\"\n+\n+#: src/sudo/cli/mod.rs:153 src/sudo/cli/mod.rs:218 src/sudo/cli/mod.rs:290\n+#: src/sudo/cli/mod.rs:379 src/sudo/cli/mod.rs:392 src/sudo/cli/mod.rs:823\n+#, rust-format\n+msgid \"{context} cannot be used together with {option}\"\n+msgstr \"{context} no se puede usar en conjunto con {option}\"\n+\n+#: src/sudo/cli/mod.rs:227\n+msgid \"must specify at least one file path\"\n+msgstr \"tienes que especificar al menos una ruta de archivo\"\n+\n+#: src/sudo/cli/mod.rs:302\n+#, rust-format\n+msgid \"'{option}' flag must be accompanied by a command\"\n+msgstr \"la opción «{option}» debe ir acompañada por un comando\"\n+\n+#: src/sudo/cli/mod.rs:388\n+msgid \"command (positional argument)\"\n+msgstr \"comando (argumento posicional)\"\n+\n+#: src/sudo/cli/mod.rs:403\n+msgid \"expected one of: --login, --shell, a command as a positional argument\"\n+msgstr \"se esperaba una de las siguientes: --login, --shell, un comando como \"\n+\"argumento posicional\"\n+\n+#: src/sudo/cli/mod.rs:544\n+#, rust-format\n+msgid \"'{option}' does not take any arguments\"\n+msgstr \"«{option}» no acepta ningún argumento\"\n+\n+#: src/sudo/cli/mod.rs:556 src/sudo/cli/mod.rs:589\n+#, rust-format\n+msgid \"'{option}' expects an argument\"\n+msgstr \"«{option}» espera un argumento\"\n+\n+#: src/sudo/cli/mod.rs:577\n+msgid \"invalid option '='\"\n+msgstr \"opción «=» inválida\"\n+\n+#: src/sudo/cli/mod.rs:632\n+msgid \"\"\n+\"expected one of these actions: --help, --version, --remove-timestamp, --\"\n+\"validate, --list, --edit, --login, --shell, a command as a positional \"\n+\"argument, --reset-timestamp\"\n+msgstr \"\"\n+\"se esperaba una de las siguientes acciones: --help, --version, \"\n+\"--remove-timestamp, --validate, --list, --edit, --login, --shell, \"\n+\"un comando como argumento posicional, --reset-timestamp\"\n+\n+#: src/sudo/cli/mod.rs:672\n+#, rust-format\n+msgid \"preserving the entire environment is not supported, '{flag}' is ignored\"\n+msgstr \"mantener todo el entorno no está soportado; la opción «{flag}» se ignora\"\n+\n+#: src/sudo/cli/mod.rs:716 src/sudo/cli/mod.rs:745\n+msgid \"invalid option provided\"\n+msgstr \"se proporcionó una opción inválida\"\n+\n+#: src/sudo/cli/mod.rs:763\n+msgid \"sudoedit doesn't need to be run via sudo\"\n+msgstr \"sudoedit no necesita ejecutarse con sudo\"\n+\n+#: src/sudo/cli/mod.rs:875\n+msgid \"command\"\n+msgstr \"comando\"\n+\n+#: src/sudo/cli/mod.rs:876\n+msgid \"environment variable\"\n+msgstr \"variable de entorno\"\n+\n+#: src/sudo/cli/help.rs:13\n+msgid \"sudo - run commands as another user\"\n+msgstr \"sudo - ejecuta comandos como otro usuario\"\n+\n+#: src/sudo/pipeline.rs:30\n+#, rust-format\n+msgid \"\"\n+\"sudoers file not found: {path}\\n\"\n+\"\\n\"\n+\"The sudoers file is required for sudo-rs to function. Please ensure:\\n\"\n+\"- The file exists at the expected location\\n\"\n+\"- You have the necessary permissions to read it\\n\"\n+\"- If setting up sudo-rs for the first time, create a sudoers file with \"\n+\"appropriate permissions\\n\"\n+\"\\n\"\n+\"For more information, see the sudo-rs documentation.\"\n+msgstr \"\"\n+\"no se encontró el archivo sudoers: {path}\\n\"\n+\"\\n\"\n+\"Se requiere el archivo sudoers para que sudo-rs funcione. Asegúrate de:\\n\"\n+\"- Que el archivo exista en la ubicación esperada\\n\"\n+\"- Que tengas los permisos necesarios para leerlo\\n\"\n+\"- Si estás configurando sudo-rs por primera vez, crea un archivo sudoers con \"\n+\"los permisos apropiados\\n\"\n+\"\\n\"\n+\"Para más información, consulta la documentación de sudo-rs.\"\n+\n+#: src/sudo/pipeline.rs:41\n+#, rust-format\n+msgid \"invalid configuration: {error}\"\n+msgstr \"configuración inválida: {error}\"\n+\n+#: src/sudo/cli/help.rs:3\n+msgid \"\"\n+\"usage: sudo -h | -K | -k | -V\\n\"\n+\"usage: sudo [-ABbknS] [-p prompt] [-D directory] [-g group] [-u user] [-i | \"\n+\"-s] [command [arg ...]]\\n\"\n+\"usage: sudo -v [-ABknS] [-p prompt] [-g group] [-u user]\\n\"\n+\"usage: sudo -l [-ABknS] [-p prompt] [-U user] [-g group] [-u user] [command \"\n+\"[arg ...]]\\n\"\n+\"usage: sudo -e [-ABknS] [-p prompt] [-D directory] [-g group] [-u user] \"\n+\"file ...\"\n+msgstr \"\"\n+\"uso: sudo -h | -K | -k | -V\\n\"\n+\"uso: sudo [-ABbknS] [-p solicitud] [-D directorio] [-g grupo] [-u usuario] [-i | \"\n+\"-s] [comando [argumento ...]]\\n\"\n+\"uso: sudo -v [-ABknS] [-p solicitud] [-g grupo] [-u usuario]\\n\"\n+\"uso: sudo -l [-ABknS] [-p solicitud] [-U usuario] [-g grupo] [-u usuario] [comando \"\n+\"[argumento ...]]\\n\"\n+\"uso: sudo -e [-ABknS] [-p solicitud] [-D directorio] [-g grupo] [-u usuario] \"\n+\"archivo ...\"\n+\n+#: src/sudo/cli/help.rs:17\n+msgid \"\"\n+\"Options:\\n\"\n+\"  -A, --askpass                 use a helper program for password prompting\\n\"\n+\"  -b, --background              run command in the background\\n\"\n+\"  -B, --bell                    ring bell when prompting\\n\"\n+\"  -D, --chdir=directory         change the working directory before running \"\n+\"command\\n\"\n+\"  -e, --edit                    edit files instead of running a command\\n\"\n+\"  -g, --group=group             run command as the specified group name or \"\n+\"ID\\n\"\n+\"  -h, --help                    display help message and exit\\n\"\n+\"  -i, --login                   run login shell as the target user; a \"\n+\"command may also be specified\\n\"\n+\"  -K, --remove-timestamp        remove timestamp file completely\\n\"\n+\"  -k, --reset-timestamp         invalidate timestamp file\\n\"\n+\"  -l, --list                    list user's privileges or check a specific \"\n+\"command; use twice for longer format\\n\"\n+\"  -n, --non-interactive         non-interactive mode, no prompts are used\\n\"\n+\"  -p, --prompt=prompt           use the specified password prompt\\n\"\n+\"  -S, --stdin                   read password from standard input\\n\"\n+\"  -s, --shell                   run shell as the target user; a command may \"\n+\"also be specified\\n\"\n+\"  -U, --other-user=user         in list mode, display privileges for user\\n\"\n+\"  -u, --user=user               run command (or edit file) as specified user \"\n+\"name or ID\\n\"\n+\"  -V, --version                 display version information and exit\\n\"\n+\"  -v, --validate                update user's timestamp without running a \"\n+\"command\\n\"\n+\"      --preserve-env=list       preserve specific environment variables\\n\"\n+\"  --                            stop processing command line arguments\"\n+msgstr \"\"\n+\"Opciones:\\n\"\n+\"  -A, --askpass                 usar un programa auxiliar para solicitar la contraseña\\n\"\n+\"  -b, --background              ejecutar el comando en segundo plano\\n\"\n+\"  -B, --bell                    emitir un sonido al solicitar la entrada\\n\"\n+\"  -D, --chdir=directorio        cambiar el directorio de trabajo antes de \"\n+\"ejecutar el comando\\n\"\n+\"  -e, --edit                    editar archivos en lugar de ejecutar un comando\\n\"\n+\"  -g, --group=grupo             ejecutar el comando como el nombre o ID de\\n\"\n+\"                                grupo especificado\\n\"\n+\"  -h, --help                    mostrar el mensaje de ayuda y salir\\n\"\n+\"  -i, --login                   ejecutar la shell de inicio de sesión como el usuario \"\n+\"objetivo; también se puede\\n\"\n+\"                                especificar un comando\\n\"\n+\"  -K, --remove-timestamp        eliminar completamente el archivo de marca de tiempo\\n\"\n+\"  -k, --reset-timestamp         invalida el archivo de marca de tiempo\\n\"\n+\"  -l, --list                    listar los privilegios del usuario o comprobar un comando\\n\"\n+\"                                específico; usar dos veces para un formato extendido\\n\"\n+\"  -n, --non-interactive         modo no interactivo, no se solicitan entradas\\n\"\n+\"  -p, --prompt=solicitud        usar la solicitud de contraseña especificada\\n\"\n+\"  -S, --stdin                   leer contraseña de la entrada estándar\\n\"","path":"po/es.po","commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","original_commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"I'd say either\n> leer contraseña *por* la entrada estándar \n\nor\n> leer contraseña *a través de* la entrada estándar\n\nsound more idiomatic to me","created_at":"2026-04-17T17:14:32Z","updated_at":"2026-04-17T17:44:25Z","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102036056","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"self":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102036056"},"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3102036056"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"reactions":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3102036056/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":587,"position":1,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}}},"public":true,"created_at":"2026-04-17T17:14:32Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8537124519","type":"PullRequestReviewCommentEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3101989410","pull_request_review_id":4130621993,"id":3101989410,"node_id":"PRRC_kwDOImpjQs645Joi","diff_hunk":"@@ -4,20 +4,610 @@\n #\n msgid \"\"\n msgstr \"\"\n-\"Project-Id-Version: sudo-rs 0.2.12\\n\"\n+\"Project-Id-Version: sudo-rs 0.2.13\\n\"\n \"Report-Msgid-Bugs-To: https://github.com/trifectatechfoundation/sudo-rs/\"\n \"issues\\n\"\n-\"POT-Creation-Date: 2025-12-08 17:30+0100\\n\"\n-\"PO-Revision-Date: 2025-12-08 20:17+0100\\n\"\n-\"Last-Translator: Marc Schoolderman <marc@trifectatech.org>\\n\"\n+\"POT-Creation-Date: 2026-10-03 17:30+0100\\n\"\n+\"PO-Revision-Date: 2026-29-03 08:33+0100\\n\"\n+\"Last-Translator: Guler01\\n\"\n \"Language-Team: Language =es\\n\"\n \"Language: =es\\n\"\n \"MIME-Version: 1.0\\n\"\n \"Content-Type: text/plain; charset=UTF-8\\n\"\n \"Content-Transfer-Encoding: 8bit\\n\"\n \n #. TRANSLATORS: This is a well-known quote, try to preserve it in translation.\n-#: src/common/error.rs:84\n+#: src/common/error.rs:89\n #, rust-format\n msgid \"I'm sorry {user}. I'm afraid I can't do that\"\n-msgstr \"Lo siento, {user}. Me temo que no puedo hacer eso.\"\n+msgstr \"Lo siento, {user}. Me temo que no puedo hacerlo.\"\n+\n+#: src/sudoers/entry/verbose.rs:33\n+msgid \"Commands:\"\n+msgstr \"Comandos:\"\n+\n+#: src/sudoers/entry/verbose.rs:46\n+msgid \"Sudoers entry:\"\n+msgstr \"Entrada de sudoers:\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:54\n+msgid \"RunAsUsers\"\n+msgstr \"RunAs-usuarios\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:64\n+msgid \"RunAsGroups\"\n+msgstr \"RunAs-grupos\"\n+\n+#: src/sudoers/entry/verbose.rs:70\n+msgid \"Options\"\n+msgstr \"Opciones\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:79\n+msgid \"Cwd\"\n+msgstr \"Cwd\"\n+\n+#: src/pam/askpass.rs:55\n+#, rust-format\n+msgid \"Failed to run askpass program {path}: {error}\"\n+msgstr \"No se pudo ejecutar el programa askpass {path}: {error}\"\n+\n+#: src/pam/error.rs:211 src/common/error.rs:136 src/common/error.rs:143\n+msgid \"Unexpected null character in input\"\n+msgstr \"Carácter nulo inesperado en la entrada\"\n+\n+#: src/pam/error.rs:212\n+msgid \"Could not read input data as UTF-8 string\"\n+msgstr \"No se pudieron leer los datos de entrada como una cadena UTF-8\"\n+\n+#: src/pam/error.rs:214\n+msgid \"Account validation failure, is your account locked?\"\n+msgstr \"Error al validar la cuenta, ¿tu cuenta está bloqueada?\"\n+\n+#: src/pam/error.rs:219\n+msgid \"Account or password is expired, reset your password and try again\"\n+msgstr \"La cuenta o la contraseña está caducada; restablece tu contraseña y vuelve a intentarlo.\"\n+\n+#: src/pam/error.rs:223\n+msgid \"Password expired, contact your system administrator\"\n+msgstr \"Contraseña caducada; contacta al administrador del sistema\"\n+\n+#: src/pam/error.rs:225\n+#, rust-format\n+msgid \"PAM error: {error}\"\n+msgstr \"Error del PAM: {error}\"\n+\n+#: src/pam/error.rs:226 src/common/error.rs:116\n+#, rust-format\n+msgid \"IO error: {error}\"\n+msgstr \"Error de E/S: {error}\"\n+\n+#: src/pam/error.rs:227\n+msgid \"A terminal is required to authenticate\"\n+msgstr \"Se requiere una terminal para autentificar\"\n+\n+#: src/pam/error.rs:231\n+msgid \"It was not possible to get a list of environment variables\"\n+msgstr \"No se pudo obtener una lista de las variables de entorno\"\n+\n+#: src/pam/error.rs:234\n+msgid \"Interaction is required\"\n+msgstr \"Se requiere una interacción\"\n+\n+#: src/pam/error.rs:236\n+msgid \"Authentication required but not attempted\"\n+msgstr \"Se requiere autentificación, pero no se intentó\"\n+\n+#: src/pam/error.rs:239\n+msgid \"Incorrect authentication attempt\"\n+msgstr \"Intento de autentificación incorrecto\"\n+\n+#: src/pam/error.rs:241\n+msgid \"timed out\"\n+msgstr \"tiempo agotado\"\n+\n+#: src/pam/error.rs:245\n+#, rust-format\n+msgid \"Sorry, user {user} is not allowed to authenticate as {other_user}.\"\n+msgstr \"Lo siento, el usuario {user} no tiene permitido autentificarse como {other_user}.\"\n+\n+#: src/pam/error.rs:251\n+msgid \"No askpass program specified in SUDO_ASKPASS\"\n+msgstr \"El programa askpass no está especificado en SUDO_ASKPASS\"\n+\n+#: src/pam/error.rs:256\n+#, rust-format\n+msgid \"Askpass program '{path}' is not an absolute path\"\n+msgstr \"El programa askpass «{path}» no es una ruta absoluta\"\n+\n+#: src/pam/mod.rs:86\n+msgid \"authenticate\"\n+msgstr \"autentificar\"\n+\n+#: src/pam/converse.rs:153\n+msgid \"input needed\"\n+msgstr \"entrada requerida\"\n+\n+#: src/system/audit.rs:155\n+#, rust-format\n+msgid \"{path} must be owned by root\"\n+msgstr \"{path} debe pertenecer a root\"\n+\n+#: src/system/audit.rs:160\n+#, rust-format\n+msgid \"{path} cannot be group-writable\"\n+msgstr \"{path} no puede tener permisos de escritura para el grupo\"\n+\n+#: src/system/audit.rs:165\n+#, rust-format\n+msgid \"{path} cannot be world-writable\"\n+msgstr \"{path} no puede tener permisos de escritura para todos\"\n+\n+#: src/system/audit.rs:206\n+#, rust-format\n+msgid \"{path} has no valid parent directory\"\n+msgstr \"{path} no tiene un directorio padre válido\"\n+\n+#: src/system/audit.rs:285\n+msgid \"invalid path\"\n+msgstr \"ruta inválida\"\n+\n+#: src/system/audit.rs:293\n+msgid \"path must be absolute\"\n+msgstr \"la ruta debe ser absoluta\"\n+\n+#: src/system/audit.rs:305 src/system/audit.rs:329\n+msgid \"cannot open a file in a path writable by the user\"\n+msgstr \"no se puede abrir un archivo en una ruta escribible por el usuario\"\n+\n+#: src/system/audit.rs:347\n+msgid \"error in provided path\"\n+msgstr \"error en la ruta proporcionada\"\n+\n+#: src/common/error.rs:52\n+#, rust-format\n+msgid \"\"\n+\"Sorry, user {user} is not allowed to execute '{command}' as {other_user} on \"\n+\"{hostname}.\"\n+msgstr \"\"\n+\"Lo siento, el usuario {user} no tiene permitido ejecutar «{command}» como {other_user} en \"\n+\"{hostname}.\"\n+\n+#: src/common/error.rs:61\n+#, rust-format\n+msgid \"Sorry, user {user} may not run {command} on {hostname}.\"\n+msgstr \"Lo siento, el usuario {user} no puede ejecutar {command} en {hostname}.\"\n+\n+#: src/common/error.rs:69\n+msgid \"sudo must be owned by uid 0 and have the setuid bit set\"\n+msgstr \"sudo debe ser propiedad del uid 0 y tener el bit setuid activado\"\n+\n+#: src/common/error.rs:80\n+#, rust-format\n+msgid \"'{path}': command not found\"\n+msgstr \"«{path}»: comando no encontrado\"\n+\n+#: src/common/error.rs:83\n+#, rust-format\n+msgid \"'{path}': invalid command\"\n+msgstr \"«{path}»: comando inválido\"\n+\n+#: src/common/error.rs:85\n+#, rust-format\n+msgid \"user '{user}' not found\"\n+msgstr \"no se encontró el usuario «{user}»\"\n+\n+#: src/common/error.rs:86\n+#, rust-format\n+msgid \"group '{group}' not found\"\n+msgstr \"no se encontró el grupo «{group}»\"\n+\n+#: src/common/error.rs:91\n+msgid \"interactive authentication is required\"\n+msgstr \"se requiere una autentificación interactiva\"\n+\n+#: src/common/error.rs:95\n+msgid \"you are not allowed to set the following environment variables:\"\n+msgstr \"no tienes permitido establecer las siguientes variables de entorno:\"\n+\n+#: src/common/error.rs:111\n+#, rust-format\n+msgid \"cannot execute '{path}': {error}\"\n+msgstr \"no se pudo ejecutar «{path}»: {error}\"\n+\n+#: src/common/error.rs:122\n+#, rust-format\n+msgid \"maximum {num} incorrect authentication attempts\"\n+msgstr \"máximo de {num} intentos fallidos de autentificación\"\n+\n+#: src/common/error.rs:128\n+#, rust-format\n+msgid \"you are not allowed to use '--chdir {path}' with '{command}'\"\n+msgstr \"no tienes permitido usar «--chdir {path}» con «{command}»\"\n+\n+#: src/common/error.rs:150\n+#, rust-format\n+msgid \"unable to change AppArmor profile to {profile}: {error}\"\n+msgstr \"no se pudo cambiar el perfil de AppArmor a {profile}: {error}\"\n+\n+#: src/sudo/pam.rs:127\n+msgid \"Authentication failed, try again.\"\n+msgstr \"Autentificación fallida, intenta de nuevo.\"\n+\n+#: src/exec/mod.rs:154\n+#, rust-format\n+msgid \"unable to change directory to {path}: {error}\"\n+msgstr \"no se pudo cambiar el directorio a {path}: {error}\"\n+\n+#: src/sudo/edit.rs:47\n+#, rust-format\n+msgid \"failed to read metadata for {path}: {error}\"\n+msgstr \"error al leer los metadatos de {path}: {error}\"\n+\n+#: src/sudo/edit.rs:55\n+#, rust-format\n+msgid \"file {path} is not a regular file\"\n+msgstr \"el archivo {path} no es un archivo regular\"\n+\n+#: src/sudo/edit.rs:65\n+#, rust-format\n+msgid \"failed to lock {path}: {error}\"\n+msgstr \"error al bloquear {path}: {error}\"\n+\n+#: src/sudo/edit.rs:78\n+#, rust-format\n+msgid \"failed to read {path}: {error}\"\n+msgstr \"error al leer {path}: {error}\"\n+\n+#: src/sudo/edit.rs:145\n+#, rust-format\n+msgid \"{path} unchanged\"\n+msgstr \"{path} no cambió\"\n+\n+#: src/sudo/edit.rs:165\n+#, rust-format\n+msgid \"failed to write {path}: {error}\"\n+msgstr \"error al escribir {path}: {error}\"\n+\n+#: src/sudo/edit.rs:184\n+#, rust-format\n+msgid \"failed to remove temporary directory {path}: {error}\"\n+msgstr \"no se pudo quitar el directorio temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:196\n+#, rust-format\n+msgid \"{error}\"\n+msgstr \"{error}\"\n+\n+#: src/sudo/edit.rs:217\n+#, rust-format\n+msgid \"failed to create temporary directory: {error}\"\n+msgstr \"no se pudo crear el directorio temporal: {error}\"\n+\n+#: src/sudo/edit.rs:225\n+#, rust-format\n+msgid \"failed to create temporary directory {path}: {error}\"\n+msgstr \"no se pudo crear el directorio temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:239\n+#, rust-format\n+msgid \"failed to create temporary file {path}: {error}\"\n+msgstr \"no se pudo crear el archivo temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:248\n+#, rust-format\n+msgid \"failed to write to temporary file {path}: {error}\"\n+msgstr \"no se pudo escribir en el archivo temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:268\n+#, rust-format\n+msgid \"failed to run editor {path}: {error}\"\n+msgstr \"no se pudo ejecutar el editor {path}: {error}\"\n+ \n+#: src/sudo/edit.rs:289\n+#, rust-format\n+msgid \"failed to read from temporary file {path}: {error}\"\n+msgstr \"no se pudo leer del archivo temporal {path}: {error}\"\n+\n+#: src/sudo/edit.rs:298\n+#, rust-format\n+msgid \"failed to remove temporary file {path}: {error}\"\n+msgstr \"no se pudo quitar el archivo temporal {path}: {error}\"\n+\n+#. TRANSLATORS: the initial letters of 'yes' and 'no' responses, in that order\n+#: src/sudo/edit.rs:307\n+msgid \"yn\"\n+msgstr \"sn\"\n+\n+#: src/sudo/edit.rs:311\n+#, rust-format\n+msgid \"sudoedit: truncate {path} to zero? (y/n) [n] \"\n+msgstr \"sudoedit: ¿truncar {path} a cero? (s/n) [n] \"\n+\n+#: src/sudo/edit.rs:324\n+#, rust-format\n+msgid \"not overwriting {path}\"\n+msgstr \"no se sobrescribe {path}\"\n+\n+#: src/sudo/edit.rs:328 src/sudo/edit.rs:337\n+#, rust-format\n+msgid \"failed to write data to parent: {error}\"","path":"po/es.po","commit_id":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","original_commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"nit: I lack context but maybe this would be clearer (also in English) as \"failed to write to parent process\"?","created_at":"2026-04-17T17:08:53Z","updated_at":"2026-04-17T17:44:25Z","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3101989410","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"self":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3101989410"},"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3101989410"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"reactions":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3101989410/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":339,"position":339,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}}},"public":true,"created_at":"2026-04-17T17:08:53Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"8536851514","type":"PullRequestReviewCommentEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":577397570,"name":"trifectatechfoundation/sudo-rs","url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3101943340","pull_request_review_id":4130621993,"id":3101943340,"node_id":"PRRC_kwDOImpjQs644-Ys","diff_hunk":"@@ -4,20 +4,610 @@\n #\n msgid \"\"\n msgstr \"\"\n-\"Project-Id-Version: sudo-rs 0.2.12\\n\"\n+\"Project-Id-Version: sudo-rs 0.2.13\\n\"\n \"Report-Msgid-Bugs-To: https://github.com/trifectatechfoundation/sudo-rs/\"\n \"issues\\n\"\n-\"POT-Creation-Date: 2025-12-08 17:30+0100\\n\"\n-\"PO-Revision-Date: 2025-12-08 20:17+0100\\n\"\n-\"Last-Translator: Marc Schoolderman <marc@trifectatech.org>\\n\"\n+\"POT-Creation-Date: 2026-10-03 17:30+0100\\n\"\n+\"PO-Revision-Date: 2026-29-03 08:33+0100\\n\"\n+\"Last-Translator: Guler01\\n\"\n \"Language-Team: Language =es\\n\"\n \"Language: =es\\n\"\n \"MIME-Version: 1.0\\n\"\n \"Content-Type: text/plain; charset=UTF-8\\n\"\n \"Content-Transfer-Encoding: 8bit\\n\"\n \n #. TRANSLATORS: This is a well-known quote, try to preserve it in translation.\n-#: src/common/error.rs:84\n+#: src/common/error.rs:89\n #, rust-format\n msgid \"I'm sorry {user}. I'm afraid I can't do that\"\n-msgstr \"Lo siento, {user}. Me temo que no puedo hacer eso.\"\n+msgstr \"Lo siento, {user}. Me temo que no puedo hacerlo.\"\n+\n+#: src/sudoers/entry/verbose.rs:33\n+msgid \"Commands:\"\n+msgstr \"Comandos:\"\n+\n+#: src/sudoers/entry/verbose.rs:46\n+msgid \"Sudoers entry:\"\n+msgstr \"Entrada de sudoers:\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:54\n+msgid \"RunAsUsers\"\n+msgstr \"RunAs-usuarios\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:64\n+msgid \"RunAsGroups\"\n+msgstr \"RunAs-grupos\"\n+\n+#: src/sudoers/entry/verbose.rs:70\n+msgid \"Options\"\n+msgstr \"Opciones\"\n+\n+#. TRANSLATORS: This is sudo-specific jargon.\n+#: src/sudoers/entry/verbose.rs:79\n+msgid \"Cwd\"\n+msgstr \"Cwd\"\n+\n+#: src/pam/askpass.rs:55\n+#, rust-format\n+msgid \"Failed to run askpass program {path}: {error}\"\n+msgstr \"No se pudo ejecutar el programa askpass {path}: {error}\"\n+\n+#: src/pam/error.rs:211 src/common/error.rs:136 src/common/error.rs:143\n+msgid \"Unexpected null character in input\"\n+msgstr \"Carácter nulo inesperado en la entrada\"\n+\n+#: src/pam/error.rs:212\n+msgid \"Could not read input data as UTF-8 string\"\n+msgstr \"No se pudieron leer los datos de entrada como una cadena UTF-8\"\n+\n+#: src/pam/error.rs:214\n+msgid \"Account validation failure, is your account locked?\"\n+msgstr \"Error al validar la cuenta, ¿tu cuenta está bloqueada?\"","path":"po/es.po","commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","original_commit_id":"aeed7cfdd0189f26881ed03b33542e071ab333aa","user":{"login":"japaric","id":5018213,"node_id":"MDQ6VXNlcjUwMTgyMTM=","avatar_url":"https://avatars.githubusercontent.com/u/5018213?v=4","gravatar_id":"","url":"https://api.github.com/users/japaric","html_url":"https://github.com/japaric","followers_url":"https://api.github.com/users/japaric/followers","following_url":"https://api.github.com/users/japaric/following{/other_user}","gists_url":"https://api.github.com/users/japaric/gists{/gist_id}","starred_url":"https://api.github.com/users/japaric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/japaric/subscriptions","organizations_url":"https://api.github.com/users/japaric/orgs","repos_url":"https://api.github.com/users/japaric/repos","events_url":"https://api.github.com/users/japaric/events{/privacy}","received_events_url":"https://api.github.com/users/japaric/received_events","type":"User","user_view_type":"public","site_admin":false},"body":"nit: I'd say\n> ¿está tu cuenta bloqueada?\n\nsounds a bit more like a question to me ","created_at":"2026-04-17T16:59:38Z","updated_at":"2026-04-17T17:44:25Z","html_url":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3101943340","pull_request_url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","_links":{"self":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3101943340"},"html":{"href":"https://github.com/trifectatechfoundation/sudo-rs/pull/1531#discussion_r3101943340"},"pull_request":{"href":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531"}},"reactions":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/comments/3101943340/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"original_position":70,"position":1,"subject_type":"line"},"pull_request":{"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs/pulls/1531","id":3462075004,"number":1531,"head":{"ref":"main","sha":"005e32197be1e6c3c88ac4edc7190b94b1bf37d3","repo":{"id":1194996574,"url":"https://api.github.com/repos/Guler01/sudo-rs","name":"sudo-rs"}},"base":{"ref":"main","sha":"e7e1428615a64650ba19d1e9c0f2028396276f93","repo":{"id":577397570,"url":"https://api.github.com/repos/trifectatechfoundation/sudo-rs","name":"sudo-rs"}}}},"public":true,"created_at":"2026-04-17T16:59:38Z","org":{"id":172280662,"login":"trifectatechfoundation","gravatar_id":"","url":"https://api.github.com/orgs/trifectatechfoundation","avatar_url":"https://avatars.githubusercontent.com/u/172280662?"}},{"id":"10716575106","type":"PushEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":421786094,"name":"ferrocene/rust","url":"https://api.github.com/repos/ferrocene/rust"},"payload":{"repository_id":421786094,"push_id":33008386667,"ref":"refs/heads/a53-linux-fix-errata","head":"a88c30d5888e7926743d71201ce58d1461bc2331","before":"9bafb165c1530086211699c093909b1a002502dc"},"public":true,"created_at":"2026-04-17T16:55:43Z","org":{"id":86245712,"login":"ferrocene","gravatar_id":"","url":"https://api.github.com/orgs/ferrocene","avatar_url":"https://avatars.githubusercontent.com/u/86245712?"}},{"id":"8536708973","type":"PullRequestEvent","actor":{"id":5018213,"login":"japaric","display_login":"japaric","gravatar_id":"","url":"https://api.github.com/users/japaric","avatar_url":"https://avatars.githubusercontent.com/u/5018213?"},"repo":{"id":724712,"name":"rust-lang/rust","url":"https://api.github.com/repos/rust-lang/rust"},"payload":{"action":"opened","number":155453,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/155453","id":3546517334,"number":155453,"head":{"ref":"a53-linux-fix-errata","sha":"a88c30d5888e7926743d71201ce58d1461bc2331","repo":{"id":421786094,"url":"https://api.github.com/repos/ferrocene/rust","name":"rust"}},"base":{"ref":"main","sha":"4dbafc340b0f8e9ff9e95974d0ceef81ae2652c8","repo":{"id":724712,"url":"https://api.github.com/repos/rust-lang/rust","name":"rust"}}}},"public":true,"created_at":"2026-04-17T16:55:03Z","org":{"id":5430905,"login":"rust-lang","gravatar_id":"","url":"https://api.github.com/orgs/rust-lang","avatar_url":"https://avatars.githubusercontent.com/u/5430905?"}}]