{"html_url": "https://github.com/simonw/datasette/issues/790#issuecomment-637699337", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/790", "id": 637699337, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzY5OTMzNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T17:34:47Z", "updated_at": "2020-06-02T17:34:47Z", "author_association": "OWNER", "body": "I'm going to use a output renderer plugin to test this, since then my unit tests can run against custom code that both sets and displays messages.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 628499086, "label": "\"flash messages\" mechanism"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/790#issuecomment-637708090", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/790", "id": 637708090, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzcwODA5MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T17:52:30Z", "updated_at": "2020-06-02T17:52:30Z", "author_association": "OWNER", "body": "I need to make sure that any time cookies are set there's no cache-control header (or it is set to private).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 628499086, "label": "\"flash messages\" mechanism"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/790#issuecomment-637790860", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/790", "id": 637790860, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzc5MDg2MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T20:34:15Z", "updated_at": "2020-06-02T20:34:15Z", "author_association": "OWNER", "body": "The `/-/messages` debug tool will need CSRF protection or people will be able to add messages using a hidden form on another website.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 628499086, "label": "\"flash messages\" mechanism"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/790#issuecomment-637793590", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/790", "id": 637793590, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzc5MzU5MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T20:40:02Z", "updated_at": "2020-06-02T20:40:02Z", "author_association": "OWNER", "body": "From https://github.com/simonw/datasette/issues/698#issuecomment-621037724\r\n> Concept for displaying a success message:\r\n> \r\n> \"fixtures__compound_three_primary_keys__1_001_rows\"\r\n> CSS:\r\n> \r\n> ```css\r\n> .success {\r\n> padding: 1em;\r\n> border: 1px solid green;\r\n> background-color: #c7fbc7;\r\n> }", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 628499086, "label": "\"flash messages\" mechanism"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/790#issuecomment-637813616", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/790", "id": 637813616, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzgxMzYxNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T21:22:02Z", "updated_at": "2020-06-02T21:22:02Z", "author_association": "OWNER", "body": "Debug tool is live here: https://latest.datasette.io/-/messages\r\n\r\nDocumentation is here: https://github.com/simonw/datasette/blob/master/docs/internals.rst#add_messagerequest-message-message_typedatasetteinfo", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 628499086, "label": "\"flash messages\" mechanism"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/793#issuecomment-637813993", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/793", "id": 637813993, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzgxMzk5Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T21:22:50Z", "updated_at": "2020-06-02T21:22:50Z", "author_association": "OWNER", "body": "This is a minor security issue with `master` at the moment, but I'll resolve this before I ship the next release.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 629524205, "label": "CSRF protection for /-/messages tool and writable canned queries"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/699#issuecomment-637819025", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/699", "id": 637819025, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzgxOTAyNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T21:34:31Z", "updated_at": "2020-06-02T21:34:31Z", "author_association": "OWNER", "body": "I can close this issue once I've expanded out this page of documentation https://datasette.readthedocs.io/en/latest/authentication.html - and published at least one plugin and/or feature that takes advantage of this new mechanism.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 582526961, "label": "Authentication (and permissions) as a core concept"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/794#issuecomment-637832651", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/794", "id": 637832651, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzgzMjY1MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T22:10:34Z", "updated_at": "2020-06-02T22:10:34Z", "author_association": "OWNER", "body": "Demo: https://latest.datasette.io/-/plugins?all=1\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"datasette.facets\",\r\n \"static\": false,\r\n \"templates\": false,\r\n \"version\": null,\r\n \"hooks\": [\r\n \"register_facet_classes\"\r\n ]\r\n },\r\n {\r\n \"name\": \"datasette.publish.cloudrun\",\r\n \"static\": false,\r\n \"templates\": false,\r\n \"version\": null,\r\n \"hooks\": [\r\n \"publish_subcommand\"\r\n ]\r\n },\r\n {\r\n \"name\": \"datasette.actor_auth_cookie\",\r\n \"static\": false,\r\n \"templates\": false,\r\n \"version\": null,\r\n \"hooks\": [\r\n \"actor_from_request\"\r\n ]\r\n },\r\n {\r\n \"name\": \"datasette.default_permissions\",\r\n \"static\": false,\r\n \"templates\": false,\r\n \"version\": null,\r\n \"hooks\": [\r\n \"permission_allowed\"\r\n ]\r\n },\r\n {\r\n \"name\": \"datasette.sql_functions\",\r\n \"static\": false,\r\n \"templates\": false,\r\n \"version\": null,\r\n \"hooks\": [\r\n \"prepare_connection\"\r\n ]\r\n },\r\n {\r\n \"name\": \"datasette.publish.heroku\",\r\n \"static\": false,\r\n \"templates\": false,\r\n \"version\": null,\r\n \"hooks\": [\r\n \"publish_subcommand\"\r\n ]\r\n }\r\n]\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 629535669, "label": "Show hooks implemented by each plugin on /-/plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/794#issuecomment-637841942", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/794", "id": 637841942, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzg0MTk0Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T22:30:17Z", "updated_at": "2020-06-02T22:30:17Z", "author_association": "OWNER", "body": "Another demo: https://til.simonwillison.net/-/plugins", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 629535669, "label": "Show hooks implemented by each plugin on /-/plugins"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/790#issuecomment-637843494", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/790", "id": 637843494, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzg0MzQ5NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T22:35:22Z", "updated_at": "2020-06-02T22:35:22Z", "author_association": "OWNER", "body": "Message CSS is now demonstrated on https://latest.datasette.io/-/patterns", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 628499086, "label": "\"flash messages\" mechanism"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/703#issuecomment-637875307", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/703", "id": 637875307, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNzg3NTMwNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-02T23:57:35Z", "updated_at": "2020-06-02T23:57:35Z", "author_association": "OWNER", "body": "This pull request got too messy. I'm going to abandon this and start a new one.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 585597133, "label": "WIP implementation of writable canned queries"}, "performed_via_github_app": null}