issue_comments
8,358 rows where author_association = "OWNER" sorted by html_url
This data as json, CSV (advanced)
Suggested facets: reactions, created_at (date), updated_at (date)
user 1
- simonw 8,358
id | html_url ▼ | issue_url | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
338523957 | https://github.com/simonw/datasette/issues/1#issuecomment-338523957 | https://api.github.com/repos/simonw/datasette/issues/1 | MDEyOklzc3VlQ29tbWVudDMzODUyMzk1Nw== | simonw 9599 | 2017-10-23T01:09:05Z | 2017-10-24T02:42:12Z | OWNER | I also need to solve for weird primary keys. If it’s a single integer or a single char field that’s easy. But what if it is a compound key with more than one chat field? What delimiter can I use that will definitely be safe? Let’s say I use hyphen. Now I need to find a durable encoding for any hyphens that might exist in the key fields themselves. How about I use URLencoding for every non-alpha-numeric character? That will turn hyphens into (I think) %2D. It should also solve for unicode characters, but it means the vast majority of keys (integers) will display neatly, including a compound key of eg 5678-345 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Addressable pages for every row in a table 267513424 | |
338524454 | https://github.com/simonw/datasette/issues/1#issuecomment-338524454 | https://api.github.com/repos/simonw/datasette/issues/1 | MDEyOklzc3VlQ29tbWVudDMzODUyNDQ1NA== | simonw 9599 | 2017-10-23T01:15:24Z | 2017-10-23T01:15:24Z | OWNER | Table rendering logic needs to detect the primary key field and turn it into a hyperlink. If there is a compound primary key it should add an extra column at the start of the table which displays the compound key as a link |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Addressable pages for every row in a table 267513424 | |
338857568 | https://github.com/simonw/datasette/issues/1#issuecomment-338857568 | https://api.github.com/repos/simonw/datasette/issues/1 | MDEyOklzc3VlQ29tbWVudDMzODg1NzU2OA== | simonw 9599 | 2017-10-24T02:57:12Z | 2017-10-24T02:57:12Z | OWNER | I can find the primary keys using:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Addressable pages for every row in a table 267513424 | |
338861511 | https://github.com/simonw/datasette/issues/1#issuecomment-338861511 | https://api.github.com/repos/simonw/datasette/issues/1 | MDEyOklzc3VlQ29tbWVudDMzODg2MTUxMQ== | simonw 9599 | 2017-10-24T03:24:17Z | 2017-10-24T03:24:17Z | OWNER | Some tables won't have primary keys, in which case I won't generate pages for individual records. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Addressable pages for every row in a table 267513424 | |
338872286 | https://github.com/simonw/datasette/issues/1#issuecomment-338872286 | https://api.github.com/repos/simonw/datasette/issues/1 | MDEyOklzc3VlQ29tbWVudDMzODg3MjI4Ng== | simonw 9599 | 2017-10-24T04:46:06Z | 2017-10-24T04:46:06Z | OWNER | I'm going to use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Addressable pages for every row in a table 267513424 | |
338882207 | https://github.com/simonw/datasette/issues/1#issuecomment-338882207 | https://api.github.com/repos/simonw/datasette/issues/1 | MDEyOklzc3VlQ29tbWVudDMzODg4MjIwNw== | simonw 9599 | 2017-10-24T05:56:04Z | 2017-10-24T05:56:04Z | OWNER | Next step: generate links to these. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Addressable pages for every row in a table 267513424 | |
341938424 | https://github.com/simonw/datasette/issues/10#issuecomment-341938424 | https://api.github.com/repos/simonw/datasette/issues/10 | MDEyOklzc3VlQ29tbWVudDM0MTkzODQyNA== | simonw 9599 | 2017-11-04T23:48:57Z | 2017-11-04T23:48:57Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Set up Travis 267517381 | ||
344771130 | https://github.com/simonw/datasette/issues/100#issuecomment-344771130 | https://api.github.com/repos/simonw/datasette/issues/100 | MDEyOklzc3VlQ29tbWVudDM0NDc3MTEzMA== | simonw 9599 | 2017-11-16T00:06:00Z | 2017-11-16T00:06:00Z | OWNER | Aha... it looks like this is a Jinja version problem: https://github.com/ansible/ansible/issues/25381#issuecomment-306492389 Datasette depends on sanic-jinja2 - and that doesn't depend on a particular jinja2 version: https://github.com/lixxu/sanic-jinja2/blob/7e9520850d8c6bb66faf43b7f252593d7efe3452/setup.py#L22 So if you have an older version of Jinja installed, stuff breaks. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
TemplateAssertionError: no filter named 'tojson' 274160723 | |
705904566 | https://github.com/simonw/datasette/issues/1001#issuecomment-705904566 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkwNDU2Ng== | simonw 9599 | 2020-10-09T00:58:08Z | 2020-10-09T00:58:08Z | OWNER | To get a traceback:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | |
705904679 | https://github.com/simonw/datasette/issues/1001#issuecomment-705904679 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkwNDY3OQ== | simonw 9599 | 2020-10-09T00:58:32Z | 2020-10-09T00:58:32Z | OWNER | So the bug is in this code here: https://github.com/simonw/datasette/blob/703439bdc37e724b01bc6d7a1fc1d955795132f2/datasette/views/base.py#L113-L115 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | |
705904759 | https://github.com/simonw/datasette/issues/1001#issuecomment-705904759 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkwNDc1OQ== | simonw 9599 | 2020-10-09T00:58:47Z | 2020-10-09T00:58:47Z | OWNER | What should an OPTIONS request return, anyway? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | |
705904917 | https://github.com/simonw/datasette/issues/1001#issuecomment-705904917 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkwNDkxNw== | simonw 9599 | 2020-10-09T00:59:25Z | 2020-10-09T00:59:25Z | OWNER | ``` ~ % curl -XOPTIONS https://www.google.com/ <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <title>Error 405 (Method Not Allowed)!!1</title> ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | |
705905121 | https://github.com/simonw/datasette/issues/1001#issuecomment-705905121 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkwNTEyMQ== | simonw 9599 | 2020-10-09T01:00:07Z | 2020-10-09T01:00:07Z | OWNER | The www.djangoproject.com site returns an empty page: ``` ~ % curl -vv -XOPTIONS https://www.djangoproject.com/ * Trying 151.101.42.217:443... * Connected to www.djangoproject.com (151.101.42.217) port 443 (#0) * ALPN, offering http/1.1 * TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 * Server certificate: osff2.map.fastly.net * Server certificate: GlobalSign CloudSSL CA - SHA256 - G3 * Server certificate: GlobalSign Root CA
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | |
705905418 | https://github.com/simonw/datasette/issues/1001#issuecomment-705905418 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkwNTQxOA== | simonw 9599 | 2020-10-09T01:00:54Z | 2020-10-09T01:00:54Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | ||
705916614 | https://github.com/simonw/datasette/issues/1001#issuecomment-705916614 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkxNjYxNA== | simonw 9599 | 2020-10-09T01:37:06Z | 2020-10-09T01:37:06Z | OWNER | I'm tempted to imitate Django Rest Framework here: https://github.com/encode/django-rest-framework/blob/2e721cdbc85a924d0b0f093b86fe1497b58fe287/rest_framework/views.py#L514-L521
Note the comment at the top:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | |
705917015 | https://github.com/simonw/datasette/issues/1001#issuecomment-705917015 | https://api.github.com/repos/simonw/datasette/issues/1001 | MDEyOklzc3VlQ29tbWVudDcwNTkxNzAxNQ== | simonw 9599 | 2020-10-09T01:38:49Z | 2020-10-09T01:38:49Z | OWNER | I actually have a sensible I'm going to set the default one to return a 405 (Method Not Allowed) like Google does. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
OPTIONS requests return a 500 error 717768441 | |
706306214 | https://github.com/simonw/datasette/issues/1002#issuecomment-706306214 | https://api.github.com/repos/simonw/datasette/issues/1002 | MDEyOklzc3VlQ29tbWVudDcwNjMwNjIxNA== | simonw 9599 | 2020-10-09T17:23:51Z | 2020-10-09T17:23:51Z | OWNER | I can start by combining the release notes for the 0.50 alphas. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release notes for Datasette 0.50 717783692 | |
706272322 | https://github.com/simonw/datasette/issues/1003#issuecomment-706272322 | https://api.github.com/repos/simonw/datasette/issues/1003 | MDEyOklzc3VlQ29tbWVudDcwNjI3MjMyMg== | simonw 9599 | 2020-10-09T16:14:56Z | 2020-10-09T16:14:56Z | OWNER | Yes I think that makes sense. I added |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
from_json jinja2 filter 718238967 | |
706273211 | https://github.com/simonw/datasette/issues/1003#issuecomment-706273211 | https://api.github.com/repos/simonw/datasette/issues/1003 | MDEyOklzc3VlQ29tbWVudDcwNjI3MzIxMQ== | simonw 9599 | 2020-10-09T16:16:38Z | 2020-10-09T16:16:38Z | OWNER | I'm not a huge fan of
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
from_json jinja2 filter 718238967 | |
706281451 | https://github.com/simonw/datasette/issues/1003#issuecomment-706281451 | https://api.github.com/repos/simonw/datasette/issues/1003 | MDEyOklzc3VlQ29tbWVudDcwNjI4MTQ1MQ== | simonw 9599 | 2020-10-09T16:33:01Z | 2020-10-09T16:33:01Z | OWNER | I think |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
from_json jinja2 filter 718238967 | |
706473306 | https://github.com/simonw/datasette/issues/1005#issuecomment-706473306 | https://api.github.com/repos/simonw/datasette/issues/1005 | MDEyOklzc3VlQ29tbWVudDcwNjQ3MzMwNg== | simonw 9599 | 2020-10-10T02:45:46Z | 2020-10-10T02:45:46Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove xfail tests when new httpx is released 718259202 | ||
747209115 | https://github.com/simonw/datasette/issues/1005#issuecomment-747209115 | https://api.github.com/repos/simonw/datasette/issues/1005 | MDEyOklzc3VlQ29tbWVudDc0NzIwOTExNQ== | simonw 9599 | 2020-12-17T05:11:04Z | 2020-12-17T05:11:04Z | OWNER | Tracking ticket for the next HTTPX release is https://github.com/encode/httpx/pull/1403 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove xfail tests when new httpx is released 718259202 | |
787536267 | https://github.com/simonw/datasette/issues/1005#issuecomment-787536267 | https://api.github.com/repos/simonw/datasette/issues/1005 | MDEyOklzc3VlQ29tbWVudDc4NzUzNjI2Nw== | simonw 9599 | 2021-02-28T22:30:37Z | 2021-02-28T22:30:37Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove xfail tests when new httpx is released 718259202 | ||
706270877 | https://github.com/simonw/datasette/issues/1006#issuecomment-706270877 | https://api.github.com/repos/simonw/datasette/issues/1006 | MDEyOklzc3VlQ29tbWVudDcwNjI3MDg3Nw== | simonw 9599 | 2020-10-09T16:12:09Z | 2020-10-09T16:12:09Z | OWNER | This can become a section on https://docs.datasette.io/en/stable/internals.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation for datasette.client 718264811 | |
706305601 | https://github.com/simonw/datasette/issues/1006#issuecomment-706305601 | https://api.github.com/repos/simonw/datasette/issues/1006 | MDEyOklzc3VlQ29tbWVudDcwNjMwNTYwMQ== | simonw 9599 | 2020-10-09T17:22:31Z | 2020-10-09T17:22:31Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation for datasette.client 718264811 | ||
706276831 | https://github.com/simonw/datasette/issues/1007#issuecomment-706276831 | https://api.github.com/repos/simonw/datasette/issues/1007 | MDEyOklzc3VlQ29tbWVudDcwNjI3NjgzMQ== | simonw 9599 | 2020-10-09T16:23:51Z | 2020-10-09T16:23:51Z | OWNER | I don't appear to be using these anywhere, not sure why I spotted a warning (which I now can't find). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
set-env and add-path commands have been deprecated 718272593 | |
706450418 | https://github.com/simonw/datasette/issues/1010#issuecomment-706450418 | https://api.github.com/repos/simonw/datasette/issues/1010 | MDEyOklzc3VlQ29tbWVudDcwNjQ1MDQxOA== | simonw 9599 | 2020-10-10T00:08:27Z | 2020-10-10T00:09:13Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
json / CSV links are broken in Datasette 0.50 718484082 | ||
706455202 | https://github.com/simonw/datasette/issues/1010#issuecomment-706455202 | https://api.github.com/repos/simonw/datasette/issues/1010 | MDEyOklzc3VlQ29tbWVudDcwNjQ1NTIwMg== | simonw 9599 | 2020-10-10T00:33:46Z | 2020-10-10T00:33:46Z | OWNER | Since this is an urgent fix that needs to go out I've marked the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
json / CSV links are broken in Datasette 0.50 718484082 | |
706455505 | https://github.com/simonw/datasette/issues/1010#issuecomment-706455505 | https://api.github.com/repos/simonw/datasette/issues/1010 | MDEyOklzc3VlQ29tbWVudDcwNjQ1NTUwNQ== | simonw 9599 | 2020-10-10T00:35:41Z | 2020-10-10T00:35:41Z | OWNER | I missed the links on the query page: https://latest.datasette.io/fixtures?sql=select+pk1%2C+pk2%2C+pk3%2C+content+from+compound_three_primary_keys+order+by+pk1%2C+pk2%2C+pk3+limit+101 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
json / CSV links are broken in Datasette 0.50 718484082 | |
706480763 | https://github.com/simonw/datasette/issues/1011#issuecomment-706480763 | https://api.github.com/repos/simonw/datasette/issues/1011 | MDEyOklzc3VlQ29tbWVudDcwNjQ4MDc2Mw== | simonw 9599 | 2020-10-10T03:42:58Z | 2020-10-10T03:42:58Z | OWNER | Oh no! It's the same bug as #1010. Thanks for the report, I shall push out 0.50.2 as quickly as possible. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
column name links broken in 0.50.1 718521469 | |
706480791 | https://github.com/simonw/datasette/issues/1011#issuecomment-706480791 | https://api.github.com/repos/simonw/datasette/issues/1011 | MDEyOklzc3VlQ29tbWVudDcwNjQ4MDc5MQ== | simonw 9599 | 2020-10-10T03:43:13Z | 2020-10-10T03:43:13Z | OWNER | Demo: click column headers on https://latest.datasette.io/fixtures/compound_three_primary_keys |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
column name links broken in 0.50.1 718521469 | |
706482542 | https://github.com/simonw/datasette/issues/1011#issuecomment-706482542 | https://api.github.com/repos/simonw/datasette/issues/1011 | MDEyOklzc3VlQ29tbWVudDcwNjQ4MjU0Mg== | simonw 9599 | 2020-10-10T03:58:58Z | 2020-10-10T03:58:58Z | OWNER | The fix is live on the demo: https://latest.datasette.io/fixtures/compound_three_primary_keys?_sort_desc=pk2 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
column name links broken in 0.50.1 718521469 | |
706483680 | https://github.com/simonw/datasette/issues/1011#issuecomment-706483680 | https://api.github.com/repos/simonw/datasette/issues/1011 | MDEyOklzc3VlQ29tbWVudDcwNjQ4MzY4MA== | simonw 9599 | 2020-10-10T04:09:32Z | 2020-10-10T04:09:32Z | OWNER | OK, Datasette 0.50.2 is live on PyPI now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
column name links broken in 0.50.1 718521469 | |
969602825 | https://github.com/simonw/datasette/issues/1012#issuecomment-969602825 | https://api.github.com/repos/simonw/datasette/issues/1012 | IC_kwDOBm6k_c45yvcJ | simonw 9599 | 2021-11-16T01:21:14Z | 2021-11-16T01:21:14Z | OWNER | I'd been wondering how to get new classifiers into Trove - thanks, I'll give this a go. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
For 1.0 update trove classifier in setup.py 718540751 | |
969613166 | https://github.com/simonw/datasette/issues/1012#issuecomment-969613166 | https://api.github.com/repos/simonw/datasette/issues/1012 | IC_kwDOBm6k_c45yx9u | simonw 9599 | 2021-11-16T01:27:25Z | 2021-11-16T01:27:25Z | OWNER | Requested here: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
For 1.0 update trove classifier in setup.py 718540751 | |
706626796 | https://github.com/simonw/datasette/issues/1014#issuecomment-706626796 | https://api.github.com/repos/simonw/datasette/issues/1014 | MDEyOklzc3VlQ29tbWVudDcwNjYyNjc5Ng== | simonw 9599 | 2020-10-10T23:47:23Z | 2020-10-10T23:48:26Z | OWNER | The GitHub API has these:
WordPress API: https://css-tricks.com/wp-json/wp/v2/posts
It also has these:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Link: pagination HTTP headers 718723543 | |
706626913 | https://github.com/simonw/datasette/issues/1014#issuecomment-706626913 | https://api.github.com/repos/simonw/datasette/issues/1014 | MDEyOklzc3VlQ29tbWVudDcwNjYyNjkxMw== | simonw 9599 | 2020-10-10T23:49:08Z | 2020-10-10T23:49:08Z | OWNER | This should be documented on https://docs.datasette.io/en/stable/json_api.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Link: pagination HTTP headers 718723543 | |
706626934 | https://github.com/simonw/datasette/issues/1014#issuecomment-706626934 | https://api.github.com/repos/simonw/datasette/issues/1014 | MDEyOklzc3VlQ29tbWVudDcwNjYyNjkzNA== | simonw 9599 | 2020-10-10T23:49:25Z | 2020-10-10T23:49:25Z | OWNER | I'm just going to implement the 'next' one. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Link: pagination HTTP headers 718723543 | |
706626971 | https://github.com/simonw/datasette/issues/1014#issuecomment-706626971 | https://api.github.com/repos/simonw/datasette/issues/1014 | MDEyOklzc3VlQ29tbWVudDcwNjYyNjk3MQ== | simonw 9599 | 2020-10-10T23:49:57Z | 2020-10-10T23:49:57Z | OWNER | I won't offer a total-number header. That's expensive to calculate - no need to calculate it unless it's explicitly asked for. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Link: pagination HTTP headers 718723543 | |
706627035 | https://github.com/simonw/datasette/issues/1014#issuecomment-706627035 | https://api.github.com/repos/simonw/datasette/issues/1014 | MDEyOklzc3VlQ29tbWVudDcwNjYyNzAzNQ== | simonw 9599 | 2020-10-10T23:50:40Z | 2020-10-10T23:50:40Z | OWNER | First example page to add this to: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Link: pagination HTTP headers 718723543 | |
706631006 | https://github.com/simonw/datasette/issues/1014#issuecomment-706631006 | https://api.github.com/repos/simonw/datasette/issues/1014 | MDEyOklzc3VlQ29tbWVudDcwNjYzMTAwNg== | simonw 9599 | 2020-10-11T00:36:43Z | 2020-10-11T00:36:43Z | OWNER | Demo using paginate-json:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add Link: pagination HTTP headers 718723543 | |
706756879 | https://github.com/simonw/datasette/issues/1015#issuecomment-706756879 | https://api.github.com/repos/simonw/datasette/issues/1015 | MDEyOklzc3VlQ29tbWVudDcwNjc1Njg3OQ== | simonw 9599 | 2020-10-11T19:35:03Z | 2020-10-11T19:35:03Z | OWNER | Since plugins are installed via pip this would require Datasette to be restarted. This StackOverflow thread looks relevant to that: https://stackoverflow.com/questions/11329917/restart-python-script-from-within-itself This recipe looks promising: ```python import os import sys import psutil import logging def restart_program(): """Restarts the current program, with file objects and descriptors cleanup """
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research: could Datasette install its own plugins? 718910318 | |
706788010 | https://github.com/simonw/datasette/issues/1016#issuecomment-706788010 | https://api.github.com/repos/simonw/datasette/issues/1016 | MDEyOklzc3VlQ29tbWVudDcwNjc4ODAxMA== | simonw 9599 | 2020-10-11T23:50:39Z | 2020-10-11T23:50:39Z | OWNER | For consistency can reuse the icon used on selected facets: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add a "delete" icon next to filters (in addition to "remove filter") 718953669 | |
706821561 | https://github.com/simonw/datasette/issues/1016#issuecomment-706821561 | https://api.github.com/repos/simonw/datasette/issues/1016 | MDEyOklzc3VlQ29tbWVudDcwNjgyMTU2MQ== | simonw 9599 | 2020-10-12T02:33:52Z | 2020-10-12T02:33:52Z | OWNER | Should this do the equivalent of clicking Apply for you? I don't think so - that wouldn't fit with how the rest of that block of controls works. But if it makes the row vanish it may not be clear to the user that they still need to click Apply. Easiest thing would be for it to select the "remove filter" column and blank out the boxes. I will try that first. The code can go in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add a "delete" icon next to filters (in addition to "remove filter") 718953669 | |
706828375 | https://github.com/simonw/datasette/issues/1016#issuecomment-706828375 | https://api.github.com/repos/simonw/datasette/issues/1016 | MDEyOklzc3VlQ29tbWVudDcwNjgyODM3NQ== | simonw 9599 | 2020-10-12T03:01:58Z | 2020-10-12T03:01:58Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add a "delete" icon next to filters (in addition to "remove filter") 718953669 | ||
708113989 | https://github.com/simonw/datasette/issues/1019#issuecomment-708113989 | https://api.github.com/repos/simonw/datasette/issues/1019 | MDEyOklzc3VlQ29tbWVudDcwODExMzk4OQ== | simonw 9599 | 2020-10-14T02:22:40Z | 2020-10-14T02:22:40Z | OWNER | I've found myself wanting this too. It should respect the allow-sql permission so it doesn't display if the user isn't able to run custom SQL. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Edit SQL" button on canned queries 721050815 | |
708114636 | https://github.com/simonw/datasette/issues/1019#issuecomment-708114636 | https://api.github.com/repos/simonw/datasette/issues/1019 | MDEyOklzc3VlQ29tbWVudDcwODExNDYzNg== | simonw 9599 | 2020-10-14T02:24:56Z | 2020-10-14T02:24:56Z | OWNER | So it would appear on this page: https://latest.datasette.io/fixtures/neighborhood_search#fragment-goes-here Probably as a blue "Edit SQL" link next to those buttons. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Edit SQL" button on canned queries 721050815 | |
708127294 | https://github.com/simonw/datasette/issues/1019#issuecomment-708127294 | https://api.github.com/repos/simonw/datasette/issues/1019 | MDEyOklzc3VlQ29tbWVudDcwODEyNzI5NA== | simonw 9599 | 2020-10-14T03:08:13Z | 2020-10-14T03:08:13Z | OWNER | Maybe like this: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Edit SQL" button on canned queries 721050815 | |
708128286 | https://github.com/simonw/datasette/issues/1019#issuecomment-708128286 | https://api.github.com/repos/simonw/datasette/issues/1019 | MDEyOklzc3VlQ29tbWVudDcwODEyODI4Ng== | simonw 9599 | 2020-10-14T03:11:33Z | 2020-10-14T03:14:07Z | OWNER | Another edge-case: https://latest.datasette.io/fixtures/pragma_cache_size ( Can use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Edit SQL" button on canned queries 721050815 | |
708130290 | https://github.com/simonw/datasette/issues/1019#issuecomment-708130290 | https://api.github.com/repos/simonw/datasette/issues/1019 | MDEyOklzc3VlQ29tbWVudDcwODEzMDI5MA== | simonw 9599 | 2020-10-14T03:17:57Z | 2020-10-14T03:17:57Z | OWNER | One last edge-case (I think) - magic parameters aren't supported for non-canned-queries, so if a query includes those it shouldn't show an Edit SQL link: https://latest.datasette.io/fixtures/magic_parameters I don't have a clean way of detecting if a query contains defined magic parameters, but I can instead do a dumb substring match for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Edit SQL" button on canned queries 721050815 | |
708139822 | https://github.com/simonw/datasette/issues/1019#issuecomment-708139822 | https://api.github.com/repos/simonw/datasette/issues/1019 | MDEyOklzc3VlQ29tbWVudDcwODEzOTgyMg== | simonw 9599 | 2020-10-14T03:53:21Z | 2020-10-14T03:53:21Z | OWNER | Demos:
- https://latest.datasette.io/fixtures/neighborhood_search has the link
- https://latest.datasette.io/fixtures/neighborhood_search?text=ber has the link, and the link passes through the parameter that has already been entered
- https://latest.datasette.io/fixtures/%F0%9D%90%9C%F0%9D%90%A2%F0%9D%90%AD%F0%9D%90%A2%F0%9D%90%9E%F0%9D%90%AC has the link
- https://latest.datasette.io/fixtures/pragma_cache_size does not have the link ( |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Edit SQL" button on canned queries 721050815 | |
754192267 | https://github.com/simonw/datasette/issues/102#issuecomment-754192267 | https://api.github.com/repos/simonw/datasette/issues/102 | MDEyOklzc3VlQ29tbWVudDc1NDE5MjI2Nw== | simonw 9599 | 2021-01-04T20:13:19Z | 2021-01-04T20:13:19Z | OWNER | I'm more likely to do Lambda than Elastic Beanstalk, especially now the size limit for Lambdas has been increased as part of their support for Docker. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish elasticbeanstalk 274264175 | |
708669178 | https://github.com/simonw/datasette/issues/1020#issuecomment-708669178 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcwODY2OTE3OA== | simonw 9599 | 2020-10-14T21:26:37Z | 2020-10-14T21:26:37Z | OWNER | One option: add an optional request=... parameter which can be passed the current request, and will use that to populate the mock request with the exception of the bits that are passed explicitly (like the path):
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
708669778 | https://github.com/simonw/datasette/issues/1020#issuecomment-708669778 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcwODY2OTc3OA== | simonw 9599 | 2020-10-14T21:27:58Z | 2020-10-14T21:27:58Z | OWNER | Maybe these internal requests should have some kind of flag that lets the underlying code tell that it's being called internally. One option: add a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
708670392 | https://github.com/simonw/datasette/issues/1020#issuecomment-708670392 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcwODY3MDM5Mg== | simonw 9599 | 2020-10-14T21:29:22Z | 2020-10-14T21:29:22Z | OWNER | I should also verify (and probably unit-test) that things like the
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
712481568 | https://github.com/simonw/datasette/issues/1020#issuecomment-712481568 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MTU2OA== | simonw 9599 | 2020-10-19T22:41:59Z | 2020-10-19T22:41:59Z | OWNER | It turns out this works just fine:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
712482015 | https://github.com/simonw/datasette/issues/1020#issuecomment-712482015 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MjAxNQ== | simonw 9599 | 2020-10-19T22:43:24Z | 2020-10-19T22:43:24Z | OWNER | ... unless I want to support authentication mechanisms that work based on incoming IP address instead, in which case there's an argument for copying more over from the incoming request. Tailscale is a good example of a system where authentication based on IP address can actually work well, so this is worth doing. Also, there might be authentication mechanisms which work by setting a custom header on the incoming request (not to mention the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
712482504 | https://github.com/simonw/datasette/issues/1020#issuecomment-712482504 | https://api.github.com/repos/simonw/datasette/issues/1020 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MjUwNA== | simonw 9599 | 2020-10-19T22:45:01Z | 2020-10-19T22:45:01Z | OWNER | I'm having trouble coming up with the syntax for this. Here's one option:
We're essentially combining that request with the other arguments passed to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Method for datasette.client() to forward on authentication 721068929 | |
712604541 | https://github.com/simonw/datasette/issues/1023#issuecomment-712604541 | https://api.github.com/repos/simonw/datasette/issues/1023 | MDEyOklzc3VlQ29tbWVudDcxMjYwNDU0MQ== | simonw 9599 | 2020-10-20T05:39:44Z | 2020-10-20T05:39:44Z | OWNER | Here's the alpha with most of this work ready for people to preview: https://github.com/simonw/datasette/releases/tag/0.51a0 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix issues relating to base_url 722673818 | |
712607608 | https://github.com/simonw/datasette/issues/1023#issuecomment-712607608 | https://api.github.com/repos/simonw/datasette/issues/1023 | MDEyOklzc3VlQ29tbWVudDcxMjYwNzYwOA== | simonw 9599 | 2020-10-20T05:47:42Z | 2020-10-20T05:47:42Z | OWNER | Requested alpha testers in https://github.com/simonw/datasette/issues/838#issuecomment-712604364 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix issues relating to base_url 722673818 | |
719986922 | https://github.com/simonw/datasette/issues/1023#issuecomment-719986922 | https://api.github.com/repos/simonw/datasette/issues/1023 | MDEyOklzc3VlQ29tbWVudDcxOTk4NjkyMg== | simonw 9599 | 2020-10-31T20:51:01Z | 2020-10-31T20:51:01Z | OWNER | This should all be working correctly now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix issues relating to base_url 722673818 | |
709589297 | https://github.com/simonw/datasette/issues/1024#issuecomment-709589297 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTU4OTI5Nw== | simonw 9599 | 2020-10-15T21:04:31Z | 2020-10-15T21:04:31Z | OWNER | I think nginx or Apache would be the best tools for this. I'm inclined to try with nginx first since I know it better. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709590337 | https://github.com/simonw/datasette/issues/1024#issuecomment-709590337 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTU5MDMzNw== | simonw 9599 | 2020-10-15T21:06:24Z | 2020-10-15T21:07:19Z | OWNER | From https://stackoverflow.com/questions/32549684/nginx-proxy-and-remove-proxy-pass-prefix/32550251 it looks like the config I should use is: ``` server { listen 80; server_name example.com;
} ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709590941 | https://github.com/simonw/datasette/issues/1024#issuecomment-709590941 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTU5MDk0MQ== | simonw 9599 | 2020-10-15T21:07:47Z | 2020-10-15T21:07:47Z | OWNER | On macOS I ran |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709595960 | https://github.com/simonw/datasette/issues/1024#issuecomment-709595960 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTU5NTk2MA== | simonw 9599 | 2020-10-15T21:18:14Z | 2020-10-15T21:18:14Z | OWNER | Typing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709597589 | https://github.com/simonw/datasette/issues/1024#issuecomment-709597589 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTU5NzU4OQ== | simonw 9599 | 2020-10-15T21:21:53Z | 2020-10-15T21:23:25Z | OWNER | Here's a recipe for running nginx against a custom config file: https://gist.github.com/simonw/35f0ebf9c1d6df158759 ``` daemon off; events { worker_connections 1024; } http { access_log /dev/stdout; error_log /dev/stderr; types { text/html html htm shtml; text/css css; image/gif gif; image/jpeg jpeg jpg; application/javascript js; } server {
listen 8002;
index index.html;
root app;
}
}
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709598324 | https://github.com/simonw/datasette/issues/1024#issuecomment-709598324 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTU5ODMyNA== | simonw 9599 | 2020-10-15T21:23:33Z | 2020-10-15T21:26:55Z | OWNER | Combining these two examples, here's the config file I am going to use for this. I'll save this as events { worker_connections 1024; } http { server { listen 8000;
}
}
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709600335 | https://github.com/simonw/datasette/issues/1024#issuecomment-709600335 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTYwMDMzNQ== | simonw 9599 | 2020-10-15T21:28:02Z | 2020-10-15T22:25:43Z | OWNER | This is working OK so far: I'll try crawling it with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709622973 | https://github.com/simonw/datasette/issues/1024#issuecomment-709622973 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTYyMjk3Mw== | simonw 9599 | 2020-10-15T22:27:31Z | 2020-10-15T22:27:31Z | OWNER | Here's how I tested it:
Here's what I got in
2020-10-15 15:23:09 (71.6 MB/s) - ‘localhost:8000/datasette/index.html’ saved [1276] Loading robots.txt; please ignore errors. --2020-10-15 15:23:09-- http://localhost:8000/robots.txt Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 404 Not Found -- --2020-10-15 15:23:09-- http://localhost:8000/robots.txt Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 404 Not Found 2020-10-15 15:23:09 ERROR 404: Not Found. --2020-10-15 15:23:09-- http://localhost:8000/datasette/-/static/app.css?b576be Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 200 OK Length: 8563 (8.4K) [text/css] -- -- 2020-10-15 15:23:13 (7.90 MB/s) - ‘localhost:8000/datasette/fixtures/primary_key_multiple_columns_explicit_label.json?_shape=object’ saved [58] --2020-10-15 15:23:13-- http://localhost:8000/-/static-plugins/datasette_cluster_map/datasette-cluster-map.js Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 404 Not Found 2020-10-15 15:23:13 ERROR 404: Not Found. --2020-10-15 15:23:13-- http://localhost:8000/datasette/fixtures?sql=select+pk%2C+name%2C+address%2C+latitude%2C+longitude+from+roadside_attractions+order+by+pk+limit+101 Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] -- -- 2020-10-15 15:23:13 (84.3 MB/s) - ‘localhost:8000/datasette/fixtures/roadside_attractions.json?_shape=object’ saved [619] --2020-10-15 15:23:13-- http://localhost:8000/datasette/fixtures/%5C%22https://www.openstreetmap.org/copyright%5C%22 Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 404 Not Found 2020-10-15 15:23:13 ERROR 404: Not Found. --2020-10-15 15:23:13-- http://localhost:8000/datasette/fixtures?sql=select+pk%2C+text1%2C+text2%2C+%5Bname+with+.+and+spaces%5D+from+searchable+order+by+pk+limit+101 Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] -- -- 2020-10-15 15:23:14 (28.6 MB/s) - ‘localhost:8000/datasette/fixtures/searchable_view_configured_by_metadata.json?_shape=array&_nl=on’ saved [180] --2020-10-15 15:23:14-- http://localhost:8000/ Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 404 Not Found 2020-10-15 15:23:14 ERROR 404: Not Found. --2020-10-15 15:23:14-- http://localhost:8000/datasette/fixtures?sql=select+pk1%2C+pk2%2C+pk3%2C+content+from+compound_three_primary_keys+order+by+pk1%2C+pk2%2C+pk3+limit+101&_hide_sql=1 Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] -- -- 2020-10-15 15:23:21 (64.1 MB/s) - ‘localhost:8000/datasette/fixtures.csv?sql=select+pk,+name,+address,+latitude,+longitude+from+roadside_attractions+order+by+pk+limit+101&_size=max’ saved [403] --2020-10-15 15:23:21-- http://localhost:8000/datasette/%5C%22https://www.openstreetmap.org/copyright%5C%22 Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 404 Not Found 2020-10-15 15:23:21 ERROR 404: Not Found. --2020-10-15 15:23:21-- http://localhost:8000/datasette/fixtures?sql=select+pk%2C+name%2C+address%2C+latitude%2C+longitude+from+roadside_attractions+order+by+pk+desc+limit+101 Reusing existing connection to localhost:8000. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709625063 | https://github.com/simonw/datasette/issues/1024#issuecomment-709625063 | https://api.github.com/repos/simonw/datasette/issues/1024 | MDEyOklzc3VlQ29tbWVudDcwOTYyNTA2Mw== | simonw 9599 | 2020-10-15T22:33:22Z | 2020-10-15T22:33:22Z | OWNER | Of those errors...
I'm not sure why I'm getting a hit to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out how to run an environment that exercises the base_url proxy setting 722674708 | |
709629920 | https://github.com/simonw/datasette/issues/1025#issuecomment-709629920 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcwOTYyOTkyMA== | simonw 9599 | 2020-10-15T22:48:20Z | 2020-10-15T22:48:20Z | OWNER | Also these:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
709632136 | https://github.com/simonw/datasette/issues/1025#issuecomment-709632136 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcwOTYzMjEzNg== | simonw 9599 | 2020-10-15T22:55:44Z | 2020-10-15T22:55:44Z | OWNER | It looks like there are also some generated redirect responses that don't take |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
709632314 | https://github.com/simonw/datasette/issues/1025#issuecomment-709632314 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcwOTYzMjMxNA== | simonw 9599 | 2020-10-15T22:56:25Z | 2020-10-15T22:56:34Z | OWNER | That |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712481127 | https://github.com/simonw/datasette/issues/1025#issuecomment-712481127 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MTEyNw== | simonw 9599 | 2020-10-19T22:40:37Z | 2020-10-20T01:21:36Z | OWNER | Was blocked on #904 - now unblocked. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712525557 | https://github.com/simonw/datasette/issues/1025#issuecomment-712525557 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjUyNTU1Nw== | simonw 9599 | 2020-10-20T01:07:02Z | 2020-10-20T01:07:02Z | OWNER | I fixed the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712579674 | https://github.com/simonw/datasette/issues/1025#issuecomment-712579674 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjU3OTY3NA== | simonw 9599 | 2020-10-20T04:24:10Z | 2020-10-20T04:24:10Z | OWNER | Changed my mind, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
712593790 | https://github.com/simonw/datasette/issues/1025#issuecomment-712593790 | https://api.github.com/repos/simonw/datasette/issues/1025 | MDEyOklzc3VlQ29tbWVudDcxMjU5Mzc5MA== | simonw 9599 | 2020-10-20T05:12:36Z | 2020-10-20T05:12:36Z | OWNER | I'm going to leave the cookies code setting cookies to default to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix last remaining links to "/" that do not respect base_url 722724086 | |
709636372 | https://github.com/simonw/datasette/issues/1026#issuecomment-709636372 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcwOTYzNjM3Mg== | simonw 9599 | 2020-10-15T23:09:34Z | 2020-10-15T23:09:34Z | OWNER | I'm inclined to say that internal requests should ignore The one catch here is plugins that might want to proxy the current incoming URL for some reason - where that incoming Actually those should be fine - because it will have been stripped off earlier: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
712607227 | https://github.com/simonw/datasette/issues/1026#issuecomment-712607227 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxMjYwNzIyNw== | simonw 9599 | 2020-10-20T05:46:44Z | 2020-10-20T05:46:44Z | OWNER | We have a solution for this now: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
712959034 | https://github.com/simonw/datasette/issues/1026#issuecomment-712959034 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxMjk1OTAzNA== | simonw 9599 | 2020-10-20T16:03:33Z | 2020-10-20T16:03:55Z | OWNER | Reconsidering this: I think the The clincher on this is when I went to add a section to the But there's a problem: to handle table name escaping users are likely to want to use
This risks adding the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
712962517 | https://github.com/simonw/datasette/issues/1026#issuecomment-712962517 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxMjk2MjUxNw== | simonw 9599 | 2020-10-20T16:09:12Z | 2020-10-20T16:09:12Z | OWNER | That Maybe |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
719959754 | https://github.com/simonw/datasette/issues/1026#issuecomment-719959754 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxOTk1OTc1NA== | simonw 9599 | 2020-10-31T16:56:35Z | 2020-10-31T16:56:35Z | OWNER | 1041 can also benefit from the string subclass that shows that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
709646865 | https://github.com/simonw/datasette/issues/1027#issuecomment-709646865 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcwOTY0Njg2NQ== | simonw 9599 | 2020-10-15T23:47:08Z | 2020-10-15T23:47:08Z | OWNER | It should cover both nginx and Apache. nginx config is here: https://github.com/simonw/datasette/issues/1024#issuecomment-709598324 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
709647525 | https://github.com/simonw/datasette/issues/1027#issuecomment-709647525 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcwOTY0NzUyNQ== | simonw 9599 | 2020-10-15T23:49:51Z | 2020-10-15T23:51:39Z | OWNER | I'll install Apache on macOS to figure this out using https://formulae.brew.sh/formula/httpd
``` ==> httpd DocumentRoot is /usr/local/var/www. The default ports have been set in /usr/local/etc/httpd/httpd.conf to 8080 and in /usr/local/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo. To have launchd start httpd now and restart at login: brew services start httpd Or, if you don't want/need a background service you can just run: apachectl start ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
710750038 | https://github.com/simonw/datasette/issues/1027#issuecomment-710750038 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcxMDc1MDAzOA== | simonw 9599 | 2020-10-17T05:00:19Z | 2020-10-17T05:00:19Z | OWNER | Running |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
712320103 | https://github.com/simonw/datasette/issues/1027#issuecomment-712320103 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcxMjMyMDEwMw== | simonw 9599 | 2020-10-19T17:35:04Z | 2020-10-19T17:35:04Z | OWNER | Still need to configure proxying though. https://www.netnea.com/cms/apache-tutorial-9_setting-up-a-reverse-proxy/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
719988113 | https://github.com/simonw/datasette/issues/1027#issuecomment-719988113 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcxOTk4ODExMw== | simonw 9599 | 2020-10-31T21:03:37Z | 2020-10-31T21:03:37Z | OWNER | On my Mac, I run:
Then I edited
Now hitting http://localhost:8081/datasette-prefix/fixtures/compound_three_primary_keys worked! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
712480866 | https://github.com/simonw/datasette/issues/1028#issuecomment-712480866 | https://api.github.com/repos/simonw/datasette/issues/1028 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MDg2Ng== | simonw 9599 | 2020-10-19T22:39:51Z | 2020-10-19T22:39:51Z | OWNER | Documentation: https://docs.datasette.io/en/latest/spatialite.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--load-extension=spatialite shortcut 723803777 | |
754188099 | https://github.com/simonw/datasette/issues/103#issuecomment-754188099 | https://api.github.com/repos/simonw/datasette/issues/103 | MDEyOklzc3VlQ29tbWVudDc1NDE4ODA5OQ== | simonw 9599 | 2021-01-04T20:05:14Z | 2021-01-04T20:05:14Z | OWNER | Wontfix, Cloud Run is already implemented and is a better fit for Datasette. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish appengine 274265878 | |
712363344 | https://github.com/simonw/datasette/issues/1032#issuecomment-712363344 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2MzM0NA== | simonw 9599 | 2020-10-19T18:31:46Z | 2020-10-19T18:31:46Z | OWNER | As always with dates, the challenge is America. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712363825 | https://github.com/simonw/datasette/issues/1032#issuecomment-712363825 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2MzgyNQ== | simonw 9599 | 2020-10-19T18:32:43Z | 2020-10-19T18:32:43Z | OWNER | Horrible thought: I bet there is data out there that uses more than one date format in the same table! So this needs to be exposed as a visible per-column setting. Column action menu can help here, although it's not yet the full solution because it isn't yet visible on mobile. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712364317 | https://github.com/simonw/datasette/issues/1032#issuecomment-712364317 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NDMxNw== | simonw 9599 | 2020-10-19T18:33:42Z | 2020-10-19T18:33:42Z | OWNER | Related challenge: timezones. I think I'll punt on those for the moment and just concentrate on dates, but I should keep them in mind. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712364532 | https://github.com/simonw/datasette/issues/1032#issuecomment-712364532 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NDUzMg== | simonw 9599 | 2020-10-19T18:34:10Z | 2020-10-19T18:34:10Z | OWNER | Lots of great example date data in https://biglocal.datasettes.com/COVID_WARN_Notices |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712365236 | https://github.com/simonw/datasette/issues/1032#issuecomment-712365236 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NTIzNg== | simonw 9599 | 2020-10-19T18:35:25Z | 2020-10-19T18:35:25Z | OWNER | Since I'm dealing with tables of data I usually have a whole column of examples, so heuristics that check for numbers-greater-than-12 could actually work well for many cases. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712365439 | https://github.com/simonw/datasette/issues/1032#issuecomment-712365439 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NTQzOQ== | simonw 9599 | 2020-10-19T18:35:50Z | 2020-10-19T18:37:57Z | OWNER | Maybe I don't need to add
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712367285 | https://github.com/simonw/datasette/issues/1032#issuecomment-712367285 | https://api.github.com/repos/simonw/datasette/issues/1032 | MDEyOklzc3VlQ29tbWVudDcxMjM2NzI4NQ== | simonw 9599 | 2020-10-19T18:39:32Z | 2020-10-19T18:39:32Z | OWNER | https://github.com/digital-land/brownfield-land-collection/blob/a09ddf9960a6af59e72dc02448f7b645e59bf227/bin/harmonise.py#L217-L247 is a beautiful example of this problem. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bring date parsing into Datasette core 724878151 | |
712529413 | https://github.com/simonw/datasette/issues/1033#issuecomment-712529413 | https://api.github.com/repos/simonw/datasette/issues/1033 | MDEyOklzc3VlQ29tbWVudDcxMjUyOTQxMw== | simonw 9599 | 2020-10-20T01:21:12Z | 2020-10-20T01:21:12Z | OWNER | Also refs #1023 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.static_plugins(...) method 725099777 | |
714681365 | https://github.com/simonw/datasette/issues/1033#issuecomment-714681365 | https://api.github.com/repos/simonw/datasette/issues/1033 | MDEyOklzc3VlQ29tbWVudDcxNDY4MTM2NQ== | simonw 9599 | 2020-10-22T18:33:48Z | 2020-10-22T18:33:48Z | OWNER | That's a good question - I hadn't considered that. I'm going to open a new issue to have |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.static_plugins(...) method 725099777 | |
716048564 | https://github.com/simonw/datasette/issues/1033#issuecomment-716048564 | https://api.github.com/repos/simonw/datasette/issues/1033 | MDEyOklzc3VlQ29tbWVudDcxNjA0ODU2NA== | simonw 9599 | 2020-10-24T20:08:31Z | 2020-10-24T20:08:31Z | OWNER | Documentation here: https://docs.datasette.io/en/latest/internals.html#datasette-urls |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.urls.static_plugins(...) method 725099777 | |
712580976 | https://github.com/simonw/datasette/issues/1034#issuecomment-712580976 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxMjU4MDk3Ng== | simonw 9599 | 2020-10-20T04:29:23Z | 2020-10-20T04:29:23Z | OWNER | Most obvious option is base64. Any other potential solutions I'm missing? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
issue >1000