issue_comments
34 rows where "created_at" is on date 2020-09-15 and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: issue_url, created_at (date), updated_at (date)
user 1
- simonw · 34 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
693009048 | https://github.com/simonw/datasette/issues/943#issuecomment-693009048 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwOTA0OA== | simonw 9599 | 2020-09-15T22:17:30Z | 2020-09-22T14:37:00Z | OWNER | Maybe instead of implementing
Maybe I could get this working by returning an object from |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693010291 | https://github.com/simonw/datasette/issues/943#issuecomment-693010291 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAxMDI5MQ== | simonw 9599 | 2020-09-15T22:20:55Z | 2020-09-15T22:20:55Z | OWNER | Should I instantiate a single https://www.python-httpx.org/advanced/#why-use-a-client says that the main benefit of a Client instance is HTTP connection pooling - which isn't an issue for these internal requests since they won't be using the HTTP protocol at all, they'll be calling the ASGI application directly. So I'm leaning towards instantiating a fresh client for every internal request. I'll run a microbenchmark to check that this doesn't have any unpleasant performance implications. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693008540 | https://github.com/simonw/datasette/issues/943#issuecomment-693008540 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwODU0MA== | simonw 9599 | 2020-09-15T22:16:07Z | 2020-09-15T22:16:07Z | OWNER | I think I can use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693007512 | https://github.com/simonw/datasette/issues/943#issuecomment-693007512 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwNzUxMg== | simonw 9599 | 2020-09-15T22:13:30Z | 2020-09-15T22:13:30Z | OWNER | I could solve streaming using something like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693005033 | https://github.com/simonw/datasette/issues/943#issuecomment-693005033 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwNTAzMw== | simonw 9599 | 2020-09-15T22:06:58Z | 2020-09-15T22:10:58Z | OWNER | What if This would make It would also solve the return type problem: I would return whatever |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693004770 | https://github.com/simonw/datasette/issues/943#issuecomment-693004770 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwNDc3MA== | simonw 9599 | 2020-09-15T22:06:13Z | 2020-09-15T22:06:13Z | OWNER | I'm tempted to create a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693004572 | https://github.com/simonw/datasette/issues/943#issuecomment-693004572 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwNDU3Mg== | simonw 9599 | 2020-09-15T22:05:39Z | 2020-09-15T22:05:39Z | OWNER | Maybe these methods become the way most Datasette tests are written, replacing the existing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693004296 | https://github.com/simonw/datasette/issues/943#issuecomment-693004296 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwNDI5Ng== | simonw 9599 | 2020-09-15T22:04:54Z | 2020-09-15T22:04:54Z | OWNER | So what should I do about streaming responses? I could deliberately ignore them - through an exception if you attempt to run I could load the entire response into memory and return it as a wrapped object. I could support some kind of asynchronous iterator mechanism. This would be pretty elegant if I could decide the right syntax for it - it would allow plugins to take advantage of other internal URLs that return streaming content without needing to load that content entirely into memory in order to process it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693003652 | https://github.com/simonw/datasette/issues/943#issuecomment-693003652 | https://api.github.com/repos/simonw/datasette/issues/943 | MDEyOklzc3VlQ29tbWVudDY5MzAwMzY1Mg== | simonw 9599 | 2020-09-15T22:03:08Z | 2020-09-15T22:03:08Z | OWNER | I'm not going to mess around with formats - you'll get back the exact response that a web client would receive. Question: what should the response object look like? e.g. if you do:
What should I could reuse the Datasette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
await datasette.client.get(path) mechanism for executing internal requests 681375466 | |
693001937 | https://github.com/simonw/datasette/issues/891#issuecomment-693001937 | https://api.github.com/repos/simonw/datasette/issues/891 | MDEyOklzc3VlQ29tbWVudDY5MzAwMTkzNw== | simonw 9599 | 2020-09-15T21:58:56Z | 2020-09-15T21:58:56Z | OWNER | Here's what that looks like:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider using enable_callback_tracebacks(True) 653529088 | |
693000522 | https://github.com/simonw/datasette/issues/891#issuecomment-693000522 | https://api.github.com/repos/simonw/datasette/issues/891 | MDEyOklzc3VlQ29tbWVudDY5MzAwMDUyMg== | simonw 9599 | 2020-09-15T21:55:11Z | 2020-09-15T21:55:11Z | OWNER | I'm going to turn this on. If people complain about it I can turn it off again (or make it a configuration setting). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider using enable_callback_tracebacks(True) 653529088 | |
692999893 | https://github.com/simonw/datasette/issues/891#issuecomment-692999893 | https://api.github.com/repos/simonw/datasette/issues/891 | MDEyOklzc3VlQ29tbWVudDY5Mjk5OTg5Mw== | simonw 9599 | 2020-09-15T21:53:36Z | 2020-09-15T21:53:36Z | OWNER | Here's the commit (from 15 years ago) where
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider using enable_callback_tracebacks(True) 653529088 | |
692998061 | https://github.com/simonw/datasette/issues/891#issuecomment-692998061 | https://api.github.com/repos/simonw/datasette/issues/891 | MDEyOklzc3VlQ29tbWVudDY5Mjk5ODA2MQ== | simonw 9599 | 2020-09-15T21:49:03Z | 2020-09-15T21:49:03Z | OWNER | I've been trying to figure out why this is an optional setting that defaults to off. I think it's because it writes directly to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider using enable_callback_tracebacks(True) 653529088 | |
692968792 | https://github.com/simonw/datasette/issues/891#issuecomment-692968792 | https://api.github.com/repos/simonw/datasette/issues/891 | MDEyOklzc3VlQ29tbWVudDY5Mjk2ODc5Mg== | simonw 9599 | 2020-09-15T20:44:15Z | 2020-09-15T20:44:15Z | OWNER | https://github.com/peter-wangxu/persist-queue/issues/74 warns that this might not work with PyPy. I could solve that with:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider using enable_callback_tracebacks(True) 653529088 | |
692967733 | https://github.com/simonw/datasette/issues/877#issuecomment-692967733 | https://api.github.com/repos/simonw/datasette/issues/877 | MDEyOklzc3VlQ29tbWVudDY5Mjk2NzczMw== | simonw 9599 | 2020-09-15T20:42:04Z | 2020-09-15T20:42:04Z | OWNER | I'm not going to drop CSRF protection - it's still needed for older browsers - but I have relaxed the circumstances under which it is applied. It only applies to requests that include cookies for example, so API clients that don't send cookies don't need to worry about it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider dropping explicit CSRF protection entirely? 648421105 | |
692967123 | https://github.com/simonw/datasette/issues/889#issuecomment-692967123 | https://api.github.com/repos/simonw/datasette/issues/889 | MDEyOklzc3VlQ29tbWVudDY5Mjk2NzEyMw== | simonw 9599 | 2020-09-15T20:40:52Z | 2020-09-15T20:40:52Z | OWNER | Thanks - I've fixed this in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
asgi_wrapper plugin hook is crashing at startup 649907676 | |
692966625 | https://github.com/simonw/datasette/issues/888#issuecomment-692966625 | https://api.github.com/repos/simonw/datasette/issues/888 | MDEyOklzc3VlQ29tbWVudDY5Mjk2NjYyNQ== | simonw 9599 | 2020-09-15T20:39:49Z | 2020-09-15T20:39:49Z | OWNER | Thanks, I've fixed that now. It only affected the GitHub release notes - the ones at https://docs.datasette.io/en/stable/changelog.html#v0-45 had the correct links. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
URLs in release notes point to 127.0.0.1 649702801 | |
692965761 | https://github.com/simonw/datasette/issues/634#issuecomment-692965761 | https://api.github.com/repos/simonw/datasette/issues/634 | MDEyOklzc3VlQ29tbWVudDY5Mjk2NTc2MQ== | simonw 9599 | 2020-09-15T20:37:58Z | 2020-09-15T20:37:58Z | OWNER | I fixed this in 5e0b72247ecab4ce0fcec599b77a83d73a480872 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't run tests twice when releasing a tag 522352520 | |
692965391 | https://github.com/simonw/datasette/issues/849#issuecomment-692965391 | https://api.github.com/repos/simonw/datasette/issues/849 | MDEyOklzc3VlQ29tbWVudDY5Mjk2NTM5MQ== | simonw 9599 | 2020-09-15T20:37:14Z | 2020-09-15T20:37:14Z | OWNER | I've been running on |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename master branch to main 639072811 | |
692965022 | https://github.com/simonw/datasette/issues/956#issuecomment-692965022 | https://api.github.com/repos/simonw/datasette/issues/956 | MDEyOklzc3VlQ29tbWVudDY5Mjk2NTAyMg== | simonw 9599 | 2020-09-15T20:36:34Z | 2020-09-15T20:36:34Z | OWNER | https://hub.docker.com/r/datasetteproject/datasette/tags - 0.49.1 was successfully pushed to Docker Hub by https://github.com/simonw/datasette/runs/1119815175?check_suite_focus=true |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Push to Docker Hub failed - but it shouldn't run for alpha releases anyway 688427751 | |
692955850 | https://github.com/simonw/datasette/issues/956#issuecomment-692955850 | https://api.github.com/repos/simonw/datasette/issues/956 | MDEyOklzc3VlQ29tbWVudDY5Mjk1NTg1MA== | simonw 9599 | 2020-09-15T20:17:49Z | 2020-09-15T20:17:49Z | OWNER | I think I've fixed this with recent changes I made as part of #941 - but I won't know until I release the next version. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Push to Docker Hub failed - but it shouldn't run for alpha releases anyway 688427751 | |
692955379 | https://github.com/simonw/datasette/issues/946#issuecomment-692955379 | https://api.github.com/repos/simonw/datasette/issues/946 | MDEyOklzc3VlQ29tbWVudDY5Mjk1NTM3OQ== | simonw 9599 | 2020-09-15T20:16:50Z | 2020-09-15T20:16:50Z | OWNER | Can't reproduce this bug now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Exception in tracing code 682184050 | |
692953174 | https://github.com/simonw/datasette/issues/492#issuecomment-692953174 | https://api.github.com/repos/simonw/datasette/issues/492 | MDEyOklzc3VlQ29tbWVudDY5Mjk1MzE3NA== | simonw 9599 | 2020-09-15T20:12:29Z | 2020-09-15T20:12:29Z | OWNER | I fixed this in ea340cf320a2566d24517fb4a0c9852c5059e771 for #963 (a duplicate of this issue). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Facets not correctly persisted in hidden form fields 449854604 | |
692951144 | https://github.com/simonw/datasette/issues/967#issuecomment-692951144 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5Mjk1MTE0NA== | simonw 9599 | 2020-09-15T20:08:12Z | 2020-09-15T20:08:12Z | OWNER | I think the easiest fix is for me to ensure that calls to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692946616 | https://github.com/simonw/datasette/issues/967#issuecomment-692946616 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5Mjk0NjYxNg== | simonw 9599 | 2020-09-15T19:59:21Z | 2020-09-15T19:59:21Z | OWNER | I wish I could call https://www.sqlite.org/c3ref/bind_parameter_count.html and https://www.sqlite.org/c3ref/bind_parameter_name.html from Python. Might be possible to do that using
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692945504 | https://github.com/simonw/datasette/issues/967#issuecomment-692945504 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5Mjk0NTUwNA== | simonw 9599 | 2020-09-15T19:57:10Z | 2020-09-15T19:57:10Z | OWNER | So the problem actually occurs when the Relevant code: And: I'm passing a special magic parameters dictionary for the Python I tracked down the relevant C code: ```c Py_BEGIN_ALLOW_THREADS num_params_needed = sqlite3_bind_parameter_count(self->st); Py_END_ALLOW_THREADS
``` It looks to me like this should fail if the number of keys known to be in the dictionary differs from the number of named parameters in the query. But if those numbers fail to match it still works as far as I can tell - it's only dictionary length of 0 that is causing the problems. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692940375 | https://github.com/simonw/datasette/issues/967#issuecomment-692940375 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5Mjk0MDM3NQ== | simonw 9599 | 2020-09-15T19:47:09Z | 2020-09-15T19:47:09Z | OWNER | Yes! The tests all pass if I update the test function to do this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692938935 | https://github.com/simonw/datasette/issues/967#issuecomment-692938935 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5MjkzODkzNQ== | simonw 9599 | 2020-09-15T19:44:21Z | 2020-09-15T19:44:41Z | OWNER | While I'm running the above test, in the rounds that work the In the rounds that fails it returns So it looks like the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692937150 | https://github.com/simonw/datasette/issues/967#issuecomment-692937150 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5MjkzNzE1MA== | simonw 9599 | 2020-09-15T19:42:57Z | 2020-09-15T19:42:57Z | OWNER | New (failing) test:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692927867 | https://github.com/simonw/datasette/issues/967#issuecomment-692927867 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5MjkyNzg2Nw== | simonw 9599 | 2020-09-15T19:25:23Z | 2020-09-15T19:25:23Z | OWNER | Hunch: I think the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692835066 | https://github.com/simonw/datasette/issues/967#issuecomment-692835066 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5MjgzNTA2Ng== | simonw 9599 | 2020-09-15T16:40:12Z | 2020-09-15T16:40:12Z | OWNER | Is the bug here that magic parameters are incompatible with CSRF-exempt requests (e.g. request with no cookies)? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692834670 | https://github.com/simonw/datasette/issues/967#issuecomment-692834670 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5MjgzNDY3MA== | simonw 9599 | 2020-09-15T16:39:29Z | 2020-09-15T16:39:29Z | OWNER | Relevant code: https://github.com/simonw/datasette/blob/853c5fc37011a7bc09ca3a1af287102f00827c82/datasette/views/database.py#L222-L236 This issue may not be about |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692834064 | https://github.com/simonw/datasette/issues/967#issuecomment-692834064 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5MjgzNDA2NA== | simonw 9599 | 2020-09-15T16:38:21Z | 2020-09-15T16:38:21Z | OWNER | So the mystery here is why does omitting |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 | |
692832113 | https://github.com/simonw/datasette/issues/967#issuecomment-692832113 | https://api.github.com/repos/simonw/datasette/issues/967 | MDEyOklzc3VlQ29tbWVudDY5MjgzMjExMw== | simonw 9599 | 2020-09-15T16:34:53Z | 2020-09-15T16:37:43Z | OWNER | This is so weird. In the test I wrote for this the following passed:
But without the
Here's the test I wrote:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries with magic parameters fail if POST body is empty 702069429 |
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 11