issue_comments
8,358 rows where author_association = "OWNER" and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
user 1
- simonw · 3,517 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
722070569 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722070569 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA3MDU2OQ== | simonw 9599 | 2020-11-05T01:38:40Z | 2020-11-05T01:38:40Z | OWNER | I'm going to try |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722064258 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722064258 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA2NDI1OA== | simonw 9599 | 2020-11-05T01:18:07Z | 2020-11-05T01:21:31Z | OWNER |
This matches a single quote, then 0+ not-single-quotes, then 0+ (either 0+ not-single quotes or a double single quote), then a single quote. Unrolling the loop technique described here: http://www.softec.lu/site/RegularExpressions/UnrollingTheLoop |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722062449 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722062449 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA2MjQ0OQ== | simonw 9599 | 2020-11-05T01:12:14Z | 2020-11-05T01:12:14Z | OWNER | Good news: I don't think I have to deal with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722062082 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722062082 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA2MjA4Mg== | simonw 9599 | 2020-11-05T01:10:51Z | 2020-11-05T01:10:51Z | OWNER | I confirmed all three of these are valid syntax for creating tables:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722058598 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722058598 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA1ODU5OA== | simonw 9599 | 2020-11-05T00:59:58Z | 2020-11-05T00:59:58Z | OWNER | That two-in-a-row thing works for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722057923 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722057923 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA1NzkyMw== | simonw 9599 | 2020-11-05T00:57:22Z | 2020-11-05T00:57:22Z | OWNER | Then https://sqlite.org/lang_expr.html#literal_values_constants_ says:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722057392 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722057392 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA1NzM5Mg== | simonw 9599 | 2020-11-05T00:55:31Z | 2020-11-05T00:55:51Z | OWNER | https://sqlite.org/lang_keywords.html says:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722056576 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722056576 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA1NjU3Ng== | simonw 9599 | 2020-11-05T00:52:42Z | 2020-11-05T00:52:42Z | OWNER | I could use a parsing library like https://parsy.readthedocs.io/en/latest/tutorial.html for this - or I'd rather not add a new dependency for this though so I'm going to see if I can get something that's good-enough just using a regular expression. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722055291 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722055291 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA1NTI5MQ== | simonw 9599 | 2020-11-05T00:48:10Z | 2020-11-05T00:48:10Z | OWNER | This is blocking landing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722055104 | https://github.com/simonw/sqlite-utils/issues/196#issuecomment-722055104 | https://api.github.com/repos/simonw/sqlite-utils/issues/196 | MDEyOklzc3VlQ29tbWVudDcyMjA1NTEwNA== | simonw 9599 | 2020-11-05T00:47:34Z | 2020-11-05T00:47:34Z | OWNER | This is surprisingly difficult. I need to parse the
The problem is I need to be able to handle various different quoting formats for the table name ( |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Introspect if table is FTS4 or FTS5 736520310 | |
722054264 | https://github.com/simonw/sqlite-utils/issues/192#issuecomment-722054264 | https://api.github.com/repos/simonw/sqlite-utils/issues/192 | MDEyOklzc3VlQ29tbWVudDcyMjA1NDI2NA== | simonw 9599 | 2020-11-05T00:44:39Z | 2020-11-05T00:44:39Z | OWNER | I want This means I need to be able to introspect and tell if a table is FTS4 or FTS5. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils search command 735532751 | |
721931504 | https://github.com/simonw/datasette/issues/1082#issuecomment-721931504 | https://api.github.com/repos/simonw/datasette/issues/1082 | MDEyOklzc3VlQ29tbWVudDcyMTkzMTUwNA== | simonw 9599 | 2020-11-04T19:32:47Z | 2020-11-04T19:35:44Z | OWNER | I wonder if setting a soft memory limit within Datasette would help here: https://www.sqlite.org/malloc.html#_setting_memory_usage_limits
https://www.sqlite.org/pragma.html#pragma_soft_heap_limit
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DigitalOcean buildpack memory errors for large sqlite db? 735852274 | |
721927254 | https://github.com/simonw/datasette/issues/1083#issuecomment-721927254 | https://api.github.com/repos/simonw/datasette/issues/1083 | MDEyOklzc3VlQ29tbWVudDcyMTkyNzI1NA== | simonw 9599 | 2020-11-04T19:24:34Z | 2020-11-04T19:24:34Z | OWNER | Related: #856 - if it's possible to paginate correctly configured canned query then the CSV option to "stream all rows" could work for queries as well as tables. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Advanced CSV export for arbitrary queries 736365306 | |
721926827 | https://github.com/simonw/datasette/issues/1083#issuecomment-721926827 | https://api.github.com/repos/simonw/datasette/issues/1083 | MDEyOklzc3VlQ29tbWVudDcyMTkyNjgyNw== | simonw 9599 | 2020-11-04T19:23:42Z | 2020-11-04T19:23:42Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Advanced CSV export for arbitrary queries 736365306 | ||
721896822 | https://github.com/simonw/datasette/issues/268#issuecomment-721896822 | https://api.github.com/repos/simonw/datasette/issues/268 | MDEyOklzc3VlQ29tbWVudDcyMTg5NjgyMg== | simonw 9599 | 2020-11-04T18:23:29Z | 2020-11-04T18:23:29Z | OWNER | Worth noting that joining to get the rank works for FTS5 but not for FTS4 - see comment here: https://github.com/simonw/sqlite-utils/issues/192#issuecomment-721420539 Easiest solution would be to only support sort-by-rank for FTS5 tables. Alternative would be to depend on https://github.com/simonw/sqlite-fts4 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for ranking results from SQLite full-text search 323718842 | |
721545090 | https://github.com/simonw/datasette/issues/1082#issuecomment-721545090 | https://api.github.com/repos/simonw/datasette/issues/1082 | MDEyOklzc3VlQ29tbWVudDcyMTU0NTA5MA== | simonw 9599 | 2020-11-04T06:47:15Z | 2020-11-04T06:47:15Z | OWNER | I've run into a similar problem with Google Cloud Run: beyond a certain size of database file I find myself needing to run instances there with more RAM assigned to them. I haven't yet figured out a method to estimate the amount of RAM that will be needed to successfully serve a database file of a specific size- I've been using trial and error. 5GB is quite a big database file, so it doesn't surprise me that it may need a bigger instance. I recommend trying it on a 1GB or 2GB of RAM Digital Ocean instance (their default is 512MB) and see if that works. Let me know what you find out! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
DigitalOcean buildpack memory errors for large sqlite db? 735852274 | |
721453779 | https://github.com/simonw/sqlite-utils/issues/192#issuecomment-721453779 | https://api.github.com/repos/simonw/sqlite-utils/issues/192 | MDEyOklzc3VlQ29tbWVudDcyMTQ1Mzc3OQ== | simonw 9599 | 2020-11-04T00:59:24Z | 2020-11-04T00:59:36Z | OWNER | FTS5 was added in SQLite 3.9.0 in 2015-10-14 - so about a year after CTEs, which means CTEs will always be safe to use with FTS5 queries. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils search command 735532751 | |
721420907 | https://github.com/simonw/sqlite-utils/issues/192#issuecomment-721420907 | https://api.github.com/repos/simonw/sqlite-utils/issues/192 | MDEyOklzc3VlQ29tbWVudDcyMTQyMDkwNw== | simonw 9599 | 2020-11-03T23:07:01Z | 2020-11-03T23:07:01Z | OWNER | I could depend on my Or I could say that only |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils search command 735532751 | |
721420539 | https://github.com/simonw/sqlite-utils/issues/192#issuecomment-721420539 | https://api.github.com/repos/simonw/sqlite-utils/issues/192 | MDEyOklzc3VlQ29tbWVudDcyMTQyMDUzOQ== | simonw 9599 | 2020-11-03T23:05:53Z | 2020-11-03T23:05:53Z | OWNER | Just realized there's a problem with the SQL I am using here: joining to get |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils search command 735532751 | |
721397665 | https://github.com/simonw/sqlite-utils/pull/195#issuecomment-721397665 | https://api.github.com/repos/simonw/sqlite-utils/issues/195 | MDEyOklzc3VlQ29tbWVudDcyMTM5NzY2NQ== | simonw 9599 | 2020-11-03T22:02:57Z | 2020-11-03T22:02:57Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.search() improvements plus sqlite-utils search command 735663855 | ||
721319602 | https://github.com/simonw/sqlite-utils/issues/192#issuecomment-721319602 | https://api.github.com/repos/simonw/sqlite-utils/issues/192 | MDEyOklzc3VlQ29tbWVudDcyMTMxOTYwMg== | simonw 9599 | 2020-11-03T19:05:05Z | 2020-11-03T19:05:05Z | OWNER | Relevant example using a SQLite CTE: https://github.com/simonw/datasette/issues/268#issuecomment-675725464 CTEs were added in SQLite 3.8.3 in 2014-02-03 so they should be safe to use. If someone tries to run |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils search command 735532751 | |
720700065 | https://github.com/simonw/datasette/issues/830#issuecomment-720700065 | https://api.github.com/repos/simonw/datasette/issues/830 | MDEyOklzc3VlQ29tbWVudDcyMDcwMDA2NQ== | simonw 9599 | 2020-11-02T20:15:36Z | 2020-11-02T20:15:36Z | OWNER | 427 had a bunch of ambitious plans for faceting that I haven't realized yet:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign register_facet_classes plugin hook 636511683 | |
720696827 | https://github.com/simonw/datasette/issues/1080#issuecomment-720696827 | https://api.github.com/repos/simonw/datasette/issues/1080 | MDEyOklzc3VlQ29tbWVudDcyMDY5NjgyNw== | simonw 9599 | 2020-11-02T20:08:49Z | 2020-11-02T20:13:56Z | OWNER | Implementing pagination for facets will be interesting. Would be easier if I had a nicer reusable internal pagination mechanism, which is also needed for #856 (pagination of canned queries). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"View all" option for facets, to provide a (paginated) list of ALL of the facet counts plus a link to view them 734777631 | |
720699160 | https://github.com/simonw/datasette/issues/1080#issuecomment-720699160 | https://api.github.com/repos/simonw/datasette/issues/1080 | MDEyOklzc3VlQ29tbWVudDcyMDY5OTE2MA== | simonw 9599 | 2020-11-02T20:13:42Z | 2020-11-02T20:13:42Z | OWNER | Also relevant to this issue: #830 - redesigning the facet plugin hook in preparation for Datasette 1.0. And #972 supporting faceting against arbitrary queries. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"View all" option for facets, to provide a (paginated) list of ALL of the facet counts plus a link to view them 734777631 | |
720698577 | https://github.com/simonw/datasette/issues/1080#issuecomment-720698577 | https://api.github.com/repos/simonw/datasette/issues/1080 | MDEyOklzc3VlQ29tbWVudDcyMDY5ODU3Nw== | simonw 9599 | 2020-11-02T20:12:26Z | 2020-11-02T20:12:26Z | OWNER | For regular column faceting, here's the query that is used: Since it uses That wouldn't be robust in the face of changing data, but I'm not sure it's possible to implement paginated faceting in a way that survives ongoing changes to the underlying data. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"View all" option for facets, to provide a (paginated) list of ALL of the facet counts plus a link to view them 734777631 | |
720697226 | https://github.com/simonw/datasette/issues/1080#issuecomment-720697226 | https://api.github.com/repos/simonw/datasette/issues/1080 | MDEyOklzc3VlQ29tbWVudDcyMDY5NzIyNg== | simonw 9599 | 2020-11-02T20:09:38Z | 2020-11-02T20:09:38Z | OWNER | Maybe this ends up being code that defers to a simulated canned query, rendered using the existing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"View all" option for facets, to provide a (paginated) list of ALL of the facet counts plus a link to view them 734777631 | |
720695174 | https://github.com/simonw/datasette/issues/1080#issuecomment-720695174 | https://api.github.com/repos/simonw/datasette/issues/1080 | MDEyOklzc3VlQ29tbWVudDcyMDY5NTE3NA== | simonw 9599 | 2020-11-02T20:05:26Z | 2020-11-02T20:05:26Z | OWNER | URL design:
And for other types of facet (to be supported later):
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"View all" option for facets, to provide a (paginated) list of ALL of the facet counts plus a link to view them 734777631 | |
720689653 | https://github.com/simonw/datasette/issues/596#issuecomment-720689653 | https://api.github.com/repos/simonw/datasette/issues/596 | MDEyOklzc3VlQ29tbWVudDcyMDY4OTY1Mw== | simonw 9599 | 2020-11-02T19:53:36Z | 2020-11-02T19:53:47Z | OWNER | In #998 I implemented a horizontal scrollbar for these tables, which is a big improvement - demo here: https://global-power-plants.datasettes.com/global-power-plants/global-power-plants |
{ "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 | |
720654925 | https://github.com/simonw/datasette/issues/1077#issuecomment-720654925 | https://api.github.com/repos/simonw/datasette/issues/1077 | MDEyOklzc3VlQ29tbWVudDcyMDY1NDkyNQ== | simonw 9599 | 2020-11-02T18:43:25Z | 2020-11-02T18:43:25Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
database_actions plugin hook 733829385 | ||
720637322 | https://github.com/simonw/datasette/issues/1077#issuecomment-720637322 | https://api.github.com/repos/simonw/datasette/issues/1077 | MDEyOklzc3VlQ29tbWVudDcyMDYzNzMyMg== | simonw 9599 | 2020-11-02T18:09:17Z | 2020-11-02T18:09:17Z | OWNER | Here's the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
database_actions plugin hook 733829385 | |
720110298 | https://github.com/simonw/datasette/issues/1079#issuecomment-720110298 | https://api.github.com/repos/simonw/datasette/issues/1079 | MDEyOklzc3VlQ29tbWVudDcyMDExMDI5OA== | simonw 9599 | 2020-11-01T15:58:22Z | 2020-11-01T15:58:22Z | OWNER | Might try a drop shadow on that menu too. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Handle long breadcrumbs better with new menu 733999615 | |
720028476 | https://github.com/simonw/datasette/issues/782#issuecomment-720028476 | https://api.github.com/repos/simonw/datasette/issues/782 | MDEyOklzc3VlQ29tbWVudDcyMDAyODQ3Ng== | simonw 9599 | 2020-11-01T05:00:05Z | 2020-11-01T05:00:05Z | OWNER | This should be the key focus for Datasette 0.52. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign default .json format 627794879 | |
720021029 | https://github.com/simonw/datasette/issues/949#issuecomment-720021029 | https://api.github.com/repos/simonw/datasette/issues/949 | MDEyOklzc3VlQ29tbWVudDcyMDAyMTAyOQ== | simonw 9599 | 2020-11-01T03:29:48Z | 2020-11-01T03:29:48Z | OWNER | I'm not going to do any more work on this - SQL isn't an auto-complete friendly enough language. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Try out CodeMirror SQL hints 684961449 | |
720003026 | https://github.com/simonw/datasette/issues/1077#issuecomment-720003026 | https://api.github.com/repos/simonw/datasette/issues/1077 | MDEyOklzc3VlQ29tbWVudDcyMDAwMzAyNg== | simonw 9599 | 2020-10-31T23:48:21Z | 2020-10-31T23:50:07Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
database_actions plugin hook 733829385 | ||
719994676 | https://github.com/simonw/datasette/issues/1047#issuecomment-719994676 | https://api.github.com/repos/simonw/datasette/issues/1047 | MDEyOklzc3VlQ29tbWVudDcxOTk5NDY3Ng== | simonw 9599 | 2020-10-31T22:11:25Z | 2020-10-31T22:11:25Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
A new section in the docs about how Datasette handles BLOB columns 728895233 | ||
719988113 | https://github.com/simonw/datasette/issues/1027#issuecomment-719988113 | https://api.github.com/repos/simonw/datasette/issues/1027 | MDEyOklzc3VlQ29tbWVudDcxOTk4ODExMw== | simonw 9599 | 2020-10-31T21:03:37Z | 2020-10-31T21:03:37Z | OWNER | On my Mac, I run:
Then I edited
Now hitting http://localhost:8081/datasette-prefix/fixtures/compound_three_primary_keys worked! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add documentation on serving Datasette behind a proxy using base_url 722758132 | |
719986922 | https://github.com/simonw/datasette/issues/1023#issuecomment-719986922 | https://api.github.com/repos/simonw/datasette/issues/1023 | MDEyOklzc3VlQ29tbWVudDcxOTk4NjkyMg== | simonw 9599 | 2020-10-31T20:51:01Z | 2020-10-31T20:51:01Z | OWNER | This should all be working correctly now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix issues relating to base_url 722673818 | |
719986904 | https://github.com/simonw/datasette/issues/838#issuecomment-719986904 | https://api.github.com/repos/simonw/datasette/issues/838 | MDEyOklzc3VlQ29tbWVudDcxOTk4NjkwNA== | simonw 9599 | 2020-10-31T20:50:41Z | 2020-10-31T20:50:41Z | OWNER | OK, this should be working now. You can use the |
{ "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 | |
719986800 | https://github.com/simonw/datasette/issues/1041#issuecomment-719986800 | https://api.github.com/repos/simonw/datasette/issues/1041 | MDEyOklzc3VlQ29tbWVudDcxOTk4NjgwMA== | simonw 9599 | 2020-10-31T20:49:28Z | 2020-10-31T20:49:28Z | OWNER | Implemented in a4ca26a2659d21779adf625183061d8879954c15 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
extra_js_urls and extra_css_urls should respect base_url setting 727627923 | |
719986698 | https://github.com/simonw/datasette/issues/1072#issuecomment-719986698 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTk4NjY5OA== | simonw 9599 | 2020-10-31T20:48:17Z | 2020-10-31T20:48:17Z | OWNER | Here's the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719983750 | https://github.com/simonw/datasette/issues/1075#issuecomment-719983750 | https://api.github.com/repos/simonw/datasette/issues/1075 | MDEyOklzc3VlQ29tbWVudDcxOTk4Mzc1MA== | simonw 9599 | 2020-10-31T20:22:29Z | 2020-10-31T20:22:29Z | OWNER | I bet this is because I'm mucking around with one of those |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
PrefixedUrlString mechanism broke everything 733796942 | |
719983565 | https://github.com/simonw/datasette/issues/1075#issuecomment-719983565 | https://api.github.com/repos/simonw/datasette/issues/1075 | MDEyOklzc3VlQ29tbWVudDcxOTk4MzU2NQ== | simonw 9599 | 2020-10-31T20:21:03Z | 2020-10-31T20:21:03Z | OWNER | Here's the output of
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
PrefixedUrlString mechanism broke everything 733796942 | |
719983484 | https://github.com/simonw/datasette/issues/1075#issuecomment-719983484 | https://api.github.com/repos/simonw/datasette/issues/1075 | MDEyOklzc3VlQ29tbWVudDcxOTk4MzQ4NA== | simonw 9599 | 2020-10-31T20:20:28Z | 2020-10-31T20:20:28Z | OWNER | It looks like this is specific to the way Here's the current https://github.com/simonw/datasette/blob/bf18b9ba175a7b25fb8b765847397dd6efb8bb7b/datasette/utils/init.py#L1015-L1035 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
PrefixedUrlString mechanism broke everything 733796942 | |
719983240 | https://github.com/simonw/datasette/issues/1075#issuecomment-719983240 | https://api.github.com/repos/simonw/datasette/issues/1075 | MDEyOklzc3VlQ29tbWVudDcxOTk4MzI0MA== | simonw 9599 | 2020-10-31T20:18:49Z | 2020-10-31T20:18:49Z | OWNER | Here's the core problem:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
PrefixedUrlString mechanism broke everything 733796942 | |
719981173 | https://github.com/simonw/datasette/issues/1075#issuecomment-719981173 | https://api.github.com/repos/simonw/datasette/issues/1075 | MDEyOklzc3VlQ29tbWVudDcxOTk4MTE3Mw== | simonw 9599 | 2020-10-31T20:02:30Z | 2020-10-31T20:03:45Z | OWNER | I wonder how Jinja's It's a subclass of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
PrefixedUrlString mechanism broke everything 733796942 | |
719980742 | https://github.com/simonw/datasette/issues/1075#issuecomment-719980742 | https://api.github.com/repos/simonw/datasette/issues/1075 | MDEyOklzc3VlQ29tbWVudDcxOTk4MDc0Mg== | simonw 9599 | 2020-10-31T19:58:57Z | 2020-10-31T19:58:57Z | OWNER | Sample traceback: ``` <link rel="stylesheet" href="{{ urls.static('app.css') }}?{{ app_css_hash }}"> /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages/jinja2/asyncsupport.py:173: in auto_await if inspect.isawaitable(value): /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/inspect.py:226: in isawaitable isinstance(object, collections.abc.Awaitable)) /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/abc.py:139: in instancecheck return _abc_instancecheck(cls, instance) cls = <class 'collections.abc.Awaitable'> subclass = <bound method PrefixedUrlString.__getattribute__.\<locals>.method of '/-/static/app.css'>
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
PrefixedUrlString mechanism broke everything 733796942 | |
719977864 | https://github.com/simonw/datasette/issues/1074#issuecomment-719977864 | https://api.github.com/repos/simonw/datasette/issues/1074 | MDEyOklzc3VlQ29tbWVudDcxOTk3Nzg2NA== | simonw 9599 | 2020-10-31T19:35:01Z | 2020-10-31T19:35:01Z | OWNER | These plugins were not designed to be actually hosted online, so they do some nasty things like linking to the made-up |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
latest.datasette.io should include plugins from fixtures 733768037 | |
719966176 | https://github.com/simonw/datasette/issues/1067#issuecomment-719966176 | https://api.github.com/repos/simonw/datasette/issues/1067 | MDEyOklzc3VlQ29tbWVudDcxOTk2NjE3Ng== | simonw 9599 | 2020-10-31T17:51:31Z | 2020-10-31T17:51:31Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu on view pages, not on query pages 732905360 | ||
719965426 | https://github.com/simonw/datasette/issues/1074#issuecomment-719965426 | https://api.github.com/repos/simonw/datasette/issues/1074 | MDEyOklzc3VlQ29tbWVudDcxOTk2NTQyNg== | simonw 9599 | 2020-10-31T17:45:00Z | 2020-10-31T17:45:00Z | OWNER | This is working. Go to https://latest.datasette.io/login-as-root and click the button, then visit this page to see extra content added by plugins: https://latest.datasette.io/fixtures/compound_three_primary_keys |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
latest.datasette.io should include plugins from fixtures 733768037 | |
719963074 | https://github.com/simonw/datasette/issues/1074#issuecomment-719963074 | https://api.github.com/repos/simonw/datasette/issues/1074 | MDEyOklzc3VlQ29tbWVudDcxOTk2MzA3NA== | simonw 9599 | 2020-10-31T17:23:48Z | 2020-10-31T17:23:48Z | OWNER | Needs a way to login as root, seeing as several plugins only show extra content if the user is logged in as root. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
latest.datasette.io should include plugins from fixtures 733768037 | |
719961701 | https://github.com/simonw/datasette/issues/1067#issuecomment-719961701 | https://api.github.com/repos/simonw/datasette/issues/1067 | MDEyOklzc3VlQ29tbWVudDcxOTk2MTcwMQ== | simonw 9599 | 2020-10-31T17:11:59Z | 2020-10-31T17:11:59Z | OWNER | It bothers me that these aren't visible in any public demos. Maybe |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu on view pages, not on query pages 732905360 | |
719959754 | https://github.com/simonw/datasette/issues/1026#issuecomment-719959754 | https://api.github.com/repos/simonw/datasette/issues/1026 | MDEyOklzc3VlQ29tbWVudDcxOTk1OTc1NA== | simonw 9599 | 2020-10-31T16:56:35Z | 2020-10-31T16:56:35Z | OWNER | 1041 can also benefit from the string subclass that shows that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How should datasette.client interact with base_url 722738988 | |
719959419 | https://github.com/simonw/datasette/issues/1067#issuecomment-719959419 | https://api.github.com/repos/simonw/datasette/issues/1067 | MDEyOklzc3VlQ29tbWVudDcxOTk1OTQxOQ== | simonw 9599 | 2020-10-31T16:53:42Z | 2020-10-31T16:53:42Z | OWNER | For the 0.51 release I'm going to add tests that show this works on view pages. I won't implement it for query pages. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu on view pages, not on query pages 732905360 | |
719956184 | https://github.com/simonw/datasette/issues/1067#issuecomment-719956184 | https://api.github.com/repos/simonw/datasette/issues/1067 | MDEyOklzc3VlQ29tbWVudDcxOTk1NjE4NA== | simonw 9599 | 2020-10-31T16:26:09Z | 2020-10-31T16:26:09Z | OWNER | Should the hook provide an indication that it's running on a different type of page? I think yes for queries. Not sure about views - they behave very much like tables, and the plugin can always introspect to see if something is a view if it needs to. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu on view pages, not on query pages 732905360 | |
719955724 | https://github.com/simonw/datasette/issues/1070#issuecomment-719955724 | https://api.github.com/repos/simonw/datasette/issues/1070 | MDEyOklzc3VlQ29tbWVudDcxOTk1NTcyNA== | simonw 9599 | 2020-10-31T16:22:45Z | 2020-10-31T16:22:45Z | OWNER | I've removed this plugin hook in #1073. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template() example in documentation showing loading from a database 733390884 | |
719955491 | https://github.com/simonw/datasette/issues/1072#issuecomment-719955491 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTk1NTQ5MQ== | simonw 9599 | 2020-10-31T16:20:58Z | 2020-10-31T16:20:58Z | OWNER | Here's the proof of concept
@hookspec(firstresult=True) -def load_template(template, request, datasette): +def load_template(template, datasette): "Load the specified template, returning the template code as a string" diff --git a/docs/plugin_hooks.rst b/docs/plugin_hooks.rst index 3c57b6a..8f2704e 100644 --- a/docs/plugin_hooks.rst +++ b/docs/plugin_hooks.rst @@ -273,15 +273,12 @@ Example: `datasette-cluster-map <https://github.com/simonw/datasette-cluster-map .. _plugin_hook_load_template: -load_template(template, request, datasette)+load_template(template, datasette) +----------------------------------
- |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719834200 | https://github.com/simonw/datasette/issues/1073#issuecomment-719834200 | https://api.github.com/repos/simonw/datasette/issues/1073 | MDEyOklzc3VlQ29tbWVudDcxOTgzNDIwMA== | simonw 9599 | 2020-10-30T22:52:48Z | 2020-10-30T22:52:48Z | OWNER | Should mostly be a case of backing out the changes from this commit: 81dea4b07ab2b6f4eaaf248307d2b588472054a1 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove load_template plugin hook 733560417 | |
719833744 | https://github.com/simonw/datasette/issues/1072#issuecomment-719833744 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgzMzc0NA== | simonw 9599 | 2020-10-30T22:50:57Z | 2020-10-30T22:50:57Z | OWNER | Yeah I'm going to remove the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719833070 | https://github.com/simonw/datasette/issues/1072#issuecomment-719833070 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgzMzA3MA== | simonw 9599 | 2020-10-30T22:48:04Z | 2020-10-30T22:48:04Z | OWNER | So yeah that plugin hook can probably modify the list of loaders available to the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719832853 | https://github.com/simonw/datasette/issues/1072#issuecomment-719832853 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgzMjg1Mw== | simonw 9599 | 2020-10-30T22:47:12Z | 2020-10-30T22:47:12Z | OWNER | Maybe I should ditch this hook entirely in favour of the existing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719832651 | https://github.com/simonw/datasette/issues/1072#issuecomment-719832651 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgzMjY1MQ== | simonw 9599 | 2020-10-30T22:46:25Z | 2020-10-30T22:46:25Z | OWNER | I tried using a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719819331 | https://github.com/simonw/datasette/issues/1072#issuecomment-719819331 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxOTMzMQ== | simonw 9599 | 2020-10-30T22:00:43Z | 2020-10-30T22:00:43Z | OWNER | I'll try getting that to work. If I can't get it to work I'll drop the plugin hook for the moment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719819234 | https://github.com/simonw/datasette/issues/1072#issuecomment-719819234 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxOTIzNA== | simonw 9599 | 2020-10-30T22:00:21Z | 2020-10-30T22:00:21Z | OWNER | There might be a way to save this. Async template loading can't be supported, but what if you could define a Then the It could even maintain an in-memory cache that gets updated when a template is edited. If I do this, I could remove the ability to return an |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719814279 | https://github.com/simonw/datasette/issues/1072#issuecomment-719814279 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxNDI3OQ== | simonw 9599 | 2020-10-30T21:45:33Z | 2020-10-30T21:45:33Z | OWNER | Sadly I'm going to bump |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719813970 | https://github.com/simonw/datasette/issues/1072#issuecomment-719813970 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxMzk3MA== | simonw 9599 | 2020-10-30T21:44:40Z | 2020-10-30T21:44:40Z | OWNER | I'm pretty sure that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719813212 | https://github.com/simonw/datasette/issues/1072#issuecomment-719813212 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxMzIxMg== | simonw 9599 | 2020-10-30T21:42:35Z | 2020-10-30T21:42:35Z | OWNER | Filed a feature request here: https://github.com/pallets/jinja/issues/1304 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719811312 | https://github.com/simonw/datasette/issues/1072#issuecomment-719811312 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxMTMxMg== | simonw 9599 | 2020-10-30T21:36:49Z | 2020-10-30T21:36:49Z | OWNER | There's one other option: in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719810533 | https://github.com/simonw/datasette/issues/1072#issuecomment-719810533 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxMDUzMw== | simonw 9599 | 2020-10-30T21:34:38Z | 2020-10-30T21:34:38Z | OWNER | ... no wait, my comments above assume that I'm just building the This may mean I need to delay the whole feature. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719810023 | https://github.com/simonw/datasette/issues/1072#issuecomment-719810023 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgxMDAyMw== | simonw 9599 | 2020-10-30T21:33:06Z | 2020-10-30T21:33:06Z | OWNER | The ideal solution is for Jinja to offer |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719809780 | https://github.com/simonw/datasette/issues/1072#issuecomment-719809780 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgwOTc4MA== | simonw 9599 | 2020-10-30T21:32:28Z | 2020-10-30T21:32:28Z | OWNER | Here's an alternative that would definitely work and would be a lot simpler, at the cost of a fair amount of RAM:
This does mean loading template bodies that we won't use. Provided an instance has less than 100 templates I imagine this will work just fine. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719809259 | https://github.com/simonw/datasette/issues/1072#issuecomment-719809259 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgwOTI1OQ== | simonw 9599 | 2020-10-30T21:31:10Z | 2020-10-30T21:31:10Z | OWNER | How can we tell what template Jinja will need to render? One approach that could work:
This is GROSS. It feels like a huge waste of CPU, and it could lead to very weird behaviour if any template variables have side effects. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719807502 | https://github.com/simonw/datasette/issues/1072#issuecomment-719807502 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgwNzUwMg== | simonw 9599 | 2020-10-30T21:26:49Z | 2020-10-30T21:26:49Z | OWNER | It looks like Jinja does not have a mechanism for asynchronous template loading - the loader API is synchronous. One option may be to figure out which templates are needed (including inherited templates and includes) before rendering the template. Then async load those templates from the database into a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719803880 | https://github.com/simonw/datasette/issues/1072#issuecomment-719803880 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTgwMzg4MA== | simonw 9599 | 2020-10-30T21:17:11Z | 2020-10-30T21:17:11Z | OWNER | Example from the Jinja docs: https://jinja.palletsprojects.com/en/2.11.x/api/#jinja2.BaseLoader ```python from jinja2 import BaseLoader, TemplateNotFound from os.path import join, exists, getmtime class MyLoader(BaseLoader):
Just one catch: I need to be able to load templates asynchronously, because they live in the database. Let's hope Jinja has a mechanism for that! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719785005 | https://github.com/simonw/datasette/issues/1072#issuecomment-719785005 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTc4NTAwNQ== | simonw 9599 | 2020-10-30T20:36:22Z | 2020-10-30T20:36:22Z | OWNER | It should be easy enough to show a comment that says which original template names were considered, but I may not be able to show which one was actually used (or which ones came from plugins). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719784606 | https://github.com/simonw/datasette/issues/1072#issuecomment-719784606 | https://api.github.com/repos/simonw/datasette/issues/1072 | MDEyOklzc3VlQ29tbWVudDcxOTc4NDYwNg== | simonw 9599 | 2020-10-30T20:35:33Z | 2020-10-30T20:35:33Z | OWNER | To fix this I think I need to move the I'm not sure I'll be able to keep the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template hook doesn't work for include/extends 733499930 | |
719777499 | https://github.com/simonw/datasette/issues/1071#issuecomment-719777499 | https://api.github.com/repos/simonw/datasette/issues/1071 | MDEyOklzc3VlQ29tbWVudDcxOTc3NzQ5OQ== | simonw 9599 | 2020-10-30T20:20:01Z | 2020-10-30T20:20:01Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Messages should be displayed full width 733485423 | ||
719672967 | https://github.com/simonw/datasette/pull/1069#issuecomment-719672967 | https://api.github.com/repos/simonw/datasette/issues/1069 | MDEyOklzc3VlQ29tbWVudDcxOTY3Mjk2Nw== | simonw 9599 | 2020-10-30T16:58:01Z | 2020-10-30T16:58:01Z | OWNER | OK, new hook specification is:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template() plugin hook 733303548 | |
719670714 | https://github.com/simonw/datasette/pull/1069#issuecomment-719670714 | https://api.github.com/repos/simonw/datasette/issues/1069 | MDEyOklzc3VlQ29tbWVudDcxOTY3MDcxNA== | simonw 9599 | 2020-10-30T16:53:56Z | 2020-10-30T16:53:56Z | OWNER | I'm having second thoughts about the design of the plugin hook. Consider the following:
So maybe for the first release of this plugin hook I should cut it down to just seeing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template() plugin hook 733303548 | |
719666912 | https://github.com/simonw/datasette/pull/1069#issuecomment-719666912 | https://api.github.com/repos/simonw/datasette/issues/1069 | MDEyOklzc3VlQ29tbWVudDcxOTY2NjkxMg== | simonw 9599 | 2020-10-30T16:47:44Z | 2020-10-30T16:47:44Z | OWNER | Bringing over a comment from #1042:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template() plugin hook 733303548 | |
719664530 | https://github.com/simonw/datasette/pull/1069#issuecomment-719664530 | https://api.github.com/repos/simonw/datasette/issues/1069 | MDEyOklzc3VlQ29tbWVudDcxOTY2NDUzMA== | simonw 9599 | 2020-10-30T16:43:40Z | 2020-10-30T16:43:40Z | OWNER | I should include an example in the documentation that shows loading templates from a database table. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template() plugin hook 733303548 | |
719640430 | https://github.com/simonw/datasette/pull/1069#issuecomment-719640430 | https://api.github.com/repos/simonw/datasette/issues/1069 | MDEyOklzc3VlQ29tbWVudDcxOTY0MDQzMA== | simonw 9599 | 2020-10-30T16:01:13Z | 2020-10-30T16:01:13Z | OWNER | Next steps: build a demonstration plugin against this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
load_template() plugin hook 733303548 | |
719630745 | https://github.com/simonw/datasette/issues/1068#issuecomment-719630745 | https://api.github.com/repos/simonw/datasette/issues/1068 | MDEyOklzc3VlQ29tbWVudDcxOTYzMDc0NQ== | simonw 9599 | 2020-10-30T15:44:13Z | 2020-10-30T15:44:13Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default menu links should check a real permission 732939921 | ||
719332460 | https://github.com/simonw/datasette/issues/1068#issuecomment-719332460 | https://api.github.com/repos/simonw/datasette/issues/1068 | MDEyOklzc3VlQ29tbWVudDcxOTMzMjQ2MA== | simonw 9599 | 2020-10-30T07:13:10Z | 2020-10-30T07:13:10Z | OWNER | I mainly want this so I can add that debug menu to my Dogsheep. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default menu links should check a real permission 732939921 | |
719331236 | https://github.com/simonw/datasette/issues/1068#issuecomment-719331236 | https://api.github.com/repos/simonw/datasette/issues/1068 | MDEyOklzc3VlQ29tbWVudDcxOTMzMTIzNg== | simonw 9599 | 2020-10-30T07:11:58Z | 2020-10-30T07:11:58Z | OWNER | Document the new permission here: https://docs.datasette.io/en/stable/authentication.html#built-in-permissions |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default menu links should check a real permission 732939921 | |
719329219 | https://github.com/simonw/datasette/issues/1068#issuecomment-719329219 | https://api.github.com/repos/simonw/datasette/issues/1068 | MDEyOklzc3VlQ29tbWVudDcxOTMyOTIxOQ== | simonw 9599 | 2020-10-30T07:09:59Z | 2020-10-30T07:09:59Z | OWNER | Permission idea: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default menu links should check a real permission 732939921 | |
719328661 | https://github.com/simonw/datasette/issues/1068#issuecomment-719328661 | https://api.github.com/repos/simonw/datasette/issues/1068 | MDEyOklzc3VlQ29tbWVudDcxOTMyODY2MQ== | simonw 9599 | 2020-10-30T07:09:30Z | 2020-10-30T07:09:30Z | OWNER | Then this can make it available to root: https://github.com/simonw/datasette/blob/18a64fbb29271ce607937110bbdb55488c43f4e0/datasette/default_permissions.py |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default menu links should check a real permission 732939921 | |
719322666 | https://github.com/simonw/datasette/issues/1067#issuecomment-719322666 | https://api.github.com/repos/simonw/datasette/issues/1067 | MDEyOklzc3VlQ29tbWVudDcxOTMyMjY2Ng== | simonw 9599 | 2020-10-30T07:04:02Z | 2020-10-30T07:04:02Z | OWNER | Maybe rename it to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu on view pages, not on query pages 732905360 | |
719320948 | https://github.com/simonw/datasette/issues/1067#issuecomment-719320948 | https://api.github.com/repos/simonw/datasette/issues/1067 | MDEyOklzc3VlQ29tbWVudDcxOTMyMDk0OA== | simonw 9599 | 2020-10-30T07:02:37Z | 2020-10-30T07:02:37Z | OWNER | Yes, this should be possible - no point restricting what plugin authors can do with the feature. Will need to add some extra arguments to the plugin hook for this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu on view pages, not on query pages 732905360 | |
719195346 | https://github.com/simonw/datasette/issues/690#issuecomment-719195346 | https://api.github.com/repos/simonw/datasette/issues/690 | MDEyOklzc3VlQ29tbWVudDcxOTE5NTM0Ng== | simonw 9599 | 2020-10-30T05:20:42Z | 2020-10-30T05:20:42Z | OWNER | I've now added two new plugin hooks: menu_links() and table_actions(). I'm going to close this issue. Further work (on column actions and and database actions) can happen in separate tickets, but I won't include them in Datasette 0.51 since they're much less interesting than table and instance actions. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for plugins to add action menu items for various things 573755726 | |
719194756 | https://github.com/simonw/datasette/issues/1066#issuecomment-719194756 | https://api.github.com/repos/simonw/datasette/issues/1066 | MDEyOklzc3VlQ29tbWVudDcxOTE5NDc1Ng== | simonw 9599 | 2020-10-30T05:18:35Z | 2020-10-30T05:18:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu plus plugin hook 732859030 | ||
719194619 | https://github.com/simonw/datasette/issues/1066#issuecomment-719194619 | https://api.github.com/repos/simonw/datasette/issues/1066 | MDEyOklzc3VlQ29tbWVudDcxOTE5NDYxOQ== | simonw 9599 | 2020-10-30T05:18:04Z | 2020-10-30T05:18:04Z | OWNER | The cog only appears if at least one table action has been registered by a plugin. It looks like this: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu plus plugin hook 732859030 | |
719154646 | https://github.com/simonw/datasette/issues/1066#issuecomment-719154646 | https://api.github.com/repos/simonw/datasette/issues/1066 | MDEyOklzc3VlQ29tbWVudDcxOTE1NDY0Ng== | simonw 9599 | 2020-10-30T03:48:15Z | 2020-10-30T03:48:15Z | OWNER | This will use a very similar implementation to the navigation menu in #1064 - similar plugin hook and I'll use a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions menu plus plugin hook 732859030 | |
719117185 | https://github.com/simonw/datasette/issues/1064#issuecomment-719117185 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTExNzE4NQ== | simonw 9599 | 2020-10-30T01:35:17Z | 2020-10-30T01:35:17Z | OWNER | I'm going to go with a list of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 | |
719111597 | https://github.com/simonw/datasette/issues/1064#issuecomment-719111597 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTExMTU5Nw== | simonw 9599 | 2020-10-30T01:15:05Z | 2020-10-30T01:15:05Z | OWNER | I'm torn on this one. I think I have a very slight preference for plugins returning structured objects as opposed to HTML. Less likely to regret that choice in the future? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 | |
719111373 | https://github.com/simonw/datasette/issues/1064#issuecomment-719111373 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTExMTM3Mw== | simonw 9599 | 2020-10-30T01:14:13Z | 2020-10-30T01:14:13Z | OWNER | Plugins returning HTML makes more sense for some of the other areas that plugins will be able to inject content - e.g. injecting content on the table or row page above the table. If I'm going to have that as a pattern though it may make sense to use HTML here, since that will be consistent with other places that plugins can inject additional content. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 | |
719110808 | https://github.com/simonw/datasette/issues/1064#issuecomment-719110808 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTExMDgwOA== | simonw 9599 | 2020-10-30T01:12:09Z | 2020-10-30T01:12:19Z | OWNER | Or... plugins could return HTML - maybe optionally using helper functions to generate common HTML such that plugins which use the helpers can have their HTML modified in the future. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 | |
719110582 | https://github.com/simonw/datasette/issues/1064#issuecomment-719110582 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTExMDU4Mg== | simonw 9599 | 2020-10-30T01:11:13Z | 2020-10-30T01:11:13Z | OWNER | Should plugins be able to add forms like the logout form here, or should they be restricted to adding navigation links? I can't think of a reason a plugin would need to add a form. The logout form is a special case to protect against logout-csrf attacks. So I think plugins get to return a list of dictionaries, each with a
I think so. I also like the idea that a default plugin checks for the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 | |
719109770 | https://github.com/simonw/datasette/issues/1064#issuecomment-719109770 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTEwOTc3MA== | simonw 9599 | 2020-10-30T01:08:14Z | 2020-10-30T01:08:14Z | OWNER | How should the plugin hook work? Here's the first version of the HTML:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 | |
719106174 | https://github.com/simonw/datasette/issues/1064#issuecomment-719106174 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTEwNjE3NA== | simonw 9599 | 2020-10-30T00:55:12Z | 2020-10-30T00:55:12Z | OWNER | So what should go in this menu? If the user is logged in as root, I'll link to the various debug pages. If they're not logged in at all I don't think the menu should appear. If they are logged in as anyone, it should display to give them access to the "log out" button. Plugins can add links to it. If those plugins add links, the menu will display. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 | |
719105641 | https://github.com/simonw/datasette/issues/1064#issuecomment-719105641 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTEwNTY0MQ== | simonw 9599 | 2020-10-30T00:53:00Z | 2020-10-30T00:53:00Z | OWNER | Tips for making this accessible: https://css-tricks.com/accessible-svgs/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Navigation menu plus plugin hook 732798913 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
issue >30