{"html_url": "https://github.com/simonw/datasette/pull/554#issuecomment-510542280", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/554", "id": 510542280, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU0MjI4MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T15:47:31Z", "updated_at": "2019-07-11T15:47:31Z", "author_association": "OWNER", "body": "Thanks for this!\r\n\r\nThe tests are failing for Python 3.5 right now which is strange. https://travis-ci.org/simonw/datasette/jobs/556272017\r\n\r\nOne failure looks like this:\r\n```\r\napp_client = \r\n def test_static(app_client):\r\n response = app_client.get(\"/-/static/app2.css\")\r\n> assert response.status == 404\r\nE assert 500 == 404\r\nE + where 500 = .status\r\n/home/travis/build/simonw/datasette/tests/test_html.py:56: AssertionError\r\n----------------------------- Captured stderr call -----------------------------\r\nTraceback (most recent call last):\r\n File \"/home/travis/build/simonw/datasette/datasette/utils/asgi.py\", line 100, in __call__\r\n return await view(new_scope, receive, send)\r\n File \"/home/travis/build/simonw/datasette/datasette/utils/asgi.py\", line 303, in inner_static\r\n full_path = (Path(root_path) / path).resolve().absolute()\r\n File \"/opt/python/3.5.6/lib/python3.5/pathlib.py\", line 1109, in resolve\r\n s = self._flavour.resolve(self)\r\n File \"/opt/python/3.5.6/lib/python3.5/pathlib.py\", line 330, in resolve\r\n return _resolve(base, str(path)) or sep\r\n File \"/opt/python/3.5.6/lib/python3.5/pathlib.py\", line 315, in _resolve\r\n target = accessor.readlink(newpath)\r\n File \"/opt/python/3.5.6/lib/python3.5/pathlib.py\", line 422, in readlink\r\n return os.readlink(path)\r\nFileNotFoundError: [Errno 2] No such file or directory: '/home/travis/build/simonw/datasette/datasette/static/app2.css'\r\n```\r\nMaybe an exception was renamed between 3.5 and 3.6?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 465728430, "label": "Fix static mounts using relative paths and prevent traversal exploits"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/556#issuecomment-510550279", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/556", "id": 510550279, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU1MDI3OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T16:07:27Z", "updated_at": "2019-07-11T16:07:27Z", "author_association": "OWNER", "body": "This is a really neat trick, thanks!", "reactions": "{\"total_count\": 1, \"+1\": 1, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 465773546, "label": "Add support for running datasette as a module"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/554#issuecomment-510558696", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/554", "id": 510558696, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU1ODY5Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T16:29:25Z", "updated_at": "2019-07-11T16:29:25Z", "author_association": "OWNER", "body": "Released as 0.29.1: https://datasette.readthedocs.io/en/latest/changelog.html#v0-29-1", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 465728430, "label": "Fix static mounts using relative paths and prevent traversal exploits"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-510559337", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 510559337, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU1OTMzNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T16:31:06Z", "updated_at": "2019-07-11T16:31:06Z", "author_association": "OWNER", "body": "@abdusco you mentioned Windows in #554 - can you confirm that Datasette is Windows compatible as of v0.29?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-510559836", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 510559836, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU1OTgzNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T16:32:27Z", "updated_at": "2019-07-11T16:32:27Z", "author_association": "OWNER", "body": "Travis CI supports Windows - Uvicorn is using it here: https://github.com/encode/uvicorn/blob/15c4e9cfe2d996bd73ed6b542e44160f620b9519/.travis.yml", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/557#issuecomment-510562059", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/557", "id": 510562059, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU2MjA1OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T16:38:27Z", "updated_at": "2019-07-11T16:38:27Z", "author_association": "OWNER", "body": "Weird, Travis didn't even attempt to start a build for this branch/PR. Maybe something wrong with my `.travis.yml`?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 466996584, "label": "Get tests running on Windows using Travis CI"}, "performed_via_github_app": null}