labels_id,labels_id_label,issues_id,issues_id_label 729585263,small,503053243,Datasette should not completely crash if one SQLite database is malformed 729585263,small,503128914,"Enable ""explain"" and ""explain query plan"" for CTEs" 729585263,small,503217375,"Databases on index page should display in order they were passed to ""datasette serve""?" 729585263,small,504805857,Use --platform=managed for publish cloudrun 729585263,small,513008936,"Improve UI of ""datasette publish cloudrun"" to reduce chances of accidentally over-writing a service" 729585263,small,516310670,Don't suggest array facet if column is only [] empty arrays 729585263,small,516950748,"Add ""not in"" filter - ?pk__notin=x,y,z" 729585263,small,520507306,Mechanism for seeing indexes on a specific table 729585263,small,520655983,"""Invalid SQL"" page should let you edit the SQL" 729585263,small,520681725,Syntax for ?_through= that works as a form field 729585263,small,521329771,Render jinja2 templates in async mode 729585263,small,521335335,"""datasette publish"" commands should deploy with Python 3.8" 729585263,small,521995039,Upgrade datasette publish Heroku runtime 729585263,small,525254973,rowid is not included in dropdown filter menus 729585263,small,525993034,"Custom queries with 0 results should say ""0 results""" 729585263,small,526913133,Don't suggest column for faceting if all values are 1 729585263,small,527710055,Nicer error message for heroku publish name clash 729585263,small,528442126,Better documentation for --static option 729585263,small,530653633,Mechanism for register_output_renderer to suggest extension or not 729585263,small,531502365,Make database level information from metadata.json available in the index.html template 729585263,small,539590148,fts5 syntax error when using punctuation 729585263,small,541467590,Template debug mode that outputs template context 729585263,small,555832585,"--port option to expose a port other than 8001 in ""datasette package""" 729585263,small,565518772,Mechanism for checking if a SQLite database file is safe to open 729585263,small,569237568,The first time you click sort by ID it should show you results in reverse order 729585263,small,569253072,prepare_connection() plugin hook should accept optional datasette argument 729585263,small,574035432,is_hidden_table context variable on table.html page 729585263,small,582713554,Request object utility for handling POST form data 729585263,small,592829135,Support YAML in metadata - metadata.yaml 729585263,small,600583271,Custom CSS class on body for styling canned queries 729585263,small,603295970,Visually distinguish integer and text columns 729585263,small,607086780,Pass a request object to custom page templates 729585263,small,607223136,"Replace ""datasette publish --extra-options"" with ""--setting""" 729585263,small,610342575,?_searchmode=raw should be documented on full-text search page 729585263,small,611252244,Add notlike table filter 729585263,small,611540797,Ability to set custom default _size on a per-table basis 729585263,small,612382643,Question: Access to immutable database-path 729585263,small,620969465,Allow to specify a URL fragment for canned queries 729585263,small,625930207,register_output_renderer can_render mechanism 729585263,small,626163974,register_output_renderer render callback should be optionally awaitable 729585263,small,626171242,Error pages not correctly loading CSS 729585263,small,626582657,Make human_description_en explicitly available to output renderers 729585263,small,628025100,Datasette secret mechanism - initially for signed cookies 729585263,small,628121234, /-/permissions debugging tool 729585263,small,629459637,"Replace response.body.decode(""utf8"") with response.text in tests" 729585263,small,629524205,CSRF protection for /-/messages tool and writable canned queries 729585263,small,629535669,Show hooks implemented by each plugin on /-/plugins 729585263,small,629541395,response.set_cookie() method 729585263,small,630120235,"Documentation for new ""params"" setting for canned queries" 729585263,small,633066114,Refactor permission check for canned query 729585263,small,634651079,Remove --debug option from datasette serve 729585263,small,635076066,Add Response class to internals documentation 729585263,small,635077656,request.url_vars helper property 729585263,small,635107393,"Documentation is inconsistent about ""id"" as required field on actor" 729585263,small,636614868,"It would be more intuitive if ""allow"": none meant ""no-one can do this""" 729585263,small,637253789,/-/metadata and so on should respect view-instance permission 729585263,small,637342551,startup() plugin hook 729585263,small,637365801,actor_matches_allow fails to consider all keys 729585263,small,637370652,Plugin $env secrets mechanism doesn't work inside lists 729585263,small,641460179,"Respect default scope[""actor""] if one exists" 729585263,small,642572841,Database page loads too slowly with many large tables (due to table counts) 729585263,small,642652808,Script to generate larger SQLite test files 729585263,small,643510821,Set an upper limit on total facet suggestion time for a page 729585263,small,645975649,register_routes() should support non-async view functions too 729585263,small,646840273,Rename the _timestamp magic parameters to _now 729585263,small,647103735,"""Logged in as: XXX - logout"" navigation item" 729585263,small,647879783,Add log out link to the pattern portfolio 729585263,small,648569227,Database page documentation still talks about hashes in URLs 729585263,small,648637666,POST to /db/canned-query that returns JSON should be supported (for API clients) 729585263,small,648673556,Release notes for 0.45 729585263,small,649329013,"Only show ""log out"" button if user is authenticated using a ds_actor cookie" 729585263,small,658476055,Use white-space: pre-wrap on ALL table cell contents 729585263,small,659580487,Request method for retrieving the unparsed request body 729585263,small,663145122,Add temporary plugin testing pattern to the testing docs 729585263,small,663228985,"datasette.urls.table() / .instance() / .database() methods for constructing URLs, also exposed to templates" 729585263,small,663317875,/database.db download should include content-length header 729585263,small,665400224,"""allow"": true for anyone, ""allow"": false for nobody" 729585263,small,665403403,Allow documentation doesn't explain what happens with multiple allow keys 729585263,small,665407663,"Interactive debugging tool for ""allow"" blocks" 729585263,small,682005535,datasette install -U for upgrading packages 729585263,small,684111953,datasette --get exit code should reflect HTTP errors 729585263,small,684961449,Try out CodeMirror SQL hints 729585263,small,688622148,Simplify imports of common classes 729585263,small,696908389,Verification checks for metadata.json on startup 729585263,small,700728217,raise_404 mechanism for custom templates 729585263,small,705108492,"request an ""-o"" option on ""datasette server"" to open the default browser at the running url" 729585263,small,710650633,Default table view JSON should include CREATE TABLE 729585263,small,716756082,Better handling of multiple matching template wildcard paths 729585263,small,718238967,from_json jinja2 filter 729585263,small,718255803,Replace MockRequest with Request.fake() 729585263,small,723803777,--load-extension=spatialite shortcut 729585263,small,725099777,datasette.urls.static_plugins(...) method 729585263,small,725184645,Better way of representing binary data in .csv output 729585263,small,725743755,"datasette.urls.table(..., format=""json"") argument" 729585263,small,725996507,Make it possible to download BLOB data from the Datasette UI 729585263,small,726094754,Add horizontal scrollbar to tables 729585263,small,728895193,Link to blob downloads in the right places 729585263,small,730797787,--cors should enable /fixtures.db CORS access 729585263,small,730802994,Database download should implement cascading permissions 729585263,small,732685643,.csv should link to .blob downloads 729585263,small,732905360,"Table actions menu on view pages, not on query pages" 729585263,small,733829385,database_actions plugin hook 729585263,small,743370900,Foreign key links break for compound foreign keys 729585263,small,749979454,Rename /-/config to /-/settings 729585263,small,749981663,config.json in directory config mode should be settings.json 729585263,small,753788261,messagge_is_html typo 729585263,small,758899581,New filter: array does not contain 729585263,small,759695780,Option to omit header row in CSV export 729585263,small,760605882,Feature: --create option to create database file if it does not yet exist 729585263,small,772408750,Rename _schemas to _internal 729585263,small,772438273,Use time.perf_counter() instead of time.time() to measure performance 729585263,small,776101101,Update a whole bunch of links to datasette.io instead of datasette.readthedocs.io 729585263,small,780278550,Make original path available to render hooks 729585263,small,785588942,"extra_body_script() support for script type=""module""" 729585263,small,788447787,?_size= argument is not persisted by hidden form fields in the table filters 729585263,small,792890765,?_size=10 option for the arbitrary query page would be useful 729585263,small,808843401,--port option should validate port is between 0 and 65535 729585263,small,812704869,?_pretty=1 option for pretty-printing JSON output 729585263,small,818430405,datasette.add_memory_database() method 729585263,small,940077168,"""searchmode"": ""raw"" in table metadata" 729585263,small,953218043,Labels explaining what hidden tables are for 729585263,small,959898166,`datasette publish cloudrun --cpu X` option 729585263,small,961367843,Ability to default to hiding the SQL for a canned query 729585263,small,962391325,Show count of facet values if ?_facet_size=max 729585263,small,969840302,`--help-config` should be called `--help-settings` 729585263,small,1082564912,`?_nosuggest=1` parameter for disabling facet suggestions on table view 729585263,small,1083726550,Trace should show queries on the write connection too 729585263,small,1084007781,"""Query took"" should be ""Queries took""" 729585263,small,1105916061,Add KNN and data_licenses to hidden tables list 729585263,small,1108235694,A proper favicon 729585263,small,1397193691,__bool__ method on Results 729585263,small,1469044738,API explorer should list mutable databases first 729585263,small,1823428714,Add __all__ to datasette/__init__.py