issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 26
- Ability for a canned query to write to the database 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- Redesign register_output_renderer callback 24
- Datasette Plugins 22
- "flash messages" mechanism 20
- Handle spatialite geometry columns better 19
- Ability to ship alpha and beta releases 18
- Magic parameters for canned queries 18
- Facets 16
- Support "allow" block on root, databases and tables, not just queries 16
- Database page loads too slowly with many large tables (due to table counts) 16
- Bug: Sort by column with NULL in next_page URL 15
- Support cross-database joins 15
- The ".upsert()" method is misnamed 15
- --dirs option for scanning directories for SQLite databases 15
- Document (and reconsider design of) Database.execute() and Database.execute_against_connection_in_thread() 15
- latest.datasette.io is no longer updating 15
- Ability to customize presentation of specific columns in HTML view 14
- Allow plugins to define additional URL routes and views 14
- Mechanism for customizing the SQL used to select specific columns in the table view 14
- .execute_write() and .execute_write_fn() methods on Database 14
- Upload all my photos to a secure S3 bucket 14
- Canned query permissions mechanism 14
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
652255960 | https://github.com/simonw/datasette/issues/877#issuecomment-652255960 | https://api.github.com/repos/simonw/datasette/issues/877 | MDEyOklzc3VlQ29tbWVudDY1MjI1NTk2MA== | abdusco 3243482 | 2020-07-01T07:52:25Z | 2020-07-01T08:10:00Z | CONTRIBUTOR | I am calling the API from another origin, so injecting CSRF token into templates wouldn't work. EDIT: I'll try the new version, it sounds promising |
{ "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 | |
652261382 | https://github.com/simonw/datasette/issues/877#issuecomment-652261382 | https://api.github.com/repos/simonw/datasette/issues/877 | MDEyOklzc3VlQ29tbWVudDY1MjI2MTM4Mg== | abdusco 3243482 | 2020-07-01T08:03:17Z | 2020-07-01T08:03:23Z | CONTRIBUTOR | Bearer tokens sound interesting. Where do tokens come from? An auth provider of my choosing? How do they get verified? |
{ "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 | |
652182990 | https://github.com/simonw/datasette/issues/877#issuecomment-652182990 | https://api.github.com/repos/simonw/datasette/issues/877 | MDEyOklzc3VlQ29tbWVudDY1MjE4Mjk5MA== | simonw 9599 | 2020-07-01T04:29:38Z | 2020-07-01T04:42:59Z | OWNER | Have you tried the method described here? https://datasette.readthedocs.io/en/latest/internals.html#csrf-protection - I'm happy to bulk out that section of the documentation if that doesn't help solve your problem. I just closed #835 which should make CSRF protection easier to work with - it won't interfere with requests without cookies or requests with You can try out |
{ "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 | |
652166115 | https://github.com/simonw/datasette/issues/877#issuecomment-652166115 | https://api.github.com/repos/simonw/datasette/issues/877 | MDEyOklzc3VlQ29tbWVudDY1MjE2NjExNQ== | abdusco 3243482 | 2020-07-01T03:28:07Z | 2020-07-01T03:28:07Z | CONTRIBUTOR | Does this mean custom routes get to expose endpoints accepting POST requests? I've tried earlier to add some POST endpoints, but requests were being rejected by Datasette due to CSRF |
{ "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 | |
652165709 | https://github.com/simonw/datasette/issues/812#issuecomment-652165709 | https://api.github.com/repos/simonw/datasette/issues/812 | MDEyOklzc3VlQ29tbWVudDY1MjE2NTcwOQ== | simonw 9599 | 2020-07-01T03:26:35Z | 2020-07-01T03:26:35Z | OWNER | This case may not be covered without extra work: https://github.com/simonw/datasette/blob/3ec5b1abf6afa2d22a3378092809a1a8c0249d26/datasette/views/database.py#L122-L123 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize what happens when a view permission fails 634112607 | |
652163450 | https://github.com/simonw/datasette/issues/812#issuecomment-652163450 | https://api.github.com/repos/simonw/datasette/issues/812 | MDEyOklzc3VlQ29tbWVudDY1MjE2MzQ1MA== | simonw 9599 | 2020-07-01T03:18:51Z | 2020-07-01T03:20:28Z | OWNER | This can be a plugin hook:
Maybe the hook can instead use the I'm going to leave |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize what happens when a view permission fails 634112607 | |
652162722 | https://github.com/simonw/datasette/issues/880#issuecomment-652162722 | https://api.github.com/repos/simonw/datasette/issues/880 | MDEyOklzc3VlQ29tbWVudDY1MjE2MjcyMg== | simonw 9599 | 2020-07-01T03:16:07Z | 2020-07-01T03:16:07Z | OWNER | The response from this will never be a 302 - it will always be a 200 if the response worked or a 400 for bad parameters or a 500 for errors. The body returned will always be in JSON format. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
POST to /db/canned-query that returns JSON should be supported (for API clients) 648637666 | |
652160909 | https://github.com/simonw/datasette/issues/859#issuecomment-652160909 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY1MjE2MDkwOQ== | abdusco 3243482 | 2020-07-01T03:09:32Z | 2020-07-01T03:10:21Z | CONTRIBUTOR | I've just realized Datasette tries to count hidden tables too. There are 5 visible tables, 25 hidden tables, which I haven't realize earlier to consider their effect. I've turned off counting for hidden tables to see if it has any effect. What's the point of counting FTS tables? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
652159398 | https://github.com/simonw/datasette/issues/835#issuecomment-652159398 | https://api.github.com/repos/simonw/datasette/issues/835 | MDEyOklzc3VlQ29tbWVudDY1MjE1OTM5OA== | simonw 9599 | 2020-07-01T03:03:51Z | 2020-07-01T03:03:51Z | OWNER | I'm going to add some tests for this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for skipping CSRF checks on API posts 637363686 | |
652106227 | https://github.com/simonw/datasette/issues/876#issuecomment-652106227 | https://api.github.com/repos/simonw/datasette/issues/876 | MDEyOklzc3VlQ29tbWVudDY1MjEwNjIyNw== | simonw 9599 | 2020-06-30T23:49:55Z | 2020-06-30T23:50:04Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add log out link to the pattern portfolio 647879783 | ||
652105722 | https://github.com/simonw/datasette/issues/879#issuecomment-652105722 | https://api.github.com/repos/simonw/datasette/issues/879 | MDEyOklzc3VlQ29tbWVudDY1MjEwNTcyMg== | simonw 9599 | 2020-06-30T23:48:06Z | 2020-06-30T23:48:06Z | OWNER | Updated documentation: https://datasette.readthedocs.io/en/latest/pages.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page documentation still talks about hashes in URLs 648569227 | |
652103895 | https://github.com/simonw/datasette/issues/832#issuecomment-652103895 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY1MjEwMzg5NQ== | simonw 9599 | 2020-06-30T23:41:22Z | 2020-06-30T23:41:22Z | OWNER | I don't think this needs any additional documentation - the new behaviour matches how the permissions are documented here: https://datasette.readthedocs.io/en/0.44/authentication.html#built-in-permissions |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
651999516 | https://github.com/simonw/datasette/issues/832#issuecomment-651999516 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY1MTk5OTUxNg== | simonw 9599 | 2020-06-30T19:33:49Z | 2020-06-30T21:34:59Z | OWNER | Tests needed for this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
651995453 | https://github.com/simonw/datasette/issues/832#issuecomment-651995453 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY1MTk5NTQ1Mw== | simonw 9599 | 2020-06-30T19:25:13Z | 2020-06-30T19:25:26Z | OWNER | I'm going to put the new |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
651994978 | https://github.com/simonw/datasette/issues/832#issuecomment-651994978 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY1MTk5NDk3OA== | simonw 9599 | 2020-06-30T19:24:12Z | 2020-06-30T19:24:12Z | OWNER | Hah... but check_permission And on BaseView: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
651993977 | https://github.com/simonw/datasette/issues/832#issuecomment-651993977 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY1MTk5Mzk3Nw== | simonw 9599 | 2020-06-30T19:22:06Z | 2020-06-30T19:22:06Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
651993537 | https://github.com/simonw/datasette/issues/832#issuecomment-651993537 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY1MTk5MzUzNw== | simonw 9599 | 2020-06-30T19:21:15Z | 2020-06-30T19:21:15Z | OWNER | I could rename This is a breaking change but we're pre-1.0 so I think that's OK. I could even set up a temporary |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
651992737 | https://github.com/simonw/datasette/issues/832#issuecomment-651992737 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY1MTk5MjczNw== | simonw 9599 | 2020-06-30T19:19:33Z | 2020-06-30T19:20:02Z | OWNER | I already have this method on Datasette:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
651984989 | https://github.com/simonw/datasette/issues/877#issuecomment-651984989 | https://api.github.com/repos/simonw/datasette/issues/877 | MDEyOklzc3VlQ29tbWVudDY1MTk4NDk4OQ== | simonw 9599 | 2020-06-30T19:03:25Z | 2020-06-30T19:03:25Z | OWNER | Relevant: #835 |
{ "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 | |
651984355 | https://github.com/simonw/datasette/issues/877#issuecomment-651984355 | https://api.github.com/repos/simonw/datasette/issues/877 | MDEyOklzc3VlQ29tbWVudDY1MTk4NDM1NQ== | simonw 9599 | 2020-06-30T19:02:15Z | 2020-06-30T19:02:15Z | OWNER |
Sounds like regular CSRF protection to me. |
{ "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 | |
651302221 | https://github.com/simonw/datasette/issues/805#issuecomment-651302221 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY1MTMwMjIyMQ== | simonw 9599 | 2020-06-29T19:02:45Z | 2020-06-29T19:05:26Z | OWNER | No I prefer the idea that logged out users can still perform some writes, in a not-likely-to-attract-abuse way. So a root-user-can-configure-polls, logged-out-users-can-vote-in-them demo would be good. Or... crazy idea: a collaborative drawing program? A grid of cells of emoji, anyone can add an emoji to a cell. Would involve a bit of JavaScript. I could use https://github.com/joeattardi/emoji-button for this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
651301202 | https://github.com/simonw/datasette/issues/805#issuecomment-651301202 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY1MTMwMTIwMg== | simonw 9599 | 2020-06-29T19:00:37Z | 2020-06-29T19:00:37Z | OWNER | How about a blog? Pre-configured canned queries that are only available to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
651293559 | https://github.com/simonw/datasette/issues/875#issuecomment-651293559 | https://api.github.com/repos/simonw/datasette/issues/875 | MDEyOklzc3VlQ29tbWVudDY1MTI5MzU1OQ== | simonw 9599 | 2020-06-29T18:43:50Z | 2020-06-29T18:43:50Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Logged in as: XXX - logout" navigation item 647103735 | ||
651203178 | https://github.com/simonw/datasette/issues/873#issuecomment-651203178 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MTIwMzE3OA== | simonw 9599 | 2020-06-29T15:44:38Z | 2020-06-29T15:44:54Z | OWNER | I'm having real trouble figuring out how to gain access to the port that was used to start the server. I'm treating this as a very low priority - it only affects the exact |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
651193594 | https://github.com/simonw/datasette/issues/873#issuecomment-651193594 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MTE5MzU5NA== | simonw 9599 | 2020-06-29T15:27:46Z | 2020-06-29T15:27:46Z | OWNER | Uninstalling |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
651193131 | https://github.com/simonw/datasette/issues/873#issuecomment-651193131 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MTE5MzEzMQ== | simonw 9599 | 2020-06-29T15:27:00Z | 2020-06-29T15:27:00Z | OWNER | Aha! Yes it's not being called, and the reason is this: https://github.com/encode/starlette/issues/486 Short version: by default an exception raised during that phase is silently swallowed! You can avoid the swallowing by adding When I did that here:
The server failed to start with this error:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650910137 | https://github.com/simonw/datasette/issues/873#issuecomment-650910137 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkxMDEzNw== | simonw 9599 | 2020-06-29T05:16:32Z | 2020-06-29T05:16:32Z | OWNER | I'm not convinced that function is ever actually being called - I added a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650909476 | https://github.com/simonw/datasette/issues/873#issuecomment-650909476 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwOTQ3Ng== | simonw 9599 | 2020-06-29T05:14:08Z | 2020-06-29T05:14:08Z | OWNER | I already have a It runs this function: https://github.com/simonw/datasette/blob/35aee82c60b2c9a0185b934db5528c8bd11830f2/datasette/app.py#L890-L894 Could that startup function also output the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650909136 | https://github.com/simonw/datasette/issues/873#issuecomment-650909136 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwOTEzNg== | simonw 9599 | 2020-06-29T05:12:58Z | 2020-06-29T05:12:58Z | OWNER | On startup Datasette currently outputs:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650908854 | https://github.com/simonw/datasette/issues/873#issuecomment-650908854 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwODg1NA== | simonw 9599 | 2020-06-29T05:12:04Z | 2020-06-29T05:12:04Z | OWNER | Can I detect the port the server is running on from within the regular Datasette ASGI code? If so I could use that ability and maybe output the magic |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650908534 | https://github.com/simonw/datasette/issues/873#issuecomment-650908534 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwODUzNA== | simonw 9599 | 2020-06-29T05:11:06Z | 2020-06-29T05:11:06Z | OWNER | Uvicorn's lifespan stuff isn't easy to figure out, but this test suite holds some clues: https://github.com/encode/uvicorn/blob/master/tests/test_lifespan.py |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650907323 | https://github.com/simonw/datasette/issues/873#issuecomment-650907323 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwNzMyMw== | simonw 9599 | 2020-06-29T05:07:16Z | 2020-06-29T05:07:16Z | OWNER | This line is interesting: is this a hook I can attach to somehow?
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650906533 | https://github.com/simonw/datasette/issues/873#issuecomment-650906533 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwNjUzMw== | simonw 9599 | 2020-06-29T05:04:44Z | 2020-06-29T05:04:44Z | OWNER | The challenge is... can we run our own custom code after that line has executed that has access to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650906318 | https://github.com/simonw/datasette/issues/873#issuecomment-650906318 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwNjMxOA== | simonw 9599 | 2020-06-29T05:04:04Z | 2020-06-29T05:04:12Z | OWNER | Within uvicorn it does this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650905399 | https://github.com/simonw/datasette/issues/873#issuecomment-650905399 | https://api.github.com/repos/simonw/datasette/issues/873 | MDEyOklzc3VlQ29tbWVudDY1MDkwNTM5OQ== | simonw 9599 | 2020-06-29T05:01:03Z | 2020-06-29T05:01:03Z | OWNER | This is a bit tricky to fix. This change to uvicorn is relevant: https://github.com/encode/uvicorn/commit/a75fe1381f6b1f78901691c71894f3cf487b5d30 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette -p 0 --root" gives the wrong URL 647095487 | |
650899265 | https://github.com/simonw/datasette/issues/875#issuecomment-650899265 | https://api.github.com/repos/simonw/datasette/issues/875 | MDEyOklzc3VlQ29tbWVudDY1MDg5OTI2NQ== | simonw 9599 | 2020-06-29T04:34:32Z | 2020-06-29T04:34:32Z | OWNER | From https://github.com/simonw/datasette/issues/840#issuecomment-643454625
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Logged in as: XXX - logout" navigation item 647103735 | |
650898808 | https://github.com/simonw/datasette/issues/875#issuecomment-650898808 | https://api.github.com/repos/simonw/datasette/issues/875 | MDEyOklzc3VlQ29tbWVudDY1MDg5ODgwOA== | simonw 9599 | 2020-06-29T04:32:31Z | 2020-06-29T04:33:30Z | OWNER | I could borrow the implementation for this from {% block extra_head %} <style type="text/css"> .hd .logout { float: right; text-align: right; padding-left: 1em; } </style>{% endblock %} {% block nav %} {{ super() }} {% if auth and auth.username %} {{ auth.username }} · Log out {% endif %} {% endblock %} ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Logged in as: XXX - logout" navigation item 647103735 | |
650895874 | https://github.com/simonw/datasette/issues/840#issuecomment-650895874 | https://api.github.com/repos/simonw/datasette/issues/840 | MDEyOklzc3VlQ29tbWVudDY1MDg5NTg3NA== | simonw 9599 | 2020-06-29T04:18:59Z | 2020-06-29T04:19:11Z | OWNER | Now just need the "Logged in as: XXX <logout>" navigation item. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Log out mechanism for clearing ds_actor cookie 637966833 | |
650891502 | https://github.com/simonw/datasette/issues/840#issuecomment-650891502 | https://api.github.com/repos/simonw/datasette/issues/840 | MDEyOklzc3VlQ29tbWVudDY1MDg5MTUwMg== | simonw 9599 | 2020-06-29T03:58:08Z | 2020-06-29T03:58:08Z | OWNER | Step one: a "logout" page at |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Log out mechanism for clearing ds_actor cookie 637966833 | |
650891257 | https://github.com/simonw/datasette/issues/805#issuecomment-650891257 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY1MDg5MTI1Nw== | simonw 9599 | 2020-06-29T03:56:48Z | 2020-06-29T03:56:48Z | OWNER | Using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
650847013 | https://github.com/simonw/datasette/issues/864#issuecomment-650847013 | https://api.github.com/repos/simonw/datasette/issues/864 | MDEyOklzc3VlQ29tbWVudDY1MDg0NzAxMw== | simonw 9599 | 2020-06-29T00:41:55Z | 2020-06-29T00:41:55Z | OWNER | To test this I'll need a plugin test that renders a custom template. Here's an example I can imitate: https://github.com/simonw/datasette/blob/7ac4936cec87f5a591e5d2680f0acefc3d35a705/tests/test_plugins.py#L588-L596 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.add_message() doesn't work inside plugins 644309017 | |
650846625 | https://github.com/simonw/datasette/issues/864#issuecomment-650846625 | https://api.github.com/repos/simonw/datasette/issues/864 | MDEyOklzc3VlQ29tbWVudDY1MDg0NjYyNQ== | simonw 9599 | 2020-06-29T00:39:47Z | 2020-06-29T00:39:47Z | OWNER | I think the fix is to move the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.add_message() doesn't work inside plugins 644309017 | |
650846473 | https://github.com/simonw/datasette/issues/864#issuecomment-650846473 | https://api.github.com/repos/simonw/datasette/issues/864 | MDEyOklzc3VlQ29tbWVudDY1MDg0NjQ3Mw== | simonw 9599 | 2020-06-29T00:39:04Z | 2020-06-29T00:39:04Z | OWNER | Re-opening: plugins may get to set messages but they don't display them, even if they render a template that extends |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.add_message() doesn't work inside plugins 644309017 | |
650842514 | https://github.com/simonw/datasette/issues/864#issuecomment-650842514 | https://api.github.com/repos/simonw/datasette/issues/864 | MDEyOklzc3VlQ29tbWVudDY1MDg0MjUxNA== | simonw 9599 | 2020-06-29T00:12:59Z | 2020-06-29T00:12:59Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.add_message() doesn't work inside plugins 644309017 | |
650842381 | https://github.com/simonw/datasette/issues/870#issuecomment-650842381 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDg0MjM4MQ== | simonw 9599 | 2020-06-29T00:12:07Z | 2020-06-29T00:12:07Z | OWNER | I've made enough progress on this to be able to solve the messages issue in #864. I may still complete this overall goal (registering internal views with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650838972 | https://github.com/simonw/datasette/issues/870#issuecomment-650838972 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgzODk3Mg== | simonw 9599 | 2020-06-28T23:46:40Z | 2020-06-28T23:46:40Z | OWNER | I'm going to create the single |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650838691 | https://github.com/simonw/datasette/issues/870#issuecomment-650838691 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgzODY5MQ== | simonw 9599 | 2020-06-28T23:44:12Z | 2020-06-28T23:44:25Z | OWNER | This code is interesting: I want to change the signature of that The problem is the scope modification: I have code that modifies the scope, but how should that impact a shared |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650834666 | https://github.com/simonw/datasette/issues/870#issuecomment-650834666 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgzNDY2Ng== | simonw 9599 | 2020-06-28T23:07:19Z | 2020-06-28T23:07:19Z | OWNER | So now the problem is simpler: I need to get |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650834251 | https://github.com/simonw/datasette/issues/870#issuecomment-650834251 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgzNDI1MQ== | simonw 9599 | 2020-06-28T23:03:28Z | 2020-06-28T23:03:28Z | OWNER | I'm going to ditch that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650820068 | https://github.com/simonw/datasette/issues/870#issuecomment-650820068 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgyMDA2OA== | simonw 9599 | 2020-06-28T20:52:09Z | 2020-06-28T20:53:00Z | OWNER | Maybe I could add a Or I could teach the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650819895 | https://github.com/simonw/datasette/issues/847#issuecomment-650819895 | https://api.github.com/repos/simonw/datasette/issues/847 | MDEyOklzc3VlQ29tbWVudDY1MDgxOTg5NQ== | simonw 9599 | 2020-06-28T20:50:21Z | 2020-06-28T20:50:21Z | OWNER | I'm happy enough with https://codecov.io/gh/simonw/datasette that I'm not going to spend any more time on this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Take advantage of .coverage being a SQLite database 638259643 | |
650818309 | https://github.com/simonw/datasette/issues/870#issuecomment-650818309 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgxODMwOQ== | simonw 9599 | 2020-06-28T20:36:28Z | 2020-06-28T20:36:52Z | OWNER | Since I could also rename it to just |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650818086 | https://github.com/simonw/datasette/issues/870#issuecomment-650818086 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgxODA4Ng== | simonw 9599 | 2020-06-28T20:34:33Z | 2020-06-28T20:34:33Z | OWNER | The key to all of this may be the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650815278 | https://github.com/simonw/datasette/issues/870#issuecomment-650815278 | https://api.github.com/repos/simonw/datasette/issues/870 | MDEyOklzc3VlQ29tbWVudDY1MDgxNTI3OA== | simonw 9599 | 2020-06-28T20:09:07Z | 2020-06-28T20:11:21Z | OWNER | There's a lot of complex logic in the That view subclasses |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor default views to use register_routes 646737558 | |
650812444 | https://github.com/simonw/datasette/issues/871#issuecomment-650812444 | https://api.github.com/repos/simonw/datasette/issues/871 | MDEyOklzc3VlQ29tbWVudDY1MDgxMjQ0NA== | simonw 9599 | 2020-06-28T19:43:27Z | 2020-06-28T19:43:27Z | OWNER | Currently:
I'm going to rename them to:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Rename the _timestamp magic parameters to _now 646840273 | |
650811919 | https://github.com/simonw/datasette/issues/834#issuecomment-650811919 | https://api.github.com/repos/simonw/datasette/issues/834 | MDEyOklzc3VlQ29tbWVudDY1MDgxMTkxOQ== | simonw 9599 | 2020-06-28T19:38:50Z | 2020-06-28T19:38:50Z | OWNER | I have two plugins in progress that use this hook now:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
startup() plugin hook 637342551 | |
650784162 | https://github.com/simonw/datasette/issues/805#issuecomment-650784162 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY1MDc4NDE2Mg== | simonw 9599 | 2020-06-28T15:48:32Z | 2020-06-28T15:48:32Z | OWNER | https://github.com/simonw/datasette-glitch is my new plugin that outputs the root login link on Glitch when the server starts. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
643657067 | https://github.com/simonw/datasette/issues/834#issuecomment-643657067 | https://api.github.com/repos/simonw/datasette/issues/834 | MDEyOklzc3VlQ29tbWVudDY0MzY1NzA2Nw== | simonw 9599 | 2020-06-13T17:59:42Z | 2020-06-28T04:01:52Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
startup() plugin hook 637342551 | ||
650684635 | https://github.com/simonw/datasette/issues/842#issuecomment-650684635 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDY4NDYzNQ== | simonw 9599 | 2020-06-28T03:30:31Z | 2020-06-28T03:30:31Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | ||
650681496 | https://github.com/simonw/datasette/issues/805#issuecomment-650681496 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY1MDY4MTQ5Ng== | simonw 9599 | 2020-06-28T03:11:51Z | 2020-06-28T03:11:51Z | OWNER | I can use magic parameters from #842 in this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
650679100 | https://github.com/simonw/datasette/issues/842#issuecomment-650679100 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDY3OTEwMA== | simonw 9599 | 2020-06-28T03:00:44Z | 2020-06-28T03:00:44Z | OWNER | I'm going to add some canned queries to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
650678951 | https://github.com/simonw/datasette/issues/842#issuecomment-650678951 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDY3ODk1MQ== | simonw 9599 | 2020-06-28T02:59:52Z | 2020-06-28T02:59:52Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | ||
650600176 | https://github.com/simonw/datasette/pull/869#issuecomment-650600176 | https://api.github.com/repos/simonw/datasette/issues/869 | MDEyOklzc3VlQ29tbWVudDY1MDYwMDE3Ng== | codecov[bot] 22429695 | 2020-06-27T18:41:31Z | 2020-06-28T02:54:21Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ master #869 +/-==========================================
+ Coverage 82.99% 83.23% +0.23% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/plugins.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 646734280 | |
650648434 | https://github.com/simonw/datasette/issues/842#issuecomment-650648434 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDY0ODQzNA== | simonw 9599 | 2020-06-27T23:27:35Z | 2020-06-27T23:37:38Z | OWNER | I'm going to rename |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
650600606 | https://github.com/simonw/datasette/pull/868#issuecomment-650600606 | https://api.github.com/repos/simonw/datasette/issues/868 | MDEyOklzc3VlQ29tbWVudDY1MDYwMDYwNg== | simonw 9599 | 2020-06-27T18:44:28Z | 2020-06-27T18:44:28Z | OWNER | This is really exciting! Thanks so much for looking into this. I'm interested in moving CI for this repo over to GitHub Actions, so I'd be fine with you getting this to work as an Action rather than through Travis. If you can get it working in Travis though I'll happily land that and figure out how to convert that to GitHub Actions later on. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
initial windows ci setup 646448486 | |
650598710 | https://github.com/simonw/datasette/issues/835#issuecomment-650598710 | https://api.github.com/repos/simonw/datasette/issues/835 | MDEyOklzc3VlQ29tbWVudDY1MDU5ODcxMA== | simonw 9599 | 2020-06-27T18:32:22Z | 2020-06-27T18:32:22Z | OWNER | Skipping CSRF on |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for skipping CSRF checks on API posts 637363686 | |
650593122 | https://github.com/simonw/datasette/issues/842#issuecomment-650593122 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDU5MzEyMg== | simonw 9599 | 2020-06-27T18:03:02Z | 2020-06-27T18:03:10Z | OWNER |
This is an open security hole in https://github.com/simonw/datasette/commit/94c1315f0030fd58ce46a9294052c5c9d9d181c7 - it's useful for testing, but I need to remove it before I land that branch. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
650458857 | https://github.com/simonw/datasette/issues/842#issuecomment-650458857 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDQ1ODg1Nw== | simonw 9599 | 2020-06-27T00:11:04Z | 2020-06-27T00:11:04Z | OWNER | Security thought: make sure it's not possible to accidentally open up a security hole where an attacker can send a GET request that causes the magic parameter |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
650455793 | https://github.com/simonw/datasette/issues/842#issuecomment-650455793 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDQ1NTc5Mw== | simonw 9599 | 2020-06-26T23:57:30Z | 2020-06-27T00:00:16Z | OWNER | Maybe I should ship a default
I'm going to have |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
650455353 | https://github.com/simonw/datasette/issues/842#issuecomment-650455353 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY1MDQ1NTM1Mw== | simonw 9599 | 2020-06-26T23:55:40Z | 2020-06-26T23:55:40Z | OWNER |
It probably should - but that means it now needs a bunch of extra configuration to tell it which of those headers can be trusted in the current environment. As such I think I'll leave that for a plugin. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
649931714 | https://github.com/simonw/datasette/issues/867#issuecomment-649931714 | https://api.github.com/repos/simonw/datasette/issues/867 | MDEyOklzc3VlQ29tbWVudDY0OTkzMTcxNA== | simonw 9599 | 2020-06-26T03:12:51Z | 2020-06-26T03:12:51Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
register_routes() should support non-async view functions too 645975649 | ||
649014757 | https://github.com/simonw/datasette/issues/842#issuecomment-649014757 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY0OTAxNDc1Nw== | simonw 9599 | 2020-06-24T19:15:46Z | 2020-06-24T19:31:52Z | OWNER | I'm building this documentation-first - here's the documentation so far: https://github.com/simonw/datasette/blob/6fc8bd9c473f4a25e0a076f24c7e5a9b2f353bb8/docs/sql_queries.rst#magic-parameters |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
646271834 | https://github.com/simonw/datasette/issues/842#issuecomment-646271834 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY0NjI3MTgzNA== | simonw 9599 | 2020-06-18T19:49:41Z | 2020-06-24T18:49:22Z | OWNER | But then what kind of magic parameters might plugins want to add? Here's a crazy idea: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
646270702 | https://github.com/simonw/datasette/issues/842#issuecomment-646270702 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY0NjI3MDcwMg== | simonw 9599 | 2020-06-18T19:47:19Z | 2020-06-24T18:48:48Z | OWNER | Brainstorming more potential magic parameters:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
649000075 | https://github.com/simonw/datasette/issues/842#issuecomment-649000075 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY0OTAwMDA3NQ== | simonw 9599 | 2020-06-24T18:46:36Z | 2020-06-24T18:47:37Z | OWNER | Another magic parameter that would be useful would be Maybe This would be the first example of a magic parameter where part of the parameter name is used to configure the resulting value. Maybe neater to separate that with a different character? Unfortunately Actually this is already supported by the proposed design - |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
648998264 | https://github.com/simonw/datasette/issues/865#issuecomment-648998264 | https://api.github.com/repos/simonw/datasette/issues/865 | MDEyOklzc3VlQ29tbWVudDY0ODk5ODI2NA== | simonw 9599 | 2020-06-24T18:43:02Z | 2020-06-24T18:43:02Z | OWNER | Thanks for the bug report. Yes I think #838 may be the same issue. Will investigate. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url doesn't seem to work when adding criteria and clicking "apply" 644582921 | |
648997857 | https://github.com/simonw/datasette/issues/858#issuecomment-648997857 | https://api.github.com/repos/simonw/datasette/issues/858 | MDEyOklzc3VlQ29tbWVudDY0ODk5Nzg1Nw== | simonw 9599 | 2020-06-24T18:42:10Z | 2020-06-24T18:42:10Z | OWNER | I really need to get myself a Windows 10 development environment working so I can dig into this kind of bug properly. I have a gaming PC lying around that I could re-task for that. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
publish heroku does not work on Windows 10 642388564 | |
648818707 | https://github.com/simonw/datasette/pull/866#issuecomment-648818707 | https://api.github.com/repos/simonw/datasette/issues/866 | MDEyOklzc3VlQ29tbWVudDY0ODgxODcwNw== | codecov[bot] 22429695 | 2020-06-24T13:26:14Z | 2020-06-24T13:26:14Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ master #866 +/-=======================================
Coverage 82.99% 82.99% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update pytest-asyncio requirement from <0.13,>=0.10 to >=0.10,<0.15 644610729 | |
648800356 | https://github.com/simonw/datasette/issues/838#issuecomment-648800356 | https://api.github.com/repos/simonw/datasette/issues/838 | MDEyOklzc3VlQ29tbWVudDY0ODgwMDM1Ng== | tballison 6739646 | 2020-06-24T12:51:48Z | 2020-06-24T12:51:48Z | NONE |
+1! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Incorrect URLs when served behind a proxy with base_url set 637395097 | |
648799963 | https://github.com/simonw/datasette/issues/865#issuecomment-648799963 | https://api.github.com/repos/simonw/datasette/issues/865 | MDEyOklzc3VlQ29tbWVudDY0ODc5OTk2Mw== | tballison 6739646 | 2020-06-24T12:51:01Z | 2020-06-24T12:51:01Z | NONE | This seems to be a duplicate of: https://github.com/simonw/datasette/issues/838 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url doesn't seem to work when adding criteria and clicking "apply" 644582921 | |
648669523 | https://github.com/simonw/datasette/issues/859#issuecomment-648669523 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0ODY2OTUyMw== | abdusco 3243482 | 2020-06-24T08:13:23Z | 2020-06-24T10:30:36Z | CONTRIBUTOR | I tried setting
I feel like 10 seconds is a magic number, like a processing timeout and datasette gives up and returns the page. Index page loads instantly, table page, query page, as well. But when I return to database page after some time, it loads in 10s. EDIT: It's always like 10 + 0.3s, like 10s wait and timeout then 300ms to render the page |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
648580556 | https://github.com/simonw/datasette/issues/864#issuecomment-648580556 | https://api.github.com/repos/simonw/datasette/issues/864 | MDEyOklzc3VlQ29tbWVudDY0ODU4MDU1Ng== | simonw 9599 | 2020-06-24T04:40:49Z | 2020-06-24T04:40:49Z | OWNER | The ideal fix here would be to rework my |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.add_message() doesn't work inside plugins 644309017 | |
648580236 | https://github.com/simonw/datasette/issues/864#issuecomment-648580236 | https://api.github.com/repos/simonw/datasette/issues/864 | MDEyOklzc3VlQ29tbWVudDY0ODU4MDIzNg== | simonw 9599 | 2020-06-24T04:39:39Z | 2020-06-24T04:39:39Z | OWNER | Urgh, fixing this is going to be a bit of a pain. Here's where I added that custom If I want this to be made available to Currently So I'm going to have to refactor this quite a bit to get that shared request object which can be passed both to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette.add_message() doesn't work inside plugins 644309017 | |
648442511 | https://github.com/simonw/sqlite-utils/issues/117#issuecomment-648442511 | https://api.github.com/repos/simonw/sqlite-utils/issues/117 | MDEyOklzc3VlQ29tbWVudDY0ODQ0MjUxMQ== | simonw 9599 | 2020-06-23T21:39:41Z | 2020-06-23T21:39:41Z | OWNER | So there are two sides to supporting this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for compound (composite) foreign keys 644161221 | |
648440634 | https://github.com/simonw/sqlite-utils/issues/117#issuecomment-648440634 | https://api.github.com/repos/simonw/sqlite-utils/issues/117 | MDEyOklzc3VlQ29tbWVudDY0ODQ0MDYzNA== | simonw 9599 | 2020-06-23T21:35:16Z | 2020-06-23T21:35:16Z | OWNER | Relevant discussion: https://github.com/simonw/sqlite-generate/issues/8#issuecomment-648438056 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for compound (composite) foreign keys 644161221 | |
648440525 | https://github.com/simonw/sqlite-utils/issues/117#issuecomment-648440525 | https://api.github.com/repos/simonw/sqlite-utils/issues/117 | MDEyOklzc3VlQ29tbWVudDY0ODQ0MDUyNQ== | simonw 9599 | 2020-06-23T21:35:01Z | 2020-06-23T21:35:01Z | OWNER | Here's what's missing:
The first two columns returned by |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for compound (composite) foreign keys 644161221 | |
648434885 | https://github.com/simonw/sqlite-utils/issues/116#issuecomment-648434885 | https://api.github.com/repos/simonw/sqlite-utils/issues/116 | MDEyOklzc3VlQ29tbWVudDY0ODQzNDg4NQ== | simonw 9599 | 2020-06-23T21:21:33Z | 2020-06-23T21:21:33Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation for table.pks introspection property 644122661 | ||
648403834 | https://github.com/simonw/sqlite-utils/issues/116#issuecomment-648403834 | https://api.github.com/repos/simonw/sqlite-utils/issues/116 | MDEyOklzc3VlQ29tbWVudDY0ODQwMzgzNA== | simonw 9599 | 2020-06-23T20:36:29Z | 2020-06-23T20:36:29Z | OWNER | Should go in this section https://sqlite-utils.readthedocs.io/en/stable/python-api.html#introspection - under |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation for table.pks introspection property 644122661 | |
648296323 | https://github.com/simonw/datasette/issues/694#issuecomment-648296323 | https://api.github.com/repos/simonw/datasette/issues/694 | MDEyOklzc3VlQ29tbWVudDY0ODI5NjMyMw== | kwladyka 3903726 | 2020-06-23T17:10:51Z | 2020-06-23T17:10:51Z | NONE | @simonw Did you find the reason? I had similar situation and I check this on millions ways. I am sure app doesn't consume such memory. I was trying the app with:
I was watching app with Only one solution is to change memory to 512M. It is definitely something wrong with I even did special app for testing this. It looks like when I cross very small amount of code / memory / app size in random when, then memory needs grow +hundreds. Nothing make sense here. Especially it works everywhere expect cloud run. Please let me know if you discovered something more. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
datasette publish cloudrun --memory option 576582604 | |
648234787 | https://github.com/simonw/datasette/issues/859#issuecomment-648234787 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0ODIzNDc4Nw== | simonw 9599 | 2020-06-23T15:22:51Z | 2020-06-23T15:22:51Z | OWNER | I wonder if this is a SQLite caching issue then? Datasette has a configuration option for this but I haven't spent much time experimenting with it so I don't know how much of an impact it can have: https://datasette.readthedocs.io/en/stable/config.html#cache-size-kb |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
648232645 | https://github.com/simonw/datasette/issues/859#issuecomment-648232645 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0ODIzMjY0NQ== | abdusco 3243482 | 2020-06-23T15:19:53Z | 2020-06-23T15:19:53Z | CONTRIBUTOR | The issue seems to appear sporadically, like when I return to database page after a while, during which some records have been added to the database. I've just visited database, page first visit took ~10s, consecutive visits took 0.3s. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
648163272 | https://github.com/simonw/datasette/issues/859#issuecomment-648163272 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0ODE2MzI3Mg== | simonw 9599 | 2020-06-23T13:52:23Z | 2020-06-23T13:52:23Z | OWNER | I'm chunking inserts at 100 at a time right now: https://github.com/simonw/sqlite-utils/blob/4d9a3204361d956440307a57bd18c829a15861db/sqlite_utils/db.py#L1030 I think the performance is more down to using Faker to create the test data - generating millions of entirely fake, randomized records takes a fair bit of time. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
647925594 | https://github.com/simonw/datasette/issues/859#issuecomment-647925594 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0NzkyNTU5NA== | abdusco 3243482 | 2020-06-23T05:55:21Z | 2020-06-23T06:28:29Z | CONTRIBUTOR | Hmm, not seeing the problem now. I have couple of workers that check some pages regularly and scrape new content and save to the DB. Could it be that datasette tries to recount tables every time database size changes? Normally it keeps a count cache, but as DB gets updated so often (new content every 5 min or so) it's practically recounting every time I go to the database page? EDIT: It turns out it doesn't hold cache with mutable databases. I'll update the issue with more findings and a better way to reproduce the problem if I encounter it again. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
647936117 | https://github.com/simonw/datasette/issues/859#issuecomment-647936117 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0NzkzNjExNw== | abdusco 3243482 | 2020-06-23T06:25:17Z | 2020-06-23T06:25:17Z | CONTRIBUTOR |
Try chunking write operations into batches every 1000 records or so. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
647935300 | https://github.com/simonw/datasette/issues/859#issuecomment-647935300 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0NzkzNTMwMA== | abdusco 3243482 | 2020-06-23T06:23:01Z | 2020-06-23T06:23:01Z | CONTRIBUTOR |
Ah that was a typo, I meant 50k. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
647923666 | https://github.com/simonw/datasette/issues/859#issuecomment-647923666 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0NzkyMzY2Ng== | abdusco 3243482 | 2020-06-23T05:49:31Z | 2020-06-23T05:49:31Z | CONTRIBUTOR | I think I should mention that having FTS on all tables mean I have 5 visible, 25 hidden (FTS) tables displayed on database page. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
647894903 | https://github.com/simonw/datasette/issues/859#issuecomment-647894903 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0Nzg5NDkwMw== | simonw 9599 | 2020-06-23T04:07:59Z | 2020-06-23T04:07:59Z | OWNER | Just to check: are you seeing the problem on this page: https://latest.datasette.io/fixtures (the database page) - or this page (the table page): https://latest.datasette.io/fixtures/compound_three_primary_keys If it's the table page then the problem may well be #862. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 | |
647893140 | https://github.com/simonw/datasette/issues/596#issuecomment-647893140 | https://api.github.com/repos/simonw/datasette/issues/596 | MDEyOklzc3VlQ29tbWVudDY0Nzg5MzE0MA== | simonw 9599 | 2020-06-23T03:59:51Z | 2020-06-23T03:59:51Z | OWNER | Related: #862 - a time limit on the total time spent considering suggested facets for a table. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Handle really wide tables better 507454958 | |
647892930 | https://github.com/simonw/datasette/issues/862#issuecomment-647892930 | https://api.github.com/repos/simonw/datasette/issues/862 | MDEyOklzc3VlQ29tbWVudDY0Nzg5MjkzMA== | simonw 9599 | 2020-06-23T03:58:48Z | 2020-06-23T03:58:48Z | OWNER | Should this be controlled be a separate configuration setting? I'm inclined to say no - I think instead I'll set the limit to be 10 * whatever |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Set an upper limit on total facet suggestion time for a page 643510821 | |
647890619 | https://github.com/simonw/datasette/issues/859#issuecomment-647890619 | https://api.github.com/repos/simonw/datasette/issues/859 | MDEyOklzc3VlQ29tbWVudDY0Nzg5MDYxOQ== | simonw 9599 | 2020-06-23T03:48:21Z | 2020-06-23T03:48:21Z | OWNER |
Looks like that will take 35 minutes to run (it's not a particularly fast tool). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database page loads too slowly with many large tables (due to table counts) 642572841 |
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]);
user >30