{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":48275928,"defaultBranch":"master","name":"lektor","ownerLogin":"lektor","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-12-19T09:18:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/15876349?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1709068335.0","currentOid":""},"activityList":{"items":[{"before":"12647b45e8de53f84e40c08e41778959c3244370","after":"7a1f6b1130aefcb62e9ba8314c8d300e93b18fe8","ref":"refs/heads/master","pushedAt":"2024-02-27T18:53:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Release 3.4.0b11","shortMessageHtmlLink":"Release 3.4.0b11"}},{"before":"e4ced420621ea5a7827c64019fef55b3db3fdb6c","after":"495b3f48feb1c1d9f43a7059473a55b404a1435a","ref":"refs/heads/3.3-maintenance","pushedAt":"2024-02-27T18:51:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Release 3.3.11","shortMessageHtmlLink":"Release 3.3.11"}},{"before":"7393d87bd354e43120937789956175064e4610a0","after":"12647b45e8de53f84e40c08e41778959c3244370","ref":"refs/heads/master","pushedAt":"2024-02-27T18:40:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Better API parameter validation (#1181)\n\n* test: new record creation confined to `content` tree\r\n\r\n* fix: enforce canonical db path","shortMessageHtmlLink":"Better API parameter validation (#1181)"}},{"before":"4b5731226f5e2a3f70ecf258d6718e99a962921c","after":"7393d87bd354e43120937789956175064e4610a0","ref":"refs/heads/master","pushedAt":"2024-02-27T18:40:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Sanitize DB path traversal (#1179)\n\n* test: check that make_editor_session rejects funky paths\r\n\r\n* fix: validate path in make_editor_session\r\n\r\n* test: check that untrusted_to_os_path prevents traversal to parent\r\n\r\n* fix[untrusted_to_os_path]: prevent traversal to parent directories","shortMessageHtmlLink":"Sanitize DB path traversal (#1179)"}},{"before":"45e97471d43b98cda4d91f7916533bab11cdf90f","after":"e4ced420621ea5a7827c64019fef55b3db3fdb6c","ref":"refs/heads/3.3-maintenance","pushedAt":"2024-02-27T18:39:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Release 3.3.11","shortMessageHtmlLink":"Release 3.3.11"}},{"before":"aef3c9047655e00ff65362762cfcfffd44404687","after":"45e97471d43b98cda4d91f7916533bab11cdf90f","ref":"refs/heads/3.3-maintenance","pushedAt":"2024-02-27T18:27:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Better API parameter validation (3.3 branch) (#1182)\n\n* test: new record creation confined to `content` tree\r\n\r\n* fix: better validation of API parameters","shortMessageHtmlLink":"Better API parameter validation (3.3 branch) (#1182)"}},{"before":"7a47360505fb7b4791fac83f3fea615c2323b077","after":"aef3c9047655e00ff65362762cfcfffd44404687","ref":"refs/heads/3.3-maintenance","pushedAt":"2024-02-27T18:27:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Sanitize DB path traversal (3.3 branch) (#1180)\n\n* test: check that make_editor_session rejects funky paths\r\n\r\n* fix: validate path in make_editor_session\r\n\r\n* test: check that untrusted_to_os_path prevents traversal to parent\r\n\r\n* fix[untrusted_to_os_path]: prevent traversal to parent directories","shortMessageHtmlLink":"Sanitize DB path traversal (3.3 branch) (#1180)"}},{"before":"cbf593618ab69af51c7cefb533c002452ac5e653","after":"4b5731226f5e2a3f70ecf258d6718e99a962921c","ref":"refs/heads/master","pushedAt":"2024-01-08T05:07:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Release 3.4.0b10","shortMessageHtmlLink":"Release 3.4.0b10"}},{"before":"00ff6b4f583f629c71dd2dc05e4f2bd4b2f546b2","after":"cbf593618ab69af51c7cefb533c002452ac5e653","ref":"refs/heads/master","pushedAt":"2024-01-07T22:16:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"chore: update CHANGES.md","shortMessageHtmlLink":"chore: update CHANGES.md"}},{"before":"81d8e31c5aeee8ef7e8ffed55e5b2a6ba2977c41","after":"00ff6b4f583f629c71dd2dc05e4f2bd4b2f546b2","ref":"refs/heads/master","pushedAt":"2023-12-30T19:40:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"},"commit":{"message":"fix(_inject_tooldrawer): fix \"bad escape \\u\"\n\nWe were using re.sub() to inject the tooldrawer HTML. Re.sub treats\nbackslashes in the replacement string specially. When the injected\nHTML includes a backslash (e.g. in JSON string data), this was\nresulting in a \"bad escape \\u\" exception.","shortMessageHtmlLink":"fix(_inject_tooldrawer): fix \"bad escape \\u\""}},{"before":"1255d0fbbeac93a490067f83a5f82346a0a043cb","after":"81d8e31c5aeee8ef7e8ffed55e5b2a6ba2977c41","ref":"refs/heads/master","pushedAt":"2023-11-12T17:22:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Release 3.4.0b9","shortMessageHtmlLink":"Release 3.4.0b9"}},{"before":"beee7e021948cfe5b25773316ade0927ce8cef0a","after":"1255d0fbbeac93a490067f83a5f82346a0a043cb","ref":"refs/heads/master","pushedAt":"2023-11-12T16:59:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"feat: tool drawer for edit and live-reload buttons (#1164)\n\n* feat: tool drawer for edit and live-reload buttons\r\n\r\nThis replaces the *edit pencil* on HTML artifacts served by the admin\r\nserver with \"tool drawer\".\r\n\r\nThe tool drawer contains an edit button (which takes the place of the\r\nedit pencil), as well as a toggle button that can be used to disable\r\nlive-reload (see #1027) for the window.\r\n\r\nIf the tool drawer is obscuring part of the HTML page that one would\r\nlike to look at or click on, the drawer may be dragged vertically\r\nto reposition it. It may also be (mostly) hidden off screen to\r\nminimize its visual impact.\r\n\r\n* feat(admin gui): use link for \"Return to Website\" button\r\n\r\nUsing a real link (``) instead of a button with onclick\r\nhandler allows the user to, e.g., open a new window with a\r\nlive-preview by middle or right clicking on the button.\r\n\r\nAnyway, since the \"button\" leads to a new URL outside of the admin\r\napp, it's the right thing to do. E.g. see\r\nhttps://css-tricks.com/buttons-vs-links/.\r\n\r\n* perf: do not use React's StrictMode in production\r\n\r\nStrict mode causes everything to be rendered twice. (I noticed this\r\nbecause GlobalActions was firing off two request for /previewinfo for\r\nevery page change.) This is not particularly efficient, and is\r\nprobably not appropriate for the production build.\r\n\r\n* revert: remove --no-reload cli option\r\n\r\nThe `--no-reload` option was add in PR #1027 (c38596a0). It disables\r\nthe live-reload feature globally. Since this PR adds the ability to\r\ndisable live-reload on a per-window basis, the global option no longer\r\nseems necessary.","shortMessageHtmlLink":"feat: tool drawer for edit and live-reload buttons (#1164)"}},{"before":"96a7238c517e2af85974305070cc038d4f1ba82e","after":"beee7e021948cfe5b25773316ade0927ce8cef0a","ref":"refs/heads/master","pushedAt":"2023-11-07T20:38:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Refactor: Use Pillow for image info (#1138)\n\n* refactor(imagetools): refactor get_image_info to use Pillow\r\n\r\nUse Pillow to determine image format and dimensions rather than our\r\nown home-rolled code.\r\n\r\n* fix: support Pillow<7\r\n\r\n* refactor(imagetools): use Pillow to access EXIF tags\r\n\r\n* fix: compatibility with older versions of Pillow\r\n\r\n* tests(imagetools): type annotations\r\n\r\n* fix: do not transpose PNGs based on Exif Orientation\r\n\r\n* refactor(imagetools): deprecate passing file object to get_image_info\r\n\r\n* refactor(Video): use cached_property\r\n\r\n* fix(imagetools): always convert image to RGB before scaling\r\n\r\n* refactor(imagetools)!: remove deprecated methods of ThumbnailMode\r\n\r\nRemove deprecated property `ThumbnailMode.label` and classmethod\r\n`ThumbnailMode.from_label`.\r\n\r\n* refactor: split imagetools from module to package\r\n\r\n* fix(b/c): re-export `compute_dimensions` and `get_quality`\r\n\r\nThe following plugins appears to use internal bits of\r\n`lektor.imagetools`:\r\n\r\n- https://github.com/numericube/lektor-minification/\r\n- https://github.com/chaos-bodensee/lektor-image-resize/\r\n- https://github.com/skorokithakis/lektor-thumbnail-generator/\r\n\r\nFrom a perusal of their code, it appears that they'll all be\r\nbroken by recent Lektor code changes having to do with moving\r\nfrom ImageMagick to Pillow.\r\n\r\nThis doesn't completely address the issues for those plugins,\r\nbut, for the sake of backward-compatibility, here we:\r\n\r\n- re-export `lektor.imagetools.compute_dimensions` (which was moved to\r\n `lektor.imagetools.thumbnail`).\r\n\r\n- re-implement and deprecated `lektor.imagetools.get_quality`\r\n\r\n* docs(imagetools): update comments\r\n\r\n* tests(imagetools): use real Context in tests\r\n\r\nInstead of a Mock, use a real lektor.context.Context in the image\r\ntests.\r\n\r\n* test(imagetools): add thumbnail dependency race-condition test\r\n\r\n* fix(test): fix test for pillow 10.0.0\r\n\r\nI'm not sure why this test ever worked. Different versions of convert\r\nfrom color strings to HSV values differently.\r\n\r\n* refactor(imagetools): clean up get_svg_info\r\n\r\n- rename to `_get_svg_info` to emphasize it is internal\r\n- raise exception rather than returning \"unknown\" if SVG is unparseable\r\n- rewind file after _get_svg_info call\r\n\r\n* fix(bitrot): use PIL.Image.Transpose int enum\r\n\r\nPillow >= 9.1 moves many of the constants that were in the top-level\r\nof the PIL.Image module into IntEnums within the module. But then it\r\nre-exports the enum members to the module programmatically.\r\nSomething has changed recently (I'm not sure whether on the Pillow\r\nside or the pylint side) to make pylint throw `no-member` warnings\r\nwhen these are accessed as module-level attributes.\r\n\r\nFor the sake of moving forward, here we use the enums, polyfilling\r\nthem if running with an older version of Pillow.\r\n\r\n* chore: remove python<3.8 compatibility code","shortMessageHtmlLink":"Refactor: Use Pillow for image info (#1138)"}},{"before":"d2eb7aa376989a28591196176da3fd1e2e447a6f","after":"96a7238c517e2af85974305070cc038d4f1ba82e","ref":"refs/heads/master","pushedAt":"2023-11-06T02:45:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"docs: update CHANGES.md","shortMessageHtmlLink":"docs: update CHANGES.md"}},{"before":"aa612e03a3a015ed800ffe71f3926a6bad7210f6","after":"d2eb7aa376989a28591196176da3fd1e2e447a6f","ref":"refs/heads/master","pushedAt":"2023-11-05T23:26:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"docs: add 'e0eb6fa run pyupgrade' to .git-blame-ignore-revs","shortMessageHtmlLink":"docs: add 'e0eb6fa run pyupgrade' to .git-blame-ignore-revs"}},{"before":"d60b4930dafa16036aeee35d0a2bcc92117efa00","after":"aa612e03a3a015ed800ffe71f3926a6bad7210f6","ref":"refs/heads/master","pushedAt":"2023-11-05T09:23:30.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"},"commit":{"message":"style: add pyupgrade to pre-commit hooks","shortMessageHtmlLink":"style: add pyupgrade to pre-commit hooks"}},{"before":"2ca065c99b4f688462f4aed1c063e39e1b4bf8dd","after":"d60b4930dafa16036aeee35d0a2bcc92117efa00","ref":"refs/heads/master","pushedAt":"2023-11-04T16:39:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"fix: remove werkzeug<3 pin (#1172)\n\nAddresses #1171","shortMessageHtmlLink":"fix: remove werkzeug<3 pin (#1172)"}},{"before":"ffa0f49d5eb3bc196ee9cb8a55543b6d67036ad3","after":"2ca065c99b4f688462f4aed1c063e39e1b4bf8dd","ref":"refs/heads/master","pushedAt":"2023-11-02T19:59:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Drop support for python 3.7 (#1173)\n\n* test: drop support for python 3.7\r\n\r\n* test: test under Pillow version 6.2.x rather than 6.0\r\n\r\nPillow 6.2.x is the first release for which PyPI contains wheels for\r\npython 3.8.\r\n\r\n* chore: typing.TypedDict is now always available\r\n\r\n* chore: no longer require importlib_metadata\r\n\r\n* chore: remove the now unused lektor.compat.FixedTemporaryDirectory\r\n\r\n* compat: provide disused bits of lektor.compat\r\n\r\nFor plugins that might use them, provide\r\n`lektor.compat.TemporaryDirectory` and `lektor.compat.importlib_metadata`\r\n(along with a DeprecationWarning).","shortMessageHtmlLink":"Drop support for python 3.7 (#1173)"}},{"before":"66dcd82efc55aaae2c8e2bccbc101bf81a59d7ee","after":"ffa0f49d5eb3bc196ee9cb8a55543b6d67036ad3","ref":"refs/heads/master","pushedAt":"2023-11-02T19:28:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Test under python 3.12 (#1167)\n\n* test: test under python 3.12\r\n\r\n* fix: use shell=True rather than shutil.which to find npm binary\r\n\r\nThis works around a bug in python 3.12.0's `shutil.which` when running\r\non Windows.\r\n\r\nSee python/cpython#109590","shortMessageHtmlLink":"Test under python 3.12 (#1167)"}},{"before":"e2adf0918ffa61adb0ef233540ad7b0568c99253","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/frontend/babel/traverse-7.23.2","pushedAt":"2023-10-25T20:34:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"efd15bc4fac35a3640b6534fd0f0fea9bb655ae8","after":"66dcd82efc55aaae2c8e2bccbc101bf81a59d7ee","ref":"refs/heads/master","pushedAt":"2023-10-25T20:34:19.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"},"commit":{"message":"test: switch to new React 18 APIs and use act()","shortMessageHtmlLink":"test: switch to new React 18 APIs and use act()"}},{"before":null,"after":"e2adf0918ffa61adb0ef233540ad7b0568c99253","ref":"refs/heads/dependabot/npm_and_yarn/frontend/babel/traverse-7.23.2","pushedAt":"2023-10-19T11:17:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(deps-dev): bump @babel/traverse from 7.22.8 to 7.23.2 in /frontend\n\nBumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.8 to 7.23.2.\n- [Release notes](https://github.com/babel/babel/releases)\n- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)\n\n---\nupdated-dependencies:\n- dependency-name: \"@babel/traverse\"\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(deps-dev): bump @babel/traverse from 7.22.8 to 7.23.2 in /frontend"}},{"before":"795a55cc1aeb31e63160c5b367fcd13a1c2a60ed","after":"efd15bc4fac35a3640b6534fd0f0fea9bb655ae8","ref":"refs/heads/master","pushedAt":"2023-09-15T19:58:56.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"feat(esbuild): increase verbosity when running esbuild in watch mode\n\nWith the default log level of \"warning\", no indication of when a\nrebuild occurs when esbuild in running in watch mode (`npm run dev`).","shortMessageHtmlLink":"feat(esbuild): increase verbosity when running esbuild in watch mode"}},{"before":"26f5eaca45b6d3b14d93e8d5bc78a94318bb5c97","after":"795a55cc1aeb31e63160c5b367fcd13a1c2a60ed","ref":"refs/heads/master","pushedAt":"2023-08-29T17:00:23.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"},"commit":{"message":"style: fix (or ignore) style warnings surfaced by flake8-bugbear","shortMessageHtmlLink":"style: fix (or ignore) style warnings surfaced by flake8-bugbear"}},{"before":"bfce91af60ddad357ccd57966f044a9b56c4d47a","after":"26f5eaca45b6d3b14d93e8d5bc78a94318bb5c97","ref":"refs/heads/master","pushedAt":"2023-08-29T01:32:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"fix(packages): use symlinks when creating virtual environments (#1161)\n\nFixes #1159","shortMessageHtmlLink":"fix(packages): use symlinks when creating virtual environments (#1161)"}},{"before":"c736d67bd14ff492aabb12e0b2c9c73b15f30506","after":"bfce91af60ddad357ccd57966f044a9b56c4d47a","ref":"refs/heads/master","pushedAt":"2023-08-01T02:36:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dairiki","name":"Jeff Dairiki","path":"/dairiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/495018?s=80&v=4"},"commit":{"message":"Add Turkish translation (#1157)\n\n* Add Turkish translation\r\n\r\n* add new Turkish translation to i18n.tsx\r\n\r\n---------\r\n\r\nCo-authored-by: Jeff Dairiki ","shortMessageHtmlLink":"Add Turkish translation (#1157)"}},{"before":"bd5eefb765603418424c689c52fe8614194c2e3b","after":"c736d67bd14ff492aabb12e0b2c9c73b15f30506","ref":"refs/heads/master","pushedAt":"2023-07-22T06:44:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"},"commit":{"message":"fix: `bag()` should get `site` from jinja context\n\nJinja global functions should obtain `site` from the jinja context\nrather than from the Lektor build Context.\n\nSometimes `site` is explicitly set in the jinja context. In that case,\nthat is the value that should be used. Furthermore, outside of an\nartifact build, a Lektor build Context is not available.","shortMessageHtmlLink":"fix: bag() should get site from jinja context"}},{"before":"f1105f4542b5d7f0937f8b4237d6d8507cda2a5d","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/frontend/word-wrap-1.2.4","pushedAt":"2023-07-19T05:55:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"}},{"before":"5ec3fe82163507c404a04e1f79c1f30551875144","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/frontend/tough-cookie-4.1.3","pushedAt":"2023-07-19T05:55:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"}},{"before":"099ba7c7e6ffed8dce4cca350d17b15646444479","after":"bd5eefb765603418424c689c52fe8614194c2e3b","ref":"refs/heads/master","pushedAt":"2023-07-19T05:55:12.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"yagebu","name":"Jakob Schnitzer","path":"/yagebu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2482259?s=80&v=4"},"commit":{"message":"frontend: upgrade typescript-eslint","shortMessageHtmlLink":"frontend: upgrade typescript-eslint"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEBt1FuQA","startCursor":null,"endCursor":null}},"title":"Activity ยท lektor/lektor"}