{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":763269749,"defaultBranch":"main","name":"lix","ownerLogin":"lix-project","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-26T00:52:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/161263469?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724359433.0","currentOid":""},"activityList":{"items":[{"before":"79246a37337c5df2224dbc2461c722e1e678f6de","after":"5f298f74c92402a8390b01c736463b17b36277e3","ref":"refs/heads/main","pushedAt":"2024-09-21T07:55:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"local-store: make extended attribute handling more robust\" into main","shortMessageHtmlLink":"Merge \"local-store: make extended attribute handling more robust\" int…"}},{"before":"0943b214c9d664453560c6490ee769d20714201b","after":"79246a37337c5df2224dbc2461c722e1e678f6de","ref":"refs/heads/main","pushedAt":"2024-09-18T23:36:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"util: fix brotli decompression of empty input\" into main","shortMessageHtmlLink":"Merge \"util: fix brotli decompression of empty input\" into main"}},{"before":"2afdf1ed660d0592bf488fa1be68fe0666716421","after":"0943b214c9d664453560c6490ee769d20714201b","ref":"refs/heads/main","pushedAt":"2024-09-18T20:38:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"tests/compression: rewrite\" into main","shortMessageHtmlLink":"Merge \"tests/compression: rewrite\" into main"}},{"before":"8ab5743904a06c78153281bf61b3aa8aa451a489","after":"2afdf1ed660d0592bf488fa1be68fe0666716421","ref":"refs/heads/main","pushedAt":"2024-09-18T19:08:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"path-info: wipe the progress bar before printing\n\nThe legitimate output of `nix path-info` may visually interfere with the\nprogress bar, by appending to stale progress output before the latter has been\nerased. Conveniently, all expensive operations (evaluation or building) have\nalready been performed before, so we can simply wipe the progress bar at this\npoint to fix the issue.\n\nFixes: https://git.lix.systems/lix-project/lix/issues/343\nChange-Id: Id9a807a5c882295b3e6fbf841f9c15dc96f67f6e","shortMessageHtmlLink":"path-info: wipe the progress bar before printing"}},{"before":"80202e3ca314c21547c48f3a23d3f629cd9ddb87","after":"8ab5743904a06c78153281bf61b3aa8aa451a489","ref":"refs/heads/main","pushedAt":"2024-09-17T16:36:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"Remove readline support\" into main","shortMessageHtmlLink":"Merge \"Remove readline support\" into main"}},{"before":"727258241fc0b3c02691b72302d2c3092baca275","after":"80202e3ca314c21547c48f3a23d3f629cd9ddb87","ref":"refs/heads/main","pushedAt":"2024-09-16T12:49:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"common-eval-args: raise warning if `--arg` isn't a valid Nix identifier\n\nSee https://git.lix.systems/lix-project/lix/issues/496.\n\nThe core idea is to be able to do e.g.\n\n nix-instantiate -A some-nonfree-thing --arg config.allowUnfree true\n\nwhich is currently not possible since `config.allowUnfree` is\ninterpreted as attribute name with a dot in it.\n\nIn order to change that (probably), Jade suggested to find out if there\nare any folks out there relying on this behavior.\n\nFor such a use-case, it may still be possible to accept strings, i.e.\n`--arg '\"config.allowUnfree\"'.\n\nChange-Id: I986c73619fbd87a95b55e2f0ac03feaed3de2d2d","shortMessageHtmlLink":"common-eval-args: raise warning if --arg isn't a valid Nix identifier"}},{"before":"5246cea6c8b30ad2fd4382b852ce445075e91a3e","after":"727258241fc0b3c02691b72302d2c3092baca275","ref":"refs/heads/main","pushedAt":"2024-09-14T20:19:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"fix: docs issue template was busted\n\nApparently forgejo has a more creative interpretation of \\(\\) than I was\nhoping in their markdown parser and thought it was maths. I have no idea\nthen how you put a link in parens next to another square-bracket link,\nbut I am not going to worry about it.\n\nThere were several more typos, which I also fixed.\n\nFixes: https://git.lix.systems/lix-project/lix/issues/517\nChange-Id: I6b144c6881f92ca60ba72a304ce7a0bcb9c6659a","shortMessageHtmlLink":"fix: docs issue template was busted"}},{"before":"8f88590d13363fef6b6a4576697afeccf835b081","after":"5246cea6c8b30ad2fd4382b852ce445075e91a3e","ref":"refs/heads/main","pushedAt":"2024-09-14T19:28:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"store: add a hint on how to fix Lix installs broken by macOS Sequoia\" into main","shortMessageHtmlLink":"Merge \"store: add a hint on how to fix Lix installs broken by macOS S…"}},{"before":"b2fc007811a5afc473bf116fe8d38688b3699e25","after":"8f88590d13363fef6b6a4576697afeccf835b081","ref":"refs/heads/main","pushedAt":"2024-09-14T19:26:25.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge changes Ia1481da4,Ifca1d74d into main\n\n* changes:\n archive: refactor bad mutable-state API in the NAR parse listener\n archive: rename ParseSink to NARParseVisitor","shortMessageHtmlLink":"Merge changes Ia1481da4,Ifca1d74d into main"}},{"before":"df0137226d7db4bfac455076be9f37dae6f01ffe","after":"b2fc007811a5afc473bf116fe8d38688b3699e25","ref":"refs/heads/main","pushedAt":"2024-09-12T06:14:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"fish-completion: leave the shell prompt intact\" into main","shortMessageHtmlLink":"Merge \"fish-completion: leave the shell prompt intact\" into main"}},{"before":"24db81eaf28259ab8f8334ccd6368673a26ed422","after":"df0137226d7db4bfac455076be9f37dae6f01ffe","ref":"refs/heads/main","pushedAt":"2024-09-11T19:30:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"editline: Vendor cl/1883 patch to recognize `Alt+Left`/`Alt+Right`\n\nThis vendors the patch added in cl/1883 to avoid GitHub\ngarbage-collecting the commits we're referring to.\n\nAs @emilazy pointed out on GitHub:\n\n> GitHub can garbage‐collect unmerged PR commits if they are later\n> force‐pushed, which means that code review in upstreams can cause\n> Nixpkgs builds to fail to reproduce in future.\n\nSee: https://github.com/NixOS/nixpkgs/pull/341131#discussion_r1753046220\nSee: https://github.com/troglobit/editline/pull/70\nSee: https://gerrit.lix.systems/c/lix/+/1883\n\nChange-Id: Ifff522f7f23310d6dbe9efc72fd40be5500ae872","shortMessageHtmlLink":"editline: Vendor cl/1883 patch to recognize Alt+Left/Alt+Right"}},{"before":"cc183fdbc14ce105a5661d646983f791978b9d5c","after":"24db81eaf28259ab8f8334ccd6368673a26ed422","ref":"refs/heads/main","pushedAt":"2024-09-11T01:02:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"repl: Patch editline to recognize Meta-Left & Meta-Right\" into main","shortMessageHtmlLink":"Merge \"repl: Patch editline to recognize Meta-Left & Meta-Right\" into…"}},{"before":"f5ae72d44552d9d75e3826c7e59403cbdb13d43a","after":"cc183fdbc14ce105a5661d646983f791978b9d5c","ref":"refs/heads/main","pushedAt":"2024-09-10T00:17:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"repl-overlays: Provide an elaborate example\" into main","shortMessageHtmlLink":"Merge \"repl-overlays: Provide an elaborate example\" into main"}},{"before":"8f7ab26f96ec025db3f922fc50f5184167662596","after":"f5ae72d44552d9d75e3826c7e59403cbdb13d43a","ref":"refs/heads/main","pushedAt":"2024-09-10T00:10:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"Add `getCwd`\" into main","shortMessageHtmlLink":"Merge \"Add getCwd\" into main"}},{"before":"c14486ae8d3bbc862c625d948a6b2f4dc0927d5b","after":"8f7ab26f96ec025db3f922fc50f5184167662596","ref":"refs/heads/main","pushedAt":"2024-09-09T16:14:40.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge changes If8ec210f,I6e2851b2 into main\n\n* changes:\n libfetchers: serialise accept-flake-config properly\n libstore: declare SandboxMode JSON serialisation in the header","shortMessageHtmlLink":"Merge changes If8ec210f,I6e2851b2 into main"}},{"before":"e9505dcc5a0ff259b9e284e9e617486e81a1ff6f","after":"c14486ae8d3bbc862c625d948a6b2f4dc0927d5b","ref":"refs/heads/main","pushedAt":"2024-09-09T02:19:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"forbid gcc for compilation, only allow clang\n\nwhile gcc 12 and older miscompile our generators, gcc 13 and older\noutright crash on kj coroutines. (newer gcc versions may fix this)\n\nChange-Id: I19f12c8c147239680eb0fa5a84ef5c7de38c9263","shortMessageHtmlLink":"forbid gcc for compilation, only allow clang"}},{"before":"f2a49032a698bd96b37e8df8f02ec403fd0bed0f","after":"e9505dcc5a0ff259b9e284e9e617486e81a1ff6f","ref":"refs/heads/main","pushedAt":"2024-09-08T13:42:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"libmain/progress-bar: erase all lines of the multi-line format\" into main","shortMessageHtmlLink":"Merge \"libmain/progress-bar: erase all lines of the multi-line format…"}},{"before":"991d8ce2752d117c2431ddf8df454bda6df16a77","after":"f2a49032a698bd96b37e8df8f02ec403fd0bed0f","ref":"refs/heads/main","pushedAt":"2024-09-08T11:59:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"libstore: turn Worker in a kj event loop user\n\nusing a proper event loop basis we no longer have to worry about most of\nthe intricacies of poll(), or platform-dependent replacements for it. we\nmay even be able to use the event loop and its promise system for all of\nour scheduling in the future. we don't do any real async processing yet,\nthis is just preparation to separate the first such change from the huge\napi design difference with the async framework we chose (kj from capnp):\n\nkj::Promise, unlike std::future, doesn't return exceptions unmangled. it\ninstead wraps any non-kj exception into a kj exception, erasing all type\ninformation and preserving mostly the what() string in the process. this\nmakes sense in the capnp rpc use case where unrestricted exception types\ncan't be transferred, and since it moves error handling styles closer to\na world we'd actually like there's no harm in doing it only here for now\n\nChange-Id: I20f888de74d525fb2db36ca30ebba4bcfe9cc838","shortMessageHtmlLink":"libstore: turn Worker in a kj event loop user"}},{"before":"72589e703258e5cb4de091390291ff84c3a22bf2","after":"991d8ce2752d117c2431ddf8df454bda6df16a77","ref":"refs/heads/main","pushedAt":"2024-09-06T17:07:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"Stop the logger in legacy commands again\" into main","shortMessageHtmlLink":"Merge \"Stop the logger in legacy commands again\" into main"}},{"before":"644176a631b5f56bb877926ac78dcd935c6296c3","after":"72589e703258e5cb4de091390291ff84c3a22bf2","ref":"refs/heads/main","pushedAt":"2024-09-03T18:49:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"Test including relative paths in configuration\" into main","shortMessageHtmlLink":"Merge \"Test including relative paths in configuration\" into main"}},{"before":"02eb07cfd539c34c080cb1baf042e5e780c1fcc2","after":"644176a631b5f56bb877926ac78dcd935c6296c3","ref":"refs/heads/main","pushedAt":"2024-09-03T18:48:48.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"Expand comment on `std::string operator+`\" into main","shortMessageHtmlLink":"Merge \"Expand comment on std::string operator+\" into main"}},{"before":"d75df91f74b6819f674f0733143fdf32580af183","after":"02eb07cfd539c34c080cb1baf042e5e780c1fcc2","ref":"refs/heads/main","pushedAt":"2024-09-01T22:06:53.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge changes I5566a985,I88cf53d3 into main\n\n* changes:\n Support relative and `~/` paths in config settings\n Thread `ApplyConfigOptions` through config parsing","shortMessageHtmlLink":"Merge changes I5566a985,I88cf53d3 into main"}},{"before":"e55ec75619b775bf0f5dd60e3da8de9bc8235f68","after":"d75df91f74b6819f674f0733143fdf32580af183","ref":"refs/heads/main","pushedAt":"2024-08-31T00:07:19.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"libstore: add build result to Goal::Finished\n\nit just makes sense to have it too, rather than just the pass/fail\ninformation we keep so far. once we turn goals into something more\npromise-shaped it'll also help detangle the current data flow mess\n\nChange-Id: I915cf04d177cad849ea7a5833215d795326f1946","shortMessageHtmlLink":"libstore: add build result to Goal::Finished"}},{"before":"869666cb651f97cdce3a6aabf62073bfe1130cbb","after":"e55ec75619b775bf0f5dd60e3da8de9bc8235f68","ref":"refs/heads/main","pushedAt":"2024-08-30T11:35:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"libstore: print dependency errors from DerivationGoal\n\nthis is not ideal, but it's better than having this stuck in the worker\nloop itself. setting ex on all failing goals is not problematic because\nonly toplevel goals can ever be observable, all the others are ignored.\nnotably only derivation goals ever set `ex`, substitution goals do not.\n\nChange-Id: I02e2164487b2955df053fef3c8e774d557aa638a","shortMessageHtmlLink":"libstore: print dependency errors from DerivationGoal"}},{"before":"a5c1e73fa8e004a93e37254a3582ba91048c4550","after":"869666cb651f97cdce3a6aabf62073bfe1130cbb","ref":"refs/heads/main","pushedAt":"2024-08-30T10:41:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"libstore: hide Worker goal factory methods\n\nthis doesn't serve a great purpose yet except to confine construction of\ngoals to the stack frame of Worker::run() and its child frames. we don't\nneed this yet (and the goal constructors remain fully visible), but in a\nfuture change that fully removes the current worker loop we'll need some\nway of knowing which goals are top-level goals without passing the goals\nthemselves around. once that's possible we can remove visible goals as a\nconcept and rely on build result futures and a scheduler built upon them\n\nChange-Id: Ia73cdeffcfb9ba1ce9d69b702dc0bc637a4c4ce6","shortMessageHtmlLink":"libstore: hide Worker goal factory methods"}},{"before":"bb161a96cf1171a5c4ed3661a0f2f5a93ac10804","after":"a5c1e73fa8e004a93e37254a3582ba91048c4550","ref":"refs/heads/main","pushedAt":"2024-08-30T10:37:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"libstore: add \"is dependency\" info to goal\n\nwhether goal errors are reported via the `ex` member or just printed to\nthe log depends on whether the goal is a toplevel goal or a dependency.\nif goals are aware of this themselves we can move error printing out of\nthe worker loop, and since a running worker can only be used by running\ngoals it's totally sufficient to keep a `Worker::running` flag for this\n\nChange-Id: I6b5cbe6eccee1afa5fde80653c4b968554ddd16f","shortMessageHtmlLink":"libstore: add \"is dependency\" info to goal"}},{"before":"a510d1748416ff29b1ed3cab92ac0ad943b6e590","after":"bb161a96cf1171a5c4ed3661a0f2f5a93ac10804","ref":"refs/heads/main","pushedAt":"2024-08-30T02:20:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"manual: note that __sandboxProfile allows bypassing the darwin sandbox\n\n(but only if it is set to relaxed. no security hole here.)\n\nThanks to lilyball for pointing out this omission in the docs.\n\nChange-Id: I2408a943bfe817fe660fe1c8fefef898aaf5f7e9","shortMessageHtmlLink":"manual: note that __sandboxProfile allows bypassing the darwin sandbox"}},{"before":"422550fd68a5877534b1ca577fc3c7d89b6706dd","after":"a510d1748416ff29b1ed3cab92ac0ad943b6e590","ref":"refs/heads/main","pushedAt":"2024-08-29T01:38:51.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"build-time: hide boost stacktrace in a .cc file\n\nSaves about 16s of CPU time. Not a lot but not nothing. Feels more like\nthe principle of the thing.\n\nChange-Id: I0992d4024317c20d6985a7977d5649edfb9f46bb","shortMessageHtmlLink":"build-time: hide boost stacktrace in a .cc file"}},{"before":"5d31e889d7f3310cb030e85adcfd3ce64846457d","after":"422550fd68a5877534b1ca577fc3c7d89b6706dd","ref":"refs/heads/main","pushedAt":"2024-08-28T16:43:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"libstore: remove static initializers for Store registrations\" into main","shortMessageHtmlLink":"Merge \"libstore: remove static initializers for Store registrations\" …"}},{"before":"0dc486a5bf218870aafd5552586ab4330881647e","after":"5d31e889d7f3310cb030e85adcfd3ce64846457d","ref":"refs/heads/main","pushedAt":"2024-08-28T03:40:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lf-","name":"jade","path":"/lf-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6652840?s=80&v=4"},"commit":{"message":"Merge \"treewide: fix a bunch of lints\" into main","shortMessageHtmlLink":"Merge \"treewide: fix a bunch of lints\" into main"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQwNzo1NTozMi4wMDAwMDBazwAAAAS8mW4K","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yOFQwMzo0MDo0NC4wMDAwMDBazwAAAASmB_wo"}},"title":"Activity · lix-project/lix"}