{"id": 727916744, "node_id": "MDExOlB1bGxSZXF1ZXN0NTA4NzIwNjYw", "number": 1044, "title": "Add minimum supported python", "user": {"value": 45380, "label": "bollwyvl"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2020-10-23T05:08:03Z", "updated_at": "2020-10-23T20:53:08Z", "closed_at": "2020-10-23T20:53:08Z", "author_association": "CONTRIBUTOR", "pull_request": "simonw/datasette/pulls/1044", "body": "Thanks for `datasette`!\r\n\r\nThis PR adds `python_requires` to formally signal the [minimum supported python version](https://packaging.python.org/guides/dropping-older-python-versions/#specify-the-version-ranges-for-supported-python-distributions) (which is pointed out with classifiers, so seems pretty straightforward).", "repo": {"value": 107914493, "label": "datasette"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/1044/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null} {"id": 608613033, "node_id": "MDU6SXNzdWU2MDg2MTMwMzM=", "number": 745, "title": "Extract the hash-URL mechanism out into a plugin", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2020-04-28T21:00:38Z", "updated_at": "2020-10-23T19:47:18Z", "closed_at": "2020-10-23T19:47:10Z", "author_association": "OWNER", "pull_request": null, "body": "0.28 in May 2019 made this feature not-the-default: https://datasette.readthedocs.io/en/stable/changelog.html#v0-28 - see #418\r\n\r\nI've not felt the need to use it myself since. I think I should move it into a plugin.", "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/745/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": 726687572, "node_id": "MDU6SXNzdWU3MjY2ODc1NzI=", "number": 1039, "title": "Add an animation to the column actions menu", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 1, "created_at": "2020-10-21T16:56:28Z", "updated_at": "2020-10-23T19:44:07Z", "closed_at": "2020-10-21T17:02:32Z", "author_association": "OWNER", "pull_request": null, "body": "Inspired by the animation on some of GitHub's dropdown menus:\r\n\r\nhttps://github.com/primer/css/blob/da8ee54248e6d76c15c18e53684a15a6516b5b7f/src/utilities/animations.scss#L114-L131\r\n\r\n```css\r\n/* Fade in an element and scale it fast */\r\n.anim-scale-in {\r\n animation-name: scale-in;\r\n animation-duration: 0.15s;\r\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\r\n}\r\n\r\n@keyframes scale-in {\r\n 0% {\r\n opacity: 0;\r\n transform: scale(0.5);\r\n }\r\n\r\n 100% {\r\n opacity: 1;\r\n transform: scale(1);\r\n }\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/1039/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": 718953669, "node_id": "MDU6SXNzdWU3MTg5NTM2Njk=", "number": 1016, "title": "Add a \"delete\" icon next to filters (in addition to \"remove filter\")", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 3, "created_at": "2020-10-11T23:49:53Z", "updated_at": "2020-10-23T19:44:06Z", "closed_at": "2020-10-12T03:01:58Z", "author_association": "OWNER", "pull_request": null, "body": "The \"remove filter\" option in the select box is not very discoverable.\r\n\r\n\"evernote__notes__85_rows_where_where_source-url_is_not_blank_sorted_by_id\"\r\n\r\nIt would be good to have an additional remove icon, pointed to by the pink arrow, which removes a specific selected filter.", "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/1016/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": 721050815, "node_id": "MDU6SXNzdWU3MjEwNTA4MTU=", "number": 1019, "title": "\"Edit SQL\" button on canned queries", "user": {"value": 639012, "label": "jsfenfen"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 7, "created_at": "2020-10-14T00:51:39Z", "updated_at": "2020-10-23T19:44:06Z", "closed_at": "2020-10-14T03:44:23Z", "author_association": "CONTRIBUTOR", "pull_request": null, "body": "Feature request: Would it be possible to add an \"edit this query\" button on canned queries? Clicking it would open the canned query as an editable sql query. I think the intent is to have named parameters to allow this, but sometimes you just gotta rewrite it? ", "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/1019/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": 722674708, "node_id": "MDU6SXNzdWU3MjI2NzQ3MDg=", "number": 1024, "title": "Figure out how to run an environment that exercises the base_url proxy setting", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 9, "created_at": "2020-10-15T21:03:39Z", "updated_at": "2020-10-23T19:44:06Z", "closed_at": "2020-10-15T22:34:04Z", "author_association": "OWNER", "pull_request": null, "body": "Refs #1023.", "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/1024/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": 722724086, "node_id": "MDU6SXNzdWU3MjI3MjQwODY=", "number": 1025, "title": "Fix last remaining links to \"/\" that do not respect base_url", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 7, "created_at": "2020-10-15T22:46:38Z", "updated_at": "2020-10-23T19:44:06Z", "closed_at": "2020-10-20T05:21:29Z", "author_association": "OWNER", "pull_request": null, "body": "Refs #1023\r\n```\r\ndatasette % git grep '\"/\"' -- '*.html'\r\ndatasette/templates/error.html: home\r\ndatasette/templates/patterns.html: home /\r\ndatasette/templates/query.html: home /\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/1025/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": 663228985, "node_id": "MDU6SXNzdWU2NjMyMjg5ODU=", "number": 904, "title": "datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 11, "created_at": "2020-07-21T18:42:52Z", "updated_at": "2020-10-23T19:44:05Z", "closed_at": "2020-10-20T00:51:51Z", "author_association": "OWNER", "pull_request": null, "body": "I tried using this block of template in a plugin and got an error:\r\n```html\r\n{% block nav %}\r\n

\r\n home /\r\n {{ database }} /\r\n {{ table }}\r\n

\r\n {{ super() }}\r\n{% endblock %}\r\n```\r\nError: `'database_url' is undefined`\r\n\r\nThat's because `database_url` is only made available by the BaseView template here:\r\n\r\nhttps://github.com/simonw/datasette/blob/d6e03b04302a0852e7133dc030eab50177c37be7/datasette/views/base.py#L110-L125", "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/904/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": 713209404, "node_id": "MDU6SXNzdWU3MTMyMDk0MDQ=", "number": 988, "title": "Mechanism for plugins to construct URLs that respect base_url", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 2, "created_at": "2020-10-01T21:54:15Z", "updated_at": "2020-10-23T19:44:05Z", "closed_at": "2020-10-15T23:01:02Z", "author_association": "OWNER", "pull_request": null, "body": "> Had a thought: this is likely to break in plugins too, such as `datasette-edit-schema` which constructs URLs for redirects e.g. here: https://github.com/simonw/datasette-edit-schema/blob/dbd0abee6dd3385b114cfe9671f7ead1c4855b60/datasette_edit_schema/__init__.py#L46-L48\r\n\r\n_Originally posted by @simonw in https://github.com/simonw/datasette/issues/865#issuecomment-702418045_", "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/988/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": 718723543, "node_id": "MDU6SXNzdWU3MTg3MjM1NDM=", "number": 1014, "title": "Add Link: pagination HTTP headers", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 6, "created_at": "2020-10-10T23:42:40Z", "updated_at": "2020-10-23T19:44:05Z", "closed_at": "2020-10-11T00:18:51Z", "author_association": "OWNER", "pull_request": null, "body": "Spun off from #782. These can go on all of the JSON endpoints that support pagination.", "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/1014/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": 634651079, "node_id": "MDU6SXNzdWU2MzQ2NTEwNzk=", "number": 814, "title": "Remove --debug option from datasette serve", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 1, "created_at": "2020-06-08T14:10:14Z", "updated_at": "2020-10-23T19:44:04Z", "closed_at": "2020-10-10T23:39:43Z", "author_association": "OWNER", "pull_request": null, "body": "It doesn't appear to do anything useful at all:\r\n\r\nhttps://github.com/simonw/datasette/blob/f786033a5f0098371cb1df1ce83959b27c588115/datasette/cli.py#L251-L253\r\n\r\nhttps://github.com/simonw/datasette/blob/f786033a5f0098371cb1df1ce83959b27c588115/datasette/cli.py#L365-L367", "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/814/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": 661605489, "node_id": "MDU6SXNzdWU2NjE2MDU0ODk=", "number": 900, "title": "Some links don't honor base_url", "user": {"value": 50220, "label": "noteed"}, "state": "closed", "locked": 0, "assignee": null, "milestone": {"value": 6026070, "label": "0.51"}, "comments": 3, "created_at": "2020-07-20T09:40:50Z", "updated_at": "2020-10-23T19:44:04Z", "closed_at": "2020-10-15T22:57:55Z", "author_association": "NONE", "pull_request": null, "body": "Hi,\r\n\r\nI've been playing with Datasette behind Nginx (awesome tool, thanks !). It seems some URLs are OK but some aren't. For instance in https://github.com/simonw/datasette/blob/master/datasette/templates/query.html#L61 it seems that `url_csv` includes a `/` prefix, resulting in the `base_url` not beeing honored.\r\n\r\nActually here, it seems that dropping the prefix `/` to make the link relative is enough (so it may not be strictly related to `base_url`).\r\n\r\nAdditional information:\r\n\r\n```\r\ndatasette, version 0.45+0.gf1f581b.dirty\r\n```\r\n\r\nRelevant Nginx configuration (note that all the trailing slashes have some effect):\r\n\r\n```\r\n location /datasette/ {\r\n proxy_pass http://127.0.0.1:9001/;\r\n proxy_set_header Host $host;\r\n }\r\n```\r\n\r\nRelelvant Datasette configuration (slashes matter too):\r\n\r\n```\r\n --config base_url:/datasette/\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/900/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"}