issue_comments
8,883 rows where user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
user 1
- simonw · 3,905 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
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 | |
719104883 | https://github.com/simonw/datasette/issues/1064#issuecomment-719104883 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTEwNDg4Mw== | simonw 9599 | 2020-10-30T00:50:01Z | 2020-10-30T00:52:29Z | OWNER | Here's what the prototype looks like so far: |
{ "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 | |
719105197 | https://github.com/simonw/datasette/issues/1064#issuecomment-719105197 | https://api.github.com/repos/simonw/datasette/issues/1064 | MDEyOklzc3VlQ29tbWVudDcxOTEwNTE5Nw== | simonw 9599 | 2020-10-30T00:51:16Z | 2020-10-30T00:51:16Z | OWNER | I used a I added a bit of JavaScript so that clicking outside the menu would close it: https://github.com/simonw/datasette/blob/0d7ac764861d84be24d661cf4104ce61ea11a82a/datasette/templates/base.html#L59-L74 |
{ "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 | |
719094027 | https://github.com/simonw/datasette/issues/1034#issuecomment-719094027 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxOTA5NDAyNw== | simonw 9599 | 2020-10-30T00:11:17Z | 2020-10-30T00:11:17Z | OWNER | Demos: https://latest.datasette.io/fixtures/binary_data.csv?_size=max
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
719066706 | https://github.com/simonw/datasette/issues/1063#issuecomment-719066706 | https://api.github.com/repos/simonw/datasette/issues/1063 | MDEyOklzc3VlQ29tbWVudDcxOTA2NjcwNg== | simonw 9599 | 2020-10-29T22:46:28Z | 2020-10-29T22:46:28Z | OWNER | I'm not going to do the base64 thing unless someone asks for it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.csv should link to .blob downloads 732685643 | |
719053669 | https://github.com/simonw/datasette/issues/1051#issuecomment-719053669 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxOTA1MzY2OQ== | simonw 9599 | 2020-10-29T22:12:16Z | 2020-10-29T22:12:16Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | ||
719050754 | https://github.com/simonw/datasette/issues/1034#issuecomment-719050754 | https://api.github.com/repos/simonw/datasette/issues/1034 | MDEyOklzc3VlQ29tbWVudDcxOTA1MDc1NA== | simonw 9599 | 2020-10-29T22:04:52Z | 2020-10-29T22:04:52Z | OWNER | I'm going to link to. the new |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better way of representing binary data in .csv output 725184645 | |
719050390 | https://github.com/simonw/datasette/issues/1063#issuecomment-719050390 | https://api.github.com/repos/simonw/datasette/issues/1063 | MDEyOklzc3VlQ29tbWVudDcxOTA1MDM5MA== | simonw 9599 | 2020-10-29T22:04:00Z | 2020-10-29T22:04:00Z | OWNER | This will close #1034. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.csv should link to .blob downloads 732685643 | |
719042601 | https://github.com/simonw/datasette/pull/1061#issuecomment-719042601 | https://api.github.com/repos/simonw/datasette/issues/1061 | MDEyOklzc3VlQ29tbWVudDcxOTA0MjYwMQ== | simonw 9599 | 2020-10-29T21:45:35Z | 2020-10-29T21:50:42Z | OWNER | Moving the CSV work to a separate issue. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.blob output renderer 732634375 | |
719043108 | https://github.com/simonw/datasette/issues/1063#issuecomment-719043108 | https://api.github.com/repos/simonw/datasette/issues/1063 | MDEyOklzc3VlQ29tbWVudDcxOTA0MzEwOA== | simonw 9599 | 2020-10-29T21:46:48Z | 2020-10-29T21:46:48Z | OWNER | Remove this |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.csv should link to .blob downloads 732685643 | |
719035336 | https://github.com/simonw/datasette/pull/1061#issuecomment-719035336 | https://api.github.com/repos/simonw/datasette/issues/1061 | MDEyOklzc3VlQ29tbWVudDcxOTAzNTMzNg== | simonw 9599 | 2020-10-29T21:29:29Z | 2020-10-29T21:29:29Z | OWNER | Those display_rows have already been processed by the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.blob output renderer 732634375 | |
719033013 | https://github.com/simonw/datasette/pull/1061#issuecomment-719033013 | https://api.github.com/repos/simonw/datasette/issues/1061 | MDEyOklzc3VlQ29tbWVudDcxOTAzMzAxMw== | simonw 9599 | 2020-10-29T21:27:14Z | 2020-10-29T21:27:14Z | OWNER | Next challenge: link to This will be a bit tricky. Here's how that template works at the moment: https://github.com/simonw/datasette/blob/d6f9ff71378c4eab34dad181c23cfc143a4aef2d/datasette/templates/query.html#L69-L77 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.blob output renderer 732634375 | |
719031901 | https://github.com/simonw/datasette/issues/1062#issuecomment-719031901 | https://api.github.com/repos/simonw/datasette/issues/1062 | MDEyOklzc3VlQ29tbWVudDcxOTAzMTkwMQ== | simonw 9599 | 2020-10-29T21:25:54Z | 2020-10-29T21:25:54Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Refactor .csv to be an output renderer - and teach register_output_renderer to stream all rows 732674148 | ||
719021514 | https://github.com/simonw/datasette/issues/1050#issuecomment-719021514 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxOTAyMTUxNA== | simonw 9599 | 2020-10-29T21:05:08Z | 2020-10-29T21:05:08Z | OWNER | Idea: what if Datasette had a custom SQLite function that could be used to generate URLs to the row-level BLOB download for a value? Then custom SQL query authors could use that function to link to the relevant content. This could be expanded to exposing other |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
719001701 | https://github.com/simonw/datasette/issues/1050#issuecomment-719001701 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxOTAwMTcwMQ== | simonw 9599 | 2020-10-29T20:26:44Z | 2020-10-29T20:26:44Z | OWNER | I'll do the rest of the work on this in the pull request #1061. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718989895 | https://github.com/simonw/datasette/issues/1050#issuecomment-718989895 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODk4OTg5NQ== | simonw 9599 | 2020-10-29T20:04:15Z | 2020-10-29T20:04:15Z | OWNER | I'll use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718987852 | https://github.com/simonw/datasette/issues/1050#issuecomment-718987852 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODk4Nzg1Mg== | simonw 9599 | 2020-10-29T20:00:32Z | 2020-10-29T20:00:32Z | OWNER | The reason I like the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718980944 | https://github.com/simonw/datasette/issues/1050#issuecomment-718980944 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODk4MDk0NA== | simonw 9599 | 2020-10-29T19:46:19Z | 2020-10-29T19:46:19Z | OWNER | Had an idea in https://github.com/simonw/datasette/issues/1051#issuecomment-718980659
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718980659 | https://github.com/simonw/datasette/issues/1051#issuecomment-718980659 | https://api.github.com/repos/simonw/datasette/issues/1051 | MDEyOklzc3VlQ29tbWVudDcxODk4MDY1OQ== | simonw 9599 | 2020-10-29T19:45:42Z | 2020-10-29T19:45:42Z | OWNER | OK, alternative idea. The For an arbitrary SQL query, how about if I link to this?
Then the output renderer loops through all of the If no matches are found it can show an error message telling you that the link has expired (presumably because the underlying database has changed since the link was generated). I think this might be the best solution to the problem. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better display of binary data on arbitrary query results page 729096595 | |
718976679 | https://github.com/simonw/datasette/issues/1053#issuecomment-718976679 | https://api.github.com/repos/simonw/datasette/issues/1053 | MDEyOklzc3VlQ29tbWVudDcxODk3NjY3OQ== | simonw 9599 | 2020-10-29T19:37:57Z | 2020-10-29T19:37:57Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document recommendations for plugin authors to design URLs 729604838 | ||
718346019 | https://github.com/simonw/datasette/issues/1050#issuecomment-718346019 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODM0NjAxOQ== | simonw 9599 | 2020-10-29T04:05:07Z | 2020-10-29T04:05:07Z | OWNER | Yes, confirmed - this is a bug where if the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718342036 | https://github.com/simonw/datasette/issues/1050#issuecomment-718342036 | https://api.github.com/repos/simonw/datasette/issues/1050 | MDEyOklzc3VlQ29tbWVudDcxODM0MjAzNg== | simonw 9599 | 2020-10-29T03:49:57Z | 2020-10-29T03:49:57Z | OWNER | @thadk from that error it looks like the problem may have been that you had a BLOB column containing a |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to .blob render extension for BLOB downloads 729057388 | |
718340847 | https://github.com/simonw/datasette/pull/1049#issuecomment-718340847 | https://api.github.com/repos/simonw/datasette/issues/1049 | MDEyOklzc3VlQ29tbWVudDcxODM0MDg0Nw== | simonw 9599 | 2020-10-29T03:45:47Z | 2020-10-29T03:48:26Z | OWNER | thebe is the first time I've seen a library that requires you to set up some global JavaScript configuration before loading the script itself. I'm hesitant to add an extra template block just to cover that one case since it's such a rare pattern. But it's important that Would this pattern work for you instead? ```html+jinja {% block extra_head %} <script type="text/x-thebe-config"> { requestKernel: true, binderOptions: { repo: "binder-examples/requirements", }, } </script> <script src="https://unpkg.com/thebelab@latest/lib/index.js"></script>{% endblock %} ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add template block prior to extra URL loaders 729017519 | |
718341542 | https://github.com/simonw/datasette/pull/1049#issuecomment-718341542 | https://api.github.com/repos/simonw/datasette/issues/1049 | MDEyOklzc3VlQ29tbWVudDcxODM0MTU0Mg== | simonw 9599 | 2020-10-29T03:48:12Z | 2020-10-29T03:48:12Z | OWNER | You could use Datasette's new ```html+jinja {% block extra_head %} <script type="text/x-thebe-config"> { requestKernel: true, binderOptions: { repo: "binder-examples/requirements", }, } </script> <script src="{{ urls.static_plugins("datasette-thebelab-plugin", "thebelab-index.js")"></script>{% endblock %} ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add template block prior to extra URL loaders 729017519 | |
718170295 | https://github.com/simonw/sqlite-utils/issues/191#issuecomment-718170295 | https://api.github.com/repos/simonw/sqlite-utils/issues/191 | MDEyOklzc3VlQ29tbWVudDcxODE3MDI5NQ== | simonw 9599 | 2020-10-28T19:50:16Z | 2020-10-28T19:50:16Z | OWNER | I think I made a mistake when I designed the initial decorator. I should have had it work like this:
To avoid breaking backwards compatibility I'll use the hack that detects the argument this time, but in the future I'll try to remember to always design decorators to be called like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Idea: @db.register_function(deterministic=True) 731740458 | |
718168730 | https://github.com/simonw/sqlite-utils/issues/191#issuecomment-718168730 | https://api.github.com/repos/simonw/sqlite-utils/issues/191 | MDEyOklzc3VlQ29tbWVudDcxODE2ODczMA== | simonw 9599 | 2020-10-28T19:47:20Z | 2020-10-28T19:47:20Z | OWNER | https://stackoverflow.com/a/3931903 looks useful:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Idea: @db.register_function(deterministic=True) 731740458 | |
718078447 | https://github.com/simonw/datasette/pull/1059#issuecomment-718078447 | https://api.github.com/repos/simonw/datasette/issues/1059 | MDEyOklzc3VlQ29tbWVudDcxODA3ODQ0Nw== | simonw 9599 | 2020-10-28T17:07:59Z | 2020-10-28T17:08:14Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update aiofiles requirement from <0.6,>=0.4 to >=0.4,<0.7 731445447 | ||
717531272 | https://github.com/simonw/datasette/issues/1057#issuecomment-717531272 | https://api.github.com/repos/simonw/datasette/issues/1057 | MDEyOklzc3VlQ29tbWVudDcxNzUzMTI3Mg== | simonw 9599 | 2020-10-27T20:51:09Z | 2020-10-27T20:51:09Z | OWNER | That works! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
--cors should enable /fixtures.db CORS access 730797787 | |
717527606 | https://github.com/simonw/datasette/issues/1058#issuecomment-717527606 | https://api.github.com/repos/simonw/datasette/issues/1058 | MDEyOklzc3VlQ29tbWVudDcxNzUyNzYwNg== | simonw 9599 | 2020-10-27T20:44:06Z | 2020-10-27T20:44:06Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Database download should implement cascading permissions 730802994 |
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