{"html_url": "https://github.com/simonw/datasette/issues/262#issuecomment-389702480", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/262", "id": 389702480, "node_id": "MDEyOklzc3VlQ29tbWVudDM4OTcwMjQ4MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2018-05-17T00:00:39Z", "updated_at": "2020-09-12T18:19:30Z", "author_association": "OWNER", "body": "Idea: `?_extra=sqllog` could output a lot of every individual SQL statement that was executed in order to generate the page - useful for seeing how foreign key expansion and faceting actually works.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 323658641, "label": "Add ?_extra= mechanism for requesting extra properties in JSON"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/963#issuecomment-691379980", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/963", "id": 691379980, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTM3OTk4MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T01:50:56Z", "updated_at": "2020-09-12T01:50:56Z", "author_association": "OWNER", "body": "Good bug - looks like a problem with the hidden form fields.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 699947574, "label": "Currently selected array facets are not correctly persisted through hidden form fields"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/50#issuecomment-691501132", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/50", "id": 691501132, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUwMTEzMg==", "user": {"value": 706257, "label": "bcongdon"}, "created_at": "2020-09-12T14:48:10Z", "updated_at": "2020-09-12T14:48:10Z", "author_association": "NONE", "body": "This seems to be an issue even with larger values of `--stop_after`:\r\n\r\n```\r\n$ twitter-to-sqlite favorites twitter.db --stop_after=2000\r\nImporting favorites [####################################] 198\r\n$\r\n```", "reactions": "{\"total_count\": 1, \"+1\": 1, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 698791218, "label": "favorites --stop_after=N stops after min(N, 200)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/782#issuecomment-691526416", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/782", "id": 691526416, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUyNjQxNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T18:16:36Z", "updated_at": "2020-09-12T18:16:36Z", "author_association": "OWNER", "body": "I'm going to hack together a preview of this in a branch and deploy it somewhere so people can see what I've got planned. Much easier to evaluate a working prototype than static examples.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 627794879, "label": "Redesign default .json format"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/782#issuecomment-691526489", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/782", "id": 691526489, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUyNjQ4OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T18:17:16Z", "updated_at": "2020-09-12T18:17:16Z", "author_association": "OWNER", "body": "(I think I may have been over-thinking the details of this is for a couple of years now.)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 627794879, "label": "Redesign default .json format"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/680#issuecomment-691526635", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/680", "id": 691526635, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUyNjYzNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T18:18:50Z", "updated_at": "2020-09-12T18:18:50Z", "author_association": "OWNER", "body": "I'm happy with the not-quite-automated way I'm doing this, so I'm going to close this issue.\r\n\r\nThat's documented here https://docs.datasette.io/en/0.48/contributing.html#release-process - I use https://euangoddard.github.io/clipboard2markdown/ to create the GitHub releases markdown version.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 569275763, "label": "Release automation: automate the bit that posts the GitHub release"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/262#issuecomment-691526719", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/262", "id": 691526719, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUyNjcxOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T18:19:50Z", "updated_at": "2020-09-12T18:19:50Z", "author_association": "OWNER", "body": "> Idea: `?_extra=sqllog` could output a lot of every individual SQL statement that was executed in order to generate the page - useful for seeing how foreign key expansion and faceting actually works.\r\n\r\nI built a version of that a while ago as the `?_trace=1` argument.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 323658641, "label": "Add ?_extra= mechanism for requesting extra properties in JSON"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/782#issuecomment-691526762", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/782", "id": 691526762, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUyNjc2Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T18:20:19Z", "updated_at": "2020-09-12T18:20:19Z", "author_association": "OWNER", "body": "I'd like to revisit the idea of using `?_extra=x` to opt-in to extra blocks of JSON, from #262", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 627794879, "label": "Redesign default .json format"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/782#issuecomment-691526878", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/782", "id": 691526878, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUyNjg3OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T18:21:41Z", "updated_at": "2020-09-12T18:22:20Z", "author_association": "OWNER", "body": "Would it be so bad if the default format had a `\"rows\"` key containing the array of rows? Maybe it wouldn't. The reason I always use `?_shape=array` is because I want an array of objects, rather than an array of arrays that I have to match up again with their columns.\r\n\r\nA default format that's an object rather than array also gives something for the `?_extra=` parameter to add its extras to.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 627794879, "label": "Redesign default .json format"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/262#issuecomment-691526975", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/262", "id": 691526975, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTUyNjk3NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T18:22:44Z", "updated_at": "2020-09-12T18:22:44Z", "author_association": "OWNER", "body": "Are there any interesting use-cases for a plugin hook that allows plugins to define their own `?_extra=` blocks?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 323658641, "label": "Add ?_extra= mechanism for requesting extra properties in JSON"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/782#issuecomment-691554088", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/782", "id": 691554088, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTU1NDA4OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T21:39:03Z", "updated_at": "2020-09-12T21:39:03Z", "author_association": "OWNER", "body": "Plan: release a new release of Datasette (probably 0.49) with the new JSON API design, but provide a plugin called something like `datasette-api-0-48` which runs as ASGI wrapping middleware and internally rewrites incoming requests to e.g. `/db/table.json` to behave if they have the `?_extra=` params on them necessary to produce the 0.48 version of the JSON.\r\n\r\nAnyone who has built applications against 0.48 can install that plugin.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 627794879, "label": "Redesign default .json format"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/880#issuecomment-691557429", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/880", "id": 691557429, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTU1NzQyOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T21:59:39Z", "updated_at": "2020-09-12T21:59:39Z", "author_association": "OWNER", "body": "What should happen when something does a POST to an extension that was registered by a plugin, e.g. `POST /db/table.atom` ?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 648637666, "label": "POST to /db/canned-query that returns JSON should be supported (for API clients)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/880#issuecomment-691557675", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/880", "id": 691557675, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTU1NzY3NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T22:01:02Z", "updated_at": "2020-09-12T22:01:11Z", "author_association": "OWNER", "body": "Maybe POST to `.json` doesn't actually make sense. I could instead support `POST /db/queryname` with an optional mechanism for requesting that the response to that POST be in a JSON format.\r\n\r\nCould be a `Accept: application/json` header with an option of including `\"_accept\": \"json\"` as a POST parameter instead.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 648637666, "label": "POST to /db/canned-query that returns JSON should be supported (for API clients)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/880#issuecomment-691558387", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/880", "id": 691558387, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTU1ODM4Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T22:04:48Z", "updated_at": "2020-09-12T22:04:48Z", "author_association": "OWNER", "body": "Is it safe to skip CSRF checks if the incoming request has `Accept: application/json` on it?\r\n\r\nI'm not sure that matters since `asgi-csrf` already won't reject requests that either have no cookies or are using a `Authorization: Bearer ...` header.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 648637666, "label": "POST to /db/canned-query that returns JSON should be supported (for API clients)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/519#issuecomment-691566247", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/519", "id": 691566247, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTU2NjI0Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T22:48:53Z", "updated_at": "2020-09-12T22:48:53Z", "author_association": "OWNER", "body": "I think I've figured out what to do about stability of the HTML and the default templates with respect to semantic versioning.\r\n\r\nI'm going to announce that the JSON API - including the variables made available to templates - should be considered stable according to semver. I will only break backwards compatibility at that level in a major version release.\r\n\r\nThe template HTML (and default CSS) will not be considered a stable interface. They won't change on bug fix releases but they may change (albeit described in the release notes) on minor version bumps.\r\n\r\nSince the template inputs are stable, you can run your own copy of the previous version's templates if something breaks.\r\n\r\nThis means users (and plugin authors) who make changes to the default Datasette UI will have to test their changes against every minor release. I think that's OK.\r\n\r\nIf you write plugins that don't affect the Datasette HTML UI you will be able to expect stability across minor version releases.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 459590021, "label": "Decide what goes into Datasette 1.0"}, "performed_via_github_app": null}