issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
updated_at (date) 476 ✖
- 2020-06-09 43
- 2020-05-27 38
- 2020-06-01 33
- 2020-06-08 33
- 2019-06-24 31
- 2019-06-23 30
- 2018-04-16 29
- 2020-06-06 29
- 2020-05-30 28
- 2017-11-13 27
- 2017-11-14 27
- 2020-02-14 27
- 2020-03-23 27
- 2020-02-24 24
- 2020-04-18 24
- 2020-05-03 23
- 2020-05-28 23
- 2017-11-19 22
- 2018-07-10 22
- 2019-05-03 21
- 2020-05-06 21
- 2020-05-31 21
- 2017-11-16 20
- 2019-05-11 20
- 2019-11-11 20
- 2020-03-24 20
- 2020-05-02 20
- 2020-06-11 20
- 2018-05-27 19
- 2019-11-04 19
- 2020-03-25 19
- 2020-03-26 19
- 2018-04-09 18
- 2018-05-22 18
- 2019-06-13 18
- 2020-04-05 18
- 2020-05-04 18
- 2020-05-05 18
- 2017-10-24 17
- 2018-05-24 17
- 2018-05-28 17
- 2018-06-21 17
- 2019-05-23 17
- 2019-06-22 17
- 2020-05-01 17
- 2020-06-03 17
- 2020-06-13 17
- 2017-11-11 16
- 2020-04-27 16
- 2020-05-08 16
- 2020-05-10 16
- 2017-10-23 15
- 2017-11-15 15
- 2018-06-18 15
- 2019-10-14 15
- 2020-04-29 15
- 2020-05-11 15
- 2020-06-05 15
- 2020-06-07 15
- 2020-06-10 15
- 2020-06-12 15
- 2017-12-10 14
- 2018-05-16 14
- 2019-03-15 14
- 2019-07-05 14
- 2020-02-04 14
- 2017-10-25 13
- 2018-03-28 13
- 2018-04-08 13
- 2019-02-24 13
- 2019-03-17 13
- 2019-05-16 13
- 2019-07-08 13
- 2019-11-12 13
- 2019-11-13 13
- 2017-11-12 12
- 2017-11-17 12
- 2018-04-17 12
- 2019-10-16 12
- 2019-11-09 12
- 2020-02-23 12
- 2020-02-25 12
- 2020-04-16 12
- 2020-04-26 12
- 2020-04-30 12
- 2017-12-07 11
- 2018-05-29 11
- 2018-05-31 11
- 2018-06-15 11
- 2018-07-24 11
- 2019-04-12 11
- 2019-06-30 11
- 2019-10-11 11
- 2019-10-17 11
- 2020-02-22 11
- 2020-05-20 11
- 2020-06-02 11
- 2018-04-14 10
- 2018-05-23 10
- 2019-04-29 10
- 2019-07-07 10
- 2019-11-03 10
- 2019-11-08 10
- 2019-11-26 10
- 2020-04-02 10
- 2020-05-21 10
- 2017-12-09 9
- 2018-04-20 9
- 2018-06-16 9
- 2018-11-05 9
- 2019-05-28 9
- 2019-06-25 9
- 2019-07-19 9
- 2020-02-13 9
- 2020-03-08 9
- 2020-03-20 9
- 2020-04-01 9
- 2020-04-06 9
- 2020-04-13 9
- 2020-04-28 9
- 2020-05-07 9
- 2017-11-29 8
- 2017-11-30 8
- 2018-03-30 8
- 2018-04-15 8
- 2019-05-19 8
- 2019-05-21 8
- 2019-05-25 8
- 2019-05-29 8
- 2019-07-20 8
- 2019-10-21 8
- 2020-01-31 8
- 2020-02-16 8
- 2020-04-10 8
- 2020-04-21 8
- 2017-11-09 7
- 2017-11-20 7
- 2017-11-21 7
- 2018-03-27 7
- 2018-04-18 7
- 2018-06-04 7
- 2018-06-17 7
- 2018-07-12 7
- 2018-07-26 7
- 2019-01-28 7
- 2019-04-13 7
- 2019-06-09 7
- 2019-06-15 7
- 2019-06-18 7
- 2019-07-14 7
- 2019-10-07 7
- 2019-10-18 7
- 2019-10-30 7
- 2020-02-27 7
- 2020-03-06 7
- 2020-03-16 7
- 2020-03-21 7
- 2020-04-15 7
- 2020-04-24 7
- 2020-05-15 7
- 2020-05-29 7
- 2017-10-26 6
- 2017-11-22 6
- 2017-12-08 6
- 2018-04-03 6
- 2018-04-26 6
- 2018-05-12 6
- 2018-05-13 6
- 2018-05-14 6
- 2018-05-21 6
- 2018-05-25 6
- 2019-05-02 6
- 2019-07-03 6
- 2019-07-11 6
- 2019-09-02 6
- 2019-11-01 6
- 2019-11-07 6
- 2019-12-18 6
- 2019-12-22 6
- 2020-01-29 6
- 2020-03-05 6
- 2020-03-14 6
- 2020-03-22 6
- 2020-04-23 6
- 2017-11-18 5
- 2017-11-23 5
- 2017-11-27 5
- 2017-12-05 5
- 2018-05-26 5
- 2018-05-30 5
- 2018-06-05 5
- 2018-07-11 5
- 2018-08-11 5
- 2019-03-19 5
- 2019-06-28 5
- 2019-07-09 5
- 2019-07-23 5
- 2019-07-24 5
- 2019-11-14 5
- 2019-11-27 5
- 2019-12-26 5
- 2020-01-30 5
- 2020-02-15 5
- 2020-03-27 5
- 2020-03-30 5
- 2020-03-31 5
- 2020-04-17 5
- 2020-05-25 5
- 2020-06-14 5
- 2017-11-10 4
- 2017-11-24 4
- 2017-12-01 4
- 2017-12-04 4
- 2018-04-11 4
- 2018-04-12 4
- 2018-04-22 4
- 2018-05-17 4
- 2018-06-28 4
- 2018-06-29 4
- 2018-07-13 4
- 2018-07-14 4
- 2018-07-18 4
- 2018-09-19 4
- 2019-01-02 4
- 2019-01-17 4
- 2019-04-07 4
- 2019-04-11 4
- 2019-04-15 4
- 2019-05-05 4
- 2019-05-09 4
- 2019-05-14 4
- 2019-05-26 4
- 2019-06-04 4
- 2019-07-04 4
- 2019-07-06 4
- 2019-07-22 4
- 2019-07-28 4
- 2019-08-17 4
- 2019-08-23 4
- 2019-09-03 4
- 2019-09-04 4
- 2019-09-14 4
- 2019-10-13 4
- 2019-11-18 4
- 2019-11-19 4
- 2019-12-08 4
- 2019-12-27 4
- 2020-02-01 4
- 2020-02-28 4
- 2020-02-29 4
- 2020-04-22 4
- 2020-05-12 4
- 2017-12-02 3
- 2018-03-21 3
- 2018-04-13 3
- 2018-05-03 3
- 2018-05-06 3
- 2018-05-11 3
- 2018-05-18 3
- 2018-07-31 3
- 2018-08-12 3
- 2018-08-16 3
- 2018-08-28 3
- 2018-11-19 3
- 2019-01-10 3
- 2019-01-13 3
- 2019-01-18 3
- 2019-02-06 3
- 2019-02-23 3
- 2019-04-18 3
- 2019-05-01 3
- 2019-05-13 3
- 2019-05-20 3
- 2019-05-27 3
- 2019-06-08 3
- 2019-06-11 3
- 2019-06-14 3
- 2019-07-15 3
- 2019-10-02 3
- 2019-10-06 3
- 2019-11-02 3
- 2019-11-15 3
- 2019-11-22 3
- 2019-12-03 3
- 2019-12-09 3
- 2020-01-10 3
- 2020-03-01 3
- 2020-03-02 3
- 2020-03-03 3
- 2020-03-09 3
- 2020-03-17 3
- 2020-05-26 3
- 2017-10-27 2
- 2017-11-06 2
- 2017-11-07 2
- 2017-11-26 2
- 2017-12-03 2
- 2018-01-09 2
- 2018-04-10 2
- 2018-04-19 2
- 2018-05-04 2
- 2018-05-05 2
- 2018-05-15 2
- 2018-05-20 2
- 2018-06-07 2
- 2018-06-20 2
- 2018-07-09 2
- 2018-08-06 2
- 2019-01-03 2
- 2019-01-11 2
- 2019-03-14 2
- 2019-03-20 2
- 2019-03-28 2
- 2019-03-31 2
- 2019-04-14 2
- 2019-04-21 2
- 2019-05-04 2
- 2019-05-24 2
- 2019-06-05 2
- 2019-06-06 2
- 2019-06-16 2
- 2019-06-19 2
- 2019-07-12 2
- 2019-07-16 2
- 2019-07-18 2
- 2019-07-26 2
- 2019-08-03 2
- 2019-08-31 2
- 2019-09-08 2
- 2019-10-10 2
- 2019-10-12 2
- 2019-10-24 2
- 2019-10-25 2
- 2019-10-27 2
- 2019-11-06 2
- 2019-11-10 2
- 2019-11-23 2
- 2019-11-29 2
- 2019-11-30 2
- 2019-12-01 2
- 2019-12-04 2
- 2019-12-31 2
- 2020-01-05 2
- 2020-01-06 2
- 2020-01-12 2
- 2020-01-19 2
- 2020-01-21 2
- 2020-02-03 2
- 2020-02-11 2
- 2020-02-12 2
- 2020-03-28 2
- 2020-04-04 2
- 2020-04-14 2
- 2020-04-19 2
- 2020-05-19 2
- 2020-06-04 2
- 2017-10-30 1
- 2017-10-31 1
- 2017-11-04 1
- 2017-11-05 1
- 2017-12-21 1
- 2018-01-05 1
- 2018-01-08 1
- 2018-01-14 1
- 2018-01-23 1
- 2018-01-25 1
- 2018-02-26 1
- 2018-03-04 1
- 2018-03-05 1
- 2018-03-29 1
- 2018-04-06 1
- 2018-04-21 1
- 2018-04-23 1
- 2018-04-24 1
- 2018-04-25 1
- 2018-06-01 1
- 2018-06-06 1
- 2018-06-10 1
- 2018-06-24 1
- 2018-06-26 1
- 2018-06-27 1
- 2018-07-16 1
- 2018-07-23 1
- 2018-07-27 1
- 2018-07-28 1
- 2018-07-29 1
- 2018-08-01 1
- 2018-08-05 1
- 2018-08-13 1
- 2018-08-21 1
- 2018-08-31 1
- 2018-09-03 1
- 2018-09-05 1
- 2018-09-11 1
- 2018-09-20 1
- 2018-09-21 1
- 2018-10-05 1
- 2018-10-08 1
- 2018-10-15 1
- 2018-10-22 1
- 2018-10-28 1
- 2018-11-15 1
- 2018-11-16 1
- 2018-11-20 1
- 2018-12-16 1
- 2018-12-19 1
- 2019-01-04 1
- 2019-01-06 1
- 2019-01-19 1
- 2019-02-02 1
- 2019-02-15 1
- 2019-02-16 1
- 2019-02-22 1
- 2019-02-26 1
- 2019-03-18 1
- 2019-03-21 1
- 2019-04-09 1
- 2019-04-10 1
- 2019-04-22 1
- 2019-04-30 1
- 2019-05-07 1
- 2019-05-10 1
- 2019-05-17 1
- 2019-05-30 1
- 2019-05-31 1
- 2019-06-07 1
- 2019-06-26 1
- 2019-06-29 1
- 2019-07-17 1
- 2019-07-21 1
- 2019-07-25 1
- 2019-08-04 1
- 2019-08-07 1
- 2019-08-30 1
- 2019-09-10 1
- 2019-09-12 1
- 2019-09-13 1
- 2019-09-21 1
- 2019-10-03 1
- 2019-10-04 1
- 2019-10-05 1
- 2019-10-08 1
- 2019-10-15 1
- 2019-10-20 1
- 2019-10-28 1
- 2019-10-29 1
- 2019-10-31 1
- 2019-11-05 1
- 2019-11-20 1
- 2019-11-21 1
- 2019-11-28 1
- 2019-12-02 1
- 2019-12-06 1
- 2019-12-10 1
- 2019-12-14 1
- 2019-12-15 1
- 2019-12-16 1
- 2019-12-30 1
- 2020-01-07 1
- 2020-01-16 1
- 2020-01-17 1
- 2020-01-20 1
- 2020-02-05 1
- 2020-02-07 1
- 2020-02-08 1
- 2020-02-10 1
- 2020-02-26 1
- 2020-03-10 1
- 2020-03-11 1
- 2020-03-15 1
- 2020-04-03 1
- 2020-04-07 1
- 2020-05-14 1
- 2020-05-18 1
- 2020-05-22 1
- 2020-05-24 1
user 107
- simonw 2,688
- russss 39
- psychemedia 21
- chrismp 18
- aborruso 15
- carlmjohnson 12
- rixx 11
- terrycojones 9
- RhetTbull 9
- jacobian 8
- tomchristie 8
- bsilverm 8
- stonebig 7
- zeluspudding 7
- wragge 6
- rgieseke 6
- clausjuhl 6
- dazzag24 5
- SteadBytes 5
- jayvdb 4
- jaywgraves 4
- r4vi 4
- eyeseast 3
- amjith 3
- janimo 3
- atomotic 3
- pkoppstein 3
- yschimke 3
- philroche 3
- macropin 3
- wsxiaoys 3
- xrotwang 3
- abdusco 3
- kevindkeogh 3
- garethr 2
- ftrain 2
- chrishas35 2
- ingenieroariel 2
- coleifer 2
- gavinband 2
- aviflax 2
- tholo 2
- cldellow 2
- gfrmin 2
- eads 2
- jsfenfen 2
- nathancahill 2
- betatim 2
- bsmithgall 2
- willingc 2
- raynae 2
- wulfmann 2
- zzeleznick 2
- jsancho-gpl 2
- lagolucas 2
- chekos 2
- ad-si 2
- null92 2
- tunguyenatwork 2
- LVerneyPEReN 2
- gijs 1
- nkirsch 1
- tomdyson 1
- dmd 1
- Uninen 1
- carsonyl 1
- nryberg 1
- stefanocudini 1
- jefftriplett 1
- annapowellsmith 1
- tsibley 1
- Krazybug 1
- dvhthomas 1
- yozlet 1
- michaelmcandrew 1
- ipmb 1
- 0x1997 1
- davidszotten 1
- kevboh 1
- eaubin 1
- mhalle 1
- nickdirienzo 1
- heussd 1
- Gagravarr 1
- progpow 1
- ltrgoddard 1
- costrouc 1
- ccorcos 1
- fkuhn 1
- phoenixjun 1
- JesperTreetop 1
- chris48s 1
- JBPressac 1
- Maltazar 1
- wuhland 1
- foscoj 1
- dvot197007 1
- rprimet 1
- metab0t 1
- coisnepe 1
- chmaynard 1
- LucasElArruda 1
- duarteocarmo 1
- dependabot-preview[bot] 1
- b0b5h4rp13 1
- jcmkk3 1
- thisismyfuckingusername 1
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
643704565 | https://github.com/simonw/datasette/issues/847#issuecomment-643704565 | https://api.github.com/repos/simonw/datasette/issues/847 | MDEyOklzc3VlQ29tbWVudDY0MzcwNDU2NQ== | simonw 9599 | 2020-06-14T01:26:56Z | 2020-06-14T01:26:56Z | OWNER | On closer inspection, I don't know if there's that much useful stuff you can do with the data from Consider the following query against a
It looks like this tells me which lines of which files were executed during the test run. But... without the actual source code, I don't think I can calculate the coverage percentage for each file. I don't want to count comment lines or whitespace as untested for example, and I don't know how many lines were in the file. If I'm right that it's not possible to calculate percentage coverage from just the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Take advantage of .coverage being a SQLite database 638259643 | |
643702715 | https://github.com/simonw/datasette/issues/847#issuecomment-643702715 | https://api.github.com/repos/simonw/datasette/issues/847 | MDEyOklzc3VlQ29tbWVudDY0MzcwMjcxNQ== | simonw 9599 | 2020-06-14T01:03:30Z | 2020-06-14T01:03:40Z | OWNER | Filed a related issue with some ideas against |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Take advantage of .coverage being a SQLite database 638259643 | |
643699583 | https://github.com/simonw/datasette/issues/846#issuecomment-643699583 | https://api.github.com/repos/simonw/datasette/issues/846 | MDEyOklzc3VlQ29tbWVudDY0MzY5OTU4Mw== | simonw 9599 | 2020-06-14T00:26:31Z | 2020-06-14T00:26:31Z | OWNER | That seems to have fixed the problem, at least for the moment. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Too many open files" error running tests 638241779 | |
643699063 | https://github.com/simonw/datasette/issues/846#issuecomment-643699063 | https://api.github.com/repos/simonw/datasette/issues/846 | MDEyOklzc3VlQ29tbWVudDY0MzY5OTA2Mw== | simonw 9599 | 2020-06-14T00:22:32Z | 2020-06-14T00:22:32Z | OWNER | Idea: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Too many open files" error running tests 638241779 | |
643698790 | https://github.com/simonw/datasette/issues/846#issuecomment-643698790 | https://api.github.com/repos/simonw/datasette/issues/846 | MDEyOklzc3VlQ29tbWVudDY0MzY5ODc5MA== | simonw 9599 | 2020-06-14T00:20:42Z | 2020-06-14T00:20:42Z | OWNER | Released a new plugin, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Too many open files" error running tests 638241779 | |
643685669 | https://github.com/simonw/datasette/issues/846#issuecomment-643685669 | https://api.github.com/repos/simonw/datasette/issues/846 | MDEyOklzc3VlQ29tbWVudDY0MzY4NTY2OQ== | simonw 9599 | 2020-06-13T22:24:22Z | 2020-06-13T22:24:22Z | OWNER | I tried this experiment:
Likewise: ``` In [11]: conn = sqlite3.connect("fixtures.db") In [12]: psutil.Process().open_files() In [13]: del conn In [14]: psutil.Process().open_files() |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Too many open files" error running tests 638241779 | |
643685333 | https://github.com/simonw/datasette/issues/846#issuecomment-643685333 | https://api.github.com/repos/simonw/datasette/issues/846 | MDEyOklzc3VlQ29tbWVudDY0MzY4NTMzMw== | simonw 9599 | 2020-06-13T22:19:38Z | 2020-06-13T22:19:38Z | OWNER | That's 91 open files but only 29 unique filenames. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Too many open files" error running tests 638241779 | |
643685207 | https://github.com/simonw/datasette/issues/846#issuecomment-643685207 | https://api.github.com/repos/simonw/datasette/issues/846 | MDEyOklzc3VlQ29tbWVudDY0MzY4NTIwNw== | simonw 9599 | 2020-06-13T22:18:01Z | 2020-06-13T22:18:01Z | OWNER | This shows currently open files (after I ran it inside
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Too many open files" error running tests 638241779 | |
643681747 | https://github.com/simonw/datasette/issues/841#issuecomment-643681747 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY4MTc0Nw== | simonw 9599 | 2020-06-13T21:38:46Z | 2020-06-13T21:38:46Z | OWNER | Closing this because I've researched feasibility. I may start a milestone in the future to help me get to 100%. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643681517 | https://github.com/simonw/datasette/pull/844#issuecomment-643681517 | https://api.github.com/repos/simonw/datasette/issues/844 | MDEyOklzc3VlQ29tbWVudDY0MzY4MTUxNw== | simonw 9599 | 2020-06-13T21:36:15Z | 2020-06-13T21:36:15Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Action to run tests and upload coverage report 638230433 | ||
643676314 | https://github.com/simonw/datasette/issues/843#issuecomment-643676314 | https://api.github.com/repos/simonw/datasette/issues/843 | MDEyOklzc3VlQ29tbWVudDY0MzY3NjMxNA== | simonw 9599 | 2020-06-13T20:47:37Z | 2020-06-13T20:47:37Z | OWNER | I can use this action: https://github.com/codecov/codecov-action |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Configure codecov.io 638229448 | |
643676069 | https://github.com/simonw/datasette/issues/843#issuecomment-643676069 | https://api.github.com/repos/simonw/datasette/issues/843 | MDEyOklzc3VlQ29tbWVudDY0MzY3NjA2OQ== | simonw 9599 | 2020-06-13T20:45:29Z | 2020-06-13T20:45:29Z | OWNER | I set up https://codecov.io/gh/simonw/datasette/settings and added a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Configure codecov.io 638229448 | |
643663005 | https://github.com/simonw/datasette/issues/842#issuecomment-643663005 | https://api.github.com/repos/simonw/datasette/issues/842 | MDEyOklzc3VlQ29tbWVudDY0MzY2MzAwNQ== | simonw 9599 | 2020-06-13T18:51:57Z | 2020-06-13T18:51:57Z | OWNER | Two potential designs:
I fee the first would be easier to implement. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Magic parameters for canned queries 638212085 | |
643661125 | https://github.com/simonw/datasette/issues/841#issuecomment-643661125 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY2MTEyNQ== | simonw 9599 | 2020-06-13T18:35:30Z | 2020-06-13T18:36:50Z | OWNER | I ran export CODECOV_TOKEN="f7935cad...", then ran this:
x> No CI provider detected. Testing inside Docker? http://docs.codecov.io/docs/testing-with-docker Testing with Tox? https://docs.codecov.io/docs/python#section-testing-with-tox project root: . --> token set from env Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml ==> Running gcov in . (disable via -X gcov) ==> Searching for coverage reports in: + . -> Found 1 reports ==> Detecting git/mercurial file structure ==> Reading reports + ./coverage.xml bytes=139174 ==> Appending adjustments https://docs.codecov.io/docs/fixing-reports -> No adjustments found ==> Gzipping contents ==> Uploading reports url: https://codecov.io query: branch=master&commit=0e49842e227a0f1f69d48108c87d17fe0379e548&build=&build_url=&name=&tag=&slug=simonw%2Fdatasette&service=&flags=&pr=&job= -> Pinging Codecov https://codecov.io/upload/v4?package=bash-20200602-f809a24&token=secret&branch=master&commit=0e49842e227a0f1f69d48108c87d17fe0379e548&build=&build_url=&name=&tag=&slug=simonw%2Fdatasette&service=&flags=&pr=&job= -> Uploading -> View reports at https://codecov.io/github/simonw/datasette/commit/0e49842e227a0f1f69d48108c87d17fe0379e548 ``` But https://codecov.io/github/simonw/datasette/commit/0e49842e227a0f1f69d48108c87d17fe0379e548 is a 404, so it doesn't seem to have worked? UPDATE: It works now, took about 30 seconds before the report showed up at that URL. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643660757 | https://github.com/simonw/datasette/issues/841#issuecomment-643660757 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY2MDc1Nw== | simonw 9599 | 2020-06-13T18:32:20Z | 2020-06-13T18:32:20Z | OWNER | Looking at options for publishing coverage reports: I'm going to try https://codecov.io/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643660427 | https://github.com/simonw/datasette/issues/841#issuecomment-643660427 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY2MDQyNw== | simonw 9599 | 2020-06-13T18:29:30Z | 2020-06-13T18:29:36Z | OWNER | This one looks easy enough to fix: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643658036 | https://github.com/simonw/datasette/issues/841#issuecomment-643658036 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY1ODAzNg== | simonw 9599 | 2020-06-13T18:08:13Z | 2020-06-13T18:08:13Z | OWNER | From digging through that report it looks like the majority stuff that isn't fully covered is corner-cases... which are the kind of things I really do want the tests to catch. I'm not entirely ready to commit to 100%, but I'm going to start digging through and seeing how close I can get. If I can get to 98% (I'm on 91% already) I may as well push all the way to 100. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643657287 | https://github.com/simonw/datasette/issues/841#issuecomment-643657287 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY1NzI4Nw== | simonw 9599 | 2020-06-13T18:01:39Z | 2020-06-13T18:01:39Z | OWNER | Added |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643656053 | https://github.com/simonw/datasette/issues/841#issuecomment-643656053 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY1NjA1Mw== | simonw 9599 | 2020-06-13T17:50:34Z | 2020-06-13T17:50:34Z | OWNER | Added a datasette/init.py 3 0 100% datasette/main.py 3 3 0% datasette/actor_auth_cookie.py 19 3 84% datasette/app.py 499 27 95% datasette/cli.py 157 45 71% datasette/database.py 233 17 93% datasette/default_permissions.py 39 0 100% datasette/facets.py 209 24 89% datasette/filters.py 122 7 94% datasette/hookspecs.py 19 0 100% datasette/inspect.py 37 23 38% datasette/plugins.py 34 6 82% datasette/publish/init.py 0 0 100% datasette/publish/cloudrun.py 55 2 96% datasette/publish/common.py 19 1 95% datasette/publish/heroku.py 95 13 86% datasette/renderer.py 63 4 94% datasette/sql_functions.py 4 0 100% datasette/tracer.py 85 16 81% datasette/utils/init.py 503 31 94% datasette/utils/asgi.py 253 25 90% datasette/version.py 4 0 100% datasette/views/init.py 0 0 100% datasette/views/base.py 288 19 93% datasette/views/database.py 120 2 98% datasette/views/index.py 57 2 96% datasette/views/special.py 72 16 78% datasette/views/table.py 418 18 96% TOTAL 3410 304 91% ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643655108 | https://github.com/simonw/datasette/issues/841#issuecomment-643655108 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzY1NTEwOA== | simonw 9599 | 2020-06-13T17:43:15Z | 2020-06-13T17:43:15Z | OWNER | Using https://pypi.org/project/pytest-cov/ and running datasette/init.py 3 0 100% datasette/main.py 3 3 0% datasette/_version.py 277 152 45% datasette/actor_auth_cookie.py 19 3 84% datasette/app.py 499 27 95% datasette/cli.py 157 45 71% datasette/database.py 233 17 93% datasette/default_permissions.py 39 0 100% datasette/facets.py 209 24 89% datasette/filters.py 122 7 94% datasette/hookspecs.py 19 0 100% datasette/inspect.py 37 23 38% datasette/plugins.py 34 6 82% datasette/publish/init.py 0 0 100% datasette/publish/cloudrun.py 55 2 96% datasette/publish/common.py 19 1 95% datasette/publish/heroku.py 95 13 86% datasette/renderer.py 63 4 94% datasette/sql_functions.py 4 0 100% datasette/tracer.py 85 16 81% datasette/utils/init.py 503 31 94% datasette/utils/asgi.py 253 25 90% datasette/utils/shutil_backport.py 44 40 9% datasette/version.py 4 0 100% datasette/views/init.py 0 0 100% datasette/views/base.py 288 19 93% datasette/views/database.py 120 2 98% datasette/views/index.py 57 2 96% datasette/views/special.py 72 16 78% datasette/views/table.py 418 18 96% TOTAL 3731 496 87% ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643648359 | https://github.com/simonw/datasette/issues/834#issuecomment-643648359 | https://api.github.com/repos/simonw/datasette/issues/834 | MDEyOklzc3VlQ29tbWVudDY0MzY0ODM1OQ== | simonw 9599 | 2020-06-13T16:47:29Z | 2020-06-13T16:47:29Z | OWNER | Implementing this is proving surprisingly tricky, because of the need to be able to optionally I could switch to using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
startup() plugin hook 637342551 | |
643576372 | https://github.com/simonw/datasette/issues/841#issuecomment-643576372 | https://api.github.com/repos/simonw/datasette/issues/841 | MDEyOklzc3VlQ29tbWVudDY0MzU3NjM3Mg== | simonw 9599 | 2020-06-13T06:08:34Z | 2020-06-13T06:08:34Z | OWNER | Starlette achieves this. https://github.com/encode/starlette |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Research feasibility of 100% test coverage 638104520 | |
643510240 | https://github.com/simonw/datasette/issues/834#issuecomment-643510240 | https://api.github.com/repos/simonw/datasette/issues/834 | MDEyOklzc3VlQ29tbWVudDY0MzUxMDI0MA== | simonw 9599 | 2020-06-12T22:40:26Z | 2020-06-12T22:40:26Z | OWNER | Another use-case: plugins that need their own database with the correct tables. They can write to the database on startup to create their tables. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
startup() plugin hook 637342551 | |
643509358 | https://github.com/simonw/datasette/issues/834#issuecomment-643509358 | https://api.github.com/repos/simonw/datasette/issues/834 | MDEyOklzc3VlQ29tbWVudDY0MzUwOTM1OA== | simonw 9599 | 2020-06-12T22:36:37Z | 2020-06-12T22:36:37Z | OWNER | This should be able to optionally return an async function which is then awaited. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
startup() plugin hook 637342551 | |
643501428 | https://github.com/simonw/datasette/issues/805#issuecomment-643501428 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY0MzUwMTQyOA== | simonw 9599 | 2020-06-12T22:06:08Z | 2020-06-12T22:06:08Z | OWNER | This needs the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
643501064 | https://github.com/simonw/datasette/issues/834#issuecomment-643501064 | https://api.github.com/repos/simonw/datasette/issues/834 | MDEyOklzc3VlQ29tbWVudDY0MzUwMTA2NA== | simonw 9599 | 2020-06-12T22:04:43Z | 2020-06-12T22:04:43Z | OWNER | Another use-case for this: I want to use the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
startup() plugin hook 637342551 | |
643454625 | https://github.com/simonw/datasette/issues/840#issuecomment-643454625 | https://api.github.com/repos/simonw/datasette/issues/840 | MDEyOklzc3VlQ29tbWVudDY0MzQ1NDYyNQ== | simonw 9599 | 2020-06-12T19:47:38Z | 2020-06-12T19:47:53Z | OWNER | Another problem: what to display in the "you are logged in as", since we don't dictate an actor design. I'm going to use a includes template for this that can easily be over-ridden by administrators or by plugins. The default will look for the first available of the following keys:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Log out mechanism for clearing ds_actor cookie 637966833 | |
643453128 | https://github.com/simonw/datasette/issues/840#issuecomment-643453128 | https://api.github.com/repos/simonw/datasette/issues/840 | MDEyOklzc3VlQ29tbWVudDY0MzQ1MzEyOA== | simonw 9599 | 2020-06-12T19:43:15Z | 2020-06-12T19:43:15Z | OWNER | I don't like how this often involves a logout link that can be maliciously activated. I'm going to use a CSRF protected form button styled to look like a link instead. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Log out mechanism for clearing ds_actor cookie 637966833 | |
643414646 | https://github.com/dogsheep/github-to-sqlite/issues/40#issuecomment-643414646 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/40 | MDEyOklzc3VlQ29tbWVudDY0MzQxNDY0Ng== | simonw 9599 | 2020-06-12T18:06:48Z | 2020-06-12T18:06:48Z | MEMBER | That fixed it. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Demo deploy is broken 637899539 | |
643406939 | https://github.com/simonw/sqlite-utils/issues/115#issuecomment-643406939 | https://api.github.com/repos/simonw/sqlite-utils/issues/115 | MDEyOklzc3VlQ29tbWVudDY0MzQwNjkzOQ== | simonw 9599 | 2020-06-12T17:51:11Z | 2020-06-12T17:51:11Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to execute insert/update statements with the CLI 637889964 | ||
643393506 | https://github.com/dogsheep/github-to-sqlite/issues/40#issuecomment-643393506 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/40 | MDEyOklzc3VlQ29tbWVudDY0MzM5MzUwNg== | simonw 9599 | 2020-06-12T17:21:14Z | 2020-06-12T17:21:14Z | MEMBER | I only install SQLite for this: I'm going to remove the need to install sqlite3 by making this possible with sqlite-utils: https://github.com/simonw/sqlite-utils/issues/115 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Demo deploy is broken 637899539 | |
643083451 | https://github.com/simonw/datasette/issues/838#issuecomment-643083451 | https://api.github.com/repos/simonw/datasette/issues/838 | MDEyOklzc3VlQ29tbWVudDY0MzA4MzQ1MQ== | tsibley 79913 | 2020-06-12T06:04:14Z | 2020-06-12T06:04:14Z | NONE | Hmm, I haven't tried removing Looking a little more at the code, I think the issue here is that the behaviour of In a mount situation, it is perfectly fine to construct URLs reusing the domain and path from the request. In a proxy situation, it never is, as the domain and path in the request are not the domain and path that the non-proxy client actually needs to use. That is, links which include the Apache → Datasette request origin, The tests you pointed to also reflect this in two ways:
Apps that support being proxied automatically support being mounted, but apps that only support being mounted don't automatically support being proxied. |
{ "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 | |
643010591 | https://github.com/simonw/datasette/issues/806#issuecomment-643010591 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MzAxMDU5MQ== | simonw 9599 | 2020-06-12T01:13:06Z | 2020-06-12T01:13:06Z | OWNER | Tests are passing again: https://github.com/simonw/datasette/commit/9ae0d483ead93c0832142e5dc85959ae3c8f73ea |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
643000948 | https://github.com/simonw/datasette/issues/806#issuecomment-643000948 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MzAwMDk0OA== | simonw 9599 | 2020-06-12T00:34:21Z | 2020-06-12T00:34:21Z | OWNER | I'm going to add https://github.com/simonw/datasette-auth-tokens and https://github.com/simonw/datasette-permissions-sql to the documentation and release notes in a few places. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
642998097 | https://github.com/simonw/datasette/issues/806#issuecomment-642998097 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0Mjk5ODA5Nw== | simonw 9599 | 2020-06-12T00:26:00Z | 2020-06-12T00:26:00Z | OWNER | OK, I'm ready to ship. Last check of the release notes, then I'll update the news section in the README and release 0.44! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
642993277 | https://github.com/simonw/datasette/issues/838#issuecomment-642993277 | https://api.github.com/repos/simonw/datasette/issues/838 | MDEyOklzc3VlQ29tbWVudDY0Mjk5MzI3Nw== | simonw 9599 | 2020-06-12T00:18:26Z | 2020-06-12T00:18:50Z | OWNER | Have you tried this without the This is the test I used to ensure this feature works - it scrapes all of the links on a bunch of different pages. Could it be missing something here? |
{ "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 | |
642991513 | https://github.com/simonw/datasette/issues/824#issuecomment-642991513 | https://api.github.com/repos/simonw/datasette/issues/824 | MDEyOklzc3VlQ29tbWVudDY0Mjk5MTUxMw== | simonw 9599 | 2020-06-12T00:11:50Z | 2020-06-12T00:11:50Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example authentication plugin 635108074 | ||
642958225 | https://github.com/simonw/datasette/issues/833#issuecomment-642958225 | https://api.github.com/repos/simonw/datasette/issues/833 | MDEyOklzc3VlQ29tbWVudDY0Mjk1ODIyNQ== | simonw 9599 | 2020-06-11T22:15:32Z | 2020-06-11T22:15:32Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
/-/metadata and so on should respect view-instance permission 637253789 | ||
642953605 | https://github.com/simonw/datasette/issues/824#issuecomment-642953605 | https://api.github.com/repos/simonw/datasette/issues/824 | MDEyOklzc3VlQ29tbWVudDY0Mjk1MzYwNQ== | simonw 9599 | 2020-06-11T22:02:32Z | 2020-06-11T22:02:32Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example authentication plugin 635108074 | |
642952962 | https://github.com/simonw/datasette/issues/824#issuecomment-642952962 | https://api.github.com/repos/simonw/datasette/issues/824 | MDEyOklzc3VlQ29tbWVudDY0Mjk1Mjk2Mg== | simonw 9599 | 2020-06-11T22:01:58Z | 2020-06-11T22:01:58Z | OWNER | Alternative idea: a plugin that handles Bearer token authentication. Uses |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example authentication plugin 635108074 | |
642951150 | https://github.com/simonw/datasette/issues/824#issuecomment-642951150 | https://api.github.com/repos/simonw/datasette/issues/824 | MDEyOklzc3VlQ29tbWVudDY0Mjk1MTE1MA== | simonw 9599 | 2020-06-11T22:00:17Z | 2020-06-11T22:00:17Z | OWNER | I got this working: https://github.com/simonw/datasette-auth-github/pull/64 Just one problem: it uses the existing It does use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example authentication plugin 635108074 | |
642944645 | https://github.com/simonw/datasette/issues/220#issuecomment-642944645 | https://api.github.com/repos/simonw/datasette/issues/220 | MDEyOklzc3VlQ29tbWVudDY0Mjk0NDY0NQ== | simonw 9599 | 2020-06-11T21:49:55Z | 2020-06-11T21:49:55Z | OWNER | I'm OK with not implementing this - I've got used to the existing mechanism, and it doesn't frustrate me enough to work on this more. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Investigate syntactic sugar for plugins 314847571 | |
642907021 | https://github.com/simonw/datasette/issues/832#issuecomment-642907021 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY0MjkwNzAyMQ== | simonw 9599 | 2020-06-11T20:20:35Z | 2020-06-11T20:20:35Z | OWNER | I think the new |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
642906681 | https://github.com/simonw/datasette/issues/832#issuecomment-642906681 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY0MjkwNjY4MQ== | simonw 9599 | 2020-06-11T20:19:47Z | 2020-06-11T20:20:02Z | OWNER | So for the following:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
642905424 | https://github.com/simonw/datasette/issues/833#issuecomment-642905424 | https://api.github.com/repos/simonw/datasette/issues/833 | MDEyOklzc3VlQ29tbWVudDY0MjkwNTQyNA== | simonw 9599 | 2020-06-11T20:16:41Z | 2020-06-11T20:16:41Z | OWNER | I'll add a new test in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
/-/metadata and so on should respect view-instance permission 637253789 | |
642902208 | https://github.com/simonw/datasette/issues/833#issuecomment-642902208 | https://api.github.com/repos/simonw/datasette/issues/833 | MDEyOklzc3VlQ29tbWVudDY0MjkwMjIwOA== | simonw 9599 | 2020-06-11T20:08:57Z | 2020-06-11T20:08:57Z | OWNER | I'm tempted to add a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
/-/metadata and so on should respect view-instance permission 637253789 | |
642874724 | https://github.com/simonw/datasette/issues/833#issuecomment-642874724 | https://api.github.com/repos/simonw/datasette/issues/833 | MDEyOklzc3VlQ29tbWVudDY0Mjg3NDcyNA== | simonw 9599 | 2020-06-11T19:07:49Z | 2020-06-11T19:07:49Z | OWNER | A live demo running the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
/-/metadata and so on should respect view-instance permission 637253789 | |
642870553 | https://github.com/simonw/datasette/issues/801#issuecomment-642870553 | https://api.github.com/repos/simonw/datasette/issues/801 | MDEyOklzc3VlQ29tbWVudDY0Mjg3MDU1Mw== | simonw 9599 | 2020-06-11T18:58:49Z | 2020-06-11T18:58:49Z | OWNER | I've implemented this in a plugin instead: https://github.com/simonw/datasette-permissions-sql |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
allow_by_query setting for configuring permissions with a SQL statement 631932926 | |
642795966 | https://github.com/simonw/datasette/issues/832#issuecomment-642795966 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY0Mjc5NTk2Ng== | simonw 9599 | 2020-06-11T16:37:21Z | 2020-06-11T16:37:21Z | OWNER | How would I document this? Probably in another section on https://datasette.readthedocs.io/en/latest/authentication.html#permissions But I'd also need to add documentation to the individual views stating what permissions are checked and in what order. I could do that on this page: https://datasette.readthedocs.io/en/latest/pages.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
642772344 | https://github.com/simonw/datasette/pull/809#issuecomment-642772344 | https://api.github.com/repos/simonw/datasette/issues/809 | MDEyOklzc3VlQ29tbWVudDY0Mjc3MjM0NA== | simonw 9599 | 2020-06-11T16:01:15Z | 2020-06-11T16:01:15Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish secrets 632919570 | |
642754589 | https://github.com/simonw/datasette/pull/809#issuecomment-642754589 | https://api.github.com/repos/simonw/datasette/issues/809 | MDEyOklzc3VlQ29tbWVudDY0Mjc1NDU4OQ== | simonw 9599 | 2020-06-11T15:45:25Z | 2020-06-11T15:45:25Z | OWNER |
https://datasette-publish-secret-j7hipcg4aq-uw.a.run.app/-/messages |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish secrets 632919570 | |
642750790 | https://github.com/simonw/datasette/pull/809#issuecomment-642750790 | https://api.github.com/repos/simonw/datasette/issues/809 | MDEyOklzc3VlQ29tbWVudDY0Mjc1MDc5MA== | simonw 9599 | 2020-06-11T15:42:23Z | 2020-06-11T15:42:23Z | OWNER |
https://datasette-publish-secret.herokuapp.com/-/messages - Heroku works. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish secrets 632919570 | |
642745518 | https://github.com/simonw/datasette/pull/809#issuecomment-642745518 | https://api.github.com/repos/simonw/datasette/issues/809 | MDEyOklzc3VlQ29tbWVudDY0Mjc0NTUxOA== | simonw 9599 | 2020-06-11T15:38:51Z | 2020-06-11T15:38:51Z | OWNER | The way to manually test this is to publish a database to each provider and then check that the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Publish secrets 632919570 | |
642741930 | https://github.com/simonw/datasette/issues/832#issuecomment-642741930 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY0Mjc0MTkzMA== | simonw 9599 | 2020-06-11T15:35:53Z | 2020-06-11T15:36:05Z | OWNER | May the fix here is to implement a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | |
642522285 | https://github.com/simonw/datasette/issues/394#issuecomment-642522285 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDY0MjUyMjI4NQ== | LVerneyPEReN 58298410 | 2020-06-11T09:15:19Z | 2020-06-11T09:15:19Z | NONE | Hi @wragge, This looks great, thanks for the share! I refactored it into a self-contained function, binding on a random available TCP port (multi-user context). I am using subprocess API directly since the ```python import socket from signal import SIGINT from subprocess import Popen, PIPE from IPython.display import display, HTML from notebook.notebookapp import list_running_servers def get_free_tcp_port(): """ Get a free TCP port. """ tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp.bind(('', 0)) _, port = tcp.getsockname() tcp.close() return port def datasette(database): """ Run datasette on an SQLite database. """ # Get current running servers servers = list_running_servers()
``` Ideally, I'd like some extra magic to notify users when they are leaving the closing the notebook tab and make them terminate the running datasette processes. I'll be looking for it. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
base_url configuration setting 396212021 | |
642420375 | https://github.com/simonw/datasette/issues/818#issuecomment-642420375 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MjQyMDM3NQ== | simonw 9599 | 2020-06-11T05:40:07Z | 2020-06-11T05:40:07Z | OWNER | https://github.com/simonw/datasette-permissions-sql is now released as a 0.1a here: https://pypi.org/project/datasette-permissions-sql/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
642412017 | https://github.com/simonw/datasette/issues/832#issuecomment-642412017 | https://api.github.com/repos/simonw/datasette/issues/832 | MDEyOklzc3VlQ29tbWVudDY0MjQxMjAxNw== | simonw 9599 | 2020-06-11T05:13:59Z | 2020-06-11T05:13:59Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Having view-table permission but NOT view-database should still grant access to /db/table 636722501 | ||
642324847 | https://github.com/simonw/datasette/issues/831#issuecomment-642324847 | https://api.github.com/repos/simonw/datasette/issues/831 | MDEyOklzc3VlQ29tbWVudDY0MjMyNDg0Nw== | simonw 9599 | 2020-06-10T23:50:55Z | 2020-06-10T23:50:55Z | OWNER | Actually I'm not sure about this. If It could be So I think I'm going to stick with the current mechanism, which is that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
It would be more intuitive if "allow": none meant "no-one can do this" 636614868 | |
642231871 | https://github.com/simonw/datasette/issues/818#issuecomment-642231871 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MjIzMTg3MQ== | simonw 9599 | 2020-06-10T20:11:50Z | 2020-06-10T20:11:50Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
642230499 | https://github.com/simonw/datasette/issues/818#issuecomment-642230499 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MjIzMDQ5OQ== | simonw 9599 | 2020-06-10T20:08:46Z | 2020-06-10T20:09:26Z | OWNER | What's a simple but useful plugin I could release that exercises this hook? Ideally one which executes permission checks against the database somehow. I could do a simplest-possible implementation of the idea in #801 (allow-by-query). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
642229899 | https://github.com/simonw/datasette/issues/818#issuecomment-642229899 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MjIyOTg5OQ== | simonw 9599 | 2020-06-10T20:07:36Z | 2020-06-10T20:07:36Z | OWNER | New policy in 9f236c4 dictates that this should be in Milestone 0.44 after all:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
642217520 | https://github.com/simonw/datasette/issues/829#issuecomment-642217520 | https://api.github.com/repos/simonw/datasette/issues/829 | MDEyOklzc3VlQ29tbWVudDY0MjIxNzUyMA== | simonw 9599 | 2020-06-10T19:41:35Z | 2020-06-10T19:41:35Z | OWNER | I didn't bother with the alternative epoch - it only shaves off two or three bytes from the cookie. Documentation for the new |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to set ds_actor cookie such that it expires 636426530 | |
642178604 | https://github.com/simonw/datasette/issues/829#issuecomment-642178604 | https://api.github.com/repos/simonw/datasette/issues/829 | MDEyOklzc3VlQ29tbWVudDY0MjE3ODYwNA== | simonw 9599 | 2020-06-10T18:18:36Z | 2020-06-10T18:20:19Z | OWNER | Even shorter: encode an integer that is the difference between that expiry timestamp and a more recent epoch - June 1st 2020 will do. ```
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to set ds_actor cookie such that it expires 636426530 | |
642176180 | https://github.com/simonw/datasette/issues/829#issuecomment-642176180 | https://api.github.com/repos/simonw/datasette/issues/829 | MDEyOklzc3VlQ29tbWVudDY0MjE3NjE4MA== | simonw 9599 | 2020-06-10T18:14:02Z | 2020-06-10T18:14:15Z | OWNER | And the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to set ds_actor cookie such that it expires 636426530 | |
642175892 | https://github.com/simonw/datasette/issues/829#issuecomment-642175892 | https://api.github.com/repos/simonw/datasette/issues/829 | MDEyOklzc3VlQ29tbWVudDY0MjE3NTg5Mg== | simonw 9599 | 2020-06-10T18:13:26Z | 2020-06-10T18:13:26Z | OWNER | I'm going with
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to set ds_actor cookie such that it expires 636426530 | |
642174272 | https://github.com/simonw/datasette/issues/829#issuecomment-642174272 | https://api.github.com/repos/simonw/datasette/issues/829 | MDEyOklzc3VlQ29tbWVudDY0MjE3NDI3Mg== | simonw 9599 | 2020-06-10T18:10:13Z | 2020-06-10T18:10:13Z | OWNER | Some options:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to set ds_actor cookie such that it expires 636426530 | |
642161210 | https://github.com/simonw/datasette/issues/829#issuecomment-642161210 | https://api.github.com/repos/simonw/datasette/issues/829 | MDEyOklzc3VlQ29tbWVudDY0MjE2MTIxMA== | simonw 9599 | 2020-06-10T17:45:58Z | 2020-06-10T17:45:58Z | OWNER |
I currently only decode the If plugins want to be able to set their own policies on how long the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to set ds_actor cookie such that it expires 636426530 | |
641908346 | https://github.com/simonw/datasette/issues/394#issuecomment-641908346 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDY0MTkwODM0Ng== | wragge 127565 | 2020-06-10T10:22:54Z | 2020-06-10T10:22:54Z | CONTRIBUTOR | There's a working demo here: https://github.com/wragge/datasette-test And if you want something that's more than just proof-of-concept, here's a notebook which does some harvesting from web archives and then displays the results using Datasette: https://nbviewer.jupyter.org/github/GLAM-Workbench/web-archives/blob/master/explore_presentations.ipynb |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url configuration setting 396212021 | |
641889565 | https://github.com/simonw/datasette/issues/394#issuecomment-641889565 | https://api.github.com/repos/simonw/datasette/issues/394 | MDEyOklzc3VlQ29tbWVudDY0MTg4OTU2NQ== | LVerneyPEReN 58298410 | 2020-06-10T09:49:34Z | 2020-06-10T09:49:34Z | NONE | Hi, I came across this issue while looking for a way to spawn Datasette as a SQLite files viewer in JupyterLab. I found https://github.com/simonw/jupyterserverproxy-datasette-demo which seems to be the most up to date proof of concept, but it seems to be failing to list the available db (at least in the Binder demo, https://hub.gke.mybinder.org/user/simonw-jupyters--datasette-demo-uw4dmlnn/datasette/, I only have Does anyone tried to improve on this proof of concept to have a Datasette visualization for SQLite files? Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
base_url configuration setting 396212021 | |
641713087 | https://github.com/simonw/datasette/issues/828#issuecomment-641713087 | https://api.github.com/repos/simonw/datasette/issues/828 | MDEyOklzc3VlQ29tbWVudDY0MTcxMzA4Nw== | simonw 9599 | 2020-06-10T04:28:17Z | 2020-06-10T04:28:17Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Horizontal scrollbar on changelog page on mobile 635914822 | ||
641710745 | https://github.com/simonw/datasette/issues/828#issuecomment-641710745 | https://api.github.com/repos/simonw/datasette/issues/828 | MDEyOklzc3VlQ29tbWVudDY0MTcxMDc0NQ== | simonw 9599 | 2020-06-10T04:19:31Z | 2020-06-10T04:19:31Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Horizontal scrollbar on changelog page on mobile 635914822 | ||
641710670 | https://github.com/simonw/datasette/issues/828#issuecomment-641710670 | https://api.github.com/repos/simonw/datasette/issues/828 | MDEyOklzc3VlQ29tbWVudDY0MTcxMDY3MA== | simonw 9599 | 2020-06-10T04:19:17Z | 2020-06-10T04:19:17Z | OWNER | This CSS seems to fix it:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Horizontal scrollbar on changelog page on mobile 635914822 | |
641637696 | https://github.com/simonw/datasette/issues/806#issuecomment-641637696 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYzNzY5Ng== | simonw 9599 | 2020-06-09T23:46:00Z | 2020-06-09T23:46:00Z | OWNER | The issues that should be referenced from this release are: 395, #519, #576, #699, #706, #774, #777, #781, #784, #788, #790, #797, #798, #800, #802, #804, #819, #822 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641634749 | https://github.com/simonw/datasette/issues/806#issuecomment-641634749 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYzNDc0OQ== | simonw 9599 | 2020-06-09T23:34:52Z | 2020-06-09T23:34:52Z | OWNER | Preview of the release notes is now available here: https://datasette.readthedocs.io/en/latest/changelog.html#v0-44 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641616185 | https://github.com/simonw/datasette/issues/795#issuecomment-641616185 | https://api.github.com/repos/simonw/datasette/issues/795 | MDEyOklzc3VlQ29tbWVudDY0MTYxNjE4NQ== | simonw 9599 | 2020-06-09T22:33:33Z | 2020-06-09T22:33:33Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
response.set_cookie() method 629541395 | ||
641616060 | https://github.com/simonw/datasette/issues/826#issuecomment-641616060 | https://api.github.com/repos/simonw/datasette/issues/826 | MDEyOklzc3VlQ29tbWVudDY0MTYxNjA2MA== | simonw 9599 | 2020-06-09T22:33:12Z | 2020-06-09T22:33:12Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the ds_actor signed cookie 635519358 | ||
641604210 | https://github.com/simonw/datasette/issues/806#issuecomment-641604210 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYwNDIxMA== | simonw 9599 | 2020-06-09T21:59:33Z | 2020-06-09T22:00:11Z | OWNER | AWS IAM uses action and resource terminology: https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html - I think that's where I got that language:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641603457 | https://github.com/simonw/datasette/issues/806#issuecomment-641603457 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYwMzQ1Nw== | simonw 9599 | 2020-06-09T21:57:32Z | 2020-06-09T21:57:32Z | OWNER | operation, procedure, process as alternative words for those menu items? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641602794 | https://github.com/simonw/datasette/issues/806#issuecomment-641602794 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTYwMjc5NA== | simonw 9599 | 2020-06-09T21:55:45Z | 2020-06-09T21:55:45Z | OWNER | Last-minute thought: Should I worry about calling permissions "actions", when I have an idea for a future plugin hook that allows plugins to add something I was going to call "actions" to database, table and row pages? Those actions would take the form of menu item commands that Do Something to the selected object. If I use "actions" to mean permission names, will I be able to find a good alternative name for these dynamic menu items? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641538982 | https://github.com/simonw/datasette/issues/804#issuecomment-641538982 | https://api.github.com/repos/simonw/datasette/issues/804 | MDEyOklzc3VlQ29tbWVudDY0MTUzODk4Mg== | simonw 9599 | 2020-06-09T20:01:30Z | 2020-06-09T20:01:30Z | OWNER | Now fully documented here: https://datasette.readthedocs.io/en/latest/contributing.html#setting-up-a-development-environment |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
python tests/fixtures.py command has a bug 632673972 | |
641538799 | https://github.com/simonw/datasette/issues/804#issuecomment-641538799 | https://api.github.com/repos/simonw/datasette/issues/804 | MDEyOklzc3VlQ29tbWVudDY0MTUzODc5OQ== | simonw 9599 | 2020-06-09T20:01:08Z | 2020-06-09T20:01:08Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
python tests/fixtures.py command has a bug 632673972 | |
641528737 | https://github.com/simonw/datasette/issues/804#issuecomment-641528737 | https://api.github.com/repos/simonw/datasette/issues/804 | MDEyOklzc3VlQ29tbWVudDY0MTUyODczNw== | simonw 9599 | 2020-06-09T19:39:24Z | 2020-06-09T19:39:24Z | OWNER | Switched to 0.44 milestone because I don't like shipping releases with known bugs. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
python tests/fixtures.py command has a bug 632673972 | |
641528269 | https://github.com/simonw/datasette/issues/827#issuecomment-641528269 | https://api.github.com/repos/simonw/datasette/issues/827 | MDEyOklzc3VlQ29tbWVudDY0MTUyODI2OQ== | simonw 9599 | 2020-06-09T19:38:30Z | 2020-06-09T19:38:30Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document CSRF protection (for plugins) 635696400 | ||
641406944 | https://github.com/simonw/datasette/issues/825#issuecomment-641406944 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQwNjk0NA== | simonw 9599 | 2020-06-09T16:12:02Z | 2020-06-09T17:19:19Z | OWNER | Alternative design: leave actor alone. Instead specify that allow blocks can look like this:
I like this: the above block is very self-documenting. The I'm going with this design. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641452563 | https://github.com/simonw/datasette/issues/825#issuecomment-641452563 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQ1MjU2Mw== | simonw 9599 | 2020-06-09T17:08:00Z | 2020-06-09T17:08:00Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | ||
641449725 | https://github.com/simonw/datasette/issues/825#issuecomment-641449725 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQ0OTcyNQ== | simonw 9599 | 2020-06-09T17:02:31Z | 2020-06-09T17:02:31Z | OWNER | Documented at the bottom of this section: https://github.com/simonw/datasette/blob/7633b9ab249b2dce5ee0b4fcf9542c13a1703ef0/docs/authentication.rst#defining-permissions-with-allow-blocks |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641412424 | https://github.com/simonw/datasette/issues/825#issuecomment-641412424 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTQxMjQyNA== | simonw 9599 | 2020-06-09T16:22:07Z | 2020-06-09T16:22:07Z | OWNER | When I implement this I should also document default allow vs default deny as a concept, and specify that default next to every documented permission. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641361311 | https://github.com/simonw/datasette/issues/795#issuecomment-641361311 | https://api.github.com/repos/simonw/datasette/issues/795 | MDEyOklzc3VlQ29tbWVudDY0MTM2MTMxMQ== | simonw 9599 | 2020-06-09T15:11:50Z | 2020-06-09T15:11:50Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
response.set_cookie() method 629541395 | ||
641360187 | https://github.com/simonw/datasette/issues/826#issuecomment-641360187 | https://api.github.com/repos/simonw/datasette/issues/826 | MDEyOklzc3VlQ29tbWVudDY0MTM2MDE4Nw== | simonw 9599 | 2020-06-09T15:10:00Z | 2020-06-09T15:11:24Z | OWNER | Also a good reminder that I need a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the ds_actor signed cookie 635519358 | |
641359103 | https://github.com/simonw/datasette/issues/826#issuecomment-641359103 | https://api.github.com/repos/simonw/datasette/issues/826 | MDEyOklzc3VlQ29tbWVudDY0MTM1OTEwMw== | simonw 9599 | 2020-06-09T15:08:07Z | 2020-06-09T15:10:33Z | OWNER | I should probably add a utility function for setting that cookie - right now the only code that does that is here: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Document the ds_actor signed cookie 635519358 | |
641353729 | https://github.com/simonw/datasette/issues/812#issuecomment-641353729 | https://api.github.com/repos/simonw/datasette/issues/812 | MDEyOklzc3VlQ29tbWVudDY0MTM1MzcyOQ== | simonw 9599 | 2020-06-09T14:59:25Z | 2020-06-09T14:59:25Z | OWNER | I'm going to figure this out by working with https://github.com/simonw/datasette-auth-github/issues/62 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to customize what happens when a view permission fails 634112607 | |
641353186 | https://github.com/simonw/datasette/issues/823#issuecomment-641353186 | https://api.github.com/repos/simonw/datasette/issues/823 | MDEyOklzc3VlQ29tbWVudDY0MTM1MzE4Ng== | simonw 9599 | 2020-06-09T14:58:36Z | 2020-06-09T14:58:36Z | OWNER | Docs now say:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation is inconsistent about "id" as required field on actor 635107393 | |
641320947 | https://github.com/simonw/datasette/issues/825#issuecomment-641320947 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTMyMDk0Nw== | simonw 9599 | 2020-06-09T14:06:46Z | 2020-06-09T14:06:46Z | OWNER | I'm torn between
I'm going with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641062164 | https://github.com/simonw/datasette/issues/825#issuecomment-641062164 | https://api.github.com/repos/simonw/datasette/issues/825 | MDEyOklzc3VlQ29tbWVudDY0MTA2MjE2NA== | simonw 9599 | 2020-06-09T06:30:24Z | 2020-06-09T14:05:33Z | OWNER | Idea: the anonymous actor could be passed to
Then allow blocks like this could be used to allow them:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Way to enable a default=False permission for anonymous users 635147716 | |
641059221 | https://github.com/simonw/datasette/issues/823#issuecomment-641059221 | https://api.github.com/repos/simonw/datasette/issues/823 | MDEyOklzc3VlQ29tbWVudDY0MTA1OTIyMQ== | simonw 9599 | 2020-06-09T06:23:51Z | 2020-06-09T06:24:09Z | OWNER | I don't like the "id" requirement. I can think of plenty of situations where a unique ID might not be available:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation is inconsistent about "id" as required field on actor 635107393 | |
641026726 | https://github.com/simonw/datasette/issues/806#issuecomment-641026726 | https://api.github.com/repos/simonw/datasette/issues/806 | MDEyOklzc3VlQ29tbWVudDY0MTAyNjcyNg== | simonw 9599 | 2020-06-09T04:52:07Z | 2020-06-09T04:52:07Z | OWNER | Changelog for this is going to be huge - 96 commits since 0.43 already! https://github.com/simonw/datasette/compare/0.43...master |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Release Datasette 0.44 632753851 | |
641026230 | https://github.com/simonw/datasette/issues/818#issuecomment-641026230 | https://api.github.com/repos/simonw/datasette/issues/818 | MDEyOklzc3VlQ29tbWVudDY0MTAyNjIzMA== | simonw 9599 | 2020-06-09T04:50:24Z | 2020-06-09T04:50:24Z | OWNER | I'm dropping this from the 0.44 milestone. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Example permissions plugin 634917088 | |
641025760 | https://github.com/simonw/datasette/issues/823#issuecomment-641025760 | https://api.github.com/repos/simonw/datasette/issues/823 | MDEyOklzc3VlQ29tbWVudDY0MTAyNTc2MA== | simonw 9599 | 2020-06-09T04:48:40Z | 2020-06-09T04:48:40Z | OWNER | I should assert that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Documentation is inconsistent about "id" as required field on actor 635107393 | |
641017851 | https://github.com/simonw/datasette/issues/805#issuecomment-641017851 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY0MTAxNzg1MQ== | simonw 9599 | 2020-06-09T04:17:00Z | 2020-06-09T04:17:00Z | OWNER | I can't get Datasette working on Glitch installed from a URL - I'm going to try this on Glitch once I've shipped the 0.44 release in #806. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 | |
641017721 | https://github.com/simonw/datasette/issues/805#issuecomment-641017721 | https://api.github.com/repos/simonw/datasette/issues/805 | MDEyOklzc3VlQ29tbWVudDY0MTAxNzcyMQ== | simonw 9599 | 2020-06-09T04:16:28Z | 2020-06-09T04:16:28Z | OWNER | Create |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Writable canned queries live demo on Glitch 632724154 |
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 848