legit

Fork of https://git.icyphox.sh/legit

Commits at 4398441958feb944ae91924ee87b1dbf96993526

  1. 43984419 Remove unused EditorConfig rule Shota FUJI authored at Shota FUJI comitted at
  2. e869ba63 Delete GitHub Actions workflow file Shota FUJI authored at Shota FUJI comitted at
  3. b92f7c89 Add relative time to commit timestamps' tooltip At first I tried to put these datetime formatting code into preferences file. But it didn't work well due to increased load time = content flashing. Shota FUJI authored at Shota FUJI comitted at
  4. 4059aa1e Override <select> UA styles Chromium (Linux) uses insanely low-contrast colors on dark mode. Shota FUJI authored at Shota FUJI comitted at
  5. 66cdbc5a Workaround degraded UX due to BFCache BFCache is the worst thing happened in the web. The technology itself is not bad, but how it's introduced (or who introduced) was the problem. A company that tries to advertise their hardware, or accurately say, deceive their hardware's customer to them believing their hardware is faster than competitors, started deplying BFCache widely to their browser that is only available one on the hardware. Because the intention, and there is no spec for back/forward behavior, they introduced the behavior to existing web pages without opt-out mechanism. Their defence is "this is good for users, and only situation this is not desirable is navigation after logout", which is completely bullshit. Client-side apps relies on established "script reload on navigation" were broken and had to add workaround or adapt to this breaking change. They didn't care as their goal is to create software monopoly using their proprietry app store, and web apps are "competitor" to those motherfuckers' products. I could have set "Cache-Control: no-store" but decided to "adapt" BFCache because: * disabling BFCache by using that header is side-effect, so "primary effect" takes place (I have a plan for cache design and this is not a good time to introduce the change) * those mfs can change heuristic or break web by another method, and this is more future-proof. Avoiding (fighting against) the cache is a hack, unfortunately. * whether showing cached content is good in this software is debatable, but considering there is no cache design yet, supporting BFCache is better than the prior state. The new code has consistent code style albeit little bit inefficient on storage access. I believe future changes naturally will follow this pattern and will put "sync" code into "pageshow" handler. Shota FUJI authored at Shota FUJI comitted at
  6. 22ff30a7 Add preferences for file tree The default is wasteful for my taste. Shota FUJI authored at Shota FUJI comitted at
  7. 9593ebb6 Add theme color preferences (JS) I hate the default blue convention. Shota FUJI authored at Shota FUJI comitted at
  8. f9ad53cb Move tab width selector into preferences dialog I'm going to add other options as well. Shota FUJI authored at Shota FUJI comitted at
  9. 99fddaf4 Set "color-scheme" HTML meta tag So UA applies their dark styles for unstyled elements. After this patch, tab width selector will use dark theme style provided by UA in dark mode. Shota FUJI authored at Shota FUJI comitted at
  10. 484117da Add CLI flags for development config fields These config fields are for developing legit itself. Changing config file in worktree then reverting that before commit is error-prone. Shota FUJI authored at Shota FUJI comitted at
  11. 95a55864 Refactor routes module file structure It was difficult to find a file containing what I want to edit. Shota FUJI authored at Shota FUJI comitted at
  12. b90b105e Hide public functions not used outside routes module I was, and still occasionally am, confused by those. Shota FUJI authored at Shota FUJI comitted at
  13. 48a8e602 Rename routes.Handlers to routes.Handler *http.ServeMux implements http.Handler interface. It does not expose multiple handlers. Shota FUJI authored at Shota FUJI comitted at
  14. f483e5f0 Remove module version constraint for go-diff I could not find why it's there. Removing it did not cause panic or visible changes on diff view so I assume the bug or whatever was fixed. Shota FUJI authored at Shota FUJI comitted at
  15. 8640d6af Profiling pages (debug build only) To optimize this software more, I need profilier to see which part is taking a time. Shota FUJI authored at Shota FUJI comitted at
  16. 479a7de1 Don't output relative datetime in repo list HTML The initial motivation is to minimize third-party dependencies. However, this turned out to be more than that: * this makes the repo list page pure (repos state => HTML) so the page is now able to be cached. * allows future customization for displaying locale. Shota FUJI authored at Shota FUJI comitted at
  17. 113da4a6 Fix git operation fails in OCI image Because "git" is not in scratch image. This increases image size from 30MB-ish to 125MB, but better than broken one? As go-git v6 is still alpha, including git binary inside a container is the only solution for now. https://tangled.org/pocka.jp/legit/issues/16 Shota FUJI authored at Shota FUJI comitted at
  18. 285c1c48 Add CHANGELOG.md Shota FUJI authored at Shota FUJI comitted at
  19. 01ad54e3 Fix clone / fetch error on Nix built binary https://github.com/NixOS/nixpkgs/issues/443125 Shota FUJI authored at Shota FUJI comitted at
  20. 079fdc12 Add directory access allowlist build flag for unveil/Landlock git binary usually links against system libraries. However the paths of system libraries varys by operating system / distribution. This flag is intended to used by system admin (build from source) and distributor. I did not test unveil, so whether OpenBSD user needs to reach for this flag is unknown. Shota FUJI authored at Shota FUJI comitted at
  21. dcb65989 Fix exec error on git protocol endpoints Shota FUJI authored at Shota FUJI comitted at
  22. 9a21725e Add debug devShell Shota FUJI authored at Shota FUJI comitted at
  23. 3693a076 Move test server code under nix/ directory Shota FUJI authored at Shota FUJI comitted at
  24. 8c025321 Move podman devShell code under nix/ directory Shota FUJI authored at Shota FUJI comitted at
  25. 5f23dbd2 NixOS / Home Manager modules And a NixOS configuration for testing. Flake is way better than manual overlay or upstreaming. Shota FUJI authored at Shota FUJI comitted at
  26. c4c4aa0b Extract main package derivation to dedicated Nix file For readability. Having "default.nix" lets viewers know how to build the package and/or what the package is made of. Shota FUJI authored at Shota FUJI comitted at
  27. ee1ea99b Configure podman devShell Dockerfile has been there under contrib/ directory but is unmaintained (as expected for "contrib" objects.) Since this project (both original and this fork) is pure Go project without CGO, writing Dockerfile must be easy so I wrote it. The "podman" devShell is tested on NixOS. I don't know / care if it works on other platforms. I once set up dprint-dockerfile but abandoned it. The plugin is not in a quality I saw in other dprint official plugins. Almost zero config knobs, "fixing" inner-comment text's indentation, unwrapping multiline JSON array (CMD), etc. Shota FUJI authored at Shota FUJI comitted at
  28. 23788d5e Add dprint to nix apps Shota FUJI authored at Shota FUJI comitted at
  29. 5647b44c Make config file optional It's for OCI container. The essential config keys are now able to be populated via CLI flags. Shota FUJI authored at Shota FUJI comitted at
  30. 196f7e5d Allow omitting "server.name" option To make config file optional. Shota FUJI authored at Shota FUJI comitted at