home / github

Menu
  • Search all tables
  • GraphQL API

issues

Table actions
  • GraphQL API for issues

6 rows where comments = 20 and user = 9599 sorted by updated_at descending

✖
✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: updated_at (date), closed_at (date)

type 1

  • issue 6

state 1

  • closed 6

repo 1

  • datasette 6
id node_id number title user state locked assignee milestone comments created_at updated_at ▲ closed_at author_association pull_request body repo type active_lock_reason performed_via_github_app reactions draft state_reason
1805076818 I_kwDOBm6k_c5rl0lS 2102 API tokens with view-table but not view-database/view-instance cannot access the table simonw 9599 closed 0 simonw 9599   20 2023-07-14T15:34:27Z 2023-08-29T16:32:36Z 2023-08-29T16:32:35Z OWNER  

Spotted a problem while working on this: if you grant a token access to view table for a specific table but don't also grant view database and view instance permissions, that token is useless.

This was a deliberate design decision in Datasette - it's documented on https://docs.datasette.io/en/1.0a2/authentication.html#access-permissions-in-metadata

If a user cannot access a specific database, they will not be able to access tables, views or queries within that database. If a user cannot access the instance they will not be able to access any of the databases, tables, views or queries.

I'm now second-guessing if this was a good decision.

Originally posted by @simonw in https://github.com/simonw/datasette-auth-tokens/issues/7#issuecomment-1636031702

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/2102/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1485757511 I_kwDOBm6k_c5YjtxH 1939 register_permissions(datasette) plugin hook simonw 9599 closed 0   Datasette 1.0a2 8711695 20 2022-12-09T01:33:25Z 2022-12-13T02:07:50Z 2022-12-13T02:05:56Z OWNER  

A plugin hook that adds more named permissions to the list which is initially populated here:

https://github.com/simonw/datasette/blob/e539c1c024bc62d88df91d9107cbe37e7f0fe55f/datasette/permissions.py#L1-L19

Originally imagined this hook in this comment:

  • https://github.com/simonw/datasette/issues/1881#issuecomment-1301639370

I need this for a few reasons:

  • https://github.com/simonw/datasette/issues/1636
  • Needs it in order to validate that permissions defined in metadata.json are set in the right place (don't set an instance permissions at table level for example)
  • https://github.com/simonw/datasette/issues/1855
  • Needs it to be able to register additional abbreviations for use in signed cookies
  • And for validation when you use datasette create-token and pass in extra permissions
  • The https://latest.datasette.io/-/permissions debug interface needs it to add extra debug options to the <select>
datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1939/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
1174306154 I_kwDOBm6k_c5F_n1q 1668 Introduce concept of a database `route`, separate from its name simonw 9599 closed 0   Datasette 1.0 3268330 20 2022-03-19T16:48:28Z 2022-03-20T16:43:16Z 2022-03-20T16:43:16Z OWNER  

Some issues came up in the new datasette-hashed-urls plugin relating to the way it renames databases on startup to achieve unique URLs that depend on the database SHA-256 content:

  • https://github.com/simonw/datasette-hashed-urls/issues/10
  • https://github.com/simonw/datasette-hashed-urls/issues/9
  • https://github.com/simonw/datasette-hashed-urls/issues/8

All three of these could be addressed by making the "path" concept for a database (the /foo bit where it is served) work independently of the database's name, which would be used for default display and also as the alias when configuring cross-database aliases.

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1668/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
733499930 MDU6SXNzdWU3MzM0OTk5MzA= 1072 load_template hook doesn't work for include/extends simonw 9599 closed 0   0.51 6026070 20 2020-10-30T20:33:44Z 2020-10-31T20:48:18Z 2020-10-30T22:50:57Z OWNER  

Includes like this one always go to disk, without hitting the load_template plugin hook: ```html+jinja

<footer class="ft">{% block footer %}{% include "_footer.html" %}{% endblock %}</footer>

```

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/1072/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
679808124 MDU6SXNzdWU2Nzk4MDgxMjQ= 940 Move CI to GitHub Issues simonw 9599 closed 0   Datasette 0.49 5818042 20 2020-08-16T19:06:08Z 2020-09-14T22:09:35Z 2020-09-14T22:09:35Z OWNER  

It looks like the tests take 3m33s to run in GitHub Actions, but they're taking more than 8 minutes in Travis

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/940/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed
628499086 MDU6SXNzdWU2Mjg0OTkwODY= 790 "flash messages" mechanism simonw 9599 closed 0   Datasette 0.44 5512395 20 2020-06-01T14:55:44Z 2020-06-08T19:33:59Z 2020-06-02T21:14:03Z OWNER  

Passing ?_success like this isn't necessarily the best approach. Potential improvements include:

  • Signing this message so it can't be tampered with (I could generate a signing secret on startup)
  • Using a cookie with a temporary flash message in it instead
  • Using HTML5 history API to remove the ?_success= from the URL bar when the user lands on the page

If I add an option to redirect the user to another page after success I may need a mechanism to show a flash message on that page as well, in which case I'll need a general flash message solution that works for any page.

Originally posted by @simonw in https://github.com/simonw/datasette/pull/703

datasette 107914493 issue    
{
    "url": "https://api.github.com/repos/simonw/datasette/issues/790/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issues] (
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [number] INTEGER,
   [title] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [state] TEXT,
   [locked] INTEGER,
   [assignee] INTEGER REFERENCES [users]([id]),
   [milestone] INTEGER REFERENCES [milestones]([id]),
   [comments] INTEGER,
   [created_at] TEXT,
   [updated_at] TEXT,
   [closed_at] TEXT,
   [author_association] TEXT,
   [pull_request] TEXT,
   [body] TEXT,
   [repo] INTEGER REFERENCES [repos]([id]),
   [type] TEXT
, [active_lock_reason] TEXT, [performed_via_github_app] TEXT, [reactions] TEXT, [draft] INTEGER, [state_reason] TEXT);
CREATE INDEX [idx_issues_repo]
                ON [issues] ([repo]);
CREATE INDEX [idx_issues_milestone]
                ON [issues] ([milestone]);
CREATE INDEX [idx_issues_assignee]
                ON [issues] ([assignee]);
CREATE INDEX [idx_issues_user]
                ON [issues] ([user]);
Powered by Datasette · Queries took 3293.2ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows