{"html_url": "https://github.com/simonw/datasette/issues/938#issuecomment-674544691", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/938", "id": 674544691, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU0NDY5MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T16:03:52Z", "updated_at": "2020-08-16T16:03:52Z", "author_association": "OWNER", "body": "Four plugin hooks need this extra `columns` argument:\r\n\r\n- `extra_css_urls(template, database, table, datasette)`\r\n- `extra_js_urls(template, database, table, datasette)`\r\n- `extra_body_script(template, database, table, view_name, datasette)`\r\n- `extra_template_vars(template, database, table, view_name, request, datasette)`\r\n\r\nIt's weird that these take different arguments. I should fix that too.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679700269, "label": "Pass columns to extra CSS/JS/etc plugin hooks"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/939#issuecomment-674544875", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/939", "id": 674544875, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU0NDg3NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T16:05:36Z", "updated_at": "2020-08-16T16:05:36Z", "author_association": "OWNER", "body": "They should all take:\r\n\r\n template, database, table, view_name, request, datasette, columns\r\n\r\n`columns` is new, see #938.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679779797, "label": "extra_ plugin hooks should take the same arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/939#issuecomment-674544973", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/939", "id": 674544973, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU0NDk3Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T16:06:34Z", "updated_at": "2020-08-16T16:06:34Z", "author_association": "OWNER", "body": "They should also be next to each other in the documentation - right now they're a bit scattered in terms of page order:\r\n\r\n\"Plugin_hooks_\u2014_Datasette_documentation\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679779797, "label": "extra_ plugin hooks should take the same arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/939#issuecomment-674545058", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/939", "id": 674545058, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU0NTA1OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T16:07:20Z", "updated_at": "2020-08-16T16:07:20Z", "author_association": "OWNER", "body": "I'm going to implement this first as a single commit, then implement `columns` from #938 as a separate change.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679779797, "label": "extra_ plugin hooks should take the same arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/939#issuecomment-674547788", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/939", "id": 674547788, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU0Nzc4OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T16:31:08Z", "updated_at": "2020-08-16T16:31:08Z", "author_association": "OWNER", "body": "Also: they should all be able to return `async def` inner functions. At the moment only `extra_template_vars` supports that pattern.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679779797, "label": "extra_ plugin hooks should take the same arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/939#issuecomment-674547811", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/939", "id": 674547811, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU0NzgxMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T16:31:20Z", "updated_at": "2020-08-16T16:31:20Z", "author_association": "OWNER", "body": "And the docs need to be updated too.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679779797, "label": "extra_ plugin hooks should take the same arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/939#issuecomment-674548163", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/939", "id": 674548163, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU0ODE2Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T16:34:30Z", "updated_at": "2020-08-16T16:34:30Z", "author_association": "OWNER", "body": "Docs also need to note that `request` may be `None` for all of these hooks.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679779797, "label": "extra_ plugin hooks should take the same arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/938#issuecomment-674551826", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/938", "id": 674551826, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU1MTgyNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T17:07:57Z", "updated_at": "2020-08-16T17:07:57Z", "author_association": "OWNER", "body": "extra_tenplate_vars should he documented first and should be the only one to document the arguments and the async return feature. Others should refer back to it rather than duplicating that.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679700269, "label": "Pass columns to extra CSS/JS/etc plugin hooks"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/938#issuecomment-674558631", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/938", "id": 674558631, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU1ODYzMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T18:10:23Z", "updated_at": "2020-08-16T18:10:23Z", "author_association": "OWNER", "body": "Documentation: https://github.com/simonw/datasette/blob/3a4c8ed36aa97211e46849d32a09f2f386f342dd/docs/plugin_hooks.rst#extra-template-vars-template-database-table-columns-view-name-request-datasette", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679700269, "label": "Pass columns to extra CSS/JS/etc plugin hooks"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/941#issuecomment-674566290", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/941", "id": 674566290, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU2NjI5MA==", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2020-08-16T19:18:43Z", "updated_at": "2020-08-18T05:04:31Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/941?src=pr&el=h1) Report\n> Merging [#941](https://codecov.io/gh/simonw/datasette/pull/941?src=pr&el=desc) into [main](https://codecov.io/gh/simonw/datasette/commit/52eabb019d4051084b21524bd0fd9c2731126985&el=desc) will **not change** coverage.\n> The diff coverage is `n/a`.\n\n[![Impacted file tree graph](https://codecov.io/gh/simonw/datasette/pull/941/graphs/tree.svg?width=650&height=150&src=pr&token=eSahVY7kw1)](https://codecov.io/gh/simonw/datasette/pull/941?src=pr&el=tree)\n\n```diff\n@@ Coverage Diff @@\n## main #941 +/- ##\n=======================================\n Coverage 84.10% 84.10% \n=======================================\n Files 28 28 \n Lines 3788 3788 \n=======================================\n Hits 3186 3186 \n Misses 602 602 \n```\n\n\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/941?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `\u0394 = absolute (impact)`, `\u00f8 = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/941?src=pr&el=footer). Last update [52eabb0...f5a72e1](https://codecov.io/gh/simonw/datasette/pull/941?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679809281, "label": "Run CI on GitHub Actions, not Travis"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/940#issuecomment-674566618", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/940", "id": 674566618, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU2NjYxOA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T19:20:58Z", "updated_at": "2020-08-16T19:20:58Z", "author_association": "OWNER", "body": "I need to figure out how to build and push the Docker image on releases. Here's the Travis code for that: https://github.com/simonw/datasette/blob/52eabb019d4051084b21524bd0fd9c2731126985/.travis.yml#L38-L47", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679808124, "label": "Move CI to GitHub Issues"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/914#issuecomment-674578388", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/914", "id": 674578388, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU3ODM4OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T21:10:27Z", "updated_at": "2020-08-16T21:10:27Z", "author_association": "OWNER", "body": "Demo of the fix: https://latest.datasette.io/fixtures/binary_data.json?_sort_desc=data&_shape=array&_nl=on\r\n\r\n```\r\n{\"rowid\": 2, \"data\": {\"$base64\": true, \"encoded\": \"FRwDx60F/g==\"}}\r\n{\"rowid\": 1, \"data\": {\"$base64\": true, \"encoded\": \"FRwCx60F/g==\"}}\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 671056788, "label": "\"Object of type bytes is not JSON serializable\" for _nl=on"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/940#issuecomment-674589035", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/940", "id": 674589035, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU4OTAzNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T23:02:23Z", "updated_at": "2020-08-16T23:02:23Z", "author_association": "OWNER", "body": "I'd like to set these up as different workflows that depend on each other, if that's possible.\r\n\r\nI want to start three test runs in parallel (on three different Python versions), then if all three pass kick off the PyPI push (without running more tests), then if that passes do the Docker build and push.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679808124, "label": "Move CI to GitHub Issues"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/940#issuecomment-674589321", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/940", "id": 674589321, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU4OTMyMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T23:04:34Z", "updated_at": "2020-08-16T23:04:34Z", "author_association": "OWNER", "body": "https://docs.github.com/en/actions/getting-started-with-github-actions/core-concepts-for-github-actions#job\r\n\r\n> A set of steps that execute on the same runner. You can define the dependency rules for how jobs run in a workflow file. Jobs can run at the same time in parallel or run sequentially depending on the status of a previous job. For example, a workflow can have two sequential jobs that build and test code, where the test job is dependent on the status of the build job. If the build job fails, the test job will not run.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679808124, "label": "Move CI to GitHub Issues"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/940#issuecomment-674589472", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/940", "id": 674589472, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU4OTQ3Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T23:05:57Z", "updated_at": "2020-08-16T23:05:57Z", "author_association": "OWNER", "body": "When I figure this out I'll update the https://github.com/simonw/datasette-plugin/blob/main/datasette-%7B%7Bcookiecutter.hyphenated%7D%7D/.github/workflows/publish.yml default workflow to do this - right now it runs the tests once on just a single version of Python as part of the package deploy to PyPI step.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679808124, "label": "Move CI to GitHub Issues"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/940#issuecomment-674590583", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/940", "id": 674590583, "node_id": "MDEyOklzc3VlQ29tbWVudDY3NDU5MDU4Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-08-16T23:15:51Z", "updated_at": "2020-08-18T05:04:43Z", "author_association": "OWNER", "body": "This example of jobs depending on each other and sharing data via artifacts looks relevant: https://docs.github.com/en/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts#passing-data-between-jobs-in-a-workflow", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 679808124, "label": "Move CI to GitHub Issues"}, "performed_via_github_app": null}