damus-github-export

Damus issue data exported from github
git clone git://jb55.com/damus-github-export
Log | Files | Refs | README | LICENSE

android.json (720797B)


      1 [
      2   {
      3     "issue": {
      4       "url": "https://api.github.com/repos/damus-io/android/issues/100",
      5       "repository_url": "https://api.github.com/repos/damus-io/android",
      6       "labels_url": "https://api.github.com/repos/damus-io/android/issues/100/labels{/name}",
      7       "comments_url": "https://api.github.com/repos/damus-io/android/issues/100/comments",
      8       "events_url": "https://api.github.com/repos/damus-io/android/issues/100/events",
      9       "html_url": "https://github.com/damus-io/android/issues/100",
     10       "id": 2234209562,
     11       "node_id": "I_kwDOKzWMZs6FK1Ua",
     12       "number": 100,
     13       "title": "Profile view: show if someone \"Follows You\"",
     14       "user": {
     15         "login": "alltheseas",
     16         "id": 64376233,
     17         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
     18         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
     19         "gravatar_id": "",
     20         "url": "https://api.github.com/users/alltheseas",
     21         "html_url": "https://github.com/alltheseas",
     22         "followers_url": "https://api.github.com/users/alltheseas/followers",
     23         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
     24         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
     25         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
     26         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
     27         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
     28         "repos_url": "https://api.github.com/users/alltheseas/repos",
     29         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
     30         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
     31         "type": "User",
     32         "site_admin": false
     33       },
     34       "labels": [
     35         {
     36           "id": 6264778307,
     37           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
     38           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
     39           "name": "enhancement",
     40           "color": "a2eeef",
     41           "default": true,
     42           "description": "New feature or request"
     43         },
     44         {
     45           "id": 6752517308,
     46           "node_id": "LA_kwDOKzWMZs8AAAABkns8vA",
     47           "url": "https://api.github.com/repos/damus-io/android/labels/ui",
     48           "name": "ui",
     49           "color": "f9d0c4",
     50           "default": false,
     51           "description": "ui"
     52         }
     53       ],
     54       "state": "open",
     55       "locked": false,
     56       "assignee": null,
     57       "assignees": [],
     58       "milestone": null,
     59       "comments": 0,
     60       "created_at": "2024-04-09T20:02:57Z",
     61       "updated_at": "2024-04-09T20:02:57Z",
     62       "closed_at": null,
     63       "author_association": "CONTRIBUTOR",
     64       "active_lock_reason": null,
     65       "body": "![follows you (1)](https://github.com/damus-io/android/assets/64376233/93e8ea1b-d1b2-4110-8613-29d0834070b3)\r\n",
     66       "reactions": {
     67         "url": "https://api.github.com/repos/damus-io/android/issues/100/reactions",
     68         "total_count": 0,
     69         "+1": 0,
     70         "-1": 0,
     71         "laugh": 0,
     72         "hooray": 0,
     73         "confused": 0,
     74         "heart": 0,
     75         "rocket": 0,
     76         "eyes": 0
     77       },
     78       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/100/timeline",
     79       "performed_via_github_app": null,
     80       "state_reason": null
     81     }
     82   },
     83   {
     84     "issue": {
     85       "url": "https://api.github.com/repos/damus-io/android/issues/99",
     86       "repository_url": "https://api.github.com/repos/damus-io/android",
     87       "labels_url": "https://api.github.com/repos/damus-io/android/issues/99/labels{/name}",
     88       "comments_url": "https://api.github.com/repos/damus-io/android/issues/99/comments",
     89       "events_url": "https://api.github.com/repos/damus-io/android/issues/99/events",
     90       "html_url": "https://github.com/damus-io/android/issues/99",
     91       "id": 2234207513,
     92       "node_id": "I_kwDOKzWMZs6FK00Z",
     93       "number": 99,
     94       "title": "Profile view: show if someone \"Follows You",
     95       "user": {
     96         "login": "alltheseas",
     97         "id": 64376233,
     98         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
     99         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    100         "gravatar_id": "",
    101         "url": "https://api.github.com/users/alltheseas",
    102         "html_url": "https://github.com/alltheseas",
    103         "followers_url": "https://api.github.com/users/alltheseas/followers",
    104         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    105         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    106         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    107         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    108         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    109         "repos_url": "https://api.github.com/users/alltheseas/repos",
    110         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    111         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    112         "type": "User",
    113         "site_admin": false
    114       },
    115       "labels": [
    116         {
    117           "id": 6264778306,
    118           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQg",
    119           "url": "https://api.github.com/repos/damus-io/android/labels/duplicate",
    120           "name": "duplicate",
    121           "color": "cfd3d7",
    122           "default": true,
    123           "description": "This issue or pull request already exists"
    124         }
    125       ],
    126       "state": "closed",
    127       "locked": false,
    128       "assignee": null,
    129       "assignees": [],
    130       "milestone": null,
    131       "comments": 1,
    132       "created_at": "2024-04-09T20:01:30Z",
    133       "updated_at": "2024-04-09T20:03:37Z",
    134       "closed_at": "2024-04-09T20:03:32Z",
    135       "author_association": "CONTRIBUTOR",
    136       "active_lock_reason": null,
    137       "body": null,
    138       "reactions": {
    139         "url": "https://api.github.com/repos/damus-io/android/issues/99/reactions",
    140         "total_count": 0,
    141         "+1": 0,
    142         "-1": 0,
    143         "laugh": 0,
    144         "hooray": 0,
    145         "confused": 0,
    146         "heart": 0,
    147         "rocket": 0,
    148         "eyes": 0
    149       },
    150       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/99/timeline",
    151       "performed_via_github_app": null,
    152       "state_reason": "not_planned"
    153     }
    154   },
    155   {
    156     "issue": {
    157       "url": "https://api.github.com/repos/damus-io/android/issues/99",
    158       "repository_url": "https://api.github.com/repos/damus-io/android",
    159       "labels_url": "https://api.github.com/repos/damus-io/android/issues/99/labels{/name}",
    160       "comments_url": "https://api.github.com/repos/damus-io/android/issues/99/comments",
    161       "events_url": "https://api.github.com/repos/damus-io/android/issues/99/events",
    162       "html_url": "https://github.com/damus-io/android/issues/99",
    163       "id": 2234207513,
    164       "node_id": "I_kwDOKzWMZs6FK00Z",
    165       "number": 99,
    166       "title": "Profile view: show if someone \"Follows You",
    167       "user": {
    168         "login": "alltheseas",
    169         "id": 64376233,
    170         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    171         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    172         "gravatar_id": "",
    173         "url": "https://api.github.com/users/alltheseas",
    174         "html_url": "https://github.com/alltheseas",
    175         "followers_url": "https://api.github.com/users/alltheseas/followers",
    176         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    177         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    178         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    179         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    180         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    181         "repos_url": "https://api.github.com/users/alltheseas/repos",
    182         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    183         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    184         "type": "User",
    185         "site_admin": false
    186       },
    187       "labels": [
    188         {
    189           "id": 6264778306,
    190           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQg",
    191           "url": "https://api.github.com/repos/damus-io/android/labels/duplicate",
    192           "name": "duplicate",
    193           "color": "cfd3d7",
    194           "default": true,
    195           "description": "This issue or pull request already exists"
    196         }
    197       ],
    198       "state": "closed",
    199       "locked": false,
    200       "assignee": null,
    201       "assignees": [],
    202       "milestone": null,
    203       "comments": 1,
    204       "created_at": "2024-04-09T20:01:30Z",
    205       "updated_at": "2024-04-09T20:03:37Z",
    206       "closed_at": "2024-04-09T20:03:32Z",
    207       "author_association": "CONTRIBUTOR",
    208       "active_lock_reason": null,
    209       "body": null,
    210       "reactions": {
    211         "url": "https://api.github.com/repos/damus-io/android/issues/99/reactions",
    212         "total_count": 0,
    213         "+1": 0,
    214         "-1": 0,
    215         "laugh": 0,
    216         "hooray": 0,
    217         "confused": 0,
    218         "heart": 0,
    219         "rocket": 0,
    220         "eyes": 0
    221       },
    222       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/99/timeline",
    223       "performed_via_github_app": null,
    224       "state_reason": "not_planned"
    225     },
    226     "comment": {
    227       "user": "alltheseas",
    228       "created_at": "2024-04-09T20:03:32Z",
    229       "updated_at": "2024-04-09T20:03:32Z",
    230       "body": "duplicate"
    231     }
    232   },
    233   {
    234     "issue": {
    235       "url": "https://api.github.com/repos/damus-io/android/issues/98",
    236       "repository_url": "https://api.github.com/repos/damus-io/android",
    237       "labels_url": "https://api.github.com/repos/damus-io/android/issues/98/labels{/name}",
    238       "comments_url": "https://api.github.com/repos/damus-io/android/issues/98/comments",
    239       "events_url": "https://api.github.com/repos/damus-io/android/issues/98/events",
    240       "html_url": "https://github.com/damus-io/android/issues/98",
    241       "id": 2234194280,
    242       "node_id": "I_kwDOKzWMZs6FKxlo",
    243       "number": 98,
    244       "title": "Onboarding flow",
    245       "user": {
    246         "login": "alltheseas",
    247         "id": 64376233,
    248         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    249         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    250         "gravatar_id": "",
    251         "url": "https://api.github.com/users/alltheseas",
    252         "html_url": "https://github.com/alltheseas",
    253         "followers_url": "https://api.github.com/users/alltheseas/followers",
    254         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    255         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    256         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    257         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    258         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    259         "repos_url": "https://api.github.com/users/alltheseas/repos",
    260         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    261         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    262         "type": "User",
    263         "site_admin": false
    264       },
    265       "labels": [
    266         {
    267           "id": 6778671627,
    268           "node_id": "LA_kwDOKzWMZs8AAAABlApSCw",
    269           "url": "https://api.github.com/repos/damus-io/android/labels/onboarding",
    270           "name": "onboarding",
    271           "color": "1A6B24",
    272           "default": false,
    273           "description": ""
    274         }
    275       ],
    276       "state": "open",
    277       "locked": false,
    278       "assignee": null,
    279       "assignees": [],
    280       "milestone": null,
    281       "comments": 0,
    282       "created_at": "2024-04-09T19:51:36Z",
    283       "updated_at": "2024-04-09T19:51:36Z",
    284       "closed_at": null,
    285       "author_association": "CONTRIBUTOR",
    286       "active_lock_reason": null,
    287       "body": "## related\r\n\r\n#70 \r\n#69 \r\n#3 \r\n#61 \r\n#2 ",
    288       "reactions": {
    289         "url": "https://api.github.com/repos/damus-io/android/issues/98/reactions",
    290         "total_count": 0,
    291         "+1": 0,
    292         "-1": 0,
    293         "laugh": 0,
    294         "hooray": 0,
    295         "confused": 0,
    296         "heart": 0,
    297         "rocket": 0,
    298         "eyes": 0
    299       },
    300       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/98/timeline",
    301       "performed_via_github_app": null,
    302       "state_reason": null
    303     }
    304   },
    305   {
    306     "issue": {
    307       "url": "https://api.github.com/repos/damus-io/android/issues/97",
    308       "repository_url": "https://api.github.com/repos/damus-io/android",
    309       "labels_url": "https://api.github.com/repos/damus-io/android/issues/97/labels{/name}",
    310       "comments_url": "https://api.github.com/repos/damus-io/android/issues/97/comments",
    311       "events_url": "https://api.github.com/repos/damus-io/android/issues/97/events",
    312       "html_url": "https://github.com/damus-io/android/issues/97",
    313       "id": 2234040687,
    314       "node_id": "I_kwDOKzWMZs6FKMFv",
    315       "number": 97,
    316       "title": "wallet",
    317       "user": {
    318         "login": "alltheseas",
    319         "id": 64376233,
    320         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    321         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    322         "gravatar_id": "",
    323         "url": "https://api.github.com/users/alltheseas",
    324         "html_url": "https://github.com/alltheseas",
    325         "followers_url": "https://api.github.com/users/alltheseas/followers",
    326         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    327         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    328         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    329         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    330         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    331         "repos_url": "https://api.github.com/users/alltheseas/repos",
    332         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    333         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    334         "type": "User",
    335         "site_admin": false
    336       },
    337       "labels": [
    338         {
    339           "id": 6271232904,
    340           "node_id": "LA_kwDOKzWMZs8AAAABdctriA",
    341           "url": "https://api.github.com/repos/damus-io/android/labels/zaps",
    342           "name": "zaps",
    343           "color": "fef2c0",
    344           "default": false,
    345           "description": ""
    346         },
    347         {
    348           "id": 6271233688,
    349           "node_id": "LA_kwDOKzWMZs8AAAABdctumA",
    350           "url": "https://api.github.com/repos/damus-io/android/labels/commercialization",
    351           "name": "commercialization",
    352           "color": "DDD29F",
    353           "default": false,
    354           "description": ""
    355         }
    356       ],
    357       "state": "open",
    358       "locked": false,
    359       "assignee": null,
    360       "assignees": [],
    361       "milestone": null,
    362       "comments": 0,
    363       "created_at": "2024-04-09T17:58:43Z",
    364       "updated_at": "2024-04-09T17:58:43Z",
    365       "closed_at": null,
    366       "author_association": "CONTRIBUTOR",
    367       "active_lock_reason": null,
    368       "body": "TBC\r\n\r\n### related\r\n\r\nfedimint #59 \r\nNWC #21 \r\nnote zaps #13 \r\n",
    369       "reactions": {
    370         "url": "https://api.github.com/repos/damus-io/android/issues/97/reactions",
    371         "total_count": 0,
    372         "+1": 0,
    373         "-1": 0,
    374         "laugh": 0,
    375         "hooray": 0,
    376         "confused": 0,
    377         "heart": 0,
    378         "rocket": 0,
    379         "eyes": 0
    380       },
    381       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/97/timeline",
    382       "performed_via_github_app": null,
    383       "state_reason": null
    384     }
    385   },
    386   {
    387     "issue": {
    388       "url": "https://api.github.com/repos/damus-io/android/issues/96",
    389       "repository_url": "https://api.github.com/repos/damus-io/android",
    390       "labels_url": "https://api.github.com/repos/damus-io/android/issues/96/labels{/name}",
    391       "comments_url": "https://api.github.com/repos/damus-io/android/issues/96/comments",
    392       "events_url": "https://api.github.com/repos/damus-io/android/issues/96/events",
    393       "html_url": "https://github.com/damus-io/android/issues/96",
    394       "id": 2233917017,
    395       "node_id": "I_kwDOKzWMZs6FJt5Z",
    396       "number": 96,
    397       "title": "Set up localization system for translation of strings to non-english languages",
    398       "user": {
    399         "login": "alltheseas",
    400         "id": 64376233,
    401         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    402         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    403         "gravatar_id": "",
    404         "url": "https://api.github.com/users/alltheseas",
    405         "html_url": "https://github.com/alltheseas",
    406         "followers_url": "https://api.github.com/users/alltheseas/followers",
    407         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    408         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    409         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    410         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    411         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    412         "repos_url": "https://api.github.com/users/alltheseas/repos",
    413         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    414         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    415         "type": "User",
    416         "site_admin": false
    417       },
    418       "labels": [
    419         {
    420           "id": 6774995244,
    421           "node_id": "LA_kwDOKzWMZs8AAAABk9I5LA",
    422           "url": "https://api.github.com/repos/damus-io/android/labels/localization",
    423           "name": "localization",
    424           "color": "0F8978",
    425           "default": false,
    426           "description": ""
    427         }
    428       ],
    429       "state": "open",
    430       "locked": false,
    431       "assignee": null,
    432       "assignees": [],
    433       "milestone": null,
    434       "comments": 0,
    435       "created_at": "2024-04-09T17:06:21Z",
    436       "updated_at": "2024-04-09T17:06:21Z",
    437       "closed_at": null,
    438       "author_association": "CONTRIBUTOR",
    439       "active_lock_reason": null,
    440       "body": null,
    441       "reactions": {
    442         "url": "https://api.github.com/repos/damus-io/android/issues/96/reactions",
    443         "total_count": 0,
    444         "+1": 0,
    445         "-1": 0,
    446         "laugh": 0,
    447         "hooray": 0,
    448         "confused": 0,
    449         "heart": 0,
    450         "rocket": 0,
    451         "eyes": 0
    452       },
    453       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/96/timeline",
    454       "performed_via_github_app": null,
    455       "state_reason": null
    456     }
    457   },
    458   {
    459     "issue": {
    460       "url": "https://api.github.com/repos/damus-io/android/issues/95",
    461       "repository_url": "https://api.github.com/repos/damus-io/android",
    462       "labels_url": "https://api.github.com/repos/damus-io/android/issues/95/labels{/name}",
    463       "comments_url": "https://api.github.com/repos/damus-io/android/issues/95/comments",
    464       "events_url": "https://api.github.com/repos/damus-io/android/issues/95/events",
    465       "html_url": "https://github.com/damus-io/android/issues/95",
    466       "id": 2233915584,
    467       "node_id": "I_kwDOKzWMZs6FJtjA",
    468       "number": 95,
    469       "title": "DeepL auto-translate for purple subscribers",
    470       "user": {
    471         "login": "alltheseas",
    472         "id": 64376233,
    473         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    474         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    475         "gravatar_id": "",
    476         "url": "https://api.github.com/users/alltheseas",
    477         "html_url": "https://github.com/alltheseas",
    478         "followers_url": "https://api.github.com/users/alltheseas/followers",
    479         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    480         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    481         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    482         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    483         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    484         "repos_url": "https://api.github.com/users/alltheseas/repos",
    485         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    486         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    487         "type": "User",
    488         "site_admin": false
    489       },
    490       "labels": [
    491         {
    492           "id": 6530754378,
    493           "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg",
    494           "url": "https://api.github.com/repos/damus-io/android/labels/purple",
    495           "name": "purple",
    496           "color": "5319E7",
    497           "default": false,
    498           "description": ""
    499         }
    500       ],
    501       "state": "open",
    502       "locked": false,
    503       "assignee": null,
    504       "assignees": [],
    505       "milestone": null,
    506       "comments": 0,
    507       "created_at": "2024-04-09T17:05:51Z",
    508       "updated_at": "2024-04-09T17:05:51Z",
    509       "closed_at": null,
    510       "author_association": "CONTRIBUTOR",
    511       "active_lock_reason": null,
    512       "body": "in app subscription #17 \r\nrecurring subscription #66 \r\nwebsite sub #56 ",
    513       "reactions": {
    514         "url": "https://api.github.com/repos/damus-io/android/issues/95/reactions",
    515         "total_count": 0,
    516         "+1": 0,
    517         "-1": 0,
    518         "laugh": 0,
    519         "hooray": 0,
    520         "confused": 0,
    521         "heart": 0,
    522         "rocket": 0,
    523         "eyes": 0
    524       },
    525       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/95/timeline",
    526       "performed_via_github_app": null,
    527       "state_reason": null
    528     }
    529   },
    530   {
    531     "issue": {
    532       "url": "https://api.github.com/repos/damus-io/android/issues/94",
    533       "repository_url": "https://api.github.com/repos/damus-io/android",
    534       "labels_url": "https://api.github.com/repos/damus-io/android/issues/94/labels{/name}",
    535       "comments_url": "https://api.github.com/repos/damus-io/android/issues/94/comments",
    536       "events_url": "https://api.github.com/repos/damus-io/android/issues/94/events",
    537       "html_url": "https://github.com/damus-io/android/issues/94",
    538       "id": 2233912406,
    539       "node_id": "I_kwDOKzWMZs6FJsxW",
    540       "number": 94,
    541       "title": "log in with npub / demo mode / viewer mode",
    542       "user": {
    543         "login": "alltheseas",
    544         "id": 64376233,
    545         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    546         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    547         "gravatar_id": "",
    548         "url": "https://api.github.com/users/alltheseas",
    549         "html_url": "https://github.com/alltheseas",
    550         "followers_url": "https://api.github.com/users/alltheseas/followers",
    551         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    552         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    553         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    554         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    555         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    556         "repos_url": "https://api.github.com/users/alltheseas/repos",
    557         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    558         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    559         "type": "User",
    560         "site_admin": false
    561       },
    562       "labels": [
    563         {
    564           "id": 6264778307,
    565           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
    566           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
    567           "name": "enhancement",
    568           "color": "a2eeef",
    569           "default": true,
    570           "description": "New feature or request"
    571         }
    572       ],
    573       "state": "open",
    574       "locked": false,
    575       "assignee": null,
    576       "assignees": [],
    577       "milestone": null,
    578       "comments": 0,
    579       "created_at": "2024-04-09T17:04:35Z",
    580       "updated_at": "2024-04-09T17:04:35Z",
    581       "closed_at": null,
    582       "author_association": "CONTRIBUTOR",
    583       "active_lock_reason": null,
    584       "body": "See https://github.com/damus-io/damus/issues/1153",
    585       "reactions": {
    586         "url": "https://api.github.com/repos/damus-io/android/issues/94/reactions",
    587         "total_count": 0,
    588         "+1": 0,
    589         "-1": 0,
    590         "laugh": 0,
    591         "hooray": 0,
    592         "confused": 0,
    593         "heart": 0,
    594         "rocket": 0,
    595         "eyes": 0
    596       },
    597       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/94/timeline",
    598       "performed_via_github_app": null,
    599       "state_reason": null
    600     }
    601   },
    602   {
    603     "issue": {
    604       "url": "https://api.github.com/repos/damus-io/android/issues/93",
    605       "repository_url": "https://api.github.com/repos/damus-io/android",
    606       "labels_url": "https://api.github.com/repos/damus-io/android/issues/93/labels{/name}",
    607       "comments_url": "https://api.github.com/repos/damus-io/android/issues/93/comments",
    608       "events_url": "https://api.github.com/repos/damus-io/android/issues/93/events",
    609       "html_url": "https://github.com/damus-io/android/issues/93",
    610       "id": 2233909841,
    611       "node_id": "I_kwDOKzWMZs6FJsJR",
    612       "number": 93,
    613       "title": "Show me my nsec ",
    614       "user": {
    615         "login": "alltheseas",
    616         "id": 64376233,
    617         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    618         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    619         "gravatar_id": "",
    620         "url": "https://api.github.com/users/alltheseas",
    621         "html_url": "https://github.com/alltheseas",
    622         "followers_url": "https://api.github.com/users/alltheseas/followers",
    623         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    624         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    625         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    626         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    627         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    628         "repos_url": "https://api.github.com/users/alltheseas/repos",
    629         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    630         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    631         "type": "User",
    632         "site_admin": false
    633       },
    634       "labels": [
    635         {
    636           "id": 6264778307,
    637           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
    638           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
    639           "name": "enhancement",
    640           "color": "a2eeef",
    641           "default": true,
    642           "description": "New feature or request"
    643         }
    644       ],
    645       "state": "open",
    646       "locked": false,
    647       "assignee": null,
    648       "assignees": [],
    649       "milestone": {
    650         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
    651         "html_url": "https://github.com/damus-io/android/milestone/1",
    652         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
    653         "id": 10252427,
    654         "node_id": "MI_kwDOKzWMZs4AnHCL",
    655         "number": 1,
    656         "title": "0.1 Android PRAGUE",
    657         "description": "",
    658         "creator": {
    659           "login": "alltheseas",
    660           "id": 64376233,
    661           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    662           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    663           "gravatar_id": "",
    664           "url": "https://api.github.com/users/alltheseas",
    665           "html_url": "https://github.com/alltheseas",
    666           "followers_url": "https://api.github.com/users/alltheseas/followers",
    667           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    668           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    669           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    670           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    671           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    672           "repos_url": "https://api.github.com/users/alltheseas/repos",
    673           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    674           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    675           "type": "User",
    676           "site_admin": false
    677         },
    678         "open_issues": 22,
    679         "closed_issues": 3,
    680         "state": "open",
    681         "created_at": "2023-11-30T19:39:43Z",
    682         "updated_at": "2024-04-09T19:49:56Z",
    683         "due_on": "2024-06-12T07:00:00Z",
    684         "closed_at": null
    685       },
    686       "comments": 0,
    687       "created_at": "2024-04-09T17:03:36Z",
    688       "updated_at": "2024-04-09T17:03:36Z",
    689       "closed_at": null,
    690       "author_association": "CONTRIBUTOR",
    691       "active_lock_reason": null,
    692       "body": "### related\r\n\r\nsettings menu #92 ",
    693       "reactions": {
    694         "url": "https://api.github.com/repos/damus-io/android/issues/93/reactions",
    695         "total_count": 0,
    696         "+1": 0,
    697         "-1": 0,
    698         "laugh": 0,
    699         "hooray": 0,
    700         "confused": 0,
    701         "heart": 0,
    702         "rocket": 0,
    703         "eyes": 0
    704       },
    705       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/93/timeline",
    706       "performed_via_github_app": null,
    707       "state_reason": null
    708     }
    709   },
    710   {
    711     "issue": {
    712       "url": "https://api.github.com/repos/damus-io/android/issues/92",
    713       "repository_url": "https://api.github.com/repos/damus-io/android",
    714       "labels_url": "https://api.github.com/repos/damus-io/android/issues/92/labels{/name}",
    715       "comments_url": "https://api.github.com/repos/damus-io/android/issues/92/comments",
    716       "events_url": "https://api.github.com/repos/damus-io/android/issues/92/events",
    717       "html_url": "https://github.com/damus-io/android/issues/92",
    718       "id": 2233908470,
    719       "node_id": "I_kwDOKzWMZs6FJrz2",
    720       "number": 92,
    721       "title": "settings menu",
    722       "user": {
    723         "login": "alltheseas",
    724         "id": 64376233,
    725         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    726         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    727         "gravatar_id": "",
    728         "url": "https://api.github.com/users/alltheseas",
    729         "html_url": "https://github.com/alltheseas",
    730         "followers_url": "https://api.github.com/users/alltheseas/followers",
    731         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    732         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    733         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    734         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    735         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    736         "repos_url": "https://api.github.com/users/alltheseas/repos",
    737         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    738         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    739         "type": "User",
    740         "site_admin": false
    741       },
    742       "labels": [
    743         {
    744           "id": 6264778307,
    745           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
    746           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
    747           "name": "enhancement",
    748           "color": "a2eeef",
    749           "default": true,
    750           "description": "New feature or request"
    751         }
    752       ],
    753       "state": "open",
    754       "locked": false,
    755       "assignee": null,
    756       "assignees": [],
    757       "milestone": {
    758         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
    759         "html_url": "https://github.com/damus-io/android/milestone/1",
    760         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
    761         "id": 10252427,
    762         "node_id": "MI_kwDOKzWMZs4AnHCL",
    763         "number": 1,
    764         "title": "0.1 Android PRAGUE",
    765         "description": "",
    766         "creator": {
    767           "login": "alltheseas",
    768           "id": 64376233,
    769           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    770           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    771           "gravatar_id": "",
    772           "url": "https://api.github.com/users/alltheseas",
    773           "html_url": "https://github.com/alltheseas",
    774           "followers_url": "https://api.github.com/users/alltheseas/followers",
    775           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    776           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    777           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    778           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    779           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    780           "repos_url": "https://api.github.com/users/alltheseas/repos",
    781           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    782           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    783           "type": "User",
    784           "site_admin": false
    785         },
    786         "open_issues": 22,
    787         "closed_issues": 3,
    788         "state": "open",
    789         "created_at": "2023-11-30T19:39:43Z",
    790         "updated_at": "2024-04-09T19:49:56Z",
    791         "due_on": "2024-06-12T07:00:00Z",
    792         "closed_at": null
    793       },
    794       "comments": 0,
    795       "created_at": "2024-04-09T17:03:07Z",
    796       "updated_at": "2024-04-09T17:03:08Z",
    797       "closed_at": null,
    798       "author_association": "CONTRIBUTOR",
    799       "active_lock_reason": null,
    800       "body": "### related to\r\n\r\nnav #81 \r\nlocal notification settings #40 \r\n",
    801       "reactions": {
    802         "url": "https://api.github.com/repos/damus-io/android/issues/92/reactions",
    803         "total_count": 0,
    804         "+1": 0,
    805         "-1": 0,
    806         "laugh": 0,
    807         "hooray": 0,
    808         "confused": 0,
    809         "heart": 0,
    810         "rocket": 0,
    811         "eyes": 0
    812       },
    813       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/92/timeline",
    814       "performed_via_github_app": null,
    815       "state_reason": null
    816     }
    817   },
    818   {
    819     "issue": {
    820       "url": "https://api.github.com/repos/damus-io/android/issues/91",
    821       "repository_url": "https://api.github.com/repos/damus-io/android",
    822       "labels_url": "https://api.github.com/repos/damus-io/android/issues/91/labels{/name}",
    823       "comments_url": "https://api.github.com/repos/damus-io/android/issues/91/comments",
    824       "events_url": "https://api.github.com/repos/damus-io/android/issues/91/events",
    825       "html_url": "https://github.com/damus-io/android/issues/91",
    826       "id": 2233900184,
    827       "node_id": "I_kwDOKzWMZs6FJpyY",
    828       "number": 91,
    829       "title": "onlyzaps",
    830       "user": {
    831         "login": "alltheseas",
    832         "id": 64376233,
    833         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    834         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    835         "gravatar_id": "",
    836         "url": "https://api.github.com/users/alltheseas",
    837         "html_url": "https://github.com/alltheseas",
    838         "followers_url": "https://api.github.com/users/alltheseas/followers",
    839         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    840         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    841         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    842         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    843         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    844         "repos_url": "https://api.github.com/users/alltheseas/repos",
    845         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    846         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    847         "type": "User",
    848         "site_admin": false
    849       },
    850       "labels": [
    851         {
    852           "id": 6264778307,
    853           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
    854           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
    855           "name": "enhancement",
    856           "color": "a2eeef",
    857           "default": true,
    858           "description": "New feature or request"
    859         },
    860         {
    861           "id": 6271232904,
    862           "node_id": "LA_kwDOKzWMZs8AAAABdctriA",
    863           "url": "https://api.github.com/repos/damus-io/android/labels/zaps",
    864           "name": "zaps",
    865           "color": "fef2c0",
    866           "default": false,
    867           "description": ""
    868         }
    869       ],
    870       "state": "open",
    871       "locked": false,
    872       "assignee": null,
    873       "assignees": [],
    874       "milestone": null,
    875       "comments": 0,
    876       "created_at": "2024-04-09T17:00:20Z",
    877       "updated_at": "2024-04-09T17:00:38Z",
    878       "closed_at": null,
    879       "author_association": "CONTRIBUTOR",
    880       "active_lock_reason": null,
    881       "body": "onlyzaps disables ability to react, and see reactions\r\n\r\n### related\r\n\r\n#90 ",
    882       "reactions": {
    883         "url": "https://api.github.com/repos/damus-io/android/issues/91/reactions",
    884         "total_count": 0,
    885         "+1": 0,
    886         "-1": 0,
    887         "laugh": 0,
    888         "hooray": 0,
    889         "confused": 0,
    890         "heart": 0,
    891         "rocket": 0,
    892         "eyes": 0
    893       },
    894       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/91/timeline",
    895       "performed_via_github_app": null,
    896       "state_reason": null
    897     }
    898   },
    899   {
    900     "issue": {
    901       "url": "https://api.github.com/repos/damus-io/android/issues/90",
    902       "repository_url": "https://api.github.com/repos/damus-io/android",
    903       "labels_url": "https://api.github.com/repos/damus-io/android/issues/90/labels{/name}",
    904       "comments_url": "https://api.github.com/repos/damus-io/android/issues/90/comments",
    905       "events_url": "https://api.github.com/repos/damus-io/android/issues/90/events",
    906       "html_url": "https://github.com/damus-io/android/issues/90",
    907       "id": 2233898842,
    908       "node_id": "I_kwDOKzWMZs6FJpda",
    909       "number": 90,
    910       "title": "reaction / heart / shaka / like",
    911       "user": {
    912         "login": "alltheseas",
    913         "id": 64376233,
    914         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    915         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    916         "gravatar_id": "",
    917         "url": "https://api.github.com/users/alltheseas",
    918         "html_url": "https://github.com/alltheseas",
    919         "followers_url": "https://api.github.com/users/alltheseas/followers",
    920         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    921         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    922         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    923         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    924         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    925         "repos_url": "https://api.github.com/users/alltheseas/repos",
    926         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    927         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
    928         "type": "User",
    929         "site_admin": false
    930       },
    931       "labels": [
    932         {
    933           "id": 6264778307,
    934           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
    935           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
    936           "name": "enhancement",
    937           "color": "a2eeef",
    938           "default": true,
    939           "description": "New feature or request"
    940         }
    941       ],
    942       "state": "open",
    943       "locked": false,
    944       "assignee": null,
    945       "assignees": [],
    946       "milestone": null,
    947       "comments": 0,
    948       "created_at": "2024-04-09T16:59:49Z",
    949       "updated_at": "2024-04-09T16:59:49Z",
    950       "closed_at": null,
    951       "author_association": "CONTRIBUTOR",
    952       "active_lock_reason": null,
    953       "body": null,
    954       "reactions": {
    955         "url": "https://api.github.com/repos/damus-io/android/issues/90/reactions",
    956         "total_count": 0,
    957         "+1": 0,
    958         "-1": 0,
    959         "laugh": 0,
    960         "hooray": 0,
    961         "confused": 0,
    962         "heart": 0,
    963         "rocket": 0,
    964         "eyes": 0
    965       },
    966       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/90/timeline",
    967       "performed_via_github_app": null,
    968       "state_reason": null
    969     }
    970   },
    971   {
    972     "issue": {
    973       "url": "https://api.github.com/repos/damus-io/android/issues/89",
    974       "repository_url": "https://api.github.com/repos/damus-io/android",
    975       "labels_url": "https://api.github.com/repos/damus-io/android/issues/89/labels{/name}",
    976       "comments_url": "https://api.github.com/repos/damus-io/android/issues/89/comments",
    977       "events_url": "https://api.github.com/repos/damus-io/android/issues/89/events",
    978       "html_url": "https://github.com/damus-io/android/issues/89",
    979       "id": 2233892910,
    980       "node_id": "I_kwDOKzWMZs6FJoAu",
    981       "number": 89,
    982       "title": "dev mode",
    983       "user": {
    984         "login": "alltheseas",
    985         "id": 64376233,
    986         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
    987         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
    988         "gravatar_id": "",
    989         "url": "https://api.github.com/users/alltheseas",
    990         "html_url": "https://github.com/alltheseas",
    991         "followers_url": "https://api.github.com/users/alltheseas/followers",
    992         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
    993         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
    994         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
    995         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
    996         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
    997         "repos_url": "https://api.github.com/users/alltheseas/repos",
    998         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
    999         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1000         "type": "User",
   1001         "site_admin": false
   1002       },
   1003       "labels": [
   1004         {
   1005           "id": 6339173748,
   1006           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   1007           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   1008           "name": "technical",
   1009           "color": "e99695",
   1010           "default": false,
   1011           "description": ""
   1012         }
   1013       ],
   1014       "state": "open",
   1015       "locked": false,
   1016       "assignee": null,
   1017       "assignees": [],
   1018       "milestone": null,
   1019       "comments": 0,
   1020       "created_at": "2024-04-09T16:56:47Z",
   1021       "updated_at": "2024-04-09T16:57:02Z",
   1022       "closed_at": null,
   1023       "author_association": "CONTRIBUTOR",
   1024       "active_lock_reason": null,
   1025       "body": "-dev mode hides nerdy, and technical things such as: relay logs, always trigger onboarding on startup, and other obscure settings\r\n-off by default",
   1026       "reactions": {
   1027         "url": "https://api.github.com/repos/damus-io/android/issues/89/reactions",
   1028         "total_count": 0,
   1029         "+1": 0,
   1030         "-1": 0,
   1031         "laugh": 0,
   1032         "hooray": 0,
   1033         "confused": 0,
   1034         "heart": 0,
   1035         "rocket": 0,
   1036         "eyes": 0
   1037       },
   1038       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/89/timeline",
   1039       "performed_via_github_app": null,
   1040       "state_reason": null
   1041     }
   1042   },
   1043   {
   1044     "issue": {
   1045       "url": "https://api.github.com/repos/damus-io/android/issues/88",
   1046       "repository_url": "https://api.github.com/repos/damus-io/android",
   1047       "labels_url": "https://api.github.com/repos/damus-io/android/issues/88/labels{/name}",
   1048       "comments_url": "https://api.github.com/repos/damus-io/android/issues/88/comments",
   1049       "events_url": "https://api.github.com/repos/damus-io/android/issues/88/events",
   1050       "html_url": "https://github.com/damus-io/android/issues/88",
   1051       "id": 2233889999,
   1052       "node_id": "I_kwDOKzWMZs6FJnTP",
   1053       "number": 88,
   1054       "title": "share profile",
   1055       "user": {
   1056         "login": "alltheseas",
   1057         "id": 64376233,
   1058         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1059         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1060         "gravatar_id": "",
   1061         "url": "https://api.github.com/users/alltheseas",
   1062         "html_url": "https://github.com/alltheseas",
   1063         "followers_url": "https://api.github.com/users/alltheseas/followers",
   1064         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1065         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1066         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1067         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1068         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1069         "repos_url": "https://api.github.com/users/alltheseas/repos",
   1070         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1071         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1072         "type": "User",
   1073         "site_admin": false
   1074       },
   1075       "labels": [
   1076         {
   1077           "id": 6802506069,
   1078           "node_id": "LA_kwDOKzWMZs8AAAABlXYBVQ",
   1079           "url": "https://api.github.com/repos/damus-io/android/labels/search",
   1080           "name": "search",
   1081           "color": "B9301C",
   1082           "default": false,
   1083           "description": ""
   1084         }
   1085       ],
   1086       "state": "open",
   1087       "locked": false,
   1088       "assignee": null,
   1089       "assignees": [],
   1090       "milestone": null,
   1091       "comments": 0,
   1092       "created_at": "2024-04-09T16:55:04Z",
   1093       "updated_at": "2024-04-09T16:55:04Z",
   1094       "closed_at": null,
   1095       "author_association": "CONTRIBUTOR",
   1096       "active_lock_reason": null,
   1097       "body": "### related to\r\n\r\n#25 ",
   1098       "reactions": {
   1099         "url": "https://api.github.com/repos/damus-io/android/issues/88/reactions",
   1100         "total_count": 0,
   1101         "+1": 0,
   1102         "-1": 0,
   1103         "laugh": 0,
   1104         "hooray": 0,
   1105         "confused": 0,
   1106         "heart": 0,
   1107         "rocket": 0,
   1108         "eyes": 0
   1109       },
   1110       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/88/timeline",
   1111       "performed_via_github_app": null,
   1112       "state_reason": null
   1113     }
   1114   },
   1115   {
   1116     "issue": {
   1117       "url": "https://api.github.com/repos/damus-io/android/issues/87",
   1118       "repository_url": "https://api.github.com/repos/damus-io/android",
   1119       "labels_url": "https://api.github.com/repos/damus-io/android/issues/87/labels{/name}",
   1120       "comments_url": "https://api.github.com/repos/damus-io/android/issues/87/comments",
   1121       "events_url": "https://api.github.com/repos/damus-io/android/issues/87/events",
   1122       "html_url": "https://github.com/damus-io/android/issues/87",
   1123       "id": 2233885968,
   1124       "node_id": "I_kwDOKzWMZs6FJmUQ",
   1125       "number": 87,
   1126       "title": "prevent public paste of nsec",
   1127       "user": {
   1128         "login": "alltheseas",
   1129         "id": 64376233,
   1130         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1131         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1132         "gravatar_id": "",
   1133         "url": "https://api.github.com/users/alltheseas",
   1134         "html_url": "https://github.com/alltheseas",
   1135         "followers_url": "https://api.github.com/users/alltheseas/followers",
   1136         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1137         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1138         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1139         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1140         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1141         "repos_url": "https://api.github.com/users/alltheseas/repos",
   1142         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1143         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1144         "type": "User",
   1145         "site_admin": false
   1146       },
   1147       "labels": [
   1148         {
   1149           "id": 6264778307,
   1150           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   1151           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   1152           "name": "enhancement",
   1153           "color": "a2eeef",
   1154           "default": true,
   1155           "description": "New feature or request"
   1156         }
   1157       ],
   1158       "state": "open",
   1159       "locked": false,
   1160       "assignee": null,
   1161       "assignees": [],
   1162       "milestone": null,
   1163       "comments": 0,
   1164       "created_at": "2024-04-09T16:52:39Z",
   1165       "updated_at": "2024-04-09T16:52:45Z",
   1166       "closed_at": null,
   1167       "author_association": "CONTRIBUTOR",
   1168       "active_lock_reason": null,
   1169       "body": "## user story\r\n\r\nAs a Damus android user, I would like Damus to guardrail me from pasting my nsec (instead of my npub) by accident, so that I don't inadvertently share my keys with everyone on nostr. \r\n\r\n### acceptance criteria\r\n\r\n1. Damus detects if user pastes nsec123 in their note\r\n2. If nsec is detected, replace instead with npub",
   1170       "reactions": {
   1171         "url": "https://api.github.com/repos/damus-io/android/issues/87/reactions",
   1172         "total_count": 0,
   1173         "+1": 0,
   1174         "-1": 0,
   1175         "laugh": 0,
   1176         "hooray": 0,
   1177         "confused": 0,
   1178         "heart": 0,
   1179         "rocket": 0,
   1180         "eyes": 0
   1181       },
   1182       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/87/timeline",
   1183       "performed_via_github_app": null,
   1184       "state_reason": null
   1185     }
   1186   },
   1187   {
   1188     "issue": {
   1189       "url": "https://api.github.com/repos/damus-io/android/issues/86",
   1190       "repository_url": "https://api.github.com/repos/damus-io/android",
   1191       "labels_url": "https://api.github.com/repos/damus-io/android/issues/86/labels{/name}",
   1192       "comments_url": "https://api.github.com/repos/damus-io/android/issues/86/comments",
   1193       "events_url": "https://api.github.com/repos/damus-io/android/issues/86/events",
   1194       "html_url": "https://github.com/damus-io/android/issues/86",
   1195       "id": 2233880991,
   1196       "node_id": "I_kwDOKzWMZs6FJlGf",
   1197       "number": 86,
   1198       "title": "search for noteID",
   1199       "user": {
   1200         "login": "alltheseas",
   1201         "id": 64376233,
   1202         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1203         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1204         "gravatar_id": "",
   1205         "url": "https://api.github.com/users/alltheseas",
   1206         "html_url": "https://github.com/alltheseas",
   1207         "followers_url": "https://api.github.com/users/alltheseas/followers",
   1208         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1209         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1210         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1211         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1212         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1213         "repos_url": "https://api.github.com/users/alltheseas/repos",
   1214         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1215         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1216         "type": "User",
   1217         "site_admin": false
   1218       },
   1219       "labels": [
   1220         {
   1221           "id": 6802506069,
   1222           "node_id": "LA_kwDOKzWMZs8AAAABlXYBVQ",
   1223           "url": "https://api.github.com/repos/damus-io/android/labels/search",
   1224           "name": "search",
   1225           "color": "B9301C",
   1226           "default": false,
   1227           "description": ""
   1228         }
   1229       ],
   1230       "state": "open",
   1231       "locked": false,
   1232       "assignee": null,
   1233       "assignees": [],
   1234       "milestone": {
   1235         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   1236         "html_url": "https://github.com/damus-io/android/milestone/1",
   1237         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   1238         "id": 10252427,
   1239         "node_id": "MI_kwDOKzWMZs4AnHCL",
   1240         "number": 1,
   1241         "title": "0.1 Android PRAGUE",
   1242         "description": "",
   1243         "creator": {
   1244           "login": "alltheseas",
   1245           "id": 64376233,
   1246           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1247           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1248           "gravatar_id": "",
   1249           "url": "https://api.github.com/users/alltheseas",
   1250           "html_url": "https://github.com/alltheseas",
   1251           "followers_url": "https://api.github.com/users/alltheseas/followers",
   1252           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1253           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1254           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1255           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1256           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1257           "repos_url": "https://api.github.com/users/alltheseas/repos",
   1258           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1259           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1260           "type": "User",
   1261           "site_admin": false
   1262         },
   1263         "open_issues": 22,
   1264         "closed_issues": 3,
   1265         "state": "open",
   1266         "created_at": "2023-11-30T19:39:43Z",
   1267         "updated_at": "2024-04-09T19:49:56Z",
   1268         "due_on": "2024-06-12T07:00:00Z",
   1269         "closed_at": null
   1270       },
   1271       "comments": 0,
   1272       "created_at": "2024-04-09T16:49:32Z",
   1273       "updated_at": "2024-04-09T16:51:02Z",
   1274       "closed_at": null,
   1275       "author_association": "CONTRIBUTOR",
   1276       "active_lock_reason": null,
   1277       "body": null,
   1278       "reactions": {
   1279         "url": "https://api.github.com/repos/damus-io/android/issues/86/reactions",
   1280         "total_count": 0,
   1281         "+1": 0,
   1282         "-1": 0,
   1283         "laugh": 0,
   1284         "hooray": 0,
   1285         "confused": 0,
   1286         "heart": 0,
   1287         "rocket": 0,
   1288         "eyes": 0
   1289       },
   1290       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/86/timeline",
   1291       "performed_via_github_app": null,
   1292       "state_reason": null
   1293     }
   1294   },
   1295   {
   1296     "issue": {
   1297       "url": "https://api.github.com/repos/damus-io/android/issues/85",
   1298       "repository_url": "https://api.github.com/repos/damus-io/android",
   1299       "labels_url": "https://api.github.com/repos/damus-io/android/issues/85/labels{/name}",
   1300       "comments_url": "https://api.github.com/repos/damus-io/android/issues/85/comments",
   1301       "events_url": "https://api.github.com/repos/damus-io/android/issues/85/events",
   1302       "html_url": "https://github.com/damus-io/android/issues/85",
   1303       "id": 2233865233,
   1304       "node_id": "I_kwDOKzWMZs6FJhQR",
   1305       "number": 85,
   1306       "title": "search for hashtag",
   1307       "user": {
   1308         "login": "alltheseas",
   1309         "id": 64376233,
   1310         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1311         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1312         "gravatar_id": "",
   1313         "url": "https://api.github.com/users/alltheseas",
   1314         "html_url": "https://github.com/alltheseas",
   1315         "followers_url": "https://api.github.com/users/alltheseas/followers",
   1316         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1317         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1318         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1319         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1320         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1321         "repos_url": "https://api.github.com/users/alltheseas/repos",
   1322         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1323         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1324         "type": "User",
   1325         "site_admin": false
   1326       },
   1327       "labels": [
   1328         {
   1329           "id": 6802506069,
   1330           "node_id": "LA_kwDOKzWMZs8AAAABlXYBVQ",
   1331           "url": "https://api.github.com/repos/damus-io/android/labels/search",
   1332           "name": "search",
   1333           "color": "B9301C",
   1334           "default": false,
   1335           "description": ""
   1336         },
   1337         {
   1338           "id": 6802511553,
   1339           "node_id": "LA_kwDOKzWMZs8AAAABlXYWwQ",
   1340           "url": "https://api.github.com/repos/damus-io/android/labels/hashtag",
   1341           "name": "hashtag",
   1342           "color": "F9662C",
   1343           "default": false,
   1344           "description": ""
   1345         }
   1346       ],
   1347       "state": "open",
   1348       "locked": false,
   1349       "assignee": null,
   1350       "assignees": [],
   1351       "milestone": null,
   1352       "comments": 0,
   1353       "created_at": "2024-04-09T16:41:22Z",
   1354       "updated_at": "2024-04-09T16:41:22Z",
   1355       "closed_at": null,
   1356       "author_association": "CONTRIBUTOR",
   1357       "active_lock_reason": null,
   1358       "body": null,
   1359       "reactions": {
   1360         "url": "https://api.github.com/repos/damus-io/android/issues/85/reactions",
   1361         "total_count": 0,
   1362         "+1": 0,
   1363         "-1": 0,
   1364         "laugh": 0,
   1365         "hooray": 0,
   1366         "confused": 0,
   1367         "heart": 0,
   1368         "rocket": 0,
   1369         "eyes": 0
   1370       },
   1371       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/85/timeline",
   1372       "performed_via_github_app": null,
   1373       "state_reason": null
   1374     }
   1375   },
   1376   {
   1377     "issue": {
   1378       "url": "https://api.github.com/repos/damus-io/android/issues/84",
   1379       "repository_url": "https://api.github.com/repos/damus-io/android",
   1380       "labels_url": "https://api.github.com/repos/damus-io/android/issues/84/labels{/name}",
   1381       "comments_url": "https://api.github.com/repos/damus-io/android/issues/84/comments",
   1382       "events_url": "https://api.github.com/repos/damus-io/android/issues/84/events",
   1383       "html_url": "https://github.com/damus-io/android/issues/84",
   1384       "id": 2233864403,
   1385       "node_id": "I_kwDOKzWMZs6FJhDT",
   1386       "number": 84,
   1387       "title": "search for phrase (more than one keyword)",
   1388       "user": {
   1389         "login": "alltheseas",
   1390         "id": 64376233,
   1391         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1392         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1393         "gravatar_id": "",
   1394         "url": "https://api.github.com/users/alltheseas",
   1395         "html_url": "https://github.com/alltheseas",
   1396         "followers_url": "https://api.github.com/users/alltheseas/followers",
   1397         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1398         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1399         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1400         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1401         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1402         "repos_url": "https://api.github.com/users/alltheseas/repos",
   1403         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1404         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1405         "type": "User",
   1406         "site_admin": false
   1407       },
   1408       "labels": [
   1409         {
   1410           "id": 6802506069,
   1411           "node_id": "LA_kwDOKzWMZs8AAAABlXYBVQ",
   1412           "url": "https://api.github.com/repos/damus-io/android/labels/search",
   1413           "name": "search",
   1414           "color": "B9301C",
   1415           "default": false,
   1416           "description": ""
   1417         }
   1418       ],
   1419       "state": "open",
   1420       "locked": false,
   1421       "assignee": null,
   1422       "assignees": [],
   1423       "milestone": null,
   1424       "comments": 0,
   1425       "created_at": "2024-04-09T16:40:49Z",
   1426       "updated_at": "2024-04-09T16:40:49Z",
   1427       "closed_at": null,
   1428       "author_association": "CONTRIBUTOR",
   1429       "active_lock_reason": null,
   1430       "body": null,
   1431       "reactions": {
   1432         "url": "https://api.github.com/repos/damus-io/android/issues/84/reactions",
   1433         "total_count": 0,
   1434         "+1": 0,
   1435         "-1": 0,
   1436         "laugh": 0,
   1437         "hooray": 0,
   1438         "confused": 0,
   1439         "heart": 0,
   1440         "rocket": 0,
   1441         "eyes": 0
   1442       },
   1443       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/84/timeline",
   1444       "performed_via_github_app": null,
   1445       "state_reason": null
   1446     }
   1447   },
   1448   {
   1449     "issue": {
   1450       "url": "https://api.github.com/repos/damus-io/android/issues/83",
   1451       "repository_url": "https://api.github.com/repos/damus-io/android",
   1452       "labels_url": "https://api.github.com/repos/damus-io/android/issues/83/labels{/name}",
   1453       "comments_url": "https://api.github.com/repos/damus-io/android/issues/83/comments",
   1454       "events_url": "https://api.github.com/repos/damus-io/android/issues/83/events",
   1455       "html_url": "https://github.com/damus-io/android/issues/83",
   1456       "id": 2233863783,
   1457       "node_id": "I_kwDOKzWMZs6FJg5n",
   1458       "number": 83,
   1459       "title": "search for single keyword",
   1460       "user": {
   1461         "login": "alltheseas",
   1462         "id": 64376233,
   1463         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1464         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1465         "gravatar_id": "",
   1466         "url": "https://api.github.com/users/alltheseas",
   1467         "html_url": "https://github.com/alltheseas",
   1468         "followers_url": "https://api.github.com/users/alltheseas/followers",
   1469         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1470         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1471         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1472         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1473         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1474         "repos_url": "https://api.github.com/users/alltheseas/repos",
   1475         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1476         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1477         "type": "User",
   1478         "site_admin": false
   1479       },
   1480       "labels": [
   1481         {
   1482           "id": 6802506069,
   1483           "node_id": "LA_kwDOKzWMZs8AAAABlXYBVQ",
   1484           "url": "https://api.github.com/repos/damus-io/android/labels/search",
   1485           "name": "search",
   1486           "color": "B9301C",
   1487           "default": false,
   1488           "description": ""
   1489         }
   1490       ],
   1491       "state": "open",
   1492       "locked": false,
   1493       "assignee": null,
   1494       "assignees": [],
   1495       "milestone": null,
   1496       "comments": 0,
   1497       "created_at": "2024-04-09T16:40:26Z",
   1498       "updated_at": "2024-04-09T16:40:27Z",
   1499       "closed_at": null,
   1500       "author_association": "CONTRIBUTOR",
   1501       "active_lock_reason": null,
   1502       "body": null,
   1503       "reactions": {
   1504         "url": "https://api.github.com/repos/damus-io/android/issues/83/reactions",
   1505         "total_count": 0,
   1506         "+1": 0,
   1507         "-1": 0,
   1508         "laugh": 0,
   1509         "hooray": 0,
   1510         "confused": 0,
   1511         "heart": 0,
   1512         "rocket": 0,
   1513         "eyes": 0
   1514       },
   1515       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/83/timeline",
   1516       "performed_via_github_app": null,
   1517       "state_reason": null
   1518     }
   1519   },
   1520   {
   1521     "issue": {
   1522       "url": "https://api.github.com/repos/damus-io/android/issues/82",
   1523       "repository_url": "https://api.github.com/repos/damus-io/android",
   1524       "labels_url": "https://api.github.com/repos/damus-io/android/issues/82/labels{/name}",
   1525       "comments_url": "https://api.github.com/repos/damus-io/android/issues/82/comments",
   1526       "events_url": "https://api.github.com/repos/damus-io/android/issues/82/events",
   1527       "html_url": "https://github.com/damus-io/android/issues/82",
   1528       "id": 2233863408,
   1529       "node_id": "I_kwDOKzWMZs6FJgzw",
   1530       "number": 82,
   1531       "title": "search for nevent",
   1532       "user": {
   1533         "login": "alltheseas",
   1534         "id": 64376233,
   1535         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1536         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1537         "gravatar_id": "",
   1538         "url": "https://api.github.com/users/alltheseas",
   1539         "html_url": "https://github.com/alltheseas",
   1540         "followers_url": "https://api.github.com/users/alltheseas/followers",
   1541         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1542         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1543         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1544         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1545         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1546         "repos_url": "https://api.github.com/users/alltheseas/repos",
   1547         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1548         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1549         "type": "User",
   1550         "site_admin": false
   1551       },
   1552       "labels": [
   1553         {
   1554           "id": 6802506069,
   1555           "node_id": "LA_kwDOKzWMZs8AAAABlXYBVQ",
   1556           "url": "https://api.github.com/repos/damus-io/android/labels/search",
   1557           "name": "search",
   1558           "color": "B9301C",
   1559           "default": false,
   1560           "description": ""
   1561         }
   1562       ],
   1563       "state": "open",
   1564       "locked": false,
   1565       "assignee": null,
   1566       "assignees": [],
   1567       "milestone": null,
   1568       "comments": 0,
   1569       "created_at": "2024-04-09T16:40:12Z",
   1570       "updated_at": "2024-04-09T16:40:12Z",
   1571       "closed_at": null,
   1572       "author_association": "CONTRIBUTOR",
   1573       "active_lock_reason": null,
   1574       "body": null,
   1575       "reactions": {
   1576         "url": "https://api.github.com/repos/damus-io/android/issues/82/reactions",
   1577         "total_count": 0,
   1578         "+1": 0,
   1579         "-1": 0,
   1580         "laugh": 0,
   1581         "hooray": 0,
   1582         "confused": 0,
   1583         "heart": 0,
   1584         "rocket": 0,
   1585         "eyes": 0
   1586       },
   1587       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/82/timeline",
   1588       "performed_via_github_app": null,
   1589       "state_reason": null
   1590     }
   1591   },
   1592   {
   1593     "issue": {
   1594       "url": "https://api.github.com/repos/damus-io/android/issues/81",
   1595       "repository_url": "https://api.github.com/repos/damus-io/android",
   1596       "labels_url": "https://api.github.com/repos/damus-io/android/issues/81/labels{/name}",
   1597       "comments_url": "https://api.github.com/repos/damus-io/android/issues/81/comments",
   1598       "events_url": "https://api.github.com/repos/damus-io/android/issues/81/events",
   1599       "html_url": "https://github.com/damus-io/android/issues/81",
   1600       "id": 2232135986,
   1601       "node_id": "I_kwDOKzWMZs6FC7Ey",
   1602       "number": 81,
   1603       "title": "Navigation",
   1604       "user": {
   1605         "login": "jb55",
   1606         "id": 45598,
   1607         "node_id": "MDQ6VXNlcjQ1NTk4",
   1608         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   1609         "gravatar_id": "",
   1610         "url": "https://api.github.com/users/jb55",
   1611         "html_url": "https://github.com/jb55",
   1612         "followers_url": "https://api.github.com/users/jb55/followers",
   1613         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   1614         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   1615         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   1616         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   1617         "organizations_url": "https://api.github.com/users/jb55/orgs",
   1618         "repos_url": "https://api.github.com/users/jb55/repos",
   1619         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   1620         "received_events_url": "https://api.github.com/users/jb55/received_events",
   1621         "type": "User",
   1622         "site_admin": false
   1623       },
   1624       "labels": [
   1625         {
   1626           "id": 6752517308,
   1627           "node_id": "LA_kwDOKzWMZs8AAAABkns8vA",
   1628           "url": "https://api.github.com/repos/damus-io/android/labels/ui",
   1629           "name": "ui",
   1630           "color": "f9d0c4",
   1631           "default": false,
   1632           "description": "ui"
   1633         }
   1634       ],
   1635       "state": "open",
   1636       "locked": false,
   1637       "assignee": null,
   1638       "assignees": [],
   1639       "milestone": {
   1640         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   1641         "html_url": "https://github.com/damus-io/android/milestone/1",
   1642         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   1643         "id": 10252427,
   1644         "node_id": "MI_kwDOKzWMZs4AnHCL",
   1645         "number": 1,
   1646         "title": "0.1 Android PRAGUE",
   1647         "description": "",
   1648         "creator": {
   1649           "login": "alltheseas",
   1650           "id": 64376233,
   1651           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1652           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1653           "gravatar_id": "",
   1654           "url": "https://api.github.com/users/alltheseas",
   1655           "html_url": "https://github.com/alltheseas",
   1656           "followers_url": "https://api.github.com/users/alltheseas/followers",
   1657           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1658           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1659           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1660           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1661           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1662           "repos_url": "https://api.github.com/users/alltheseas/repos",
   1663           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1664           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1665           "type": "User",
   1666           "site_admin": false
   1667         },
   1668         "open_issues": 22,
   1669         "closed_issues": 3,
   1670         "state": "open",
   1671         "created_at": "2023-11-30T19:39:43Z",
   1672         "updated_at": "2024-04-09T19:49:56Z",
   1673         "due_on": "2024-06-12T07:00:00Z",
   1674         "closed_at": null
   1675       },
   1676       "comments": 0,
   1677       "created_at": "2024-04-08T21:46:42Z",
   1678       "updated_at": "2024-04-09T16:00:12Z",
   1679       "closed_at": null,
   1680       "author_association": "CONTRIBUTOR",
   1681       "active_lock_reason": null,
   1682       "body": "We need some way to do navigation on mobile",
   1683       "reactions": {
   1684         "url": "https://api.github.com/repos/damus-io/android/issues/81/reactions",
   1685         "total_count": 0,
   1686         "+1": 0,
   1687         "-1": 0,
   1688         "laugh": 0,
   1689         "hooray": 0,
   1690         "confused": 0,
   1691         "heart": 0,
   1692         "rocket": 0,
   1693         "eyes": 0
   1694       },
   1695       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/81/timeline",
   1696       "performed_via_github_app": null,
   1697       "state_reason": null
   1698     }
   1699   },
   1700   {
   1701     "issue": {
   1702       "url": "https://api.github.com/repos/damus-io/android/issues/80",
   1703       "repository_url": "https://api.github.com/repos/damus-io/android",
   1704       "labels_url": "https://api.github.com/repos/damus-io/android/issues/80/labels{/name}",
   1705       "comments_url": "https://api.github.com/repos/damus-io/android/issues/80/comments",
   1706       "events_url": "https://api.github.com/repos/damus-io/android/issues/80/events",
   1707       "html_url": "https://github.com/damus-io/android/issues/80",
   1708       "id": 2231926906,
   1709       "node_id": "I_kwDOKzWMZs6FCIB6",
   1710       "number": 80,
   1711       "title": "Update IME/soft keyboard braches for more recent versions of egui/winit",
   1712       "user": {
   1713         "login": "jb55",
   1714         "id": 45598,
   1715         "node_id": "MDQ6VXNlcjQ1NTk4",
   1716         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   1717         "gravatar_id": "",
   1718         "url": "https://api.github.com/users/jb55",
   1719         "html_url": "https://github.com/jb55",
   1720         "followers_url": "https://api.github.com/users/jb55/followers",
   1721         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   1722         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   1723         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   1724         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   1725         "organizations_url": "https://api.github.com/users/jb55/orgs",
   1726         "repos_url": "https://api.github.com/users/jb55/repos",
   1727         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   1728         "received_events_url": "https://api.github.com/users/jb55/received_events",
   1729         "type": "User",
   1730         "site_admin": false
   1731       },
   1732       "labels": [
   1733         {
   1734           "id": 6339173748,
   1735           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   1736           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   1737           "name": "technical",
   1738           "color": "e99695",
   1739           "default": false,
   1740           "description": ""
   1741         },
   1742         {
   1743           "id": 6752517308,
   1744           "node_id": "LA_kwDOKzWMZs8AAAABkns8vA",
   1745           "url": "https://api.github.com/repos/damus-io/android/labels/ui",
   1746           "name": "ui",
   1747           "color": "f9d0c4",
   1748           "default": false,
   1749           "description": "ui"
   1750         }
   1751       ],
   1752       "state": "open",
   1753       "locked": false,
   1754       "assignee": null,
   1755       "assignees": [],
   1756       "milestone": {
   1757         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   1758         "html_url": "https://github.com/damus-io/android/milestone/1",
   1759         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   1760         "id": 10252427,
   1761         "node_id": "MI_kwDOKzWMZs4AnHCL",
   1762         "number": 1,
   1763         "title": "0.1 Android PRAGUE",
   1764         "description": "",
   1765         "creator": {
   1766           "login": "alltheseas",
   1767           "id": 64376233,
   1768           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1769           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1770           "gravatar_id": "",
   1771           "url": "https://api.github.com/users/alltheseas",
   1772           "html_url": "https://github.com/alltheseas",
   1773           "followers_url": "https://api.github.com/users/alltheseas/followers",
   1774           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1775           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1776           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1777           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1778           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1779           "repos_url": "https://api.github.com/users/alltheseas/repos",
   1780           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1781           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1782           "type": "User",
   1783           "site_admin": false
   1784         },
   1785         "open_issues": 22,
   1786         "closed_issues": 3,
   1787         "state": "open",
   1788         "created_at": "2023-11-30T19:39:43Z",
   1789         "updated_at": "2024-04-09T19:49:56Z",
   1790         "due_on": "2024-06-12T07:00:00Z",
   1791         "closed_at": null
   1792       },
   1793       "comments": 0,
   1794       "created_at": "2024-04-08T19:21:09Z",
   1795       "updated_at": "2024-04-09T19:49:24Z",
   1796       "closed_at": null,
   1797       "author_association": "CONTRIBUTOR",
   1798       "active_lock_reason": null,
   1799       "body": "In \r\n\r\n- https://github.com/damus-io/android/issues/74\r\n\r\nWe are using a fairly old builds of egui/winit (v0.22)\r\n\r\nLucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's first try to update agdk-eframe demo to latest IME branches from lucas:\r\n\r\n- [ ] https://github.com/damus-io/android/issues/77\r\n\r\nAfter that, we should really try to update the ime branches for 0.27 or master:\r\n\r\n- [ ] https://github.com/damus-io/android/issues/78\r\n\r\nwhen we get here, we should try to get those working on the demo again:\r\n\r\n- [ ] https://github.com/damus-io/android/issues/79\r\n\r\nOnce this is done we can look into using them in damus-android",
   1800       "reactions": {
   1801         "url": "https://api.github.com/repos/damus-io/android/issues/80/reactions",
   1802         "total_count": 0,
   1803         "+1": 0,
   1804         "-1": 0,
   1805         "laugh": 0,
   1806         "hooray": 0,
   1807         "confused": 0,
   1808         "heart": 0,
   1809         "rocket": 0,
   1810         "eyes": 0
   1811       },
   1812       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/80/timeline",
   1813       "performed_via_github_app": null,
   1814       "state_reason": null
   1815     }
   1816   },
   1817   {
   1818     "issue": {
   1819       "url": "https://api.github.com/repos/damus-io/android/issues/79",
   1820       "repository_url": "https://api.github.com/repos/damus-io/android",
   1821       "labels_url": "https://api.github.com/repos/damus-io/android/issues/79/labels{/name}",
   1822       "comments_url": "https://api.github.com/repos/damus-io/android/issues/79/comments",
   1823       "events_url": "https://api.github.com/repos/damus-io/android/issues/79/events",
   1824       "html_url": "https://github.com/damus-io/android/issues/79",
   1825       "id": 2231925503,
   1826       "node_id": "I_kwDOKzWMZs6FCHr_",
   1827       "number": 79,
   1828       "title": "Get rebased IME/keyboard branches working on agdk-eframe",
   1829       "user": {
   1830         "login": "jb55",
   1831         "id": 45598,
   1832         "node_id": "MDQ6VXNlcjQ1NTk4",
   1833         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   1834         "gravatar_id": "",
   1835         "url": "https://api.github.com/users/jb55",
   1836         "html_url": "https://github.com/jb55",
   1837         "followers_url": "https://api.github.com/users/jb55/followers",
   1838         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   1839         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   1840         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   1841         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   1842         "organizations_url": "https://api.github.com/users/jb55/orgs",
   1843         "repos_url": "https://api.github.com/users/jb55/repos",
   1844         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   1845         "received_events_url": "https://api.github.com/users/jb55/received_events",
   1846         "type": "User",
   1847         "site_admin": false
   1848       },
   1849       "labels": [
   1850         {
   1851           "id": 6339173748,
   1852           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   1853           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   1854           "name": "technical",
   1855           "color": "e99695",
   1856           "default": false,
   1857           "description": ""
   1858         }
   1859       ],
   1860       "state": "open",
   1861       "locked": false,
   1862       "assignee": null,
   1863       "assignees": [],
   1864       "milestone": {
   1865         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   1866         "html_url": "https://github.com/damus-io/android/milestone/1",
   1867         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   1868         "id": 10252427,
   1869         "node_id": "MI_kwDOKzWMZs4AnHCL",
   1870         "number": 1,
   1871         "title": "0.1 Android PRAGUE",
   1872         "description": "",
   1873         "creator": {
   1874           "login": "alltheseas",
   1875           "id": 64376233,
   1876           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   1877           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   1878           "gravatar_id": "",
   1879           "url": "https://api.github.com/users/alltheseas",
   1880           "html_url": "https://github.com/alltheseas",
   1881           "followers_url": "https://api.github.com/users/alltheseas/followers",
   1882           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   1883           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   1884           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   1885           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   1886           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   1887           "repos_url": "https://api.github.com/users/alltheseas/repos",
   1888           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   1889           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   1890           "type": "User",
   1891           "site_admin": false
   1892         },
   1893         "open_issues": 22,
   1894         "closed_issues": 3,
   1895         "state": "open",
   1896         "created_at": "2023-11-30T19:39:43Z",
   1897         "updated_at": "2024-04-09T19:49:56Z",
   1898         "due_on": "2024-06-12T07:00:00Z",
   1899         "closed_at": null
   1900       },
   1901       "comments": 0,
   1902       "created_at": "2024-04-08T19:20:06Z",
   1903       "updated_at": "2024-04-09T19:49:45Z",
   1904       "closed_at": null,
   1905       "author_association": "CONTRIBUTOR",
   1906       "active_lock_reason": null,
   1907       "body": "See \r\n\r\n- https://github.com/damus-io/android/issues/80\r\n\r\nfor the gameplan here",
   1908       "reactions": {
   1909         "url": "https://api.github.com/repos/damus-io/android/issues/79/reactions",
   1910         "total_count": 0,
   1911         "+1": 0,
   1912         "-1": 0,
   1913         "laugh": 0,
   1914         "hooray": 0,
   1915         "confused": 0,
   1916         "heart": 0,
   1917         "rocket": 0,
   1918         "eyes": 0
   1919       },
   1920       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/79/timeline",
   1921       "performed_via_github_app": null,
   1922       "state_reason": null
   1923     }
   1924   },
   1925   {
   1926     "issue": {
   1927       "url": "https://api.github.com/repos/damus-io/android/issues/78",
   1928       "repository_url": "https://api.github.com/repos/damus-io/android",
   1929       "labels_url": "https://api.github.com/repos/damus-io/android/issues/78/labels{/name}",
   1930       "comments_url": "https://api.github.com/repos/damus-io/android/issues/78/comments",
   1931       "events_url": "https://api.github.com/repos/damus-io/android/issues/78/events",
   1932       "html_url": "https://github.com/damus-io/android/issues/78",
   1933       "id": 2231924484,
   1934       "node_id": "I_kwDOKzWMZs6FCHcE",
   1935       "number": 78,
   1936       "title": "Rebase IME/keyboard egui/winit branches onto master",
   1937       "user": {
   1938         "login": "jb55",
   1939         "id": 45598,
   1940         "node_id": "MDQ6VXNlcjQ1NTk4",
   1941         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   1942         "gravatar_id": "",
   1943         "url": "https://api.github.com/users/jb55",
   1944         "html_url": "https://github.com/jb55",
   1945         "followers_url": "https://api.github.com/users/jb55/followers",
   1946         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   1947         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   1948         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   1949         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   1950         "organizations_url": "https://api.github.com/users/jb55/orgs",
   1951         "repos_url": "https://api.github.com/users/jb55/repos",
   1952         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   1953         "received_events_url": "https://api.github.com/users/jb55/received_events",
   1954         "type": "User",
   1955         "site_admin": false
   1956       },
   1957       "labels": [],
   1958       "state": "open",
   1959       "locked": false,
   1960       "assignee": {
   1961         "login": "jb55",
   1962         "id": 45598,
   1963         "node_id": "MDQ6VXNlcjQ1NTk4",
   1964         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   1965         "gravatar_id": "",
   1966         "url": "https://api.github.com/users/jb55",
   1967         "html_url": "https://github.com/jb55",
   1968         "followers_url": "https://api.github.com/users/jb55/followers",
   1969         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   1970         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   1971         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   1972         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   1973         "organizations_url": "https://api.github.com/users/jb55/orgs",
   1974         "repos_url": "https://api.github.com/users/jb55/repos",
   1975         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   1976         "received_events_url": "https://api.github.com/users/jb55/received_events",
   1977         "type": "User",
   1978         "site_admin": false
   1979       },
   1980       "assignees": [
   1981         {
   1982           "login": "jb55",
   1983           "id": 45598,
   1984           "node_id": "MDQ6VXNlcjQ1NTk4",
   1985           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   1986           "gravatar_id": "",
   1987           "url": "https://api.github.com/users/jb55",
   1988           "html_url": "https://github.com/jb55",
   1989           "followers_url": "https://api.github.com/users/jb55/followers",
   1990           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   1991           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   1992           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   1993           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   1994           "organizations_url": "https://api.github.com/users/jb55/orgs",
   1995           "repos_url": "https://api.github.com/users/jb55/repos",
   1996           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   1997           "received_events_url": "https://api.github.com/users/jb55/received_events",
   1998           "type": "User",
   1999           "site_admin": false
   2000         }
   2001       ],
   2002       "milestone": null,
   2003       "comments": 0,
   2004       "created_at": "2024-04-08T19:19:18Z",
   2005       "updated_at": "2024-04-08T19:56:37Z",
   2006       "closed_at": null,
   2007       "author_association": "CONTRIBUTOR",
   2008       "active_lock_reason": null,
   2009       "body": "We need to bring lucas' ime changes from v0.26 up to speed with the version we are currently using (v0.27). let's try to rebase it onto v0.27 and master.\r\n\r\nThese versions of egui are probably using a different version of winit, so we'll need to update that in tandem\r\n\r\nSee\r\n\r\n- https://github.com/damus-io/android/issues/80\r\n\r\nFor the full gameplan here",
   2010       "reactions": {
   2011         "url": "https://api.github.com/repos/damus-io/android/issues/78/reactions",
   2012         "total_count": 0,
   2013         "+1": 0,
   2014         "-1": 0,
   2015         "laugh": 0,
   2016         "hooray": 0,
   2017         "confused": 0,
   2018         "heart": 0,
   2019         "rocket": 0,
   2020         "eyes": 0
   2021       },
   2022       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/78/timeline",
   2023       "performed_via_github_app": null,
   2024       "state_reason": null
   2025     }
   2026   },
   2027   {
   2028     "issue": {
   2029       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2030       "repository_url": "https://api.github.com/repos/damus-io/android",
   2031       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2032       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2033       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2034       "html_url": "https://github.com/damus-io/android/issues/77",
   2035       "id": 2231914563,
   2036       "node_id": "I_kwDOKzWMZs6FCFBD",
   2037       "number": 77,
   2038       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2039       "user": {
   2040         "login": "jb55",
   2041         "id": 45598,
   2042         "node_id": "MDQ6VXNlcjQ1NTk4",
   2043         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2044         "gravatar_id": "",
   2045         "url": "https://api.github.com/users/jb55",
   2046         "html_url": "https://github.com/jb55",
   2047         "followers_url": "https://api.github.com/users/jb55/followers",
   2048         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2049         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2050         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2051         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2052         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2053         "repos_url": "https://api.github.com/users/jb55/repos",
   2054         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2055         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2056         "type": "User",
   2057         "site_admin": false
   2058       },
   2059       "labels": [],
   2060       "state": "open",
   2061       "locked": false,
   2062       "assignee": {
   2063         "login": "jb55",
   2064         "id": 45598,
   2065         "node_id": "MDQ6VXNlcjQ1NTk4",
   2066         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2067         "gravatar_id": "",
   2068         "url": "https://api.github.com/users/jb55",
   2069         "html_url": "https://github.com/jb55",
   2070         "followers_url": "https://api.github.com/users/jb55/followers",
   2071         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2072         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2073         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2074         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2075         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2076         "repos_url": "https://api.github.com/users/jb55/repos",
   2077         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2078         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2079         "type": "User",
   2080         "site_admin": false
   2081       },
   2082       "assignees": [
   2083         {
   2084           "login": "jb55",
   2085           "id": 45598,
   2086           "node_id": "MDQ6VXNlcjQ1NTk4",
   2087           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2088           "gravatar_id": "",
   2089           "url": "https://api.github.com/users/jb55",
   2090           "html_url": "https://github.com/jb55",
   2091           "followers_url": "https://api.github.com/users/jb55/followers",
   2092           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2093           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2094           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2095           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2096           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2097           "repos_url": "https://api.github.com/users/jb55/repos",
   2098           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2099           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2100           "type": "User",
   2101           "site_admin": false
   2102         }
   2103       ],
   2104       "milestone": null,
   2105       "comments": 10,
   2106       "created_at": "2024-04-08T19:11:49Z",
   2107       "updated_at": "2024-04-09T20:20:38Z",
   2108       "closed_at": null,
   2109       "author_association": "CONTRIBUTOR",
   2110       "active_lock_reason": null,
   2111       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2112       "reactions": {
   2113         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2114         "total_count": 0,
   2115         "+1": 0,
   2116         "-1": 0,
   2117         "laugh": 0,
   2118         "hooray": 0,
   2119         "confused": 0,
   2120         "heart": 0,
   2121         "rocket": 0,
   2122         "eyes": 0
   2123       },
   2124       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2125       "performed_via_github_app": null,
   2126       "state_reason": null
   2127     }
   2128   },
   2129   {
   2130     "issue": {
   2131       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2132       "repository_url": "https://api.github.com/repos/damus-io/android",
   2133       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2134       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2135       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2136       "html_url": "https://github.com/damus-io/android/issues/77",
   2137       "id": 2231914563,
   2138       "node_id": "I_kwDOKzWMZs6FCFBD",
   2139       "number": 77,
   2140       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2141       "user": {
   2142         "login": "jb55",
   2143         "id": 45598,
   2144         "node_id": "MDQ6VXNlcjQ1NTk4",
   2145         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2146         "gravatar_id": "",
   2147         "url": "https://api.github.com/users/jb55",
   2148         "html_url": "https://github.com/jb55",
   2149         "followers_url": "https://api.github.com/users/jb55/followers",
   2150         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2151         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2152         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2153         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2154         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2155         "repos_url": "https://api.github.com/users/jb55/repos",
   2156         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2157         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2158         "type": "User",
   2159         "site_admin": false
   2160       },
   2161       "labels": [],
   2162       "state": "open",
   2163       "locked": false,
   2164       "assignee": {
   2165         "login": "jb55",
   2166         "id": 45598,
   2167         "node_id": "MDQ6VXNlcjQ1NTk4",
   2168         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2169         "gravatar_id": "",
   2170         "url": "https://api.github.com/users/jb55",
   2171         "html_url": "https://github.com/jb55",
   2172         "followers_url": "https://api.github.com/users/jb55/followers",
   2173         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2174         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2175         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2176         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2177         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2178         "repos_url": "https://api.github.com/users/jb55/repos",
   2179         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2180         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2181         "type": "User",
   2182         "site_admin": false
   2183       },
   2184       "assignees": [
   2185         {
   2186           "login": "jb55",
   2187           "id": 45598,
   2188           "node_id": "MDQ6VXNlcjQ1NTk4",
   2189           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2190           "gravatar_id": "",
   2191           "url": "https://api.github.com/users/jb55",
   2192           "html_url": "https://github.com/jb55",
   2193           "followers_url": "https://api.github.com/users/jb55/followers",
   2194           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2195           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2196           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2197           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2198           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2199           "repos_url": "https://api.github.com/users/jb55/repos",
   2200           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2201           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2202           "type": "User",
   2203           "site_admin": false
   2204         }
   2205       ],
   2206       "milestone": null,
   2207       "comments": 10,
   2208       "created_at": "2024-04-08T19:11:49Z",
   2209       "updated_at": "2024-04-09T20:20:38Z",
   2210       "closed_at": null,
   2211       "author_association": "CONTRIBUTOR",
   2212       "active_lock_reason": null,
   2213       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2214       "reactions": {
   2215         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2216         "total_count": 0,
   2217         "+1": 0,
   2218         "-1": 0,
   2219         "laugh": 0,
   2220         "hooray": 0,
   2221         "confused": 0,
   2222         "heart": 0,
   2223         "rocket": 0,
   2224         "eyes": 0
   2225       },
   2226       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2227       "performed_via_github_app": null,
   2228       "state_reason": null
   2229     },
   2230     "comment": {
   2231       "user": "jb55",
   2232       "created_at": "2024-04-08T23:36:50Z",
   2233       "updated_at": "2024-04-08T23:36:50Z",
   2234       "body": "Got v0.26.2 to compile here: https://github.com/jb55/rust-android-examples/tree/ime_0.26.2\r\n\r\nbut currently crashes on launch. Need to figure out how to debug before continuing. "
   2235     }
   2236   },
   2237   {
   2238     "issue": {
   2239       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2240       "repository_url": "https://api.github.com/repos/damus-io/android",
   2241       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2242       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2243       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2244       "html_url": "https://github.com/damus-io/android/issues/77",
   2245       "id": 2231914563,
   2246       "node_id": "I_kwDOKzWMZs6FCFBD",
   2247       "number": 77,
   2248       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2249       "user": {
   2250         "login": "jb55",
   2251         "id": 45598,
   2252         "node_id": "MDQ6VXNlcjQ1NTk4",
   2253         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2254         "gravatar_id": "",
   2255         "url": "https://api.github.com/users/jb55",
   2256         "html_url": "https://github.com/jb55",
   2257         "followers_url": "https://api.github.com/users/jb55/followers",
   2258         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2259         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2260         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2261         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2262         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2263         "repos_url": "https://api.github.com/users/jb55/repos",
   2264         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2265         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2266         "type": "User",
   2267         "site_admin": false
   2268       },
   2269       "labels": [],
   2270       "state": "open",
   2271       "locked": false,
   2272       "assignee": {
   2273         "login": "jb55",
   2274         "id": 45598,
   2275         "node_id": "MDQ6VXNlcjQ1NTk4",
   2276         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2277         "gravatar_id": "",
   2278         "url": "https://api.github.com/users/jb55",
   2279         "html_url": "https://github.com/jb55",
   2280         "followers_url": "https://api.github.com/users/jb55/followers",
   2281         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2282         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2283         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2284         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2285         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2286         "repos_url": "https://api.github.com/users/jb55/repos",
   2287         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2288         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2289         "type": "User",
   2290         "site_admin": false
   2291       },
   2292       "assignees": [
   2293         {
   2294           "login": "jb55",
   2295           "id": 45598,
   2296           "node_id": "MDQ6VXNlcjQ1NTk4",
   2297           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2298           "gravatar_id": "",
   2299           "url": "https://api.github.com/users/jb55",
   2300           "html_url": "https://github.com/jb55",
   2301           "followers_url": "https://api.github.com/users/jb55/followers",
   2302           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2303           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2304           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2305           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2306           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2307           "repos_url": "https://api.github.com/users/jb55/repos",
   2308           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2309           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2310           "type": "User",
   2311           "site_admin": false
   2312         }
   2313       ],
   2314       "milestone": null,
   2315       "comments": 10,
   2316       "created_at": "2024-04-08T19:11:49Z",
   2317       "updated_at": "2024-04-09T20:20:38Z",
   2318       "closed_at": null,
   2319       "author_association": "CONTRIBUTOR",
   2320       "active_lock_reason": null,
   2321       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2322       "reactions": {
   2323         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2324         "total_count": 0,
   2325         "+1": 0,
   2326         "-1": 0,
   2327         "laugh": 0,
   2328         "hooray": 0,
   2329         "confused": 0,
   2330         "heart": 0,
   2331         "rocket": 0,
   2332         "eyes": 0
   2333       },
   2334       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2335       "performed_via_github_app": null,
   2336       "state_reason": null
   2337     },
   2338     "comment": {
   2339       "user": "jb55",
   2340       "created_at": "2024-04-09T01:05:28Z",
   2341       "updated_at": "2024-04-09T01:05:28Z",
   2342       "body": "logcat:\r\n\r\n```\r\n04-08 18:03:09.143 11474 11474 E lfit.agdkeframe: No implementation found for long com.google.androidgamesdk.GameActivity.loadNativeCode(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, android.content.res.AssetManager, byte[]) (tried Java_com_google_androidgamesdk_GameActivity_loadNativeCode and Java_com_google_androidgamesdk_GameActivity_loadNativeCode__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Landroid_content_res_AssetManager_2_3B) - is the library loaded, e.g. System.loadLibrary?\r\n04-08 18:03:09.143 11474 11474 D AndroidRuntime: Shutting down VM\r\n--------- beginning of crash\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime: FATAL EXCEPTION: main\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime: Process: co.realfit.agdkeframe, PID: 11474\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for long com.google.androidgamesdk.GameActivity.loadNativeCode(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, android.content.res.AssetManager, byte[]) (tried Java_com_google_androidgamesdk_GameActivity_loadNativeCode and Java_com_google_androidgamesdk_GameActivity_loadNativeCode__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Landroid_content_res_AssetManager_2_3B) - is the library loaded, e.g. System.loadLibrary?\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at com.google.androidgamesdk.GameActivity.loadNativeCode(Native Method)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at com.google.androidgamesdk.GameActivity.onCreate(GameActivity.java:265)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at co.realfit.agdkeframe.MainActivity.onCreate(MainActivity.java:63)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.Activity.performCreate(Activity.java:8935)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.Activity.performCreate(Activity.java:8904)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1456)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4146)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4322)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:230)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:319)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:8893)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)\r\n04-08 18:03:09.148 11474 11474 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)\r\n04-08 18:03:09.157  1345 11513 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2\r\n04-08 18:03:09.158  1345  3073 D Debug   : low && ship && 3rdparty app crash, do not dump\r\n04-08 18:03:09.159  1345 11514 W ActivityManager: crash : co.realfit.agdkeframe,10236\r\n04-08 18:03:09.159  1345  3073 W ActivityTaskManager:   Force finishing activity co.realfit.agdkeframe/.MainActivity\r\n```"
   2343     }
   2344   },
   2345   {
   2346     "issue": {
   2347       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2348       "repository_url": "https://api.github.com/repos/damus-io/android",
   2349       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2350       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2351       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2352       "html_url": "https://github.com/damus-io/android/issues/77",
   2353       "id": 2231914563,
   2354       "node_id": "I_kwDOKzWMZs6FCFBD",
   2355       "number": 77,
   2356       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2357       "user": {
   2358         "login": "jb55",
   2359         "id": 45598,
   2360         "node_id": "MDQ6VXNlcjQ1NTk4",
   2361         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2362         "gravatar_id": "",
   2363         "url": "https://api.github.com/users/jb55",
   2364         "html_url": "https://github.com/jb55",
   2365         "followers_url": "https://api.github.com/users/jb55/followers",
   2366         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2367         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2368         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2369         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2370         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2371         "repos_url": "https://api.github.com/users/jb55/repos",
   2372         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2373         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2374         "type": "User",
   2375         "site_admin": false
   2376       },
   2377       "labels": [],
   2378       "state": "open",
   2379       "locked": false,
   2380       "assignee": {
   2381         "login": "jb55",
   2382         "id": 45598,
   2383         "node_id": "MDQ6VXNlcjQ1NTk4",
   2384         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2385         "gravatar_id": "",
   2386         "url": "https://api.github.com/users/jb55",
   2387         "html_url": "https://github.com/jb55",
   2388         "followers_url": "https://api.github.com/users/jb55/followers",
   2389         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2390         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2391         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2392         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2393         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2394         "repos_url": "https://api.github.com/users/jb55/repos",
   2395         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2396         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2397         "type": "User",
   2398         "site_admin": false
   2399       },
   2400       "assignees": [
   2401         {
   2402           "login": "jb55",
   2403           "id": 45598,
   2404           "node_id": "MDQ6VXNlcjQ1NTk4",
   2405           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2406           "gravatar_id": "",
   2407           "url": "https://api.github.com/users/jb55",
   2408           "html_url": "https://github.com/jb55",
   2409           "followers_url": "https://api.github.com/users/jb55/followers",
   2410           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2411           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2412           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2413           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2414           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2415           "repos_url": "https://api.github.com/users/jb55/repos",
   2416           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2417           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2418           "type": "User",
   2419           "site_admin": false
   2420         }
   2421       ],
   2422       "milestone": null,
   2423       "comments": 10,
   2424       "created_at": "2024-04-08T19:11:49Z",
   2425       "updated_at": "2024-04-09T20:20:38Z",
   2426       "closed_at": null,
   2427       "author_association": "CONTRIBUTOR",
   2428       "active_lock_reason": null,
   2429       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2430       "reactions": {
   2431         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2432         "total_count": 0,
   2433         "+1": 0,
   2434         "-1": 0,
   2435         "laugh": 0,
   2436         "hooray": 0,
   2437         "confused": 0,
   2438         "heart": 0,
   2439         "rocket": 0,
   2440         "eyes": 0
   2441       },
   2442       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2443       "performed_via_github_app": null,
   2444       "state_reason": null
   2445     },
   2446     "comment": {
   2447       "user": "jb55",
   2448       "created_at": "2024-04-09T18:08:34Z",
   2449       "updated_at": "2024-04-09T18:48:31Z",
   2450       "body": "Looks like this is caused by a version mismatch between GameActivity 2.0 (which is expected in the latest version android-activity)."
   2451     }
   2452   },
   2453   {
   2454     "issue": {
   2455       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2456       "repository_url": "https://api.github.com/repos/damus-io/android",
   2457       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2458       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2459       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2460       "html_url": "https://github.com/damus-io/android/issues/77",
   2461       "id": 2231914563,
   2462       "node_id": "I_kwDOKzWMZs6FCFBD",
   2463       "number": 77,
   2464       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2465       "user": {
   2466         "login": "jb55",
   2467         "id": 45598,
   2468         "node_id": "MDQ6VXNlcjQ1NTk4",
   2469         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2470         "gravatar_id": "",
   2471         "url": "https://api.github.com/users/jb55",
   2472         "html_url": "https://github.com/jb55",
   2473         "followers_url": "https://api.github.com/users/jb55/followers",
   2474         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2475         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2476         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2477         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2478         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2479         "repos_url": "https://api.github.com/users/jb55/repos",
   2480         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2481         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2482         "type": "User",
   2483         "site_admin": false
   2484       },
   2485       "labels": [],
   2486       "state": "open",
   2487       "locked": false,
   2488       "assignee": {
   2489         "login": "jb55",
   2490         "id": 45598,
   2491         "node_id": "MDQ6VXNlcjQ1NTk4",
   2492         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2493         "gravatar_id": "",
   2494         "url": "https://api.github.com/users/jb55",
   2495         "html_url": "https://github.com/jb55",
   2496         "followers_url": "https://api.github.com/users/jb55/followers",
   2497         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2498         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2499         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2500         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2501         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2502         "repos_url": "https://api.github.com/users/jb55/repos",
   2503         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2504         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2505         "type": "User",
   2506         "site_admin": false
   2507       },
   2508       "assignees": [
   2509         {
   2510           "login": "jb55",
   2511           "id": 45598,
   2512           "node_id": "MDQ6VXNlcjQ1NTk4",
   2513           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2514           "gravatar_id": "",
   2515           "url": "https://api.github.com/users/jb55",
   2516           "html_url": "https://github.com/jb55",
   2517           "followers_url": "https://api.github.com/users/jb55/followers",
   2518           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2519           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2520           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2521           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2522           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2523           "repos_url": "https://api.github.com/users/jb55/repos",
   2524           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2525           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2526           "type": "User",
   2527           "site_admin": false
   2528         }
   2529       ],
   2530       "milestone": null,
   2531       "comments": 10,
   2532       "created_at": "2024-04-08T19:11:49Z",
   2533       "updated_at": "2024-04-09T20:20:38Z",
   2534       "closed_at": null,
   2535       "author_association": "CONTRIBUTOR",
   2536       "active_lock_reason": null,
   2537       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2538       "reactions": {
   2539         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2540         "total_count": 0,
   2541         "+1": 0,
   2542         "-1": 0,
   2543         "laugh": 0,
   2544         "hooray": 0,
   2545         "confused": 0,
   2546         "heart": 0,
   2547         "rocket": 0,
   2548         "eyes": 0
   2549       },
   2550       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2551       "performed_via_github_app": null,
   2552       "state_reason": null
   2553     },
   2554     "comment": {
   2555       "user": "jb55",
   2556       "created_at": "2024-04-09T18:34:05Z",
   2557       "updated_at": "2024-04-09T18:45:18Z",
   2558       "body": "Looks like that was the issue, updating to game-activity 2.0.2 fixes the crash.\r\n\r\nNow I'm seeing weird behaviours:\r\n\r\n- No words are highlighted, and there is no autocompletion\r\n- Backspace and enter are sent twice\r\n\r\nnot sure if you ran into this on 0.26.2 @lucasmerlin ?\r\n\r\nMy demo tinkering is here:\r\n\r\n```\r\ngit clone -b ime_0.26.2 https://github.com/jb55/rust-android-examples\r\ngit clone -b ime_0.26.2 https://github.com/jb55/egui\r\n```\r\n\r\nI'm also on `winit` @ `hp-fixes-0.29.x` and `android-activity` @ `hp_changes_2`\r\n"
   2559     }
   2560   },
   2561   {
   2562     "issue": {
   2563       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2564       "repository_url": "https://api.github.com/repos/damus-io/android",
   2565       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2566       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2567       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2568       "html_url": "https://github.com/damus-io/android/issues/77",
   2569       "id": 2231914563,
   2570       "node_id": "I_kwDOKzWMZs6FCFBD",
   2571       "number": 77,
   2572       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2573       "user": {
   2574         "login": "jb55",
   2575         "id": 45598,
   2576         "node_id": "MDQ6VXNlcjQ1NTk4",
   2577         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2578         "gravatar_id": "",
   2579         "url": "https://api.github.com/users/jb55",
   2580         "html_url": "https://github.com/jb55",
   2581         "followers_url": "https://api.github.com/users/jb55/followers",
   2582         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2583         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2584         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2585         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2586         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2587         "repos_url": "https://api.github.com/users/jb55/repos",
   2588         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2589         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2590         "type": "User",
   2591         "site_admin": false
   2592       },
   2593       "labels": [],
   2594       "state": "open",
   2595       "locked": false,
   2596       "assignee": {
   2597         "login": "jb55",
   2598         "id": 45598,
   2599         "node_id": "MDQ6VXNlcjQ1NTk4",
   2600         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2601         "gravatar_id": "",
   2602         "url": "https://api.github.com/users/jb55",
   2603         "html_url": "https://github.com/jb55",
   2604         "followers_url": "https://api.github.com/users/jb55/followers",
   2605         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2606         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2607         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2608         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2609         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2610         "repos_url": "https://api.github.com/users/jb55/repos",
   2611         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2612         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2613         "type": "User",
   2614         "site_admin": false
   2615       },
   2616       "assignees": [
   2617         {
   2618           "login": "jb55",
   2619           "id": 45598,
   2620           "node_id": "MDQ6VXNlcjQ1NTk4",
   2621           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2622           "gravatar_id": "",
   2623           "url": "https://api.github.com/users/jb55",
   2624           "html_url": "https://github.com/jb55",
   2625           "followers_url": "https://api.github.com/users/jb55/followers",
   2626           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2627           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2628           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2629           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2630           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2631           "repos_url": "https://api.github.com/users/jb55/repos",
   2632           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2633           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2634           "type": "User",
   2635           "site_admin": false
   2636         }
   2637       ],
   2638       "milestone": null,
   2639       "comments": 10,
   2640       "created_at": "2024-04-08T19:11:49Z",
   2641       "updated_at": "2024-04-09T20:20:38Z",
   2642       "closed_at": null,
   2643       "author_association": "CONTRIBUTOR",
   2644       "active_lock_reason": null,
   2645       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2646       "reactions": {
   2647         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2648         "total_count": 0,
   2649         "+1": 0,
   2650         "-1": 0,
   2651         "laugh": 0,
   2652         "hooray": 0,
   2653         "confused": 0,
   2654         "heart": 0,
   2655         "rocket": 0,
   2656         "eyes": 0
   2657       },
   2658       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2659       "performed_via_github_app": null,
   2660       "state_reason": null
   2661     },
   2662     "comment": {
   2663       "user": "jb55",
   2664       "created_at": "2024-04-09T18:43:44Z",
   2665       "updated_at": "2024-04-09T18:43:44Z",
   2666       "body": "range-diff between hp_improvements_0.26 and ime_0.26.2:\r\n\r\n`git range-diff hp_improvements_0.26...ime_0.26.2`\r\n\r\n```\r\n 1:  ee7fb477986b <  -:  ------------ add with_taskbar to viewport builder (#3958)\r\n 2:  b35a7dd7de00 <  -:  ------------ Add scroll bar visibility option to Table widget (#3981)\r\n 3:  377f86efb523 =  1:  26a87715f275 egui: Fixed window title bar incorrect handling spacing (#3995)\r\n 4:  21f08afcbbef =  2:  826b1ac80d58 egui_glow: Only disable sRGB framebuffer on supported platforms (#3994)\r\n 5:  15370bbea0b4 <  -:  ------------ Add F21 to F35 key bindings (#4004)\r\n -:  ------------ >  3:  a829fff19c5b Make `on_disabled_hover_ui` respect `tooltip_delay` (#4012)\r\n -:  ------------ >  4:  a415aa4bc686 Update to document-features 0.2.8 (#4003)\r\n -:  ------------ >  5:  1fe0f2417ab8 Improve panic message in egui-wgpu when failing to create buffers (#3986)\r\n -:  ------------ >  6:  820a3baf3017 egui demo: Fix space reserved for source code link (#3983)\r\n -:  ------------ >  7:  db00dc6ea546 Fix `TextEdit` being too short whenever there is horizontal margin (#4005)\r\n -:  ------------ >  8:  df7e4a5db64c Fix `Response::interact` and `Ui:interact_with_hovered` (#4013)\r\n -:  ------------ >  9:  45154fc1c839 Fix: `Response.interact_pointer_pos` is `Some` on click and drag released (#4014)\r\n -:  ------------ > 10:  12749f3b5adb Take clip_rect into account when storing widget rects (#4020)\r\n -:  ------------ > 11:  6e4dab97fb50 Revert semver-breaking change, and replace with temporary HACK\r\n -:  ------------ > 12:  109c0a86952a Revert renaming a field in `WidgetRect` to avoid semver breakage\r\n -:  ------------ > 13:  9aac3ef40692 Revert hello_world example\r\n -:  ------------ > 14:  0d17b6748d8c egui: Fix custom `Window` `Frame`s (#4009)\r\n -:  ------------ > 15:  a8501c963dba Release 0.26.1 - Bug Fixes\r\n -:  ------------ > 16:  2f572197efe9 Update memoffset to 0.9.0, arboard to 3.3.1, and remove egui_glow's needless dependency on pure_glow's deps  (#4036)\r\n -:  ------------ > 17:  b64e329cb7a7 `eframe`: Add `winuser` feature to `winapi` to fix unresolved import (#4037)\r\n -:  ------------ > 18:  ed5fe015359d Add another check to Windows CI (#4038)\r\n -:  ------------ > 19:  1ce4f0547226 Avoid interacting twice when not required (#4041)\r\n -:  ------------ > 20:  309586b42cc8 Release 0.26.2 - Response.interact/context_menu fix\r\n 6:  6cf77dd0ac05 = 21:  a18c816bbe8e Expose center position in MultiTouchInfo\r\n 7:  85dfff9b7e8b = 22:  2c3cb458036f Increase scroll area friction\r\n 8:  8c6479ff9ff5 = 23:  f1f6cffc7a80 Add option to specify persistence path\r\n 9:  eba2e3f8896d = 24:  04f76de5ae11 Remove WaitUntil fix since it seems to be working now\r\n10:  e58b66f36f97 = 25:  b4aa3b7e141f Ime support\r\n```\r\n\r\nSeems more likely that winit changes broke something?\r\n\r\n```\r\n  1 monad> g range-diff lucas/v0.28.x_ime_support...lucas/hp-fixes-0.29.x  | grep -i android\r\n 30:  305a302a98ae <   -:  ------------ Add basic android ime support\r\n  -:  ------------ >  75:  4a36741f9cca On Android, change default implementation to ignore volume keys and let operating system handle them (#2748)\r\n  -:  ------------ >  95:  7929999c1c9b Android: rework keycode handling (#2890)\r\n  -:  ------------ > 136:  7a954c7e0898 Android: Implement EventLoopExtPumpEvents and EventLoopExtRunOnDemand\r\n  -:  ------------ > 172:  7451c4b88c7c Android: Support unicode character mapping + dead keys\r\n  -:  ------------ > 178:  65c2482d74fd Pin android-activity git dependency\r\n  -:  ------------ > 181:  80d1e49354cd Use beta versions of android crates\r\n  -:  ------------ > 218:  709929fcab0c Pass force on touch events on android\r\n  -:  ------------ > 225:  4385c17cbb3e Make DeviceId contain device id's on Android\r\n  -:  ------------ > 235:  5788319632b4 Add Occluded and MemoryWarning events for iOS/Android\r\n  -:  ------------ > 245:  f2edd235428e Upgrade to `ndk 0.8`, `ndk-sys 0.5` + `android-activity 0.5` releases\r\n  -:  ------------ > 285:  7aa202b872a3 Make Android docs build on docs.rs (#3236)\r\n  -:  ------------ > 337:  9576d91dfe25 Fix stylus input on android\r\n```"
   2667     }
   2668   },
   2669   {
   2670     "issue": {
   2671       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2672       "repository_url": "https://api.github.com/repos/damus-io/android",
   2673       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2674       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2675       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2676       "html_url": "https://github.com/damus-io/android/issues/77",
   2677       "id": 2231914563,
   2678       "node_id": "I_kwDOKzWMZs6FCFBD",
   2679       "number": 77,
   2680       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2681       "user": {
   2682         "login": "jb55",
   2683         "id": 45598,
   2684         "node_id": "MDQ6VXNlcjQ1NTk4",
   2685         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2686         "gravatar_id": "",
   2687         "url": "https://api.github.com/users/jb55",
   2688         "html_url": "https://github.com/jb55",
   2689         "followers_url": "https://api.github.com/users/jb55/followers",
   2690         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2691         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2692         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2693         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2694         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2695         "repos_url": "https://api.github.com/users/jb55/repos",
   2696         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2697         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2698         "type": "User",
   2699         "site_admin": false
   2700       },
   2701       "labels": [],
   2702       "state": "open",
   2703       "locked": false,
   2704       "assignee": {
   2705         "login": "jb55",
   2706         "id": 45598,
   2707         "node_id": "MDQ6VXNlcjQ1NTk4",
   2708         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2709         "gravatar_id": "",
   2710         "url": "https://api.github.com/users/jb55",
   2711         "html_url": "https://github.com/jb55",
   2712         "followers_url": "https://api.github.com/users/jb55/followers",
   2713         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2714         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2715         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2716         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2717         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2718         "repos_url": "https://api.github.com/users/jb55/repos",
   2719         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2720         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2721         "type": "User",
   2722         "site_admin": false
   2723       },
   2724       "assignees": [
   2725         {
   2726           "login": "jb55",
   2727           "id": 45598,
   2728           "node_id": "MDQ6VXNlcjQ1NTk4",
   2729           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2730           "gravatar_id": "",
   2731           "url": "https://api.github.com/users/jb55",
   2732           "html_url": "https://github.com/jb55",
   2733           "followers_url": "https://api.github.com/users/jb55/followers",
   2734           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2735           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2736           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2737           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2738           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2739           "repos_url": "https://api.github.com/users/jb55/repos",
   2740           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2741           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2742           "type": "User",
   2743           "site_admin": false
   2744         }
   2745       ],
   2746       "milestone": null,
   2747       "comments": 10,
   2748       "created_at": "2024-04-08T19:11:49Z",
   2749       "updated_at": "2024-04-09T20:20:38Z",
   2750       "closed_at": null,
   2751       "author_association": "CONTRIBUTOR",
   2752       "active_lock_reason": null,
   2753       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2754       "reactions": {
   2755         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2756         "total_count": 0,
   2757         "+1": 0,
   2758         "-1": 0,
   2759         "laugh": 0,
   2760         "hooray": 0,
   2761         "confused": 0,
   2762         "heart": 0,
   2763         "rocket": 0,
   2764         "eyes": 0
   2765       },
   2766       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2767       "performed_via_github_app": null,
   2768       "state_reason": null
   2769     },
   2770     "comment": {
   2771       "user": "jb55",
   2772       "created_at": "2024-04-09T18:52:07Z",
   2773       "updated_at": "2024-04-09T18:52:07Z",
   2774       "body": "video of the broken input:\r\n\r\nhttps://cdn.jb55.com/s/broken-input.mp4"
   2775     }
   2776   },
   2777   {
   2778     "issue": {
   2779       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2780       "repository_url": "https://api.github.com/repos/damus-io/android",
   2781       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2782       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2783       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2784       "html_url": "https://github.com/damus-io/android/issues/77",
   2785       "id": 2231914563,
   2786       "node_id": "I_kwDOKzWMZs6FCFBD",
   2787       "number": 77,
   2788       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2789       "user": {
   2790         "login": "jb55",
   2791         "id": 45598,
   2792         "node_id": "MDQ6VXNlcjQ1NTk4",
   2793         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2794         "gravatar_id": "",
   2795         "url": "https://api.github.com/users/jb55",
   2796         "html_url": "https://github.com/jb55",
   2797         "followers_url": "https://api.github.com/users/jb55/followers",
   2798         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2799         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2800         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2801         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2802         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2803         "repos_url": "https://api.github.com/users/jb55/repos",
   2804         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2805         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2806         "type": "User",
   2807         "site_admin": false
   2808       },
   2809       "labels": [],
   2810       "state": "open",
   2811       "locked": false,
   2812       "assignee": {
   2813         "login": "jb55",
   2814         "id": 45598,
   2815         "node_id": "MDQ6VXNlcjQ1NTk4",
   2816         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2817         "gravatar_id": "",
   2818         "url": "https://api.github.com/users/jb55",
   2819         "html_url": "https://github.com/jb55",
   2820         "followers_url": "https://api.github.com/users/jb55/followers",
   2821         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2822         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2823         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2824         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2825         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2826         "repos_url": "https://api.github.com/users/jb55/repos",
   2827         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2828         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2829         "type": "User",
   2830         "site_admin": false
   2831       },
   2832       "assignees": [
   2833         {
   2834           "login": "jb55",
   2835           "id": 45598,
   2836           "node_id": "MDQ6VXNlcjQ1NTk4",
   2837           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2838           "gravatar_id": "",
   2839           "url": "https://api.github.com/users/jb55",
   2840           "html_url": "https://github.com/jb55",
   2841           "followers_url": "https://api.github.com/users/jb55/followers",
   2842           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2843           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2844           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2845           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2846           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2847           "repos_url": "https://api.github.com/users/jb55/repos",
   2848           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2849           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2850           "type": "User",
   2851           "site_admin": false
   2852         }
   2853       ],
   2854       "milestone": null,
   2855       "comments": 10,
   2856       "created_at": "2024-04-08T19:11:49Z",
   2857       "updated_at": "2024-04-09T20:20:38Z",
   2858       "closed_at": null,
   2859       "author_association": "CONTRIBUTOR",
   2860       "active_lock_reason": null,
   2861       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2862       "reactions": {
   2863         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2864         "total_count": 0,
   2865         "+1": 0,
   2866         "-1": 0,
   2867         "laugh": 0,
   2868         "hooray": 0,
   2869         "confused": 0,
   2870         "heart": 0,
   2871         "rocket": 0,
   2872         "eyes": 0
   2873       },
   2874       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2875       "performed_via_github_app": null,
   2876       "state_reason": null
   2877     },
   2878     "comment": {
   2879       "user": "lucasmerlin",
   2880       "created_at": "2024-04-09T19:57:09Z",
   2881       "updated_at": "2024-04-09T19:58:07Z",
   2882       "body": "For the autocomple to work you have to set the input type, I do that somewhere in my fork of android Activity (can't check for the specific spot right now, sorry)\r\n\r\nAlso I've recently been having a weird bug where numbers are typed twice, not sure what's the deal there "
   2883     }
   2884   },
   2885   {
   2886     "issue": {
   2887       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2888       "repository_url": "https://api.github.com/repos/damus-io/android",
   2889       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2890       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2891       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   2892       "html_url": "https://github.com/damus-io/android/issues/77",
   2893       "id": 2231914563,
   2894       "node_id": "I_kwDOKzWMZs6FCFBD",
   2895       "number": 77,
   2896       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   2897       "user": {
   2898         "login": "jb55",
   2899         "id": 45598,
   2900         "node_id": "MDQ6VXNlcjQ1NTk4",
   2901         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2902         "gravatar_id": "",
   2903         "url": "https://api.github.com/users/jb55",
   2904         "html_url": "https://github.com/jb55",
   2905         "followers_url": "https://api.github.com/users/jb55/followers",
   2906         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2907         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2908         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2909         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2910         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2911         "repos_url": "https://api.github.com/users/jb55/repos",
   2912         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2913         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2914         "type": "User",
   2915         "site_admin": false
   2916       },
   2917       "labels": [],
   2918       "state": "open",
   2919       "locked": false,
   2920       "assignee": {
   2921         "login": "jb55",
   2922         "id": 45598,
   2923         "node_id": "MDQ6VXNlcjQ1NTk4",
   2924         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2925         "gravatar_id": "",
   2926         "url": "https://api.github.com/users/jb55",
   2927         "html_url": "https://github.com/jb55",
   2928         "followers_url": "https://api.github.com/users/jb55/followers",
   2929         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2930         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2931         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2932         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2933         "organizations_url": "https://api.github.com/users/jb55/orgs",
   2934         "repos_url": "https://api.github.com/users/jb55/repos",
   2935         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2936         "received_events_url": "https://api.github.com/users/jb55/received_events",
   2937         "type": "User",
   2938         "site_admin": false
   2939       },
   2940       "assignees": [
   2941         {
   2942           "login": "jb55",
   2943           "id": 45598,
   2944           "node_id": "MDQ6VXNlcjQ1NTk4",
   2945           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   2946           "gravatar_id": "",
   2947           "url": "https://api.github.com/users/jb55",
   2948           "html_url": "https://github.com/jb55",
   2949           "followers_url": "https://api.github.com/users/jb55/followers",
   2950           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   2951           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   2952           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   2953           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   2954           "organizations_url": "https://api.github.com/users/jb55/orgs",
   2955           "repos_url": "https://api.github.com/users/jb55/repos",
   2956           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   2957           "received_events_url": "https://api.github.com/users/jb55/received_events",
   2958           "type": "User",
   2959           "site_admin": false
   2960         }
   2961       ],
   2962       "milestone": null,
   2963       "comments": 10,
   2964       "created_at": "2024-04-08T19:11:49Z",
   2965       "updated_at": "2024-04-09T20:20:38Z",
   2966       "closed_at": null,
   2967       "author_association": "CONTRIBUTOR",
   2968       "active_lock_reason": null,
   2969       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   2970       "reactions": {
   2971         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   2972         "total_count": 0,
   2973         "+1": 0,
   2974         "-1": 0,
   2975         "laugh": 0,
   2976         "hooray": 0,
   2977         "confused": 0,
   2978         "heart": 0,
   2979         "rocket": 0,
   2980         "eyes": 0
   2981       },
   2982       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   2983       "performed_via_github_app": null,
   2984       "state_reason": null
   2985     },
   2986     "comment": {
   2987       "user": "jb55",
   2988       "created_at": "2024-04-09T20:16:40Z",
   2989       "updated_at": "2024-04-09T20:16:40Z",
   2990       "body": "I wonder if there are bugs in GameActivity 2.0.2:\r\n\r\nhere's a few fix commits I found in v2..v3\r\n`git log --reverse -p --grep fix --no-merges cf9df6e927bafbc496e160830d378600c53bddc8.. -- game-text-input`\r\n\r\n```\r\n92c7a40427ea fix hardware keyboard support\r\n140cb55df2f4 fix for hardware and software keyboards being out of sync\r\ncd73cee28208 fixed multiline mode\r\nd238783e3497 add physical volume buttons to the ignore list for GameTextInput\r\nb2f598f0ad85 fix GameTextInput editing functions\r\n18fc8e25c509 fix a race condition in GameTextInput\r\ndfca49441b07 refactor GameActivity and GameTextInput interfaces\r\nf1f286b6486e fix text deletion in GameTextInput\r\n094b21ff9b45 fix selection when typing with hardware keyboard\r\n8bee4e62f5c6 fixed state updates propagation\r\n80739abf3623 bump GameActivity and GameTextInput to 3.0.3\r\n```\r\n\r\nlog: https://cdn.jb55.com/s/4f6ef8bbbd88ebfc.txt\r\n\r\nWe may need to update android-activity to gameactivity 3 to see if that's the case.\r\n\r\nLooks like the API changes are in here:\r\n\r\nhttps://cdn.jb55.com/s/be4dbb351d42c4e7.txt\r\n"
   2991     }
   2992   },
   2993   {
   2994     "issue": {
   2995       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   2996       "repository_url": "https://api.github.com/repos/damus-io/android",
   2997       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   2998       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   2999       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   3000       "html_url": "https://github.com/damus-io/android/issues/77",
   3001       "id": 2231914563,
   3002       "node_id": "I_kwDOKzWMZs6FCFBD",
   3003       "number": 77,
   3004       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   3005       "user": {
   3006         "login": "jb55",
   3007         "id": 45598,
   3008         "node_id": "MDQ6VXNlcjQ1NTk4",
   3009         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3010         "gravatar_id": "",
   3011         "url": "https://api.github.com/users/jb55",
   3012         "html_url": "https://github.com/jb55",
   3013         "followers_url": "https://api.github.com/users/jb55/followers",
   3014         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3015         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3016         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3017         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3018         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3019         "repos_url": "https://api.github.com/users/jb55/repos",
   3020         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3021         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3022         "type": "User",
   3023         "site_admin": false
   3024       },
   3025       "labels": [],
   3026       "state": "open",
   3027       "locked": false,
   3028       "assignee": {
   3029         "login": "jb55",
   3030         "id": 45598,
   3031         "node_id": "MDQ6VXNlcjQ1NTk4",
   3032         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3033         "gravatar_id": "",
   3034         "url": "https://api.github.com/users/jb55",
   3035         "html_url": "https://github.com/jb55",
   3036         "followers_url": "https://api.github.com/users/jb55/followers",
   3037         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3038         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3039         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3040         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3041         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3042         "repos_url": "https://api.github.com/users/jb55/repos",
   3043         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3044         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3045         "type": "User",
   3046         "site_admin": false
   3047       },
   3048       "assignees": [
   3049         {
   3050           "login": "jb55",
   3051           "id": 45598,
   3052           "node_id": "MDQ6VXNlcjQ1NTk4",
   3053           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3054           "gravatar_id": "",
   3055           "url": "https://api.github.com/users/jb55",
   3056           "html_url": "https://github.com/jb55",
   3057           "followers_url": "https://api.github.com/users/jb55/followers",
   3058           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3059           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3060           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3061           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3062           "organizations_url": "https://api.github.com/users/jb55/orgs",
   3063           "repos_url": "https://api.github.com/users/jb55/repos",
   3064           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3065           "received_events_url": "https://api.github.com/users/jb55/received_events",
   3066           "type": "User",
   3067           "site_admin": false
   3068         }
   3069       ],
   3070       "milestone": null,
   3071       "comments": 10,
   3072       "created_at": "2024-04-08T19:11:49Z",
   3073       "updated_at": "2024-04-09T20:20:38Z",
   3074       "closed_at": null,
   3075       "author_association": "CONTRIBUTOR",
   3076       "active_lock_reason": null,
   3077       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   3078       "reactions": {
   3079         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   3080         "total_count": 0,
   3081         "+1": 0,
   3082         "-1": 0,
   3083         "laugh": 0,
   3084         "hooray": 0,
   3085         "confused": 0,
   3086         "heart": 0,
   3087         "rocket": 0,
   3088         "eyes": 0
   3089       },
   3090       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   3091       "performed_via_github_app": null,
   3092       "state_reason": null
   3093     },
   3094     "comment": {
   3095       "user": "jb55",
   3096       "created_at": "2024-04-09T20:18:34Z",
   3097       "updated_at": "2024-04-09T20:18:34Z",
   3098       "body": "not sure if you've looked at GameActivity 3 yet @rib or have any insight here :eyes: "
   3099     }
   3100   },
   3101   {
   3102     "issue": {
   3103       "url": "https://api.github.com/repos/damus-io/android/issues/77",
   3104       "repository_url": "https://api.github.com/repos/damus-io/android",
   3105       "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}",
   3106       "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments",
   3107       "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events",
   3108       "html_url": "https://github.com/damus-io/android/issues/77",
   3109       "id": 2231914563,
   3110       "node_id": "I_kwDOKzWMZs6FCFBD",
   3111       "number": 77,
   3112       "title": "Update agdk-eframe demo to latest IME branches from lucas",
   3113       "user": {
   3114         "login": "jb55",
   3115         "id": 45598,
   3116         "node_id": "MDQ6VXNlcjQ1NTk4",
   3117         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3118         "gravatar_id": "",
   3119         "url": "https://api.github.com/users/jb55",
   3120         "html_url": "https://github.com/jb55",
   3121         "followers_url": "https://api.github.com/users/jb55/followers",
   3122         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3123         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3124         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3125         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3126         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3127         "repos_url": "https://api.github.com/users/jb55/repos",
   3128         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3129         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3130         "type": "User",
   3131         "site_admin": false
   3132       },
   3133       "labels": [],
   3134       "state": "open",
   3135       "locked": false,
   3136       "assignee": {
   3137         "login": "jb55",
   3138         "id": 45598,
   3139         "node_id": "MDQ6VXNlcjQ1NTk4",
   3140         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3141         "gravatar_id": "",
   3142         "url": "https://api.github.com/users/jb55",
   3143         "html_url": "https://github.com/jb55",
   3144         "followers_url": "https://api.github.com/users/jb55/followers",
   3145         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3146         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3147         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3148         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3149         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3150         "repos_url": "https://api.github.com/users/jb55/repos",
   3151         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3152         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3153         "type": "User",
   3154         "site_admin": false
   3155       },
   3156       "assignees": [
   3157         {
   3158           "login": "jb55",
   3159           "id": 45598,
   3160           "node_id": "MDQ6VXNlcjQ1NTk4",
   3161           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3162           "gravatar_id": "",
   3163           "url": "https://api.github.com/users/jb55",
   3164           "html_url": "https://github.com/jb55",
   3165           "followers_url": "https://api.github.com/users/jb55/followers",
   3166           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3167           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3168           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3169           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3170           "organizations_url": "https://api.github.com/users/jb55/orgs",
   3171           "repos_url": "https://api.github.com/users/jb55/repos",
   3172           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3173           "received_events_url": "https://api.github.com/users/jb55/received_events",
   3174           "type": "User",
   3175           "site_admin": false
   3176         }
   3177       ],
   3178       "milestone": null,
   3179       "comments": 10,
   3180       "created_at": "2024-04-08T19:11:49Z",
   3181       "updated_at": "2024-04-09T20:20:38Z",
   3182       "closed_at": null,
   3183       "author_association": "CONTRIBUTOR",
   3184       "active_lock_reason": null,
   3185       "body": "Lucas has a updated branches for v0.26 (see comment here): \r\n\r\n- https://github.com/damus-io/android/issues/60#issuecomment-2022502072\r\n\r\nLet's get these running in the agdk-eframe demo first to confirm it is working",
   3186       "reactions": {
   3187         "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions",
   3188         "total_count": 0,
   3189         "+1": 0,
   3190         "-1": 0,
   3191         "laugh": 0,
   3192         "hooray": 0,
   3193         "confused": 0,
   3194         "heart": 0,
   3195         "rocket": 0,
   3196         "eyes": 0
   3197       },
   3198       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline",
   3199       "performed_via_github_app": null,
   3200       "state_reason": null
   3201     },
   3202     "comment": {
   3203       "user": "jb55",
   3204       "created_at": "2024-04-09T20:20:37Z",
   3205       "updated_at": "2024-04-09T20:20:37Z",
   3206       "body": "> @lucasmerlin: For the autocomplete to work you have to set the input type\r\n\r\nok I'll try that, thanks!"
   3207     }
   3208   },
   3209   {
   3210     "issue": {
   3211       "url": "https://api.github.com/repos/damus-io/android/issues/76",
   3212       "repository_url": "https://api.github.com/repos/damus-io/android",
   3213       "labels_url": "https://api.github.com/repos/damus-io/android/issues/76/labels{/name}",
   3214       "comments_url": "https://api.github.com/repos/damus-io/android/issues/76/comments",
   3215       "events_url": "https://api.github.com/repos/damus-io/android/issues/76/events",
   3216       "html_url": "https://github.com/damus-io/android/issues/76",
   3217       "id": 2231905733,
   3218       "node_id": "I_kwDOKzWMZs6FCC3F",
   3219       "number": 76,
   3220       "title": "Android build files",
   3221       "user": {
   3222         "login": "jb55",
   3223         "id": 45598,
   3224         "node_id": "MDQ6VXNlcjQ1NTk4",
   3225         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3226         "gravatar_id": "",
   3227         "url": "https://api.github.com/users/jb55",
   3228         "html_url": "https://github.com/jb55",
   3229         "followers_url": "https://api.github.com/users/jb55/followers",
   3230         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3231         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3232         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3233         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3234         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3235         "repos_url": "https://api.github.com/users/jb55/repos",
   3236         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3237         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3238         "type": "User",
   3239         "site_admin": false
   3240       },
   3241       "labels": [],
   3242       "state": "open",
   3243       "locked": false,
   3244       "assignee": {
   3245         "login": "jb55",
   3246         "id": 45598,
   3247         "node_id": "MDQ6VXNlcjQ1NTk4",
   3248         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3249         "gravatar_id": "",
   3250         "url": "https://api.github.com/users/jb55",
   3251         "html_url": "https://github.com/jb55",
   3252         "followers_url": "https://api.github.com/users/jb55/followers",
   3253         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3254         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3255         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3256         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3257         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3258         "repos_url": "https://api.github.com/users/jb55/repos",
   3259         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3260         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3261         "type": "User",
   3262         "site_admin": false
   3263       },
   3264       "assignees": [
   3265         {
   3266           "login": "jb55",
   3267           "id": 45598,
   3268           "node_id": "MDQ6VXNlcjQ1NTk4",
   3269           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3270           "gravatar_id": "",
   3271           "url": "https://api.github.com/users/jb55",
   3272           "html_url": "https://github.com/jb55",
   3273           "followers_url": "https://api.github.com/users/jb55/followers",
   3274           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3275           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3276           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3277           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3278           "organizations_url": "https://api.github.com/users/jb55/orgs",
   3279           "repos_url": "https://api.github.com/users/jb55/repos",
   3280           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3281           "received_events_url": "https://api.github.com/users/jb55/received_events",
   3282           "type": "User",
   3283           "site_admin": false
   3284         }
   3285       ],
   3286       "milestone": null,
   3287       "comments": 0,
   3288       "created_at": "2024-04-08T19:05:24Z",
   3289       "updated_at": "2024-04-08T19:56:33Z",
   3290       "closed_at": null,
   3291       "author_association": "CONTRIBUTOR",
   3292       "active_lock_reason": null,
   3293       "body": "Instead of using cargo-apk in\r\n\r\n- https://github.com/damus-io/android/issues/74\r\n\r\nWe use a direct android gradle build for building the app. This should give us a bit more flexibility when building our app instead of letting cargo-apk/xbuild handle it.\r\n\r\nIt also allows us to establish a GameActivity build directly for:\r\n\r\n- https://github.com/damus-io/android/issues/75",
   3294       "reactions": {
   3295         "url": "https://api.github.com/repos/damus-io/android/issues/76/reactions",
   3296         "total_count": 0,
   3297         "+1": 0,
   3298         "-1": 0,
   3299         "laugh": 0,
   3300         "hooray": 0,
   3301         "confused": 0,
   3302         "heart": 0,
   3303         "rocket": 0,
   3304         "eyes": 0
   3305       },
   3306       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/76/timeline",
   3307       "performed_via_github_app": null,
   3308       "state_reason": null
   3309     }
   3310   },
   3311   {
   3312     "issue": {
   3313       "url": "https://api.github.com/repos/damus-io/android/issues/75",
   3314       "repository_url": "https://api.github.com/repos/damus-io/android",
   3315       "labels_url": "https://api.github.com/repos/damus-io/android/issues/75/labels{/name}",
   3316       "comments_url": "https://api.github.com/repos/damus-io/android/issues/75/comments",
   3317       "events_url": "https://api.github.com/repos/damus-io/android/issues/75/events",
   3318       "html_url": "https://github.com/damus-io/android/issues/75",
   3319       "id": 2231833486,
   3320       "node_id": "I_kwDOKzWMZs6FBxOO",
   3321       "number": 75,
   3322       "title": "Switch to GameActivity",
   3323       "user": {
   3324         "login": "jb55",
   3325         "id": 45598,
   3326         "node_id": "MDQ6VXNlcjQ1NTk4",
   3327         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3328         "gravatar_id": "",
   3329         "url": "https://api.github.com/users/jb55",
   3330         "html_url": "https://github.com/jb55",
   3331         "followers_url": "https://api.github.com/users/jb55/followers",
   3332         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3333         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3334         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3335         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3336         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3337         "repos_url": "https://api.github.com/users/jb55/repos",
   3338         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3339         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3340         "type": "User",
   3341         "site_admin": false
   3342       },
   3343       "labels": [
   3344         {
   3345           "id": 6339173748,
   3346           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   3347           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   3348           "name": "technical",
   3349           "color": "e99695",
   3350           "default": false,
   3351           "description": ""
   3352         }
   3353       ],
   3354       "state": "open",
   3355       "locked": false,
   3356       "assignee": {
   3357         "login": "jb55",
   3358         "id": 45598,
   3359         "node_id": "MDQ6VXNlcjQ1NTk4",
   3360         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3361         "gravatar_id": "",
   3362         "url": "https://api.github.com/users/jb55",
   3363         "html_url": "https://github.com/jb55",
   3364         "followers_url": "https://api.github.com/users/jb55/followers",
   3365         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3366         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3367         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3368         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3369         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3370         "repos_url": "https://api.github.com/users/jb55/repos",
   3371         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3372         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3373         "type": "User",
   3374         "site_admin": false
   3375       },
   3376       "assignees": [
   3377         {
   3378           "login": "jb55",
   3379           "id": 45598,
   3380           "node_id": "MDQ6VXNlcjQ1NTk4",
   3381           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3382           "gravatar_id": "",
   3383           "url": "https://api.github.com/users/jb55",
   3384           "html_url": "https://github.com/jb55",
   3385           "followers_url": "https://api.github.com/users/jb55/followers",
   3386           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3387           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3388           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3389           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3390           "organizations_url": "https://api.github.com/users/jb55/orgs",
   3391           "repos_url": "https://api.github.com/users/jb55/repos",
   3392           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3393           "received_events_url": "https://api.github.com/users/jb55/received_events",
   3394           "type": "User",
   3395           "site_admin": false
   3396         }
   3397       ],
   3398       "milestone": null,
   3399       "comments": 0,
   3400       "created_at": "2024-04-08T18:21:55Z",
   3401       "updated_at": "2024-04-08T19:56:44Z",
   3402       "closed_at": null,
   3403       "author_association": "CONTRIBUTOR",
   3404       "active_lock_reason": null,
   3405       "body": "This is needed for \r\n\r\n- #60\r\n\r\nProgress:\r\n\r\n- [x] https://github.com/damus-io/android/issues/74\r\n- [ ] https://github.com/damus-io/android/issues/76",
   3406       "reactions": {
   3407         "url": "https://api.github.com/repos/damus-io/android/issues/75/reactions",
   3408         "total_count": 0,
   3409         "+1": 0,
   3410         "-1": 0,
   3411         "laugh": 0,
   3412         "hooray": 0,
   3413         "confused": 0,
   3414         "heart": 0,
   3415         "rocket": 0,
   3416         "eyes": 0
   3417       },
   3418       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/75/timeline",
   3419       "performed_via_github_app": null,
   3420       "state_reason": null
   3421     }
   3422   },
   3423   {
   3424     "issue": {
   3425       "url": "https://api.github.com/repos/damus-io/android/issues/74",
   3426       "repository_url": "https://api.github.com/repos/damus-io/android",
   3427       "labels_url": "https://api.github.com/repos/damus-io/android/issues/74/labels{/name}",
   3428       "comments_url": "https://api.github.com/repos/damus-io/android/issues/74/comments",
   3429       "events_url": "https://api.github.com/repos/damus-io/android/issues/74/events",
   3430       "html_url": "https://github.com/damus-io/android/issues/74",
   3431       "id": 2231829108,
   3432       "node_id": "I_kwDOKzWMZs6FBwJ0",
   3433       "number": 74,
   3434       "title": "Get agdk-eframe demo working",
   3435       "user": {
   3436         "login": "jb55",
   3437         "id": 45598,
   3438         "node_id": "MDQ6VXNlcjQ1NTk4",
   3439         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3440         "gravatar_id": "",
   3441         "url": "https://api.github.com/users/jb55",
   3442         "html_url": "https://github.com/jb55",
   3443         "followers_url": "https://api.github.com/users/jb55/followers",
   3444         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3445         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3446         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3447         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3448         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3449         "repos_url": "https://api.github.com/users/jb55/repos",
   3450         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3451         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3452         "type": "User",
   3453         "site_admin": false
   3454       },
   3455       "labels": [
   3456         {
   3457           "id": 6339173748,
   3458           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   3459           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   3460           "name": "technical",
   3461           "color": "e99695",
   3462           "default": false,
   3463           "description": ""
   3464         }
   3465       ],
   3466       "state": "closed",
   3467       "locked": false,
   3468       "assignee": null,
   3469       "assignees": [],
   3470       "milestone": null,
   3471       "comments": 1,
   3472       "created_at": "2024-04-08T18:18:48Z",
   3473       "updated_at": "2024-04-08T18:53:58Z",
   3474       "closed_at": "2024-04-08T18:53:57Z",
   3475       "author_association": "CONTRIBUTOR",
   3476       "active_lock_reason": null,
   3477       "body": "This is one of the few working demo of egui + soft keyboard support + gameactivity. Let's get this build working as a starting point for our softkeyboard support.\r\n\r\nIt requires gradle, which I somehow got working with some finagling.",
   3478       "reactions": {
   3479         "url": "https://api.github.com/repos/damus-io/android/issues/74/reactions",
   3480         "total_count": 0,
   3481         "+1": 0,
   3482         "-1": 0,
   3483         "laugh": 0,
   3484         "hooray": 0,
   3485         "confused": 0,
   3486         "heart": 0,
   3487         "rocket": 0,
   3488         "eyes": 0
   3489       },
   3490       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/74/timeline",
   3491       "performed_via_github_app": null,
   3492       "state_reason": "completed"
   3493     }
   3494   },
   3495   {
   3496     "issue": {
   3497       "url": "https://api.github.com/repos/damus-io/android/issues/74",
   3498       "repository_url": "https://api.github.com/repos/damus-io/android",
   3499       "labels_url": "https://api.github.com/repos/damus-io/android/issues/74/labels{/name}",
   3500       "comments_url": "https://api.github.com/repos/damus-io/android/issues/74/comments",
   3501       "events_url": "https://api.github.com/repos/damus-io/android/issues/74/events",
   3502       "html_url": "https://github.com/damus-io/android/issues/74",
   3503       "id": 2231829108,
   3504       "node_id": "I_kwDOKzWMZs6FBwJ0",
   3505       "number": 74,
   3506       "title": "Get agdk-eframe demo working",
   3507       "user": {
   3508         "login": "jb55",
   3509         "id": 45598,
   3510         "node_id": "MDQ6VXNlcjQ1NTk4",
   3511         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   3512         "gravatar_id": "",
   3513         "url": "https://api.github.com/users/jb55",
   3514         "html_url": "https://github.com/jb55",
   3515         "followers_url": "https://api.github.com/users/jb55/followers",
   3516         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   3517         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   3518         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   3519         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   3520         "organizations_url": "https://api.github.com/users/jb55/orgs",
   3521         "repos_url": "https://api.github.com/users/jb55/repos",
   3522         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   3523         "received_events_url": "https://api.github.com/users/jb55/received_events",
   3524         "type": "User",
   3525         "site_admin": false
   3526       },
   3527       "labels": [
   3528         {
   3529           "id": 6339173748,
   3530           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   3531           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   3532           "name": "technical",
   3533           "color": "e99695",
   3534           "default": false,
   3535           "description": ""
   3536         }
   3537       ],
   3538       "state": "closed",
   3539       "locked": false,
   3540       "assignee": null,
   3541       "assignees": [],
   3542       "milestone": null,
   3543       "comments": 1,
   3544       "created_at": "2024-04-08T18:18:48Z",
   3545       "updated_at": "2024-04-08T18:53:58Z",
   3546       "closed_at": "2024-04-08T18:53:57Z",
   3547       "author_association": "CONTRIBUTOR",
   3548       "active_lock_reason": null,
   3549       "body": "This is one of the few working demo of egui + soft keyboard support + gameactivity. Let's get this build working as a starting point for our softkeyboard support.\r\n\r\nIt requires gradle, which I somehow got working with some finagling.",
   3550       "reactions": {
   3551         "url": "https://api.github.com/repos/damus-io/android/issues/74/reactions",
   3552         "total_count": 0,
   3553         "+1": 0,
   3554         "-1": 0,
   3555         "laugh": 0,
   3556         "hooray": 0,
   3557         "confused": 0,
   3558         "heart": 0,
   3559         "rocket": 0,
   3560         "eyes": 0
   3561       },
   3562       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/74/timeline",
   3563       "performed_via_github_app": null,
   3564       "state_reason": "completed"
   3565     },
   3566     "comment": {
   3567       "user": "jb55",
   3568       "created_at": "2024-04-08T18:53:57Z",
   3569       "updated_at": "2024-04-08T18:53:57Z",
   3570       "body": "Got it working:\n\nhttps://github.com/jb55/rust-android-examples/commit/87f137d05281718ec20bf124e300658b0cc96133\n\nhttps://cdn.jb55.com/s/keyboard-working.mp4\n\nThe egui/winit version on this demo is quite old though, we will need to update it to support the latest versions"
   3571     }
   3572   },
   3573   {
   3574     "issue": {
   3575       "url": "https://api.github.com/repos/damus-io/android/issues/73",
   3576       "repository_url": "https://api.github.com/repos/damus-io/android",
   3577       "labels_url": "https://api.github.com/repos/damus-io/android/issues/73/labels{/name}",
   3578       "comments_url": "https://api.github.com/repos/damus-io/android/issues/73/comments",
   3579       "events_url": "https://api.github.com/repos/damus-io/android/issues/73/events",
   3580       "html_url": "https://github.com/damus-io/android/issues/73",
   3581       "id": 2230262004,
   3582       "node_id": "I_kwDOKzWMZs6E7xj0",
   3583       "number": 73,
   3584       "title": "Embed animations (GIF)",
   3585       "user": {
   3586         "login": "alltheseas",
   3587         "id": 64376233,
   3588         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   3589         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   3590         "gravatar_id": "",
   3591         "url": "https://api.github.com/users/alltheseas",
   3592         "html_url": "https://github.com/alltheseas",
   3593         "followers_url": "https://api.github.com/users/alltheseas/followers",
   3594         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   3595         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   3596         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   3597         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   3598         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   3599         "repos_url": "https://api.github.com/users/alltheseas/repos",
   3600         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   3601         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   3602         "type": "User",
   3603         "site_admin": false
   3604       },
   3605       "labels": [
   3606         {
   3607           "id": 6264778307,
   3608           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   3609           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   3610           "name": "enhancement",
   3611           "color": "a2eeef",
   3612           "default": true,
   3613           "description": "New feature or request"
   3614         },
   3615         {
   3616           "id": 6795254003,
   3617           "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w",
   3618           "url": "https://api.github.com/repos/damus-io/android/labels/media",
   3619           "name": "media",
   3620           "color": "4EEE17",
   3621           "default": false,
   3622           "description": ""
   3623         }
   3624       ],
   3625       "state": "open",
   3626       "locked": false,
   3627       "assignee": null,
   3628       "assignees": [],
   3629       "milestone": null,
   3630       "comments": 0,
   3631       "created_at": "2024-04-08T05:02:44Z",
   3632       "updated_at": "2024-04-08T18:28:05Z",
   3633       "closed_at": null,
   3634       "author_association": "CONTRIBUTOR",
   3635       "active_lock_reason": null,
   3636       "body": "## user story\r\nAs a Damus animation enjoyer, I want to see GIFs/animations rendered directly on Android/noteck, so that I do not have to click on a link and have a browser render the GIF.\r\n\r\n### acceptance criteria\r\n1. embed animations in note (For instance nostr.build/cat.gif etc)\r\n2,. user has option to disable auto-embed animation (see low data mode#67 )",
   3637       "reactions": {
   3638         "url": "https://api.github.com/repos/damus-io/android/issues/73/reactions",
   3639         "total_count": 0,
   3640         "+1": 0,
   3641         "-1": 0,
   3642         "laugh": 0,
   3643         "hooray": 0,
   3644         "confused": 0,
   3645         "heart": 0,
   3646         "rocket": 0,
   3647         "eyes": 0
   3648       },
   3649       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/73/timeline",
   3650       "performed_via_github_app": null,
   3651       "state_reason": null
   3652     }
   3653   },
   3654   {
   3655     "issue": {
   3656       "url": "https://api.github.com/repos/damus-io/android/issues/72",
   3657       "repository_url": "https://api.github.com/repos/damus-io/android",
   3658       "labels_url": "https://api.github.com/repos/damus-io/android/issues/72/labels{/name}",
   3659       "comments_url": "https://api.github.com/repos/damus-io/android/issues/72/comments",
   3660       "events_url": "https://api.github.com/repos/damus-io/android/issues/72/events",
   3661       "html_url": "https://github.com/damus-io/android/issues/72",
   3662       "id": 2230259038,
   3663       "node_id": "I_kwDOKzWMZs6E7w1e",
   3664       "number": 72,
   3665       "title": "Embed video playback",
   3666       "user": {
   3667         "login": "alltheseas",
   3668         "id": 64376233,
   3669         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   3670         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   3671         "gravatar_id": "",
   3672         "url": "https://api.github.com/users/alltheseas",
   3673         "html_url": "https://github.com/alltheseas",
   3674         "followers_url": "https://api.github.com/users/alltheseas/followers",
   3675         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   3676         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   3677         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   3678         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   3679         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   3680         "repos_url": "https://api.github.com/users/alltheseas/repos",
   3681         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   3682         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   3683         "type": "User",
   3684         "site_admin": false
   3685       },
   3686       "labels": [
   3687         {
   3688           "id": 6795254003,
   3689           "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w",
   3690           "url": "https://api.github.com/repos/damus-io/android/labels/media",
   3691           "name": "media",
   3692           "color": "4EEE17",
   3693           "default": false,
   3694           "description": ""
   3695         }
   3696       ],
   3697       "state": "open",
   3698       "locked": false,
   3699       "assignee": null,
   3700       "assignees": [],
   3701       "milestone": null,
   3702       "comments": 0,
   3703       "created_at": "2024-04-08T05:00:08Z",
   3704       "updated_at": "2024-04-08T05:01:18Z",
   3705       "closed_at": null,
   3706       "author_association": "CONTRIBUTOR",
   3707       "active_lock_reason": null,
   3708       "body": "## user story\r\n\r\nAs a Damus media enjoyer, I would like to be able to play videos in Damus, so that I do not have to click on a link and view the video in the browser.\r\n\r\n### acceptance criteria\r\n\r\n1. video links area embedded in note (e.g. video.mp4 etc)\r\n2. user has option to disable embed auto loading (see low data mode #67 )",
   3709       "reactions": {
   3710         "url": "https://api.github.com/repos/damus-io/android/issues/72/reactions",
   3711         "total_count": 0,
   3712         "+1": 0,
   3713         "-1": 0,
   3714         "laugh": 0,
   3715         "hooray": 0,
   3716         "confused": 0,
   3717         "heart": 0,
   3718         "rocket": 0,
   3719         "eyes": 0
   3720       },
   3721       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/72/timeline",
   3722       "performed_via_github_app": null,
   3723       "state_reason": null
   3724     }
   3725   },
   3726   {
   3727     "issue": {
   3728       "url": "https://api.github.com/repos/damus-io/android/issues/71",
   3729       "repository_url": "https://api.github.com/repos/damus-io/android",
   3730       "labels_url": "https://api.github.com/repos/damus-io/android/issues/71/labels{/name}",
   3731       "comments_url": "https://api.github.com/repos/damus-io/android/issues/71/comments",
   3732       "events_url": "https://api.github.com/repos/damus-io/android/issues/71/events",
   3733       "html_url": "https://github.com/damus-io/android/issues/71",
   3734       "id": 2230257362,
   3735       "node_id": "I_kwDOKzWMZs6E7wbS",
   3736       "number": 71,
   3737       "title": "Embed static images",
   3738       "user": {
   3739         "login": "alltheseas",
   3740         "id": 64376233,
   3741         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   3742         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   3743         "gravatar_id": "",
   3744         "url": "https://api.github.com/users/alltheseas",
   3745         "html_url": "https://github.com/alltheseas",
   3746         "followers_url": "https://api.github.com/users/alltheseas/followers",
   3747         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   3748         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   3749         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   3750         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   3751         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   3752         "repos_url": "https://api.github.com/users/alltheseas/repos",
   3753         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   3754         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   3755         "type": "User",
   3756         "site_admin": false
   3757       },
   3758       "labels": [
   3759         {
   3760           "id": 6264778307,
   3761           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   3762           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   3763           "name": "enhancement",
   3764           "color": "a2eeef",
   3765           "default": true,
   3766           "description": "New feature or request"
   3767         },
   3768         {
   3769           "id": 6795254003,
   3770           "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w",
   3771           "url": "https://api.github.com/repos/damus-io/android/labels/media",
   3772           "name": "media",
   3773           "color": "4EEE17",
   3774           "default": false,
   3775           "description": ""
   3776         }
   3777       ],
   3778       "state": "open",
   3779       "locked": false,
   3780       "assignee": null,
   3781       "assignees": [],
   3782       "milestone": null,
   3783       "comments": 1,
   3784       "created_at": "2024-04-08T04:58:27Z",
   3785       "updated_at": "2024-04-08T17:53:19Z",
   3786       "closed_at": null,
   3787       "author_association": "CONTRIBUTOR",
   3788       "active_lock_reason": null,
   3789       "body": "## user story\r\n\r\nAs a Damus media enjoyer, I want to see images rendered directly on Android/noteck, so that I do not have to click on a link and have a browser render the image.\r\n\r\n### acceptance criteria\r\n\r\n1. embed images in note (For instance nostr.build/cat.jpeg; .png; .jpg etc)\r\n2. user has options to disable auto-embed image (see low data mode#67 )\r\n",
   3790       "reactions": {
   3791         "url": "https://api.github.com/repos/damus-io/android/issues/71/reactions",
   3792         "total_count": 0,
   3793         "+1": 0,
   3794         "-1": 0,
   3795         "laugh": 0,
   3796         "hooray": 0,
   3797         "confused": 0,
   3798         "heart": 0,
   3799         "rocket": 0,
   3800         "eyes": 0
   3801       },
   3802       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/71/timeline",
   3803       "performed_via_github_app": null,
   3804       "state_reason": null
   3805     }
   3806   },
   3807   {
   3808     "issue": {
   3809       "url": "https://api.github.com/repos/damus-io/android/issues/71",
   3810       "repository_url": "https://api.github.com/repos/damus-io/android",
   3811       "labels_url": "https://api.github.com/repos/damus-io/android/issues/71/labels{/name}",
   3812       "comments_url": "https://api.github.com/repos/damus-io/android/issues/71/comments",
   3813       "events_url": "https://api.github.com/repos/damus-io/android/issues/71/events",
   3814       "html_url": "https://github.com/damus-io/android/issues/71",
   3815       "id": 2230257362,
   3816       "node_id": "I_kwDOKzWMZs6E7wbS",
   3817       "number": 71,
   3818       "title": "Embed static images",
   3819       "user": {
   3820         "login": "alltheseas",
   3821         "id": 64376233,
   3822         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   3823         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   3824         "gravatar_id": "",
   3825         "url": "https://api.github.com/users/alltheseas",
   3826         "html_url": "https://github.com/alltheseas",
   3827         "followers_url": "https://api.github.com/users/alltheseas/followers",
   3828         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   3829         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   3830         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   3831         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   3832         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   3833         "repos_url": "https://api.github.com/users/alltheseas/repos",
   3834         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   3835         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   3836         "type": "User",
   3837         "site_admin": false
   3838       },
   3839       "labels": [
   3840         {
   3841           "id": 6264778307,
   3842           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   3843           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   3844           "name": "enhancement",
   3845           "color": "a2eeef",
   3846           "default": true,
   3847           "description": "New feature or request"
   3848         },
   3849         {
   3850           "id": 6795254003,
   3851           "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w",
   3852           "url": "https://api.github.com/repos/damus-io/android/labels/media",
   3853           "name": "media",
   3854           "color": "4EEE17",
   3855           "default": false,
   3856           "description": ""
   3857         }
   3858       ],
   3859       "state": "open",
   3860       "locked": false,
   3861       "assignee": null,
   3862       "assignees": [],
   3863       "milestone": null,
   3864       "comments": 1,
   3865       "created_at": "2024-04-08T04:58:27Z",
   3866       "updated_at": "2024-04-08T17:53:19Z",
   3867       "closed_at": null,
   3868       "author_association": "CONTRIBUTOR",
   3869       "active_lock_reason": null,
   3870       "body": "## user story\r\n\r\nAs a Damus media enjoyer, I want to see images rendered directly on Android/noteck, so that I do not have to click on a link and have a browser render the image.\r\n\r\n### acceptance criteria\r\n\r\n1. embed images in note (For instance nostr.build/cat.jpeg; .png; .jpg etc)\r\n2. user has options to disable auto-embed image (see low data mode#67 )\r\n",
   3871       "reactions": {
   3872         "url": "https://api.github.com/repos/damus-io/android/issues/71/reactions",
   3873         "total_count": 0,
   3874         "+1": 0,
   3875         "-1": 0,
   3876         "laugh": 0,
   3877         "hooray": 0,
   3878         "confused": 0,
   3879         "heart": 0,
   3880         "rocket": 0,
   3881         "eyes": 0
   3882       },
   3883       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/71/timeline",
   3884       "performed_via_github_app": null,
   3885       "state_reason": null
   3886     },
   3887     "comment": {
   3888       "user": "jb55",
   3889       "created_at": "2024-04-08T17:53:18Z",
   3890       "updated_at": "2024-04-08T17:53:18Z",
   3891       "body": "On Sun, Apr 07, 2024 at 09:58:48PM GMT, alltheseas wrote:\n>## user story\n>\n>As a Damus media enjoyer, I want to see images rendered directly on Android/noteck, so that I do not have to click on a link and have a browser render the image.\n>\n>### acceptance criteria\n>\n>1. embed images in note (For instance nostr.build/cat.jpeg; .png; .jpg etc)\n>2. user has options to disable auto-embed image (see low data mode#67 )\n\nThis is done but I've disabled it for now since its a bit buggy. Will\nenable to soon once I fix the remaining bugs.\n"
   3892     }
   3893   },
   3894   {
   3895     "issue": {
   3896       "url": "https://api.github.com/repos/damus-io/android/issues/70",
   3897       "repository_url": "https://api.github.com/repos/damus-io/android",
   3898       "labels_url": "https://api.github.com/repos/damus-io/android/issues/70/labels{/name}",
   3899       "comments_url": "https://api.github.com/repos/damus-io/android/issues/70/comments",
   3900       "events_url": "https://api.github.com/repos/damus-io/android/issues/70/events",
   3901       "html_url": "https://github.com/damus-io/android/issues/70",
   3902       "id": 2224004915,
   3903       "node_id": "I_kwDOKzWMZs6Ej58z",
   3904       "number": 70,
   3905       "title": "Onboarding: suggest follows list",
   3906       "user": {
   3907         "login": "alltheseas",
   3908         "id": 64376233,
   3909         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   3910         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   3911         "gravatar_id": "",
   3912         "url": "https://api.github.com/users/alltheseas",
   3913         "html_url": "https://github.com/alltheseas",
   3914         "followers_url": "https://api.github.com/users/alltheseas/followers",
   3915         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   3916         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   3917         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   3918         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   3919         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   3920         "repos_url": "https://api.github.com/users/alltheseas/repos",
   3921         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   3922         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   3923         "type": "User",
   3924         "site_admin": false
   3925       },
   3926       "labels": [
   3927         {
   3928           "id": 6778671627,
   3929           "node_id": "LA_kwDOKzWMZs8AAAABlApSCw",
   3930           "url": "https://api.github.com/repos/damus-io/android/labels/onboarding",
   3931           "name": "onboarding",
   3932           "color": "1A6B24",
   3933           "default": false,
   3934           "description": ""
   3935         }
   3936       ],
   3937       "state": "open",
   3938       "locked": false,
   3939       "assignee": null,
   3940       "assignees": [],
   3941       "milestone": null,
   3942       "comments": 0,
   3943       "created_at": "2024-04-03T21:57:24Z",
   3944       "updated_at": "2024-04-03T21:57:24Z",
   3945       "closed_at": null,
   3946       "author_association": "CONTRIBUTOR",
   3947       "active_lock_reason": null,
   3948       "body": "Use suggested follows list from iOS\r\n\r\nimplemented in iOS: https://github.com/damus-io/damus/issues/1272\r\nupdates (not yet implemented; not up to date): https://github.com/damus-io/damus/issues/1429",
   3949       "reactions": {
   3950         "url": "https://api.github.com/repos/damus-io/android/issues/70/reactions",
   3951         "total_count": 0,
   3952         "+1": 0,
   3953         "-1": 0,
   3954         "laugh": 0,
   3955         "hooray": 0,
   3956         "confused": 0,
   3957         "heart": 0,
   3958         "rocket": 0,
   3959         "eyes": 0
   3960       },
   3961       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/70/timeline",
   3962       "performed_via_github_app": null,
   3963       "state_reason": null
   3964     }
   3965   },
   3966   {
   3967     "issue": {
   3968       "url": "https://api.github.com/repos/damus-io/android/issues/69",
   3969       "repository_url": "https://api.github.com/repos/damus-io/android",
   3970       "labels_url": "https://api.github.com/repos/damus-io/android/issues/69/labels{/name}",
   3971       "comments_url": "https://api.github.com/repos/damus-io/android/issues/69/comments",
   3972       "events_url": "https://api.github.com/repos/damus-io/android/issues/69/events",
   3973       "html_url": "https://github.com/damus-io/android/issues/69",
   3974       "id": 2223992009,
   3975       "node_id": "I_kwDOKzWMZs6Ej2zJ",
   3976       "number": 69,
   3977       "title": "Onboarding: Auto create bootstrap relay list",
   3978       "user": {
   3979         "login": "alltheseas",
   3980         "id": 64376233,
   3981         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   3982         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   3983         "gravatar_id": "",
   3984         "url": "https://api.github.com/users/alltheseas",
   3985         "html_url": "https://github.com/alltheseas",
   3986         "followers_url": "https://api.github.com/users/alltheseas/followers",
   3987         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   3988         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   3989         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   3990         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   3991         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   3992         "repos_url": "https://api.github.com/users/alltheseas/repos",
   3993         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   3994         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   3995         "type": "User",
   3996         "site_admin": false
   3997       },
   3998       "labels": [
   3999         {
   4000           "id": 6272198361,
   4001           "node_id": "LA_kwDOKzWMZs8AAAABddom2Q",
   4002           "url": "https://api.github.com/repos/damus-io/android/labels/relays",
   4003           "name": "relays",
   4004           "color": "2ACD20",
   4005           "default": false,
   4006           "description": ""
   4007         },
   4008         {
   4009           "id": 6778671627,
   4010           "node_id": "LA_kwDOKzWMZs8AAAABlApSCw",
   4011           "url": "https://api.github.com/repos/damus-io/android/labels/onboarding",
   4012           "name": "onboarding",
   4013           "color": "1A6B24",
   4014           "default": false,
   4015           "description": ""
   4016         }
   4017       ],
   4018       "state": "open",
   4019       "locked": false,
   4020       "assignee": null,
   4021       "assignees": [],
   4022       "milestone": {
   4023         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   4024         "html_url": "https://github.com/damus-io/android/milestone/1",
   4025         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   4026         "id": 10252427,
   4027         "node_id": "MI_kwDOKzWMZs4AnHCL",
   4028         "number": 1,
   4029         "title": "0.1 Android PRAGUE",
   4030         "description": "",
   4031         "creator": {
   4032           "login": "alltheseas",
   4033           "id": 64376233,
   4034           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4035           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4036           "gravatar_id": "",
   4037           "url": "https://api.github.com/users/alltheseas",
   4038           "html_url": "https://github.com/alltheseas",
   4039           "followers_url": "https://api.github.com/users/alltheseas/followers",
   4040           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4041           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4042           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4043           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4044           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4045           "repos_url": "https://api.github.com/users/alltheseas/repos",
   4046           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4047           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4048           "type": "User",
   4049           "site_admin": false
   4050         },
   4051         "open_issues": 22,
   4052         "closed_issues": 3,
   4053         "state": "open",
   4054         "created_at": "2023-11-30T19:39:43Z",
   4055         "updated_at": "2024-04-09T19:49:56Z",
   4056         "due_on": "2024-06-12T07:00:00Z",
   4057         "closed_at": null
   4058       },
   4059       "comments": 0,
   4060       "created_at": "2024-04-03T21:47:31Z",
   4061       "updated_at": "2024-04-09T16:55:21Z",
   4062       "closed_at": null,
   4063       "author_association": "CONTRIBUTOR",
   4064       "active_lock_reason": null,
   4065       "body": "### related\r\n\r\ncreate keypair https://github.com/damus-io/android/issues/2",
   4066       "reactions": {
   4067         "url": "https://api.github.com/repos/damus-io/android/issues/69/reactions",
   4068         "total_count": 0,
   4069         "+1": 0,
   4070         "-1": 0,
   4071         "laugh": 0,
   4072         "hooray": 0,
   4073         "confused": 0,
   4074         "heart": 0,
   4075         "rocket": 0,
   4076         "eyes": 0
   4077       },
   4078       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/69/timeline",
   4079       "performed_via_github_app": null,
   4080       "state_reason": null
   4081     }
   4082   },
   4083   {
   4084     "issue": {
   4085       "url": "https://api.github.com/repos/damus-io/android/issues/68",
   4086       "repository_url": "https://api.github.com/repos/damus-io/android",
   4087       "labels_url": "https://api.github.com/repos/damus-io/android/issues/68/labels{/name}",
   4088       "comments_url": "https://api.github.com/repos/damus-io/android/issues/68/comments",
   4089       "events_url": "https://api.github.com/repos/damus-io/android/issues/68/events",
   4090       "html_url": "https://github.com/damus-io/android/issues/68",
   4091       "id": 2221991008,
   4092       "node_id": "I_kwDOKzWMZs6EcORg",
   4093       "number": 68,
   4094       "title": "label fediverse notes ",
   4095       "user": {
   4096         "login": "alltheseas",
   4097         "id": 64376233,
   4098         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4099         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4100         "gravatar_id": "",
   4101         "url": "https://api.github.com/users/alltheseas",
   4102         "html_url": "https://github.com/alltheseas",
   4103         "followers_url": "https://api.github.com/users/alltheseas/followers",
   4104         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4105         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4106         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4107         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4108         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4109         "repos_url": "https://api.github.com/users/alltheseas/repos",
   4110         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4111         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4112         "type": "User",
   4113         "site_admin": false
   4114       },
   4115       "labels": [
   4116         {
   4117           "id": 6264778307,
   4118           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   4119           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   4120           "name": "enhancement",
   4121           "color": "a2eeef",
   4122           "default": true,
   4123           "description": "New feature or request"
   4124         }
   4125       ],
   4126       "state": "open",
   4127       "locked": false,
   4128       "assignee": null,
   4129       "assignees": [],
   4130       "milestone": null,
   4131       "comments": 0,
   4132       "created_at": "2024-04-03T06:08:52Z",
   4133       "updated_at": "2024-04-03T06:08:52Z",
   4134       "closed_at": null,
   4135       "author_association": "CONTRIBUTOR",
   4136       "active_lock_reason": null,
   4137       "body": "## user story\r\n\r\nAs a Damus user who interacts with the fediverse, I would like to see which notes come from the fediverse, so that I know what corner of the distributed social network world I am interacting with.\r\n\r\n### acceptance criteria\r\n\r\n1. notes from fediverse are labeled as such in timeline\r\n2. 1. notes from fediverse are labeled as such in note view",
   4138       "reactions": {
   4139         "url": "https://api.github.com/repos/damus-io/android/issues/68/reactions",
   4140         "total_count": 0,
   4141         "+1": 0,
   4142         "-1": 0,
   4143         "laugh": 0,
   4144         "hooray": 0,
   4145         "confused": 0,
   4146         "heart": 0,
   4147         "rocket": 0,
   4148         "eyes": 0
   4149       },
   4150       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/68/timeline",
   4151       "performed_via_github_app": null,
   4152       "state_reason": null
   4153     }
   4154   },
   4155   {
   4156     "issue": {
   4157       "url": "https://api.github.com/repos/damus-io/android/issues/67",
   4158       "repository_url": "https://api.github.com/repos/damus-io/android",
   4159       "labels_url": "https://api.github.com/repos/damus-io/android/issues/67/labels{/name}",
   4160       "comments_url": "https://api.github.com/repos/damus-io/android/issues/67/comments",
   4161       "events_url": "https://api.github.com/repos/damus-io/android/issues/67/events",
   4162       "html_url": "https://github.com/damus-io/android/issues/67",
   4163       "id": 2221988870,
   4164       "node_id": "I_kwDOKzWMZs6EcNwG",
   4165       "number": 67,
   4166       "title": "low data mode",
   4167       "user": {
   4168         "login": "alltheseas",
   4169         "id": 64376233,
   4170         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4171         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4172         "gravatar_id": "",
   4173         "url": "https://api.github.com/users/alltheseas",
   4174         "html_url": "https://github.com/alltheseas",
   4175         "followers_url": "https://api.github.com/users/alltheseas/followers",
   4176         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4177         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4178         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4179         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4180         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4181         "repos_url": "https://api.github.com/users/alltheseas/repos",
   4182         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4183         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4184         "type": "User",
   4185         "site_admin": false
   4186       },
   4187       "labels": [
   4188         {
   4189           "id": 6264778307,
   4190           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   4191           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   4192           "name": "enhancement",
   4193           "color": "a2eeef",
   4194           "default": true,
   4195           "description": "New feature or request"
   4196         }
   4197       ],
   4198       "state": "open",
   4199       "locked": false,
   4200       "assignee": null,
   4201       "assignees": [],
   4202       "milestone": null,
   4203       "comments": 0,
   4204       "created_at": "2024-04-03T06:07:09Z",
   4205       "updated_at": "2024-04-03T06:07:09Z",
   4206       "closed_at": null,
   4207       "author_association": "CONTRIBUTOR",
   4208       "active_lock_reason": null,
   4209       "body": "## user story\r\n\r\nAs a Damus pleb who uses app on the go (cellular), I want to have a setting where I can turn down Damus data needs (data saver mode), so that I don't surpass my celullar carrier's data throttling threshold, AND so that my events post thereby avoiding poor Damus experience(s).\r\n\r\n### Acceptance Criteria\r\n1. In settings Damus user can set cellular mode on\r\n2. By setting cellular mode, Damus automagically detects when Damus is not on wi-fi, and reduces data demands\r\n3. User can clearly see that Damus is performing in low data mode\r\n4. in low data mode:\r\n-damus does not auto-load new images\r\n-damus does not auto-load new videos\r\n-damus does not auto-load new link previews (does this use significant data?)\r\n-damus does not load new profile banners\r\n-damus does not load new pfps\r\n\r\n### questions\r\n-design: does the new note / feed refresh mechanism change in low data mode?\r\n-design: @robagreda what does \"low data mode\" status look like? how might we display low data mode to the user when it is on? should low data mode icon be displayed all the time?\r\n-design: @robagreda how might we allow user to change low data mode setting (when not on wi-fi) without having to send user deep in the settings menus?\r\n-design: does user have a mechanism to manually load an image as a one off, video while in low data mode?",
   4210       "reactions": {
   4211         "url": "https://api.github.com/repos/damus-io/android/issues/67/reactions",
   4212         "total_count": 0,
   4213         "+1": 0,
   4214         "-1": 0,
   4215         "laugh": 0,
   4216         "hooray": 0,
   4217         "confused": 0,
   4218         "heart": 0,
   4219         "rocket": 0,
   4220         "eyes": 0
   4221       },
   4222       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/67/timeline",
   4223       "performed_via_github_app": null,
   4224       "state_reason": null
   4225     }
   4226   },
   4227   {
   4228     "issue": {
   4229       "url": "https://api.github.com/repos/damus-io/android/issues/66",
   4230       "repository_url": "https://api.github.com/repos/damus-io/android",
   4231       "labels_url": "https://api.github.com/repos/damus-io/android/issues/66/labels{/name}",
   4232       "comments_url": "https://api.github.com/repos/damus-io/android/issues/66/comments",
   4233       "events_url": "https://api.github.com/repos/damus-io/android/issues/66/events",
   4234       "html_url": "https://github.com/damus-io/android/issues/66",
   4235       "id": 2221947055,
   4236       "node_id": "I_kwDOKzWMZs6EcDiv",
   4237       "number": 66,
   4238       "title": "Recurring purple subscription",
   4239       "user": {
   4240         "login": "alltheseas",
   4241         "id": 64376233,
   4242         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4243         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4244         "gravatar_id": "",
   4245         "url": "https://api.github.com/users/alltheseas",
   4246         "html_url": "https://github.com/alltheseas",
   4247         "followers_url": "https://api.github.com/users/alltheseas/followers",
   4248         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4249         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4250         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4251         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4252         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4253         "repos_url": "https://api.github.com/users/alltheseas/repos",
   4254         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4255         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4256         "type": "User",
   4257         "site_admin": false
   4258       },
   4259       "labels": [
   4260         {
   4261           "id": 6530754378,
   4262           "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg",
   4263           "url": "https://api.github.com/repos/damus-io/android/labels/purple",
   4264           "name": "purple",
   4265           "color": "5319E7",
   4266           "default": false,
   4267           "description": ""
   4268         }
   4269       ],
   4270       "state": "open",
   4271       "locked": false,
   4272       "assignee": null,
   4273       "assignees": [],
   4274       "milestone": null,
   4275       "comments": 1,
   4276       "created_at": "2024-04-03T05:42:47Z",
   4277       "updated_at": "2024-04-03T05:43:17Z",
   4278       "closed_at": null,
   4279       "author_association": "CONTRIBUTOR",
   4280       "active_lock_reason": null,
   4281       "body": "## user story\r\n\r\nAs a Damus supporter, I would like a way to subscribe to Damus purple in a recurring manner, so that I don't have to remember to renew my subscription in order to support Damus devs.\r\n\r\n### acceptance criteria\r\n\r\n1. There is a method to set up a recurring subscription using LN / sats / NWC / NWA etc\r\n\r\n### builds on\r\n\r\nDamus Purple Android https://github.com/damus-io/android/issues/55",
   4282       "reactions": {
   4283         "url": "https://api.github.com/repos/damus-io/android/issues/66/reactions",
   4284         "total_count": 0,
   4285         "+1": 0,
   4286         "-1": 0,
   4287         "laugh": 0,
   4288         "hooray": 0,
   4289         "confused": 0,
   4290         "heart": 0,
   4291         "rocket": 0,
   4292         "eyes": 0
   4293       },
   4294       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/66/timeline",
   4295       "performed_via_github_app": null,
   4296       "state_reason": null
   4297     }
   4298   },
   4299   {
   4300     "issue": {
   4301       "url": "https://api.github.com/repos/damus-io/android/issues/66",
   4302       "repository_url": "https://api.github.com/repos/damus-io/android",
   4303       "labels_url": "https://api.github.com/repos/damus-io/android/issues/66/labels{/name}",
   4304       "comments_url": "https://api.github.com/repos/damus-io/android/issues/66/comments",
   4305       "events_url": "https://api.github.com/repos/damus-io/android/issues/66/events",
   4306       "html_url": "https://github.com/damus-io/android/issues/66",
   4307       "id": 2221947055,
   4308       "node_id": "I_kwDOKzWMZs6EcDiv",
   4309       "number": 66,
   4310       "title": "Recurring purple subscription",
   4311       "user": {
   4312         "login": "alltheseas",
   4313         "id": 64376233,
   4314         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4315         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4316         "gravatar_id": "",
   4317         "url": "https://api.github.com/users/alltheseas",
   4318         "html_url": "https://github.com/alltheseas",
   4319         "followers_url": "https://api.github.com/users/alltheseas/followers",
   4320         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4321         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4322         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4323         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4324         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4325         "repos_url": "https://api.github.com/users/alltheseas/repos",
   4326         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4327         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4328         "type": "User",
   4329         "site_admin": false
   4330       },
   4331       "labels": [
   4332         {
   4333           "id": 6530754378,
   4334           "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg",
   4335           "url": "https://api.github.com/repos/damus-io/android/labels/purple",
   4336           "name": "purple",
   4337           "color": "5319E7",
   4338           "default": false,
   4339           "description": ""
   4340         }
   4341       ],
   4342       "state": "open",
   4343       "locked": false,
   4344       "assignee": null,
   4345       "assignees": [],
   4346       "milestone": null,
   4347       "comments": 1,
   4348       "created_at": "2024-04-03T05:42:47Z",
   4349       "updated_at": "2024-04-03T05:43:17Z",
   4350       "closed_at": null,
   4351       "author_association": "CONTRIBUTOR",
   4352       "active_lock_reason": null,
   4353       "body": "## user story\r\n\r\nAs a Damus supporter, I would like a way to subscribe to Damus purple in a recurring manner, so that I don't have to remember to renew my subscription in order to support Damus devs.\r\n\r\n### acceptance criteria\r\n\r\n1. There is a method to set up a recurring subscription using LN / sats / NWC / NWA etc\r\n\r\n### builds on\r\n\r\nDamus Purple Android https://github.com/damus-io/android/issues/55",
   4354       "reactions": {
   4355         "url": "https://api.github.com/repos/damus-io/android/issues/66/reactions",
   4356         "total_count": 0,
   4357         "+1": 0,
   4358         "-1": 0,
   4359         "laugh": 0,
   4360         "hooray": 0,
   4361         "confused": 0,
   4362         "heart": 0,
   4363         "rocket": 0,
   4364         "eyes": 0
   4365       },
   4366       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/66/timeline",
   4367       "performed_via_github_app": null,
   4368       "state_reason": null
   4369     },
   4370     "comment": {
   4371       "user": "alltheseas",
   4372       "created_at": "2024-04-03T05:43:16Z",
   4373       "updated_at": "2024-04-03T05:43:16Z",
   4374       "body": "![image](https://github.com/damus-io/android/assets/64376233/889742d3-ba0f-45e2-af18-d945623338b4)\r\n"
   4375     }
   4376   },
   4377   {
   4378     "issue": {
   4379       "url": "https://api.github.com/repos/damus-io/android/issues/65",
   4380       "repository_url": "https://api.github.com/repos/damus-io/android",
   4381       "labels_url": "https://api.github.com/repos/damus-io/android/issues/65/labels{/name}",
   4382       "comments_url": "https://api.github.com/repos/damus-io/android/issues/65/comments",
   4383       "events_url": "https://api.github.com/repos/damus-io/android/issues/65/events",
   4384       "html_url": "https://github.com/damus-io/android/issues/65",
   4385       "id": 2221940779,
   4386       "node_id": "I_kwDOKzWMZs6EcCAr",
   4387       "number": 65,
   4388       "title": "Follow hashtag",
   4389       "user": {
   4390         "login": "alltheseas",
   4391         "id": 64376233,
   4392         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4393         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4394         "gravatar_id": "",
   4395         "url": "https://api.github.com/users/alltheseas",
   4396         "html_url": "https://github.com/alltheseas",
   4397         "followers_url": "https://api.github.com/users/alltheseas/followers",
   4398         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4399         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4400         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4401         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4402         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4403         "repos_url": "https://api.github.com/users/alltheseas/repos",
   4404         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4405         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4406         "type": "User",
   4407         "site_admin": false
   4408       },
   4409       "labels": [
   4410         {
   4411           "id": 6264778307,
   4412           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   4413           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   4414           "name": "enhancement",
   4415           "color": "a2eeef",
   4416           "default": true,
   4417           "description": "New feature or request"
   4418         }
   4419       ],
   4420       "state": "open",
   4421       "locked": false,
   4422       "assignee": null,
   4423       "assignees": [],
   4424       "milestone": null,
   4425       "comments": 0,
   4426       "created_at": "2024-04-03T05:37:22Z",
   4427       "updated_at": "2024-04-03T05:37:22Z",
   4428       "closed_at": null,
   4429       "author_association": "CONTRIBUTOR",
   4430       "active_lock_reason": null,
   4431       "body": "## User Story\r\n\r\nAs a pleb Damus user who is excited to follow a particular #hashtag, I want the ability to follow a #hashtag, so that Damus feeds me instantaneous updates of this #hashtag to my feed\r\n\r\n### Acceptance Criteria\r\n1. User can follow a hashtag \r\n2. Notes with hashtag displayed on home view \r\n3. User can see all their followed hashtags \r\n4. User can unfollow a hashtag \r\n\r\n### future\r\n\r\nhashtag view, separate from home view #32 \r\n\r\n### design\r\n\r\nWhere can user see, and edit all their followed hashtags? ",
   4432       "reactions": {
   4433         "url": "https://api.github.com/repos/damus-io/android/issues/65/reactions",
   4434         "total_count": 0,
   4435         "+1": 0,
   4436         "-1": 0,
   4437         "laugh": 0,
   4438         "hooray": 0,
   4439         "confused": 0,
   4440         "heart": 0,
   4441         "rocket": 0,
   4442         "eyes": 0
   4443       },
   4444       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/65/timeline",
   4445       "performed_via_github_app": null,
   4446       "state_reason": null
   4447     }
   4448   },
   4449   {
   4450     "issue": {
   4451       "url": "https://api.github.com/repos/damus-io/android/issues/64",
   4452       "repository_url": "https://api.github.com/repos/damus-io/android",
   4453       "labels_url": "https://api.github.com/repos/damus-io/android/issues/64/labels{/name}",
   4454       "comments_url": "https://api.github.com/repos/damus-io/android/issues/64/comments",
   4455       "events_url": "https://api.github.com/repos/damus-io/android/issues/64/events",
   4456       "html_url": "https://github.com/damus-io/android/issues/64",
   4457       "id": 2213204105,
   4458       "node_id": "I_kwDOKzWMZs6D6tCJ",
   4459       "number": 64,
   4460       "title": "Add incoming notes without shifting scroll position.",
   4461       "user": {
   4462         "login": "jb55",
   4463         "id": 45598,
   4464         "node_id": "MDQ6VXNlcjQ1NTk4",
   4465         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   4466         "gravatar_id": "",
   4467         "url": "https://api.github.com/users/jb55",
   4468         "html_url": "https://github.com/jb55",
   4469         "followers_url": "https://api.github.com/users/jb55/followers",
   4470         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   4471         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   4472         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   4473         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   4474         "organizations_url": "https://api.github.com/users/jb55/orgs",
   4475         "repos_url": "https://api.github.com/users/jb55/repos",
   4476         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   4477         "received_events_url": "https://api.github.com/users/jb55/received_events",
   4478         "type": "User",
   4479         "site_admin": false
   4480       },
   4481       "labels": [
   4482         {
   4483           "id": 6752517308,
   4484           "node_id": "LA_kwDOKzWMZs8AAAABkns8vA",
   4485           "url": "https://api.github.com/repos/damus-io/android/labels/ui",
   4486           "name": "ui",
   4487           "color": "f9d0c4",
   4488           "default": false,
   4489           "description": "ui"
   4490         }
   4491       ],
   4492       "state": "open",
   4493       "locked": false,
   4494       "assignee": null,
   4495       "assignees": [],
   4496       "milestone": null,
   4497       "comments": 1,
   4498       "created_at": "2024-03-28T13:08:41Z",
   4499       "updated_at": "2024-04-03T05:38:25Z",
   4500       "closed_at": null,
   4501       "author_association": "CONTRIBUTOR",
   4502       "active_lock_reason": null,
   4503       "body": "Now that we have a bit more control over scrolling, we have an opportunity to do something really cool.\r\n\r\nInstead of queueing notes to be inserted, we can simply render all of the new notes, calculate their sizes, put them in the timeline, and then adjust the scroll position accordingly. This will allow us to load content in realtime without moving our scroll position.",
   4504       "reactions": {
   4505         "url": "https://api.github.com/repos/damus-io/android/issues/64/reactions",
   4506         "total_count": 1,
   4507         "+1": 0,
   4508         "-1": 0,
   4509         "laugh": 0,
   4510         "hooray": 0,
   4511         "confused": 0,
   4512         "heart": 0,
   4513         "rocket": 1,
   4514         "eyes": 0
   4515       },
   4516       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/64/timeline",
   4517       "performed_via_github_app": null,
   4518       "state_reason": null
   4519     }
   4520   },
   4521   {
   4522     "issue": {
   4523       "url": "https://api.github.com/repos/damus-io/android/issues/64",
   4524       "repository_url": "https://api.github.com/repos/damus-io/android",
   4525       "labels_url": "https://api.github.com/repos/damus-io/android/issues/64/labels{/name}",
   4526       "comments_url": "https://api.github.com/repos/damus-io/android/issues/64/comments",
   4527       "events_url": "https://api.github.com/repos/damus-io/android/issues/64/events",
   4528       "html_url": "https://github.com/damus-io/android/issues/64",
   4529       "id": 2213204105,
   4530       "node_id": "I_kwDOKzWMZs6D6tCJ",
   4531       "number": 64,
   4532       "title": "Add incoming notes without shifting scroll position.",
   4533       "user": {
   4534         "login": "jb55",
   4535         "id": 45598,
   4536         "node_id": "MDQ6VXNlcjQ1NTk4",
   4537         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   4538         "gravatar_id": "",
   4539         "url": "https://api.github.com/users/jb55",
   4540         "html_url": "https://github.com/jb55",
   4541         "followers_url": "https://api.github.com/users/jb55/followers",
   4542         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   4543         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   4544         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   4545         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   4546         "organizations_url": "https://api.github.com/users/jb55/orgs",
   4547         "repos_url": "https://api.github.com/users/jb55/repos",
   4548         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   4549         "received_events_url": "https://api.github.com/users/jb55/received_events",
   4550         "type": "User",
   4551         "site_admin": false
   4552       },
   4553       "labels": [
   4554         {
   4555           "id": 6752517308,
   4556           "node_id": "LA_kwDOKzWMZs8AAAABkns8vA",
   4557           "url": "https://api.github.com/repos/damus-io/android/labels/ui",
   4558           "name": "ui",
   4559           "color": "f9d0c4",
   4560           "default": false,
   4561           "description": "ui"
   4562         }
   4563       ],
   4564       "state": "open",
   4565       "locked": false,
   4566       "assignee": null,
   4567       "assignees": [],
   4568       "milestone": null,
   4569       "comments": 1,
   4570       "created_at": "2024-03-28T13:08:41Z",
   4571       "updated_at": "2024-04-03T05:38:25Z",
   4572       "closed_at": null,
   4573       "author_association": "CONTRIBUTOR",
   4574       "active_lock_reason": null,
   4575       "body": "Now that we have a bit more control over scrolling, we have an opportunity to do something really cool.\r\n\r\nInstead of queueing notes to be inserted, we can simply render all of the new notes, calculate their sizes, put them in the timeline, and then adjust the scroll position accordingly. This will allow us to load content in realtime without moving our scroll position.",
   4576       "reactions": {
   4577         "url": "https://api.github.com/repos/damus-io/android/issues/64/reactions",
   4578         "total_count": 1,
   4579         "+1": 0,
   4580         "-1": 0,
   4581         "laugh": 0,
   4582         "hooray": 0,
   4583         "confused": 0,
   4584         "heart": 0,
   4585         "rocket": 1,
   4586         "eyes": 0
   4587       },
   4588       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/64/timeline",
   4589       "performed_via_github_app": null,
   4590       "state_reason": null
   4591     },
   4592     "comment": {
   4593       "user": "alltheseas",
   4594       "created_at": "2024-04-03T05:38:24Z",
   4595       "updated_at": "2024-04-03T05:38:24Z",
   4596       "body": "@robagreda how might the design look like for this? For instance, say that there are newer notes loaded - what sort of UI affordance could communicate there are new notes?"
   4597     }
   4598   },
   4599   {
   4600     "issue": {
   4601       "url": "https://api.github.com/repos/damus-io/android/issues/63",
   4602       "repository_url": "https://api.github.com/repos/damus-io/android",
   4603       "labels_url": "https://api.github.com/repos/damus-io/android/issues/63/labels{/name}",
   4604       "comments_url": "https://api.github.com/repos/damus-io/android/issues/63/comments",
   4605       "events_url": "https://api.github.com/repos/damus-io/android/issues/63/events",
   4606       "html_url": "https://github.com/damus-io/android/issues/63",
   4607       "id": 2211270819,
   4608       "node_id": "I_kwDOKzWMZs6DzVCj",
   4609       "number": 63,
   4610       "title": "Thread view",
   4611       "user": {
   4612         "login": "kernelkind",
   4613         "id": 8139906,
   4614         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4615         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4616         "gravatar_id": "",
   4617         "url": "https://api.github.com/users/kernelkind",
   4618         "html_url": "https://github.com/kernelkind",
   4619         "followers_url": "https://api.github.com/users/kernelkind/followers",
   4620         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4621         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4622         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4623         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4624         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4625         "repos_url": "https://api.github.com/users/kernelkind/repos",
   4626         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4627         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   4628         "type": "User",
   4629         "site_admin": false
   4630       },
   4631       "labels": [
   4632         {
   4633           "id": 6264778307,
   4634           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   4635           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   4636           "name": "enhancement",
   4637           "color": "a2eeef",
   4638           "default": true,
   4639           "description": "New feature or request"
   4640         }
   4641       ],
   4642       "state": "open",
   4643       "locked": false,
   4644       "assignee": {
   4645         "login": "kernelkind",
   4646         "id": 8139906,
   4647         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4648         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4649         "gravatar_id": "",
   4650         "url": "https://api.github.com/users/kernelkind",
   4651         "html_url": "https://github.com/kernelkind",
   4652         "followers_url": "https://api.github.com/users/kernelkind/followers",
   4653         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4654         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4655         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4656         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4657         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4658         "repos_url": "https://api.github.com/users/kernelkind/repos",
   4659         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4660         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   4661         "type": "User",
   4662         "site_admin": false
   4663       },
   4664       "assignees": [
   4665         {
   4666           "login": "kernelkind",
   4667           "id": 8139906,
   4668           "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4669           "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4670           "gravatar_id": "",
   4671           "url": "https://api.github.com/users/kernelkind",
   4672           "html_url": "https://github.com/kernelkind",
   4673           "followers_url": "https://api.github.com/users/kernelkind/followers",
   4674           "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4675           "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4676           "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4677           "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4678           "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4679           "repos_url": "https://api.github.com/users/kernelkind/repos",
   4680           "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4681           "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   4682           "type": "User",
   4683           "site_admin": false
   4684         }
   4685       ],
   4686       "milestone": {
   4687         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   4688         "html_url": "https://github.com/damus-io/android/milestone/1",
   4689         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   4690         "id": 10252427,
   4691         "node_id": "MI_kwDOKzWMZs4AnHCL",
   4692         "number": 1,
   4693         "title": "0.1 Android PRAGUE",
   4694         "description": "",
   4695         "creator": {
   4696           "login": "alltheseas",
   4697           "id": 64376233,
   4698           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4699           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4700           "gravatar_id": "",
   4701           "url": "https://api.github.com/users/alltheseas",
   4702           "html_url": "https://github.com/alltheseas",
   4703           "followers_url": "https://api.github.com/users/alltheseas/followers",
   4704           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4705           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4706           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4707           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4708           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4709           "repos_url": "https://api.github.com/users/alltheseas/repos",
   4710           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4711           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4712           "type": "User",
   4713           "site_admin": false
   4714         },
   4715         "open_issues": 22,
   4716         "closed_issues": 3,
   4717         "state": "open",
   4718         "created_at": "2023-11-30T19:39:43Z",
   4719         "updated_at": "2024-04-09T19:49:56Z",
   4720         "due_on": "2024-06-12T07:00:00Z",
   4721         "closed_at": null
   4722       },
   4723       "comments": 1,
   4724       "created_at": "2024-03-27T16:37:32Z",
   4725       "updated_at": "2024-04-08T21:50:46Z",
   4726       "closed_at": null,
   4727       "author_association": "COLLABORATOR",
   4728       "active_lock_reason": null,
   4729       "body": "Upon clicking on a note, the user should be presented with a \"thread view\" which displays the replies to that note\r\n\r\nTracking issues we need to do first:\r\n\r\n- [ ] https://github.com/damus-io/notedeck/issues/1 for constructing threads\r\n- [ ] https://github.com/damus-io/android/issues/81 for navigating to a thread on mobile",
   4730       "reactions": {
   4731         "url": "https://api.github.com/repos/damus-io/android/issues/63/reactions",
   4732         "total_count": 0,
   4733         "+1": 0,
   4734         "-1": 0,
   4735         "laugh": 0,
   4736         "hooray": 0,
   4737         "confused": 0,
   4738         "heart": 0,
   4739         "rocket": 0,
   4740         "eyes": 0
   4741       },
   4742       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/63/timeline",
   4743       "performed_via_github_app": null,
   4744       "state_reason": null
   4745     }
   4746   },
   4747   {
   4748     "issue": {
   4749       "url": "https://api.github.com/repos/damus-io/android/issues/63",
   4750       "repository_url": "https://api.github.com/repos/damus-io/android",
   4751       "labels_url": "https://api.github.com/repos/damus-io/android/issues/63/labels{/name}",
   4752       "comments_url": "https://api.github.com/repos/damus-io/android/issues/63/comments",
   4753       "events_url": "https://api.github.com/repos/damus-io/android/issues/63/events",
   4754       "html_url": "https://github.com/damus-io/android/issues/63",
   4755       "id": 2211270819,
   4756       "node_id": "I_kwDOKzWMZs6DzVCj",
   4757       "number": 63,
   4758       "title": "Thread view",
   4759       "user": {
   4760         "login": "kernelkind",
   4761         "id": 8139906,
   4762         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4763         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4764         "gravatar_id": "",
   4765         "url": "https://api.github.com/users/kernelkind",
   4766         "html_url": "https://github.com/kernelkind",
   4767         "followers_url": "https://api.github.com/users/kernelkind/followers",
   4768         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4769         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4770         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4771         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4772         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4773         "repos_url": "https://api.github.com/users/kernelkind/repos",
   4774         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4775         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   4776         "type": "User",
   4777         "site_admin": false
   4778       },
   4779       "labels": [
   4780         {
   4781           "id": 6264778307,
   4782           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   4783           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   4784           "name": "enhancement",
   4785           "color": "a2eeef",
   4786           "default": true,
   4787           "description": "New feature or request"
   4788         }
   4789       ],
   4790       "state": "open",
   4791       "locked": false,
   4792       "assignee": {
   4793         "login": "kernelkind",
   4794         "id": 8139906,
   4795         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4796         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4797         "gravatar_id": "",
   4798         "url": "https://api.github.com/users/kernelkind",
   4799         "html_url": "https://github.com/kernelkind",
   4800         "followers_url": "https://api.github.com/users/kernelkind/followers",
   4801         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4802         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4803         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4804         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4805         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4806         "repos_url": "https://api.github.com/users/kernelkind/repos",
   4807         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4808         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   4809         "type": "User",
   4810         "site_admin": false
   4811       },
   4812       "assignees": [
   4813         {
   4814           "login": "kernelkind",
   4815           "id": 8139906,
   4816           "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4817           "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4818           "gravatar_id": "",
   4819           "url": "https://api.github.com/users/kernelkind",
   4820           "html_url": "https://github.com/kernelkind",
   4821           "followers_url": "https://api.github.com/users/kernelkind/followers",
   4822           "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4823           "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4824           "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4825           "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4826           "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4827           "repos_url": "https://api.github.com/users/kernelkind/repos",
   4828           "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4829           "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   4830           "type": "User",
   4831           "site_admin": false
   4832         }
   4833       ],
   4834       "milestone": {
   4835         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   4836         "html_url": "https://github.com/damus-io/android/milestone/1",
   4837         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   4838         "id": 10252427,
   4839         "node_id": "MI_kwDOKzWMZs4AnHCL",
   4840         "number": 1,
   4841         "title": "0.1 Android PRAGUE",
   4842         "description": "",
   4843         "creator": {
   4844           "login": "alltheseas",
   4845           "id": 64376233,
   4846           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   4847           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   4848           "gravatar_id": "",
   4849           "url": "https://api.github.com/users/alltheseas",
   4850           "html_url": "https://github.com/alltheseas",
   4851           "followers_url": "https://api.github.com/users/alltheseas/followers",
   4852           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   4853           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   4854           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   4855           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   4856           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   4857           "repos_url": "https://api.github.com/users/alltheseas/repos",
   4858           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   4859           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   4860           "type": "User",
   4861           "site_admin": false
   4862         },
   4863         "open_issues": 22,
   4864         "closed_issues": 3,
   4865         "state": "open",
   4866         "created_at": "2023-11-30T19:39:43Z",
   4867         "updated_at": "2024-04-09T19:49:56Z",
   4868         "due_on": "2024-06-12T07:00:00Z",
   4869         "closed_at": null
   4870       },
   4871       "comments": 1,
   4872       "created_at": "2024-03-27T16:37:32Z",
   4873       "updated_at": "2024-04-08T21:50:46Z",
   4874       "closed_at": null,
   4875       "author_association": "COLLABORATOR",
   4876       "active_lock_reason": null,
   4877       "body": "Upon clicking on a note, the user should be presented with a \"thread view\" which displays the replies to that note\r\n\r\nTracking issues we need to do first:\r\n\r\n- [ ] https://github.com/damus-io/notedeck/issues/1 for constructing threads\r\n- [ ] https://github.com/damus-io/android/issues/81 for navigating to a thread on mobile",
   4878       "reactions": {
   4879         "url": "https://api.github.com/repos/damus-io/android/issues/63/reactions",
   4880         "total_count": 0,
   4881         "+1": 0,
   4882         "-1": 0,
   4883         "laugh": 0,
   4884         "hooray": 0,
   4885         "confused": 0,
   4886         "heart": 0,
   4887         "rocket": 0,
   4888         "eyes": 0
   4889       },
   4890       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/63/timeline",
   4891       "performed_via_github_app": null,
   4892       "state_reason": null
   4893     },
   4894     "comment": {
   4895       "user": "jb55",
   4896       "created_at": "2024-04-08T21:50:45Z",
   4897       "updated_at": "2024-04-08T21:50:45Z",
   4898       "body": "I added some initial things we need to do first before we get to this"
   4899     }
   4900   },
   4901   {
   4902     "issue": {
   4903       "url": "https://api.github.com/repos/damus-io/android/issues/62",
   4904       "repository_url": "https://api.github.com/repos/damus-io/android",
   4905       "labels_url": "https://api.github.com/repos/damus-io/android/issues/62/labels{/name}",
   4906       "comments_url": "https://api.github.com/repos/damus-io/android/issues/62/comments",
   4907       "events_url": "https://api.github.com/repos/damus-io/android/issues/62/events",
   4908       "html_url": "https://github.com/damus-io/android/pull/62",
   4909       "id": 2206391946,
   4910       "node_id": "PR_kwDOKzWMZs5qsTin",
   4911       "number": 62,
   4912       "title": "QOL fixes",
   4913       "user": {
   4914         "login": "kernelkind",
   4915         "id": 8139906,
   4916         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4917         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4918         "gravatar_id": "",
   4919         "url": "https://api.github.com/users/kernelkind",
   4920         "html_url": "https://github.com/kernelkind",
   4921         "followers_url": "https://api.github.com/users/kernelkind/followers",
   4922         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4923         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4924         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4925         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4926         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4927         "repos_url": "https://api.github.com/users/kernelkind/repos",
   4928         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4929         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   4930         "type": "User",
   4931         "site_admin": false
   4932       },
   4933       "labels": [],
   4934       "state": "closed",
   4935       "locked": false,
   4936       "assignee": null,
   4937       "assignees": [],
   4938       "milestone": null,
   4939       "comments": 2,
   4940       "created_at": "2024-03-25T18:17:11Z",
   4941       "updated_at": "2024-03-26T18:26:03Z",
   4942       "closed_at": "2024-03-26T18:25:47Z",
   4943       "author_association": "COLLABORATOR",
   4944       "active_lock_reason": null,
   4945       "draft": false,
   4946       "pull_request": {
   4947         "url": "https://api.github.com/repos/damus-io/android/pulls/62",
   4948         "html_url": "https://github.com/damus-io/android/pull/62",
   4949         "diff_url": "https://github.com/damus-io/android/pull/62.diff",
   4950         "patch_url": "https://github.com/damus-io/android/pull/62.patch",
   4951         "merged_at": null
   4952       },
   4953       "body": "commit 1: the new nostrdb commit keeps getting added to cargo.lock because of the update to the toml, this tracks that change\r\n\r\ncommit 2: adds `queries/global.json` to `.gitignore` and adds logic in the `app.rs` to load the filter from that json if it exists and its valid and panic otherwise. This is helpful for #61 ",
   4954       "reactions": {
   4955         "url": "https://api.github.com/repos/damus-io/android/issues/62/reactions",
   4956         "total_count": 0,
   4957         "+1": 0,
   4958         "-1": 0,
   4959         "laugh": 0,
   4960         "hooray": 0,
   4961         "confused": 0,
   4962         "heart": 0,
   4963         "rocket": 0,
   4964         "eyes": 0
   4965       },
   4966       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/62/timeline",
   4967       "performed_via_github_app": null,
   4968       "state_reason": null
   4969     }
   4970   },
   4971   {
   4972     "issue": {
   4973       "url": "https://api.github.com/repos/damus-io/android/issues/62",
   4974       "repository_url": "https://api.github.com/repos/damus-io/android",
   4975       "labels_url": "https://api.github.com/repos/damus-io/android/issues/62/labels{/name}",
   4976       "comments_url": "https://api.github.com/repos/damus-io/android/issues/62/comments",
   4977       "events_url": "https://api.github.com/repos/damus-io/android/issues/62/events",
   4978       "html_url": "https://github.com/damus-io/android/pull/62",
   4979       "id": 2206391946,
   4980       "node_id": "PR_kwDOKzWMZs5qsTin",
   4981       "number": 62,
   4982       "title": "QOL fixes",
   4983       "user": {
   4984         "login": "kernelkind",
   4985         "id": 8139906,
   4986         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   4987         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   4988         "gravatar_id": "",
   4989         "url": "https://api.github.com/users/kernelkind",
   4990         "html_url": "https://github.com/kernelkind",
   4991         "followers_url": "https://api.github.com/users/kernelkind/followers",
   4992         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   4993         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   4994         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   4995         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   4996         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   4997         "repos_url": "https://api.github.com/users/kernelkind/repos",
   4998         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   4999         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5000         "type": "User",
   5001         "site_admin": false
   5002       },
   5003       "labels": [],
   5004       "state": "closed",
   5005       "locked": false,
   5006       "assignee": null,
   5007       "assignees": [],
   5008       "milestone": null,
   5009       "comments": 2,
   5010       "created_at": "2024-03-25T18:17:11Z",
   5011       "updated_at": "2024-03-26T18:26:03Z",
   5012       "closed_at": "2024-03-26T18:25:47Z",
   5013       "author_association": "COLLABORATOR",
   5014       "active_lock_reason": null,
   5015       "draft": false,
   5016       "pull_request": {
   5017         "url": "https://api.github.com/repos/damus-io/android/pulls/62",
   5018         "html_url": "https://github.com/damus-io/android/pull/62",
   5019         "diff_url": "https://github.com/damus-io/android/pull/62.diff",
   5020         "patch_url": "https://github.com/damus-io/android/pull/62.patch",
   5021         "merged_at": null
   5022       },
   5023       "body": "commit 1: the new nostrdb commit keeps getting added to cargo.lock because of the update to the toml, this tracks that change\r\n\r\ncommit 2: adds `queries/global.json` to `.gitignore` and adds logic in the `app.rs` to load the filter from that json if it exists and its valid and panic otherwise. This is helpful for #61 ",
   5024       "reactions": {
   5025         "url": "https://api.github.com/repos/damus-io/android/issues/62/reactions",
   5026         "total_count": 0,
   5027         "+1": 0,
   5028         "-1": 0,
   5029         "laugh": 0,
   5030         "hooray": 0,
   5031         "confused": 0,
   5032         "heart": 0,
   5033         "rocket": 0,
   5034         "eyes": 0
   5035       },
   5036       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/62/timeline",
   5037       "performed_via_github_app": null,
   5038       "state_reason": null
   5039     },
   5040     "comment": {
   5041       "user": "jb55",
   5042       "created_at": "2024-03-26T08:32:44Z",
   5043       "updated_at": "2024-03-26T08:32:44Z",
   5044       "body": "You don't need to submit this separately I have pending review on these patches from the previous PR.\n"
   5045     }
   5046   },
   5047   {
   5048     "issue": {
   5049       "url": "https://api.github.com/repos/damus-io/android/issues/62",
   5050       "repository_url": "https://api.github.com/repos/damus-io/android",
   5051       "labels_url": "https://api.github.com/repos/damus-io/android/issues/62/labels{/name}",
   5052       "comments_url": "https://api.github.com/repos/damus-io/android/issues/62/comments",
   5053       "events_url": "https://api.github.com/repos/damus-io/android/issues/62/events",
   5054       "html_url": "https://github.com/damus-io/android/pull/62",
   5055       "id": 2206391946,
   5056       "node_id": "PR_kwDOKzWMZs5qsTin",
   5057       "number": 62,
   5058       "title": "QOL fixes",
   5059       "user": {
   5060         "login": "kernelkind",
   5061         "id": 8139906,
   5062         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5063         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5064         "gravatar_id": "",
   5065         "url": "https://api.github.com/users/kernelkind",
   5066         "html_url": "https://github.com/kernelkind",
   5067         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5068         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5069         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5070         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5071         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5072         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5073         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5074         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5075         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5076         "type": "User",
   5077         "site_admin": false
   5078       },
   5079       "labels": [],
   5080       "state": "closed",
   5081       "locked": false,
   5082       "assignee": null,
   5083       "assignees": [],
   5084       "milestone": null,
   5085       "comments": 2,
   5086       "created_at": "2024-03-25T18:17:11Z",
   5087       "updated_at": "2024-03-26T18:26:03Z",
   5088       "closed_at": "2024-03-26T18:25:47Z",
   5089       "author_association": "COLLABORATOR",
   5090       "active_lock_reason": null,
   5091       "draft": false,
   5092       "pull_request": {
   5093         "url": "https://api.github.com/repos/damus-io/android/pulls/62",
   5094         "html_url": "https://github.com/damus-io/android/pull/62",
   5095         "diff_url": "https://github.com/damus-io/android/pull/62.diff",
   5096         "patch_url": "https://github.com/damus-io/android/pull/62.patch",
   5097         "merged_at": null
   5098       },
   5099       "body": "commit 1: the new nostrdb commit keeps getting added to cargo.lock because of the update to the toml, this tracks that change\r\n\r\ncommit 2: adds `queries/global.json` to `.gitignore` and adds logic in the `app.rs` to load the filter from that json if it exists and its valid and panic otherwise. This is helpful for #61 ",
   5100       "reactions": {
   5101         "url": "https://api.github.com/repos/damus-io/android/issues/62/reactions",
   5102         "total_count": 0,
   5103         "+1": 0,
   5104         "-1": 0,
   5105         "laugh": 0,
   5106         "hooray": 0,
   5107         "confused": 0,
   5108         "heart": 0,
   5109         "rocket": 0,
   5110         "eyes": 0
   5111       },
   5112       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/62/timeline",
   5113       "performed_via_github_app": null,
   5114       "state_reason": null
   5115     },
   5116     "comment": {
   5117       "user": "jb55",
   5118       "created_at": "2024-03-26T08:34:09Z",
   5119       "updated_at": "2024-03-26T08:34:09Z",
   5120       "body": "On Tue, Mar 26, 2024 at 08:32:31AM +0000, William Casarin wrote:\n>You don't need to submit this separately I have pending review on these patches from the previous PR.\n\nThe review was ready to go and neomutt wiped out all of my entire drafts:\n\nhttps://github.com/neomutt/neomutt/issues/4210\n\nThis is a bit of a \"dog ate my homework\" but this is why I'm a bit delayed on this.\n"
   5121     }
   5122   },
   5123   {
   5124     "issue": {
   5125       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5126       "repository_url": "https://api.github.com/repos/damus-io/android",
   5127       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5128       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5129       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5130       "html_url": "https://github.com/damus-io/android/pull/61",
   5131       "id": 2204587463,
   5132       "node_id": "PR_kwDOKzWMZs5qmInC",
   5133       "number": 61,
   5134       "title": "Account login",
   5135       "user": {
   5136         "login": "kernelkind",
   5137         "id": 8139906,
   5138         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5139         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5140         "gravatar_id": "",
   5141         "url": "https://api.github.com/users/kernelkind",
   5142         "html_url": "https://github.com/kernelkind",
   5143         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5144         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5145         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5146         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5147         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5148         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5149         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5150         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5151         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5152         "type": "User",
   5153         "site_admin": false
   5154       },
   5155       "labels": [],
   5156       "state": "closed",
   5157       "locked": false,
   5158       "assignee": null,
   5159       "assignees": [],
   5160       "milestone": null,
   5161       "comments": 9,
   5162       "created_at": "2024-03-24T22:22:19Z",
   5163       "updated_at": "2024-04-01T21:14:13Z",
   5164       "closed_at": "2024-04-01T21:14:13Z",
   5165       "author_association": "COLLABORATOR",
   5166       "active_lock_reason": null,
   5167       "draft": false,
   5168       "pull_request": {
   5169         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5170         "html_url": "https://github.com/damus-io/android/pull/61",
   5171         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5172         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5173         "merged_at": null
   5174       },
   5175       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5176       "reactions": {
   5177         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5178         "total_count": 0,
   5179         "+1": 0,
   5180         "-1": 0,
   5181         "laugh": 0,
   5182         "hooray": 0,
   5183         "confused": 0,
   5184         "heart": 0,
   5185         "rocket": 0,
   5186         "eyes": 0
   5187       },
   5188       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5189       "performed_via_github_app": null,
   5190       "state_reason": null
   5191     }
   5192   },
   5193   {
   5194     "issue": {
   5195       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5196       "repository_url": "https://api.github.com/repos/damus-io/android",
   5197       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5198       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5199       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5200       "html_url": "https://github.com/damus-io/android/pull/61",
   5201       "id": 2204587463,
   5202       "node_id": "PR_kwDOKzWMZs5qmInC",
   5203       "number": 61,
   5204       "title": "Account login",
   5205       "user": {
   5206         "login": "kernelkind",
   5207         "id": 8139906,
   5208         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5209         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5210         "gravatar_id": "",
   5211         "url": "https://api.github.com/users/kernelkind",
   5212         "html_url": "https://github.com/kernelkind",
   5213         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5214         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5215         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5216         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5217         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5218         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5219         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5220         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5221         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5222         "type": "User",
   5223         "site_admin": false
   5224       },
   5225       "labels": [],
   5226       "state": "closed",
   5227       "locked": false,
   5228       "assignee": null,
   5229       "assignees": [],
   5230       "milestone": null,
   5231       "comments": 9,
   5232       "created_at": "2024-03-24T22:22:19Z",
   5233       "updated_at": "2024-04-01T21:14:13Z",
   5234       "closed_at": "2024-04-01T21:14:13Z",
   5235       "author_association": "COLLABORATOR",
   5236       "active_lock_reason": null,
   5237       "draft": false,
   5238       "pull_request": {
   5239         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5240         "html_url": "https://github.com/damus-io/android/pull/61",
   5241         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5242         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5243         "merged_at": null
   5244       },
   5245       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5246       "reactions": {
   5247         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5248         "total_count": 0,
   5249         "+1": 0,
   5250         "-1": 0,
   5251         "laugh": 0,
   5252         "hooray": 0,
   5253         "confused": 0,
   5254         "heart": 0,
   5255         "rocket": 0,
   5256         "eyes": 0
   5257       },
   5258       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5259       "performed_via_github_app": null,
   5260       "state_reason": null
   5261     },
   5262     "comment": {
   5263       "user": "jb55",
   5264       "created_at": "2024-03-26T09:06:44Z",
   5265       "updated_at": "2024-03-26T09:06:44Z",
   5266       "body": "On Sun, Mar 24, 2024 at 02:20:12PM -0400, kernelkind wrote:\n>This PR adds pretty basic account login. It&#39;s a tad rough, but I just wanted to get it out to get feedback.\n>\n>A couple notes:\n>- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn&#39;t see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\n\nThe main reason we are not using PublicKey from nostr_sdk is that it\ndoes have the same data layout, so for the majority of common operations\nsuch as comparing pubkeys in nostrdb, we first have to serialize the\nnostr_sdk pubkeys for each comparison.\n\nnostr_sdk is a fairy large dependency and it doesn't really gain us much\nright now. Relying on some externel library that could break us any time\nis always a liability, especially if we are depending on their core data\ntypes which they can change at any time. I would rather not use it until\nwe absolutely need to.\n\n>- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user&#39;s current `Keys` (either only public key or public &amp; private).\n\n>- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don&#39;t think this implementation shouldn&#39;t stay for when we implement private key authentication\n\nThis is a bit weird for sure.\n\n>- The login panel is very rough to look at. It&#39;s just a proof of concept to demonstrate MVP features for this PR\n\nWe actually have a login design if you want to take a look at it while\nyou work on this PR:\n\nhttps://www.figma.com/file/aONNEWCxHlckZJq0lHyxrN/Notedeck?type=design&node-id=83-4153&mode=design&t=qYfYNEEFhYWdaXh6-0\n\nKeep in mind we should be making this responsive for both mobile and\ndesktop.\n\nI guess one more thing:\n\nIn the current version I can pass multiple queries over the command line\nto build stateless UIs in notedeck. It seems like the PR breaks that.\n"
   5267     }
   5268   },
   5269   {
   5270     "issue": {
   5271       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5272       "repository_url": "https://api.github.com/repos/damus-io/android",
   5273       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5274       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5275       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5276       "html_url": "https://github.com/damus-io/android/pull/61",
   5277       "id": 2204587463,
   5278       "node_id": "PR_kwDOKzWMZs5qmInC",
   5279       "number": 61,
   5280       "title": "Account login",
   5281       "user": {
   5282         "login": "kernelkind",
   5283         "id": 8139906,
   5284         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5285         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5286         "gravatar_id": "",
   5287         "url": "https://api.github.com/users/kernelkind",
   5288         "html_url": "https://github.com/kernelkind",
   5289         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5290         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5291         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5292         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5293         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5294         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5295         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5296         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5297         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5298         "type": "User",
   5299         "site_admin": false
   5300       },
   5301       "labels": [],
   5302       "state": "closed",
   5303       "locked": false,
   5304       "assignee": null,
   5305       "assignees": [],
   5306       "milestone": null,
   5307       "comments": 9,
   5308       "created_at": "2024-03-24T22:22:19Z",
   5309       "updated_at": "2024-04-01T21:14:13Z",
   5310       "closed_at": "2024-04-01T21:14:13Z",
   5311       "author_association": "COLLABORATOR",
   5312       "active_lock_reason": null,
   5313       "draft": false,
   5314       "pull_request": {
   5315         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5316         "html_url": "https://github.com/damus-io/android/pull/61",
   5317         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5318         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5319         "merged_at": null
   5320       },
   5321       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5322       "reactions": {
   5323         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5324         "total_count": 0,
   5325         "+1": 0,
   5326         "-1": 0,
   5327         "laugh": 0,
   5328         "hooray": 0,
   5329         "confused": 0,
   5330         "heart": 0,
   5331         "rocket": 0,
   5332         "eyes": 0
   5333       },
   5334       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5335       "performed_via_github_app": null,
   5336       "state_reason": null
   5337     },
   5338     "comment": {
   5339       "user": "jb55",
   5340       "created_at": "2024-03-26T09:58:23Z",
   5341       "updated_at": "2024-03-26T09:58:23Z",
   5342       "body": "This entire patch is confusing to me\n\nOn Sun, Mar 24, 2024 at 02:20:12PM -0400, kernelkind wrote:\n>Closes: https://github.com/damus-io/android/pull/61\n>---\n> .gitignore          |  1 +\n> queries/global.json |  1 -\n> src/app.rs          | 11 +++++++++--\n> 3 files changed, 10 insertions(+), 3 deletions(-)\n> delete mode 100644 queries/global.json\n>\n>diff --git a/.gitignore b/.gitignore\n>index 100e65f..4eea8a9 100644\n>--- a/.gitignore\n>+++ b/.gitignore\n>@@ -12,3 +12,4 @@ src/camera.rs\n> *.txt\n> /tags\n> *.mdb\n>+queries/global.json\n\nwhy?\n\n>diff --git a/queries/global.json b/queries/global.json\n>deleted file mode 100644\n>index faf282c..0000000\n>--- a/queries/global.json\n>+++ /dev/null\n>@@ -1 +0,0 @@\n>-{\"limit\": 10, \"kinds\":[1]}\n\nnot sure why we're deleting this.\n\n>diff --git a/src/app.rs b/src/app.rs\n>index 3a4542c..67f713d 100644\n>--- a/src/app.rs\n>+++ b/src/app.rs\n>@@ -12,6 +12,7 @@ use crate::widgets::note::NoteContents;\n> use crate::Result;\n> use egui::containers::scroll_area::ScrollBarVisibility;\n> use std::borrow::Cow;\n>+use std::fs;\n>\n> use egui::widgets::Spinner;\n> use egui::{\n>@@ -450,15 +451,21 @@ impl Damus {\n>\n>         let mut timelines: Vec<Timeline> = vec![];\n>         let initial_limit = 100;\n>+        let queries_json_path = \"queries/global.json\";\n>+\n>         if args.len() > 1 {\n>             for arg in &args[1..] {\n>                 let filter = serde_json::from_str(&arg).unwrap();\n>                 timelines.push(Timeline::new(filter));\n>             }\n>-        } else {\n>-            let filter = serde_json::from_str(&include_str!(\"../queries/global.json\")).unwrap();\n\nThis is simply meant as a built-in default if there are no queries\npassed in the command-line. I'm not sure why we're removing this;\n\n>+        } else if Path::new(queries_json_path).exists() {\n>+            let file_content = fs::read_to_string(queries_json_path).expect(\"Failed to read file\");\n>+            let filter = serde_json::from_str(&file_content).expect(\"Failed to deserialize\");\n\nThis might be important in the future, like for loading some default set\nof queries in the ~/.config dir, but for now you can change the default\nquery by just passing in a query argument...\n\n>+\n>             timelines.push(Timeline::new(filter));\n>             //vec![get_home_filter(initial_limit)]\n>+        } else {\n>+            panic!(\"No timelines to load.\");\n\nnot sure why we're introducing an unneeded panic here.\n"
   5343     }
   5344   },
   5345   {
   5346     "issue": {
   5347       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5348       "repository_url": "https://api.github.com/repos/damus-io/android",
   5349       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5350       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5351       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5352       "html_url": "https://github.com/damus-io/android/pull/61",
   5353       "id": 2204587463,
   5354       "node_id": "PR_kwDOKzWMZs5qmInC",
   5355       "number": 61,
   5356       "title": "Account login",
   5357       "user": {
   5358         "login": "kernelkind",
   5359         "id": 8139906,
   5360         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5361         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5362         "gravatar_id": "",
   5363         "url": "https://api.github.com/users/kernelkind",
   5364         "html_url": "https://github.com/kernelkind",
   5365         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5366         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5367         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5368         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5369         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5370         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5371         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5372         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5373         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5374         "type": "User",
   5375         "site_admin": false
   5376       },
   5377       "labels": [],
   5378       "state": "closed",
   5379       "locked": false,
   5380       "assignee": null,
   5381       "assignees": [],
   5382       "milestone": null,
   5383       "comments": 9,
   5384       "created_at": "2024-03-24T22:22:19Z",
   5385       "updated_at": "2024-04-01T21:14:13Z",
   5386       "closed_at": "2024-04-01T21:14:13Z",
   5387       "author_association": "COLLABORATOR",
   5388       "active_lock_reason": null,
   5389       "draft": false,
   5390       "pull_request": {
   5391         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5392         "html_url": "https://github.com/damus-io/android/pull/61",
   5393         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5394         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5395         "merged_at": null
   5396       },
   5397       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5398       "reactions": {
   5399         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5400         "total_count": 0,
   5401         "+1": 0,
   5402         "-1": 0,
   5403         "laugh": 0,
   5404         "hooray": 0,
   5405         "confused": 0,
   5406         "heart": 0,
   5407         "rocket": 0,
   5408         "eyes": 0
   5409       },
   5410       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5411       "performed_via_github_app": null,
   5412       "state_reason": null
   5413     },
   5414     "comment": {
   5415       "user": "jb55",
   5416       "created_at": "2024-03-26T09:58:33Z",
   5417       "updated_at": "2024-03-26T09:58:33Z",
   5418       "body": "\n> Cargo.lock | 2 +-\n> 1 file changed, 1 insertion(+), 1 deletion(-)\n>\n>diff --git a/Cargo.lock b/Cargo.lock\n>index 718a2f2..814273a 100644\n>--- a/Cargo.lock\n>+++ b/Cargo.lock\n>@@ -2060,7 +2060,7 @@ dependencies = [\n> [[package]]\n> name = \"nostrdb\"\n> version = \"0.2.0\"\n>-source = \"git+https://github.com/damus-io/nostrdb-rs?rev=750539d0b71ed81ec626e4670eccf34950ad2942#750539d0b71ed81ec626e4670eccf34950ad2942\"\n>+source = \"git+https://github.com/damus-io/nostrdb-rs?rev=2675e7244554e40c9ee10d82b42bc647fef4c17d#2675e7244554e40c9ee10d82b42bc647fef4c17d\"\n\nthanks! not sure why this isn't updating locally for me\n\nI've applied this for now but don't forget Signed-off-by on all your\ncommits in the future.\n"
   5419     }
   5420   },
   5421   {
   5422     "issue": {
   5423       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5424       "repository_url": "https://api.github.com/repos/damus-io/android",
   5425       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5426       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5427       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5428       "html_url": "https://github.com/damus-io/android/pull/61",
   5429       "id": 2204587463,
   5430       "node_id": "PR_kwDOKzWMZs5qmInC",
   5431       "number": 61,
   5432       "title": "Account login",
   5433       "user": {
   5434         "login": "kernelkind",
   5435         "id": 8139906,
   5436         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5437         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5438         "gravatar_id": "",
   5439         "url": "https://api.github.com/users/kernelkind",
   5440         "html_url": "https://github.com/kernelkind",
   5441         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5442         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5443         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5444         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5445         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5446         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5447         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5448         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5449         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5450         "type": "User",
   5451         "site_admin": false
   5452       },
   5453       "labels": [],
   5454       "state": "closed",
   5455       "locked": false,
   5456       "assignee": null,
   5457       "assignees": [],
   5458       "milestone": null,
   5459       "comments": 9,
   5460       "created_at": "2024-03-24T22:22:19Z",
   5461       "updated_at": "2024-04-01T21:14:13Z",
   5462       "closed_at": "2024-04-01T21:14:13Z",
   5463       "author_association": "COLLABORATOR",
   5464       "active_lock_reason": null,
   5465       "draft": false,
   5466       "pull_request": {
   5467         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5468         "html_url": "https://github.com/damus-io/android/pull/61",
   5469         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5470         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5471         "merged_at": null
   5472       },
   5473       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5474       "reactions": {
   5475         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5476         "total_count": 0,
   5477         "+1": 0,
   5478         "-1": 0,
   5479         "laugh": 0,
   5480         "hooray": 0,
   5481         "confused": 0,
   5482         "heart": 0,
   5483         "rocket": 0,
   5484         "eyes": 0
   5485       },
   5486       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5487       "performed_via_github_app": null,
   5488       "state_reason": null
   5489     },
   5490     "comment": {
   5491       "user": "jb55",
   5492       "created_at": "2024-03-26T09:59:49Z",
   5493       "updated_at": "2024-03-26T09:59:49Z",
   5494       "body": "> Add login key parsing\n\nThis patch is great! lots of useful stuff in here.\n\nOn Fri, Mar 22, 2024 at 06:33:09PM -0400, kernelkind wrote:\n>Closes: https://github.com/damus-io/android/pull/61\n>---\n> src/key_parsing.rs | 235 +++++++++++++++++++++++++++++++++++++++++++++\n> src/lib.rs         |   5 +\n> src/test_utils.rs  |  36 +++++++\n> 3 files changed, 276 insertions(+)\n> create mode 100644 src/key_parsing.rs\n> create mode 100644 src/test_utils.rs\n>\n>diff --git a/src/key_parsing.rs b/src/key_parsing.rs\n>new file mode 100644\n>index 0000000..ee7f65c\n>--- /dev/null\n>+++ b/src/key_parsing.rs\n>@@ -0,0 +1,235 @@\n>+use std::str::FromStr;\n>+use std::collections::HashMap;\n>+\n>+use crate::Error;\n>+use ehttp::{Request, Response};\n>+use nostr_sdk::{prelude::Keys, PublicKey, SecretKey};\n>+use poll_promise::Promise;\n>+use serde::{Deserialize, Serialize};\n>+\n>+#[derive(Debug, PartialEq)]\n>+pub enum LoginError {\n>+    InvalidKey,\n>+    Nip05Failed(String),\n>+}\n>+\n>+impl std::fmt::Display for LoginError {\n>+    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {\n>+        match self {\n>+            LoginError::InvalidKey => write!(f, \"The inputted key is invalid.\"),\n>+            LoginError::Nip05Failed(e) => write!(f, \"Failed to get pubkey from Nip05 address: {e}\"),\n>+        }\n>+    }\n>+}\n>+\n>+impl std::error::Error for LoginError {}\n>+\n>+#[derive(Deserialize, Serialize)]\n>+pub struct Nip05Result {\n>+    pub names: HashMap<String, String>,\n>+    pub relays: Option<HashMap<String, Vec<String>>>,\n>+}\n>+\n>+fn parse_nip05_response(response: Response) -> Result<Nip05Result, Error> {\n>+    serde_json::from_slice::<Nip05Result>(&response.bytes)\n>+        .map_err(|e| {\n>+            Error::Generic(e.to_string())\n>+        })\n>+}\n>+\n>+fn get_pubkey_from_result(result: Nip05Result, user: String) -> Result<PublicKey, Error> {\n>+    match result.names.get(&user).to_owned() {\n>+        Some(pubkey_str) => PublicKey::from_str(pubkey_str).map_err(|e| {\n>+            Error::Generic(\"Could not parse pubkey: \".to_string() + e.to_string().as_str())\n>+        }),\n>+        None => Err(Error::Generic(\"Could not find user in json.\".to_string())),\n>+    }\n>+}\n>+\n>+fn get_nip05_pubkey(id: &str) -> Promise<Result<PublicKey, Error>> {\n>+    let (sender, promise) = Promise::new();\n>+    let mut parts = id.split('@');\n>+\n>+    let user = match parts.next() {\n>+        Some(user) => user,\n>+        None => {\n>+            sender.send(Err(Error::Generic(\n>+                \"Address does not contain username.\".to_string(),\n>+            )));\n>+            return promise;\n>+        }\n>+    };\n>+    let host = match parts.next() {\n>+        Some(host) => host,\n>+        None => {\n>+            sender.send(Err(Error::Generic(\n>+                \"Nip05 address does not contain host.\".to_string(),\n>+            )));\n>+            return promise;\n>+        }\n>+    };\n>+\n>+    if parts.next().is_some() {\n>+        sender.send(Err(Error::Generic(\n>+            \"Nip05 address contains extraneous parts.\".to_string(),\n>+        )));\n>+        return promise;\n>+    }\n>+\n>+    let url = format!(\"https://{host}/.well-known/nostr.json?name={user}\");\n>+    let request = Request::get(url);\n>+\n>+    let cloned_user = user.to_string();\n>+    ehttp::fetch(request, move |response: Result<Response, String>| {\n>+        let result = match response {\n>+            Ok(resp) => parse_nip05_response(resp)\n>+                .and_then(move |result| get_pubkey_from_result(result, cloned_user)),\n>+            Err(e) => Err(Error::Generic(e.to_string())),\n>+        };\n>+        sender.send(result);\n>+    });\n>+\n>+    promise\n>+}\n>+\n>+fn retrieving_nip05_pubkey(key: &str) -> bool {\n>+    key.contains('@')\n>+}\n>+\n>+fn nip05_promise_wrapper(id: &str) -> Promise<Result<Keys, LoginError>> {\n>+    let (sender, promise) = Promise::new();\n>+    let original_promise = get_nip05_pubkey(id);\n>+\n>+    std::thread::spawn(move || {\n>+        let result = original_promise.block_and_take();\n>+        let transformed_result = match result {\n>+            Ok(public_key) => Ok(Keys::from_public_key(public_key)),\n>+            Err(e) => Err(LoginError::Nip05Failed(e.to_string())),\n>+        };\n>+        sender.send(transformed_result);\n>+    });\n>+\n>+    promise\n>+}\n>+\n>+/// Attempts to turn a string slice key from the user into a Nostr-Sdk Keys object.\n>+/// The `key` can be in any of the following formats:\n>+/// - Public Bech32 key (prefix \"npub\"): \"npub1xyz...\"\n>+/// - Private Bech32 key (prefix \"nsec\"): \"nsec1xyz...\"\n>+/// - Public hex key: \"02a1...\"\n>+/// - Private hex key: \"5dab...\"\n>+/// - NIP-05 address: ***@***.***\"\n>+///\n>+/// For NIP-05 addresses, retrieval of the public key is an asynchronous operation that returns a `Promise`, so it\n>+/// will not be immediately ready.\n>+/// All other key formats are processed synchronously even though they are still behind a Promise, they will be\n>+/// available immediately.\n>+///\n>+/// Returns a `Promise` that resolves to `Result<Keys, LoginError>`. `LoginError` is returned in case of invalid format,\n>+/// unsupported key types, or network errors during NIP-05 address resolution.\n>+///\n>+pub fn perform_key_retrieval(key: &str) -> Promise<Result<Keys, LoginError>> {\n>+    let tmp_key: &str = if let Some(stripped) = key.strip_prefix('@') {\n>+        stripped\n>+    } else {\n>+        key\n>+    };\n>+\n>+    if retrieving_nip05_pubkey(tmp_key) {\n>+        nip05_promise_wrapper(tmp_key)\n>+    } else {\n>+        let result: Result<Keys, LoginError> = if let Ok(pubkey) = PublicKey::from_str(tmp_key) {\n>+            Ok(Keys::from_public_key(pubkey))\n>+        } else if let Ok(secret_key) = SecretKey::from_str(tmp_key) {\n>+            Ok(Keys::new(secret_key))\n>+        } else {\n>+            Err(LoginError::InvalidKey)\n>+        };\n>+        Promise::from_ready(result)\n>+    }\n>+}\n>+\n>+#[cfg(test)]\n>+mod tests {\n>+    use super::*;\n>+    use crate::promise_assert;\n>+\n>+    #[test]\n>+    fn test_pubkey() {\n>+        let pubkey_str = \"npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s\";\n>+        let expected_pubkey = PublicKey::from_str(pubkey_str).expect(\"Should not have errored.\");\n>+        let login_key_result = perform_key_retrieval(pubkey_str);\n>+\n>+        promise_assert!(\n>+            assert_eq,\n>+            Ok(Keys::from_public_key(expected_pubkey)),\n>+            &login_key_result\n>+        );\n>+    }\n>+\n>+    #[test]\n>+    fn test_hex_pubkey() {\n>+        let pubkey_str = \"32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245\";\n>+        let expected_pubkey = PublicKey::from_str(pubkey_str).expect(\"Should not have errored.\");\n>+        let login_key_result = perform_key_retrieval(pubkey_str);\n>+\n>+        promise_assert!(\n>+            assert_eq,\n>+            Ok(Keys::from_public_key(expected_pubkey)),\n>+            &login_key_result\n>+        );\n>+    }\n>+\n>+    #[test]\n>+    fn test_privkey() {\n>+        let privkey_str = \"nsec1g8wt3hlwjpa4827xylr3r0lccufxltyekhraexes8lqmpp2hensq5aujhs\";\n>+        let expected_privkey = SecretKey::from_str(privkey_str).expect(\"Should not have errored.\");\n>+        let login_key_result = perform_key_retrieval(privkey_str);\n>+\n>+        promise_assert!(\n>+            assert_eq,\n>+            Ok(Keys::new(expected_privkey)),\n>+            &login_key_result\n>+        );\n>+    }\n>+\n>+    #[test]\n>+    fn test_hex_privkey() {\n>+        let privkey_str = \"41dcb8dfee907b53abc627c711bff8c7126fac99b5c7dc9b303fc1b08557cce0\";\n>+        let expected_privkey = SecretKey::from_str(privkey_str).expect(\"Should not have errored.\");\n>+        let login_key_result = perform_key_retrieval(privkey_str);\n>+\n>+        promise_assert!(\n>+            assert_eq,\n>+            Ok(Keys::new(expected_privkey)),\n>+            &login_key_result\n>+        );\n>+    }\n>+\n>+    #[test]\n>+    fn test_nip05() {\n>+        let nip05_str = ***@***.***\";\n>+        let expected_pubkey =\n>+            PublicKey::from_str(\"npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955\")\n>+                .expect(\"Should not have errored.\");\n>+        let login_key_result = perform_key_retrieval(nip05_str);\n>+\n>+        promise_assert!(\n>+            assert_eq,\n>+            Ok(Keys::from_public_key(expected_pubkey)),\n>+            &login_key_result\n>+        );\n>+    }\n>+\n>+    #[test]\n>+    fn test_nip05_pubkey() {\n>+        let nip05_str = ***@***.***\";\n>+        let expected_pubkey =\n>+            PublicKey::from_str(\"npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955\")\n>+                .expect(\"Should not have errored.\");\n>+        let login_key_result = get_nip05_pubkey(nip05_str);\n>+\n>+        let res = login_key_result.block_and_take().expect(\"Should not error\");\n>+        assert_eq!(expected_pubkey, res);\n>+    }\n>+}\n>diff --git a/src/lib.rs b/src/lib.rs\n>index 15a1f00..05e1be6 100644\n>--- a/src/lib.rs\n>+++ b/src/lib.rs\n>@@ -18,6 +18,11 @@ mod frame_history;\n> mod timeline;\n> mod colors;\n> mod profile;\n>+mod key_parsing;\n>+\n>+#[cfg(test)]\n>+#[macro_use]\n>+mod test_utils;\n>\n> pub use app::Damus;\n> pub use error::Error;\n>diff --git a/src/test_utils.rs b/src/test_utils.rs\n>new file mode 100644\n>index 0000000..862650d\n>--- /dev/null\n>+++ b/src/test_utils.rs\n>@@ -0,0 +1,36 @@\n>+use poll_promise::Promise;\n>+use std::thread;\n>+use std::time::Duration;\n>+\n>+pub fn promise_wait<'a, T: Send + 'a>(promise: &'a Promise<T>) -> &'a T {\n>+    let mut count = 1;\n>+    loop {\n>+        if let Some(result) = promise.ready() {\n>+            println!(\"quieried promise num times: {}\", count);\n>+            return result;\n>+        } else {\n>+            count += 1;\n>+            thread::sleep(Duration::from_millis(10));\n>+        }\n>+    }\n>+}\n>+\n>+/// `promise_assert` macro\n>+///\n>+/// This macro is designed to emulate the nature of immediate mode asynchronous code by repeatedly calling\n>+/// promise.ready() for a promise, sleeping for a short period of time, and repeating until the promise is ready.\n>+///\n>+/// Arguments:\n>+/// - `$assertion_closure`: the assertion closure which takes two arguments: the actual result of the promise and\n>+///   the expected value. This macro is used as an assertion closure to compare the actual and expected values.\n>+/// - `$expected`: The expected value of type `T` that the promise's result is compared against.\n>+/// - `$asserted_promise`: A `Promise<T>` that returns a value of type `T` when the promise is satisfied. This\n>+///   represents the asynchronous operation whose result will be tested.\n>+///\n>+#[macro_export]\n>+macro_rules! promise_assert {\n>+    ($assertion_closure:ident, $expected:expr, $asserted_promise:expr) => {\n>+        let result = $crate::test_utils::promise_wait($asserted_promise);\n>+        $assertion_closure!(*result, $expected);\n>+    };\n>+}\n>\n"
   5495     }
   5496   },
   5497   {
   5498     "issue": {
   5499       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5500       "repository_url": "https://api.github.com/repos/damus-io/android",
   5501       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5502       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5503       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5504       "html_url": "https://github.com/damus-io/android/pull/61",
   5505       "id": 2204587463,
   5506       "node_id": "PR_kwDOKzWMZs5qmInC",
   5507       "number": 61,
   5508       "title": "Account login",
   5509       "user": {
   5510         "login": "kernelkind",
   5511         "id": 8139906,
   5512         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5513         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5514         "gravatar_id": "",
   5515         "url": "https://api.github.com/users/kernelkind",
   5516         "html_url": "https://github.com/kernelkind",
   5517         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5518         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5519         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5520         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5521         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5522         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5523         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5524         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5525         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5526         "type": "User",
   5527         "site_admin": false
   5528       },
   5529       "labels": [],
   5530       "state": "closed",
   5531       "locked": false,
   5532       "assignee": null,
   5533       "assignees": [],
   5534       "milestone": null,
   5535       "comments": 9,
   5536       "created_at": "2024-03-24T22:22:19Z",
   5537       "updated_at": "2024-04-01T21:14:13Z",
   5538       "closed_at": "2024-04-01T21:14:13Z",
   5539       "author_association": "COLLABORATOR",
   5540       "active_lock_reason": null,
   5541       "draft": false,
   5542       "pull_request": {
   5543         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5544         "html_url": "https://github.com/damus-io/android/pull/61",
   5545         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5546         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5547         "merged_at": null
   5548       },
   5549       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5550       "reactions": {
   5551         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5552         "total_count": 0,
   5553         "+1": 0,
   5554         "-1": 0,
   5555         "laugh": 0,
   5556         "hooray": 0,
   5557         "confused": 0,
   5558         "heart": 0,
   5559         "rocket": 0,
   5560         "eyes": 0
   5561       },
   5562       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5563       "performed_via_github_app": null,
   5564       "state_reason": null
   5565     },
   5566     "comment": {
   5567       "user": "jb55",
   5568       "created_at": "2024-03-26T10:01:52Z",
   5569       "updated_at": "2024-03-26T10:01:52Z",
   5570       "body": "> Add login UI\n\nThis is a good start for testing, but I don't think I can merge it until we implement roberto's design.\n\nLet's keep working on this!\n\nOn Sat, Mar 23, 2024 at 09:01:48PM -0400, kernelkind wrote:\n> src/app.rs           | 105 ++++++++++++++++++++++++++++++++++++++++---\n> src/lib.rs           |   1 +\n> src/login_manager.rs |  23 ++++++++++\n> 3 files changed, 123 insertions(+), 6 deletions(-)\n> create mode 100644 src/login_manager.rs\n>\n>diff --git a/src/app.rs b/src/app.rs\n>index 67f713d..d3b4b19 100644\n>--- a/src/app.rs\n>+++ b/src/app.rs\n>@@ -5,12 +5,17 @@ use crate::fonts::{setup_fonts, NamedFontFamily};\n> use crate::frame_history::FrameHistory;\n> use crate::images::fetch_img;\n> use crate::imgcache::ImageCache;\n>+use crate::key_parsing::perform_key_retrieval;\n>+use crate::key_parsing::LoginError;\n>+use crate::login_manager::LoginManager;\n> use crate::notecache::NoteCache;\n> use crate::timeline;\n> use crate::ui::padding;\n> use crate::widgets::note::NoteContents;\n> use crate::Result;\n> use egui::containers::scroll_area::ScrollBarVisibility;\n>+use egui::Layout;\n>+use nostr_sdk::PublicKey;\n> use std::borrow::Cow;\n> use std::fs;\n>\n>@@ -21,6 +26,7 @@ use egui::{\n> };\n>\n> use enostr::{ClientMessage, Filter, Pubkey, RelayEvent, RelayMessage};\n>+use nostr_sdk::Keys;\n> use nostrdb::{\n>     Block, BlockType, Blocks, Config, Mention, Ndb, Note, NoteKey, ProfileRecord, Subscription,\n>     Transaction,\n>@@ -41,6 +47,11 @@ pub enum DamusState {\n>     Initialized,\n> }\n>\n>+pub enum LoginState {\n>+    LoggingIn(LoginManager),\n>+    AcquiredLogin(Keys),\n>+}\n>+\n> #[derive(Debug, Eq, PartialEq, Copy, Clone)]\n> pub struct NoteRef {\n>     pub key: NoteKey,\n>@@ -86,6 +97,7 @@ impl Timeline {\n> /// We derive Deserialize/Serialize so we can persist app state on shutdown.\n> pub struct Damus {\n>     state: DamusState,\n>+    login_state: LoginState,\n>     compose: String,\n>\n>     note_cache: HashMap<NoteKey, NoteCache>,\n>@@ -137,6 +149,13 @@ fn get_home_filter(limit: u16) -> Filter {\n>     )\n> }\n>\n>+fn get_filter_for_pubkey(limit: u16, pubkey_hex: String) -> Filter {\n>+    Filter::new()\n>+        .limit(limit)\n>+        .kinds(vec![1, 42])\n>+        .pubkeys([Pubkey::from_hex(pubkey_hex.as_str()).unwrap()].into())\n>+}\n>+\n> fn send_initial_filters(damus: &mut Damus, relay_url: &str) {\n>     info!(\"Sending initial filters to {}\", relay_url);\n>     let mut c: u32 = 1;\n>@@ -452,6 +471,7 @@ impl Damus {\n>         let mut timelines: Vec<Timeline> = vec![];\n>         let initial_limit = 100;\n>         let queries_json_path = \"queries/global.json\";\n>+        let mut initial_pubkey: Option<PublicKey> = None;\n>\n>         if args.len() > 1 {\n>             for arg in &args[1..] {\n>@@ -460,21 +480,34 @@ impl Damus {\n>             }\n>         } else if Path::new(queries_json_path).exists() {\n>             let file_content = fs::read_to_string(queries_json_path).expect(\"Failed to read file\");\n>-            let filter = serde_json::from_str(&file_content).expect(\"Failed to deserialize\");\n>+            let filter: Vec<Filter> = serde_json::from_str(&file_content).expect(\"Failed to deserialize\");\n>+            initial_pubkey = filter.iter()\n>+            .filter_map(|f| f.pubkeys.as_ref())\n>+            .flat_map(|pubkeys| pubkeys.iter())\n>+            .next()\n>+            .and_then(|pubkey| PublicKey::from_hex(pubkey.hex()).ok());\n>\n>             timelines.push(Timeline::new(filter));\n>+\n>             //vec![get_home_filter(initial_limit)]\n>-        } else {\n>-            panic!(\"No timelines to load.\");\n>-        };\n>+        }\n>\n>         let imgcache_dir = data_path.as_ref().join(\"cache/img\");\n>         std::fs::create_dir_all(imgcache_dir.clone());\n>\n>+        let login_state = initial_pubkey\n>+            .map(|key| {\n>+                let keys = Keys::from_public_key(key);\n>+                LoginState::AcquiredLogin(keys)\n>+            })\n>+            .unwrap_or_else(|| LoginState::LoggingIn(LoginManager::new()));\n>+\n>+\n>         let mut config = Config::new();\n>         config.set_ingester_threads(2);\n>         Self {\n>             state: DamusState::Initializing,\n>+            login_state,\n>             pool: RelayPool::new(),\n>             img_cache: ImageCache::new(imgcache_dir),\n>             note_cache: HashMap::new(),\n>@@ -935,6 +968,44 @@ fn render_damus_desktop(ctx: &egui::Context, app: &mut Damus) {\n>     });\n> }\n>\n>+fn account_login_panel(ctx: &egui::Context, login_manager: &mut LoginManager) {\n>+    main_panel(&ctx.style()).show(ctx, |ui| {\n>+        ui.allocate_ui_with_layout(\n>+            egui::vec2(ctx.screen_rect().width(), ctx.screen_rect().height()),\n>+            Layout::from_main_dir_and_cross_align(\n>+                egui::Direction::LeftToRight,\n>+                egui::Align::Center,\n>+            ),\n>+            |ui| {\n>+                ui.add(\n>+                    egui::TextEdit::singleline(&mut login_manager.login_key)\n>+                        .hint_text(\"Enter login key\"),\n>+                );\n>+                if ui.button(\"Submit\").clicked() {\n>+                    login_manager.promise = Some(perform_key_retrieval(&login_manager.login_key));\n>+                }\n>+                if login_manager.promise.is_some() {\n>+                    ui.add(egui::Spinner::new());\n>+                }\n>+                if let Some(error_key) = &login_manager.key_on_error {\n>+                    if login_manager.login_key != *error_key {\n>+                        login_manager.error = None;\n>+                        login_manager.key_on_error = None;\n>+                    }\n>+                }\n>+                if let Some(err) = &login_manager.error {\n>+                    ui.horizontal(|ui| {\n>+                        match err {\n>+                            LoginError::InvalidKey => ui.label(RichText::new(\"Invalid key.\").color(Color32::RED)),\n>+                            LoginError::Nip05Failed(e) => ui.label(RichText::new(e).color(Color32::RED))\n>+                        }\n>+                    });\n>+                }\n>+            },\n>+        );\n>+    });\n>+}\n>+\n> fn postbox(ui: &mut egui::Ui, app: &mut Damus) {\n>     let _output = egui::TextEdit::multiline(&mut app.compose)\n>         .hint_text(\"Type something!\")\n>@@ -982,7 +1053,29 @@ impl eframe::App for Damus {\n>\n>         #[cfg(feature = \"profiling\")]\n>         puffin::GlobalProfiler::lock().new_frame();\n>-        update_damus(self, ctx);\n>-        render_damus(self, ctx);\n>+\n>+        if let LoginState::LoggingIn(login_manager) = &mut self.login_state {\n>+            account_login_panel(ctx, login_manager);\n>+\n>+            if let Some(promise) = &mut login_manager.promise {\n>+                if promise.ready().is_some() {\n>+                    if let Some(promise) = login_manager.promise.take() {\n>+                        match promise.block_and_take() {\n>+                            Ok(key) => {\n>+                                self.timelines.push(Timeline::new(vec!(get_filter_for_pubkey(100, key.public_key().to_hex()))));\n>+                                self.login_state = LoginState::AcquiredLogin(key);\n>+                            }\n>+                            Err(e) => {\n>+                                login_manager.error = Some(e);\n>+                                login_manager.key_on_error = Some(login_manager.login_key.clone());\n>+                            },\n>+                        };\n>+                    }\n>+                }\n>+            }\n>+        } else {\n>+            update_damus(self, ctx);\n>+            render_damus(self, ctx);\n>+        }\n>     }\n> }\n>diff --git a/src/lib.rs b/src/lib.rs\n>index 05e1be6..3e7a8fe 100644\n>--- a/src/lib.rs\n>+++ b/src/lib.rs\n>@@ -19,6 +19,7 @@ mod timeline;\n> mod colors;\n> mod profile;\n> mod key_parsing;\n>+mod login_manager;\n>\n> #[cfg(test)]\n> #[macro_use]\n>diff --git a/src/login_manager.rs b/src/login_manager.rs\n>new file mode 100644\n>index 0000000..08ab1d5\n>--- /dev/null\n>+++ b/src/login_manager.rs\n>@@ -0,0 +1,23 @@\n>+use crate::key_parsing::LoginError;\n>+use nostr_sdk::Keys;\n>+use poll_promise::Promise;\n>+\n>+/// Helper storage object for retrieving the plaintext key from the user and converting it into a\n>+/// nostr-sdk Keys object if possible.\n>+pub struct LoginManager {\n>+    pub login_key: String,\n>+    pub promise: Option<Promise<Result<Keys, LoginError>>>,\n>+    pub error: Option<LoginError>,\n>+    pub key_on_error: Option<String>\n>+}\n>+\n>+impl LoginManager {\n>+    pub fn new() -> Self {\n>+        LoginManager {\n>+            login_key: String::new(),\n>+            promise: None,\n>+            error: None,\n>+            key_on_error: None\n>+        }\n>+    }\n>+}\n>\n"
   5571     }
   5572   },
   5573   {
   5574     "issue": {
   5575       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5576       "repository_url": "https://api.github.com/repos/damus-io/android",
   5577       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5578       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5579       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5580       "html_url": "https://github.com/damus-io/android/pull/61",
   5581       "id": 2204587463,
   5582       "node_id": "PR_kwDOKzWMZs5qmInC",
   5583       "number": 61,
   5584       "title": "Account login",
   5585       "user": {
   5586         "login": "kernelkind",
   5587         "id": 8139906,
   5588         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5589         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5590         "gravatar_id": "",
   5591         "url": "https://api.github.com/users/kernelkind",
   5592         "html_url": "https://github.com/kernelkind",
   5593         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5594         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5595         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5596         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5597         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5598         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5599         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5600         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5601         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5602         "type": "User",
   5603         "site_admin": false
   5604       },
   5605       "labels": [],
   5606       "state": "closed",
   5607       "locked": false,
   5608       "assignee": null,
   5609       "assignees": [],
   5610       "milestone": null,
   5611       "comments": 9,
   5612       "created_at": "2024-03-24T22:22:19Z",
   5613       "updated_at": "2024-04-01T21:14:13Z",
   5614       "closed_at": "2024-04-01T21:14:13Z",
   5615       "author_association": "COLLABORATOR",
   5616       "active_lock_reason": null,
   5617       "draft": false,
   5618       "pull_request": {
   5619         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5620         "html_url": "https://github.com/damus-io/android/pull/61",
   5621         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5622         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5623         "merged_at": null
   5624       },
   5625       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5626       "reactions": {
   5627         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5628         "total_count": 0,
   5629         "+1": 0,
   5630         "-1": 0,
   5631         "laugh": 0,
   5632         "hooray": 0,
   5633         "confused": 0,
   5634         "heart": 0,
   5635         "rocket": 0,
   5636         "eyes": 0
   5637       },
   5638       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5639       "performed_via_github_app": null,
   5640       "state_reason": null
   5641     },
   5642     "comment": {
   5643       "user": "jb55",
   5644       "created_at": "2024-03-26T10:09:32Z",
   5645       "updated_at": "2024-03-26T10:09:43Z",
   5646       "body": "I've pulled in the following commits from your PR since they looked ok\r\nto me for now!\r\n\r\n7a113825dd77 Add login key parsing\r\nd8fcc573f922 Add nostr-sdk dependency\r\nc932efba40b7 update cargo.lock to reflect toml change\r\n\r\nFeel free to rebase!"
   5647     }
   5648   },
   5649   {
   5650     "issue": {
   5651       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5652       "repository_url": "https://api.github.com/repos/damus-io/android",
   5653       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5654       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5655       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5656       "html_url": "https://github.com/damus-io/android/pull/61",
   5657       "id": 2204587463,
   5658       "node_id": "PR_kwDOKzWMZs5qmInC",
   5659       "number": 61,
   5660       "title": "Account login",
   5661       "user": {
   5662         "login": "kernelkind",
   5663         "id": 8139906,
   5664         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5665         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5666         "gravatar_id": "",
   5667         "url": "https://api.github.com/users/kernelkind",
   5668         "html_url": "https://github.com/kernelkind",
   5669         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5670         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5671         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5672         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5673         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5674         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5675         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5676         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5677         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5678         "type": "User",
   5679         "site_admin": false
   5680       },
   5681       "labels": [],
   5682       "state": "closed",
   5683       "locked": false,
   5684       "assignee": null,
   5685       "assignees": [],
   5686       "milestone": null,
   5687       "comments": 9,
   5688       "created_at": "2024-03-24T22:22:19Z",
   5689       "updated_at": "2024-04-01T21:14:13Z",
   5690       "closed_at": "2024-04-01T21:14:13Z",
   5691       "author_association": "COLLABORATOR",
   5692       "active_lock_reason": null,
   5693       "draft": false,
   5694       "pull_request": {
   5695         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5696         "html_url": "https://github.com/damus-io/android/pull/61",
   5697         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5698         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5699         "merged_at": null
   5700       },
   5701       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5702       "reactions": {
   5703         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5704         "total_count": 0,
   5705         "+1": 0,
   5706         "-1": 0,
   5707         "laugh": 0,
   5708         "hooray": 0,
   5709         "confused": 0,
   5710         "heart": 0,
   5711         "rocket": 0,
   5712         "eyes": 0
   5713       },
   5714       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5715       "performed_via_github_app": null,
   5716       "state_reason": null
   5717     },
   5718     "comment": {
   5719       "user": "kernelkind",
   5720       "created_at": "2024-03-26T15:35:02Z",
   5721       "updated_at": "2024-03-26T15:35:02Z",
   5722       "body": "I replied to these comments over email, unfortunately they don't get synced to github. I'll probably just reply in github next time if that's ok"
   5723     }
   5724   },
   5725   {
   5726     "issue": {
   5727       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5728       "repository_url": "https://api.github.com/repos/damus-io/android",
   5729       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5730       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5731       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5732       "html_url": "https://github.com/damus-io/android/pull/61",
   5733       "id": 2204587463,
   5734       "node_id": "PR_kwDOKzWMZs5qmInC",
   5735       "number": 61,
   5736       "title": "Account login",
   5737       "user": {
   5738         "login": "kernelkind",
   5739         "id": 8139906,
   5740         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5741         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5742         "gravatar_id": "",
   5743         "url": "https://api.github.com/users/kernelkind",
   5744         "html_url": "https://github.com/kernelkind",
   5745         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5746         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5747         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5748         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5749         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5750         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5751         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5752         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5753         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5754         "type": "User",
   5755         "site_admin": false
   5756       },
   5757       "labels": [],
   5758       "state": "closed",
   5759       "locked": false,
   5760       "assignee": null,
   5761       "assignees": [],
   5762       "milestone": null,
   5763       "comments": 9,
   5764       "created_at": "2024-03-24T22:22:19Z",
   5765       "updated_at": "2024-04-01T21:14:13Z",
   5766       "closed_at": "2024-04-01T21:14:13Z",
   5767       "author_association": "COLLABORATOR",
   5768       "active_lock_reason": null,
   5769       "draft": false,
   5770       "pull_request": {
   5771         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5772         "html_url": "https://github.com/damus-io/android/pull/61",
   5773         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5774         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5775         "merged_at": null
   5776       },
   5777       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5778       "reactions": {
   5779         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5780         "total_count": 0,
   5781         "+1": 0,
   5782         "-1": 0,
   5783         "laugh": 0,
   5784         "hooray": 0,
   5785         "confused": 0,
   5786         "heart": 0,
   5787         "rocket": 0,
   5788         "eyes": 0
   5789       },
   5790       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5791       "performed_via_github_app": null,
   5792       "state_reason": null
   5793     },
   5794     "comment": {
   5795       "user": "jb55",
   5796       "created_at": "2024-03-29T08:36:46Z",
   5797       "updated_at": "2024-03-29T08:36:46Z",
   5798       "body": "On Tue, Mar 26, 2024 at 02:11:34PM GMT, kernelkind wrote:\n>>\n>> d8fcc573f922 Add nostr-sdk dependency\n>>\n>\n>Oh I'm confused, it sounded like you don't want to use nostr-sdk but you\n>added this anyway? Do you want me to redo it without the nostr-sdk\n>dependency? By creating my own SecretKey and Keys structs\n\nyes I merge stuff so we can make forward progress. When I'm giving my\nreview I sometimes just state my concerns but will merge it anyway\nbecause it's too early in the project to worry about such things. We can\njust refactor it if it becomes an issue.\n\nI would have explicitly told you to rewrite something if I want it to be\nrewritten. I'm not always right or have the full motivations as to why\nyou needed the dependency. I will naturally undo anything that is\ncausing too much friction anyways.\n\nCheers,\n\n\tWill\n"
   5799     }
   5800   },
   5801   {
   5802     "issue": {
   5803       "url": "https://api.github.com/repos/damus-io/android/issues/61",
   5804       "repository_url": "https://api.github.com/repos/damus-io/android",
   5805       "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}",
   5806       "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments",
   5807       "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events",
   5808       "html_url": "https://github.com/damus-io/android/pull/61",
   5809       "id": 2204587463,
   5810       "node_id": "PR_kwDOKzWMZs5qmInC",
   5811       "number": 61,
   5812       "title": "Account login",
   5813       "user": {
   5814         "login": "kernelkind",
   5815         "id": 8139906,
   5816         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   5817         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   5818         "gravatar_id": "",
   5819         "url": "https://api.github.com/users/kernelkind",
   5820         "html_url": "https://github.com/kernelkind",
   5821         "followers_url": "https://api.github.com/users/kernelkind/followers",
   5822         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   5823         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   5824         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   5825         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   5826         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   5827         "repos_url": "https://api.github.com/users/kernelkind/repos",
   5828         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   5829         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   5830         "type": "User",
   5831         "site_admin": false
   5832       },
   5833       "labels": [],
   5834       "state": "closed",
   5835       "locked": false,
   5836       "assignee": null,
   5837       "assignees": [],
   5838       "milestone": null,
   5839       "comments": 9,
   5840       "created_at": "2024-03-24T22:22:19Z",
   5841       "updated_at": "2024-04-01T21:14:13Z",
   5842       "closed_at": "2024-04-01T21:14:13Z",
   5843       "author_association": "COLLABORATOR",
   5844       "active_lock_reason": null,
   5845       "draft": false,
   5846       "pull_request": {
   5847         "url": "https://api.github.com/repos/damus-io/android/pulls/61",
   5848         "html_url": "https://github.com/damus-io/android/pull/61",
   5849         "diff_url": "https://github.com/damus-io/android/pull/61.diff",
   5850         "patch_url": "https://github.com/damus-io/android/pull/61.patch",
   5851         "merged_at": null
   5852       },
   5853       "body": "This PR adds pretty basic account login. It's a tad rough, but I just wanted to get it out to get feedback.\r\n\r\nFirst two commits are from #62 \r\n\r\nA couple notes:\r\n- I added `nostr-sdk` as a dependency to use their version of `Keys`, `PublicKey` and `SecretKey`. I saw that we already had a conception of `PublicKey` in `enostr`, but I didn't see a point to recreating efforts that were already built out by `nostr-sdk`. Let me know if anyone has thoughts about that.\r\n- The `login_state` was added to `Damus`. When it is in state `LoginState::AcquiredLogin(Keys)`, that represents the user's current `Keys` (either only public key or public & private). \r\n- If the `queries/global.json` contains a valid pubkey, it will use that as the current user and set the `login_state` to `LoginState::AcquiredLogin` with that pubkey. I don't think this implementation shouldn't stay for when we implement private key authentication\r\n- The login panel is very rough to look at. It's just a proof of concept to demonstrate MVP features for this PR",
   5854       "reactions": {
   5855         "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions",
   5856         "total_count": 0,
   5857         "+1": 0,
   5858         "-1": 0,
   5859         "laugh": 0,
   5860         "hooray": 0,
   5861         "confused": 0,
   5862         "heart": 0,
   5863         "rocket": 0,
   5864         "eyes": 0
   5865       },
   5866       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline",
   5867       "performed_via_github_app": null,
   5868       "state_reason": null
   5869     },
   5870     "comment": {
   5871       "user": "jb55",
   5872       "created_at": "2024-03-29T08:59:41Z",
   5873       "updated_at": "2024-03-29T08:59:41Z",
   5874       "body": "On Tue, Mar 26, 2024 at 08:35:25AM GMT, kernelkind wrote:\n>I replied to these comments over email, unfortunately they don't get\n>synced to github. I'll probably just reply in github next time if\n>that's ok\n\nyou can do whatever you want, I receive github comments in my inbox.\ngithub-delivered comments have a ***@***.*** email\nwhich I use to BCC, so both our mailing list and github comments receive\nit.\n"
   5875     }
   5876   },
   5877   {
   5878     "issue": {
   5879       "url": "https://api.github.com/repos/damus-io/android/issues/60",
   5880       "repository_url": "https://api.github.com/repos/damus-io/android",
   5881       "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}",
   5882       "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments",
   5883       "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events",
   5884       "html_url": "https://github.com/damus-io/android/issues/60",
   5885       "id": 2203794051,
   5886       "node_id": "I_kwDOKzWMZs6DWzqD",
   5887       "number": 60,
   5888       "title": "Android softkeyboard support",
   5889       "user": {
   5890         "login": "jb55",
   5891         "id": 45598,
   5892         "node_id": "MDQ6VXNlcjQ1NTk4",
   5893         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   5894         "gravatar_id": "",
   5895         "url": "https://api.github.com/users/jb55",
   5896         "html_url": "https://github.com/jb55",
   5897         "followers_url": "https://api.github.com/users/jb55/followers",
   5898         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   5899         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   5900         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   5901         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   5902         "organizations_url": "https://api.github.com/users/jb55/orgs",
   5903         "repos_url": "https://api.github.com/users/jb55/repos",
   5904         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   5905         "received_events_url": "https://api.github.com/users/jb55/received_events",
   5906         "type": "User",
   5907         "site_admin": false
   5908       },
   5909       "labels": [
   5910         {
   5911           "id": 6339173748,
   5912           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   5913           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   5914           "name": "technical",
   5915           "color": "e99695",
   5916           "default": false,
   5917           "description": ""
   5918         }
   5919       ],
   5920       "state": "open",
   5921       "locked": false,
   5922       "assignee": {
   5923         "login": "jb55",
   5924         "id": 45598,
   5925         "node_id": "MDQ6VXNlcjQ1NTk4",
   5926         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   5927         "gravatar_id": "",
   5928         "url": "https://api.github.com/users/jb55",
   5929         "html_url": "https://github.com/jb55",
   5930         "followers_url": "https://api.github.com/users/jb55/followers",
   5931         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   5932         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   5933         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   5934         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   5935         "organizations_url": "https://api.github.com/users/jb55/orgs",
   5936         "repos_url": "https://api.github.com/users/jb55/repos",
   5937         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   5938         "received_events_url": "https://api.github.com/users/jb55/received_events",
   5939         "type": "User",
   5940         "site_admin": false
   5941       },
   5942       "assignees": [
   5943         {
   5944           "login": "jb55",
   5945           "id": 45598,
   5946           "node_id": "MDQ6VXNlcjQ1NTk4",
   5947           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   5948           "gravatar_id": "",
   5949           "url": "https://api.github.com/users/jb55",
   5950           "html_url": "https://github.com/jb55",
   5951           "followers_url": "https://api.github.com/users/jb55/followers",
   5952           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   5953           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   5954           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   5955           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   5956           "organizations_url": "https://api.github.com/users/jb55/orgs",
   5957           "repos_url": "https://api.github.com/users/jb55/repos",
   5958           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   5959           "received_events_url": "https://api.github.com/users/jb55/received_events",
   5960           "type": "User",
   5961           "site_admin": false
   5962         }
   5963       ],
   5964       "milestone": {
   5965         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   5966         "html_url": "https://github.com/damus-io/android/milestone/1",
   5967         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   5968         "id": 10252427,
   5969         "node_id": "MI_kwDOKzWMZs4AnHCL",
   5970         "number": 1,
   5971         "title": "0.1 Android PRAGUE",
   5972         "description": "",
   5973         "creator": {
   5974           "login": "alltheseas",
   5975           "id": 64376233,
   5976           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   5977           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   5978           "gravatar_id": "",
   5979           "url": "https://api.github.com/users/alltheseas",
   5980           "html_url": "https://github.com/alltheseas",
   5981           "followers_url": "https://api.github.com/users/alltheseas/followers",
   5982           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   5983           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   5984           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   5985           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   5986           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   5987           "repos_url": "https://api.github.com/users/alltheseas/repos",
   5988           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   5989           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   5990           "type": "User",
   5991           "site_admin": false
   5992         },
   5993         "open_issues": 22,
   5994         "closed_issues": 3,
   5995         "state": "open",
   5996         "created_at": "2023-11-30T19:39:43Z",
   5997         "updated_at": "2024-04-09T19:49:56Z",
   5998         "due_on": "2024-06-12T07:00:00Z",
   5999         "closed_at": null
   6000       },
   6001       "comments": 4,
   6002       "created_at": "2024-03-23T09:36:09Z",
   6003       "updated_at": "2024-04-09T20:37:18Z",
   6004       "closed_at": null,
   6005       "author_association": "CONTRIBUTOR",
   6006       "active_lock_reason": null,
   6007       "body": "For input on android, we need to pop up the keyboard. This isn't directly supported by egui, since egui doesn't handle such things. egui delegates such tasks to winit, but winit does not support it yet.\r\n\r\nExternal tracking issues:\r\n\r\n- https://github.com/emilk/egui/issues/3890\r\n- https://github.com/rust-windowing/winit/issues/1823\r\n- https://github.com/emilk/egui/discussions/2975\r\n- https://github.com/rust-mobile/android-activity/issues/44\r\n- https://github.com/rust-mobile/android-activity/pull/24\r\n- https://github.com/rust-mobile/android-activity/issues/18\r\n\r\nProgress in this area:\r\n\r\n- https://github.com/rust-mobile/android-activity/issues/44#issuecomment-1627240142 by @lucasmerlin\r\n\r\nOur progress:\r\n\r\n- [x] https://github.com/damus-io/android/issues/74\r\n- [ ] https://github.com/damus-io/android/issues/80\r\n- [ ] https://github.com/damus-io/android/issues/76\r\n- [ ] https://github.com/damus-io/android/issues/75",
   6008       "reactions": {
   6009         "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions",
   6010         "total_count": 1,
   6011         "+1": 0,
   6012         "-1": 0,
   6013         "laugh": 0,
   6014         "hooray": 0,
   6015         "confused": 0,
   6016         "heart": 0,
   6017         "rocket": 0,
   6018         "eyes": 1
   6019       },
   6020       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline",
   6021       "performed_via_github_app": null,
   6022       "state_reason": null
   6023     }
   6024   },
   6025   {
   6026     "issue": {
   6027       "url": "https://api.github.com/repos/damus-io/android/issues/60",
   6028       "repository_url": "https://api.github.com/repos/damus-io/android",
   6029       "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}",
   6030       "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments",
   6031       "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events",
   6032       "html_url": "https://github.com/damus-io/android/issues/60",
   6033       "id": 2203794051,
   6034       "node_id": "I_kwDOKzWMZs6DWzqD",
   6035       "number": 60,
   6036       "title": "Android softkeyboard support",
   6037       "user": {
   6038         "login": "jb55",
   6039         "id": 45598,
   6040         "node_id": "MDQ6VXNlcjQ1NTk4",
   6041         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6042         "gravatar_id": "",
   6043         "url": "https://api.github.com/users/jb55",
   6044         "html_url": "https://github.com/jb55",
   6045         "followers_url": "https://api.github.com/users/jb55/followers",
   6046         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6047         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6048         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6049         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6050         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6051         "repos_url": "https://api.github.com/users/jb55/repos",
   6052         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6053         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6054         "type": "User",
   6055         "site_admin": false
   6056       },
   6057       "labels": [
   6058         {
   6059           "id": 6339173748,
   6060           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   6061           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   6062           "name": "technical",
   6063           "color": "e99695",
   6064           "default": false,
   6065           "description": ""
   6066         }
   6067       ],
   6068       "state": "open",
   6069       "locked": false,
   6070       "assignee": {
   6071         "login": "jb55",
   6072         "id": 45598,
   6073         "node_id": "MDQ6VXNlcjQ1NTk4",
   6074         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6075         "gravatar_id": "",
   6076         "url": "https://api.github.com/users/jb55",
   6077         "html_url": "https://github.com/jb55",
   6078         "followers_url": "https://api.github.com/users/jb55/followers",
   6079         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6080         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6081         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6082         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6083         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6084         "repos_url": "https://api.github.com/users/jb55/repos",
   6085         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6086         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6087         "type": "User",
   6088         "site_admin": false
   6089       },
   6090       "assignees": [
   6091         {
   6092           "login": "jb55",
   6093           "id": 45598,
   6094           "node_id": "MDQ6VXNlcjQ1NTk4",
   6095           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6096           "gravatar_id": "",
   6097           "url": "https://api.github.com/users/jb55",
   6098           "html_url": "https://github.com/jb55",
   6099           "followers_url": "https://api.github.com/users/jb55/followers",
   6100           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6101           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6102           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6103           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6104           "organizations_url": "https://api.github.com/users/jb55/orgs",
   6105           "repos_url": "https://api.github.com/users/jb55/repos",
   6106           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6107           "received_events_url": "https://api.github.com/users/jb55/received_events",
   6108           "type": "User",
   6109           "site_admin": false
   6110         }
   6111       ],
   6112       "milestone": {
   6113         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   6114         "html_url": "https://github.com/damus-io/android/milestone/1",
   6115         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   6116         "id": 10252427,
   6117         "node_id": "MI_kwDOKzWMZs4AnHCL",
   6118         "number": 1,
   6119         "title": "0.1 Android PRAGUE",
   6120         "description": "",
   6121         "creator": {
   6122           "login": "alltheseas",
   6123           "id": 64376233,
   6124           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   6125           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   6126           "gravatar_id": "",
   6127           "url": "https://api.github.com/users/alltheseas",
   6128           "html_url": "https://github.com/alltheseas",
   6129           "followers_url": "https://api.github.com/users/alltheseas/followers",
   6130           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   6131           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   6132           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   6133           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   6134           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   6135           "repos_url": "https://api.github.com/users/alltheseas/repos",
   6136           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   6137           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   6138           "type": "User",
   6139           "site_admin": false
   6140         },
   6141         "open_issues": 22,
   6142         "closed_issues": 3,
   6143         "state": "open",
   6144         "created_at": "2023-11-30T19:39:43Z",
   6145         "updated_at": "2024-04-09T19:49:56Z",
   6146         "due_on": "2024-06-12T07:00:00Z",
   6147         "closed_at": null
   6148       },
   6149       "comments": 4,
   6150       "created_at": "2024-03-23T09:36:09Z",
   6151       "updated_at": "2024-04-09T20:37:18Z",
   6152       "closed_at": null,
   6153       "author_association": "CONTRIBUTOR",
   6154       "active_lock_reason": null,
   6155       "body": "For input on android, we need to pop up the keyboard. This isn't directly supported by egui, since egui doesn't handle such things. egui delegates such tasks to winit, but winit does not support it yet.\r\n\r\nExternal tracking issues:\r\n\r\n- https://github.com/emilk/egui/issues/3890\r\n- https://github.com/rust-windowing/winit/issues/1823\r\n- https://github.com/emilk/egui/discussions/2975\r\n- https://github.com/rust-mobile/android-activity/issues/44\r\n- https://github.com/rust-mobile/android-activity/pull/24\r\n- https://github.com/rust-mobile/android-activity/issues/18\r\n\r\nProgress in this area:\r\n\r\n- https://github.com/rust-mobile/android-activity/issues/44#issuecomment-1627240142 by @lucasmerlin\r\n\r\nOur progress:\r\n\r\n- [x] https://github.com/damus-io/android/issues/74\r\n- [ ] https://github.com/damus-io/android/issues/80\r\n- [ ] https://github.com/damus-io/android/issues/76\r\n- [ ] https://github.com/damus-io/android/issues/75",
   6156       "reactions": {
   6157         "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions",
   6158         "total_count": 1,
   6159         "+1": 0,
   6160         "-1": 0,
   6161         "laugh": 0,
   6162         "hooray": 0,
   6163         "confused": 0,
   6164         "heart": 0,
   6165         "rocket": 0,
   6166         "eyes": 1
   6167       },
   6168       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline",
   6169       "performed_via_github_app": null,
   6170       "state_reason": null
   6171     },
   6172     "comment": {
   6173       "user": "jb55",
   6174       "created_at": "2024-03-27T10:21:35Z",
   6175       "updated_at": "2024-03-27T10:21:35Z",
   6176       "body": "I looked into this all yesterday. It looks like we might need to switch over to GameActivity to get this working. There is some initial work from @rib in android-activity (https://github.com/rust-mobile/android-activity/pull/24) for soft keyboard + GameActivity, but it looks like we'll will still need winit/egui support. There are some demos by @lucasmerlin at https://github.com/lucasmerlin/rust-android-examples/tree/ime_support_showcase/agdk-eframe which demo this in egui.\r\n\r\nThe current build tooling we're using assumes its a NativeActivity, I have yet to get GameActivity working. It seems there are many build tools: cargo-apk (what we're using now), cargo-ndk, cargo-xbuild, cargo-mobile2. I'm not sure what to use. The GameActivity demos use cargo-ndk but it requires some gradle step which I have yet to get working.\r\n\r\nSomewhat surprised the rust mobile ecosystem still can't present a keyboard for input, oh well, I guess banging my head against this a bit more is easier than building an entirely new android kotlin codebase from scratch.\r\n"
   6177     }
   6178   },
   6179   {
   6180     "issue": {
   6181       "url": "https://api.github.com/repos/damus-io/android/issues/60",
   6182       "repository_url": "https://api.github.com/repos/damus-io/android",
   6183       "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}",
   6184       "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments",
   6185       "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events",
   6186       "html_url": "https://github.com/damus-io/android/issues/60",
   6187       "id": 2203794051,
   6188       "node_id": "I_kwDOKzWMZs6DWzqD",
   6189       "number": 60,
   6190       "title": "Android softkeyboard support",
   6191       "user": {
   6192         "login": "jb55",
   6193         "id": 45598,
   6194         "node_id": "MDQ6VXNlcjQ1NTk4",
   6195         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6196         "gravatar_id": "",
   6197         "url": "https://api.github.com/users/jb55",
   6198         "html_url": "https://github.com/jb55",
   6199         "followers_url": "https://api.github.com/users/jb55/followers",
   6200         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6201         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6202         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6203         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6204         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6205         "repos_url": "https://api.github.com/users/jb55/repos",
   6206         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6207         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6208         "type": "User",
   6209         "site_admin": false
   6210       },
   6211       "labels": [
   6212         {
   6213           "id": 6339173748,
   6214           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   6215           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   6216           "name": "technical",
   6217           "color": "e99695",
   6218           "default": false,
   6219           "description": ""
   6220         }
   6221       ],
   6222       "state": "open",
   6223       "locked": false,
   6224       "assignee": {
   6225         "login": "jb55",
   6226         "id": 45598,
   6227         "node_id": "MDQ6VXNlcjQ1NTk4",
   6228         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6229         "gravatar_id": "",
   6230         "url": "https://api.github.com/users/jb55",
   6231         "html_url": "https://github.com/jb55",
   6232         "followers_url": "https://api.github.com/users/jb55/followers",
   6233         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6234         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6235         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6236         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6237         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6238         "repos_url": "https://api.github.com/users/jb55/repos",
   6239         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6240         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6241         "type": "User",
   6242         "site_admin": false
   6243       },
   6244       "assignees": [
   6245         {
   6246           "login": "jb55",
   6247           "id": 45598,
   6248           "node_id": "MDQ6VXNlcjQ1NTk4",
   6249           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6250           "gravatar_id": "",
   6251           "url": "https://api.github.com/users/jb55",
   6252           "html_url": "https://github.com/jb55",
   6253           "followers_url": "https://api.github.com/users/jb55/followers",
   6254           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6255           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6256           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6257           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6258           "organizations_url": "https://api.github.com/users/jb55/orgs",
   6259           "repos_url": "https://api.github.com/users/jb55/repos",
   6260           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6261           "received_events_url": "https://api.github.com/users/jb55/received_events",
   6262           "type": "User",
   6263           "site_admin": false
   6264         }
   6265       ],
   6266       "milestone": {
   6267         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   6268         "html_url": "https://github.com/damus-io/android/milestone/1",
   6269         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   6270         "id": 10252427,
   6271         "node_id": "MI_kwDOKzWMZs4AnHCL",
   6272         "number": 1,
   6273         "title": "0.1 Android PRAGUE",
   6274         "description": "",
   6275         "creator": {
   6276           "login": "alltheseas",
   6277           "id": 64376233,
   6278           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   6279           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   6280           "gravatar_id": "",
   6281           "url": "https://api.github.com/users/alltheseas",
   6282           "html_url": "https://github.com/alltheseas",
   6283           "followers_url": "https://api.github.com/users/alltheseas/followers",
   6284           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   6285           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   6286           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   6287           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   6288           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   6289           "repos_url": "https://api.github.com/users/alltheseas/repos",
   6290           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   6291           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   6292           "type": "User",
   6293           "site_admin": false
   6294         },
   6295         "open_issues": 22,
   6296         "closed_issues": 3,
   6297         "state": "open",
   6298         "created_at": "2023-11-30T19:39:43Z",
   6299         "updated_at": "2024-04-09T19:49:56Z",
   6300         "due_on": "2024-06-12T07:00:00Z",
   6301         "closed_at": null
   6302       },
   6303       "comments": 4,
   6304       "created_at": "2024-03-23T09:36:09Z",
   6305       "updated_at": "2024-04-09T20:37:18Z",
   6306       "closed_at": null,
   6307       "author_association": "CONTRIBUTOR",
   6308       "active_lock_reason": null,
   6309       "body": "For input on android, we need to pop up the keyboard. This isn't directly supported by egui, since egui doesn't handle such things. egui delegates such tasks to winit, but winit does not support it yet.\r\n\r\nExternal tracking issues:\r\n\r\n- https://github.com/emilk/egui/issues/3890\r\n- https://github.com/rust-windowing/winit/issues/1823\r\n- https://github.com/emilk/egui/discussions/2975\r\n- https://github.com/rust-mobile/android-activity/issues/44\r\n- https://github.com/rust-mobile/android-activity/pull/24\r\n- https://github.com/rust-mobile/android-activity/issues/18\r\n\r\nProgress in this area:\r\n\r\n- https://github.com/rust-mobile/android-activity/issues/44#issuecomment-1627240142 by @lucasmerlin\r\n\r\nOur progress:\r\n\r\n- [x] https://github.com/damus-io/android/issues/74\r\n- [ ] https://github.com/damus-io/android/issues/80\r\n- [ ] https://github.com/damus-io/android/issues/76\r\n- [ ] https://github.com/damus-io/android/issues/75",
   6310       "reactions": {
   6311         "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions",
   6312         "total_count": 1,
   6313         "+1": 0,
   6314         "-1": 0,
   6315         "laugh": 0,
   6316         "hooray": 0,
   6317         "confused": 0,
   6318         "heart": 0,
   6319         "rocket": 0,
   6320         "eyes": 1
   6321       },
   6322       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline",
   6323       "performed_via_github_app": null,
   6324       "state_reason": null
   6325     },
   6326     "comment": {
   6327       "user": "lucasmerlin",
   6328       "created_at": "2024-03-27T11:09:19Z",
   6329       "updated_at": "2024-03-27T11:09:19Z",
   6330       "body": "I can report that I'm still using the method from the showcase in my app and I regularly update my fork of winit and egui with the keyboard changes to the newest versions.\r\n\r\nThe current versions of my fork are here:\r\n\r\nhttps://github.com/lucasmerlin/egui/tree/hp_improvements_0.26\r\n\r\nhttps://github.com/lucasmerlin/winit/tree/hp-fixes-0.29.x\r\n\r\nThey also contain changes unrelated to keyboard input, but maybe it will still be helpful. "
   6331     }
   6332   },
   6333   {
   6334     "issue": {
   6335       "url": "https://api.github.com/repos/damus-io/android/issues/60",
   6336       "repository_url": "https://api.github.com/repos/damus-io/android",
   6337       "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}",
   6338       "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments",
   6339       "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events",
   6340       "html_url": "https://github.com/damus-io/android/issues/60",
   6341       "id": 2203794051,
   6342       "node_id": "I_kwDOKzWMZs6DWzqD",
   6343       "number": 60,
   6344       "title": "Android softkeyboard support",
   6345       "user": {
   6346         "login": "jb55",
   6347         "id": 45598,
   6348         "node_id": "MDQ6VXNlcjQ1NTk4",
   6349         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6350         "gravatar_id": "",
   6351         "url": "https://api.github.com/users/jb55",
   6352         "html_url": "https://github.com/jb55",
   6353         "followers_url": "https://api.github.com/users/jb55/followers",
   6354         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6355         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6356         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6357         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6358         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6359         "repos_url": "https://api.github.com/users/jb55/repos",
   6360         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6361         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6362         "type": "User",
   6363         "site_admin": false
   6364       },
   6365       "labels": [
   6366         {
   6367           "id": 6339173748,
   6368           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   6369           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   6370           "name": "technical",
   6371           "color": "e99695",
   6372           "default": false,
   6373           "description": ""
   6374         }
   6375       ],
   6376       "state": "open",
   6377       "locked": false,
   6378       "assignee": {
   6379         "login": "jb55",
   6380         "id": 45598,
   6381         "node_id": "MDQ6VXNlcjQ1NTk4",
   6382         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6383         "gravatar_id": "",
   6384         "url": "https://api.github.com/users/jb55",
   6385         "html_url": "https://github.com/jb55",
   6386         "followers_url": "https://api.github.com/users/jb55/followers",
   6387         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6388         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6389         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6390         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6391         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6392         "repos_url": "https://api.github.com/users/jb55/repos",
   6393         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6394         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6395         "type": "User",
   6396         "site_admin": false
   6397       },
   6398       "assignees": [
   6399         {
   6400           "login": "jb55",
   6401           "id": 45598,
   6402           "node_id": "MDQ6VXNlcjQ1NTk4",
   6403           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6404           "gravatar_id": "",
   6405           "url": "https://api.github.com/users/jb55",
   6406           "html_url": "https://github.com/jb55",
   6407           "followers_url": "https://api.github.com/users/jb55/followers",
   6408           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6409           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6410           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6411           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6412           "organizations_url": "https://api.github.com/users/jb55/orgs",
   6413           "repos_url": "https://api.github.com/users/jb55/repos",
   6414           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6415           "received_events_url": "https://api.github.com/users/jb55/received_events",
   6416           "type": "User",
   6417           "site_admin": false
   6418         }
   6419       ],
   6420       "milestone": {
   6421         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   6422         "html_url": "https://github.com/damus-io/android/milestone/1",
   6423         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   6424         "id": 10252427,
   6425         "node_id": "MI_kwDOKzWMZs4AnHCL",
   6426         "number": 1,
   6427         "title": "0.1 Android PRAGUE",
   6428         "description": "",
   6429         "creator": {
   6430           "login": "alltheseas",
   6431           "id": 64376233,
   6432           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   6433           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   6434           "gravatar_id": "",
   6435           "url": "https://api.github.com/users/alltheseas",
   6436           "html_url": "https://github.com/alltheseas",
   6437           "followers_url": "https://api.github.com/users/alltheseas/followers",
   6438           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   6439           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   6440           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   6441           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   6442           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   6443           "repos_url": "https://api.github.com/users/alltheseas/repos",
   6444           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   6445           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   6446           "type": "User",
   6447           "site_admin": false
   6448         },
   6449         "open_issues": 22,
   6450         "closed_issues": 3,
   6451         "state": "open",
   6452         "created_at": "2023-11-30T19:39:43Z",
   6453         "updated_at": "2024-04-09T19:49:56Z",
   6454         "due_on": "2024-06-12T07:00:00Z",
   6455         "closed_at": null
   6456       },
   6457       "comments": 4,
   6458       "created_at": "2024-03-23T09:36:09Z",
   6459       "updated_at": "2024-04-09T20:37:18Z",
   6460       "closed_at": null,
   6461       "author_association": "CONTRIBUTOR",
   6462       "active_lock_reason": null,
   6463       "body": "For input on android, we need to pop up the keyboard. This isn't directly supported by egui, since egui doesn't handle such things. egui delegates such tasks to winit, but winit does not support it yet.\r\n\r\nExternal tracking issues:\r\n\r\n- https://github.com/emilk/egui/issues/3890\r\n- https://github.com/rust-windowing/winit/issues/1823\r\n- https://github.com/emilk/egui/discussions/2975\r\n- https://github.com/rust-mobile/android-activity/issues/44\r\n- https://github.com/rust-mobile/android-activity/pull/24\r\n- https://github.com/rust-mobile/android-activity/issues/18\r\n\r\nProgress in this area:\r\n\r\n- https://github.com/rust-mobile/android-activity/issues/44#issuecomment-1627240142 by @lucasmerlin\r\n\r\nOur progress:\r\n\r\n- [x] https://github.com/damus-io/android/issues/74\r\n- [ ] https://github.com/damus-io/android/issues/80\r\n- [ ] https://github.com/damus-io/android/issues/76\r\n- [ ] https://github.com/damus-io/android/issues/75",
   6464       "reactions": {
   6465         "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions",
   6466         "total_count": 1,
   6467         "+1": 0,
   6468         "-1": 0,
   6469         "laugh": 0,
   6470         "hooray": 0,
   6471         "confused": 0,
   6472         "heart": 0,
   6473         "rocket": 0,
   6474         "eyes": 1
   6475       },
   6476       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline",
   6477       "performed_via_github_app": null,
   6478       "state_reason": null
   6479     },
   6480     "comment": {
   6481       "user": "jb55",
   6482       "created_at": "2024-03-27T13:03:10Z",
   6483       "updated_at": "2024-03-27T13:03:10Z",
   6484       "body": "I saw those! Thank you! I will try to get these working."
   6485     }
   6486   },
   6487   {
   6488     "issue": {
   6489       "url": "https://api.github.com/repos/damus-io/android/issues/60",
   6490       "repository_url": "https://api.github.com/repos/damus-io/android",
   6491       "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}",
   6492       "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments",
   6493       "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events",
   6494       "html_url": "https://github.com/damus-io/android/issues/60",
   6495       "id": 2203794051,
   6496       "node_id": "I_kwDOKzWMZs6DWzqD",
   6497       "number": 60,
   6498       "title": "Android softkeyboard support",
   6499       "user": {
   6500         "login": "jb55",
   6501         "id": 45598,
   6502         "node_id": "MDQ6VXNlcjQ1NTk4",
   6503         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6504         "gravatar_id": "",
   6505         "url": "https://api.github.com/users/jb55",
   6506         "html_url": "https://github.com/jb55",
   6507         "followers_url": "https://api.github.com/users/jb55/followers",
   6508         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6509         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6510         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6511         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6512         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6513         "repos_url": "https://api.github.com/users/jb55/repos",
   6514         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6515         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6516         "type": "User",
   6517         "site_admin": false
   6518       },
   6519       "labels": [
   6520         {
   6521           "id": 6339173748,
   6522           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   6523           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   6524           "name": "technical",
   6525           "color": "e99695",
   6526           "default": false,
   6527           "description": ""
   6528         }
   6529       ],
   6530       "state": "open",
   6531       "locked": false,
   6532       "assignee": {
   6533         "login": "jb55",
   6534         "id": 45598,
   6535         "node_id": "MDQ6VXNlcjQ1NTk4",
   6536         "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6537         "gravatar_id": "",
   6538         "url": "https://api.github.com/users/jb55",
   6539         "html_url": "https://github.com/jb55",
   6540         "followers_url": "https://api.github.com/users/jb55/followers",
   6541         "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6542         "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6543         "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6544         "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6545         "organizations_url": "https://api.github.com/users/jb55/orgs",
   6546         "repos_url": "https://api.github.com/users/jb55/repos",
   6547         "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6548         "received_events_url": "https://api.github.com/users/jb55/received_events",
   6549         "type": "User",
   6550         "site_admin": false
   6551       },
   6552       "assignees": [
   6553         {
   6554           "login": "jb55",
   6555           "id": 45598,
   6556           "node_id": "MDQ6VXNlcjQ1NTk4",
   6557           "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4",
   6558           "gravatar_id": "",
   6559           "url": "https://api.github.com/users/jb55",
   6560           "html_url": "https://github.com/jb55",
   6561           "followers_url": "https://api.github.com/users/jb55/followers",
   6562           "following_url": "https://api.github.com/users/jb55/following{/other_user}",
   6563           "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}",
   6564           "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}",
   6565           "subscriptions_url": "https://api.github.com/users/jb55/subscriptions",
   6566           "organizations_url": "https://api.github.com/users/jb55/orgs",
   6567           "repos_url": "https://api.github.com/users/jb55/repos",
   6568           "events_url": "https://api.github.com/users/jb55/events{/privacy}",
   6569           "received_events_url": "https://api.github.com/users/jb55/received_events",
   6570           "type": "User",
   6571           "site_admin": false
   6572         }
   6573       ],
   6574       "milestone": {
   6575         "url": "https://api.github.com/repos/damus-io/android/milestones/1",
   6576         "html_url": "https://github.com/damus-io/android/milestone/1",
   6577         "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels",
   6578         "id": 10252427,
   6579         "node_id": "MI_kwDOKzWMZs4AnHCL",
   6580         "number": 1,
   6581         "title": "0.1 Android PRAGUE",
   6582         "description": "",
   6583         "creator": {
   6584           "login": "alltheseas",
   6585           "id": 64376233,
   6586           "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   6587           "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   6588           "gravatar_id": "",
   6589           "url": "https://api.github.com/users/alltheseas",
   6590           "html_url": "https://github.com/alltheseas",
   6591           "followers_url": "https://api.github.com/users/alltheseas/followers",
   6592           "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   6593           "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   6594           "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   6595           "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   6596           "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   6597           "repos_url": "https://api.github.com/users/alltheseas/repos",
   6598           "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   6599           "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   6600           "type": "User",
   6601           "site_admin": false
   6602         },
   6603         "open_issues": 22,
   6604         "closed_issues": 3,
   6605         "state": "open",
   6606         "created_at": "2023-11-30T19:39:43Z",
   6607         "updated_at": "2024-04-09T19:49:56Z",
   6608         "due_on": "2024-06-12T07:00:00Z",
   6609         "closed_at": null
   6610       },
   6611       "comments": 4,
   6612       "created_at": "2024-03-23T09:36:09Z",
   6613       "updated_at": "2024-04-09T20:37:18Z",
   6614       "closed_at": null,
   6615       "author_association": "CONTRIBUTOR",
   6616       "active_lock_reason": null,
   6617       "body": "For input on android, we need to pop up the keyboard. This isn't directly supported by egui, since egui doesn't handle such things. egui delegates such tasks to winit, but winit does not support it yet.\r\n\r\nExternal tracking issues:\r\n\r\n- https://github.com/emilk/egui/issues/3890\r\n- https://github.com/rust-windowing/winit/issues/1823\r\n- https://github.com/emilk/egui/discussions/2975\r\n- https://github.com/rust-mobile/android-activity/issues/44\r\n- https://github.com/rust-mobile/android-activity/pull/24\r\n- https://github.com/rust-mobile/android-activity/issues/18\r\n\r\nProgress in this area:\r\n\r\n- https://github.com/rust-mobile/android-activity/issues/44#issuecomment-1627240142 by @lucasmerlin\r\n\r\nOur progress:\r\n\r\n- [x] https://github.com/damus-io/android/issues/74\r\n- [ ] https://github.com/damus-io/android/issues/80\r\n- [ ] https://github.com/damus-io/android/issues/76\r\n- [ ] https://github.com/damus-io/android/issues/75",
   6618       "reactions": {
   6619         "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions",
   6620         "total_count": 1,
   6621         "+1": 0,
   6622         "-1": 0,
   6623         "laugh": 0,
   6624         "hooray": 0,
   6625         "confused": 0,
   6626         "heart": 0,
   6627         "rocket": 0,
   6628         "eyes": 1
   6629       },
   6630       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline",
   6631       "performed_via_github_app": null,
   6632       "state_reason": null
   6633     },
   6634     "comment": {
   6635       "user": "jb55",
   6636       "created_at": "2024-04-08T17:37:26Z",
   6637       "updated_at": "2024-04-08T17:37:26Z",
   6638       "body": "Since this is a large task I will split it into specific deliverables for this sprint"
   6639     }
   6640   },
   6641   {
   6642     "issue": {
   6643       "url": "https://api.github.com/repos/damus-io/android/issues/59",
   6644       "repository_url": "https://api.github.com/repos/damus-io/android",
   6645       "labels_url": "https://api.github.com/repos/damus-io/android/issues/59/labels{/name}",
   6646       "comments_url": "https://api.github.com/repos/damus-io/android/issues/59/comments",
   6647       "events_url": "https://api.github.com/repos/damus-io/android/issues/59/events",
   6648       "html_url": "https://github.com/damus-io/android/issues/59",
   6649       "id": 2187559986,
   6650       "node_id": "I_kwDOKzWMZs6CY4Qy",
   6651       "number": 59,
   6652       "title": "One tap zaps, LN address, and receiving zaps magically work post onboarding (fedimint)",
   6653       "user": {
   6654         "login": "alltheseas",
   6655         "id": 64376233,
   6656         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   6657         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   6658         "gravatar_id": "",
   6659         "url": "https://api.github.com/users/alltheseas",
   6660         "html_url": "https://github.com/alltheseas",
   6661         "followers_url": "https://api.github.com/users/alltheseas/followers",
   6662         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   6663         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   6664         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   6665         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   6666         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   6667         "repos_url": "https://api.github.com/users/alltheseas/repos",
   6668         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   6669         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   6670         "type": "User",
   6671         "site_admin": false
   6672       },
   6673       "labels": [
   6674         {
   6675           "id": 6271232904,
   6676           "node_id": "LA_kwDOKzWMZs8AAAABdctriA",
   6677           "url": "https://api.github.com/repos/damus-io/android/labels/zaps",
   6678           "name": "zaps",
   6679           "color": "fef2c0",
   6680           "default": false,
   6681           "description": ""
   6682         },
   6683         {
   6684           "id": 6693750330,
   6685           "node_id": "LA_kwDOKzWMZs8AAAABjvqGOg",
   6686           "url": "https://api.github.com/repos/damus-io/android/labels/fedimint",
   6687           "name": "fedimint",
   6688           "color": "630EFE",
   6689           "default": false,
   6690           "description": ""
   6691         }
   6692       ],
   6693       "state": "open",
   6694       "locked": false,
   6695       "assignee": {
   6696         "login": "kernelkind",
   6697         "id": 8139906,
   6698         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   6699         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   6700         "gravatar_id": "",
   6701         "url": "https://api.github.com/users/kernelkind",
   6702         "html_url": "https://github.com/kernelkind",
   6703         "followers_url": "https://api.github.com/users/kernelkind/followers",
   6704         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   6705         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   6706         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   6707         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   6708         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   6709         "repos_url": "https://api.github.com/users/kernelkind/repos",
   6710         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   6711         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   6712         "type": "User",
   6713         "site_admin": false
   6714       },
   6715       "assignees": [
   6716         {
   6717           "login": "kernelkind",
   6718           "id": 8139906,
   6719           "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   6720           "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   6721           "gravatar_id": "",
   6722           "url": "https://api.github.com/users/kernelkind",
   6723           "html_url": "https://github.com/kernelkind",
   6724           "followers_url": "https://api.github.com/users/kernelkind/followers",
   6725           "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   6726           "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   6727           "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   6728           "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   6729           "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   6730           "repos_url": "https://api.github.com/users/kernelkind/repos",
   6731           "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   6732           "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   6733           "type": "User",
   6734           "site_admin": false
   6735         }
   6736       ],
   6737       "milestone": null,
   6738       "comments": 2,
   6739       "created_at": "2024-03-15T01:42:16Z",
   6740       "updated_at": "2024-03-16T08:32:54Z",
   6741       "closed_at": null,
   6742       "author_association": "CONTRIBUTOR",
   6743       "active_lock_reason": null,
   6744       "body": "## user story\r\n\r\nAs someone who has just completed onboarding to Damus Android, I want to be able to send zaps & receive zaps, so that I can experience the full experience of nostr immediately.\r\n\r\n### acceptance criteria\r\nImmediately upon onboarding,\r\n1. user automagically has a LN address, and\r\n2. user automagically can receive zaps (sats), and \r\n3. user automagically can send zaps (sats), and\r\n4. user can see balance (in sats)\r\n5. user is notified of zap receipts\r\n6. user has a history of zap sends\r\n7. user has a history of zap receipts\r\n8. one tap zaps are possible\r\n9. user cannot be rugpulled by a single user, or entity\r\n\r\n### implementation details\r\n\r\n1) [Fedimint](https://github.com/fedimint/fedimint) written in Rust, which lends itself to Damus Android\r\n2) [Hermes](https://github.com/Kodylow/hermes) by Kody\r\n3) [NWC](https://nwc.dev/) \r\n\r\n\r\n",
   6745       "reactions": {
   6746         "url": "https://api.github.com/repos/damus-io/android/issues/59/reactions",
   6747         "total_count": 0,
   6748         "+1": 0,
   6749         "-1": 0,
   6750         "laugh": 0,
   6751         "hooray": 0,
   6752         "confused": 0,
   6753         "heart": 0,
   6754         "rocket": 0,
   6755         "eyes": 0
   6756       },
   6757       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/59/timeline",
   6758       "performed_via_github_app": null,
   6759       "state_reason": null
   6760     }
   6761   },
   6762   {
   6763     "issue": {
   6764       "url": "https://api.github.com/repos/damus-io/android/issues/59",
   6765       "repository_url": "https://api.github.com/repos/damus-io/android",
   6766       "labels_url": "https://api.github.com/repos/damus-io/android/issues/59/labels{/name}",
   6767       "comments_url": "https://api.github.com/repos/damus-io/android/issues/59/comments",
   6768       "events_url": "https://api.github.com/repos/damus-io/android/issues/59/events",
   6769       "html_url": "https://github.com/damus-io/android/issues/59",
   6770       "id": 2187559986,
   6771       "node_id": "I_kwDOKzWMZs6CY4Qy",
   6772       "number": 59,
   6773       "title": "One tap zaps, LN address, and receiving zaps magically work post onboarding (fedimint)",
   6774       "user": {
   6775         "login": "alltheseas",
   6776         "id": 64376233,
   6777         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   6778         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   6779         "gravatar_id": "",
   6780         "url": "https://api.github.com/users/alltheseas",
   6781         "html_url": "https://github.com/alltheseas",
   6782         "followers_url": "https://api.github.com/users/alltheseas/followers",
   6783         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   6784         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   6785         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   6786         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   6787         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   6788         "repos_url": "https://api.github.com/users/alltheseas/repos",
   6789         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   6790         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   6791         "type": "User",
   6792         "site_admin": false
   6793       },
   6794       "labels": [
   6795         {
   6796           "id": 6271232904,
   6797           "node_id": "LA_kwDOKzWMZs8AAAABdctriA",
   6798           "url": "https://api.github.com/repos/damus-io/android/labels/zaps",
   6799           "name": "zaps",
   6800           "color": "fef2c0",
   6801           "default": false,
   6802           "description": ""
   6803         },
   6804         {
   6805           "id": 6693750330,
   6806           "node_id": "LA_kwDOKzWMZs8AAAABjvqGOg",
   6807           "url": "https://api.github.com/repos/damus-io/android/labels/fedimint",
   6808           "name": "fedimint",
   6809           "color": "630EFE",
   6810           "default": false,
   6811           "description": ""
   6812         }
   6813       ],
   6814       "state": "open",
   6815       "locked": false,
   6816       "assignee": {
   6817         "login": "kernelkind",
   6818         "id": 8139906,
   6819         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   6820         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   6821         "gravatar_id": "",
   6822         "url": "https://api.github.com/users/kernelkind",
   6823         "html_url": "https://github.com/kernelkind",
   6824         "followers_url": "https://api.github.com/users/kernelkind/followers",
   6825         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   6826         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   6827         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   6828         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   6829         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   6830         "repos_url": "https://api.github.com/users/kernelkind/repos",
   6831         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   6832         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   6833         "type": "User",
   6834         "site_admin": false
   6835       },
   6836       "assignees": [
   6837         {
   6838           "login": "kernelkind",
   6839           "id": 8139906,
   6840           "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   6841           "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   6842           "gravatar_id": "",
   6843           "url": "https://api.github.com/users/kernelkind",
   6844           "html_url": "https://github.com/kernelkind",
   6845           "followers_url": "https://api.github.com/users/kernelkind/followers",
   6846           "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   6847           "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   6848           "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   6849           "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   6850           "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   6851           "repos_url": "https://api.github.com/users/kernelkind/repos",
   6852           "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   6853           "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   6854           "type": "User",
   6855           "site_admin": false
   6856         }
   6857       ],
   6858       "milestone": null,
   6859       "comments": 2,
   6860       "created_at": "2024-03-15T01:42:16Z",
   6861       "updated_at": "2024-03-16T08:32:54Z",
   6862       "closed_at": null,
   6863       "author_association": "CONTRIBUTOR",
   6864       "active_lock_reason": null,
   6865       "body": "## user story\r\n\r\nAs someone who has just completed onboarding to Damus Android, I want to be able to send zaps & receive zaps, so that I can experience the full experience of nostr immediately.\r\n\r\n### acceptance criteria\r\nImmediately upon onboarding,\r\n1. user automagically has a LN address, and\r\n2. user automagically can receive zaps (sats), and \r\n3. user automagically can send zaps (sats), and\r\n4. user can see balance (in sats)\r\n5. user is notified of zap receipts\r\n6. user has a history of zap sends\r\n7. user has a history of zap receipts\r\n8. one tap zaps are possible\r\n9. user cannot be rugpulled by a single user, or entity\r\n\r\n### implementation details\r\n\r\n1) [Fedimint](https://github.com/fedimint/fedimint) written in Rust, which lends itself to Damus Android\r\n2) [Hermes](https://github.com/Kodylow/hermes) by Kody\r\n3) [NWC](https://nwc.dev/) \r\n\r\n\r\n",
   6866       "reactions": {
   6867         "url": "https://api.github.com/repos/damus-io/android/issues/59/reactions",
   6868         "total_count": 0,
   6869         "+1": 0,
   6870         "-1": 0,
   6871         "laugh": 0,
   6872         "hooray": 0,
   6873         "confused": 0,
   6874         "heart": 0,
   6875         "rocket": 0,
   6876         "eyes": 0
   6877       },
   6878       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/59/timeline",
   6879       "performed_via_github_app": null,
   6880       "state_reason": null
   6881     },
   6882     "comment": {
   6883       "user": "alltheseas",
   6884       "created_at": "2024-03-15T01:42:51Z",
   6885       "updated_at": "2024-03-15T01:42:51Z",
   6886       "body": "@kernelkind @jb55 "
   6887     }
   6888   },
   6889   {
   6890     "issue": {
   6891       "url": "https://api.github.com/repos/damus-io/android/issues/59",
   6892       "repository_url": "https://api.github.com/repos/damus-io/android",
   6893       "labels_url": "https://api.github.com/repos/damus-io/android/issues/59/labels{/name}",
   6894       "comments_url": "https://api.github.com/repos/damus-io/android/issues/59/comments",
   6895       "events_url": "https://api.github.com/repos/damus-io/android/issues/59/events",
   6896       "html_url": "https://github.com/damus-io/android/issues/59",
   6897       "id": 2187559986,
   6898       "node_id": "I_kwDOKzWMZs6CY4Qy",
   6899       "number": 59,
   6900       "title": "One tap zaps, LN address, and receiving zaps magically work post onboarding (fedimint)",
   6901       "user": {
   6902         "login": "alltheseas",
   6903         "id": 64376233,
   6904         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   6905         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   6906         "gravatar_id": "",
   6907         "url": "https://api.github.com/users/alltheseas",
   6908         "html_url": "https://github.com/alltheseas",
   6909         "followers_url": "https://api.github.com/users/alltheseas/followers",
   6910         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   6911         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   6912         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   6913         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   6914         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   6915         "repos_url": "https://api.github.com/users/alltheseas/repos",
   6916         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   6917         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   6918         "type": "User",
   6919         "site_admin": false
   6920       },
   6921       "labels": [
   6922         {
   6923           "id": 6271232904,
   6924           "node_id": "LA_kwDOKzWMZs8AAAABdctriA",
   6925           "url": "https://api.github.com/repos/damus-io/android/labels/zaps",
   6926           "name": "zaps",
   6927           "color": "fef2c0",
   6928           "default": false,
   6929           "description": ""
   6930         },
   6931         {
   6932           "id": 6693750330,
   6933           "node_id": "LA_kwDOKzWMZs8AAAABjvqGOg",
   6934           "url": "https://api.github.com/repos/damus-io/android/labels/fedimint",
   6935           "name": "fedimint",
   6936           "color": "630EFE",
   6937           "default": false,
   6938           "description": ""
   6939         }
   6940       ],
   6941       "state": "open",
   6942       "locked": false,
   6943       "assignee": {
   6944         "login": "kernelkind",
   6945         "id": 8139906,
   6946         "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   6947         "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   6948         "gravatar_id": "",
   6949         "url": "https://api.github.com/users/kernelkind",
   6950         "html_url": "https://github.com/kernelkind",
   6951         "followers_url": "https://api.github.com/users/kernelkind/followers",
   6952         "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   6953         "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   6954         "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   6955         "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   6956         "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   6957         "repos_url": "https://api.github.com/users/kernelkind/repos",
   6958         "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   6959         "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   6960         "type": "User",
   6961         "site_admin": false
   6962       },
   6963       "assignees": [
   6964         {
   6965           "login": "kernelkind",
   6966           "id": 8139906,
   6967           "node_id": "MDQ6VXNlcjgxMzk5MDY=",
   6968           "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4",
   6969           "gravatar_id": "",
   6970           "url": "https://api.github.com/users/kernelkind",
   6971           "html_url": "https://github.com/kernelkind",
   6972           "followers_url": "https://api.github.com/users/kernelkind/followers",
   6973           "following_url": "https://api.github.com/users/kernelkind/following{/other_user}",
   6974           "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}",
   6975           "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}",
   6976           "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions",
   6977           "organizations_url": "https://api.github.com/users/kernelkind/orgs",
   6978           "repos_url": "https://api.github.com/users/kernelkind/repos",
   6979           "events_url": "https://api.github.com/users/kernelkind/events{/privacy}",
   6980           "received_events_url": "https://api.github.com/users/kernelkind/received_events",
   6981           "type": "User",
   6982           "site_admin": false
   6983         }
   6984       ],
   6985       "milestone": null,
   6986       "comments": 2,
   6987       "created_at": "2024-03-15T01:42:16Z",
   6988       "updated_at": "2024-03-16T08:32:54Z",
   6989       "closed_at": null,
   6990       "author_association": "CONTRIBUTOR",
   6991       "active_lock_reason": null,
   6992       "body": "## user story\r\n\r\nAs someone who has just completed onboarding to Damus Android, I want to be able to send zaps & receive zaps, so that I can experience the full experience of nostr immediately.\r\n\r\n### acceptance criteria\r\nImmediately upon onboarding,\r\n1. user automagically has a LN address, and\r\n2. user automagically can receive zaps (sats), and \r\n3. user automagically can send zaps (sats), and\r\n4. user can see balance (in sats)\r\n5. user is notified of zap receipts\r\n6. user has a history of zap sends\r\n7. user has a history of zap receipts\r\n8. one tap zaps are possible\r\n9. user cannot be rugpulled by a single user, or entity\r\n\r\n### implementation details\r\n\r\n1) [Fedimint](https://github.com/fedimint/fedimint) written in Rust, which lends itself to Damus Android\r\n2) [Hermes](https://github.com/Kodylow/hermes) by Kody\r\n3) [NWC](https://nwc.dev/) \r\n\r\n\r\n",
   6993       "reactions": {
   6994         "url": "https://api.github.com/repos/damus-io/android/issues/59/reactions",
   6995         "total_count": 0,
   6996         "+1": 0,
   6997         "-1": 0,
   6998         "laugh": 0,
   6999         "hooray": 0,
   7000         "confused": 0,
   7001         "heart": 0,
   7002         "rocket": 0,
   7003         "eyes": 0
   7004       },
   7005       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/59/timeline",
   7006       "performed_via_github_app": null,
   7007       "state_reason": null
   7008     },
   7009     "comment": {
   7010       "user": "jb55",
   7011       "created_at": "2024-03-16T08:32:53Z",
   7012       "updated_at": "2024-03-16T08:32:53Z",
   7013       "body": "\nSuggestion from someone who worked at lightning labs:\n\n> If I may offer my 2 sats worth: having built the reference wallet at Lightning Labs in 2018/2019 and observing other apps in the ecosystem try to tame the self-custodial lightning complexity beast since then... I suspect a wise move might be to integrate a custodial ecash-only wallet in v1. Then add the self-custodial part using LDK in v2. That will allow Damus to ship quickly to compete with Primal’s custodial wallet and offer a security upgrade in v2. I suspect many users will only keep a few pocket sats in their Damus wallet for zaps initially anyway. I do like prospects of self-custody and using this as my primary mobile wallet longterm. After a certain threshold of sats the fedimint wallet could splice into the self-custody LDK wallet and allow Damus users to hold medium sized amounts.\n"
   7014     }
   7015   },
   7016   {
   7017     "issue": {
   7018       "url": "https://api.github.com/repos/damus-io/android/issues/58",
   7019       "repository_url": "https://api.github.com/repos/damus-io/android",
   7020       "labels_url": "https://api.github.com/repos/damus-io/android/issues/58/labels{/name}",
   7021       "comments_url": "https://api.github.com/repos/damus-io/android/issues/58/comments",
   7022       "events_url": "https://api.github.com/repos/damus-io/android/issues/58/events",
   7023       "html_url": "https://github.com/damus-io/android/issues/58",
   7024       "id": 2130986448,
   7025       "node_id": "I_kwDOKzWMZs5_BEXQ",
   7026       "number": 58,
   7027       "title": "Crowdwall",
   7028       "user": {
   7029         "login": "alltheseas",
   7030         "id": 64376233,
   7031         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   7032         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   7033         "gravatar_id": "",
   7034         "url": "https://api.github.com/users/alltheseas",
   7035         "html_url": "https://github.com/alltheseas",
   7036         "followers_url": "https://api.github.com/users/alltheseas/followers",
   7037         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   7038         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   7039         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   7040         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   7041         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   7042         "repos_url": "https://api.github.com/users/alltheseas/repos",
   7043         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   7044         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   7045         "type": "User",
   7046         "site_admin": false
   7047       },
   7048       "labels": [
   7049         {
   7050           "id": 6271232904,
   7051           "node_id": "LA_kwDOKzWMZs8AAAABdctriA",
   7052           "url": "https://api.github.com/repos/damus-io/android/labels/zaps",
   7053           "name": "zaps",
   7054           "color": "fef2c0",
   7055           "default": false,
   7056           "description": ""
   7057         }
   7058       ],
   7059       "state": "open",
   7060       "locked": false,
   7061       "assignee": null,
   7062       "assignees": [],
   7063       "milestone": null,
   7064       "comments": 0,
   7065       "created_at": "2024-02-12T21:09:09Z",
   7066       "updated_at": "2024-02-12T21:09:09Z",
   7067       "closed_at": null,
   7068       "author_association": "CONTRIBUTOR",
   7069       "active_lock_reason": null,
   7070       "body": "## User Story\r\n\r\nAs a Damus user who creates content, I would like to set a crowd paywall that if met unlocks my content for all, so that I can receive sats in exchange for my content.\r\n\r\n### Acceptance Criteria\r\n1. Damus user can select crowdwall when posting a note,\r\n2. Damus user must provide a description of what is behind the crowdwall,\r\n3. If Damus user sets a particular note behind a crowdwall, the note cannot be seen until the crowdwall threshold is met,\r\n4. The crowdwall threshold is clearly displayed (XXX sats).\r\n5. Display % funded [for instance, 50% funded], and\r\n6. The amount gathered is clearly displayed relative to the crowdwall amount (5,000 sats raised, of 10,000 sats target),\r\n7. Any number of users can zap the note any number of times,\r\n8. If the threshold is surpassed, the note is unlocked for every nostr user,\r\n9. Users can choose to to zap the note after a particular note is unlocked,\r\n10. The crowdwall amount of zaps is counted in the note's zap counter at all times.\r\n11. If the threshold is not met after seven (7) days, the sats are returned to their respective senders.\r\n12. Days to go (for instance, 2 days to go) [time remaining calculated from default 7 days] are displayed.\r\n13. Display number of plebs who have zapped (for instance, 5 plebs have zapped towards the crowdwall).\r\n\r\n\r\nhttps://github.com/damus-io/damus/issues/1045",
   7071       "reactions": {
   7072         "url": "https://api.github.com/repos/damus-io/android/issues/58/reactions",
   7073         "total_count": 0,
   7074         "+1": 0,
   7075         "-1": 0,
   7076         "laugh": 0,
   7077         "hooray": 0,
   7078         "confused": 0,
   7079         "heart": 0,
   7080         "rocket": 0,
   7081         "eyes": 0
   7082       },
   7083       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/58/timeline",
   7084       "performed_via_github_app": null,
   7085       "state_reason": null
   7086     }
   7087   },
   7088   {
   7089     "issue": {
   7090       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7091       "repository_url": "https://api.github.com/repos/damus-io/android",
   7092       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7093       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7094       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7095       "html_url": "https://github.com/damus-io/android/issues/57",
   7096       "id": 2128555612,
   7097       "node_id": "I_kwDOKzWMZs5-3y5c",
   7098       "number": 57,
   7099       "title": "Nix environment doesn't work on m1 Mac",
   7100       "user": {
   7101         "login": "justinmoon",
   7102         "id": 4335621,
   7103         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7104         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7105         "gravatar_id": "",
   7106         "url": "https://api.github.com/users/justinmoon",
   7107         "html_url": "https://github.com/justinmoon",
   7108         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7109         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7110         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7111         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7112         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7113         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7114         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7115         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7116         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7117         "type": "User",
   7118         "site_admin": false
   7119       },
   7120       "labels": [
   7121         {
   7122           "id": 6339173748,
   7123           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7124           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7125           "name": "technical",
   7126           "color": "e99695",
   7127           "default": false,
   7128           "description": ""
   7129         },
   7130         {
   7131           "id": 6693731115,
   7132           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7133           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7134           "name": "MacOS",
   7135           "color": "CE127E",
   7136           "default": false,
   7137           "description": ""
   7138         }
   7139       ],
   7140       "state": "open",
   7141       "locked": false,
   7142       "assignee": null,
   7143       "assignees": [],
   7144       "milestone": null,
   7145       "comments": 7,
   7146       "created_at": "2024-02-10T15:37:43Z",
   7147       "updated_at": "2024-03-15T01:34:35Z",
   7148       "closed_at": null,
   7149       "author_association": "NONE",
   7150       "active_lock_reason": null,
   7151       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7152       "reactions": {
   7153         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7154         "total_count": 0,
   7155         "+1": 0,
   7156         "-1": 0,
   7157         "laugh": 0,
   7158         "hooray": 0,
   7159         "confused": 0,
   7160         "heart": 0,
   7161         "rocket": 0,
   7162         "eyes": 0
   7163       },
   7164       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7165       "performed_via_github_app": null,
   7166       "state_reason": null
   7167     }
   7168   },
   7169   {
   7170     "issue": {
   7171       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7172       "repository_url": "https://api.github.com/repos/damus-io/android",
   7173       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7174       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7175       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7176       "html_url": "https://github.com/damus-io/android/issues/57",
   7177       "id": 2128555612,
   7178       "node_id": "I_kwDOKzWMZs5-3y5c",
   7179       "number": 57,
   7180       "title": "Nix environment doesn't work on m1 Mac",
   7181       "user": {
   7182         "login": "justinmoon",
   7183         "id": 4335621,
   7184         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7185         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7186         "gravatar_id": "",
   7187         "url": "https://api.github.com/users/justinmoon",
   7188         "html_url": "https://github.com/justinmoon",
   7189         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7190         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7191         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7192         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7193         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7194         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7195         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7196         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7197         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7198         "type": "User",
   7199         "site_admin": false
   7200       },
   7201       "labels": [
   7202         {
   7203           "id": 6339173748,
   7204           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7205           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7206           "name": "technical",
   7207           "color": "e99695",
   7208           "default": false,
   7209           "description": ""
   7210         },
   7211         {
   7212           "id": 6693731115,
   7213           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7214           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7215           "name": "MacOS",
   7216           "color": "CE127E",
   7217           "default": false,
   7218           "description": ""
   7219         }
   7220       ],
   7221       "state": "open",
   7222       "locked": false,
   7223       "assignee": null,
   7224       "assignees": [],
   7225       "milestone": null,
   7226       "comments": 7,
   7227       "created_at": "2024-02-10T15:37:43Z",
   7228       "updated_at": "2024-03-15T01:34:35Z",
   7229       "closed_at": null,
   7230       "author_association": "NONE",
   7231       "active_lock_reason": null,
   7232       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7233       "reactions": {
   7234         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7235         "total_count": 0,
   7236         "+1": 0,
   7237         "-1": 0,
   7238         "laugh": 0,
   7239         "hooray": 0,
   7240         "confused": 0,
   7241         "heart": 0,
   7242         "rocket": 0,
   7243         "eyes": 0
   7244       },
   7245       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7246       "performed_via_github_app": null,
   7247       "state_reason": null
   7248     },
   7249     "comment": {
   7250       "user": "jb55",
   7251       "created_at": "2024-02-12T18:07:14Z",
   7252       "updated_at": "2024-02-12T18:07:14Z",
   7253       "body": "I haven't set up macos for android dev yet, I don't think you can use nixpkgs for this on mac?\n\n"
   7254     }
   7255   },
   7256   {
   7257     "issue": {
   7258       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7259       "repository_url": "https://api.github.com/repos/damus-io/android",
   7260       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7261       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7262       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7263       "html_url": "https://github.com/damus-io/android/issues/57",
   7264       "id": 2128555612,
   7265       "node_id": "I_kwDOKzWMZs5-3y5c",
   7266       "number": 57,
   7267       "title": "Nix environment doesn't work on m1 Mac",
   7268       "user": {
   7269         "login": "justinmoon",
   7270         "id": 4335621,
   7271         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7272         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7273         "gravatar_id": "",
   7274         "url": "https://api.github.com/users/justinmoon",
   7275         "html_url": "https://github.com/justinmoon",
   7276         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7277         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7278         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7279         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7280         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7281         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7282         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7283         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7284         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7285         "type": "User",
   7286         "site_admin": false
   7287       },
   7288       "labels": [
   7289         {
   7290           "id": 6339173748,
   7291           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7292           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7293           "name": "technical",
   7294           "color": "e99695",
   7295           "default": false,
   7296           "description": ""
   7297         },
   7298         {
   7299           "id": 6693731115,
   7300           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7301           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7302           "name": "MacOS",
   7303           "color": "CE127E",
   7304           "default": false,
   7305           "description": ""
   7306         }
   7307       ],
   7308       "state": "open",
   7309       "locked": false,
   7310       "assignee": null,
   7311       "assignees": [],
   7312       "milestone": null,
   7313       "comments": 7,
   7314       "created_at": "2024-02-10T15:37:43Z",
   7315       "updated_at": "2024-03-15T01:34:35Z",
   7316       "closed_at": null,
   7317       "author_association": "NONE",
   7318       "active_lock_reason": null,
   7319       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7320       "reactions": {
   7321         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7322         "total_count": 0,
   7323         "+1": 0,
   7324         "-1": 0,
   7325         "laugh": 0,
   7326         "hooray": 0,
   7327         "confused": 0,
   7328         "heart": 0,
   7329         "rocket": 0,
   7330         "eyes": 0
   7331       },
   7332       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7333       "performed_via_github_app": null,
   7334       "state_reason": null
   7335     },
   7336     "comment": {
   7337       "user": "justinmoon",
   7338       "created_at": "2024-02-15T13:42:36Z",
   7339       "updated_at": "2024-02-15T13:42:36Z",
   7340       "body": "I have used https://github.com/tadfisher/android-nixpkgs in the past to install android SDK and everything like that via nix on a Mac.\r\n\r\nNot sure if it will be useful or now, but https://github.com/rustshop/flakebox basically extracted Fedimint's cross-compilation setup into a separate project other people can use. It doesn't deal with Android SDK at all, but does do cross-compilation very well. @dpc can answer any questions you have!"
   7341     }
   7342   },
   7343   {
   7344     "issue": {
   7345       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7346       "repository_url": "https://api.github.com/repos/damus-io/android",
   7347       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7348       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7349       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7350       "html_url": "https://github.com/damus-io/android/issues/57",
   7351       "id": 2128555612,
   7352       "node_id": "I_kwDOKzWMZs5-3y5c",
   7353       "number": 57,
   7354       "title": "Nix environment doesn't work on m1 Mac",
   7355       "user": {
   7356         "login": "justinmoon",
   7357         "id": 4335621,
   7358         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7359         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7360         "gravatar_id": "",
   7361         "url": "https://api.github.com/users/justinmoon",
   7362         "html_url": "https://github.com/justinmoon",
   7363         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7364         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7365         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7366         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7367         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7368         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7369         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7370         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7371         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7372         "type": "User",
   7373         "site_admin": false
   7374       },
   7375       "labels": [
   7376         {
   7377           "id": 6339173748,
   7378           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7379           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7380           "name": "technical",
   7381           "color": "e99695",
   7382           "default": false,
   7383           "description": ""
   7384         },
   7385         {
   7386           "id": 6693731115,
   7387           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7388           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7389           "name": "MacOS",
   7390           "color": "CE127E",
   7391           "default": false,
   7392           "description": ""
   7393         }
   7394       ],
   7395       "state": "open",
   7396       "locked": false,
   7397       "assignee": null,
   7398       "assignees": [],
   7399       "milestone": null,
   7400       "comments": 7,
   7401       "created_at": "2024-02-10T15:37:43Z",
   7402       "updated_at": "2024-03-15T01:34:35Z",
   7403       "closed_at": null,
   7404       "author_association": "NONE",
   7405       "active_lock_reason": null,
   7406       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7407       "reactions": {
   7408         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7409         "total_count": 0,
   7410         "+1": 0,
   7411         "-1": 0,
   7412         "laugh": 0,
   7413         "hooray": 0,
   7414         "confused": 0,
   7415         "heart": 0,
   7416         "rocket": 0,
   7417         "eyes": 0
   7418       },
   7419       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7420       "performed_via_github_app": null,
   7421       "state_reason": null
   7422     },
   7423     "comment": {
   7424       "user": "dpc",
   7425       "created_at": "2024-02-15T16:39:10Z",
   7426       "updated_at": "2024-02-15T16:39:17Z",
   7427       "body": "> It doesn't deal with Android SDK at all,\r\n\r\nCorrection: It does allow picking and customizing SDK components, AFAIK/AFAIU."
   7428     }
   7429   },
   7430   {
   7431     "issue": {
   7432       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7433       "repository_url": "https://api.github.com/repos/damus-io/android",
   7434       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7435       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7436       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7437       "html_url": "https://github.com/damus-io/android/issues/57",
   7438       "id": 2128555612,
   7439       "node_id": "I_kwDOKzWMZs5-3y5c",
   7440       "number": 57,
   7441       "title": "Nix environment doesn't work on m1 Mac",
   7442       "user": {
   7443         "login": "justinmoon",
   7444         "id": 4335621,
   7445         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7446         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7447         "gravatar_id": "",
   7448         "url": "https://api.github.com/users/justinmoon",
   7449         "html_url": "https://github.com/justinmoon",
   7450         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7451         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7452         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7453         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7454         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7455         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7456         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7457         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7458         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7459         "type": "User",
   7460         "site_admin": false
   7461       },
   7462       "labels": [
   7463         {
   7464           "id": 6339173748,
   7465           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7466           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7467           "name": "technical",
   7468           "color": "e99695",
   7469           "default": false,
   7470           "description": ""
   7471         },
   7472         {
   7473           "id": 6693731115,
   7474           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7475           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7476           "name": "MacOS",
   7477           "color": "CE127E",
   7478           "default": false,
   7479           "description": ""
   7480         }
   7481       ],
   7482       "state": "open",
   7483       "locked": false,
   7484       "assignee": null,
   7485       "assignees": [],
   7486       "milestone": null,
   7487       "comments": 7,
   7488       "created_at": "2024-02-10T15:37:43Z",
   7489       "updated_at": "2024-03-15T01:34:35Z",
   7490       "closed_at": null,
   7491       "author_association": "NONE",
   7492       "active_lock_reason": null,
   7493       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7494       "reactions": {
   7495         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7496         "total_count": 0,
   7497         "+1": 0,
   7498         "-1": 0,
   7499         "laugh": 0,
   7500         "hooray": 0,
   7501         "confused": 0,
   7502         "heart": 0,
   7503         "rocket": 0,
   7504         "eyes": 0
   7505       },
   7506       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7507       "performed_via_github_app": null,
   7508       "state_reason": null
   7509     },
   7510     "comment": {
   7511       "user": "jb55",
   7512       "created_at": "2024-02-15T17:30:40Z",
   7513       "updated_at": "2024-02-15T17:30:40Z",
   7514       "body": "On Thu, Feb 15, 2024 at 05:42:48AM -0800, Justin Moon wrote:\n>I have used https://github.com/tadfisher/android-nixpkgs in the past to install android SDK and everything like that via nix on a Mac.\n\nnice, someone should update our scripts to use this.\n\n>Not sure if it will be useful or now, but\n>https://github.com/rustshop/flakebox basically extracted Fedimint's\n>cross-compilation setup into a separate project other people can use.\n>It doesn't deal with Android SDK at all, but does do cross-compilation\n>very well. @dpc can answer any questions you have!\n\nrust handles everything cross-compilation wise, what's the point of this?\n"
   7515     }
   7516   },
   7517   {
   7518     "issue": {
   7519       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7520       "repository_url": "https://api.github.com/repos/damus-io/android",
   7521       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7522       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7523       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7524       "html_url": "https://github.com/damus-io/android/issues/57",
   7525       "id": 2128555612,
   7526       "node_id": "I_kwDOKzWMZs5-3y5c",
   7527       "number": 57,
   7528       "title": "Nix environment doesn't work on m1 Mac",
   7529       "user": {
   7530         "login": "justinmoon",
   7531         "id": 4335621,
   7532         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7533         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7534         "gravatar_id": "",
   7535         "url": "https://api.github.com/users/justinmoon",
   7536         "html_url": "https://github.com/justinmoon",
   7537         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7538         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7539         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7540         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7541         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7542         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7543         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7544         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7545         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7546         "type": "User",
   7547         "site_admin": false
   7548       },
   7549       "labels": [
   7550         {
   7551           "id": 6339173748,
   7552           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7553           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7554           "name": "technical",
   7555           "color": "e99695",
   7556           "default": false,
   7557           "description": ""
   7558         },
   7559         {
   7560           "id": 6693731115,
   7561           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7562           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7563           "name": "MacOS",
   7564           "color": "CE127E",
   7565           "default": false,
   7566           "description": ""
   7567         }
   7568       ],
   7569       "state": "open",
   7570       "locked": false,
   7571       "assignee": null,
   7572       "assignees": [],
   7573       "milestone": null,
   7574       "comments": 7,
   7575       "created_at": "2024-02-10T15:37:43Z",
   7576       "updated_at": "2024-03-15T01:34:35Z",
   7577       "closed_at": null,
   7578       "author_association": "NONE",
   7579       "active_lock_reason": null,
   7580       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7581       "reactions": {
   7582         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7583         "total_count": 0,
   7584         "+1": 0,
   7585         "-1": 0,
   7586         "laugh": 0,
   7587         "hooray": 0,
   7588         "confused": 0,
   7589         "heart": 0,
   7590         "rocket": 0,
   7591         "eyes": 0
   7592       },
   7593       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7594       "performed_via_github_app": null,
   7595       "state_reason": null
   7596     },
   7597     "comment": {
   7598       "user": "dpc",
   7599       "created_at": "2024-02-15T17:34:50Z",
   7600       "updated_at": "2024-02-15T17:34:50Z",
   7601       "body": "> rust handles everything cross-compilation wise, what's the point of this?\r\n\r\nC / C++ dependencies is the biggest reason."
   7602     }
   7603   },
   7604   {
   7605     "issue": {
   7606       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7607       "repository_url": "https://api.github.com/repos/damus-io/android",
   7608       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7609       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7610       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7611       "html_url": "https://github.com/damus-io/android/issues/57",
   7612       "id": 2128555612,
   7613       "node_id": "I_kwDOKzWMZs5-3y5c",
   7614       "number": 57,
   7615       "title": "Nix environment doesn't work on m1 Mac",
   7616       "user": {
   7617         "login": "justinmoon",
   7618         "id": 4335621,
   7619         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7620         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7621         "gravatar_id": "",
   7622         "url": "https://api.github.com/users/justinmoon",
   7623         "html_url": "https://github.com/justinmoon",
   7624         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7625         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7626         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7627         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7628         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7629         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7630         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7631         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7632         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7633         "type": "User",
   7634         "site_admin": false
   7635       },
   7636       "labels": [
   7637         {
   7638           "id": 6339173748,
   7639           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7640           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7641           "name": "technical",
   7642           "color": "e99695",
   7643           "default": false,
   7644           "description": ""
   7645         },
   7646         {
   7647           "id": 6693731115,
   7648           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7649           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7650           "name": "MacOS",
   7651           "color": "CE127E",
   7652           "default": false,
   7653           "description": ""
   7654         }
   7655       ],
   7656       "state": "open",
   7657       "locked": false,
   7658       "assignee": null,
   7659       "assignees": [],
   7660       "milestone": null,
   7661       "comments": 7,
   7662       "created_at": "2024-02-10T15:37:43Z",
   7663       "updated_at": "2024-03-15T01:34:35Z",
   7664       "closed_at": null,
   7665       "author_association": "NONE",
   7666       "active_lock_reason": null,
   7667       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7668       "reactions": {
   7669         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7670         "total_count": 0,
   7671         "+1": 0,
   7672         "-1": 0,
   7673         "laugh": 0,
   7674         "hooray": 0,
   7675         "confused": 0,
   7676         "heart": 0,
   7677         "rocket": 0,
   7678         "eyes": 0
   7679       },
   7680       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7681       "performed_via_github_app": null,
   7682       "state_reason": null
   7683     },
   7684     "comment": {
   7685       "user": "jb55",
   7686       "created_at": "2024-02-15T17:55:31Z",
   7687       "updated_at": "2024-02-15T17:55:31Z",
   7688       "body": "doesn't build.rs handle cross compliation? at least thats how I do it with secp and nostrdb"
   7689     }
   7690   },
   7691   {
   7692     "issue": {
   7693       "url": "https://api.github.com/repos/damus-io/android/issues/57",
   7694       "repository_url": "https://api.github.com/repos/damus-io/android",
   7695       "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}",
   7696       "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments",
   7697       "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events",
   7698       "html_url": "https://github.com/damus-io/android/issues/57",
   7699       "id": 2128555612,
   7700       "node_id": "I_kwDOKzWMZs5-3y5c",
   7701       "number": 57,
   7702       "title": "Nix environment doesn't work on m1 Mac",
   7703       "user": {
   7704         "login": "justinmoon",
   7705         "id": 4335621,
   7706         "node_id": "MDQ6VXNlcjQzMzU2MjE=",
   7707         "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4",
   7708         "gravatar_id": "",
   7709         "url": "https://api.github.com/users/justinmoon",
   7710         "html_url": "https://github.com/justinmoon",
   7711         "followers_url": "https://api.github.com/users/justinmoon/followers",
   7712         "following_url": "https://api.github.com/users/justinmoon/following{/other_user}",
   7713         "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}",
   7714         "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}",
   7715         "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions",
   7716         "organizations_url": "https://api.github.com/users/justinmoon/orgs",
   7717         "repos_url": "https://api.github.com/users/justinmoon/repos",
   7718         "events_url": "https://api.github.com/users/justinmoon/events{/privacy}",
   7719         "received_events_url": "https://api.github.com/users/justinmoon/received_events",
   7720         "type": "User",
   7721         "site_admin": false
   7722       },
   7723       "labels": [
   7724         {
   7725           "id": 6339173748,
   7726           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   7727           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   7728           "name": "technical",
   7729           "color": "e99695",
   7730           "default": false,
   7731           "description": ""
   7732         },
   7733         {
   7734           "id": 6693731115,
   7735           "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw",
   7736           "url": "https://api.github.com/repos/damus-io/android/labels/MacOS",
   7737           "name": "MacOS",
   7738           "color": "CE127E",
   7739           "default": false,
   7740           "description": ""
   7741         }
   7742       ],
   7743       "state": "open",
   7744       "locked": false,
   7745       "assignee": null,
   7746       "assignees": [],
   7747       "milestone": null,
   7748       "comments": 7,
   7749       "created_at": "2024-02-10T15:37:43Z",
   7750       "updated_at": "2024-03-15T01:34:35Z",
   7751       "closed_at": null,
   7752       "author_association": "NONE",
   7753       "active_lock_reason": null,
   7754       "body": "```\r\n$ env NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 nix-shell\r\nerror:\r\n       … while calling the 'derivationStrict' builtin\r\n\r\n         at /builtin/derivation.nix:9:12: (source not available)\r\n\r\n       … while evaluating derivation 'nix-shell'\r\n         whose name attribute is located at /nix/store/syidrpdhd0fzfl7d8zh9z7b3xljhrlcs-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:352:7\r\n\r\n       … while evaluating attribute 'ANDROID_HOME' of derivation 'nix-shell'\r\n\r\n         at /Users/justin/code/damus-android/shell.nix:32:3:\r\n\r\n           31| } // (if !use_android then {} else {\r\n           32|   ANDROID_HOME = android-home;\r\n             |   ^\r\n           33|   NDK_HOME = ndk-home;\r\n\r\n       (stack trace truncated; use '--show-trace' to show the full trace)\r\n\r\n       error: No Android SDK tarballs are available for system architecture: aarch64-darwin\r\n```",
   7755       "reactions": {
   7756         "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions",
   7757         "total_count": 0,
   7758         "+1": 0,
   7759         "-1": 0,
   7760         "laugh": 0,
   7761         "hooray": 0,
   7762         "confused": 0,
   7763         "heart": 0,
   7764         "rocket": 0,
   7765         "eyes": 0
   7766       },
   7767       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline",
   7768       "performed_via_github_app": null,
   7769       "state_reason": null
   7770     },
   7771     "comment": {
   7772       "user": "dpc",
   7773       "created_at": "2024-02-15T18:06:12Z",
   7774       "updated_at": "2024-02-15T18:06:12Z",
   7775       "body": "It relies on availability of cross-compiler toolchain, sometimes also already cross-compiled libraries. Flakebox basically brings them in using Nix, pinned to specific versions, and sets up all env variables so it all works smoothly. Plus some other things that are optional."
   7776     }
   7777   },
   7778   {
   7779     "issue": {
   7780       "url": "https://api.github.com/repos/damus-io/android/issues/56",
   7781       "repository_url": "https://api.github.com/repos/damus-io/android",
   7782       "labels_url": "https://api.github.com/repos/damus-io/android/issues/56/labels{/name}",
   7783       "comments_url": "https://api.github.com/repos/damus-io/android/issues/56/comments",
   7784       "events_url": "https://api.github.com/repos/damus-io/android/issues/56/events",
   7785       "html_url": "https://github.com/damus-io/android/issues/56",
   7786       "id": 2123766418,
   7787       "node_id": "I_kwDOKzWMZs5-lhqS",
   7788       "number": 56,
   7789       "title": "Android damus.io/purple support",
   7790       "user": {
   7791         "login": "alltheseas",
   7792         "id": 64376233,
   7793         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   7794         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   7795         "gravatar_id": "",
   7796         "url": "https://api.github.com/users/alltheseas",
   7797         "html_url": "https://github.com/alltheseas",
   7798         "followers_url": "https://api.github.com/users/alltheseas/followers",
   7799         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   7800         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   7801         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   7802         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   7803         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   7804         "repos_url": "https://api.github.com/users/alltheseas/repos",
   7805         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   7806         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   7807         "type": "User",
   7808         "site_admin": false
   7809       },
   7810       "labels": [
   7811         {
   7812           "id": 6530754378,
   7813           "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg",
   7814           "url": "https://api.github.com/repos/damus-io/android/labels/purple",
   7815           "name": "purple",
   7816           "color": "5319E7",
   7817           "default": false,
   7818           "description": ""
   7819         }
   7820       ],
   7821       "state": "open",
   7822       "locked": false,
   7823       "assignee": null,
   7824       "assignees": [],
   7825       "milestone": null,
   7826       "comments": 0,
   7827       "created_at": "2024-02-07T19:55:49Z",
   7828       "updated_at": "2024-02-07T19:59:20Z",
   7829       "closed_at": null,
   7830       "author_association": "CONTRIBUTOR",
   7831       "active_lock_reason": null,
   7832       "body": "Add support for Damus.io/purple for Android devices\r\n\r\nIf Damus user is subscribed to Purple, do they get purple on all devices - android, iOS etc?",
   7833       "reactions": {
   7834         "url": "https://api.github.com/repos/damus-io/android/issues/56/reactions",
   7835         "total_count": 0,
   7836         "+1": 0,
   7837         "-1": 0,
   7838         "laugh": 0,
   7839         "hooray": 0,
   7840         "confused": 0,
   7841         "heart": 0,
   7842         "rocket": 0,
   7843         "eyes": 0
   7844       },
   7845       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/56/timeline",
   7846       "performed_via_github_app": null,
   7847       "state_reason": null
   7848     }
   7849   },
   7850   {
   7851     "issue": {
   7852       "url": "https://api.github.com/repos/damus-io/android/issues/55",
   7853       "repository_url": "https://api.github.com/repos/damus-io/android",
   7854       "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}",
   7855       "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments",
   7856       "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events",
   7857       "html_url": "https://github.com/damus-io/android/issues/55",
   7858       "id": 2110691048,
   7859       "node_id": "I_kwDOKzWMZs59zpbo",
   7860       "number": 55,
   7861       "title": "Damus purple Android: In App Purchase",
   7862       "user": {
   7863         "login": "alltheseas",
   7864         "id": 64376233,
   7865         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   7866         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   7867         "gravatar_id": "",
   7868         "url": "https://api.github.com/users/alltheseas",
   7869         "html_url": "https://github.com/alltheseas",
   7870         "followers_url": "https://api.github.com/users/alltheseas/followers",
   7871         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   7872         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   7873         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   7874         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   7875         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   7876         "repos_url": "https://api.github.com/users/alltheseas/repos",
   7877         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   7878         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   7879         "type": "User",
   7880         "site_admin": false
   7881       },
   7882       "labels": [
   7883         {
   7884           "id": 6271233688,
   7885           "node_id": "LA_kwDOKzWMZs8AAAABdctumA",
   7886           "url": "https://api.github.com/repos/damus-io/android/labels/commercialization",
   7887           "name": "commercialization",
   7888           "color": "DDD29F",
   7889           "default": false,
   7890           "description": ""
   7891         },
   7892         {
   7893           "id": 6530754378,
   7894           "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg",
   7895           "url": "https://api.github.com/repos/damus-io/android/labels/purple",
   7896           "name": "purple",
   7897           "color": "5319E7",
   7898           "default": false,
   7899           "description": ""
   7900         },
   7901         {
   7902           "id": 6774995244,
   7903           "node_id": "LA_kwDOKzWMZs8AAAABk9I5LA",
   7904           "url": "https://api.github.com/repos/damus-io/android/labels/localization",
   7905           "name": "localization",
   7906           "color": "0F8978",
   7907           "default": false,
   7908           "description": ""
   7909         }
   7910       ],
   7911       "state": "open",
   7912       "locked": false,
   7913       "assignee": null,
   7914       "assignees": [],
   7915       "milestone": null,
   7916       "comments": 2,
   7917       "created_at": "2024-01-31T18:13:35Z",
   7918       "updated_at": "2024-04-03T05:44:23Z",
   7919       "closed_at": null,
   7920       "author_association": "CONTRIBUTOR",
   7921       "active_lock_reason": null,
   7922       "body": "## user story\r\n\r\nAs a Damus Android user, I would like to be able to subscribe to Damus purple in app, so that I can show my support for the dev team.\r\n\r\n### acceptance criteria\r\n\r\n1. User can see a method to subscribe to Damus Purple\r\n2. Damus purple cost is displayed per month, and per year (with annual discount)\r\n3. User can pay via LN in sats\r\n4. There is a method to manage the subscription - i.e. see details like time remaining, and subscriber number \r\n5. Damus purple subscriber gets a ⭐ in their profile to signify their support\r\nhttps://damus.io/nevent1qqsvx0algkvd7dg4qmwq8z69gl2men0y2e40mmrk53tg9q6nr20hygc0nd27l\r\n6. Active damus purple subscriber receives all purple benefits (DeepL translator etc)",
   7923       "reactions": {
   7924         "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions",
   7925         "total_count": 0,
   7926         "+1": 0,
   7927         "-1": 0,
   7928         "laugh": 0,
   7929         "hooray": 0,
   7930         "confused": 0,
   7931         "heart": 0,
   7932         "rocket": 0,
   7933         "eyes": 0
   7934       },
   7935       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline",
   7936       "performed_via_github_app": null,
   7937       "state_reason": null
   7938     }
   7939   },
   7940   {
   7941     "issue": {
   7942       "url": "https://api.github.com/repos/damus-io/android/issues/55",
   7943       "repository_url": "https://api.github.com/repos/damus-io/android",
   7944       "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}",
   7945       "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments",
   7946       "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events",
   7947       "html_url": "https://github.com/damus-io/android/issues/55",
   7948       "id": 2110691048,
   7949       "node_id": "I_kwDOKzWMZs59zpbo",
   7950       "number": 55,
   7951       "title": "Damus purple Android: In App Purchase",
   7952       "user": {
   7953         "login": "alltheseas",
   7954         "id": 64376233,
   7955         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   7956         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   7957         "gravatar_id": "",
   7958         "url": "https://api.github.com/users/alltheseas",
   7959         "html_url": "https://github.com/alltheseas",
   7960         "followers_url": "https://api.github.com/users/alltheseas/followers",
   7961         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   7962         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   7963         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   7964         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   7965         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   7966         "repos_url": "https://api.github.com/users/alltheseas/repos",
   7967         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   7968         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   7969         "type": "User",
   7970         "site_admin": false
   7971       },
   7972       "labels": [
   7973         {
   7974           "id": 6271233688,
   7975           "node_id": "LA_kwDOKzWMZs8AAAABdctumA",
   7976           "url": "https://api.github.com/repos/damus-io/android/labels/commercialization",
   7977           "name": "commercialization",
   7978           "color": "DDD29F",
   7979           "default": false,
   7980           "description": ""
   7981         },
   7982         {
   7983           "id": 6530754378,
   7984           "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg",
   7985           "url": "https://api.github.com/repos/damus-io/android/labels/purple",
   7986           "name": "purple",
   7987           "color": "5319E7",
   7988           "default": false,
   7989           "description": ""
   7990         },
   7991         {
   7992           "id": 6774995244,
   7993           "node_id": "LA_kwDOKzWMZs8AAAABk9I5LA",
   7994           "url": "https://api.github.com/repos/damus-io/android/labels/localization",
   7995           "name": "localization",
   7996           "color": "0F8978",
   7997           "default": false,
   7998           "description": ""
   7999         }
   8000       ],
   8001       "state": "open",
   8002       "locked": false,
   8003       "assignee": null,
   8004       "assignees": [],
   8005       "milestone": null,
   8006       "comments": 2,
   8007       "created_at": "2024-01-31T18:13:35Z",
   8008       "updated_at": "2024-04-03T05:44:23Z",
   8009       "closed_at": null,
   8010       "author_association": "CONTRIBUTOR",
   8011       "active_lock_reason": null,
   8012       "body": "## user story\r\n\r\nAs a Damus Android user, I would like to be able to subscribe to Damus purple in app, so that I can show my support for the dev team.\r\n\r\n### acceptance criteria\r\n\r\n1. User can see a method to subscribe to Damus Purple\r\n2. Damus purple cost is displayed per month, and per year (with annual discount)\r\n3. User can pay via LN in sats\r\n4. There is a method to manage the subscription - i.e. see details like time remaining, and subscriber number \r\n5. Damus purple subscriber gets a ⭐ in their profile to signify their support\r\nhttps://damus.io/nevent1qqsvx0algkvd7dg4qmwq8z69gl2men0y2e40mmrk53tg9q6nr20hygc0nd27l\r\n6. Active damus purple subscriber receives all purple benefits (DeepL translator etc)",
   8013       "reactions": {
   8014         "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions",
   8015         "total_count": 0,
   8016         "+1": 0,
   8017         "-1": 0,
   8018         "laugh": 0,
   8019         "hooray": 0,
   8020         "confused": 0,
   8021         "heart": 0,
   8022         "rocket": 0,
   8023         "eyes": 0
   8024       },
   8025       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline",
   8026       "performed_via_github_app": null,
   8027       "state_reason": null
   8028     },
   8029     "comment": {
   8030       "user": "alltheseas",
   8031       "created_at": "2024-01-31T18:27:08Z",
   8032       "updated_at": "2024-01-31T18:27:08Z",
   8033       "body": "![image](https://github.com/damus-io/android/assets/64376233/5abd7e29-101c-43f5-96d6-64e7b16e912b)\n\nhttps://damus.io/nevent1qqswg9ds8mg2sr09xd5uxvjd9jp2pl7rq3a8hdajt0ql9qr4fj4scwcpr9mhxue69uhhyetvv9ujumn0wd68ycmgv43kktndv5q3kamnwvaz7tmjv4kxz7fwdehhxarjwpkx2cnn9e3k7mf0qyt8wumn8ghj7unnwdkxz7fwdehhxarj9ekk7egpzemhxue69uhky6t5vdhkjmn9wgh8xmmrd9skc9grz7k"
   8034     }
   8035   },
   8036   {
   8037     "issue": {
   8038       "url": "https://api.github.com/repos/damus-io/android/issues/55",
   8039       "repository_url": "https://api.github.com/repos/damus-io/android",
   8040       "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}",
   8041       "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments",
   8042       "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events",
   8043       "html_url": "https://github.com/damus-io/android/issues/55",
   8044       "id": 2110691048,
   8045       "node_id": "I_kwDOKzWMZs59zpbo",
   8046       "number": 55,
   8047       "title": "Damus purple Android: In App Purchase",
   8048       "user": {
   8049         "login": "alltheseas",
   8050         "id": 64376233,
   8051         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8052         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8053         "gravatar_id": "",
   8054         "url": "https://api.github.com/users/alltheseas",
   8055         "html_url": "https://github.com/alltheseas",
   8056         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8057         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8058         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8059         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8060         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8061         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8062         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8063         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8064         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8065         "type": "User",
   8066         "site_admin": false
   8067       },
   8068       "labels": [
   8069         {
   8070           "id": 6271233688,
   8071           "node_id": "LA_kwDOKzWMZs8AAAABdctumA",
   8072           "url": "https://api.github.com/repos/damus-io/android/labels/commercialization",
   8073           "name": "commercialization",
   8074           "color": "DDD29F",
   8075           "default": false,
   8076           "description": ""
   8077         },
   8078         {
   8079           "id": 6530754378,
   8080           "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg",
   8081           "url": "https://api.github.com/repos/damus-io/android/labels/purple",
   8082           "name": "purple",
   8083           "color": "5319E7",
   8084           "default": false,
   8085           "description": ""
   8086         },
   8087         {
   8088           "id": 6774995244,
   8089           "node_id": "LA_kwDOKzWMZs8AAAABk9I5LA",
   8090           "url": "https://api.github.com/repos/damus-io/android/labels/localization",
   8091           "name": "localization",
   8092           "color": "0F8978",
   8093           "default": false,
   8094           "description": ""
   8095         }
   8096       ],
   8097       "state": "open",
   8098       "locked": false,
   8099       "assignee": null,
   8100       "assignees": [],
   8101       "milestone": null,
   8102       "comments": 2,
   8103       "created_at": "2024-01-31T18:13:35Z",
   8104       "updated_at": "2024-04-03T05:44:23Z",
   8105       "closed_at": null,
   8106       "author_association": "CONTRIBUTOR",
   8107       "active_lock_reason": null,
   8108       "body": "## user story\r\n\r\nAs a Damus Android user, I would like to be able to subscribe to Damus purple in app, so that I can show my support for the dev team.\r\n\r\n### acceptance criteria\r\n\r\n1. User can see a method to subscribe to Damus Purple\r\n2. Damus purple cost is displayed per month, and per year (with annual discount)\r\n3. User can pay via LN in sats\r\n4. There is a method to manage the subscription - i.e. see details like time remaining, and subscriber number \r\n5. Damus purple subscriber gets a ⭐ in their profile to signify their support\r\nhttps://damus.io/nevent1qqsvx0algkvd7dg4qmwq8z69gl2men0y2e40mmrk53tg9q6nr20hygc0nd27l\r\n6. Active damus purple subscriber receives all purple benefits (DeepL translator etc)",
   8109       "reactions": {
   8110         "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions",
   8111         "total_count": 0,
   8112         "+1": 0,
   8113         "-1": 0,
   8114         "laugh": 0,
   8115         "hooray": 0,
   8116         "confused": 0,
   8117         "heart": 0,
   8118         "rocket": 0,
   8119         "eyes": 0
   8120       },
   8121       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline",
   8122       "performed_via_github_app": null,
   8123       "state_reason": null
   8124     },
   8125     "comment": {
   8126       "user": "alltheseas",
   8127       "created_at": "2024-02-07T19:58:48Z",
   8128       "updated_at": "2024-02-07T19:58:48Z",
   8129       "body": "### related\r\n\r\ndamus.io/purple web purchase  https://github.com/damus-io/android/issues/56"
   8130     }
   8131   },
   8132   {
   8133     "issue": {
   8134       "url": "https://api.github.com/repos/damus-io/android/issues/54",
   8135       "repository_url": "https://api.github.com/repos/damus-io/android",
   8136       "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}",
   8137       "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments",
   8138       "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events",
   8139       "html_url": "https://github.com/damus-io/android/issues/54",
   8140       "id": 2061817787,
   8141       "node_id": "I_kwDOKzWMZs565Ne7",
   8142       "number": 54,
   8143       "title": "Amber signer support",
   8144       "user": {
   8145         "login": "alltheseas",
   8146         "id": 64376233,
   8147         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8148         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8149         "gravatar_id": "",
   8150         "url": "https://api.github.com/users/alltheseas",
   8151         "html_url": "https://github.com/alltheseas",
   8152         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8153         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8154         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8155         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8156         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8157         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8158         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8159         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8160         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8161         "type": "User",
   8162         "site_admin": false
   8163       },
   8164       "labels": [
   8165         {
   8166           "id": 6264778307,
   8167           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   8168           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   8169           "name": "enhancement",
   8170           "color": "a2eeef",
   8171           "default": true,
   8172           "description": "New feature or request"
   8173         }
   8174       ],
   8175       "state": "open",
   8176       "locked": false,
   8177       "assignee": null,
   8178       "assignees": [],
   8179       "milestone": null,
   8180       "comments": 2,
   8181       "created_at": "2024-01-01T23:02:03Z",
   8182       "updated_at": "2024-03-16T08:30:12Z",
   8183       "closed_at": null,
   8184       "author_association": "CONTRIBUTOR",
   8185       "active_lock_reason": null,
   8186       "body": "https://github.com/greenart7c3/Amber",
   8187       "reactions": {
   8188         "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions",
   8189         "total_count": 0,
   8190         "+1": 0,
   8191         "-1": 0,
   8192         "laugh": 0,
   8193         "hooray": 0,
   8194         "confused": 0,
   8195         "heart": 0,
   8196         "rocket": 0,
   8197         "eyes": 0
   8198       },
   8199       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline",
   8200       "performed_via_github_app": null,
   8201       "state_reason": null
   8202     }
   8203   },
   8204   {
   8205     "issue": {
   8206       "url": "https://api.github.com/repos/damus-io/android/issues/54",
   8207       "repository_url": "https://api.github.com/repos/damus-io/android",
   8208       "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}",
   8209       "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments",
   8210       "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events",
   8211       "html_url": "https://github.com/damus-io/android/issues/54",
   8212       "id": 2061817787,
   8213       "node_id": "I_kwDOKzWMZs565Ne7",
   8214       "number": 54,
   8215       "title": "Amber signer support",
   8216       "user": {
   8217         "login": "alltheseas",
   8218         "id": 64376233,
   8219         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8220         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8221         "gravatar_id": "",
   8222         "url": "https://api.github.com/users/alltheseas",
   8223         "html_url": "https://github.com/alltheseas",
   8224         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8225         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8226         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8227         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8228         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8229         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8230         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8231         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8232         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8233         "type": "User",
   8234         "site_admin": false
   8235       },
   8236       "labels": [
   8237         {
   8238           "id": 6264778307,
   8239           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   8240           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   8241           "name": "enhancement",
   8242           "color": "a2eeef",
   8243           "default": true,
   8244           "description": "New feature or request"
   8245         }
   8246       ],
   8247       "state": "open",
   8248       "locked": false,
   8249       "assignee": null,
   8250       "assignees": [],
   8251       "milestone": null,
   8252       "comments": 2,
   8253       "created_at": "2024-01-01T23:02:03Z",
   8254       "updated_at": "2024-03-16T08:30:12Z",
   8255       "closed_at": null,
   8256       "author_association": "CONTRIBUTOR",
   8257       "active_lock_reason": null,
   8258       "body": "https://github.com/greenart7c3/Amber",
   8259       "reactions": {
   8260         "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions",
   8261         "total_count": 0,
   8262         "+1": 0,
   8263         "-1": 0,
   8264         "laugh": 0,
   8265         "hooray": 0,
   8266         "confused": 0,
   8267         "heart": 0,
   8268         "rocket": 0,
   8269         "eyes": 0
   8270       },
   8271       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline",
   8272       "performed_via_github_app": null,
   8273       "state_reason": null
   8274     },
   8275     "comment": {
   8276       "user": "jb55",
   8277       "created_at": "2024-03-16T08:29:45Z",
   8278       "updated_at": "2024-03-16T08:29:45Z",
   8279       "body": "as a side note I would never personally use this, because I trust myself and not some random signer app."
   8280     }
   8281   },
   8282   {
   8283     "issue": {
   8284       "url": "https://api.github.com/repos/damus-io/android/issues/54",
   8285       "repository_url": "https://api.github.com/repos/damus-io/android",
   8286       "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}",
   8287       "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments",
   8288       "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events",
   8289       "html_url": "https://github.com/damus-io/android/issues/54",
   8290       "id": 2061817787,
   8291       "node_id": "I_kwDOKzWMZs565Ne7",
   8292       "number": 54,
   8293       "title": "Amber signer support",
   8294       "user": {
   8295         "login": "alltheseas",
   8296         "id": 64376233,
   8297         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8298         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8299         "gravatar_id": "",
   8300         "url": "https://api.github.com/users/alltheseas",
   8301         "html_url": "https://github.com/alltheseas",
   8302         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8303         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8304         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8305         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8306         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8307         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8308         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8309         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8310         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8311         "type": "User",
   8312         "site_admin": false
   8313       },
   8314       "labels": [
   8315         {
   8316           "id": 6264778307,
   8317           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   8318           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   8319           "name": "enhancement",
   8320           "color": "a2eeef",
   8321           "default": true,
   8322           "description": "New feature or request"
   8323         }
   8324       ],
   8325       "state": "open",
   8326       "locked": false,
   8327       "assignee": null,
   8328       "assignees": [],
   8329       "milestone": null,
   8330       "comments": 2,
   8331       "created_at": "2024-01-01T23:02:03Z",
   8332       "updated_at": "2024-03-16T08:30:12Z",
   8333       "closed_at": null,
   8334       "author_association": "CONTRIBUTOR",
   8335       "active_lock_reason": null,
   8336       "body": "https://github.com/greenart7c3/Amber",
   8337       "reactions": {
   8338         "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions",
   8339         "total_count": 0,
   8340         "+1": 0,
   8341         "-1": 0,
   8342         "laugh": 0,
   8343         "hooray": 0,
   8344         "confused": 0,
   8345         "heart": 0,
   8346         "rocket": 0,
   8347         "eyes": 0
   8348       },
   8349       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline",
   8350       "performed_via_github_app": null,
   8351       "state_reason": null
   8352     },
   8353     "comment": {
   8354       "user": "jb55",
   8355       "created_at": "2024-03-16T08:30:11Z",
   8356       "updated_at": "2024-03-16T08:30:11Z",
   8357       "body": "but I may be the only person :sweat_smile: "
   8358     }
   8359   },
   8360   {
   8361     "issue": {
   8362       "url": "https://api.github.com/repos/damus-io/android/issues/53",
   8363       "repository_url": "https://api.github.com/repos/damus-io/android",
   8364       "labels_url": "https://api.github.com/repos/damus-io/android/issues/53/labels{/name}",
   8365       "comments_url": "https://api.github.com/repos/damus-io/android/issues/53/comments",
   8366       "events_url": "https://api.github.com/repos/damus-io/android/issues/53/events",
   8367       "html_url": "https://github.com/damus-io/android/issues/53",
   8368       "id": 2061665544,
   8369       "node_id": "I_kwDOKzWMZs564oUI",
   8370       "number": 53,
   8371       "title": "Measure and attribute data usage",
   8372       "user": {
   8373         "login": "alltheseas",
   8374         "id": 64376233,
   8375         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8376         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8377         "gravatar_id": "",
   8378         "url": "https://api.github.com/users/alltheseas",
   8379         "html_url": "https://github.com/alltheseas",
   8380         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8381         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8382         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8383         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8384         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8385         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8386         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8387         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8388         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8389         "type": "User",
   8390         "site_admin": false
   8391       },
   8392       "labels": [
   8393         {
   8394           "id": 6264778307,
   8395           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   8396           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   8397           "name": "enhancement",
   8398           "color": "a2eeef",
   8399           "default": true,
   8400           "description": "New feature or request"
   8401         },
   8402         {
   8403           "id": 6339173748,
   8404           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   8405           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   8406           "name": "technical",
   8407           "color": "e99695",
   8408           "default": false,
   8409           "description": ""
   8410         }
   8411       ],
   8412       "state": "open",
   8413       "locked": false,
   8414       "assignee": null,
   8415       "assignees": [],
   8416       "milestone": null,
   8417       "comments": 0,
   8418       "created_at": "2024-01-01T17:02:08Z",
   8419       "updated_at": "2024-01-01T17:03:45Z",
   8420       "closed_at": null,
   8421       "author_association": "CONTRIBUTOR",
   8422       "active_lock_reason": null,
   8423       "body": "In order to architect and execute low data / cellular mode, we must first understand where data usage comes from, and measure each component.\n\nEconomical data mode\n\nhttps://github.com/damus-io/android/issues/14\n",
   8424       "reactions": {
   8425         "url": "https://api.github.com/repos/damus-io/android/issues/53/reactions",
   8426         "total_count": 0,
   8427         "+1": 0,
   8428         "-1": 0,
   8429         "laugh": 0,
   8430         "hooray": 0,
   8431         "confused": 0,
   8432         "heart": 0,
   8433         "rocket": 0,
   8434         "eyes": 0
   8435       },
   8436       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/53/timeline",
   8437       "performed_via_github_app": null,
   8438       "state_reason": null
   8439     }
   8440   },
   8441   {
   8442     "issue": {
   8443       "url": "https://api.github.com/repos/damus-io/android/issues/52",
   8444       "repository_url": "https://api.github.com/repos/damus-io/android",
   8445       "labels_url": "https://api.github.com/repos/damus-io/android/issues/52/labels{/name}",
   8446       "comments_url": "https://api.github.com/repos/damus-io/android/issues/52/comments",
   8447       "events_url": "https://api.github.com/repos/damus-io/android/issues/52/events",
   8448       "html_url": "https://github.com/damus-io/android/issues/52",
   8449       "id": 2052860335,
   8450       "node_id": "I_kwDOKzWMZs56XCmv",
   8451       "number": 52,
   8452       "title": "Zap DMs",
   8453       "user": {
   8454         "login": "alltheseas",
   8455         "id": 64376233,
   8456         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8457         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8458         "gravatar_id": "",
   8459         "url": "https://api.github.com/users/alltheseas",
   8460         "html_url": "https://github.com/alltheseas",
   8461         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8462         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8463         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8464         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8465         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8466         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8467         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8468         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8469         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8470         "type": "User",
   8471         "site_admin": false
   8472       },
   8473       "labels": [
   8474         {
   8475           "id": 6271232904,
   8476           "node_id": "LA_kwDOKzWMZs8AAAABdctriA",
   8477           "url": "https://api.github.com/repos/damus-io/android/labels/zaps",
   8478           "name": "zaps",
   8479           "color": "fef2c0",
   8480           "default": false,
   8481           "description": ""
   8482         }
   8483       ],
   8484       "state": "open",
   8485       "locked": false,
   8486       "assignee": null,
   8487       "assignees": [],
   8488       "milestone": null,
   8489       "comments": 0,
   8490       "created_at": "2023-12-21T18:04:07Z",
   8491       "updated_at": "2023-12-21T18:04:07Z",
   8492       "closed_at": null,
   8493       "author_association": "CONTRIBUTOR",
   8494       "active_lock_reason": null,
   8495       "body": "## user story\n\nAs a pleb who uses zaps and DMs in damus, I would like to be able to zap DMs of other plebs, so that I can show my appreciation for other plebs I DM with\n\n### acceptance criteria\n\n1. Pleb can zap DMs\n2. Notifications appear for pleb receiving zap",
   8496       "reactions": {
   8497         "url": "https://api.github.com/repos/damus-io/android/issues/52/reactions",
   8498         "total_count": 0,
   8499         "+1": 0,
   8500         "-1": 0,
   8501         "laugh": 0,
   8502         "hooray": 0,
   8503         "confused": 0,
   8504         "heart": 0,
   8505         "rocket": 0,
   8506         "eyes": 0
   8507       },
   8508       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/52/timeline",
   8509       "performed_via_github_app": null,
   8510       "state_reason": null
   8511     }
   8512   },
   8513   {
   8514     "issue": {
   8515       "url": "https://api.github.com/repos/damus-io/android/issues/51",
   8516       "repository_url": "https://api.github.com/repos/damus-io/android",
   8517       "labels_url": "https://api.github.com/repos/damus-io/android/issues/51/labels{/name}",
   8518       "comments_url": "https://api.github.com/repos/damus-io/android/issues/51/comments",
   8519       "events_url": "https://api.github.com/repos/damus-io/android/issues/51/events",
   8520       "html_url": "https://github.com/damus-io/android/issues/51",
   8521       "id": 2047116773,
   8522       "node_id": "I_kwDOKzWMZs56BIXl",
   8523       "number": 51,
   8524       "title": "Identify and port code from iOS",
   8525       "user": {
   8526         "login": "alltheseas",
   8527         "id": 64376233,
   8528         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8529         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8530         "gravatar_id": "",
   8531         "url": "https://api.github.com/users/alltheseas",
   8532         "html_url": "https://github.com/alltheseas",
   8533         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8534         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8535         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8536         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8537         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8538         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8539         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8540         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8541         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8542         "type": "User",
   8543         "site_admin": false
   8544       },
   8545       "labels": [
   8546         {
   8547           "id": 6339173748,
   8548           "node_id": "LA_kwDOKzWMZs8AAAABedgddA",
   8549           "url": "https://api.github.com/repos/damus-io/android/labels/technical",
   8550           "name": "technical",
   8551           "color": "e99695",
   8552           "default": false,
   8553           "description": ""
   8554         }
   8555       ],
   8556       "state": "open",
   8557       "locked": false,
   8558       "assignee": null,
   8559       "assignees": [],
   8560       "milestone": null,
   8561       "comments": 0,
   8562       "created_at": "2023-12-18T17:23:45Z",
   8563       "updated_at": "2023-12-18T17:24:19Z",
   8564       "closed_at": null,
   8565       "author_association": "CONTRIBUTOR",
   8566       "active_lock_reason": null,
   8567       "body": "@danieldaquino asks what code can be imported from iOS\r\n\r\n@jb55 mentions nostrdb, and content parsing (coded in C)\r\n\r\nOpen question remains: networking, notecrumb.",
   8568       "reactions": {
   8569         "url": "https://api.github.com/repos/damus-io/android/issues/51/reactions",
   8570         "total_count": 0,
   8571         "+1": 0,
   8572         "-1": 0,
   8573         "laugh": 0,
   8574         "hooray": 0,
   8575         "confused": 0,
   8576         "heart": 0,
   8577         "rocket": 0,
   8578         "eyes": 0
   8579       },
   8580       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/51/timeline",
   8581       "performed_via_github_app": null,
   8582       "state_reason": null
   8583     }
   8584   },
   8585   {
   8586     "issue": {
   8587       "url": "https://api.github.com/repos/damus-io/android/issues/50",
   8588       "repository_url": "https://api.github.com/repos/damus-io/android",
   8589       "labels_url": "https://api.github.com/repos/damus-io/android/issues/50/labels{/name}",
   8590       "comments_url": "https://api.github.com/repos/damus-io/android/issues/50/comments",
   8591       "events_url": "https://api.github.com/repos/damus-io/android/issues/50/events",
   8592       "html_url": "https://github.com/damus-io/android/issues/50",
   8593       "id": 2022990454,
   8594       "node_id": "I_kwDOKzWMZs54lGJ2",
   8595       "number": 50,
   8596       "title": "Copy iOS localized bootstrap lists",
   8597       "user": {
   8598         "login": "alltheseas",
   8599         "id": 64376233,
   8600         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8601         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8602         "gravatar_id": "",
   8603         "url": "https://api.github.com/users/alltheseas",
   8604         "html_url": "https://github.com/alltheseas",
   8605         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8606         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8607         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8608         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8609         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8610         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8611         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8612         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8613         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8614         "type": "User",
   8615         "site_admin": false
   8616       },
   8617       "labels": [
   8618         {
   8619           "id": 6272198361,
   8620           "node_id": "LA_kwDOKzWMZs8AAAABddom2Q",
   8621           "url": "https://api.github.com/repos/damus-io/android/labels/relays",
   8622           "name": "relays",
   8623           "color": "2ACD20",
   8624           "default": false,
   8625           "description": ""
   8626         }
   8627       ],
   8628       "state": "open",
   8629       "locked": false,
   8630       "assignee": null,
   8631       "assignees": [],
   8632       "milestone": null,
   8633       "comments": 0,
   8634       "created_at": "2023-12-04T04:19:27Z",
   8635       "updated_at": "2023-12-04T04:20:29Z",
   8636       "closed_at": null,
   8637       "author_association": "CONTRIBUTOR",
   8638       "active_lock_reason": null,
   8639       "body": "Thai, German\n\nhttps://github.com/damus-io/damus/issues/1698\n\nhttps://github.com/damus-io/damus/issues/1750",
   8640       "reactions": {
   8641         "url": "https://api.github.com/repos/damus-io/android/issues/50/reactions",
   8642         "total_count": 0,
   8643         "+1": 0,
   8644         "-1": 0,
   8645         "laugh": 0,
   8646         "hooray": 0,
   8647         "confused": 0,
   8648         "heart": 0,
   8649         "rocket": 0,
   8650         "eyes": 0
   8651       },
   8652       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/50/timeline",
   8653       "performed_via_github_app": null,
   8654       "state_reason": null
   8655     }
   8656   },
   8657   {
   8658     "issue": {
   8659       "url": "https://api.github.com/repos/damus-io/android/issues/49",
   8660       "repository_url": "https://api.github.com/repos/damus-io/android",
   8661       "labels_url": "https://api.github.com/repos/damus-io/android/issues/49/labels{/name}",
   8662       "comments_url": "https://api.github.com/repos/damus-io/android/issues/49/comments",
   8663       "events_url": "https://api.github.com/repos/damus-io/android/issues/49/events",
   8664       "html_url": "https://github.com/damus-io/android/issues/49",
   8665       "id": 2022587580,
   8666       "node_id": "I_kwDOKzWMZs54jjy8",
   8667       "number": 49,
   8668       "title": "Scheduled posts",
   8669       "user": {
   8670         "login": "alltheseas",
   8671         "id": 64376233,
   8672         "node_id": "MDQ6VXNlcjY0Mzc2MjMz",
   8673         "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4",
   8674         "gravatar_id": "",
   8675         "url": "https://api.github.com/users/alltheseas",
   8676         "html_url": "https://github.com/alltheseas",
   8677         "followers_url": "https://api.github.com/users/alltheseas/followers",
   8678         "following_url": "https://api.github.com/users/alltheseas/following{/other_user}",
   8679         "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}",
   8680         "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}",
   8681         "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions",
   8682         "organizations_url": "https://api.github.com/users/alltheseas/orgs",
   8683         "repos_url": "https://api.github.com/users/alltheseas/repos",
   8684         "events_url": "https://api.github.com/users/alltheseas/events{/privacy}",
   8685         "received_events_url": "https://api.github.com/users/alltheseas/received_events",
   8686         "type": "User",
   8687         "site_admin": false
   8688       },
   8689       "labels": [
   8690         {
   8691           "id": 6264778307,
   8692           "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw",
   8693           "url": "https://api.github.com/repos/damus-io/android/labels/enhancement",
   8694           "name": "enhancement",
   8695           "color": "a2eeef",
   8696           "default": true,
   8697           "description": "New feature or request"
   8698         }
   8699       ],
   8700       "state": "open",
   8701       "locked": false,
   8702       "assignee": null,
   8703       "assignees": [],
   8704       "milestone": null,
   8705       "comments": 0,
   8706       "created_at": "2023-12-03T15:28:14Z",
   8707       "updated_at": "2023-12-03T15:28:14Z",
   8708       "closed_at": null,
   8709       "author_association": "CONTRIBUTOR",
   8710       "active_lock_reason": null,
   8711       "body": "## user story\n\nAs a Damus user who creates posts, I would like to schedule a note to be sent at a particular time, so that I can post at a specific time in the future without having to remember and post at that time.\n\n### acceptance criteria\n\n1. User has post later functionality\n2. Post later functionality includes a way to specify a specific time to post - e.g. year, month, day, HH:mm\n3. User can see scheduled post queue\n4. User can remove scheduled posts",
   8712       "reactions": {
   8713         "url": "https://api.github.com/repos/damus-io/android/issues/49/reactions",
   8714         "total_count": 0,
   8715         "+1": 0,
   8716         "-1": 0,
   8717         "laugh": 0,
   8718         "hooray": 0,
   8719         "confused": 0,
   8720         "heart": 0,
   8721         "rocket": 0,
   8722         "eyes": 0
   8723       },
   8724       "timeline_url": "https://api.github.com/repos/damus-io/android/issues/49/timeline",
   8725       "performed_via_github_app": null,
   8726       "state_reason": null
   8727     }
   8728   },
   8729   {
   8730     "issue": {
   8731       "url": "https://api.github.com/repos/damus-io/android/issues/48",
   8732       "repository_url": "https://api.github.com/repos/damus-io/android",
   8733       "labels_url": "https://api.github.com/repos/damus-io/android/issues/48/labels{/name}",
   8734       "comments_url": "https://api.github.com/repos/damus-io/android/issues/48/comments",
   8735       "events_url": "https://api.github.com/repos/damus-io/android/issues/48/events",
   8736       "html_url": "https://github.com/damus-io/android/issues/48",
   8737       "id": 2022467444,
   8738       "node_id": "I_kwDOKzWMZs54jGd0",
   8739       "number": 48,
   8740       "title": "Profile deletion",
   8741       "user": {
   8742         "login": "alltheseas",
   8743         "id": 64376233,