{"id": 684925907, "node_id": "MDU6SXNzdWU2ODQ5MjU5MDc=", "number": 948, "title": "Upgrade CodeMirror", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 8, "created_at": "2020-08-24T19:55:33Z", "updated_at": "2020-09-30T20:36:12Z", "closed_at": "2020-08-30T18:03:07Z", "author_association": "OWNER", "pull_request": null, "body": "Datasette currently bundles 5.31.0 (from October 2017) - latest version is 5.57.0 (August 2020). https://codemirror.net/doc/releases.html", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/948/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 687711713, "node_id": "MDU6SXNzdWU2ODc3MTE3MTM=", "number": 955, "title": "Release updated datasette-atom and datasette-ics", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 2, "created_at": "2020-08-28T04:55:21Z", "updated_at": "2020-09-14T22:19:46Z", "closed_at": "2020-09-14T22:19:46Z", "author_association": "OWNER", "pull_request": null, "body": "These should release straight after Datasette 0.49 with the change from #953.", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/955/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 679808124, "node_id": "MDU6SXNzdWU2Nzk4MDgxMjQ=", "number": 940, "title": "Move CI to GitHub Issues", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 20, "created_at": "2020-08-16T19:06:08Z", "updated_at": "2020-09-14T22:09:35Z", "closed_at": "2020-09-14T22:09:35Z", "author_association": "OWNER", "pull_request": null, "body": "It looks like the tests take 3m33s to run in GitHub Actions, but they're taking more than 8 minutes in Travis", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/940/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 648637666, "node_id": "MDU6SXNzdWU2NDg2Mzc2NjY=", "number": 880, "title": "POST to /db/canned-query that returns JSON should be supported (for API clients)", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 11, "created_at": "2020-07-01T03:14:43Z", "updated_at": "2020-09-14T21:28:21Z", "closed_at": "2020-09-14T21:25:01Z", "author_association": "OWNER", "pull_request": null, "body": "Now that CSRF is solved for API requests (#835) it would be good to support API requests to the `.json` extension.", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/880/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 701294727, "node_id": "MDU6SXNzdWU3MDEyOTQ3Mjc=", "number": 965, "title": "Documentation for 404.html, 500.html templates", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 3, "created_at": "2020-09-14T17:36:59Z", "updated_at": "2020-09-14T18:49:49Z", "closed_at": "2020-09-14T18:47:22Z", "author_association": "OWNER", "pull_request": null, "body": "This mechanism is not documented: https://github.com/simonw/datasette/blob/30b98e4d2955073ca2bca92ca7b3d97fcd0191bf/datasette/app.py#L1119-L1129", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/965/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 700728217, "node_id": "MDU6SXNzdWU3MDA3MjgyMTc=", "number": 964, "title": "raise_404 mechanism for custom templates", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 1, "created_at": "2020-09-14T03:22:15Z", "updated_at": "2020-09-14T17:49:44Z", "closed_at": "2020-09-14T17:39:34Z", "author_association": "OWNER", "pull_request": null, "body": "> Having tried this out I think it does need a `raise_404()` mechanism - which needs to be smart enough to trigger the default 404 handler without accidentally going into an infinite loop.\r\n\r\n_Originally posted by @simonw in https://github.com/simonw/datasette/issues/944#issuecomment-691788478_", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/964/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 681516976, "node_id": "MDU6SXNzdWU2ODE1MTY5NzY=", "number": 944, "title": "Path parameters for custom pages", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 5, "created_at": "2020-08-19T03:25:17Z", "updated_at": "2020-09-14T03:21:45Z", "closed_at": "2020-09-14T02:34:58Z", "author_association": "OWNER", "pull_request": null, "body": "[Custom pages](https://docs.datasette.io/en/stable/custom_templates.html#custom-pages) let you e.g. create a `templates/pages/about.html` page and have it automatically served at `/about`.\r\n\r\nIt would be useful if these pages could capture path patterns. I like the Python format string syntax for this (also used by Starlette): `/foo/bar/{slug}`.\r\n\r\nSo... how about embedding those patterns in the filenames themselves?\r\n\r\n templates/pages/museums/{slug}.html\r\n\r\nWould capture any hits to `/museums/something` and use that page to serve them.\r\n\r\n", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/944/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 699947574, "node_id": "MDU6SXNzdWU2OTk5NDc1NzQ=", "number": 963, "title": "Currently selected array facets are not correctly persisted through hidden form fields", "user": {"value": 649467, "label": "mhalle"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 1, "created_at": "2020-09-12T01:49:17Z", "updated_at": "2020-09-12T21:54:29Z", "closed_at": "2020-09-12T21:54:09Z", "author_association": "NONE", "pull_request": null, "body": "Faceted search uses JSON array elements as facets rather than the arrays. However, if a search is \"Apply\"ed (using the Apply button), the array itself rather than its elements used. \r\n\r\nTo reproduce:\r\nhttps://latest.datasette.io/fixtures/facetable?_sort=pk&_facet=created&_facet=tags&_facet_array=tags\r\n\r\nPress \"Apply\", which might be done when removing a filter. Notice that the \"tags\" facet values are now arrays, not array elements. It appears the \"&_facet_array=tags\" element of the query string is dropped.", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/963/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 691475400, "node_id": "MDU6SXNzdWU2OTE0NzU0MDA=", "number": 958, "title": "Upgrade to latest Black (20.8b1)", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 0, "created_at": "2020-09-02T22:24:19Z", "updated_at": "2020-09-11T21:34:24Z", "closed_at": "2020-09-02T22:25:10Z", "author_association": "OWNER", "pull_request": null, "body": "Black has some changes: https://black.readthedocs.io/en/stable/change_log.html#b0 - in particular:\r\n\r\n> - re-implemented support for explicit trailing commas: now it works consistently within any bracket pair, including nested structures (#1288 and duplicates)\r\n> - Black now reindents docstrings when reindenting code around it (#1053)", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/958/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 699622046, "node_id": "MDU6SXNzdWU2OTk2MjIwNDY=", "number": 962, "title": "datasette --pdb option for debugging errors", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 1, "created_at": "2020-09-11T18:33:10Z", "updated_at": "2020-09-11T21:34:24Z", "closed_at": "2020-09-11T18:38:01Z", "author_association": "OWNER", "pull_request": null, "body": "I needed to debug an exception from deep inside a Jinja template the other day. I hacked this together and it helped.", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/962/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 684111953, "node_id": "MDU6SXNzdWU2ODQxMTE5NTM=", "number": 947, "title": "datasette --get exit code should reflect HTTP errors", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 1, "created_at": "2020-08-23T04:17:08Z", "updated_at": "2020-09-11T21:33:15Z", "closed_at": "2020-09-11T21:33:15Z", "author_association": "OWNER", "pull_request": null, "body": "If you run `datasette . --get /` and the result is a 500 or 404 error (anything that's not a 200 or a 30x) the exit code from the command should not be 0.\r\n\r\nIt should still output the returned content to stdout.\r\n\r\nThis will help with writing soundness checks, as seen in https://til.simonwillison.net/til/til/github-actions_grep-tests.md", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/947/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 682005535, "node_id": "MDU6SXNzdWU2ODIwMDU1MzU=", "number": 945, "title": "datasette install -U for upgrading packages", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 1, "created_at": "2020-08-19T17:12:04Z", "updated_at": "2020-08-28T04:53:14Z", "closed_at": "2020-08-19T17:20:50Z", "author_association": "OWNER", "pull_request": null, "body": "This will also give Homebrew a way to upgrade Datasette itself without having to wait for the latest packaged version to land in Homebrew core.", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/945/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 687681018, "node_id": "MDU6SXNzdWU2ODc2ODEwMTg=", "number": 953, "title": "register_output_renderer render function should be able to return a Response", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 5818042, "label": "Datasette 0.49"}, "comments": 1, "created_at": "2020-08-28T03:21:21Z", "updated_at": "2020-08-28T04:53:03Z", "closed_at": "2020-08-28T04:03:01Z", "author_association": "OWNER", "pull_request": null, "body": "That plugin hook was designed before Datasette had a documented Response class. It should optionally be allowed to return a Response in addition to the current custom dictionary.", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/953/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"}