{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":404719494,"defaultBranch":"master","name":"nsxiv","ownerLogin":"nsxiv","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-09-09T12:48:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/90395597?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1696160169.0","currentOid":""},"activityList":{"items":[{"before":"437e060021ccabf9d5c95068c7c52218b92359e1","after":"a581cd6344717551c9bacae58809d83ae6979220","ref":"refs/heads/master","pushedAt":"2024-04-29T17:51:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"fix: image placement when rotating (#493)\n\nWhen rotating a partially shown image (i.e. image size * zoom >\nwindow size) the image is panned to top or left (if `win->w` or\n`win->h` is greatest, respectively). Seems to be due to\nunsignedness of `win->[wh]`, when taking the difference between\nthem in `img_rotate` either `img->[xy]` ends up being close to\n`UINT_MAX` and the image is panned to top or left edge.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/493\nReviewed-by: NRK \nCo-authored-by: e5150 \nCo-committed-by: e5150 ","shortMessageHtmlLink":"fix: image placement when rotating (#493)"}},{"before":"6cc1225fef0eb74ecb651f72ea22921f3daecece","after":"437e060021ccabf9d5c95068c7c52218b92359e1","ref":"refs/heads/master","pushedAt":"2024-02-17T08:16:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"document Xresources application namespace explicitly (#488)\n\nA decent amount of users have been confused by this.\nSo make it more explicit to avoid confusion.\n\nCo-authored-by: NRK \nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/488\nReviewed-by: NRK \nCo-authored-by: fxdn \nCo-committed-by: fxdn ","shortMessageHtmlLink":"document Xresources application namespace explicitly (#488)"}},{"before":"bed596bf47a1571639aa1427dbdd57f00ed0503e","after":"6cc1225fef0eb74ecb651f72ea22921f3daecece","ref":"refs/heads/master","pushedAt":"2024-02-13T02:36:22.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"free cache_tmpfile in tns_free (#485)\n\ndoesn't really matter since the process is about to exit\nanyways, but makes it consistent with everything else.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/485","shortMessageHtmlLink":"free cache_tmpfile in tns_free (#485)"}},{"before":"a9e13042d4e3398123cf9c3335d03fa462a45764","after":"bed596bf47a1571639aa1427dbdd57f00ed0503e","ref":"refs/heads/master","pushedAt":"2023-11-15T08:09:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"move key-handler prompts to the right bar (#481)\n\nthis makes it more consistent with e4fceab by moving the key-handler\nrelated messages to the right side as well.\n\nadditionally this fixes a regression introduced by 3659361 where the\nleft statusbar would remain at \"Running key-handler...\" if the image\ndidn't change.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/481\nReviewed-by: eylles ","shortMessageHtmlLink":"move key-handler prompts to the right bar (#481)"}},{"before":"3659361e76c5c994bee3467787c00e89780cccbc","after":"a9e13042d4e3398123cf9c3335d03fa462a45764","ref":"refs/heads/master","pushedAt":"2023-10-01T11:36:09.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"Release version 32","shortMessageHtmlLink":"Release version 32"}},{"before":"80a71315de2bec9924f2e06a825d4400f2b5a4f8","after":"3659361e76c5c994bee3467787c00e89780cccbc","ref":"refs/heads/master","pushedAt":"2023-09-30T09:08:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"centralize script handling logic (#477)\n\ncurrently the logic of when to open/close script is scattered around the\nentire code-base which is both ugly and error-prone.\n\nthis patch centralizes script handling by remembering the relevant\ninformation on each redraw and then comparing it with the previous\ninformation to figure out whether something changed or not.\n\nthis also fixes a bug where scripts weren't being called in thumbnail\nmode when mouse was used for selecting a different image.\n\nCloses: https://codeberg.org/nsxiv/nsxiv/issues/475\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/477\nReviewed-by: eylles ","shortMessageHtmlLink":"centralize script handling logic (#477)"}},{"before":"d19924f288f049228dfc691ccdf13721be3c98f9","after":"80a71315de2bec9924f2e06a825d4400f2b5a4f8","ref":"refs/heads/master","pushedAt":"2023-09-21T00:42:28.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"fix: re-loading stale multi-frame images\n\n4b67816 only partially fixed this issue. because imlib2's cache may not\nhave sub-second granularity, there still exists a time-frame while the\n`mtime` has not yet been updated but we might be trying to reload the\nimage due to receiving an inotify event in which case imlib2 will end up\ngiving us the old frame.\n\nimlib2 v1.12.0 adds a function that allows us to decache any frames\nassociated with a filename. this allows us to invalidate the cache\nmanually instead of relying on `mtime`.\n\nbut if that's not available due to older imlib2, then forcefully reload\nthe raw frames and decache them. this has the unfortunate cost that if\n`mtime` *was* updated properly then we'll end up loading that image\ntwice.\n\nfixes: https://codeberg.org/nsxiv/nsxiv/issues/456","shortMessageHtmlLink":"fix: re-loading stale multi-frame images"}},{"before":"10a6228538a58bf40995cb7d57d47ef6ca93767d","after":"d19924f288f049228dfc691ccdf13721be3c98f9","ref":"refs/heads/master","pushedAt":"2023-09-20T16:12:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"various README nits (#470)\n\ndon't capitalize \"berg\" in \"Codeberg\" spelling. Codeberg's official\nsites does not seem to do so.\n\nswitch from \"GPLv2\" to \"GPL-2.0-or-later\" according to the spdx short\nidentifier: https://spdx.org/licenses/GPL-2.0-or-later.html\n\nexplicitly mention that Imlib2 needs to be built with X11 support.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/470\nReviewed-by: explosion-mental ","shortMessageHtmlLink":"various README nits (#470)"}},{"before":"112ba3a2fc934113c37e0ad274eaeea13d8c3359","after":"10a6228538a58bf40995cb7d57d47ef6ca93767d","ref":"refs/heads/master","pushedAt":"2023-08-29T16:18:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"set autoreload timeout based on the latest event (#459)\n\ncurrently the autoreload feature of nsxiv is a bit unreliable because we\ntry to load at the very first event we received. however, the writer\nmight not be done writing and so we might try to load a truncated image\n(and fail).\n\nin the following ascii diagram, function S represents sleep and `+` sign\nrepresents writes by the writer. because we set the sleep (of 10ms) at\nthe first event, subsequent writes by the writer doesn't influence our\nreload logic:\n\n S(10) load()\nnsxiv | |\nwriter + + + + (done)\ntime(ms): 00 05 10 15\n\nafter this patch, (assuming function T (re)sets a timeout), we will keep\n(re)setting a timeout on new events giving the writer more time to\nfinish:\n\n T(10) T(10) T(10) T(10) load()\nnsxiv | | | | |\nwriter + + + + (done)\ntime(ms): 00 05 10 15 20 25\n\nwhile this patch makes things significantly more robust, the problem\nhere is inherently unsolvable since there's no way to tell whether the\nwriter is done writing or not.\n\nfor example, if user does something like `curl 'some.png' > test.png`\nthen curl might stop for a second or two in the middle of writing due to\ninternet issues - which will make nsxiv drop the image.\n\nthis patch also increases the autoreload delay from 10ms to now 128ms\ninstead to decrease chances of false failures.\n\nref: https://github.com/0ion9/sxiv/commit/6ae2df6ed549c2cc119bd7d235b75154fc042d2d\npartially-fixes: https://codeberg.org/nsxiv/nsxiv/issues/456\ncommit-message-by: NRK\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/459\nReviewed-by: eylles ","shortMessageHtmlLink":"set autoreload timeout based on the latest event (#459)"}},{"before":"c1b36b8f0942a8ec34f97f28c8c77c84adf0c2c4","after":"112ba3a2fc934113c37e0ad274eaeea13d8c3359","ref":"refs/heads/master","pushedAt":"2023-07-16T19:03:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"config.mk: do not explicitly set CC (#455)\n\n1. `c99` doesn't exist on openbsd\n2. `c99` behaves weirdly on macos (doesn't support -Wall)\n\nsince make will already set CC (required by POSIX if the implementation\nsupports C, see `man 1p make`) to something appropriate (or it might be\nset in the environment) go ahead and remove explicitly setting it on our\nend.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/455\nReviewed-by: TAAPArthur ","shortMessageHtmlLink":"config.mk: do not explicitly set CC (#455)"}},{"before":"bfab3a76a420eada64d8fcddea7f5ead4819408f","after":"c1b36b8f0942a8ec34f97f28c8c77c84adf0c2c4","ref":"refs/heads/master","pushedAt":"2023-07-08T14:23:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"add some upgrade comments (#457)\n\nthese document improvements and/or removal of unnecessary code for when\nwe will require a higher minimum version of Imlib2.\n\nall the comments have been prefixed with \"UPGRADE: \" for easy grepping.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/457\nReviewed-by: explosion-mental ","shortMessageHtmlLink":"add some upgrade comments (#457)"}},{"before":"6185bcb441ac6c2f5c1e94c5f15e9dd678418e56","after":"bfab3a76a420eada64d8fcddea7f5ead4819408f","ref":"refs/heads/master","pushedAt":"2023-06-29T23:42:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"config.mk: update openbsd configuration (#453)\n\nbased on the openbsd port:\nhttps://github.com/openbsd/ports/blob/cf3cdaf09214bf85907dc9147bab7da77e0281d8/graphics/nsxiv/Makefile\n\nTested-by: Seninha\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/453","shortMessageHtmlLink":"config.mk: update openbsd configuration (#453)"}},{"before":"28018e92d3e2fa47d58a216bab489cbd81d8e974","after":"6185bcb441ac6c2f5c1e94c5f15e9dd678418e56","ref":"refs/heads/master","pushedAt":"2023-06-29T23:39:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"config.h: allow all values to be NULL\n\nmight as well make things consistent instead of having certain values\nthat can be NULL and certain that cannot.\n\nsome of the default values are still kept in config.h for example\nreasons.","shortMessageHtmlLink":"config.h: allow all values to be NULL"}},{"before":"c03ec39437b473526080f496d6c8564e98bea1d7","after":"28018e92d3e2fa47d58a216bab489cbd81d8e974","ref":"refs/heads/master","pushedAt":"2023-06-26T23:23:08.838Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"CI: misc cleanups + faster analysis (#449)\n\n* switch to git ls-files to avoid picking up any other local .c files\n* enable assertions during static analysis since we used some assertions to\n disable/silence certain warnings.\n* update TCC commit hash to a more recent one\n* parallelize static analysis\n\ncppcheck already has -j argument to parallelize it's analysis and\nprovide results faster, clang-tidy unfortunately doesn't.\n\nso use xargs -P to archive parallel execution. on my system this brings\ndown the analysis time from ~27s to ~5s.","shortMessageHtmlLink":"CI: misc cleanups + faster analysis (#449)"}},{"before":"40480596cad8654dca225e7fb136f4151f5df5c0","after":"c03ec39437b473526080f496d6c8564e98bea1d7","ref":"refs/heads/master","pushedAt":"2023-05-28T10:39:25.764Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"update documentation (#448)\n\nthe fedora copr repo is no longer being updated since the maintainer of\nit, mamg22, no longer uses nsxiv in his daily setup (and thus stopped\ncontributing to nsxiv as well).\n\nhe has requested the repo and his email to be removed from the project.\nso go ahead and honor that request.\n\nalso take this as an opportunity to remove some long inactive\nmaintainers from the CURRENT MAINTAINERS section of the manpage.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/448\nReviewed-by: explosion-mental ","shortMessageHtmlLink":"update documentation (#448)"}},{"before":"0e1bc3c045384bca18922accbc50fa6914a67bd0","after":"40480596cad8654dca225e7fb136f4151f5df5c0","ref":"refs/heads/master","pushedAt":"2023-05-27T12:53:09.591Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"make assertions opt-in (#447)\n\nslight addendum to 657080a7e55843e351fa6ce41e4ce315eab62b67\n\ninstead of disabling asserts by adding -DNDEBUG to config.mk, this\ndisables asserts by default in the source code itself. this way, if\nsomeone compiles with `make CFLAGS=\"-O3 -march=native\"` without knowing\nabout asserts/-DNDEBUG then he won't accidentally get a build with\nassertions in it.\n\nthis basically makes the assertions opt-in, if someone wants it, he'll\nneed to *explicitly* set `-DDEBUG` to get it. so that it's not possible\nto accidentally end up with assertions enabled.\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/447\nReviewed-by: TAAPArthur ","shortMessageHtmlLink":"make assertions opt-in (#447)"}},{"before":"824b2cb8858b19ace3e26a0f54cf9dd740be9b59","after":"0e1bc3c045384bca18922accbc50fa6914a67bd0","ref":"refs/heads/master","pushedAt":"2023-05-23T19:21:30.260Z","pushType":"push","commitsCount":2,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"set a default delay if delay is 0 (#445)\n\ngif spec [0] doesn't mention what to do when \"Delay Time\" is 0.\n\napng spec [1] states:\n\n| If the the value of the numerator is 0 the decoder should render the\n| next frame as quickly as possible, though viewers may impose a\n| reasonable lower bound.\n\nwebp spec [2]:\n\n| the interpretation of frame duration of 0 (and often <= 10) is\n| implementation defined.\n\nso it seems that it's safe to set a default delay for 0 delay frames,\nwhich is what the older gif and webp loaders were already doing. do the\nsame for the imlib2 multi-frame loader as well.\n\n[0]: https://www.w3.org/Graphics/GIF/spec-gif89a.txt\n[1]: https://wiki.mozilla.org/APNG_Specification\n[2]: https://developers.google.com/speed/webp/docs/riff_container#animation\n\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/445\nReviewed-by: eylles ","shortMessageHtmlLink":"set a default delay if delay is 0 (#445)"}},{"before":"733916ad70b5b2d92e7adfecdf53a74dd4617b74","after":"824b2cb8858b19ace3e26a0f54cf9dd740be9b59","ref":"refs/heads/master","pushedAt":"2023-05-19T13:34:58.706Z","pushType":"push","commitsCount":6,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"fix: memory leak in `win_draw_bar` (#444)\n\nCloses: https://codeberg.org/nsxiv/nsxiv/issues/410\nCo-authored-by: blk_750 \nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/444\nReviewed-by: NRK \nCo-authored-by: blk_750 \nCo-committed-by: blk_750 ","shortMessageHtmlLink":"fix: memory leak in win_draw_bar (#444)"}},{"before":"54bfc5db042960a196e8aa291971160d36bd80f2","after":"733916ad70b5b2d92e7adfecdf53a74dd4617b74","ref":"refs/heads/master","pushedAt":"2023-04-14T20:19:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"add a pick quit keybind (#432)\n\nThe last time[0] this was discussed, no-one was against it but no-one\nwas confident in it either and so it was added to nsxiv-extra as a\npatch.\n\nBut now that enough time has passed, it seems like there's a pretty high\ndemand for something like this because there's plenty of use-cases that\nuse nsxiv as a \"picker\" where it's meant to quickly pick a single file.\n\nAnd so add this as a convenient default key-bind.\n\n[0]: https://codeberg.org/nsxiv/nsxiv-record/pulls/42\n\nCo-authored-by: eylles \nCo-authored-by: NRK \nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/432\nReviewed-by: NRK \nCo-authored-by: eylles \nCo-committed-by: eylles ","shortMessageHtmlLink":"add a pick quit keybind (#432)"}},{"before":"157646f54cd010c8c884998319954006260f960e","after":"54bfc5db042960a196e8aa291971160d36bd80f2","ref":"refs/heads/master","pushedAt":"2023-04-08T20:59:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"fix a typpo in CHANGELOG.md","shortMessageHtmlLink":"fix a typpo in CHANGELOG.md"}},{"before":"19b47192f21939b46a8f46d131c31f138aaa3b33","after":"157646f54cd010c8c884998319954006260f960e","ref":"refs/heads/master","pushedAt":"2023-03-14T00:40:57.823Z","pushType":"push","commitsCount":4,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"etc changes related to code-style docs\n\n* Add a \"Code Style\" section in CONTRIBUTING\n* Move .clang-format to etc/\n* Add a short comment on clang-format and editorconfig file","shortMessageHtmlLink":"etc changes related to code-style docs"}},{"before":"8f0322c2e33cd39208bd2693fde968ba47a93e6e","after":"19b47192f21939b46a8f46d131c31f138aaa3b33","ref":"refs/heads/master","pushedAt":"2023-03-10T17:35:46.310Z","pushType":"push","commitsCount":1,"pusher":{"login":"N-R-K","name":"NRK","path":"/N-R-K","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79544946?s=80&v=4"},"commit":{"message":"fix: thumbnail leak when removing the last file (#423)\n\nbf6c062 tried to fixed the thumbnail leak, but it was done inside a\n`if (n+1 < filecnt)` branch, meaning the thumbnail was still leaking\naway whenever the last file was removed.\n\nwe need to unload the thumb regardless of whether it's in the middle or\nnot. this bug was caught due to the recent `assert`s that were added in\n01f3cf2.\n\nCloses: https://codeberg.org/nsxiv/nsxiv/issues/422\nReviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/423\nReviewed-by: eylles \nReviewed-by: explosion-mental ","shortMessageHtmlLink":"fix: thumbnail leak when removing the last file (#423)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPT8ougA","startCursor":null,"endCursor":null}},"title":"Activity ยท nsxiv/nsxiv"}