issues
2,071 rows where user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
repo 13
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at ▲ | closed_at | author_association | pull_request | body | repo | type | active_lock_reason | performed_via_github_app | reactions | draft | state_reason |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1487757143 | I_kwDOCGYnMM5YrV9X | 517 | Drop support for Python 3.6 | simonw 9599 | closed | 0 | 1 | 2022-12-10T01:23:31Z | 2022-12-10T01:36:36Z | 2022-12-10T01:36:36Z | OWNER | CI has started failing for Python 3.6: https://github.com/simonw/sqlite-utils/actions/runs/3576322798 It's fixable by swiching away from But https://endoflife.date/python says that 3.6 end of life was almost 6 years ago, and end of security support nearly 1 year ago. So I'm OK dropping support entirely - Python 3.6 users will still be able to install version 3.30, just not any releases that come next. |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/517/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1487738738 | I_kwDOBm6k_c5YrRdy | 1942 | Option for plugins to request that JSON be served on the page | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 1 | 2022-12-10T01:08:53Z | 2022-12-10T01:11:30Z | OWNER | Idea came from a conversation with @hydrosquall - what if a Datasette plugin could say "I'd like the JSON for a page to be included in a variable on the HTML page"?
This idea fits with my overall goals to unify the JSON and HTML context too. Refs: - #1711 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1942/reactions", "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1486036269 | I_kwDOBm6k_c5Ykx0t | 1941 | Mechanism for supporting key rotation for DATASETTE_SECRET | simonw 9599 | open | 0 | 1 | 2022-12-09T05:24:53Z | 2022-12-09T05:25:20Z | OWNER | Currently if you change Adding support for key rotation would allow keys to be rotated on a semi-regular basis without logging everyone out / invalidating every API token instantly. Can model this on how Django does it: https://github.com/django/django/commit/0dcd549bbe36c060f536ec270d34d9e7d4b8e6c7 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1941/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1434094365 | I_kwDOBm6k_c5Veosd | 1881 | Tool for simulating permission checks against actors | simonw 9599 | closed | 0 | 9 | 2022-11-03T04:43:20Z | 2022-12-09T01:38:21Z | 2022-11-04T00:13:05Z | OWNER | In working on this issue: - #1855 I realized that if I'm going to make actors more complicated (the proposed |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1881/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1483250004 | I_kwDOBm6k_c5YaJlU | 1936 | Fix /db/table/-/upsert in the API explorer | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 2 | 2022-12-08T00:59:34Z | 2022-12-08T01:36:02Z | OWNER | Split from: - #1931 - #1878 This is a bit tricky because the code needs to figure out what the primary keys are for an item, and whether or not |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1936/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1432013704 | I_kwDOBm6k_c5VWsuI | 1878 | /db/table/-/upsert API | simonw 9599 | closed | 0 | Datasette 1.0a2 8711695 | 8 | 2022-11-01T20:01:18Z | 2022-12-08T01:12:18Z | 2022-12-08T01:12:17Z | OWNER | Equivalent to |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1878/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1473814539 | PR_kwDOBm6k_c5EMVug | 1931 | /db/table/-/upsert | simonw 9599 | closed | 0 | Datasette 1.0a2 8711695 | 8 | 2022-12-03T07:01:44Z | 2022-12-08T01:12:17Z | 2022-12-08T01:12:16Z | OWNER | simonw/datasette/pulls/1931 | Refs #1878 Still todo:
- [x] Support :books: Documentation preview :books:: https://datasette--1931.org.readthedocs.build/en/1931/ |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1931/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | ||||
1479914599 | I_kwDOCGYnMM5YNbRn | 516 | Feature request: output number of ignored/replaced rows for insert command | simonw 9599 | open | 0 | 4 | 2022-12-06T18:59:21Z | 2022-12-06T19:08:14Z | OWNER | https://hachyderm.io/@briandorsey/109468185742876820
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/516/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1479920517 | I_kwDOBm6k_c5YNcuF | 1934 | Return number of ignored/replaced items from /-/insert | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 0 | 2022-12-06T19:01:58Z | 2022-12-06T19:02:03Z | OWNER | Idea from here: - https://github.com/simonw/sqlite-utils/issues/516 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1934/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1473481262 | I_kwDOBm6k_c5X04ou | 1928 | Hacker News Datasette write demo | simonw 9599 | closed | 0 | 7 | 2022-12-02T21:17:41Z | 2022-12-02T23:47:11Z | 2022-12-02T21:43:19Z | OWNER | Idea is to have my existing scraper at https://github.com/simonw/scrape-hacker-news-by-domain also write to my private Datasette Cloud account, then create an atom feed from it. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1928/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1175690070 | I_kwDOBm6k_c5GE5tW | 1676 | Reconsider ensure_permissions() logic, can it be less confusing? | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 3 | 2022-03-21T17:14:57Z | 2022-12-02T01:23:40Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1675#issuecomment-1074177827 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1676/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1471969984 | I_kwDOBm6k_c5XvHrA | 1926 | Release notes for 1.0a1 (and release it) | simonw 9599 | closed | 0 | Datasette 1.0a1 7867486 | 1 | 2022-12-01T21:18:12Z | 2022-12-01T22:06:13Z | 2022-12-01T22:06:12Z | OWNER | Mainly CORS support and a few small bug fixes. Changes: https://github.com/simonw/datasette/compare/1.0a0...99da46f7258225fc6fd8e94ddc20859ccccc4109 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1926/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1214859703 | I_kwDOBm6k_c5IaUm3 | 1719 | Refactor `RowView` and remove `RowTableShared` | simonw 9599 | closed | 0 | 3 | 2022-04-25T18:06:24Z | 2022-12-01T21:15:19Z | 2022-04-25T18:33:44Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1715#issuecomment-1108875068 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1719/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1215174094 | I_kwDOBm6k_c5IbhXO | 1720 | Design plugin hook for extras | simonw 9599 | closed | 0 | 14 | 2022-04-26T00:08:10Z | 2022-12-01T21:15:19Z | 2022-04-26T20:20:27Z | OWNER | Refs: - #262 - #1709 I realized that this is a really natural plugin hook - and if I design it as a hook I can implement Datasette's core extras as default plugins. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1720/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1212823665 | I_kwDOBm6k_c5ISjhx | 1715 | Refactor TableView to use asyncinject | simonw 9599 | closed | 0 | 13 | 2022-04-22T21:43:39Z | 2022-12-01T21:15:18Z | 2022-04-28T22:26:56Z | OWNER | I've been working on a dependency injection mechanism in a separate library: I think it's ready to try out with Datasette to see if it's a pattern that will work here. I'm going to attempt to refactor
Stretch goal is to get this working with streaming data too, see:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1715/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1469973742 | I_kwDOBm6k_c5XngTu | 1922 | Make sure CORS works for write APIs | simonw 9599 | closed | 0 | Datasette 1.0a1 7867486 | 13 | 2022-11-30T17:15:55Z | 2022-12-01T18:47:00Z | 2022-12-01T18:47:00Z | OWNER | Split from: - #1850 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1922/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1470509936 | I_kwDOBm6k_c5XpjNw | 1924 | Docs for replace:true and ignore:true options for insert API | simonw 9599 | closed | 0 | Datasette 1.0a1 7867486 | 4 | 2022-12-01T01:33:25Z | 2022-12-01T18:15:15Z | 2022-12-01T02:08:02Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1924/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1470320227 | I_kwDOBm6k_c5Xo05j | 1923 | latest.datasette.io Cloud Run deploys failing | simonw 9599 | closed | 0 | 3 | 2022-11-30T22:49:34Z | 2022-11-30T23:04:56Z | 2022-11-30T23:04:56Z | OWNER | https://github.com/simonw/datasette/actions/runs/3587402085/jobs/6038106719v
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1923/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1469044738 | I_kwDOBm6k_c5Xj9gC | 1918 | API explorer should list mutable databases first | simonw 9599 | closed | 0 | Datasette 1.0a1 7867486 | 1 | 2022-11-30T04:53:33Z | 2022-11-30T05:22:07Z | 2022-11-30T05:07:56Z | OWNER | https://latest.datasette.io/-/api hides Related: - #1915 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1918/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1469062686 | I_kwDOBm6k_c5XkB4e | 1919 | Intermittent `test_delete_row` test failure | simonw 9599 | open | 0 | 1 | 2022-11-30T05:18:46Z | 2022-11-30T05:20:56Z | OWNER | https://github.com/simonw/datasette/actions/runs/3580503393/jobs/6022689591 ``` delete_response = await ds_write.client.post( "/data/{}/{}/-/delete".format(table, delete_path), headers={ "Authorization": "***".format(write_token(ds_write)), }, )
/home/runner/work/datasette/datasette/tests/test_api_write.py:396: AssertionError =========================== short test summary info ============================ FAILED tests/test_api_write.py::test_delete_row[compound_pk_table-row_for_create2-pks2-article,k] - assert 404 == 200 + where 404 = <Response [404 Not Found]>.status_code ``` This passes most of the time, but very occasionally fails - in this case in Python 3.7 It seems to only fail for the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1919/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1469015001 | I_kwDOBm6k_c5Xj2PZ | 1916 | GET requests against POST endpoints should not 500 error | simonw 9599 | closed | 0 | Datasette 1.0a1 7867486 | 1 | 2022-11-30T04:04:43Z | 2022-11-30T05:15:19Z | 2022-11-30T05:15:19Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1916/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1469043836 | I_kwDOBm6k_c5Xj9R8 | 1917 | Don't allow writable API to edit the `_memory` database | simonw 9599 | closed | 0 | Datasette 1.0a1 7867486 | 2 | 2022-11-30T04:51:59Z | 2022-11-30T05:07:56Z | 2022-11-30T05:07:55Z | OWNER | It shows up on https://latest.datasette.io/-/api (once you are signed in as root) - but there's no point in creating tables in it because they likely won't persist from one request to the next, as it's not a shared named database. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1917/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1468709531 | I_kwDOBm6k_c5Xirqb | 1915 | Interactive demo of Datasette 1.0 write APIs | simonw 9599 | closed | 0 | 6 | 2022-11-29T21:16:03Z | 2022-11-30T04:05:46Z | 2022-11-30T04:05:46Z | OWNER | I'm going to try to get this working on https://latest.datasette.io/ - it already has a way for people to sign in as root, but none of the databases there are writable. So I'm going to build a plugin which adds a writable named in-memory database. And some kind of mechanism for clearing out that database on a regular basis - maybe tables in that database get deleted automatically an hour after they are created? (Would be neat to display their time-left-until-deleted too) |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1915/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1421529723 | I_kwDOBm6k_c5UutJ7 | 1850 | Write API in Datasette core | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 13 | 2022-10-24T22:13:24Z | 2022-11-29T20:11:20Z | 2022-11-29T20:11:20Z | OWNER | I need this for Datasette Cloud, and in thinking it through I realized that it's really time Datasette grew a default write API as well. I'm going to mostly model this off I want this for Datasette 1.0. I'm going to be building it in the new 1.0-dev branch, which is automatically deployed to https://latest-1-0-dev.datasette.io/ running on Cloud Run. API features to build:
Bumped to later on:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1850/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1468603401 | I_kwDOBm6k_c5XiRwJ | 1913 | Release Datasette 1.0a0 | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 9 | 2022-11-29T19:41:42Z | 2022-11-29T20:10:35Z | 2022-11-29T20:10:35Z | OWNER | I attempted the release just now - https://github.com/simonw/datasette/releases/tag/1.0a0 - and got an unexpected test failure: https://github.com/simonw/datasette/actions/runs/3577355358/attempts/1 ```
/home/runner/work/datasette/datasette/tests/test_api_write.py:396: AssertionError =========================== short test summary info ============================ FAILED tests/test_api_write.py::test_delete_row[compound_pk_table-row_for_create2-pks2-article,k] - assert 404 == 200 + where 404 = <Response [404 Not Found]>.status_code ``` I hit "retry" on that test but I expect it to fail again. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1913/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1432012302 | I_kwDOBm6k_c5VWsYO | 1877 | Refactor and tidy up final write API code | simonw 9599 | closed | 0 | 1 | 2022-11-01T20:00:11Z | 2022-11-29T19:44:16Z | 2022-11-29T19:44:07Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1877/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1450312343 | I_kwDOBm6k_c5WcgKX | 1892 | Merge 1.0-dev branch back to main | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 3 | 2022-11-15T20:04:25Z | 2022-11-29T19:40:23Z | 2022-11-29T19:40:23Z | OWNER | I'm committed enough to the 1.0 work now that I'm ready for the If I need to make any dot-releases against 0.63 I can do those from a branch. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1892/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1468592292 | PR_kwDOBm6k_c5D6nzE | 1912 | Merge 1.0-dev (with initial write API) back into main | simonw 9599 | closed | 0 | 1 | 2022-11-29T19:31:21Z | 2022-11-29T19:39:37Z | 2022-11-29T19:39:36Z | OWNER | simonw/datasette/pulls/1912 | See: - #1892 :books: Documentation preview :books:: https://datasette--1912.org.readthedocs.build/en/1912/ |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1912/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1450303205 | I_kwDOBm6k_c5Wcd7l | 1891 | 1.0a0 release notes | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 4 | 2022-11-15T19:58:20Z | 2022-11-29T19:23:41Z | 2022-11-29T19:23:41Z | OWNER | This release will mainly help preview the new Datasette write API: - #1850 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1891/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1425029275 | I_kwDOBm6k_c5U8Dib | 1864 | Delete a single record from an existing table | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 4 | 2022-10-27T04:53:22Z | 2022-11-29T18:54:04Z | 2022-11-29T18:54:04Z | OWNER | API design:
Permission: Still needed:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1864/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1468519699 | I_kwDOBm6k_c5Xh9UT | 1911 | `/db/-/create` should support creating tables with compound primary keys | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 2 | 2022-11-29T18:30:47Z | 2022-11-29T18:50:58Z | 2022-11-29T18:48:05Z | OWNER | Found myself needing this to write the tests for: - #1864 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1911/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1425029242 | I_kwDOBm6k_c5U8Dh6 | 1863 | Update a single record in an existing table | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 16 | 2022-10-27T04:53:17Z | 2022-11-29T18:08:53Z | 2022-11-29T18:06:37Z | OWNER | API design:
Maybe this is the wrong design though? The design for insert currently looks like this:
I think I'll go with this:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1863/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1466952626 | I_kwDOBm6k_c5Xb-uy | 1909 | Option to sort facets alphabetically | simonw 9599 | open | 0 | 1 | 2022-11-28T19:18:14Z | 2022-11-28T19:19:26Z | OWNER | Suggested here: - https://github.com/simonw/datasette/discussions/1908 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1909/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1455928469 | I_kwDOBm6k_c5Wx7SV | 1903 | Refactor all error classes into a datasette.exceptions module | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 2 | 2022-11-18T22:44:45Z | 2022-11-20T22:35:01Z | OWNER | While working on this issue: - #1896 I realized that Datasette has error classes scattered around a fair bit, including some in the I should clean these up. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1903/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1456012874 | I_kwDOBm6k_c5WyP5K | 1905 | `publish heroku` failing due to old Python version | simonw 9599 | closed | 0 | 4 | 2022-11-19T00:01:45Z | 2022-11-19T01:12:05Z | 2022-11-19T00:52:29Z | OWNER | Reported on Discord: https://discord.com/channels/823971286308356157/823971286941302908/1042814317118115901 ``` -----> Building on the Heroku-22 stack -----> Determining which buildpack to use for this app -----> Python app detected -----> Using Python version specified in runtime.txt ! Requested runtime 'python-3.8.10' is not available for this stack (heroku-22). ! For supported versions, see: https://devcenter.heroku.com/articles/python-support ! Push rejected, failed to compile Python app. ! Push failed ▸ Build failed ``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1905/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1456013930 | I_kwDOBm6k_c5WyQJq | 1906 | Extract publish Heroku support to a plugin | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 0 | 2022-11-19T00:02:51Z | 2022-11-19T00:03:10Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1905#issuecomment-1320678715 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1906/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1455932972 | I_kwDOBm6k_c5Wx8Ys | 1904 | Datasette Lite tests failing due to httpx upgrade | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 0 | 2022-11-18T22:49:31Z | 2022-11-18T22:57:48Z | 2022-11-18T22:52:22Z | OWNER | Same problem as this one: - https://github.com/simonw/datasette-lite/issues/56 Caused this failure: https://github.com/simonw/datasette/actions/runs/3500765964 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1904/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1452364777 | I_kwDOBm6k_c5WkVPp | 1896 | Extract logic for resolving a URL to a database / table / row | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 4 | 2022-11-16T22:25:20Z | 2022-11-18T22:57:47Z | 2022-11-18T22:56:55Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1863#issuecomment-1317755263 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1896/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1454532488 | I_kwDOBm6k_c5WsmeI | 1902 | Document {% block crumbs %} for plugin authors | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 0 | 2022-11-18T06:16:30Z | 2022-11-18T06:16:39Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1901#issuecomment-1319588163 I should document this. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1902/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1452457263 | I_kwDOBm6k_c5Wkr0v | 1897 | Serve schema JSON to the SQL editor to enable autocomplete | simonw 9599 | closed | 0 | 9 | 2022-11-16T23:47:45Z | 2022-11-18T05:33:20Z | 2022-11-18T02:54:43Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1897/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
1450952393 | I_kwDOCGYnMM5We8bJ | 512 | mypy failures in CI | simonw 9599 | closed | 0 | 3 | 2022-11-16T06:22:48Z | 2022-11-16T07:49:51Z | 2022-11-16T07:49:50Z | OWNER | https://github.com/simonw/sqlite-utils/actions/runs/3472012235 failed on Python 3.11: Truncated output:
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/512/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1447388809 | I_kwDOBm6k_c5WRWaJ | 1887 | Add a confirm step to the drop table API | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 2 | 2022-11-14T04:59:53Z | 2022-11-15T19:59:59Z | 2022-11-14T05:18:51Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1871#issuecomment-1313097057 Added drop table API in: - #1874 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1887/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1429030341 | I_kwDOBm6k_c5VLUXF | 1874 | API to drop a table | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 4 | 2022-10-30T21:55:11Z | 2022-11-15T19:59:53Z | 2022-11-14T05:45:06Z | OWNER |
Require |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1874/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1425011030 | I_kwDOBm6k_c5U7_FW | 1862 | Create a new table from one or more records, `sqlite-utils` style | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 5 | 2022-10-27T04:25:02Z | 2022-11-15T19:59:47Z | 2022-11-15T06:42:09Z | OWNER | It's interesting to also think about what the form-based UI for this could look like - since that would involve users creating new columns of different types on the fly. Will need the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1862/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1435294468 | I_kwDOBm6k_c5VjNsE | 1882 | `/db/-/create` API for creating tables | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 12 | 2022-11-03T21:44:32Z | 2022-11-15T19:59:43Z | 2022-11-15T06:00:41Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1862#issuecomment-1299073433 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1882/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1426001541 | I_kwDOBm6k_c5U_w6F | 1866 | API for bulk inserting records into a table | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 12 | 2022-10-27T17:19:25Z | 2022-11-15T19:59:34Z | 2022-10-30T06:04:07Z | OWNER | Similar to https://github.com/simonw/datasette-insert/blob/0.8/README.md#inserting-data-and-creating-tables I expect this to become by far the most common way that data gets into a Datasette instance - more so than the individual row API in: - #1851 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1866/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1421544654 | I_kwDOBm6k_c5UuwzO | 1851 | API to insert a single record into an existing table | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 22 | 2022-10-24T22:24:21Z | 2022-11-15T19:59:18Z | 2022-10-28T00:59:25Z | OWNER | Controlled by a new |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1851/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1426195437 | I_kwDOBm6k_c5VAgPt | 1868 | Design URLs for the write API | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 5 | 2022-10-27T19:55:30Z | 2022-11-15T19:59:14Z | 2022-10-27T20:07:01Z | OWNER | My original design for this issue: - #1851 Was |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1868/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1447439985 | I_kwDOBm6k_c5WRi5x | 1888 | API explorer should take immutability into account | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 1 | 2022-11-14T06:00:14Z | 2022-11-15T19:59:10Z | 2022-11-14T06:04:48Z | OWNER | Refs: - #1871 I noticed the API explorer doesn't show any links on https://latest-1-0-dev.datasette.io/-/api because the It should still show read examples there. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1888/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1427293909 | I_kwDOBm6k_c5VEsbV | 1871 | API explorer tool | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 24 | 2022-10-28T13:49:11Z | 2022-11-15T19:59:05Z | 2022-11-14T04:59:59Z | OWNER | The API will be much easier to develop if there's a page that helps you execute JSON POSTs against it. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1871/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1423369494 | I_kwDOBm6k_c5U1uUW | 1859 | datasette create-token CLI command | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 3 | 2022-10-26T03:12:59Z | 2022-11-15T19:59:00Z | 2022-10-26T04:31:39Z | OWNER | The CLI equivalent of the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1859/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1423364990 | I_kwDOBm6k_c5U1tN- | 1858 | `max_signed_tokens_ttl` setting for a maximum duration on API tokens | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 4 | 2022-10-26T03:05:53Z | 2022-11-15T19:58:52Z | 2022-10-27T03:15:05Z | OWNER | It's currently possible to use Some administrators may wish to have a maximum expiry instead. I should support that with a setting. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1858/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1423347412 | I_kwDOBm6k_c5U1o7U | 1857 | Prevent API tokens from using /-/create-token to create more tokens | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 1 | 2022-10-26T02:38:09Z | 2022-11-15T19:57:11Z | 2022-10-26T02:57:26Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1850#issuecomment-1291417100 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1857/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1423336122 | I_kwDOBm6k_c5U1mK6 | 1856 | allow_signed_tokens setting for disabling API signed token mechanism | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 3 | 2022-10-26T02:20:55Z | 2022-11-15T19:57:05Z | 2022-10-26T02:58:35Z | OWNER | Had some design thoughts here: https://github.com/simonw/datasette/issues/1852#issuecomment-1291272280 I liked this option the most:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1856/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1421552095 | I_kwDOBm6k_c5Uuynf | 1852 | Default API token authentication mechanism | simonw 9599 | closed | 0 | Datasette 1.0a0 8658075 | 30 | 2022-10-24T22:31:07Z | 2022-11-15T19:57:00Z | 2022-10-26T02:19:54Z | OWNER | API authentication will be via I'm inclined to add a default token mechanism to Datasette based on tokens that are signed with the Plugins can then define alternative ways of creating tokens, such as the existing https://datasette.io/plugins/datasette-auth-tokens plugin. Originally posted by @simonw in https://github.com/simonw/datasette/issues/1850#issuecomment-1289706439 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1852/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
473083260 | MDU6SXNzdWU0NzMwODMyNjA= | 50 | "Too many SQL variables" on large inserts | simonw 9599 | closed | 0 | 4 | 2019-07-25T21:43:31Z | 2022-11-04T14:38:36Z | 2019-07-28T11:59:33Z | OWNER | Reported here: https://github.com/dogsheep/healthkit-to-sqlite/issues/9 It looks like there's a default limit of 999 variables - we need to be smart about that, maybe dynamically lower the batch size based on the number of columns. |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/50/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1432037325 | I_kwDOBm6k_c5VWyfN | 1879 | Make it easier to fix URL proxy problems | simonw 9599 | open | 0 | 5 | 2022-11-01T20:19:23Z | 2022-11-01T20:33:52Z | OWNER | This came up on Discord again today: figuring out how to run Datasette behind a proxy that might hide the incoming Host: header (and strip HTTPS) is really hard! https://discord.com/channels/823971286308356157/823971286941302908/1037012475322847263 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1879/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1429029604 | I_kwDOCGYnMM5VLULk | 506 | Make `cursor.rowcount` accessible (wontfix) | simonw 9599 | closed | 0 | 3 | 2022-10-30T21:51:55Z | 2022-11-01T17:37:47Z | 2022-11-01T17:37:13Z | OWNER | In building this Datasette feature on top of This isn't currently exposed by |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/506/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1431786951 | I_kwDOBm6k_c5VV1XH | 1876 | SQL query should wrap on SQL interrupted screen | simonw 9599 | closed | 0 | 2 | 2022-11-01T17:14:01Z | 2022-11-01T17:22:33Z | 2022-11-01T17:22:33Z | OWNER | Just saw this: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1876/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1426253476 | I_kwDOBm6k_c5VAuak | 1869 | Release 0.63 | simonw 9599 | closed | 0 | 3 | 2022-10-27T20:53:01Z | 2022-10-27T22:24:38Z | 2022-10-27T22:11:33Z | OWNER | Most of the release notes are already written: - https://github.com/simonw/datasette/releases/tag/0.63a0 - https://github.com/simonw/datasette/releases/tag/0.63a1 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1869/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1342430983 | I_kwDOBm6k_c5QA98H | 1786 | Adjust height of textarea for no JS case | simonw 9599 | closed | 0 | 4 | 2022-08-18T01:15:15Z | 2022-10-27T21:50:12Z | 2022-08-18T16:06:09Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1786/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
1425682079 | I_kwDOBm6k_c5U-i6f | 1865 | Stop syncing main to master | simonw 9599 | closed | 0 | 1 | 2022-10-27T13:55:38Z | 2022-10-27T13:58:27Z | 2022-10-27T13:56:13Z | OWNER | I think it's been long enough now that I can drop the code that syncs the main branch to master. I originally added this for people who might be using |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1865/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
639072811 | MDU6SXNzdWU2MzkwNzI4MTE= | 849 | Rename master branch to main | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 10 | 2020-06-15T19:05:54Z | 2022-10-27T13:57:08Z | 2020-09-15T20:37:14Z | OWNER | I was waiting for consensus to form around this (and kind-of hoping for I've seen convincing arguments against |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/849/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1424980545 | I_kwDOBm6k_c5U73pB | 1861 | request.headers.get("Content-Type") fails | simonw 9599 | open | 0 | 0 | 2022-10-27T03:39:12Z | 2022-10-27T03:39:12Z | OWNER | Turns out this is case-sensitive, needs to be:
That's not great usability. It should be case insensitive. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1861/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1420174670 | I_kwDOBm6k_c5UpiVO | 1849 | NoneType' object has no attribute 'actor' | simonw 9599 | closed | 0 | 5 | 2022-10-24T04:02:15Z | 2022-10-26T21:13:40Z | 2022-10-26T21:13:40Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1849/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
642297505 | MDU6SXNzdWU2NDIyOTc1MDU= | 857 | Comprehensive documentation for variables made available to templates | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 1 | 2020-06-20T03:19:43Z | 2022-10-26T02:58:17Z | 2022-10-26T02:58:17Z | OWNER | Needed for the Datasette 1.0 release, so template authors can trust that Datasette is unlikely to break their templates. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/857/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
1423182778 | I_kwDOCGYnMM5U1Au6 | 505 | Release sqlite-utils 3.30 | simonw 9599 | closed | 0 | 2 | 2022-10-25T22:20:05Z | 2022-10-25T22:41:26Z | 2022-10-25T22:41:16Z | OWNER | sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/505/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
1386562662 | I_kwDOCGYnMM5SpURm | 493 | Tiny typographical error in install/uninstall docs | simonw 9599 | open | 0 | 3 | 2022-09-26T19:00:42Z | 2022-10-25T21:31:15Z | OWNER | Added in: - #483 I don't know how to fix this in Sphinx: I'm getting this: https://sqlite-utils.datasette.io/en/latest/cli.html#cli-install
But I want it to display Here's the code: https://github.com/simonw/sqlite-utils/blob/85247038f70d7eb2f3e272cfeaa4c44459cafba8/docs/cli.rst#L2125 |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/493/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1423069384 | I_kwDOCGYnMM5U0lDI | 504 | db.close() method, calling db.conn.close() | simonw 9599 | closed | 0 | 1 | 2022-10-25T20:50:50Z | 2022-10-25T21:00:29Z | 2022-10-25T20:57:47Z | OWNER | I ended up needing to use I think |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/504/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1423000702 | I_kwDOCGYnMM5U0UR- | 503 | test_recreate failing on Windows Python 3.11 | simonw 9599 | closed | 0 | 10 | 2022-10-25T20:01:41Z | 2022-10-25T20:47:34Z | 2022-10-25T20:45:43Z | OWNER | https://github.com/simonw/sqlite-utils/actions/runs/3323672128/jobs/5494726927 Related: - #502
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/503/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1422973111 | I_kwDOBm6k_c5U0Ni3 | 1854 | Flaky test: test_serve_localhost_http | simonw 9599 | closed | 0 | 3 | 2022-10-25T19:37:35Z | 2022-10-25T19:53:02Z | 2022-10-25T19:53:02Z | OWNER | Failing on Python 3.10 at the moment: https://github.com/simonw/datasette/actions/runs/3323629947/jobs/5494340302 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1854/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1422915587 | I_kwDOBm6k_c5Uz_gD | 1853 | Upgrade Datasette Docker to Python 3.11 | simonw 9599 | closed | 0 | 7 | 2022-10-25T18:44:31Z | 2022-10-25T19:28:56Z | 2022-10-25T19:05:16Z | OWNER | Related: - #1768 I think this base image looks right: 3.11.0-slim-bullseye |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1853/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1422954582 | I_kwDOCGYnMM5U0JBW | 502 | Fix tests for Python 3.11 | simonw 9599 | closed | 0 | 1 | 2022-10-25T19:20:31Z | 2022-10-25T19:23:47Z | 2022-10-25T19:23:47Z | OWNER | The way errors are represented has changed: https://github.com/simonw/sqlite-utils/actions/runs/3323588047/jobs/5494127154 ``` ____ testquery_invalid_function ______ db_path = '/tmp/pytest-of-runner/pytest-0/test_query_invalid_function0/test.db'
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/502/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1420090659 | I_kwDOBm6k_c5UpN0j | 1848 | Private database page should show padlock on every table | simonw 9599 | closed | 0 | 3 | 2022-10-24T02:28:38Z | 2022-10-24T02:50:29Z | 2022-10-24T02:42:34Z | OWNER | Following: - #1829 https://latest.datasette.io/_internal looks like this: But those queries and tables are private too, and should also show the padlock icon. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1848/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1396948693 | I_kwDOBm6k_c5TQ77V | 1829 | Table/database that is private due to inherited permissions does not show padlock | simonw 9599 | closed | 0 | 8 | 2022-10-04T23:14:16Z | 2022-10-24T02:23:46Z | 2022-10-24T02:11:37Z | OWNER | I noticed that a table page that is private because the database or instance is private, e.g. this one: Is not displaying the padlock icon that indicates the table is not visible to the public. Same issue for the database page too, which in this case is private due to |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1829/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1408561039 | PR_kwDOBm6k_c5Axrpb | 1842 | check_visibility can now take multiple permissions into account | simonw 9599 | closed | 0 | 3 | 2022-10-14T00:06:04Z | 2022-10-24T02:11:36Z | 2022-10-24T02:11:36Z | OWNER | simonw/datasette/pulls/1842 | Refs #1829
Also this fix is currently only applied on the table page - needs to be applied on database, row and query pages too. :books: Documentation preview :books:: https://datasette--1842.org.readthedocs.build/en/1842/ |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1842/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | |||||
1420055377 | I_kwDOBm6k_c5UpFNR | 1847 | Both _local_metadata and _metadata_local? | simonw 9599 | closed | 0 | 2 | 2022-10-24T01:43:08Z | 2022-10-24T01:53:13Z | 2022-10-24T01:53:13Z | OWNER | Spotted this in the debugger against the
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1847/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1413641049 | I_kwDOCGYnMM5UQnNZ | 501 | Tests failing due to updated tabulate library | simonw 9599 | closed | 0 | 4 | 2022-10-18T18:07:52Z | 2022-10-18T18:23:40Z | 2022-10-18T18:23:40Z | OWNER | Failure here: https://github.com/simonw/sqlite-utils/actions/runs/3275786702/jobs/5391063221 I figured out the problem:
+- |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/501/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1413610718 | I_kwDOCGYnMM5UQfze | 500 | Turn --flatten into a documented utility function | simonw 9599 | closed | 0 | 4 | 2022-10-18T17:43:36Z | 2022-10-18T18:02:10Z | 2022-10-18T18:00:40Z | OWNER | The |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/500/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1410305897 | I_kwDOBm6k_c5UD49p | 1845 | Reconsider the Datasette first-run experience | simonw 9599 | open | 0 | 3 | 2022-10-15T22:21:31Z | 2022-10-16T08:54:53Z | OWNER | Had a really interesting conversation today about how hard it is to get from "I installed Datasette" to "I've done something useful with it": https://news.ycombinator.com/item?id=33216789#33218590 Spending some time focusing on that first-run experience feels very worthwhile. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1845/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1409679008 | I_kwDOBm6k_c5UBf6g | 1844 | Update screenshots in documentation to match latest designs | simonw 9599 | closed | 0 | 18 | 2022-10-14T18:01:18Z | 2022-10-14T23:51:46Z | 2022-10-14T19:57:17Z | OWNER | https://docs.datasette.io/en/0.62/full_text_search.html has this out-of-date screenshot: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1844/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
703246031 | MDU6SXNzdWU3MDMyNDYwMzE= | 51 | github-to-sqlite should handle rate limits better | simonw 9599 | open | 0 | 4 | 2020-09-17T04:01:50Z | 2022-10-14T16:34:07Z | MEMBER | From #50 - right now it will crash with an error of it hits the rate limit. Since the rate limit information (including reset time) is available in the headers it could automatically sleep and try again instead. |
github-to-sqlite 207052882 | issue | { "url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/51/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1397084281 | I_kwDOBm6k_c5TRdB5 | 1831 | If user can see table but NOT database/instance nav links should not display | simonw 9599 | closed | 0 | 10 | 2022-10-05T02:16:31Z | 2022-10-13T21:52:04Z | 2022-10-13T21:52:04Z | OWNER | Spotted this bug while building this plugin: - https://github.com/simonw/datasette-public This is a public table, but the two links in the nav go to forbidden pages: Those nav links shouldn't be shown at all. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1831/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1406860394 | I_kwDOBm6k_c5T2vxq | 1841 | Drop format_bytes for Jinja filesizeformat filter | simonw 9599 | open | 0 | 0 | 2022-10-12T22:06:34Z | 2022-10-12T22:06:34Z | OWNER | Turns out this isn't necessary: https://github.com/simonw/datasette/blob/5aa359b86907d11b3ee601510775a85a90224da8/datasette/utils/init.py#L849-L858 I can use this instead: https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.filesizeformat |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1841/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
912864936 | MDU6SXNzdWU5MTI4NjQ5MzY= | 1362 | Consider using CSP to protect against future XSS | simonw 9599 | open | 0 | 17 | 2021-06-06T15:32:20Z | 2022-10-08T18:42:09Z | OWNER | The XSS in #1360 would have been a lot less damaging if Datasette used CSP to protect against such vulnerabilities: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1362/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1399933513 | I_kwDOBm6k_c5TcUpJ | 1833 | Ability to submit long queries by POST | simonw 9599 | open | 0 | 0 | 2022-10-06T16:03:26Z | 2022-10-06T16:18:00Z | OWNER | Datasette doesn't limit URL lengths but some common web proxies do - the one in front of Google Cloud Run for example limits to 8KB total for incoming request headers: https://cloud.google.com/load-balancing/docs/quotas#https-lb-header-limits This means longer SQL queries can break! Need an optional mechanism for submitting queries by POST instead. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1833/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1386917344 | PR_kwDOBm6k_c4_prjN | 1823 | Keyword-only arguments for a bunch of internal methods | simonw 9599 | open | 0 | 3 | 2022-09-27T00:44:59Z | 2022-10-05T04:37:54Z | OWNER | simonw/datasette/pulls/1823 | Refs #1822 :books: Documentation preview :books:: https://datasette--1823.org.readthedocs.build/en/1823/ |
datasette 107914493 | pull | { "url": "https://api.github.com/repos/simonw/datasette/issues/1823/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
0 | ||||||
1397193691 | I_kwDOBm6k_c5TR3vb | 1832 | __bool__ method on Results | simonw 9599 | closed | 0 | 2 | 2022-10-05T04:18:12Z | 2022-10-05T04:32:33Z | 2022-10-05T04:32:33Z | OWNER | Wrote this code today: https://github.com/simonw/datasette-public/blob/1401bfae50e71c1dfd2bfb6954f2e86d5a7ab21b/datasette_public/init.py#L41
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1832/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1396977994 | I_kwDOBm6k_c5TRDFK | 1830 | Add documentation for writing tests with signed actor cookies | simonw 9599 | open | 0 | 0 | 2022-10-04T23:51:26Z | 2022-10-04T23:51:26Z | OWNER | I use this pattirn in a lot of plugin tests, e.g. https://github.com/simonw/datasette-edit-templates/blob/087f6a6cabc20020f2b0524f11aa3a7836320848/tests/test_edit_templates.py#L55-L58
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1830/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
447469253 | MDU6SXNzdWU0NDc0NjkyNTM= | 485 | Improvements to table label detection | simonw 9599 | open | 0 | simonw 9599 | 10 | 2019-05-23T06:19:49Z | 2022-10-03T00:04:42Z | OWNER | Label detection doesn't work if the primary key is called pk rather than id, so this page doesn't work: https://latest.datasette.io/fixtures/roadside_attraction_characteristics Code is here: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/485/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1393903845 | I_kwDOBm6k_c5TFUjl | 1828 | word-wrap: anywhere resulting in weird display | simonw 9599 | closed | 0 | 2 | 2022-10-02T21:25:03Z | 2022-10-02T23:01:17Z | 2022-10-02T23:01:17Z | OWNER | e.g. on https://github-to-sqlite.dogsheep.net/github/commits This is from a change introduced here: https://github.com/simonw/datasette/commit/bf8d84af5422606597be893cedd375020cb2b369 in #1805 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1828/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1149661489 | I_kwDOCGYnMM5EhnEx | 409 | `with db:` for transactions | simonw 9599 | open | 0 | 3 | 2022-02-24T19:22:06Z | 2022-10-01T03:42:50Z | OWNER | This can be a documented wrapper around |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/409/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1122427321 | I_kwDOBm6k_c5C5uG5 | 1624 | Index page `/` has no CORS headers | simonw 9599 | open | 0 | 2 | 2022-02-02T21:56:10Z | 2022-09-28T16:54:22Z | OWNER | Compare the following: ``` % curl -I 'https://latest.datasette.io/fixtures' HTTP/1.1 200 OK link: https://latest.datasette.io/fixtures.json; rel="alternate"; type="application/json+datasette" cache-control: max-age=5 referrer-policy: no-referrer access-control-allow-origin: * access-control-allow-headers: Authorization access-control-expose-headers: Link content-type: text/html; charset=utf-8 x-databases: _memory, _internal, fixtures, extra_database Date: Wed, 02 Feb 2022 21:55:49 GMT Server: Google Frontend Transfer-Encoding: chunked % curl -I 'https://latest.datasette.io/' |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1624/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
732674148 | MDU6SXNzdWU3MzI2NzQxNDg= | 1062 | Refactor .csv to be an output renderer - and teach register_output_renderer to stream all rows | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 5 | 2020-10-29T21:25:02Z | 2022-09-28T14:09:54Z | OWNER | This can drive the upgrade of the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1062/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1386854246 | I_kwDOBm6k_c5Sqbdm | 1822 | Switch to keyword-only arguments for a bunch of internal methods | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 3 | 2022-09-26T23:20:38Z | 2022-09-27T00:44:04Z | OWNER | This is a good idea, and one that needs to happen before Datasette 1.0:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1822/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
1384273985 | I_kwDOBm6k_c5SglhB | 1817 | Expose `sql` and `params` arguments to various plugin hooks | simonw 9599 | open | 0 | 7 | 2022-09-23T20:34:45Z | 2022-09-27T00:27:53Z | OWNER | On Discord: https://discord.com/channels/823971286308356157/996877076982415491/1022784534363787305
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1817/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
1386734383 | I_kwDOBm6k_c5Sp-Mv | 1821 | Release Datasette 0.63a0 | simonw 9599 | closed | 0 | 1 | 2022-09-26T21:15:27Z | 2022-09-26T22:06:39Z | 2022-09-26T22:06:39Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1821/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1386593843 | I_kwDOCGYnMM5Spb4z | 494 | Document how to use Just | simonw 9599 | closed | 0 | 2 | 2022-09-26T19:25:12Z | 2022-09-26T19:32:36Z | 2022-09-26T19:26:39Z | OWNER | I'm using https://github.com/simonw/sqlite-utils/blob/afbd2b2cba45cccb305c3d4638d18db4dd3d4bbd/Justfile#L1-L24 |
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/494/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1363765916 | I_kwDOCGYnMM5RSWqc | 483 | `sqlite-utils install` command | simonw 9599 | closed | 0 | 2 | 2022-09-06T20:13:55Z | 2022-09-26T19:04:43Z | 2022-09-26T18:57:15Z | OWNER | With the addition of In addition to the existing This isn't easy if you installed the tool with Datasette solved this problem with the
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/483/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
1386530156 | I_kwDOCGYnMM5SpMVs | 492 | Idea: ability to pass extra variables to `--convert` scripts | simonw 9599 | open | 0 | 1 | 2022-09-26T18:30:45Z | 2022-09-26T18:33:19Z | OWNER | Got this idea from this example in https://jeqo.github.io/notes/2022-09-24-ingest-logs-sqlite/
This made me think: it might be neat if you could inject additional variable values into that script with extra command-line options, to make this kind of reuse easier. Something like this:
|
sqlite-utils 140912432 | issue | { "url": "https://api.github.com/repos/simonw/sqlite-utils/issues/492/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issues] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [state] TEXT, [locked] INTEGER, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [comments] INTEGER, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [author_association] TEXT, [pull_request] TEXT, [body] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [type] TEXT , [active_lock_reason] TEXT, [performed_via_github_app] TEXT, [reactions] TEXT, [draft] INTEGER, [state_reason] TEXT); CREATE INDEX [idx_issues_repo] ON [issues] ([repo]); CREATE INDEX [idx_issues_milestone] ON [issues] ([milestone]); CREATE INDEX [idx_issues_assignee] ON [issues] ([assignee]); CREATE INDEX [idx_issues_user] ON [issues] ([user]);