home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

8 rows where author_association = "OWNER" and "updated_at" is on date 2021-02-02 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: issue_url, created_at (date), updated_at (date)

issue 3

  • gzip support for HTML (and JSON) responses 3
  • Re-submitting filter form duplicates _x querystring arguments 3
  • Tests are very slow. 2

user 1

  • simonw 8

author_association 1

  • OWNER · 8 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
772001787 https://github.com/simonw/datasette/issues/1214#issuecomment-772001787 https://api.github.com/repos/simonw/datasette/issues/1214 MDEyOklzc3VlQ29tbWVudDc3MjAwMTc4Nw== simonw 9599 2021-02-02T21:28:53Z 2021-02-02T21:28:53Z OWNER

Fix is now live on https://latest.datasette.io/fixtures/searchable?_search=terry - clearing "terry" and re-submitting the form now works as expected.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Re-submitting filter form duplicates _x querystring arguments 799693777  
771992628 https://github.com/simonw/datasette/issues/1214#issuecomment-771992628 https://api.github.com/repos/simonw/datasette/issues/1214 MDEyOklzc3VlQ29tbWVudDc3MTk5MjYyOA== simonw 9599 2021-02-02T21:15:18Z 2021-02-02T21:15:18Z OWNER

The cause of this bug is form fields which begin with _ but ARE displayed as form inputs on the page - hence should not be duplicated in an <input type="hidden"> element.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Re-submitting filter form duplicates _x querystring arguments 799693777  
771992025 https://github.com/simonw/datasette/issues/1214#issuecomment-771992025 https://api.github.com/repos/simonw/datasette/issues/1214 MDEyOklzc3VlQ29tbWVudDc3MTk5MjAyNQ== simonw 9599 2021-02-02T21:14:16Z 2021-02-02T21:14:16Z OWNER

As a result, navigating to https://github-to-sqlite.dogsheep.net/github/labels?_search=help and clearing out the _search field then submitting the form does NOT clear the search term.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Re-submitting filter form duplicates _x querystring arguments 799693777  
771976561 https://github.com/simonw/datasette/issues/1212#issuecomment-771976561 https://api.github.com/repos/simonw/datasette/issues/1212 MDEyOklzc3VlQ29tbWVudDc3MTk3NjU2MQ== simonw 9599 2021-02-02T20:53:27Z 2021-02-02T20:53:27Z OWNER

It would be great if we could get python-xdist to run too - I tried it in the past and gave up when I ran into those race conditions, but I've not done any further digging to see if there's a way to fix that.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Tests are very slow.  797651831  
771975941 https://github.com/simonw/datasette/issues/1212#issuecomment-771975941 https://api.github.com/repos/simonw/datasette/issues/1212 MDEyOklzc3VlQ29tbWVudDc3MTk3NTk0MQ== simonw 9599 2021-02-02T20:52:36Z 2021-02-02T20:52:36Z OWNER

37 minutes, wow! They're a little slow for me (4-5 minutes perhaps) but not nearly that bad.

Thanks for running that profile. I think you're right: figuring out how to use more session scopes would definitely help.

The :memory: idea is interesting too. The new memory_name= feature added in #1151 (released in Datasette 0.54) could help a lot here, since it allows Datasette instances to share the same in-memory database across multiple HTTP requests and connections.

Note that memory_name= also persists within test runs themselves, independently of any scope= options on the fixtures. That might actually help us here!

I'd be delighted if you explored this issue further, especially the option of using memory_name= for the fixtures databases used by the tests.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Tests are very slow.  797651831  
771968675 https://github.com/simonw/datasette/issues/1213#issuecomment-771968675 https://api.github.com/repos/simonw/datasette/issues/1213 MDEyOklzc3VlQ29tbWVudDc3MTk2ODY3NQ== simonw 9599 2021-02-02T20:41:55Z 2021-02-02T20:41:55Z OWNER

So maybe I could a special response header which ASGI middleware can pick up that means "Don't attempt to gzip this, just stream it through".

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
gzip support for HTML (and JSON) responses 799663959  
771968177 https://github.com/simonw/datasette/issues/1213#issuecomment-771968177 https://api.github.com/repos/simonw/datasette/issues/1213 MDEyOklzc3VlQ29tbWVudDc3MTk2ODE3Nw== simonw 9599 2021-02-02T20:41:13Z 2021-02-02T20:41:13Z OWNER

Starlette accumulates the full response body in a body variable and then does this: ```python elif message_type == "http.response.body": # Remaining body in streaming GZip response. body = message.get("body", b"") more_body = message.get("more_body", False)

        self.gzip_file.write(body)
        if not more_body:
            self.gzip_file.close()

        message["body"] = self.gzip_buffer.getvalue()
        self.gzip_buffer.seek(0)
        self.gzip_buffer.truncate()

        await self.send(message)

```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
gzip support for HTML (and JSON) responses 799663959  
771965281 https://github.com/simonw/datasette/issues/1213#issuecomment-771965281 https://api.github.com/repos/simonw/datasette/issues/1213 MDEyOklzc3VlQ29tbWVudDc3MTk2NTI4MQ== simonw 9599 2021-02-02T20:37:08Z 2021-02-02T20:39:24Z OWNER

Starlette's gzip middleware implementation is here: https://github.com/encode/starlette/blob/0.14.2/starlette/middleware/gzip.py

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
gzip support for HTML (and JSON) responses 799663959  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

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]);
Powered by Datasette · Queries took 559.759ms · About: github-to-sqlite