damus-github-export

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

commit 253eff90ed51cf9ee2404368ae7559d04beb2432
parent 95bd213c424788aef7921a1ca42645324172a67d
Author: William Casarin <jb55@jb55.com>
Date:   Mon,  8 Apr 2024 14:54:31 -0700

update data

Signed-off-by: William Casarin <jb55@jb55.com>

Diffstat:
Mexported/android.json | 7425+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------
Mexported/damus.json | 37368++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
Mexported/nostrdb-rs.json | 582+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
Mexported/notecrumbs.json | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
Mexported/notedeck.json | 1068++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
5 files changed, 38762 insertions(+), 7757 deletions(-)

diff --git a/exported/android.json b/exported/android.json @@ -1,6 +1,3396 @@ [ { "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/80", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/80/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/80/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/80/events", + "html_url": "https://github.com/damus-io/android/issues/80", + "id": 2231926906, + "node_id": "I_kwDOKzWMZs6FCIB6", + "number": 80, + "title": "Update IME/soft keyboard braches for more recent versions of egui/winit", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T19:21:09Z", + "updated_at": "2024-04-08T19:32:53Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/80/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/80/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/79", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/79/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/79/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/79/events", + "html_url": "https://github.com/damus-io/android/issues/79", + "id": 2231925503, + "node_id": "I_kwDOKzWMZs6FCHr_", + "number": 79, + "title": "Get rebased IME/keyboard branches working on agdk-eframe", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T19:20:06Z", + "updated_at": "2024-04-08T19:21:36Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "body": "See \r\n\r\n- https://github.com/damus-io/android/issues/80\r\n\r\nfor the gameplan here", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/79/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/79/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/78", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/78/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/78/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/78/events", + "html_url": "https://github.com/damus-io/android/issues/78", + "id": 2231924484, + "node_id": "I_kwDOKzWMZs6FCHcE", + "number": 78, + "title": "Rebase IME/keyboard egui/winit branches onto master", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T19:19:18Z", + "updated_at": "2024-04-08T19:56:37Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/78/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/78/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/77", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/77/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/77/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/77/events", + "html_url": "https://github.com/damus-io/android/issues/77", + "id": 2231914563, + "node_id": "I_kwDOKzWMZs6FCFBD", + "number": 77, + "title": "Update agdk-eframe demo to latest IME branches from lucas", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T19:11:49Z", + "updated_at": "2024-04-08T19:56:40Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/77/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/77/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/76", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/76/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/76/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/76/events", + "html_url": "https://github.com/damus-io/android/issues/76", + "id": 2231905733, + "node_id": "I_kwDOKzWMZs6FCC3F", + "number": 76, + "title": "Android build files", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T19:05:24Z", + "updated_at": "2024-04-08T19:56:33Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/76/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/76/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/75", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/75/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/75/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/75/events", + "html_url": "https://github.com/damus-io/android/issues/75", + "id": 2231833486, + "node_id": "I_kwDOKzWMZs6FBxOO", + "number": 75, + "title": "Switch to GameActivity", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T18:21:55Z", + "updated_at": "2024-04-08T19:56:44Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/75/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/75/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/74", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/74/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/74/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/74/events", + "html_url": "https://github.com/damus-io/android/issues/74", + "id": 2231829108, + "node_id": "I_kwDOKzWMZs6FBwJ0", + "number": 74, + "title": "Get agdk-eframe demo working", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-04-08T18:18:48Z", + "updated_at": "2024-04-08T18:53:58Z", + "closed_at": "2024-04-08T18:53:57Z", + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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.", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/74/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/74/timeline", + "performed_via_github_app": null, + "state_reason": "completed" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/74", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/74/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/74/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/74/events", + "html_url": "https://github.com/damus-io/android/issues/74", + "id": 2231829108, + "node_id": "I_kwDOKzWMZs6FBwJ0", + "number": 74, + "title": "Get agdk-eframe demo working", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-04-08T18:18:48Z", + "updated_at": "2024-04-08T18:53:58Z", + "closed_at": "2024-04-08T18:53:57Z", + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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.", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/74/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/74/timeline", + "performed_via_github_app": null, + "state_reason": "completed" + }, + "comment": { + "user": "jb55", + "created_at": "2024-04-08T18:53:57Z", + "updated_at": "2024-04-08T18:53:57Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/73", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/73/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/73/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/73/events", + "html_url": "https://github.com/damus-io/android/issues/73", + "id": 2230262004, + "node_id": "I_kwDOKzWMZs6E7xj0", + "number": 73, + "title": "Embed animations (GIF)", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + }, + { + "id": 6795254003, + "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w", + "url": "https://api.github.com/repos/damus-io/android/labels/media", + "name": "media", + "color": "4EEE17", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T05:02:44Z", + "updated_at": "2024-04-08T18:28:05Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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 )", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/73/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/73/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/72", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/72/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/72/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/72/events", + "html_url": "https://github.com/damus-io/android/issues/72", + "id": 2230259038, + "node_id": "I_kwDOKzWMZs6E7w1e", + "number": 72, + "title": "Embed video playback", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6795254003, + "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w", + "url": "https://api.github.com/repos/damus-io/android/labels/media", + "name": "media", + "color": "4EEE17", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T05:00:08Z", + "updated_at": "2024-04-08T05:01:18Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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 )", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/72/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/72/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/71", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/71/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/71/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/71/events", + "html_url": "https://github.com/damus-io/android/issues/71", + "id": 2230257362, + "node_id": "I_kwDOKzWMZs6E7wbS", + "number": 71, + "title": "Embed static images", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + }, + { + "id": 6795254003, + "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w", + "url": "https://api.github.com/repos/damus-io/android/labels/media", + "name": "media", + "color": "4EEE17", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-04-08T04:58:27Z", + "updated_at": "2024-04-08T17:53:19Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/71/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/71/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/71", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/71/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/71/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/71/events", + "html_url": "https://github.com/damus-io/android/issues/71", + "id": 2230257362, + "node_id": "I_kwDOKzWMZs6E7wbS", + "number": 71, + "title": "Embed static images", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + }, + { + "id": 6795254003, + "node_id": "LA_kwDOKzWMZs8AAAABlQdY8w", + "url": "https://api.github.com/repos/damus-io/android/labels/media", + "name": "media", + "color": "4EEE17", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-04-08T04:58:27Z", + "updated_at": "2024-04-08T17:53:19Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/71/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/71/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-04-08T17:53:18Z", + "updated_at": "2024-04-08T17:53:18Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/70", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/70/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/70/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/70/events", + "html_url": "https://github.com/damus-io/android/issues/70", + "id": 2224004915, + "node_id": "I_kwDOKzWMZs6Ej58z", + "number": 70, + "title": "Onboarding: suggest follows list", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6778671627, + "node_id": "LA_kwDOKzWMZs8AAAABlApSCw", + "url": "https://api.github.com/repos/damus-io/android/labels/onboarding", + "name": "onboarding", + "color": "1A6B24", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-03T21:57:24Z", + "updated_at": "2024-04-03T21:57:24Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/70/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/70/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/69", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/69/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/69/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/69/events", + "html_url": "https://github.com/damus-io/android/issues/69", + "id": 2223992009, + "node_id": "I_kwDOKzWMZs6Ej2zJ", + "number": 69, + "title": "Onboarding: Auto create bootstrap relay list", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6272198361, + "node_id": "LA_kwDOKzWMZs8AAAABddom2Q", + "url": "https://api.github.com/repos/damus-io/android/labels/relays", + "name": "relays", + "color": "2ACD20", + "default": false, + "description": "" + }, + { + "id": 6778671627, + "node_id": "LA_kwDOKzWMZs8AAAABlApSCw", + "url": "https://api.github.com/repos/damus-io/android/labels/onboarding", + "name": "onboarding", + "color": "1A6B24", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-03T21:47:31Z", + "updated_at": "2024-04-03T21:47:31Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "body": "### related\r\n\r\ncreate keypair https://github.com/damus-io/android/issues/2", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/69/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/69/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/68", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/68/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/68/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/68/events", + "html_url": "https://github.com/damus-io/android/issues/68", + "id": 2221991008, + "node_id": "I_kwDOKzWMZs6EcORg", + "number": 68, + "title": "label fediverse notes ", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-03T06:08:52Z", + "updated_at": "2024-04-03T06:08:52Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/68/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/68/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/67", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/67/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/67/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/67/events", + "html_url": "https://github.com/damus-io/android/issues/67", + "id": 2221988870, + "node_id": "I_kwDOKzWMZs6EcNwG", + "number": 67, + "title": "low data mode", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-03T06:07:09Z", + "updated_at": "2024-04-03T06:07:09Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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?", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/67/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/67/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/66", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/66/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/66/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/66/events", + "html_url": "https://github.com/damus-io/android/issues/66", + "id": 2221947055, + "node_id": "I_kwDOKzWMZs6EcDiv", + "number": 66, + "title": "Recurring purple subscription", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6530754378, + "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", + "url": "https://api.github.com/repos/damus-io/android/labels/purple", + "name": "purple", + "color": "5319E7", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-04-03T05:42:47Z", + "updated_at": "2024-04-03T05:43:17Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/66/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/66/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/66", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/66/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/66/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/66/events", + "html_url": "https://github.com/damus-io/android/issues/66", + "id": 2221947055, + "node_id": "I_kwDOKzWMZs6EcDiv", + "number": 66, + "title": "Recurring purple subscription", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6530754378, + "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", + "url": "https://api.github.com/repos/damus-io/android/labels/purple", + "name": "purple", + "color": "5319E7", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-04-03T05:42:47Z", + "updated_at": "2024-04-03T05:43:17Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/66/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/66/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "alltheseas", + "created_at": "2024-04-03T05:43:16Z", + "updated_at": "2024-04-03T05:43:16Z", + "body": "![image](https://github.com/damus-io/android/assets/64376233/889742d3-ba0f-45e2-af18-d945623338b4)\r\n" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/65", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/65/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/65/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/65/events", + "html_url": "https://github.com/damus-io/android/issues/65", + "id": 2221940779, + "node_id": "I_kwDOKzWMZs6EcCAr", + "number": 65, + "title": "Follow hashtag", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-03T05:37:22Z", + "updated_at": "2024-04-03T05:37:22Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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? ", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/65/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/65/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/64", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/64/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/64/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/64/events", + "html_url": "https://github.com/damus-io/android/issues/64", + "id": 2213204105, + "node_id": "I_kwDOKzWMZs6D6tCJ", + "number": 64, + "title": "Add incoming notes without shifting scroll position.", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6752517308, + "node_id": "LA_kwDOKzWMZs8AAAABkns8vA", + "url": "https://api.github.com/repos/damus-io/android/labels/ui", + "name": "ui", + "color": "f9d0c4", + "default": false, + "description": "ui" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-03-28T13:08:41Z", + "updated_at": "2024-04-03T05:38:25Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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.", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/64/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 1, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/64/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/64", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/64/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/64/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/64/events", + "html_url": "https://github.com/damus-io/android/issues/64", + "id": 2213204105, + "node_id": "I_kwDOKzWMZs6D6tCJ", + "number": 64, + "title": "Add incoming notes without shifting scroll position.", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6752517308, + "node_id": "LA_kwDOKzWMZs8AAAABkns8vA", + "url": "https://api.github.com/repos/damus-io/android/labels/ui", + "name": "ui", + "color": "f9d0c4", + "default": false, + "description": "ui" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 1, + "created_at": "2024-03-28T13:08:41Z", + "updated_at": "2024-04-03T05:38:25Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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.", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/64/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 1, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/64/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "alltheseas", + "created_at": "2024-04-03T05:38:24Z", + "updated_at": "2024-04-03T05:38:24Z", + "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?" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/63", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/63/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/63/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/63/events", + "html_url": "https://github.com/damus-io/android/issues/63", + "id": 2211270819, + "node_id": "I_kwDOKzWMZs6DzVCj", + "number": 63, + "title": "Thread view", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 15, + "closed_issues": 1, + "state": "open", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", + "due_on": null, + "closed_at": null + }, + "comments": 0, + "created_at": "2024-03-27T16:37:32Z", + "updated_at": "2024-04-03T05:33:18Z", + "closed_at": null, + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "body": "Upon clicking on a note, the user should be presented with a \"thread view\" which displays the replies to that note", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/63/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/63/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/62", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/62/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/62/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/62/events", + "html_url": "https://github.com/damus-io/android/pull/62", + "id": 2206391946, + "node_id": "PR_kwDOKzWMZs5qsTin", + "number": 62, + "title": "QOL fixes", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 2, + "created_at": "2024-03-25T18:17:11Z", + "updated_at": "2024-03-26T18:26:03Z", + "closed_at": "2024-03-26T18:25:47Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/62", + "html_url": "https://github.com/damus-io/android/pull/62", + "diff_url": "https://github.com/damus-io/android/pull/62.diff", + "patch_url": "https://github.com/damus-io/android/pull/62.patch", + "merged_at": null + }, + "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 ", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/62/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/62/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/62", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/62/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/62/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/62/events", + "html_url": "https://github.com/damus-io/android/pull/62", + "id": 2206391946, + "node_id": "PR_kwDOKzWMZs5qsTin", + "number": 62, + "title": "QOL fixes", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 2, + "created_at": "2024-03-25T18:17:11Z", + "updated_at": "2024-03-26T18:26:03Z", + "closed_at": "2024-03-26T18:25:47Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/62", + "html_url": "https://github.com/damus-io/android/pull/62", + "diff_url": "https://github.com/damus-io/android/pull/62.diff", + "patch_url": "https://github.com/damus-io/android/pull/62.patch", + "merged_at": null + }, + "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 ", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/62/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/62/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T08:32:44Z", + "updated_at": "2024-03-26T08:32:44Z", + "body": "You don't need to submit this separately I have pending review on these patches from the previous PR.\n" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/62", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/62/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/62/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/62/events", + "html_url": "https://github.com/damus-io/android/pull/62", + "id": 2206391946, + "node_id": "PR_kwDOKzWMZs5qsTin", + "number": 62, + "title": "QOL fixes", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 2, + "created_at": "2024-03-25T18:17:11Z", + "updated_at": "2024-03-26T18:26:03Z", + "closed_at": "2024-03-26T18:25:47Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/62", + "html_url": "https://github.com/damus-io/android/pull/62", + "diff_url": "https://github.com/damus-io/android/pull/62.diff", + "patch_url": "https://github.com/damus-io/android/pull/62.patch", + "merged_at": null + }, + "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 ", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/62/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/62/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T08:34:09Z", + "updated_at": "2024-03-26T08:34:09Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T09:06:44Z", + "updated_at": "2024-03-26T09:06:44Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T09:58:23Z", + "updated_at": "2024-03-26T09:58:23Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T09:58:33Z", + "updated_at": "2024-03-26T09:58:33Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T09:59:49Z", + "updated_at": "2024-03-26T09:59:49Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T10:01:52Z", + "updated_at": "2024-03-26T10:01:52Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-26T10:09:32Z", + "updated_at": "2024-03-26T10:09:43Z", + "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!" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "kernelkind", + "created_at": "2024-03-26T15:35:02Z", + "updated_at": "2024-03-26T15:35:02Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-29T08:36:46Z", + "updated_at": "2024-03-29T08:36:46Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/61", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/61/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/61/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/61/events", + "html_url": "https://github.com/damus-io/android/pull/61", + "id": 2204587463, + "node_id": "PR_kwDOKzWMZs5qmInC", + "number": 61, + "title": "Account login", + "user": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "closed", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 9, + "created_at": "2024-03-24T22:22:19Z", + "updated_at": "2024-04-01T21:14:13Z", + "closed_at": "2024-04-01T21:14:13Z", + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "draft": false, + "pull_request": { + "url": "https://api.github.com/repos/damus-io/android/pulls/61", + "html_url": "https://github.com/damus-io/android/pull/61", + "diff_url": "https://github.com/damus-io/android/pull/61.diff", + "patch_url": "https://github.com/damus-io/android/pull/61.patch", + "merged_at": null + }, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/61/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/61/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-29T08:59:41Z", + "updated_at": "2024-03-29T08:59:41Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/60", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events", + "html_url": "https://github.com/damus-io/android/issues/60", + "id": 2203794051, + "node_id": "I_kwDOKzWMZs6DWzqD", + "number": 60, + "title": "Android softkeyboard support", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 4, + "created_at": "2024-03-23T09:36:09Z", + "updated_at": "2024-04-08T19:33:39Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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/76\r\n- [ ] https://github.com/damus-io/android/issues/75\r\n- [ ] https://github.com/damus-io/android/issues/80", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 1 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/60", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events", + "html_url": "https://github.com/damus-io/android/issues/60", + "id": 2203794051, + "node_id": "I_kwDOKzWMZs6DWzqD", + "number": 60, + "title": "Android softkeyboard support", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 4, + "created_at": "2024-03-23T09:36:09Z", + "updated_at": "2024-04-08T19:33:39Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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/76\r\n- [ ] https://github.com/damus-io/android/issues/75\r\n- [ ] https://github.com/damus-io/android/issues/80", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 1 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-27T10:21:35Z", + "updated_at": "2024-03-27T10:21:35Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/60", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events", + "html_url": "https://github.com/damus-io/android/issues/60", + "id": 2203794051, + "node_id": "I_kwDOKzWMZs6DWzqD", + "number": 60, + "title": "Android softkeyboard support", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 4, + "created_at": "2024-03-23T09:36:09Z", + "updated_at": "2024-04-08T19:33:39Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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/76\r\n- [ ] https://github.com/damus-io/android/issues/75\r\n- [ ] https://github.com/damus-io/android/issues/80", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 1 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "lucasmerlin", + "created_at": "2024-03-27T11:09:19Z", + "updated_at": "2024-03-27T11:09:19Z", + "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. " + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/60", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events", + "html_url": "https://github.com/damus-io/android/issues/60", + "id": 2203794051, + "node_id": "I_kwDOKzWMZs6DWzqD", + "number": 60, + "title": "Android softkeyboard support", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 4, + "created_at": "2024-03-23T09:36:09Z", + "updated_at": "2024-04-08T19:33:39Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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/76\r\n- [ ] https://github.com/damus-io/android/issues/75\r\n- [ ] https://github.com/damus-io/android/issues/80", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 1 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-27T13:03:10Z", + "updated_at": "2024-03-27T13:03:10Z", + "body": "I saw those! Thank you! I will try to get these working." + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/60", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/60/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/60/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/60/events", + "html_url": "https://github.com/damus-io/android/issues/60", + "id": 2203794051, + "node_id": "I_kwDOKzWMZs6DWzqD", + "number": 60, + "title": "Android softkeyboard support", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 4, + "created_at": "2024-03-23T09:36:09Z", + "updated_at": "2024-04-08T19:33:39Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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/76\r\n- [ ] https://github.com/damus-io/android/issues/75\r\n- [ ] https://github.com/damus-io/android/issues/80", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/60/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 1 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/60/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-04-08T17:37:26Z", + "updated_at": "2024-04-08T17:37:26Z", + "body": "Since this is a large task I will split it into specific deliverables for this sprint" + } + }, + { + "issue": { "url": "https://api.github.com/repos/damus-io/android/issues/59", "repository_url": "https://api.github.com/repos/damus-io/android", "labels_url": "https://api.github.com/repos/damus-io/android/issues/59/labels{/name}", @@ -35,8 +3425,8 @@ { "id": 6271232904, "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", "color": "fef2c0", "default": false, "description": "" @@ -156,8 +3546,8 @@ { "id": 6271232904, "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", "color": "fef2c0", "default": false, "description": "" @@ -283,8 +3673,8 @@ { "id": 6271232904, "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", "color": "fef2c0", "default": false, "description": "" @@ -323,36 +3713,276 @@ }, "assignees": [ { - "login": "kernelkind", - "id": 8139906, - "node_id": "MDQ6VXNlcjgxMzk5MDY=", - "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kernelkind", - "html_url": "https://github.com/kernelkind", - "followers_url": "https://api.github.com/users/kernelkind/followers", - "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", - "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", - "organizations_url": "https://api.github.com/users/kernelkind/orgs", - "repos_url": "https://api.github.com/users/kernelkind/repos", - "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", - "received_events_url": "https://api.github.com/users/kernelkind/received_events", - "type": "User", - "site_admin": false + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + } + ], + "milestone": null, + "comments": 2, + "created_at": "2024-03-15T01:42:16Z", + "updated_at": "2024-03-16T08:32:54Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/59/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/59/timeline", + "performed_via_github_app": null, + "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-16T08:32:53Z", + "updated_at": "2024-03-16T08:32:53Z", + "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" + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/58", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/58/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/58/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/58/events", + "html_url": "https://github.com/damus-io/android/issues/58", + "id": 2130986448, + "node_id": "I_kwDOKzWMZs5_BEXQ", + "number": 58, + "title": "Crowdwall", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6271232904, + "node_id": "LA_kwDOKzWMZs8AAAABdctriA", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", + "color": "fef2c0", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-02-12T21:09:09Z", + "updated_at": "2024-02-12T21:09:09Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/58/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/58/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/57", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events", + "html_url": "https://github.com/damus-io/android/issues/57", + "id": 2128555612, + "node_id": "I_kwDOKzWMZs5-3y5c", + "number": 57, + "title": "Nix environment doesn't work on m1 Mac", + "user": { + "login": "justinmoon", + "id": 4335621, + "node_id": "MDQ6VXNlcjQzMzU2MjE=", + "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/justinmoon", + "html_url": "https://github.com/justinmoon", + "followers_url": "https://api.github.com/users/justinmoon/followers", + "following_url": "https://api.github.com/users/justinmoon/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}", + "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions", + "organizations_url": "https://api.github.com/users/justinmoon/orgs", + "repos_url": "https://api.github.com/users/justinmoon/repos", + "events_url": "https://api.github.com/users/justinmoon/events{/privacy}", + "received_events_url": "https://api.github.com/users/justinmoon/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + }, + { + "id": 6693731115, + "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw", + "url": "https://api.github.com/repos/damus-io/android/labels/MacOS", + "name": "MacOS", + "color": "CE127E", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 7, + "created_at": "2024-02-10T15:37:43Z", + "updated_at": "2024-03-15T01:34:35Z", + "closed_at": null, + "author_association": "NONE", + "active_lock_reason": null, + "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```", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/57", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events", + "html_url": "https://github.com/damus-io/android/issues/57", + "id": 2128555612, + "node_id": "I_kwDOKzWMZs5-3y5c", + "number": 57, + "title": "Nix environment doesn't work on m1 Mac", + "user": { + "login": "justinmoon", + "id": 4335621, + "node_id": "MDQ6VXNlcjQzMzU2MjE=", + "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/justinmoon", + "html_url": "https://github.com/justinmoon", + "followers_url": "https://api.github.com/users/justinmoon/followers", + "following_url": "https://api.github.com/users/justinmoon/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}", + "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions", + "organizations_url": "https://api.github.com/users/justinmoon/orgs", + "repos_url": "https://api.github.com/users/justinmoon/repos", + "events_url": "https://api.github.com/users/justinmoon/events{/privacy}", + "received_events_url": "https://api.github.com/users/justinmoon/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + }, + { + "id": 6693731115, + "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw", + "url": "https://api.github.com/repos/damus-io/android/labels/MacOS", + "name": "MacOS", + "color": "CE127E", + "default": false, + "description": "" } ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], "milestone": null, - "comments": 2, - "created_at": "2024-03-15T01:42:16Z", - "updated_at": "2024-03-16T08:32:54Z", + "comments": 7, + "created_at": "2024-02-10T15:37:43Z", + "updated_at": "2024-03-15T01:34:35Z", "closed_at": null, - "author_association": "CONTRIBUTOR", + "author_association": "NONE", "active_lock_reason": null, - "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", + "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```", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/59/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -363,56 +3993,65 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/59/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { "user": "jb55", - "created_at": "2024-03-16T08:32:53Z", - "updated_at": "2024-03-16T08:32:53Z", - "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" + "created_at": "2024-02-12T18:07:14Z", + "updated_at": "2024-02-12T18:07:14Z", + "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" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/58", + "url": "https://api.github.com/repos/damus-io/android/issues/57", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/58/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/58/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/58/events", - "html_url": "https://github.com/damus-io/android/issues/58", - "id": 2130986448, - "node_id": "I_kwDOKzWMZs5_BEXQ", - "number": 58, - "title": "Crowdwall", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events", + "html_url": "https://github.com/damus-io/android/issues/57", + "id": 2128555612, + "node_id": "I_kwDOKzWMZs5-3y5c", + "number": 57, + "title": "Nix environment doesn't work on m1 Mac", "user": { - "login": "alltheseas", - "id": 64376233, - "node_id": "MDQ6VXNlcjY0Mzc2MjMz", - "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "login": "justinmoon", + "id": 4335621, + "node_id": "MDQ6VXNlcjQzMzU2MjE=", + "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4", "gravatar_id": "", - "url": "https://api.github.com/users/alltheseas", - "html_url": "https://github.com/alltheseas", - "followers_url": "https://api.github.com/users/alltheseas/followers", - "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", - "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", - "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", - "organizations_url": "https://api.github.com/users/alltheseas/orgs", - "repos_url": "https://api.github.com/users/alltheseas/repos", - "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", - "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "url": "https://api.github.com/users/justinmoon", + "html_url": "https://github.com/justinmoon", + "followers_url": "https://api.github.com/users/justinmoon/followers", + "following_url": "https://api.github.com/users/justinmoon/following{/other_user}", + "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}", + "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions", + "organizations_url": "https://api.github.com/users/justinmoon/orgs", + "repos_url": "https://api.github.com/users/justinmoon/repos", + "events_url": "https://api.github.com/users/justinmoon/events{/privacy}", + "received_events_url": "https://api.github.com/users/justinmoon/received_events", "type": "User", "site_admin": false }, "labels": [ { - "id": 6271232904, - "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", - "color": "fef2c0", + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" + }, + { + "id": 6693731115, + "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw", + "url": "https://api.github.com/repos/damus-io/android/labels/MacOS", + "name": "MacOS", + "color": "CE127E", "default": false, "description": "" } @@ -422,15 +4061,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 0, - "created_at": "2024-02-12T21:09:09Z", - "updated_at": "2024-02-12T21:09:09Z", + "comments": 7, + "created_at": "2024-02-10T15:37:43Z", + "updated_at": "2024-03-15T01:34:35Z", "closed_at": null, - "author_association": "CONTRIBUTOR", + "author_association": "NONE", "active_lock_reason": null, - "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", + "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```", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/58/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -441,9 +4080,15 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/58/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "justinmoon", + "created_at": "2024-02-15T13:42:36Z", + "updated_at": "2024-02-15T13:42:36Z", + "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!" } }, { @@ -525,6 +4170,12 @@ "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "dpc", + "created_at": "2024-02-15T16:39:10Z", + "updated_at": "2024-02-15T16:39:17Z", + "body": "> It doesn't deal with Android SDK at all,\r\n\r\nCorrection: It does allow picking and customizing SDK components, AFAIK/AFAIU." } }, { @@ -609,9 +4260,9 @@ }, "comment": { "user": "jb55", - "created_at": "2024-02-12T18:07:14Z", - "updated_at": "2024-02-12T18:07:14Z", - "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" + "created_at": "2024-02-15T17:30:40Z", + "updated_at": "2024-02-15T17:30:40Z", + "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" } }, { @@ -695,10 +4346,10 @@ "state_reason": null }, "comment": { - "user": "justinmoon", - "created_at": "2024-02-15T13:42:36Z", - "updated_at": "2024-02-15T13:42:36Z", - "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!" + "user": "dpc", + "created_at": "2024-02-15T17:34:50Z", + "updated_at": "2024-02-15T17:34:50Z", + "body": "> rust handles everything cross-compilation wise, what's the point of this?\r\n\r\nC / C++ dependencies is the biggest reason." } }, { @@ -782,10 +4433,10 @@ "state_reason": null }, "comment": { - "user": "dpc", - "created_at": "2024-02-15T16:39:10Z", - "updated_at": "2024-02-15T16:39:17Z", - "body": "> It doesn't deal with Android SDK at all,\r\n\r\nCorrection: It does allow picking and customizing SDK components, AFAIK/AFAIU." + "user": "jb55", + "created_at": "2024-02-15T17:55:31Z", + "updated_at": "2024-02-15T17:55:31Z", + "body": "doesn't build.rs handle cross compliation? at least thats how I do it with secp and nostrdb" } }, { @@ -869,60 +4520,141 @@ "state_reason": null }, "comment": { - "user": "jb55", - "created_at": "2024-02-15T17:30:40Z", - "updated_at": "2024-02-15T17:30:40Z", - "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" + "user": "dpc", + "created_at": "2024-02-15T18:06:12Z", + "updated_at": "2024-02-15T18:06:12Z", + "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." } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/57", + "url": "https://api.github.com/repos/damus-io/android/issues/56", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events", - "html_url": "https://github.com/damus-io/android/issues/57", - "id": 2128555612, - "node_id": "I_kwDOKzWMZs5-3y5c", - "number": 57, - "title": "Nix environment doesn't work on m1 Mac", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/56/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/56/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/56/events", + "html_url": "https://github.com/damus-io/android/issues/56", + "id": 2123766418, + "node_id": "I_kwDOKzWMZs5-lhqS", + "number": 56, + "title": "Android damus.io/purple support", + "user": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6530754378, + "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", + "url": "https://api.github.com/repos/damus-io/android/labels/purple", + "name": "purple", + "color": "5319E7", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-02-07T19:55:49Z", + "updated_at": "2024-02-07T19:59:20Z", + "closed_at": null, + "author_association": "CONTRIBUTOR", + "active_lock_reason": null, + "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?", + "reactions": { + "url": "https://api.github.com/repos/damus-io/android/issues/56/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/56/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/55", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events", + "html_url": "https://github.com/damus-io/android/issues/55", + "id": 2110691048, + "node_id": "I_kwDOKzWMZs59zpbo", + "number": 55, + "title": "Damus purple Android: In App Purchase", "user": { - "login": "justinmoon", - "id": 4335621, - "node_id": "MDQ6VXNlcjQzMzU2MjE=", - "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4", + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", "gravatar_id": "", - "url": "https://api.github.com/users/justinmoon", - "html_url": "https://github.com/justinmoon", - "followers_url": "https://api.github.com/users/justinmoon/followers", - "following_url": "https://api.github.com/users/justinmoon/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}", - "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions", - "organizations_url": "https://api.github.com/users/justinmoon/orgs", - "repos_url": "https://api.github.com/users/justinmoon/repos", - "events_url": "https://api.github.com/users/justinmoon/events{/privacy}", - "received_events_url": "https://api.github.com/users/justinmoon/received_events", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", "type": "User", "site_admin": false }, "labels": [ { - "id": 6339173748, - "node_id": "LA_kwDOKzWMZs8AAAABedgddA", - "url": "https://api.github.com/repos/damus-io/android/labels/technical", - "name": "technical", - "color": "e99695", + "id": 6271233688, + "node_id": "LA_kwDOKzWMZs8AAAABdctumA", + "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", + "name": "commercialization", + "color": "DDD29F", "default": false, "description": "" }, { - "id": 6693731115, - "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw", - "url": "https://api.github.com/repos/damus-io/android/labels/MacOS", - "name": "MacOS", - "color": "CE127E", + "id": 6530754378, + "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", + "url": "https://api.github.com/repos/damus-io/android/labels/purple", + "name": "purple", + "color": "5319E7", + "default": false, + "description": "" + }, + { + "id": 6774995244, + "node_id": "LA_kwDOKzWMZs8AAAABk9I5LA", + "url": "https://api.github.com/repos/damus-io/android/labels/localization", + "name": "localization", + "color": "0F8978", "default": false, "description": "" } @@ -932,15 +4664,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 7, - "created_at": "2024-02-10T15:37:43Z", - "updated_at": "2024-03-15T01:34:35Z", + "comments": 2, + "created_at": "2024-01-31T18:13:35Z", + "updated_at": "2024-04-03T05:44:23Z", "closed_at": null, - "author_association": "NONE", + "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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```", + "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)", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -951,65 +4683,68 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline", "performed_via_github_app": null, "state_reason": null - }, - "comment": { - "user": "dpc", - "created_at": "2024-02-15T17:34:50Z", - "updated_at": "2024-02-15T17:34:50Z", - "body": "> rust handles everything cross-compilation wise, what's the point of this?\r\n\r\nC / C++ dependencies is the biggest reason." } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/57", + "url": "https://api.github.com/repos/damus-io/android/issues/55", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events", - "html_url": "https://github.com/damus-io/android/issues/57", - "id": 2128555612, - "node_id": "I_kwDOKzWMZs5-3y5c", - "number": 57, - "title": "Nix environment doesn't work on m1 Mac", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events", + "html_url": "https://github.com/damus-io/android/issues/55", + "id": 2110691048, + "node_id": "I_kwDOKzWMZs59zpbo", + "number": 55, + "title": "Damus purple Android: In App Purchase", "user": { - "login": "justinmoon", - "id": 4335621, - "node_id": "MDQ6VXNlcjQzMzU2MjE=", - "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4", + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", "gravatar_id": "", - "url": "https://api.github.com/users/justinmoon", - "html_url": "https://github.com/justinmoon", - "followers_url": "https://api.github.com/users/justinmoon/followers", - "following_url": "https://api.github.com/users/justinmoon/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}", - "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions", - "organizations_url": "https://api.github.com/users/justinmoon/orgs", - "repos_url": "https://api.github.com/users/justinmoon/repos", - "events_url": "https://api.github.com/users/justinmoon/events{/privacy}", - "received_events_url": "https://api.github.com/users/justinmoon/received_events", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", "type": "User", "site_admin": false }, "labels": [ { - "id": 6339173748, - "node_id": "LA_kwDOKzWMZs8AAAABedgddA", - "url": "https://api.github.com/repos/damus-io/android/labels/technical", - "name": "technical", - "color": "e99695", + "id": 6271233688, + "node_id": "LA_kwDOKzWMZs8AAAABdctumA", + "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", + "name": "commercialization", + "color": "DDD29F", "default": false, "description": "" }, { - "id": 6693731115, - "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw", - "url": "https://api.github.com/repos/damus-io/android/labels/MacOS", - "name": "MacOS", - "color": "CE127E", + "id": 6530754378, + "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", + "url": "https://api.github.com/repos/damus-io/android/labels/purple", + "name": "purple", + "color": "5319E7", + "default": false, + "description": "" + }, + { + "id": 6774995244, + "node_id": "LA_kwDOKzWMZs8AAAABk9I5LA", + "url": "https://api.github.com/repos/damus-io/android/labels/localization", + "name": "localization", + "color": "0F8978", "default": false, "description": "" } @@ -1019,15 +4754,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 7, - "created_at": "2024-02-10T15:37:43Z", - "updated_at": "2024-03-15T01:34:35Z", + "comments": 2, + "created_at": "2024-01-31T18:13:35Z", + "updated_at": "2024-04-03T05:44:23Z", "closed_at": null, - "author_association": "NONE", + "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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```", + "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)", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1038,65 +4773,74 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { - "user": "jb55", - "created_at": "2024-02-15T17:55:31Z", - "updated_at": "2024-02-15T17:55:31Z", - "body": "doesn't build.rs handle cross compliation? at least thats how I do it with secp and nostrdb" + "user": "alltheseas", + "created_at": "2024-01-31T18:27:08Z", + "updated_at": "2024-01-31T18:27:08Z", + "body": "![image](https://github.com/damus-io/android/assets/64376233/5abd7e29-101c-43f5-96d6-64e7b16e912b)\n\nhttps://damus.io/nevent1qqswg9ds8mg2sr09xd5uxvjd9jp2pl7rq3a8hdajt0ql9qr4fj4scwcpr9mhxue69uhhyetvv9ujumn0wd68ycmgv43kktndv5q3kamnwvaz7tmjv4kxz7fwdehhxarjwpkx2cnn9e3k7mf0qyt8wumn8ghj7unnwdkxz7fwdehhxarj9ekk7egpzemhxue69uhky6t5vdhkjmn9wgh8xmmrd9skc9grz7k" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/57", + "url": "https://api.github.com/repos/damus-io/android/issues/55", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/57/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/57/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/57/events", - "html_url": "https://github.com/damus-io/android/issues/57", - "id": 2128555612, - "node_id": "I_kwDOKzWMZs5-3y5c", - "number": 57, - "title": "Nix environment doesn't work on m1 Mac", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events", + "html_url": "https://github.com/damus-io/android/issues/55", + "id": 2110691048, + "node_id": "I_kwDOKzWMZs59zpbo", + "number": 55, + "title": "Damus purple Android: In App Purchase", "user": { - "login": "justinmoon", - "id": 4335621, - "node_id": "MDQ6VXNlcjQzMzU2MjE=", - "avatar_url": "https://avatars.githubusercontent.com/u/4335621?v=4", + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", "gravatar_id": "", - "url": "https://api.github.com/users/justinmoon", - "html_url": "https://github.com/justinmoon", - "followers_url": "https://api.github.com/users/justinmoon/followers", - "following_url": "https://api.github.com/users/justinmoon/following{/other_user}", - "gists_url": "https://api.github.com/users/justinmoon/gists{/gist_id}", - "starred_url": "https://api.github.com/users/justinmoon/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/justinmoon/subscriptions", - "organizations_url": "https://api.github.com/users/justinmoon/orgs", - "repos_url": "https://api.github.com/users/justinmoon/repos", - "events_url": "https://api.github.com/users/justinmoon/events{/privacy}", - "received_events_url": "https://api.github.com/users/justinmoon/received_events", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", "type": "User", "site_admin": false }, "labels": [ { - "id": 6339173748, - "node_id": "LA_kwDOKzWMZs8AAAABedgddA", - "url": "https://api.github.com/repos/damus-io/android/labels/technical", - "name": "technical", - "color": "e99695", + "id": 6271233688, + "node_id": "LA_kwDOKzWMZs8AAAABdctumA", + "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", + "name": "commercialization", + "color": "DDD29F", "default": false, "description": "" }, { - "id": 6693731115, - "node_id": "LA_kwDOKzWMZs8AAAABjvo7Kw", - "url": "https://api.github.com/repos/damus-io/android/labels/MacOS", - "name": "MacOS", - "color": "CE127E", + "id": 6530754378, + "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", + "url": "https://api.github.com/repos/damus-io/android/labels/purple", + "name": "purple", + "color": "5319E7", + "default": false, + "description": "" + }, + { + "id": 6774995244, + "node_id": "LA_kwDOKzWMZs8AAAABk9I5LA", + "url": "https://api.github.com/repos/damus-io/android/labels/localization", + "name": "localization", + "color": "0F8978", "default": false, "description": "" } @@ -1106,15 +4850,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 7, - "created_at": "2024-02-10T15:37:43Z", - "updated_at": "2024-03-15T01:34:35Z", + "comments": 2, + "created_at": "2024-01-31T18:13:35Z", + "updated_at": "2024-04-03T05:44:23Z", "closed_at": null, - "author_association": "NONE", + "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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```", + "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)", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/57/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1125,29 +4869,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/57/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { - "user": "dpc", - "created_at": "2024-02-15T18:06:12Z", - "updated_at": "2024-02-15T18:06:12Z", - "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." + "user": "alltheseas", + "created_at": "2024-02-07T19:58:48Z", + "updated_at": "2024-02-07T19:58:48Z", + "body": "### related\r\n\r\ndamus.io/purple web purchase https://github.com/damus-io/android/issues/56" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/56", + "url": "https://api.github.com/repos/damus-io/android/issues/54", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/56/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/56/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/56/events", - "html_url": "https://github.com/damus-io/android/issues/56", - "id": 2123766418, - "node_id": "I_kwDOKzWMZs5-lhqS", - "number": 56, - "title": "Android damus.io/purple support", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events", + "html_url": "https://github.com/damus-io/android/issues/54", + "id": 2061817787, + "node_id": "I_kwDOKzWMZs565Ne7", + "number": 54, + "title": "Amber signer support", "user": { "login": "alltheseas", "id": 64376233, @@ -1170,13 +4914,13 @@ }, "labels": [ { - "id": 6530754378, - "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", - "url": "https://api.github.com/repos/damus-io/android/labels/purple%20%F0%9F%9F%A3", - "name": "purple 🟣", - "color": "5319E7", - "default": false, - "description": "" + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" } ], "state": "open", @@ -1184,15 +4928,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 0, - "created_at": "2024-02-07T19:55:49Z", - "updated_at": "2024-02-07T19:59:20Z", + "comments": 2, + "created_at": "2024-01-01T23:02:03Z", + "updated_at": "2024-03-16T08:30:12Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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?", + "body": "https://github.com/greenart7c3/Amber", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/56/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1203,23 +4947,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/56/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/55", + "url": "https://api.github.com/repos/damus-io/android/issues/54", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events", - "html_url": "https://github.com/damus-io/android/issues/55", - "id": 2110691048, - "node_id": "I_kwDOKzWMZs59zpbo", - "number": 55, - "title": "Damus purple Android: In App Purchase", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events", + "html_url": "https://github.com/damus-io/android/issues/54", + "id": 2061817787, + "node_id": "I_kwDOKzWMZs565Ne7", + "number": 54, + "title": "Amber signer support", "user": { "login": "alltheseas", "id": 64376233, @@ -1242,22 +4986,13 @@ }, "labels": [ { - "id": 6271233688, - "node_id": "LA_kwDOKzWMZs8AAAABdctumA", - "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", - "name": "commercialization", - "color": "DDD29F", - "default": false, - "description": "" - }, - { - "id": 6530754378, - "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", - "url": "https://api.github.com/repos/damus-io/android/labels/purple%20%F0%9F%9F%A3", - "name": "purple 🟣", - "color": "5319E7", - "default": false, - "description": "" + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" } ], "state": "open", @@ -1266,14 +5001,14 @@ "assignees": [], "milestone": null, "comments": 2, - "created_at": "2024-01-31T18:13:35Z", - "updated_at": "2024-02-07T19:59:13Z", + "created_at": "2024-01-01T23:02:03Z", + "updated_at": "2024-03-16T08:30:12Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://damus.io/nevent1qqsvx0algkvd7dg4qmwq8z69gl2men0y2e40mmrk53tg9q6nr20hygc0nd27l", + "body": "https://github.com/greenart7c3/Amber", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1284,23 +5019,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "jb55", + "created_at": "2024-03-16T08:29:45Z", + "updated_at": "2024-03-16T08:29:45Z", + "body": "as a side note I would never personally use this, because I trust myself and not some random signer app." } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/55", + "url": "https://api.github.com/repos/damus-io/android/issues/54", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events", - "html_url": "https://github.com/damus-io/android/issues/55", - "id": 2110691048, - "node_id": "I_kwDOKzWMZs59zpbo", - "number": 55, - "title": "Damus purple Android: In App Purchase", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events", + "html_url": "https://github.com/damus-io/android/issues/54", + "id": 2061817787, + "node_id": "I_kwDOKzWMZs565Ne7", + "number": 54, + "title": "Amber signer support", "user": { "login": "alltheseas", "id": 64376233, @@ -1323,22 +5064,13 @@ }, "labels": [ { - "id": 6271233688, - "node_id": "LA_kwDOKzWMZs8AAAABdctumA", - "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", - "name": "commercialization", - "color": "DDD29F", - "default": false, - "description": "" - }, - { - "id": 6530754378, - "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", - "url": "https://api.github.com/repos/damus-io/android/labels/purple%20%F0%9F%9F%A3", - "name": "purple 🟣", - "color": "5319E7", - "default": false, - "description": "" + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" } ], "state": "open", @@ -1347,14 +5079,14 @@ "assignees": [], "milestone": null, "comments": 2, - "created_at": "2024-01-31T18:13:35Z", - "updated_at": "2024-02-07T19:59:13Z", + "created_at": "2024-01-01T23:02:03Z", + "updated_at": "2024-03-16T08:30:12Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://damus.io/nevent1qqsvx0algkvd7dg4qmwq8z69gl2men0y2e40mmrk53tg9q6nr20hygc0nd27l", + "body": "https://github.com/greenart7c3/Amber", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1365,29 +5097,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { - "user": "alltheseas", - "created_at": "2024-01-31T18:27:08Z", - "updated_at": "2024-01-31T18:27:08Z", - "body": "![image](https://github.com/damus-io/android/assets/64376233/5abd7e29-101c-43f5-96d6-64e7b16e912b)\n\nhttps://damus.io/nevent1qqswg9ds8mg2sr09xd5uxvjd9jp2pl7rq3a8hdajt0ql9qr4fj4scwcpr9mhxue69uhhyetvv9ujumn0wd68ycmgv43kktndv5q3kamnwvaz7tmjv4kxz7fwdehhxarjwpkx2cnn9e3k7mf0qyt8wumn8ghj7unnwdkxz7fwdehhxarj9ekk7egpzemhxue69uhky6t5vdhkjmn9wgh8xmmrd9skc9grz7k" + "user": "jb55", + "created_at": "2024-03-16T08:30:11Z", + "updated_at": "2024-03-16T08:30:11Z", + "body": "but I may be the only person :sweat_smile: " } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/55", + "url": "https://api.github.com/repos/damus-io/android/issues/53", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/55/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/55/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/55/events", - "html_url": "https://github.com/damus-io/android/issues/55", - "id": 2110691048, - "node_id": "I_kwDOKzWMZs59zpbo", - "number": 55, - "title": "Damus purple Android: In App Purchase", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/53/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/53/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/53/events", + "html_url": "https://github.com/damus-io/android/issues/53", + "id": 2061665544, + "node_id": "I_kwDOKzWMZs564oUI", + "number": 53, + "title": "Measure and attribute data usage", "user": { "login": "alltheseas", "id": 64376233, @@ -1410,20 +5142,20 @@ }, "labels": [ { - "id": 6271233688, - "node_id": "LA_kwDOKzWMZs8AAAABdctumA", - "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", - "name": "commercialization", - "color": "DDD29F", - "default": false, - "description": "" + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" }, { - "id": 6530754378, - "node_id": "LA_kwDOKzWMZs8AAAABhUNnSg", - "url": "https://api.github.com/repos/damus-io/android/labels/purple%20%F0%9F%9F%A3", - "name": "purple 🟣", - "color": "5319E7", + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", "default": false, "description": "" } @@ -1433,15 +5165,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 2, - "created_at": "2024-01-31T18:13:35Z", - "updated_at": "2024-02-07T19:59:13Z", + "comments": 0, + "created_at": "2024-01-01T17:02:08Z", + "updated_at": "2024-01-01T17:03:45Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://damus.io/nevent1qqsvx0algkvd7dg4qmwq8z69gl2men0y2e40mmrk53tg9q6nr20hygc0nd27l", + "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", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/55/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/53/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1452,29 +5184,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/55/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/53/timeline", "performed_via_github_app": null, "state_reason": null - }, - "comment": { - "user": "alltheseas", - "created_at": "2024-02-07T19:58:48Z", - "updated_at": "2024-02-07T19:58:48Z", - "body": "### related\r\n\r\ndamus.io/purple web purchase https://github.com/damus-io/android/issues/56" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/54", + "url": "https://api.github.com/repos/damus-io/android/issues/52", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events", - "html_url": "https://github.com/damus-io/android/issues/54", - "id": 2061817787, - "node_id": "I_kwDOKzWMZs565Ne7", - "number": 54, - "title": "Amber signer support", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/52/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/52/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/52/events", + "html_url": "https://github.com/damus-io/android/issues/52", + "id": 2052860335, + "node_id": "I_kwDOKzWMZs56XCmv", + "number": 52, + "title": "Zap DMs", "user": { "login": "alltheseas", "id": 64376233, @@ -1497,13 +5223,13 @@ }, "labels": [ { - "id": 6264778307, - "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", - "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", - "name": "enhancement", - "color": "a2eeef", - "default": true, - "description": "New feature or request" + "id": 6271232904, + "node_id": "LA_kwDOKzWMZs8AAAABdctriA", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", + "color": "fef2c0", + "default": false, + "description": "" } ], "state": "open", @@ -1511,15 +5237,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 2, - "created_at": "2024-01-01T23:02:03Z", - "updated_at": "2024-03-16T08:30:12Z", + "comments": 0, + "created_at": "2023-12-21T18:04:07Z", + "updated_at": "2023-12-21T18:04:07Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/greenart7c3/Amber", + "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", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/52/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1530,23 +5256,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/52/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/54", - "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events", - "html_url": "https://github.com/damus-io/android/issues/54", - "id": 2061817787, - "node_id": "I_kwDOKzWMZs565Ne7", - "number": 54, - "title": "Amber signer support", + "url": "https://api.github.com/repos/damus-io/android/issues/51", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/51/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/51/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/51/events", + "html_url": "https://github.com/damus-io/android/issues/51", + "id": 2047116773, + "node_id": "I_kwDOKzWMZs56BIXl", + "number": 51, + "title": "Identify and port code from iOS", "user": { "login": "alltheseas", "id": 64376233, @@ -1569,13 +5295,13 @@ }, "labels": [ { - "id": 6264778307, - "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", - "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", - "name": "enhancement", - "color": "a2eeef", - "default": true, - "description": "New feature or request" + "id": 6339173748, + "node_id": "LA_kwDOKzWMZs8AAAABedgddA", + "url": "https://api.github.com/repos/damus-io/android/labels/technical", + "name": "technical", + "color": "e99695", + "default": false, + "description": "" } ], "state": "open", @@ -1583,15 +5309,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 2, - "created_at": "2024-01-01T23:02:03Z", - "updated_at": "2024-03-16T08:30:12Z", + "comments": 0, + "created_at": "2023-12-18T17:23:45Z", + "updated_at": "2023-12-18T17:24:19Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/greenart7c3/Amber", + "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.", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/51/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1602,29 +5328,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/51/timeline", "performed_via_github_app": null, "state_reason": null - }, - "comment": { - "user": "jb55", - "created_at": "2024-03-16T08:29:45Z", - "updated_at": "2024-03-16T08:29:45Z", - "body": "as a side note I would never personally use this, because I trust myself and not some random signer app." } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/54", + "url": "https://api.github.com/repos/damus-io/android/issues/50", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/54/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/54/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/54/events", - "html_url": "https://github.com/damus-io/android/issues/54", - "id": 2061817787, - "node_id": "I_kwDOKzWMZs565Ne7", - "number": 54, - "title": "Amber signer support", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/50/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/50/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/50/events", + "html_url": "https://github.com/damus-io/android/issues/50", + "id": 2022990454, + "node_id": "I_kwDOKzWMZs54lGJ2", + "number": 50, + "title": "Copy iOS localized bootstrap lists", "user": { "login": "alltheseas", "id": 64376233, @@ -1647,13 +5367,13 @@ }, "labels": [ { - "id": 6264778307, - "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", - "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", - "name": "enhancement", - "color": "a2eeef", - "default": true, - "description": "New feature or request" + "id": 6272198361, + "node_id": "LA_kwDOKzWMZs8AAAABddom2Q", + "url": "https://api.github.com/repos/damus-io/android/labels/relays", + "name": "relays", + "color": "2ACD20", + "default": false, + "description": "" } ], "state": "open", @@ -1661,15 +5381,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 2, - "created_at": "2024-01-01T23:02:03Z", - "updated_at": "2024-03-16T08:30:12Z", + "comments": 0, + "created_at": "2023-12-04T04:19:27Z", + "updated_at": "2023-12-04T04:20:29Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/greenart7c3/Amber", + "body": "Thai, German\n\nhttps://github.com/damus-io/damus/issues/1698\n\nhttps://github.com/damus-io/damus/issues/1750", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/54/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/50/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1680,29 +5400,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/54/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/50/timeline", "performed_via_github_app": null, "state_reason": null - }, - "comment": { - "user": "jb55", - "created_at": "2024-03-16T08:30:11Z", - "updated_at": "2024-03-16T08:30:11Z", - "body": "but I may be the only person :sweat_smile: " } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/53", + "url": "https://api.github.com/repos/damus-io/android/issues/49", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/53/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/53/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/53/events", - "html_url": "https://github.com/damus-io/android/issues/53", - "id": 2061665544, - "node_id": "I_kwDOKzWMZs564oUI", - "number": 53, - "title": "Measure and attribute data usage", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/49/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/49/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/49/events", + "html_url": "https://github.com/damus-io/android/issues/49", + "id": 2022587580, + "node_id": "I_kwDOKzWMZs54jjy8", + "number": 49, + "title": "Scheduled posts", "user": { "login": "alltheseas", "id": 64376233, @@ -1732,15 +5446,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6339173748, - "node_id": "LA_kwDOKzWMZs8AAAABedgddA", - "url": "https://api.github.com/repos/damus-io/android/labels/technical", - "name": "technical", - "color": "e99695", - "default": false, - "description": "" } ], "state": "open", @@ -1749,14 +5454,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2024-01-01T17:02:08Z", - "updated_at": "2024-01-01T17:03:45Z", + "created_at": "2023-12-03T15:28:14Z", + "updated_at": "2023-12-03T15:28:14Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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", + "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", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/53/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/49/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1767,23 +5472,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/53/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/49/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/52", + "url": "https://api.github.com/repos/damus-io/android/issues/48", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/52/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/52/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/52/events", - "html_url": "https://github.com/damus-io/android/issues/52", - "id": 2052860335, - "node_id": "I_kwDOKzWMZs56XCmv", - "number": 52, - "title": "Zap DMs", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/48/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/48/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/48/events", + "html_url": "https://github.com/damus-io/android/issues/48", + "id": 2022467444, + "node_id": "I_kwDOKzWMZs54jGd0", + "number": 48, + "title": "Profile deletion", "user": { "login": "alltheseas", "id": 64376233, @@ -1806,29 +5511,65 @@ }, "labels": [ { - "id": 6271232904, - "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", - "color": "fef2c0", - "default": false, - "description": "" + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" } ], "state": "open", "locked": false, "assignee": null, "assignees": [], - "milestone": null, + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 15, + "closed_issues": 1, + "state": "open", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", + "due_on": null, + "closed_at": null + }, "comments": 0, - "created_at": "2023-12-21T18:04:07Z", - "updated_at": "2023-12-21T18:04:07Z", + "created_at": "2023-12-03T10:58:15Z", + "updated_at": "2023-12-03T10:58:26Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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", + "body": "Google play requirement\n\n> Account Deletion Requirement\nIf your app allows users to create an account from within your app, then it must also allow users to request for their account to be deleted. Users must have a readily discoverable option to initiate app account deletion from within your app and outside of your app (for example, by visiting your website). A link to this web resource must be entered in the designated URL form field within Play Console.\n\n> When you delete an app account based on a user’s request, you must also delete the user data associated with that app account. Temporary account deactivation, disabling, or “freezing” the app account does not qualify as account deletion. If you need to retain certain data for legitimate reasons such as security, fraud prevention, or regulatory compliance, you must clearly inform users about your data retention practices (for example, within your privacy policy).\n\n> To learn more about account deletion policy requirements, please review this Help Center article. For additional information on updating your Data safety form, visit this article.\n\nhttps://support.google.com/googleplay/android-developer/answer/13316080?sjid=8979731603292668853-NA#account_deletion", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/52/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/48/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1839,23 +5580,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/52/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/48/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/51", + "url": "https://api.github.com/repos/damus-io/android/issues/47", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/51/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/51/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/51/events", - "html_url": "https://github.com/damus-io/android/issues/51", - "id": 2047116773, - "node_id": "I_kwDOKzWMZs56BIXl", - "number": 51, - "title": "Identify and port code from iOS", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/47/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/47/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/47/events", + "html_url": "https://github.com/damus-io/android/issues/47", + "id": 2020895919, + "node_id": "I_kwDOKzWMZs54dGyv", + "number": 47, + "title": "Handle low storage (<1 GB)", "user": { "login": "alltheseas", "id": 64376233, @@ -1878,13 +5619,13 @@ }, "labels": [ { - "id": 6339173748, - "node_id": "LA_kwDOKzWMZs8AAAABedgddA", - "url": "https://api.github.com/repos/damus-io/android/labels/technical", - "name": "technical", - "color": "e99695", - "default": false, - "description": "" + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" } ], "state": "open", @@ -1893,14 +5634,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-12-18T17:23:45Z", - "updated_at": "2023-12-18T17:24:19Z", + "created_at": "2023-12-01T13:35:51Z", + "updated_at": "2023-12-01T13:35:51Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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.", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/51/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/47/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1911,23 +5652,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/51/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/47/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/50", + "url": "https://api.github.com/repos/damus-io/android/issues/46", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/50/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/50/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/50/events", - "html_url": "https://github.com/damus-io/android/issues/50", - "id": 2022990454, - "node_id": "I_kwDOKzWMZs54lGJ2", - "number": 50, - "title": "Copy iOS localized bootstrap lists", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/46/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/46/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/46/events", + "html_url": "https://github.com/damus-io/android/issues/46", + "id": 2020003064, + "node_id": "I_kwDOKzWMZs54Zsz4", + "number": 46, + "title": "In app NIP-05 acquisition", "user": { "login": "alltheseas", "id": 64376233, @@ -1950,11 +5691,20 @@ }, "labels": [ { - "id": 6272198361, - "node_id": "LA_kwDOKzWMZs8AAAABddom2Q", - "url": "https://api.github.com/repos/damus-io/android/labels/relays%20%F0%9F%93%A1", - "name": "relays 📡", - "color": "2ACD20", + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + }, + { + "id": 6271233688, + "node_id": "LA_kwDOKzWMZs8AAAABdctumA", + "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", + "name": "commercialization", + "color": "DDD29F", "default": false, "description": "" } @@ -1965,14 +5715,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-12-04T04:19:27Z", - "updated_at": "2023-12-04T04:20:29Z", + "created_at": "2023-12-01T03:52:16Z", + "updated_at": "2023-12-01T03:52:16Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "Thai, German\n\nhttps://github.com/damus-io/damus/issues/1698\n\nhttps://github.com/damus-io/damus/issues/1750", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/50/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/46/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -1983,23 +5733,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/50/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/46/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/49", + "url": "https://api.github.com/repos/damus-io/android/issues/45", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/49/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/49/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/49/events", - "html_url": "https://github.com/damus-io/android/issues/49", - "id": 2022587580, - "node_id": "I_kwDOKzWMZs54jjy8", - "number": 49, - "title": "Scheduled posts", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/45/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/45/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/45/events", + "html_url": "https://github.com/damus-io/android/issues/45", + "id": 2019995207, + "node_id": "I_kwDOKzWMZs54Zq5H", + "number": 45, + "title": "Mute thread", "user": { "login": "alltheseas", "id": 64376233, @@ -2037,14 +5787,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-12-03T15:28:14Z", - "updated_at": "2023-12-03T15:28:14Z", + "created_at": "2023-12-01T03:42:53Z", + "updated_at": "2023-12-01T03:42:53Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "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", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/49/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/45/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2055,23 +5805,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/49/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/45/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/48", + "url": "https://api.github.com/repos/damus-io/android/issues/44", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/48/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/48/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/48/events", - "html_url": "https://github.com/damus-io/android/issues/48", - "id": 2022467444, - "node_id": "I_kwDOKzWMZs54jGd0", - "number": 48, - "title": "Profile deletion", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/44/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/44/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/44/events", + "html_url": "https://github.com/damus-io/android/issues/44", + "id": 2019661118, + "node_id": "I_kwDOKzWMZs54YZU-", + "number": 44, + "title": "Create zapraiser", "user": { "login": "alltheseas", "id": 64376233, @@ -2101,58 +5851,31 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6271232904, + "node_id": "LA_kwDOKzWMZs8AAAABdctriA", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", + "color": "fef2c0", + "default": false, + "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [], - "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/1", - "html_url": "https://github.com/damus-io/android/milestone/1", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", - "id": 10252427, - "node_id": "MI_kwDOKzWMZs4AnHCL", - "number": 1, - "title": "0.1 Android", - "description": null, - "creator": { - "login": "alltheseas", - "id": 64376233, - "node_id": "MDQ6VXNlcjY0Mzc2MjMz", - "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/alltheseas", - "html_url": "https://github.com/alltheseas", - "followers_url": "https://api.github.com/users/alltheseas/followers", - "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", - "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", - "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", - "organizations_url": "https://api.github.com/users/alltheseas/orgs", - "repos_url": "https://api.github.com/users/alltheseas/repos", - "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", - "received_events_url": "https://api.github.com/users/alltheseas/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 15, - "closed_issues": 0, - "state": "open", - "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", - "due_on": null, - "closed_at": null - }, + "milestone": null, "comments": 0, - "created_at": "2023-12-03T10:58:15Z", - "updated_at": "2023-12-03T10:58:26Z", + "created_at": "2023-11-30T23:13:13Z", + "updated_at": "2023-11-30T23:13:23Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "Google play requirement\n\n> Account Deletion Requirement\nIf your app allows users to create an account from within your app, then it must also allow users to request for their account to be deleted. Users must have a readily discoverable option to initiate app account deletion from within your app and outside of your app (for example, by visiting your website). A link to this web resource must be entered in the designated URL form field within Play Console.\n\n> When you delete an app account based on a user’s request, you must also delete the user data associated with that app account. Temporary account deactivation, disabling, or “freezing” the app account does not qualify as account deletion. If you need to retain certain data for legitimate reasons such as security, fraud prevention, or regulatory compliance, you must clearly inform users about your data retention practices (for example, within your privacy policy).\n\n> To learn more about account deletion policy requirements, please review this Help Center article. For additional information on updating your Data safety form, visit this article.\n\nhttps://support.google.com/googleplay/android-developer/answer/13316080?sjid=8979731603292668853-NA#account_deletion", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/48/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/44/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2163,23 +5886,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/48/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/44/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/47", + "url": "https://api.github.com/repos/damus-io/android/issues/43", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/47/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/47/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/47/events", - "html_url": "https://github.com/damus-io/android/issues/47", - "id": 2020895919, - "node_id": "I_kwDOKzWMZs54dGyv", - "number": 47, - "title": "Handle low storage (<1 GB)", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/43/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/43/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/43/events", + "html_url": "https://github.com/damus-io/android/issues/43", + "id": 2019660919, + "node_id": "I_kwDOKzWMZs54YZR3", + "number": 43, + "title": "See zapraiser", "user": { "login": "alltheseas", "id": 64376233, @@ -2209,6 +5932,15 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6271232904, + "node_id": "LA_kwDOKzWMZs8AAAABdctriA", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", + "color": "fef2c0", + "default": false, + "description": "" } ], "state": "open", @@ -2217,14 +5949,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-12-01T13:35:51Z", - "updated_at": "2023-12-01T13:35:51Z", + "created_at": "2023-11-30T23:13:00Z", + "updated_at": "2023-11-30T23:13:00Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/47/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/43/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2235,23 +5967,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/47/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/43/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/46", + "url": "https://api.github.com/repos/damus-io/android/issues/42", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/46/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/46/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/46/events", - "html_url": "https://github.com/damus-io/android/issues/46", - "id": 2020003064, - "node_id": "I_kwDOKzWMZs54Zsz4", - "number": 46, - "title": "In app NIP-05 acquisition", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/42/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/42/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/42/events", + "html_url": "https://github.com/damus-io/android/issues/42", + "id": 2019656728, + "node_id": "I_kwDOKzWMZs54YYQY", + "number": 42, + "title": "web of trust: show how many of my follows have muted a particular profile", "user": { "login": "alltheseas", "id": 64376233, @@ -2281,15 +6013,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6271233688, - "node_id": "LA_kwDOKzWMZs8AAAABdctumA", - "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", - "name": "commercialization", - "color": "DDD29F", - "default": false, - "description": "" } ], "state": "open", @@ -2298,14 +6021,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-12-01T03:52:16Z", - "updated_at": "2023-12-01T03:52:16Z", + "created_at": "2023-11-30T23:09:24Z", + "updated_at": "2023-11-30T23:09:24Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/46/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/42/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2316,23 +6039,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/46/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/42/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/45", + "url": "https://api.github.com/repos/damus-io/android/issues/41", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/45/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/45/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/45/events", - "html_url": "https://github.com/damus-io/android/issues/45", - "id": 2019995207, - "node_id": "I_kwDOKzWMZs54Zq5H", - "number": 45, - "title": "Mute thread", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/41/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/41/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/41/events", + "html_url": "https://github.com/damus-io/android/issues/41", + "id": 2019656369, + "node_id": "I_kwDOKzWMZs54YYKx", + "number": 41, + "title": "web of trust: show how many of my follows follow a profile", "user": { "login": "alltheseas", "id": 64376233, @@ -2370,14 +6093,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-12-01T03:42:53Z", - "updated_at": "2023-12-01T03:42:53Z", + "created_at": "2023-11-30T23:09:02Z", + "updated_at": "2023-11-30T23:09:02Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/45/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/41/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2388,23 +6111,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/45/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/41/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/44", + "url": "https://api.github.com/repos/damus-io/android/issues/40", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/44/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/44/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/44/events", - "html_url": "https://github.com/damus-io/android/issues/44", - "id": 2019661118, - "node_id": "I_kwDOKzWMZs54YZU-", - "number": 44, - "title": "Create zapraiser", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/40/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/40/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/40/events", + "html_url": "https://github.com/damus-io/android/issues/40", + "id": 2019655241, + "node_id": "I_kwDOKzWMZs54YX5J", + "number": 40, + "title": "Local notification settings", "user": { "login": "alltheseas", "id": 64376233, @@ -2425,22 +6148,13 @@ "type": "User", "site_admin": false }, - "labels": [ - { - "id": 6264778307, - "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", - "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", - "name": "enhancement", - "color": "a2eeef", - "default": true, - "description": "New feature or request" - }, + "labels": [ { - "id": 6271232904, - "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", - "color": "fef2c0", + "id": 6272199615, + "node_id": "LA_kwDOKzWMZs8AAAABddorvw", + "url": "https://api.github.com/repos/damus-io/android/labels/notifications", + "name": "notifications", + "color": "852F56", "default": false, "description": "" } @@ -2451,14 +6165,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-11-30T23:13:13Z", - "updated_at": "2023-11-30T23:13:23Z", + "created_at": "2023-11-30T23:07:43Z", + "updated_at": "2023-11-30T23:07:43Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/44/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/40/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2469,23 +6183,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/44/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/40/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/43", + "url": "https://api.github.com/repos/damus-io/android/issues/39", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/43/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/43/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/43/events", - "html_url": "https://github.com/damus-io/android/issues/43", - "id": 2019660919, - "node_id": "I_kwDOKzWMZs54YZR3", - "number": 43, - "title": "See zapraiser", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/39/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/39/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/39/events", + "html_url": "https://github.com/damus-io/android/issues/39", + "id": 2019654479, + "node_id": "I_kwDOKzWMZs54YXtP", + "number": 39, + "title": "Select users I am replying to", "user": { "login": "alltheseas", "id": 64376233, @@ -2515,15 +6229,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6271232904, - "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", - "color": "fef2c0", - "default": false, - "description": "" } ], "state": "open", @@ -2532,14 +6237,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-11-30T23:13:00Z", - "updated_at": "2023-11-30T23:13:00Z", + "created_at": "2023-11-30T23:06:55Z", + "updated_at": "2023-11-30T23:06:55Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/43/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/39/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2550,23 +6255,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/43/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/39/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/42", + "url": "https://api.github.com/repos/damus-io/android/issues/38", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/42/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/42/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/42/events", - "html_url": "https://github.com/damus-io/android/issues/42", - "id": 2019656728, - "node_id": "I_kwDOKzWMZs54YYQY", - "number": 42, - "title": "web of trust: show how many of my follows have muted a particular profile", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/38/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/38/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/38/events", + "html_url": "https://github.com/damus-io/android/issues/38", + "id": 2019639090, + "node_id": "I_kwDOKzWMZs54YT8y", + "number": 38, + "title": "mention/tag note", "user": { "login": "alltheseas", "id": 64376233, @@ -2602,16 +6307,52 @@ "locked": false, "assignee": null, "assignees": [], - "milestone": null, + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 15, + "closed_issues": 1, + "state": "open", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", + "due_on": null, + "closed_at": null + }, "comments": 0, - "created_at": "2023-11-30T23:09:24Z", - "updated_at": "2023-11-30T23:09:24Z", + "created_at": "2023-11-30T22:51:09Z", + "updated_at": "2023-11-30T22:51:09Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/42/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/38/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2622,23 +6363,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/42/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/38/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/41", + "url": "https://api.github.com/repos/damus-io/android/issues/37", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/41/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/41/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/41/events", - "html_url": "https://github.com/damus-io/android/issues/41", - "id": 2019656369, - "node_id": "I_kwDOKzWMZs54YYKx", - "number": 41, - "title": "web of trust: show how many of my follows follow a profile", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/37/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/37/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/37/events", + "html_url": "https://github.com/damus-io/android/issues/37", + "id": 2019590042, + "node_id": "I_kwDOKzWMZs54YH-a", + "number": 37, + "title": "Push notifications sans google play services", "user": { "login": "alltheseas", "id": 64376233, @@ -2668,6 +6409,15 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6272199615, + "node_id": "LA_kwDOKzWMZs8AAAABddorvw", + "url": "https://api.github.com/repos/damus-io/android/labels/notifications", + "name": "notifications", + "color": "852F56", + "default": false, + "description": "" } ], "state": "open", @@ -2675,15 +6425,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 0, - "created_at": "2023-11-30T23:09:02Z", - "updated_at": "2023-11-30T23:09:02Z", + "comments": 1, + "created_at": "2023-11-30T22:08:39Z", + "updated_at": "2023-12-06T21:21:17Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://unifiedpush.org/\n\nhttps://damus.io/note1j9yn4qa6s3yhwknzlvjzjfth5u44d4nzpel2cp2x33qy43sn9gsqtmfduv", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/41/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/37/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2694,23 +6444,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/41/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/37/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/40", + "url": "https://api.github.com/repos/damus-io/android/issues/37", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/40/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/40/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/40/events", - "html_url": "https://github.com/damus-io/android/issues/40", - "id": 2019655241, - "node_id": "I_kwDOKzWMZs54YX5J", - "number": 40, - "title": "Local notification settings", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/37/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/37/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/37/events", + "html_url": "https://github.com/damus-io/android/issues/37", + "id": 2019590042, + "node_id": "I_kwDOKzWMZs54YH-a", + "number": 37, + "title": "Push notifications sans google play services", "user": { "login": "alltheseas", "id": 64376233, @@ -2733,10 +6483,19 @@ }, "labels": [ { + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" + }, + { "id": 6272199615, "node_id": "LA_kwDOKzWMZs8AAAABddorvw", - "url": "https://api.github.com/repos/damus-io/android/labels/notifications%20%F0%9F%9B%8E%EF%B8%8F", - "name": "notifications 🛎️", + "url": "https://api.github.com/repos/damus-io/android/labels/notifications", + "name": "notifications", "color": "852F56", "default": false, "description": "" @@ -2747,15 +6506,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 0, - "created_at": "2023-11-30T23:07:43Z", - "updated_at": "2023-11-30T23:07:43Z", + "comments": 1, + "created_at": "2023-11-30T22:08:39Z", + "updated_at": "2023-12-06T21:21:17Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://unifiedpush.org/\n\nhttps://damus.io/note1j9yn4qa6s3yhwknzlvjzjfth5u44d4nzpel2cp2x33qy43sn9gsqtmfduv", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/40/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/37/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2766,23 +6525,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/40/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/37/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "alltheseas", + "created_at": "2023-11-30T22:12:16Z", + "updated_at": "2023-11-30T22:15:11Z", + "body": "https://damus.io/note18lxaupd0raa454azsqmjj69lhcfhtupnjp5rk3z0djcjwpent0usjrfhuv\n\n> https://unifiedpush.org 👀 \n\n> Maybe, you can probably release two versions of Damus Android in the future:\n- Google Play version (using FCM)\n- FOSS version (unifiedpush)\n\n> Amethyst have done that.\n\n![image](https://github.com/damus-io/android/assets/64376233/a1d1223f-6e76-48b3-9d79-f94780afc996)\n\nhttps://damus.io/note15vzfafcl0096s2j3rvt588e76s2p76vw0rf4uzrldjlq25ngpsyq5ldezh" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/39", + "url": "https://api.github.com/repos/damus-io/android/issues/36", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/39/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/39/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/39/events", - "html_url": "https://github.com/damus-io/android/issues/39", - "id": 2019654479, - "node_id": "I_kwDOKzWMZs54YXtP", - "number": 39, - "title": "Select users I am replying to", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/36/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/36/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/36/events", + "html_url": "https://github.com/damus-io/android/issues/36", + "id": 2019515286, + "node_id": "I_kwDOKzWMZs54X1uW", + "number": 36, + "title": "Display Android version and build number in menu/settings", "user": { "login": "alltheseas", "id": 64376233, @@ -2818,16 +6583,52 @@ "locked": false, "assignee": null, "assignees": [], - "milestone": null, + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/2", + "html_url": "https://github.com/damus-io/android/milestone/2", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", + "id": 10252435, + "node_id": "MI_kwDOKzWMZs4AnHCT", + "number": 2, + "title": "0.2 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 5, + "closed_issues": 0, + "state": "open", + "created_at": "2023-11-30T19:44:58Z", + "updated_at": "2023-11-30T21:11:12Z", + "due_on": null, + "closed_at": null + }, "comments": 0, - "created_at": "2023-11-30T23:06:55Z", - "updated_at": "2023-11-30T23:06:55Z", + "created_at": "2023-11-30T21:11:06Z", + "updated_at": "2023-11-30T21:11:12Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/39/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/36/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2838,23 +6639,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/39/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/36/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/38", + "url": "https://api.github.com/repos/damus-io/android/issues/35", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/38/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/38/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/38/events", - "html_url": "https://github.com/damus-io/android/issues/38", - "id": 2019639090, - "node_id": "I_kwDOKzWMZs54YT8y", - "number": 38, - "title": "mention/tag note", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/35/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/35/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/35/events", + "html_url": "https://github.com/damus-io/android/issues/35", + "id": 2019514350, + "node_id": "I_kwDOKzWMZs54X1fu", + "number": 35, + "title": "Display others profile as a QR code", "user": { "login": "alltheseas", "id": 64376233, @@ -2890,52 +6691,16 @@ "locked": false, "assignee": null, "assignees": [], - "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/1", - "html_url": "https://github.com/damus-io/android/milestone/1", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", - "id": 10252427, - "node_id": "MI_kwDOKzWMZs4AnHCL", - "number": 1, - "title": "0.1 Android", - "description": null, - "creator": { - "login": "alltheseas", - "id": 64376233, - "node_id": "MDQ6VXNlcjY0Mzc2MjMz", - "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/alltheseas", - "html_url": "https://github.com/alltheseas", - "followers_url": "https://api.github.com/users/alltheseas/followers", - "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", - "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", - "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", - "organizations_url": "https://api.github.com/users/alltheseas/orgs", - "repos_url": "https://api.github.com/users/alltheseas/repos", - "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", - "received_events_url": "https://api.github.com/users/alltheseas/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 15, - "closed_issues": 0, - "state": "open", - "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", - "due_on": null, - "closed_at": null - }, + "milestone": null, "comments": 0, - "created_at": "2023-11-30T22:51:09Z", - "updated_at": "2023-11-30T22:51:09Z", + "created_at": "2023-11-30T21:10:22Z", + "updated_at": "2023-11-30T21:10:35Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "## related\r\n\r\nhttps://github.com/damus-io/android/issues/34", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/38/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/35/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -2946,23 +6711,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/38/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/35/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/37", + "url": "https://api.github.com/repos/damus-io/android/issues/34", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/37/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/37/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/37/events", - "html_url": "https://github.com/damus-io/android/issues/37", - "id": 2019590042, - "node_id": "I_kwDOKzWMZs54YH-a", - "number": 37, - "title": "Push notifications sans google play services", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/34/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/34/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/34/events", + "html_url": "https://github.com/damus-io/android/issues/34", + "id": 2019514071, + "node_id": "I_kwDOKzWMZs54X1bX", + "number": 34, + "title": "Display my profile as a QR code", "user": { "login": "alltheseas", "id": 64376233, @@ -2992,15 +6757,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6272199615, - "node_id": "LA_kwDOKzWMZs8AAAABddorvw", - "url": "https://api.github.com/repos/damus-io/android/labels/notifications%20%F0%9F%9B%8E%EF%B8%8F", - "name": "notifications 🛎️", - "color": "852F56", - "default": false, - "description": "" } ], "state": "open", @@ -3008,15 +6764,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 1, - "created_at": "2023-11-30T22:08:39Z", - "updated_at": "2023-12-06T21:21:17Z", + "comments": 0, + "created_at": "2023-11-30T21:10:07Z", + "updated_at": "2023-11-30T21:10:07Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://unifiedpush.org/\n\nhttps://damus.io/note1j9yn4qa6s3yhwknzlvjzjfth5u44d4nzpel2cp2x33qy43sn9gsqtmfduv", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/37/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/34/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3027,23 +6783,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/37/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/34/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/37", + "url": "https://api.github.com/repos/damus-io/android/issues/33", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/37/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/37/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/37/events", - "html_url": "https://github.com/damus-io/android/issues/37", - "id": 2019590042, - "node_id": "I_kwDOKzWMZs54YH-a", - "number": 37, - "title": "Push notifications sans google play services", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/33/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/33/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/33/events", + "html_url": "https://github.com/damus-io/android/issues/33", + "id": 2019513584, + "node_id": "I_kwDOKzWMZs54X1Tw", + "number": 33, + "title": "NIP-51 bookmarks", "user": { "login": "alltheseas", "id": 64376233, @@ -3075,11 +6831,11 @@ "description": "New feature or request" }, { - "id": 6272199615, - "node_id": "LA_kwDOKzWMZs8AAAABddorvw", - "url": "https://api.github.com/repos/damus-io/android/labels/notifications%20%F0%9F%9B%8E%EF%B8%8F", - "name": "notifications 🛎️", - "color": "852F56", + "id": 6271413453, + "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", + "url": "https://api.github.com/repos/damus-io/android/labels/NIP", + "name": "NIP", + "color": "f9d0c4", "default": false, "description": "" } @@ -3089,15 +6845,15 @@ "assignee": null, "assignees": [], "milestone": null, - "comments": 1, - "created_at": "2023-11-30T22:08:39Z", - "updated_at": "2023-12-06T21:21:17Z", + "comments": 0, + "created_at": "2023-11-30T21:09:43Z", + "updated_at": "2023-11-30T21:09:43Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://unifiedpush.org/\n\nhttps://damus.io/note1j9yn4qa6s3yhwknzlvjzjfth5u44d4nzpel2cp2x33qy43sn9gsqtmfduv", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/37/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/33/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3108,29 +6864,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/37/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/33/timeline", "performed_via_github_app": null, "state_reason": null - }, - "comment": { - "user": "alltheseas", - "created_at": "2023-11-30T22:12:16Z", - "updated_at": "2023-11-30T22:15:11Z", - "body": "https://damus.io/note18lxaupd0raa454azsqmjj69lhcfhtupnjp5rk3z0djcjwpent0usjrfhuv\n\n> https://unifiedpush.org 👀 \n\n> Maybe, you can probably release two versions of Damus Android in the future:\n- Google Play version (using FCM)\n- FOSS version (unifiedpush)\n\n> Amethyst have done that.\n\n![image](https://github.com/damus-io/android/assets/64376233/a1d1223f-6e76-48b3-9d79-f94780afc996)\n\nhttps://damus.io/note15vzfafcl0096s2j3rvt588e76s2p76vw0rf4uzrldjlq25ngpsyq5ldezh" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/36", + "url": "https://api.github.com/repos/damus-io/android/issues/32", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/36/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/36/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/36/events", - "html_url": "https://github.com/damus-io/android/issues/36", - "id": 2019515286, - "node_id": "I_kwDOKzWMZs54X1uW", - "number": 36, - "title": "Display Android version and build number in menu/settings", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/32/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/32/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/32/events", + "html_url": "https://github.com/damus-io/android/issues/32", + "id": 2019512305, + "node_id": "I_kwDOKzWMZs54X0_x", + "number": 32, + "title": "Hashtag view", "user": { "login": "alltheseas", "id": 64376233, @@ -3166,52 +6916,16 @@ "locked": false, "assignee": null, "assignees": [], - "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/2", - "html_url": "https://github.com/damus-io/android/milestone/2", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", - "id": 10252435, - "node_id": "MI_kwDOKzWMZs4AnHCT", - "number": 2, - "title": "0.2 Android", - "description": null, - "creator": { - "login": "alltheseas", - "id": 64376233, - "node_id": "MDQ6VXNlcjY0Mzc2MjMz", - "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/alltheseas", - "html_url": "https://github.com/alltheseas", - "followers_url": "https://api.github.com/users/alltheseas/followers", - "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", - "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", - "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", - "organizations_url": "https://api.github.com/users/alltheseas/orgs", - "repos_url": "https://api.github.com/users/alltheseas/repos", - "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", - "received_events_url": "https://api.github.com/users/alltheseas/received_events", - "type": "User", - "site_admin": false - }, - "open_issues": 5, - "closed_issues": 0, - "state": "open", - "created_at": "2023-11-30T19:44:58Z", - "updated_at": "2023-11-30T21:11:12Z", - "due_on": null, - "closed_at": null - }, + "milestone": null, "comments": 0, - "created_at": "2023-11-30T21:11:06Z", - "updated_at": "2023-11-30T21:11:12Z", + "created_at": "2023-11-30T21:08:38Z", + "updated_at": "2023-11-30T21:08:38Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/36/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/32/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3222,23 +6936,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/36/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/32/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/35", + "url": "https://api.github.com/repos/damus-io/android/issues/31", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/35/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/35/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/35/events", - "html_url": "https://github.com/damus-io/android/issues/35", - "id": 2019514350, - "node_id": "I_kwDOKzWMZs54X1fu", - "number": 35, - "title": "Display others profile as a QR code", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/31/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/31/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/31/events", + "html_url": "https://github.com/damus-io/android/issues/31", + "id": 2019511864, + "node_id": "I_kwDOKzWMZs54X044", + "number": 31, + "title": "Search", "user": { "login": "alltheseas", "id": 64376233, @@ -3276,14 +6990,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-11-30T21:10:22Z", - "updated_at": "2023-11-30T21:10:35Z", + "created_at": "2023-11-30T21:08:17Z", + "updated_at": "2023-11-30T21:08:17Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "## related\r\n\r\nhttps://github.com/damus-io/android/issues/34", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/35/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/31/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3294,23 +7008,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/35/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/31/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/34", + "url": "https://api.github.com/repos/damus-io/android/issues/30", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/34/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/34/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/34/events", - "html_url": "https://github.com/damus-io/android/issues/34", - "id": 2019514071, - "node_id": "I_kwDOKzWMZs54X1bX", - "number": 34, - "title": "Display my profile as a QR code", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/30/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/30/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/30/events", + "html_url": "https://github.com/damus-io/android/issues/30", + "id": 2019511521, + "node_id": "I_kwDOKzWMZs54X0zh", + "number": 30, + "title": "Zap profile", "user": { "login": "alltheseas", "id": 64376233, @@ -3348,14 +7062,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-11-30T21:10:07Z", - "updated_at": "2023-11-30T21:10:07Z", + "created_at": "2023-11-30T21:08:01Z", + "updated_at": "2023-11-30T21:08:01Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/34/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/30/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3366,23 +7080,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/34/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/30/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/33", + "url": "https://api.github.com/repos/damus-io/android/issues/29", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/33/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/33/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/33/events", - "html_url": "https://github.com/damus-io/android/issues/33", - "id": 2019513584, - "node_id": "I_kwDOKzWMZs54X1Tw", - "number": 33, - "title": "NIP-51 bookmarks", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/29/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/29/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/29/events", + "html_url": "https://github.com/damus-io/android/issues/29", + "id": 2019510795, + "node_id": "I_kwDOKzWMZs54X0oL", + "number": 29, + "title": "Auto clear cache", "user": { "login": "alltheseas", "id": 64376233, @@ -3412,15 +7126,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6271413453, - "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", - "url": "https://api.github.com/repos/damus-io/android/labels/NIP", - "name": "NIP", - "color": "f9d0c4", - "default": false, - "description": "" } ], "state": "open", @@ -3429,14 +7134,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2023-11-30T21:09:43Z", - "updated_at": "2023-11-30T21:09:43Z", + "created_at": "2023-11-30T21:07:26Z", + "updated_at": "2023-11-30T21:07:38Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "## builds on \r\n\r\nhttps://github.com/damus-io/android/issues/28", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/33/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/29/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3447,23 +7152,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/33/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/29/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/32", + "url": "https://api.github.com/repos/damus-io/android/issues/28", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/32/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/32/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/32/events", - "html_url": "https://github.com/damus-io/android/issues/32", - "id": 2019512305, - "node_id": "I_kwDOKzWMZs54X0_x", - "number": 32, - "title": "Hashtag view", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/28/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/28/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/28/events", + "html_url": "https://github.com/damus-io/android/issues/28", + "id": 2019510299, + "node_id": "I_kwDOKzWMZs54X0gb", + "number": 28, + "title": "Manual clear cache capability ", "user": { "login": "alltheseas", "id": 64376233, @@ -3499,16 +7204,52 @@ "locked": false, "assignee": null, "assignees": [], - "milestone": null, + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/2", + "html_url": "https://github.com/damus-io/android/milestone/2", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", + "id": 10252435, + "node_id": "MI_kwDOKzWMZs4AnHCT", + "number": 2, + "title": "0.2 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 5, + "closed_issues": 0, + "state": "open", + "created_at": "2023-11-30T19:44:58Z", + "updated_at": "2023-11-30T21:11:12Z", + "due_on": null, + "closed_at": null + }, "comments": 0, - "created_at": "2023-11-30T21:08:38Z", - "updated_at": "2023-11-30T21:08:38Z", + "created_at": "2023-11-30T21:07:05Z", + "updated_at": "2023-11-30T21:07:05Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/32/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/28/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3519,23 +7260,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/32/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/28/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/31", + "url": "https://api.github.com/repos/damus-io/android/issues/27", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/31/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/31/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/31/events", - "html_url": "https://github.com/damus-io/android/issues/31", - "id": 2019511864, - "node_id": "I_kwDOKzWMZs54X044", - "number": 31, - "title": "Search", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/27/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/27/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/27/events", + "html_url": "https://github.com/damus-io/android/issues/27", + "id": 2019509572, + "node_id": "I_kwDOKzWMZs54X0VE", + "number": 27, + "title": "Preview notes on Relay without joining Relay", "user": { "login": "alltheseas", "id": 64376233, @@ -3565,22 +7306,67 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6272198361, + "node_id": "LA_kwDOKzWMZs8AAAABddom2Q", + "url": "https://api.github.com/repos/damus-io/android/labels/relays", + "name": "relays", + "color": "2ACD20", + "default": false, + "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [], - "milestone": null, + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/6", + "html_url": "https://github.com/damus-io/android/milestone/6", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/6/labels", + "id": 10252662, + "node_id": "MI_kwDOKzWMZs4AnHF2", + "number": 6, + "title": "0.6 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 2, + "closed_issues": 0, + "state": "open", + "created_at": "2023-11-30T21:04:47Z", + "updated_at": "2023-11-30T21:06:33Z", + "due_on": null, + "closed_at": null + }, "comments": 0, - "created_at": "2023-11-30T21:08:17Z", - "updated_at": "2023-11-30T21:08:17Z", + "created_at": "2023-11-30T21:06:33Z", + "updated_at": "2023-11-30T21:06:33Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/31/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/27/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3591,23 +7377,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/31/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/27/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/30", + "url": "https://api.github.com/repos/damus-io/android/issues/26", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/30/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/30/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/30/events", - "html_url": "https://github.com/damus-io/android/issues/30", - "id": 2019511521, - "node_id": "I_kwDOKzWMZs54X0zh", - "number": 30, - "title": "Zap profile", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/26/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/26/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/26/events", + "html_url": "https://github.com/damus-io/android/issues/26", + "id": 2019077267, + "node_id": "I_kwDOKzWMZs54WKyT", + "number": 26, + "title": "Mention / tag npub", "user": { "login": "alltheseas", "id": 64376233, @@ -3643,16 +7429,52 @@ "locked": false, "assignee": null, "assignees": [], - "milestone": null, + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 15, + "closed_issues": 1, + "state": "open", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", + "due_on": null, + "closed_at": null + }, "comments": 0, - "created_at": "2023-11-30T21:08:01Z", - "updated_at": "2023-11-30T21:08:01Z", + "created_at": "2023-11-30T16:49:56Z", + "updated_at": "2023-11-30T21:01:37Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/30/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/26/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3663,23 +7485,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/30/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/26/timeline", "performed_via_github_app": null, "state_reason": null - } - }, - { - "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/29", - "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/29/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/29/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/29/events", - "html_url": "https://github.com/damus-io/android/issues/29", - "id": 2019510795, - "node_id": "I_kwDOKzWMZs54X0oL", - "number": 29, - "title": "Auto clear cache", + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/android/issues/25", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/25/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/25/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/25/events", + "html_url": "https://github.com/damus-io/android/issues/25", + "id": 2019076542, + "node_id": "I_kwDOKzWMZs54WKm-", + "number": 25, + "title": "share note", "user": { "login": "alltheseas", "id": 64376233, @@ -3715,16 +7537,52 @@ "locked": false, "assignee": null, "assignees": [], - "milestone": null, + "milestone": { + "url": "https://api.github.com/repos/damus-io/android/milestones/2", + "html_url": "https://github.com/damus-io/android/milestone/2", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", + "id": 10252435, + "node_id": "MI_kwDOKzWMZs4AnHCT", + "number": 2, + "title": "0.2 Android", + "description": null, + "creator": { + "login": "alltheseas", + "id": 64376233, + "node_id": "MDQ6VXNlcjY0Mzc2MjMz", + "avatar_url": "https://avatars.githubusercontent.com/u/64376233?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alltheseas", + "html_url": "https://github.com/alltheseas", + "followers_url": "https://api.github.com/users/alltheseas/followers", + "following_url": "https://api.github.com/users/alltheseas/following{/other_user}", + "gists_url": "https://api.github.com/users/alltheseas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alltheseas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alltheseas/subscriptions", + "organizations_url": "https://api.github.com/users/alltheseas/orgs", + "repos_url": "https://api.github.com/users/alltheseas/repos", + "events_url": "https://api.github.com/users/alltheseas/events{/privacy}", + "received_events_url": "https://api.github.com/users/alltheseas/received_events", + "type": "User", + "site_admin": false + }, + "open_issues": 5, + "closed_issues": 0, + "state": "open", + "created_at": "2023-11-30T19:44:58Z", + "updated_at": "2023-11-30T21:11:12Z", + "due_on": null, + "closed_at": null + }, "comments": 0, - "created_at": "2023-11-30T21:07:26Z", - "updated_at": "2023-11-30T21:07:38Z", + "created_at": "2023-11-30T16:49:35Z", + "updated_at": "2023-11-30T21:03:02Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "## builds on \r\n\r\nhttps://github.com/damus-io/android/issues/28", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/29/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/25/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3735,23 +7593,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/29/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/25/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/28", + "url": "https://api.github.com/repos/damus-io/android/issues/24", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/28/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/28/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/28/events", - "html_url": "https://github.com/damus-io/android/issues/28", - "id": 2019510299, - "node_id": "I_kwDOKzWMZs54X0gb", - "number": 28, - "title": "Manual clear cache capability ", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/24/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/24/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/24/events", + "html_url": "https://github.com/damus-io/android/issues/24", + "id": 2018982659, + "node_id": "I_kwDOKzWMZs54VzsD", + "number": 24, + "title": "Send Report", "user": { "login": "alltheseas", "id": 64376233, @@ -3781,6 +7639,15 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6271413453, + "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", + "url": "https://api.github.com/repos/damus-io/android/labels/NIP", + "name": "NIP", + "color": "f9d0c4", + "default": false, + "description": "" } ], "state": "open", @@ -3788,13 +7655,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/2", - "html_url": "https://github.com/damus-io/android/milestone/2", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", - "id": 10252435, - "node_id": "MI_kwDOKzWMZs4AnHCT", - "number": 2, - "title": "0.2 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/5", + "html_url": "https://github.com/damus-io/android/milestone/5", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/5/labels", + "id": 10252657, + "node_id": "MI_kwDOKzWMZs4AnHFx", + "number": 5, + "title": "0.5 Android", "description": null, "creator": { "login": "alltheseas", @@ -3816,23 +7683,23 @@ "type": "User", "site_admin": false }, - "open_issues": 5, + "open_issues": 3, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T19:44:58Z", - "updated_at": "2023-11-30T21:11:12Z", + "created_at": "2023-11-30T21:03:20Z", + "updated_at": "2023-11-30T21:04:28Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T21:07:05Z", - "updated_at": "2023-11-30T21:07:05Z", + "created_at": "2023-11-30T16:02:59Z", + "updated_at": "2023-11-30T21:03:37Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://github.com/nostr-protocol/nips/blob/master/56.md", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/28/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/24/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3843,23 +7710,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/28/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/24/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/27", + "url": "https://api.github.com/repos/damus-io/android/issues/23", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/27/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/27/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/27/events", - "html_url": "https://github.com/damus-io/android/issues/27", - "id": 2019509572, - "node_id": "I_kwDOKzWMZs54X0VE", - "number": 27, - "title": "Preview notes on Relay without joining Relay", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/23/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/23/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/23/events", + "html_url": "https://github.com/damus-io/android/issues/23", + "id": 2018979860, + "node_id": "I_kwDOKzWMZs54VzAU", + "number": 23, + "title": "Follow and unfollow user", "user": { "login": "alltheseas", "id": 64376233, @@ -3889,15 +7756,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6272198361, - "node_id": "LA_kwDOKzWMZs8AAAABddom2Q", - "url": "https://api.github.com/repos/damus-io/android/labels/relays%20%F0%9F%93%A1", - "name": "relays 📡", - "color": "2ACD20", - "default": false, - "description": "" } ], "state": "open", @@ -3905,13 +7763,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/6", - "html_url": "https://github.com/damus-io/android/milestone/6", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/6/labels", - "id": 10252662, - "node_id": "MI_kwDOKzWMZs4AnHF2", - "number": 6, - "title": "0.6 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", "description": null, "creator": { "login": "alltheseas", @@ -3933,23 +7791,23 @@ "type": "User", "site_admin": false }, - "open_issues": 2, - "closed_issues": 0, + "open_issues": 15, + "closed_issues": 1, "state": "open", - "created_at": "2023-11-30T21:04:47Z", - "updated_at": "2023-11-30T21:06:33Z", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T21:06:33Z", - "updated_at": "2023-11-30T21:06:33Z", + "created_at": "2023-11-30T16:01:31Z", + "updated_at": "2023-11-30T20:18:49Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "## builds on\r\n\r\n#22 ", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/27/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/23/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -3960,23 +7818,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/27/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/23/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/26", + "url": "https://api.github.com/repos/damus-io/android/issues/22", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/26/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/26/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/26/events", - "html_url": "https://github.com/damus-io/android/issues/26", - "id": 2019077267, - "node_id": "I_kwDOKzWMZs54WKyT", - "number": 26, - "title": "Mention / tag npub", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/22/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/22/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/22/events", + "html_url": "https://github.com/damus-io/android/issues/22", + "id": 2018979150, + "node_id": "I_kwDOKzWMZs54Vy1O", + "number": 22, + "title": "Contact list ", "user": { "login": "alltheseas", "id": 64376233, @@ -4006,6 +7864,15 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6271413453, + "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", + "url": "https://api.github.com/repos/damus-io/android/labels/NIP", + "name": "NIP", + "color": "f9d0c4", + "default": false, + "description": "" } ], "state": "open", @@ -4042,22 +7909,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T16:49:56Z", - "updated_at": "2023-11-30T21:01:37Z", + "created_at": "2023-11-30T16:01:09Z", + "updated_at": "2023-11-30T20:18:31Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://github.com/nostr-protocol/nips/blob/master/02.md", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/26/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/22/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4068,23 +7935,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/26/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/22/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/25", + "url": "https://api.github.com/repos/damus-io/android/issues/21", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/25/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/25/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/25/events", - "html_url": "https://github.com/damus-io/android/issues/25", - "id": 2019076542, - "node_id": "I_kwDOKzWMZs54WKm-", - "number": 25, - "title": "share note", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/21/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/21/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/21/events", + "html_url": "https://github.com/damus-io/android/issues/21", + "id": 2018976829, + "node_id": "I_kwDOKzWMZs54VyQ9", + "number": 21, + "title": "NWC", "user": { "login": "alltheseas", "id": 64376233, @@ -4114,6 +7981,24 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6271232904, + "node_id": "LA_kwDOKzWMZs8AAAABdctriA", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", + "color": "fef2c0", + "default": false, + "description": "" + }, + { + "id": 6271233688, + "node_id": "LA_kwDOKzWMZs8AAAABdctumA", + "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", + "name": "commercialization", + "color": "DDD29F", + "default": false, + "description": "" } ], "state": "open", @@ -4121,13 +8006,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/2", - "html_url": "https://github.com/damus-io/android/milestone/2", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", - "id": 10252435, - "node_id": "MI_kwDOKzWMZs4AnHCT", - "number": 2, - "title": "0.2 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/3", + "html_url": "https://github.com/damus-io/android/milestone/3", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", + "id": 10252520, + "node_id": "MI_kwDOKzWMZs4AnHDo", + "number": 3, + "title": "0.3 Android ⚡️", "description": null, "creator": { "login": "alltheseas", @@ -4149,23 +8034,23 @@ "type": "User", "site_admin": false }, - "open_issues": 5, + "open_issues": 3, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T19:44:58Z", - "updated_at": "2023-11-30T21:11:12Z", + "created_at": "2023-11-30T20:20:05Z", + "updated_at": "2023-11-30T22:05:40Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T16:49:35Z", - "updated_at": "2023-11-30T21:03:02Z", + "created_at": "2023-11-30T15:59:56Z", + "updated_at": "2023-11-30T21:01:51Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://github.com/nostr-protocol/nips/blob/master/47.md\r\n\r\n## BUILDS ON\r\n\r\n#13 \r\n\r\n", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/25/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/21/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4176,23 +8061,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/25/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/21/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/24", + "url": "https://api.github.com/repos/damus-io/android/issues/20", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/24/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/24/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/24/events", - "html_url": "https://github.com/damus-io/android/issues/24", - "id": 2018982659, - "node_id": "I_kwDOKzWMZs54VzsD", - "number": 24, - "title": "Send Report", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/20/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/20/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/20/events", + "html_url": "https://github.com/damus-io/android/issues/20", + "id": 2018969784, + "node_id": "I_kwDOKzWMZs54Vwi4", + "number": 20, + "title": "DM nip-04", "user": { "login": "alltheseas", "id": 64376233, @@ -4238,13 +8123,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/5", - "html_url": "https://github.com/damus-io/android/milestone/5", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/5/labels", - "id": 10252657, - "node_id": "MI_kwDOKzWMZs4AnHFx", - "number": 5, - "title": "0.5 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/2", + "html_url": "https://github.com/damus-io/android/milestone/2", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", + "id": 10252435, + "node_id": "MI_kwDOKzWMZs4AnHCT", + "number": 2, + "title": "0.2 Android", "description": null, "creator": { "login": "alltheseas", @@ -4266,23 +8151,23 @@ "type": "User", "site_admin": false }, - "open_issues": 3, + "open_issues": 5, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T21:03:20Z", - "updated_at": "2023-11-30T21:04:28Z", + "created_at": "2023-11-30T19:44:58Z", + "updated_at": "2023-11-30T21:11:12Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T16:02:59Z", - "updated_at": "2023-11-30T21:03:37Z", + "created_at": "2023-11-30T15:56:27Z", + "updated_at": "2024-04-03T05:46:54Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/nostr-protocol/nips/blob/master/56.md", + "body": "https://github.com/nostr-protocol/nips/blob/master/04.md", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/24/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/20/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4293,23 +8178,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/24/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/20/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/23", + "url": "https://api.github.com/repos/damus-io/android/issues/19", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/23/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/23/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/23/events", - "html_url": "https://github.com/damus-io/android/issues/23", - "id": 2018979860, - "node_id": "I_kwDOKzWMZs54VzAU", - "number": 23, - "title": "Follow and unfollow user", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/19/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/19/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/19/events", + "html_url": "https://github.com/damus-io/android/issues/19", + "id": 2018885336, + "node_id": "I_kwDOKzWMZs54Vb7Y", + "number": 19, + "title": "opt-in zap splits 1%-100% match donation to damus devs", "user": { "login": "alltheseas", "id": 64376233, @@ -4332,13 +8217,22 @@ }, "labels": [ { - "id": 6264778307, - "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", - "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", - "name": "enhancement", - "color": "a2eeef", - "default": true, - "description": "New feature or request" + "id": 6271232904, + "node_id": "LA_kwDOKzWMZs8AAAABdctriA", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", + "color": "fef2c0", + "default": false, + "description": "" + }, + { + "id": 6271233688, + "node_id": "LA_kwDOKzWMZs8AAAABdctumA", + "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", + "name": "commercialization", + "color": "DDD29F", + "default": false, + "description": "" } ], "state": "open", @@ -4346,13 +8240,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/1", - "html_url": "https://github.com/damus-io/android/milestone/1", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", - "id": 10252427, - "node_id": "MI_kwDOKzWMZs4AnHCL", - "number": 1, - "title": "0.1 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/4", + "html_url": "https://github.com/damus-io/android/milestone/4", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/4/labels", + "id": 10252656, + "node_id": "MI_kwDOKzWMZs4AnHFw", + "number": 4, + "title": "0.4 Android", "description": null, "creator": { "login": "alltheseas", @@ -4374,23 +8268,23 @@ "type": "User", "site_admin": false }, - "open_issues": 15, + "open_issues": 2, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "created_at": "2023-11-30T21:02:21Z", + "updated_at": "2023-11-30T21:04:28Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T16:01:31Z", - "updated_at": "2023-11-30T20:18:49Z", + "created_at": "2023-11-30T15:13:41Z", + "updated_at": "2023-11-30T21:02:22Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "## builds on\r\n\r\n#22 ", + "body": "\r\n\r\n## builds on note zaps\r\n\r\nhttps://github.com/damus-io/android/issues/13", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/23/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/19/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4401,23 +8295,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/23/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/19/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/22", + "url": "https://api.github.com/repos/damus-io/android/issues/18", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/22/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/22/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/22/events", - "html_url": "https://github.com/damus-io/android/issues/22", - "id": 2018979150, - "node_id": "I_kwDOKzWMZs54Vy1O", - "number": 22, - "title": "Contact list ", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/18/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/18/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/18/events", + "html_url": "https://github.com/damus-io/android/issues/18", + "id": 2017376140, + "node_id": "I_kwDOKzWMZs54PreM", + "number": 18, + "title": "Provide Damus Android APK for download by non-devs", "user": { "login": "alltheseas", "id": 64376233, @@ -4447,15 +8341,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6271413453, - "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", - "url": "https://api.github.com/repos/damus-io/android/labels/NIP", - "name": "NIP", - "color": "f9d0c4", - "default": false, - "description": "" } ], "state": "open", @@ -4492,22 +8377,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T16:01:09Z", - "updated_at": "2023-11-30T20:18:31Z", + "created_at": "2023-11-29T20:36:10Z", + "updated_at": "2023-11-30T21:03:55Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/nostr-protocol/nips/blob/master/02.md", + "body": "For the non-devs, provide a method to install Damus Android without requiring compilation", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/22/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/18/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4518,23 +8403,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/22/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/18/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/21", + "url": "https://api.github.com/repos/damus-io/android/issues/17", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/21/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/21/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/21/events", - "html_url": "https://github.com/damus-io/android/issues/21", - "id": 2018976829, - "node_id": "I_kwDOKzWMZs54VyQ9", - "number": 21, - "title": "NWC", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/17/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/17/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/17/events", + "html_url": "https://github.com/damus-io/android/issues/17", + "id": 2017364010, + "node_id": "I_kwDOKzWMZs54Pogq", + "number": 17, + "title": "In app subscription ", "user": { "login": "alltheseas", "id": 64376233, @@ -4566,15 +8451,6 @@ "description": "New feature or request" }, { - "id": 6271232904, - "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", - "color": "fef2c0", - "default": false, - "description": "" - }, - { "id": 6271233688, "node_id": "LA_kwDOKzWMZs8AAAABdctumA", "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", @@ -4589,13 +8465,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/3", - "html_url": "https://github.com/damus-io/android/milestone/3", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", - "id": 10252520, - "node_id": "MI_kwDOKzWMZs4AnHDo", - "number": 3, - "title": "0.3 Android ⚡️", + "url": "https://api.github.com/repos/damus-io/android/milestones/5", + "html_url": "https://github.com/damus-io/android/milestone/5", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/5/labels", + "id": 10252657, + "node_id": "MI_kwDOKzWMZs4AnHFx", + "number": 5, + "title": "0.5 Android", "description": null, "creator": { "login": "alltheseas", @@ -4620,20 +8496,20 @@ "open_issues": 3, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T20:20:05Z", - "updated_at": "2023-11-30T22:05:40Z", + "created_at": "2023-11-30T21:03:20Z", + "updated_at": "2023-11-30T21:04:28Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T15:59:56Z", - "updated_at": "2023-11-30T21:01:51Z", + "created_at": "2023-11-29T20:27:25Z", + "updated_at": "2023-11-30T23:55:25Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/nostr-protocol/nips/blob/master/47.md\r\n\r\n## BUILDS ON\r\n\r\n#13 \r\n\r\n", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/21/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/17/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4644,23 +8520,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/21/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/17/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/20", + "url": "https://api.github.com/repos/damus-io/android/issues/16", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/20/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/20/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/20/events", - "html_url": "https://github.com/damus-io/android/issues/20", - "id": 2018969784, - "node_id": "I_kwDOKzWMZs54Vwi4", - "number": 20, - "title": "DM", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/16/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/16/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/16/events", + "html_url": "https://github.com/damus-io/android/issues/16", + "id": 2017363525, + "node_id": "I_kwDOKzWMZs54PoZF", + "number": 16, + "title": "Mute (note with) keyword", "user": { "login": "alltheseas", "id": 64376233, @@ -4685,20 +8561,11 @@ { "id": 6264778307, "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", - "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", - "name": "enhancement", - "color": "a2eeef", - "default": true, - "description": "New feature or request" - }, - { - "id": 6271413453, - "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", - "url": "https://api.github.com/repos/damus-io/android/labels/NIP", - "name": "NIP", - "color": "f9d0c4", - "default": false, - "description": "" + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" } ], "state": "open", @@ -4706,13 +8573,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/2", - "html_url": "https://github.com/damus-io/android/milestone/2", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", - "id": 10252435, - "node_id": "MI_kwDOKzWMZs4AnHCT", - "number": 2, - "title": "0.2 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/5", + "html_url": "https://github.com/damus-io/android/milestone/5", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/5/labels", + "id": 10252657, + "node_id": "MI_kwDOKzWMZs4AnHFx", + "number": 5, + "title": "0.5 Android", "description": null, "creator": { "login": "alltheseas", @@ -4734,23 +8601,23 @@ "type": "User", "site_admin": false }, - "open_issues": 5, + "open_issues": 3, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T19:44:58Z", - "updated_at": "2023-11-30T21:11:12Z", + "created_at": "2023-11-30T21:03:20Z", + "updated_at": "2023-11-30T21:04:28Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-30T15:56:27Z", - "updated_at": "2023-11-30T21:04:10Z", + "created_at": "2023-11-29T20:27:02Z", + "updated_at": "2023-11-30T21:04:28Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/nostr-protocol/nips/blob/master/04.md", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/20/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/16/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4761,23 +8628,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/20/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/16/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/19", + "url": "https://api.github.com/repos/damus-io/android/issues/15", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/19/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/19/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/19/events", - "html_url": "https://github.com/damus-io/android/issues/19", - "id": 2018885336, - "node_id": "I_kwDOKzWMZs54Vb7Y", - "number": 19, - "title": "opt-in zap splits 1%-100% match donation to damus devs", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/15/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/15/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/15/events", + "html_url": "https://github.com/damus-io/android/issues/15", + "id": 2017363110, + "node_id": "I_kwDOKzWMZs54PoSm", + "number": 15, + "title": "Mute profile", "user": { "login": "alltheseas", "id": 64376233, @@ -4800,22 +8667,13 @@ }, "labels": [ { - "id": 6271232904, - "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", - "color": "fef2c0", - "default": false, - "description": "" - }, - { - "id": 6271233688, - "node_id": "LA_kwDOKzWMZs8AAAABdctumA", - "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", - "name": "commercialization", - "color": "DDD29F", - "default": false, - "description": "" + "id": 6264778307, + "node_id": "LA_kwDOKzWMZs8AAAABdWjuQw", + "url": "https://api.github.com/repos/damus-io/android/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "New feature or request" } ], "state": "open", @@ -4859,15 +8717,15 @@ "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-30T15:13:41Z", - "updated_at": "2023-11-30T21:02:22Z", + "comments": 1, + "created_at": "2023-11-29T20:26:40Z", + "updated_at": "2024-04-04T19:27:26Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "\r\n\r\n## builds on note zaps\r\n\r\nhttps://github.com/damus-io/android/issues/13", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/19/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/15/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4878,23 +8736,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/19/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/15/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/18", + "url": "https://api.github.com/repos/damus-io/android/issues/15", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/18/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/18/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/18/events", - "html_url": "https://github.com/damus-io/android/issues/18", - "id": 2017376140, - "node_id": "I_kwDOKzWMZs54PreM", - "number": 18, - "title": "Provide Damus Android APK for download by non-devs", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/15/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/15/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/15/events", + "html_url": "https://github.com/damus-io/android/issues/15", + "id": 2017363110, + "node_id": "I_kwDOKzWMZs54PoSm", + "number": 15, + "title": "Mute profile", "user": { "login": "alltheseas", "id": 64376233, @@ -4931,13 +8789,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/1", - "html_url": "https://github.com/damus-io/android/milestone/1", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", - "id": 10252427, - "node_id": "MI_kwDOKzWMZs4AnHCL", - "number": 1, - "title": "0.1 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/4", + "html_url": "https://github.com/damus-io/android/milestone/4", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/4/labels", + "id": 10252656, + "node_id": "MI_kwDOKzWMZs4AnHFw", + "number": 4, + "title": "0.4 Android", "description": null, "creator": { "login": "alltheseas", @@ -4959,23 +8817,23 @@ "type": "User", "site_admin": false }, - "open_issues": 15, + "open_issues": 2, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "created_at": "2023-11-30T21:02:21Z", + "updated_at": "2023-11-30T21:04:28Z", "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-29T20:36:10Z", - "updated_at": "2023-11-30T21:03:55Z", + "comments": 1, + "created_at": "2023-11-29T20:26:40Z", + "updated_at": "2024-04-04T19:27:26Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "For the non-devs, provide a method to install Damus Android without requiring compilation", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/18/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/15/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -4986,23 +8844,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/18/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/15/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "alltheseas", + "created_at": "2024-04-04T19:27:25Z", + "updated_at": "2024-04-04T19:27:25Z", + "body": "kind 10000 is latest mute type" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/17", + "url": "https://api.github.com/repos/damus-io/android/issues/14", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/17/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/17/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/17/events", - "html_url": "https://github.com/damus-io/android/issues/17", - "id": 2017364010, - "node_id": "I_kwDOKzWMZs54Pogq", - "number": 17, - "title": "In app subscription ", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/14/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/14/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/14/events", + "html_url": "https://github.com/damus-io/android/issues/14", + "id": 2017362572, + "node_id": "I_kwDOKzWMZs54PoKM", + "number": 14, + "title": "Economical data mode", "user": { "login": "alltheseas", "id": 64376233, @@ -5032,15 +8896,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6271233688, - "node_id": "LA_kwDOKzWMZs8AAAABdctumA", - "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", - "name": "commercialization", - "color": "DDD29F", - "default": false, - "description": "" } ], "state": "open", @@ -5048,13 +8903,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/5", - "html_url": "https://github.com/damus-io/android/milestone/5", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/5/labels", - "id": 10252657, - "node_id": "MI_kwDOKzWMZs4AnHFx", - "number": 5, - "title": "0.5 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/3", + "html_url": "https://github.com/damus-io/android/milestone/3", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", + "id": 10252520, + "node_id": "MI_kwDOKzWMZs4AnHDo", + "number": 3, + "title": "0.3 Android ⚡️", "description": null, "creator": { "login": "alltheseas", @@ -5079,20 +8934,20 @@ "open_issues": 3, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T21:03:20Z", - "updated_at": "2023-11-30T21:04:28Z", + "created_at": "2023-11-30T20:20:05Z", + "updated_at": "2023-11-30T22:05:40Z", "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-29T20:27:25Z", - "updated_at": "2023-11-30T23:55:25Z", + "comments": 1, + "created_at": "2023-11-29T20:26:17Z", + "updated_at": "2024-03-21T01:16:23Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "_context_\r\nAndroid users not on unlimited Wi-Fi or network connection, have requested a \"lite\", or economical data mode. \r\n\r\nThings that could reduce bandwidth:\r\n\r\n-no images pre-loaded\r\n-no PFP pre-loaded\r\n-somehow reduce note, profile loading\r\n-reduce relay queries/increase relay query efficiency", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/17/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/14/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5103,23 +8958,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/17/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/14/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/16", + "url": "https://api.github.com/repos/damus-io/android/issues/14", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/16/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/16/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/16/events", - "html_url": "https://github.com/damus-io/android/issues/16", - "id": 2017363525, - "node_id": "I_kwDOKzWMZs54PoZF", - "number": 16, - "title": "Mute (note with) keyword", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/14/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/14/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/14/events", + "html_url": "https://github.com/damus-io/android/issues/14", + "id": 2017362572, + "node_id": "I_kwDOKzWMZs54PoKM", + "number": 14, + "title": "Economical data mode", "user": { "login": "alltheseas", "id": 64376233, @@ -5156,13 +9011,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/5", - "html_url": "https://github.com/damus-io/android/milestone/5", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/5/labels", - "id": 10252657, - "node_id": "MI_kwDOKzWMZs4AnHFx", - "number": 5, - "title": "0.5 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/3", + "html_url": "https://github.com/damus-io/android/milestone/3", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", + "id": 10252520, + "node_id": "MI_kwDOKzWMZs4AnHDo", + "number": 3, + "title": "0.3 Android ⚡️", "description": null, "creator": { "login": "alltheseas", @@ -5187,20 +9042,20 @@ "open_issues": 3, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T21:03:20Z", - "updated_at": "2023-11-30T21:04:28Z", + "created_at": "2023-11-30T20:20:05Z", + "updated_at": "2023-11-30T22:05:40Z", "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-29T20:27:02Z", - "updated_at": "2023-11-30T21:04:28Z", + "comments": 1, + "created_at": "2023-11-29T20:26:17Z", + "updated_at": "2024-03-21T01:16:23Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "_context_\r\nAndroid users not on unlimited Wi-Fi or network connection, have requested a \"lite\", or economical data mode. \r\n\r\nThings that could reduce bandwidth:\r\n\r\n-no images pre-loaded\r\n-no PFP pre-loaded\r\n-somehow reduce note, profile loading\r\n-reduce relay queries/increase relay query efficiency", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/16/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/14/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5211,23 +9066,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/16/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/14/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "alltheseas", + "created_at": "2024-03-21T01:16:22Z", + "updated_at": "2024-03-21T01:16:22Z", + "body": "Realized that mutiny blastr relay will be the most data economical outbound relay with the most reach\n\nwss://nostr.mutinywallet.com" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/15", - "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/15/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/15/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/15/events", - "html_url": "https://github.com/damus-io/android/issues/15", - "id": 2017363110, - "node_id": "I_kwDOKzWMZs54PoSm", - "number": 15, - "title": "Mute profile", + "url": "https://api.github.com/repos/damus-io/android/issues/13", + "repository_url": "https://api.github.com/repos/damus-io/android", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/13/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/13/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/13/events", + "html_url": "https://github.com/damus-io/android/issues/13", + "id": 2017361079, + "node_id": "I_kwDOKzWMZs54Pny3", + "number": 13, + "title": "note zaps (take that, tim apple)", "user": { "login": "alltheseas", "id": 64376233, @@ -5257,6 +9118,33 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6271232904, + "node_id": "LA_kwDOKzWMZs8AAAABdctriA", + "url": "https://api.github.com/repos/damus-io/android/labels/zaps", + "name": "zaps", + "color": "fef2c0", + "default": false, + "description": "" + }, + { + "id": 6271233688, + "node_id": "LA_kwDOKzWMZs8AAAABdctumA", + "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", + "name": "commercialization", + "color": "DDD29F", + "default": false, + "description": "" + }, + { + "id": 6271413453, + "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", + "url": "https://api.github.com/repos/damus-io/android/labels/NIP", + "name": "NIP", + "color": "f9d0c4", + "default": false, + "description": "" } ], "state": "open", @@ -5264,13 +9152,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/4", - "html_url": "https://github.com/damus-io/android/milestone/4", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/4/labels", - "id": 10252656, - "node_id": "MI_kwDOKzWMZs4AnHFw", - "number": 4, - "title": "0.4 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/3", + "html_url": "https://github.com/damus-io/android/milestone/3", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", + "id": 10252520, + "node_id": "MI_kwDOKzWMZs4AnHDo", + "number": 3, + "title": "0.3 Android ⚡️", "description": null, "creator": { "login": "alltheseas", @@ -5292,23 +9180,23 @@ "type": "User", "site_admin": false }, - "open_issues": 2, + "open_issues": 3, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T21:02:21Z", - "updated_at": "2023-11-30T21:04:28Z", + "created_at": "2023-11-30T20:20:05Z", + "updated_at": "2023-11-30T22:05:40Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-29T20:26:40Z", - "updated_at": "2023-11-30T21:02:51Z", + "created_at": "2023-11-29T20:25:21Z", + "updated_at": "2023-11-30T20:20:05Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://github.com/nostr-protocol/nips/blob/master/57.md", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/15/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/13/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5319,23 +9207,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/15/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/13/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/14", + "url": "https://api.github.com/repos/damus-io/android/issues/12", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/14/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/14/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/14/events", - "html_url": "https://github.com/damus-io/android/issues/14", - "id": 2017362572, - "node_id": "I_kwDOKzWMZs54PoKM", - "number": 14, - "title": "Economical data mode", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/12/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/12/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/12/events", + "html_url": "https://github.com/damus-io/android/issues/12", + "id": 2017360531, + "node_id": "I_kwDOKzWMZs54PnqT", + "number": 12, + "title": "Reply to kind1 notes", "user": { "login": "alltheseas", "id": 64376233, @@ -5372,13 +9260,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/3", - "html_url": "https://github.com/damus-io/android/milestone/3", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", - "id": 10252520, - "node_id": "MI_kwDOKzWMZs4AnHDo", - "number": 3, - "title": "0.3 Android ⚡️", + "url": "https://api.github.com/repos/damus-io/android/milestones/2", + "html_url": "https://github.com/damus-io/android/milestone/2", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", + "id": 10252435, + "node_id": "MI_kwDOKzWMZs4AnHCT", + "number": 2, + "title": "0.2 Android", "description": null, "creator": { "login": "alltheseas", @@ -5400,23 +9288,23 @@ "type": "User", "site_admin": false }, - "open_issues": 3, + "open_issues": 5, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T20:20:05Z", - "updated_at": "2023-11-30T22:05:40Z", + "created_at": "2023-11-30T19:44:58Z", + "updated_at": "2023-11-30T21:11:12Z", "due_on": null, "closed_at": null }, - "comments": 1, - "created_at": "2023-11-29T20:26:17Z", - "updated_at": "2024-03-21T01:16:23Z", + "comments": 0, + "created_at": "2023-11-29T20:24:56Z", + "updated_at": "2023-11-30T19:44:58Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "_context_\r\nAndroid users not on unlimited Wi-Fi or network connection, have requested a \"lite\", or economical data mode. \r\n\r\nThings that could reduce bandwidth:\r\n\r\n-no images pre-loaded\r\n-no PFP pre-loaded\r\n-somehow reduce note, profile loading\r\n-reduce relay queries/increase relay query efficiency", + "body": "## related\r\n\r\npublish kind1 note https://github.com/damus-io/android/issues/4", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/14/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/12/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5427,23 +9315,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/14/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/12/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/14", + "url": "https://api.github.com/repos/damus-io/android/issues/11", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/14/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/14/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/14/events", - "html_url": "https://github.com/damus-io/android/issues/14", - "id": 2017362572, - "node_id": "I_kwDOKzWMZs54PoKM", - "number": 14, - "title": "Economical data mode", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/11/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/11/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/11/events", + "html_url": "https://github.com/damus-io/android/issues/11", + "id": 2017360056, + "node_id": "I_kwDOKzWMZs54Pni4", + "number": 11, + "title": "Profile view", "user": { "login": "alltheseas", "id": 64376233, @@ -5480,13 +9368,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/3", - "html_url": "https://github.com/damus-io/android/milestone/3", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", - "id": 10252520, - "node_id": "MI_kwDOKzWMZs4AnHDo", - "number": 3, - "title": "0.3 Android ⚡️", + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", "description": null, "creator": { "login": "alltheseas", @@ -5508,23 +9396,23 @@ "type": "User", "site_admin": false }, - "open_issues": 3, - "closed_issues": 0, + "open_issues": 15, + "closed_issues": 1, "state": "open", - "created_at": "2023-11-30T20:20:05Z", - "updated_at": "2023-11-30T22:05:40Z", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, - "comments": 1, - "created_at": "2023-11-29T20:26:17Z", - "updated_at": "2024-03-21T01:16:23Z", + "comments": 0, + "created_at": "2023-11-29T20:24:32Z", + "updated_at": "2024-04-03T05:46:38Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "_context_\r\nAndroid users not on unlimited Wi-Fi or network connection, have requested a \"lite\", or economical data mode. \r\n\r\nThings that could reduce bandwidth:\r\n\r\n-no images pre-loaded\r\n-no PFP pre-loaded\r\n-somehow reduce note, profile loading\r\n-reduce relay queries/increase relay query efficiency", + "body": "See:\r\n\r\n-PFP\r\n-profile bio\r\n-LN address \r\n-npub\r\n-website\r\n-notes\r\n-notes & replies\r\n-follows lists\r\n-relay list", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/14/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/11/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5535,29 +9423,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/14/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/11/timeline", "performed_via_github_app": null, "state_reason": null - }, - "comment": { - "user": "alltheseas", - "created_at": "2024-03-21T01:16:22Z", - "updated_at": "2024-03-21T01:16:22Z", - "body": "Realized that mutiny blastr relay will be the most data economical outbound relay with the most reach\n\nwss://nostr.mutinywallet.com" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/13", + "url": "https://api.github.com/repos/damus-io/android/issues/10", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/13/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/13/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/13/events", - "html_url": "https://github.com/damus-io/android/issues/13", - "id": 2017361079, - "node_id": "I_kwDOKzWMZs54Pny3", - "number": 13, - "title": "note zaps (take that, tim apple)", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/10/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/10/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/10/events", + "html_url": "https://github.com/damus-io/android/issues/10", + "id": 2017359102, + "node_id": "I_kwDOKzWMZs54PnT-", + "number": 10, + "title": "See relay health ", "user": { "login": "alltheseas", "id": 64376233, @@ -5587,33 +9469,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6271232904, - "node_id": "LA_kwDOKzWMZs8AAAABdctriA", - "url": "https://api.github.com/repos/damus-io/android/labels/zaps%20%E2%9A%A1%EF%B8%8F", - "name": "zaps ⚡️", - "color": "fef2c0", - "default": false, - "description": "" - }, - { - "id": 6271233688, - "node_id": "LA_kwDOKzWMZs8AAAABdctumA", - "url": "https://api.github.com/repos/damus-io/android/labels/commercialization", - "name": "commercialization", - "color": "DDD29F", - "default": false, - "description": "" - }, - { - "id": 6271413453, - "node_id": "LA_kwDOKzWMZs8AAAABdc4szQ", - "url": "https://api.github.com/repos/damus-io/android/labels/NIP", - "name": "NIP", - "color": "f9d0c4", - "default": false, - "description": "" } ], "state": "open", @@ -5621,13 +9476,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/3", - "html_url": "https://github.com/damus-io/android/milestone/3", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/3/labels", - "id": 10252520, - "node_id": "MI_kwDOKzWMZs4AnHDo", - "number": 3, - "title": "0.3 Android ⚡️", + "url": "https://api.github.com/repos/damus-io/android/milestones/6", + "html_url": "https://github.com/damus-io/android/milestone/6", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/6/labels", + "id": 10252662, + "node_id": "MI_kwDOKzWMZs4AnHF2", + "number": 6, + "title": "0.6 Android", "description": null, "creator": { "login": "alltheseas", @@ -5649,23 +9504,23 @@ "type": "User", "site_admin": false }, - "open_issues": 3, + "open_issues": 2, "closed_issues": 0, "state": "open", - "created_at": "2023-11-30T20:20:05Z", - "updated_at": "2023-11-30T22:05:40Z", + "created_at": "2023-11-30T21:04:47Z", + "updated_at": "2023-11-30T21:06:33Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-29T20:25:21Z", - "updated_at": "2023-11-30T20:20:05Z", + "created_at": "2023-11-29T20:24:02Z", + "updated_at": "2023-11-30T21:04:48Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/nostr-protocol/nips/blob/master/57.md", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/13/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/10/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5676,23 +9531,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/13/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/10/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/12", + "url": "https://api.github.com/repos/damus-io/android/issues/9", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/12/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/12/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/12/events", - "html_url": "https://github.com/damus-io/android/issues/12", - "id": 2017360531, - "node_id": "I_kwDOKzWMZs54PnqT", - "number": 12, - "title": "Reply to kind1 notes", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/9/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/9/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/9/events", + "html_url": "https://github.com/damus-io/android/issues/9", + "id": 2017358387, + "node_id": "I_kwDOKzWMZs54PnIz", + "number": 9, + "title": "Modify relay list", "user": { "login": "alltheseas", "id": 64376233, @@ -5722,6 +9577,15 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6272198361, + "node_id": "LA_kwDOKzWMZs8AAAABddom2Q", + "url": "https://api.github.com/repos/damus-io/android/labels/relays", + "name": "relays", + "color": "2ACD20", + "default": false, + "description": "" } ], "state": "open", @@ -5729,13 +9593,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/2", - "html_url": "https://github.com/damus-io/android/milestone/2", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/2/labels", - "id": 10252435, - "node_id": "MI_kwDOKzWMZs4AnHCT", - "number": 2, - "title": "0.2 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", "description": null, "creator": { "login": "alltheseas", @@ -5757,23 +9621,23 @@ "type": "User", "site_admin": false }, - "open_issues": 5, - "closed_issues": 0, + "open_issues": 15, + "closed_issues": 1, "state": "open", - "created_at": "2023-11-30T19:44:58Z", - "updated_at": "2023-11-30T21:11:12Z", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-29T20:24:56Z", - "updated_at": "2023-11-30T19:44:58Z", + "created_at": "2023-11-29T20:23:36Z", + "updated_at": "2024-04-03T05:45:12Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "## related\r\n\r\npublish kind1 note https://github.com/damus-io/android/issues/4", + "body": "See, add, and remove relays", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/12/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/9/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5784,23 +9648,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/12/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/9/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/11", + "url": "https://api.github.com/repos/damus-io/android/issues/8", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/11/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/11/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/11/events", - "html_url": "https://github.com/damus-io/android/issues/11", - "id": 2017360056, - "node_id": "I_kwDOKzWMZs54Pni4", - "number": 11, - "title": "Profile view", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/8/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/8/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/8/events", + "html_url": "https://github.com/damus-io/android/issues/8", + "id": 2017357856, + "node_id": "I_kwDOKzWMZs54PnAg", + "number": 8, + "title": "In app notifications", "user": { "login": "alltheseas", "id": 64376233, @@ -5830,6 +9694,15 @@ "color": "a2eeef", "default": true, "description": "New feature or request" + }, + { + "id": 6272199615, + "node_id": "LA_kwDOKzWMZs8AAAABddorvw", + "url": "https://api.github.com/repos/damus-io/android/labels/notifications", + "name": "notifications", + "color": "852F56", + "default": false, + "description": "" } ], "state": "open", @@ -5866,22 +9739,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-29T20:24:32Z", - "updated_at": "2023-11-30T19:45:27Z", + "created_at": "2023-11-29T20:23:11Z", + "updated_at": "2023-11-30T19:43:28Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/11/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/8/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -5892,23 +9765,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/11/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/8/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/10", + "url": "https://api.github.com/repos/damus-io/android/issues/7", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/10/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/10/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/10/events", - "html_url": "https://github.com/damus-io/android/issues/10", - "id": 2017359102, - "node_id": "I_kwDOKzWMZs54PnT-", - "number": 10, - "title": "See relay health ", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/7/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/7/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/7/events", + "html_url": "https://github.com/damus-io/android/issues/7", + "id": 2017357085, + "node_id": "I_kwDOKzWMZs54Pm0d", + "number": 7, + "title": "Edit profile information", "user": { "login": "alltheseas", "id": 64376233, @@ -5945,13 +9818,13 @@ "assignee": null, "assignees": [], "milestone": { - "url": "https://api.github.com/repos/damus-io/android/milestones/6", - "html_url": "https://github.com/damus-io/android/milestone/6", - "labels_url": "https://api.github.com/repos/damus-io/android/milestones/6/labels", - "id": 10252662, - "node_id": "MI_kwDOKzWMZs4AnHF2", - "number": 6, - "title": "0.6 Android", + "url": "https://api.github.com/repos/damus-io/android/milestones/1", + "html_url": "https://github.com/damus-io/android/milestone/1", + "labels_url": "https://api.github.com/repos/damus-io/android/milestones/1/labels", + "id": 10252427, + "node_id": "MI_kwDOKzWMZs4AnHCL", + "number": 1, + "title": "0.1 Android", "description": null, "creator": { "login": "alltheseas", @@ -5973,23 +9846,23 @@ "type": "User", "site_admin": false }, - "open_issues": 2, - "closed_issues": 0, + "open_issues": 15, + "closed_issues": 1, "state": "open", - "created_at": "2023-11-30T21:04:47Z", - "updated_at": "2023-11-30T21:06:33Z", + "created_at": "2023-11-30T19:39:43Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-29T20:24:02Z", - "updated_at": "2023-11-30T21:04:48Z", + "created_at": "2023-11-29T20:22:33Z", + "updated_at": "2023-11-30T19:45:58Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "## related to \r\n\r\nprofile view https://github.com/damus-io/android/issues/11", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/10/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/7/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -6000,23 +9873,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/10/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/7/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/9", + "url": "https://api.github.com/repos/damus-io/android/issues/6", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/9/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/9/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/9/events", - "html_url": "https://github.com/damus-io/android/issues/9", - "id": 2017358387, - "node_id": "I_kwDOKzWMZs54PnIz", - "number": 9, - "title": "Modify relay list", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/6/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/6/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/6/events", + "html_url": "https://github.com/damus-io/android/issues/6", + "id": 2017356346, + "node_id": "I_kwDOKzWMZs54Pmo6", + "number": 6, + "title": "Log out", "user": { "login": "alltheseas", "id": 64376233, @@ -6046,15 +9919,6 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6272198361, - "node_id": "LA_kwDOKzWMZs8AAAABddom2Q", - "url": "https://api.github.com/repos/damus-io/android/labels/relays%20%F0%9F%93%A1", - "name": "relays 📡", - "color": "2ACD20", - "default": false, - "description": "" } ], "state": "open", @@ -6091,22 +9955,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-29T20:23:36Z", - "updated_at": "2023-11-30T19:42:55Z", + "created_at": "2023-11-29T20:21:59Z", + "updated_at": "2023-11-30T19:40:23Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "Add, or remove relays", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/9/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/6/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -6117,23 +9981,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/9/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/6/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/8", + "url": "https://api.github.com/repos/damus-io/android/issues/5", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/8/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/8/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/8/events", - "html_url": "https://github.com/damus-io/android/issues/8", - "id": 2017357856, - "node_id": "I_kwDOKzWMZs54PnAg", - "number": 8, - "title": "In app notifications", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/5/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/5/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/5/events", + "html_url": "https://github.com/damus-io/android/issues/5", + "id": 2017353856, + "node_id": "I_kwDOKzWMZs54PmCA", + "number": 5, + "title": "Read kind1 notes", "user": { "login": "alltheseas", "id": 64376233, @@ -6163,18 +10027,9 @@ "color": "a2eeef", "default": true, "description": "New feature or request" - }, - { - "id": 6272199615, - "node_id": "LA_kwDOKzWMZs8AAAABddorvw", - "url": "https://api.github.com/repos/damus-io/android/labels/notifications%20%F0%9F%9B%8E%EF%B8%8F", - "name": "notifications 🛎️", - "color": "852F56", - "default": false, - "description": "" } ], - "state": "open", + "state": "closed", "locked": false, "assignee": null, "assignees": [], @@ -6208,22 +10063,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-29T20:23:11Z", - "updated_at": "2023-11-30T19:43:28Z", - "closed_at": null, + "comments": 1, + "created_at": "2023-11-29T20:19:58Z", + "updated_at": "2024-04-03T05:34:00Z", + "closed_at": "2024-04-03T05:34:00Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://github.com/nostr-protocol/nips/blob/master/01.md", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/8/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/5/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -6234,23 +10089,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/8/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/5/timeline", "performed_via_github_app": null, - "state_reason": null + "state_reason": "completed" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/7", + "url": "https://api.github.com/repos/damus-io/android/issues/5", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/7/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/7/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/7/events", - "html_url": "https://github.com/damus-io/android/issues/7", - "id": 2017357085, - "node_id": "I_kwDOKzWMZs54Pm0d", - "number": 7, - "title": "Edit profile information", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/5/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/5/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/5/events", + "html_url": "https://github.com/damus-io/android/issues/5", + "id": 2017353856, + "node_id": "I_kwDOKzWMZs54PmCA", + "number": 5, + "title": "Read kind1 notes", "user": { "login": "alltheseas", "id": 64376233, @@ -6282,7 +10137,7 @@ "description": "New feature or request" } ], - "state": "open", + "state": "closed", "locked": false, "assignee": null, "assignees": [], @@ -6316,22 +10171,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-29T20:22:33Z", - "updated_at": "2023-11-30T19:45:58Z", - "closed_at": null, + "comments": 1, + "created_at": "2023-11-29T20:19:58Z", + "updated_at": "2024-04-03T05:34:00Z", + "closed_at": "2024-04-03T05:34:00Z", "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "## related to \r\n\r\nprofile view https://github.com/damus-io/android/issues/11", + "body": "https://github.com/nostr-protocol/nips/blob/master/01.md", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/7/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/5/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -6342,23 +10197,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/7/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/5/timeline", "performed_via_github_app": null, - "state_reason": null + "state_reason": "completed" + }, + "comment": { + "user": "alltheseas", + "created_at": "2024-04-03T05:34:00Z", + "updated_at": "2024-04-03T05:34:00Z", + "body": "Seems closed per Will videos" } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/6", + "url": "https://api.github.com/repos/damus-io/android/issues/4", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/6/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/6/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/6/events", - "html_url": "https://github.com/damus-io/android/issues/6", - "id": 2017356346, - "node_id": "I_kwDOKzWMZs54Pmo6", - "number": 6, - "title": "Log out", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/4/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/4/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/4/events", + "html_url": "https://github.com/damus-io/android/issues/4", + "id": 2017353489, + "node_id": "I_kwDOKzWMZs54Pl8R", + "number": 4, + "title": "Publish stand-alone kind1 note", "user": { "login": "alltheseas", "id": 64376233, @@ -6424,22 +10285,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, "comments": 0, - "created_at": "2023-11-29T20:21:59Z", - "updated_at": "2023-11-30T19:40:23Z", + "created_at": "2023-11-29T20:19:41Z", + "updated_at": "2023-11-30T19:44:07Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": null, + "body": "https://github.com/nostr-protocol/nips/blob/master/01.md", "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/6/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/4/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -6450,23 +10311,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/6/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/4/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/5", + "url": "https://api.github.com/repos/damus-io/android/issues/3", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/5/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/5/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/5/events", - "html_url": "https://github.com/damus-io/android/issues/5", - "id": 2017353856, - "node_id": "I_kwDOKzWMZs54PmCA", - "number": 5, - "title": "Read kind1 notes", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/3/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/3/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/3/events", + "html_url": "https://github.com/damus-io/android/issues/3", + "id": 2017352983, + "node_id": "I_kwDOKzWMZs54Pl0X", + "number": 3, + "title": "Login with existing keypair (copypasta nsec)", "user": { "login": "alltheseas", "id": 64376233, @@ -6500,8 +10361,48 @@ ], "state": "open", "locked": false, - "assignee": null, - "assignees": [], + "assignee": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + } + ], "milestone": { "url": "https://api.github.com/repos/damus-io/android/milestones/1", "html_url": "https://github.com/damus-io/android/milestone/1", @@ -6532,22 +10433,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-29T20:19:58Z", - "updated_at": "2023-11-30T19:44:17Z", + "comments": 3, + "created_at": "2023-11-29T20:19:16Z", + "updated_at": "2024-03-27T16:38:11Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/nostr-protocol/nips/blob/master/01.md", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/5/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/3/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -6558,23 +10459,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/5/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/3/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/android/issues/4", + "url": "https://api.github.com/repos/damus-io/android/issues/3", "repository_url": "https://api.github.com/repos/damus-io/android", - "labels_url": "https://api.github.com/repos/damus-io/android/issues/4/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/android/issues/4/comments", - "events_url": "https://api.github.com/repos/damus-io/android/issues/4/events", - "html_url": "https://github.com/damus-io/android/issues/4", - "id": 2017353489, - "node_id": "I_kwDOKzWMZs54Pl8R", - "number": 4, - "title": "Publish stand-alone kind1 note", + "labels_url": "https://api.github.com/repos/damus-io/android/issues/3/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/android/issues/3/comments", + "events_url": "https://api.github.com/repos/damus-io/android/issues/3/events", + "html_url": "https://github.com/damus-io/android/issues/3", + "id": 2017352983, + "node_id": "I_kwDOKzWMZs54Pl0X", + "number": 3, + "title": "Login with existing keypair (copypasta nsec)", "user": { "login": "alltheseas", "id": 64376233, @@ -6608,8 +10509,48 @@ ], "state": "open", "locked": false, - "assignee": null, - "assignees": [], + "assignee": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + } + ], "milestone": { "url": "https://api.github.com/repos/damus-io/android/milestones/1", "html_url": "https://github.com/damus-io/android/milestone/1", @@ -6640,22 +10581,22 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, - "comments": 0, - "created_at": "2023-11-29T20:19:41Z", - "updated_at": "2023-11-30T19:44:07Z", + "comments": 3, + "created_at": "2023-11-29T20:19:16Z", + "updated_at": "2024-03-27T16:38:11Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, - "body": "https://github.com/nostr-protocol/nips/blob/master/01.md", + "body": null, "reactions": { - "url": "https://api.github.com/repos/damus-io/android/issues/4/reactions", + "url": "https://api.github.com/repos/damus-io/android/issues/3/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -6666,9 +10607,15 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/android/issues/4/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/android/issues/3/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "kernelkind", + "created_at": "2024-03-20T21:36:51Z", + "updated_at": "2024-03-20T21:36:51Z", + "body": "working on this" } }, { @@ -6716,8 +10663,48 @@ ], "state": "open", "locked": false, - "assignee": null, - "assignees": [], + "assignee": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + } + ], "milestone": { "url": "https://api.github.com/repos/damus-io/android/milestones/1", "html_url": "https://github.com/damus-io/android/milestone/1", @@ -6748,16 +10735,16 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, - "comments": 1, + "comments": 3, "created_at": "2023-11-29T20:19:16Z", - "updated_at": "2024-03-20T21:36:52Z", + "updated_at": "2024-03-27T16:38:11Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, @@ -6777,6 +10764,12 @@ "timeline_url": "https://api.github.com/repos/damus-io/android/issues/3/timeline", "performed_via_github_app": null, "state_reason": null + }, + "comment": { + "user": "kernelkind", + "created_at": "2024-03-27T16:32:53Z", + "updated_at": "2024-03-27T16:33:09Z", + "body": "User can input a login key:\r\n- pubkey (bech32 or hex)\r\n- private key (bech32 or hex)\r\n- nip05 address\r\n\r\nAfter inputting a valid key, the user can see a timeline corresponding to that key" } }, { @@ -6824,8 +10817,48 @@ ], "state": "open", "locked": false, - "assignee": null, - "assignees": [], + "assignee": { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + }, + "assignees": [ + { + "login": "kernelkind", + "id": 8139906, + "node_id": "MDQ6VXNlcjgxMzk5MDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/8139906?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kernelkind", + "html_url": "https://github.com/kernelkind", + "followers_url": "https://api.github.com/users/kernelkind/followers", + "following_url": "https://api.github.com/users/kernelkind/following{/other_user}", + "gists_url": "https://api.github.com/users/kernelkind/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kernelkind/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kernelkind/subscriptions", + "organizations_url": "https://api.github.com/users/kernelkind/orgs", + "repos_url": "https://api.github.com/users/kernelkind/repos", + "events_url": "https://api.github.com/users/kernelkind/events{/privacy}", + "received_events_url": "https://api.github.com/users/kernelkind/received_events", + "type": "User", + "site_admin": false + } + ], "milestone": { "url": "https://api.github.com/repos/damus-io/android/milestones/1", "html_url": "https://github.com/damus-io/android/milestone/1", @@ -6856,16 +10889,16 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, - "comments": 1, + "comments": 3, "created_at": "2023-11-29T20:19:16Z", - "updated_at": "2024-03-20T21:36:52Z", + "updated_at": "2024-03-27T16:38:11Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, @@ -6887,10 +10920,10 @@ "state_reason": null }, "comment": { - "user": "kernelkind", - "created_at": "2024-03-20T21:36:51Z", - "updated_at": "2024-03-20T21:36:51Z", - "body": "working on this" + "user": "alltheseas", + "created_at": "2024-03-27T16:38:10Z", + "updated_at": "2024-03-27T16:38:10Z", + "body": "if it's too much work, feel free to drop hex - i dont think any up to date nostr apps use hex" } }, { @@ -6970,10 +11003,10 @@ "site_admin": false }, "open_issues": 15, - "closed_issues": 0, + "closed_issues": 1, "state": "open", "created_at": "2023-11-30T19:39:43Z", - "updated_at": "2023-12-03T10:58:26Z", + "updated_at": "2024-04-03T05:34:00Z", "due_on": null, "closed_at": null }, diff --git a/exported/damus.json b/exported/damus.json @@ -1,16 +1,150 @@ [ { "issue": { - "url": "https://api.github.com/repos/damus-io/damus/issues/2091", + "url": "https://api.github.com/repos/damus-io/damus/issues/2129", "repository_url": "https://api.github.com/repos/damus-io/damus", - "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2091/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2091/comments", - "events_url": "https://api.github.com/repos/damus-io/damus/issues/2091/events", - "html_url": "https://github.com/damus-io/damus/issues/2091", - "id": 2198341094, - "node_id": "I_kwDOHHF5A86DCAXm", - "number": 2091, - "title": "Configurable WOT hop per relay", + "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2129/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2129/comments", + "events_url": "https://api.github.com/repos/damus-io/damus/issues/2129/events", + "html_url": "https://github.com/damus-io/damus/issues/2129", + "id": 2232004580, + "node_id": "I_kwDOHHF5A86FCa_k", + "number": 2129, + "title": "Custom markdown renderer based on note blocks", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [ + { + "id": 6020454455, + "node_id": "LA_kwDOHHF5A88AAAABZtjYNw", + "url": "https://api.github.com/repos/damus-io/damus/labels/longform", + "name": "longform", + "color": "fef2c0", + "default": false, + "description": "" + } + ], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T20:14:54Z", + "updated_at": "2024-04-08T20:14:54Z", + "closed_at": null, + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "body": "To support rendering of markdown with our note blocks, we'll need to modify the markdown library we're using to use our note blocks instead of their own blocks.\r\n\r\nTo make this easier for the initial version, we maybe just want to do something simple and detect nostr: uris in their existing blocks and replace them. We still need to fork the library and modify it to do this.\r\n\r\nWill fix:\r\n\r\n- https://github.com/damus-io/damus/issues/1563", + "reactions": { + "url": "https://api.github.com/repos/damus-io/damus/issues/2129/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2129/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/damus/issues/2128", + "repository_url": "https://api.github.com/repos/damus-io/damus", + "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2128/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2128/comments", + "events_url": "https://api.github.com/repos/damus-io/damus/issues/2128/events", + "html_url": "https://github.com/damus-io/damus/issues/2128", + "id": 2231993209, + "node_id": "I_kwDOHHF5A86FCYN5", + "number": 2128, + "title": "Important longform improvements", + "user": { + "login": "jb55", + "id": 45598, + "node_id": "MDQ6VXNlcjQ1NTk4", + "avatar_url": "https://avatars.githubusercontent.com/u/45598?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jb55", + "html_url": "https://github.com/jb55", + "followers_url": "https://api.github.com/users/jb55/followers", + "following_url": "https://api.github.com/users/jb55/following{/other_user}", + "gists_url": "https://api.github.com/users/jb55/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jb55/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jb55/subscriptions", + "organizations_url": "https://api.github.com/users/jb55/orgs", + "repos_url": "https://api.github.com/users/jb55/repos", + "events_url": "https://api.github.com/users/jb55/events{/privacy}", + "received_events_url": "https://api.github.com/users/jb55/received_events", + "type": "User", + "site_admin": false + }, + "labels": [], + "state": "open", + "locked": false, + "assignee": null, + "assignees": [], + "milestone": null, + "comments": 0, + "created_at": "2024-04-08T20:07:21Z", + "updated_at": "2024-04-08T20:15:33Z", + "closed_at": null, + "author_association": "COLLABORATOR", + "active_lock_reason": null, + "body": "This is a tracking issue for some of the most important longform improvements\r\n\r\n- [ ] https://github.com/damus-io/damus/issues/1563\r\n- [ ] https://github.com/damus-io/damus/issues/1742\r\n- [ ] https://github.com/damus-io/damus/issues/1378\r\n- [ ] https://github.com/damus-io/damus/issues/1603\r\n\r\nActionable item(s):\r\n\r\n- [ ] https://github.com/damus-io/damus/issues/2129", + "reactions": { + "url": "https://api.github.com/repos/damus-io/damus/issues/2128/reactions", + "total_count": 0, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 0, + "eyes": 0 + }, + "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2128/timeline", + "performed_via_github_app": null, + "state_reason": null + } + }, + { + "issue": { + "url": "https://api.github.com/repos/damus-io/damus/issues/2127", + "repository_url": "https://api.github.com/repos/damus-io/damus", + "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2127/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2127/comments", + "events_url": "https://api.github.com/repos/damus-io/damus/issues/2127/events", + "html_url": "https://github.com/damus-io/damus/issues/2127", + "id": 2231793265, + "node_id": "I_kwDOHHF5A86FBnZx", + "number": 2127, + "title": "Web of trust score/rank", "user": { "login": "alltheseas", "id": 64376233, @@ -33,20 +167,20 @@ }, "labels": [ { - "id": 5684118006, - "node_id": "LA_kwDOHHF5A88AAAABUszB9g", - "url": "https://api.github.com/repos/damus-io/damus/labels/experimental", - "name": "experimental", - "color": "41BC18", - "default": false, - "description": "" + "id": 3994718399, + "node_id": "LA_kwDOHHF5A87uGpC_", + "url": "https://api.github.com/repos/damus-io/damus/labels/enhancement", + "name": "enhancement", + "color": "a2eeef", + "default": true, + "description": "Improvement" }, { - "id": 6158662124, - "node_id": "LA_kwDOHHF5A88AAAABbxW57A", - "url": "https://api.github.com/repos/damus-io/damus/labels/signal-to-noise-ratio", - "name": "signal-to-noise-ratio", - "color": "0E8A16", + "id": 5667376796, + "node_id": "LA_kwDOHHF5A88AAAABUc1OnA", + "url": "https://api.github.com/repos/damus-io/damus/labels/technical", + "name": "technical", + "color": "B60205", "default": false, "description": "" }, @@ -66,14 +200,14 @@ "assignees": [], "milestone": null, "comments": 0, - "created_at": "2024-03-20T19:06:00Z", - "updated_at": "2024-03-20T19:06:19Z", + "created_at": "2024-04-08T17:59:22Z", + "updated_at": "2024-04-08T18:00:27Z", "closed_at": null, "author_association": "COLLABORATOR", "active_lock_reason": null, - "body": "### user story \n\nTo follow\n\n### what happens\n\nA lot of noise exists on mostr. In order to find signal, I want a filter setting where I dont want to see mostr posts not followed by someone in my WOT, +1 hop and so on (Iris implemented this a while back for all relays, and not per relay)", + "body": "## (technical) user story\r\n\r\nAs a Damus dev who wants to enable building on WOT, I would like Damus to know which of a npub's follows are most in their WOT, so that Damus can surface when the npub's WOT participates/performs certain actions (e.g. replies, zaps, DMs etc.).\r\n\r\n### acceptance criteria\r\n\r\n1. there is formula according to which follows are ranked from a high to a low WOT score (e.g. using shared/mutual follows, mute lists etc.)\r\n\r\n### implementation & context\r\n\r\nsome WOT models discussed here https://dl.acm.org/doi/pdf/10.1145/2906151\r\n\r\n\r\n### related\r\n\r\n#1890 \r\n#1891\r\n#2126", "reactions": { - "url": "https://api.github.com/repos/damus-io/damus/issues/2091/reactions", + "url": "https://api.github.com/repos/damus-io/damus/issues/2127/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -84,23 +218,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2091/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2127/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/damus/issues/2090", + "url": "https://api.github.com/repos/damus-io/damus/issues/2126", "repository_url": "https://api.github.com/repos/damus-io/damus", - "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2090/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2090/comments", - "events_url": "https://api.github.com/repos/damus-io/damus/issues/2090/events", - "html_url": "https://github.com/damus-io/damus/issues/2090", - "id": 2197873821, - "node_id": "I_kwDOHHF5A86DAOSd", - "number": 2090, - "title": "Play webm in Damus", + "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2126/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2126/comments", + "events_url": "https://api.github.com/repos/damus-io/damus/issues/2126/events", + "html_url": "https://github.com/damus-io/damus/issues/2126", + "id": 2231777018, + "node_id": "I_kwDOHHF5A86FBjb6", + "number": 2126, + "title": "Display thread respondees from my WOT immediately below parent note", "user": { "login": "alltheseas", "id": 64376233, @@ -123,22 +257,22 @@ }, "labels": [ { - "id": 5811380900, - "node_id": "LA_kwDOHHF5A88AAAABWmKipA", - "url": "https://api.github.com/repos/damus-io/damus/labels/video", - "name": "video", - "color": "F4D9A3", + "id": 5667230655, + "node_id": "LA_kwDOHHF5A88AAAABUcsTvw", + "url": "https://api.github.com/repos/damus-io/damus/labels/feature", + "name": "feature", + "color": "BFDADC", "default": false, - "description": "" + "description": "New feature request" }, { - "id": 5895705605, - "node_id": "LA_kwDOHHF5A88AAAABX2lUBQ", - "url": "https://api.github.com/repos/damus-io/damus/labels/unexpected", - "name": "unexpected", - "color": "553300", + "id": 6448018691, + "node_id": "LA_kwDOHHF5A88AAAABgFT1Aw", + "url": "https://api.github.com/repos/damus-io/damus/labels/wot", + "name": "wot", + "color": "2E30D4", "default": false, - "description": "" + "description": "web of trust" } ], "state": "open", @@ -147,14 +281,14 @@ "assignees": [], "milestone": null, "comments": 1, - "created_at": "2024-03-20T15:44:28Z", - "updated_at": "2024-03-20T16:38:50Z", + "created_at": "2024-04-08T17:51:41Z", + "updated_at": "2024-04-08T19:04:52Z", "closed_at": null, "author_association": "COLLABORATOR", "active_lock_reason": null, - "body": "## current behavior\r\n\r\n.webm either opens a browser (safari), or prompts a download link to .webm files (brave) on mobile\r\n\r\nOn MacOS .webm opens default browser.\r\n\r\n## what I expect to happen\r\n\r\nembed webm, so I can play the video in Damus without leaving the app\r\n\r\nhttps://damus.io/note1uher5jxu2cvptdcguxuhdx38a7s24eds0553jq6vsa9gsh6u7k9spnq0c3\r\n\r\n![Screenshot 2024-03-20 at 10 44 53 AM](https://github.com/damus-io/damus/assets/64376233/5c53b337-93bb-41f5-b902-1fbcdf248ed6)\r\n\n![image](https://github.com/damus-io/damus/assets/64376233/2c84620f-1346-445d-b469-eaf8d993a404)", + "body": "## user story\r\n\r\nAs a Damus user who is evaluating thread responses, I would like Damus to let me know which of my follows (in my WOT) have responded to a thread before I go scrolling down the thread, so that I know if my WOT responded to a certain thread without having to dig through it.\r\n\r\n### acceptance criteria\r\n\r\n1. There is a visual indication of which of my WOT responded to a thread immediately below the parent note\r\n2. Visual indicator of follows (e.g. PFPs) are sorted by highest WOT score\r\n\r\n### inspiration & mockup\r\n\r\nhttps://damus.io/nevent1qqsvvj8m6xjvgy9d85y4hwnn0mqq983ug4kddepfnfjav5pvyy2nk3spz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3jamnwvaz7tms09exzmtfvshxv6tpw34xze3wvdhk6qgjwaehxw309ac82unsd3jhqct89ejhxqgjwaehxw309aex2mrp0yhxvdm69e5k7vw6q53\n\n![image](https://github.com/damus-io/damus/assets/64376233/42ba122a-bd1f-425b-a511-c09060cd0128)\r\n\r\n\r\n", "reactions": { - "url": "https://api.github.com/repos/damus-io/damus/issues/2090/reactions", + "url": "https://api.github.com/repos/damus-io/damus/issues/2126/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -165,23 +299,23 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2090/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2126/timeline", "performed_via_github_app": null, "state_reason": null } }, { "issue": { - "url": "https://api.github.com/repos/damus-io/damus/issues/2090", + "url": "https://api.github.com/repos/damus-io/damus/issues/2126", "repository_url": "https://api.github.com/repos/damus-io/damus", - "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2090/labels{/name}", - "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2090/comments", - "events_url": "https://api.github.com/repos/damus-io/damus/issues/2090/events", - "html_url": "https://github.com/damus-io/damus/issues/2090", - "id": 2197873821, - "node_id": "I_kwDOHHF5A86DAOSd", - "number": 2090, - "title": "Play webm in Damus", + "labels_url": "https://api.github.com/repos/damus-io/damus/issues/2126/labels{/name}", + "comments_url": "https://api.github.com/repos/damus-io/damus/issues/2126/comments", + "events_url": "https://api.github.com/repos/damus-io/damus/issues/2126/events", + "html_url": "https://github.com/damus-io/damus/issues/2126", + "id": 2231777018, + "node_id": "I_kwDOHHF5A86FBjb6", + "number": 2126, + "title": "Display thread respondees from my WOT immediately below parent note", "user": { "login": "alltheseas", "id": 64376233, @@ -204,22 +338,22 @@ }, "labels": [ { - "id": 5811380900, - "node_id": "LA_kwDOHHF5A88AAAABWmKipA", - "url": "https://api.github.com/repos/damus-io/damus/labels/video", - "name": "video", - "color": "F4D9A3", + "id": 5667230655, + "node_id": "LA_kwDOHHF5A88AAAABUcsTvw", + "url": "https://api.github.com/repos/damus-io/damus/labels/feature", + "name": "feature", + "color": "BFDADC", "default": false, - "description": "" + "description": "New feature request" }, { - "id": 5895705605, - "node_id": "LA_kwDOHHF5A88AAAABX2lUBQ", - "url": "https://api.github.com/repos/damus-io/damus/labels/unexpected", - "name": "unexpected", - "color": "553300", + "id": 6448018691, + "node_id": "LA_kwDOHHF5A88AAAABgFT1Aw", + "url": "https://api.github.com/repos/damus-io/damus/labels/wot", + "name": "wot", + "color": "2E30D4", "default": false, - "description": "" + "description": "web of trust" } ], "state": "open", @@ -228,14 +362,14 @@ "assignees": [], "milestone": null, "comments": 1, - "created_at": "2024-03-20T15:44:28Z", - "updated_at": "2024-03-20T16:38:50Z", + "created_at": "2024-04-08T17:51:41Z", + "updated_at": "2024-04-08T19:04:52Z", "closed_at": null, "author_association": "COLLABORATOR", "active_lock_reason": null, - "body": "## current behavior\r\n\r\n.webm either opens a browser (safari), or prompts a download link to .webm files (brave) on mobile\r\n\r\nOn MacOS .webm opens default browser.\r\n\r\n## what I expect to happen\r\n\r\nembed webm, so I can play the video in Damus without leaving the app\r\n\r\nhttps://damus.io/note1uher5jxu2cvptdcguxuhdx38a7s24eds0553jq6vsa9gsh6u7k9spnq0c3\r\n\r\n![Screenshot 2024-03-20 at 10 44 53 AM](https://github.com/damus-io/damus/assets/64376233/5c53b337-93bb-41f5-b902-1fbcdf248ed6)\r\n\n![image](https://github.com/damus-io/damus/assets/64376233/2c84620f-1346-445d-b469-eaf8d993a404)", + "body": "## user story\r\n\r\nAs a Damus user who is evaluating thread responses, I would like Damus to let me know which of my follows (in my WOT) have responded to a thread before I go scrolling down the thread, so that I know if my WOT responded to a certain thread without having to dig through it.\r\n\r\n### acceptance criteria\r\n\r\n1. There is a visual indication of which of my WOT responded to a thread immediately below the parent note\r\n2. Visual indicator of follows (e.g. PFPs) are sorted by highest WOT score\r\n\r\n### inspiration & mockup\r\n\r\nhttps://damus.io/nevent1qqsvvj8m6xjvgy9d85y4hwnn0mqq983ug4kddepfnfjav5pvyy2nk3spz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3jamnwvaz7tms09exzmtfvshxv6tpw34xze3wvdhk6qgjwaehxw309ac82unsd3jhqct89ejhxqgjwaehxw309aex2mrp0yhxvdm69e5k7vw6q53\n\n![image](https://github.com/damus-io/damus/assets/64376233/42ba122a-bd1f-425b-a511-c09060cd0128)\r\n\r\n\r\n", "reactions": { - "url": "https://api.github.com/repos/damus-io/damus/issues/2090/reactions", + "url": "https://api.github.com/repos/damus-io/damus/issues/2126/reactions", "total_count": 0, "+1": 0, "-1": 0, @@ -246,29 +380,29 @@ "rocket": 0, "eyes": 0 }, - "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2090/timeline", + "timeline_url": "https://api.github.com/repos/damus-io/damus/issues/2126/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { "user": "alltheseas", - "created_at": "2024-03-20T16:38:48Z", - "updated_at": "2024-03-20T16:38:48Z", - "body": "recreated by @tyiu " + "created_at": "2024-04-08T19:04:50Z",