├── CNAME ├── .gitignore ├── repo ├── categories.txt ├── index.jar ├── index.png ├── index-v1.jar ├── icons │ ├── icon.png │ └── chat.revolt.app.twa.7.png ├── chat.revolt.app.twa.apk ├── icons-120 │ └── chat.revolt.app.twa.7.png ├── icons-160 │ └── chat.revolt.app.twa.7.png ├── icons-240 │ └── chat.revolt.app.twa.7.png ├── icons-320 │ └── chat.revolt.app.twa.7.png ├── icons-480 │ └── chat.revolt.app.twa.7.png ├── icons-640 │ └── chat.revolt.app.twa.7.png ├── status │ ├── running.json │ └── update.json ├── index-v1.json ├── index.html ├── index.xml └── index.css ├── README.md ├── metadata └── chat.revolt.app.twa.yml ├── tmp └── apkcache.json └── .github └── workflows ├── triage_issue.yml └── triage_pr.yml /CNAME: -------------------------------------------------------------------------------- 1 | fdroid.revolt.chat -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | config.yml 2 | keystore.p12 -------------------------------------------------------------------------------- /repo/categories.txt: -------------------------------------------------------------------------------- 1 | Phone & SMS 2 | -------------------------------------------------------------------------------- /repo/index.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/index.jar -------------------------------------------------------------------------------- /repo/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/index.png -------------------------------------------------------------------------------- /repo/index-v1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/index-v1.jar -------------------------------------------------------------------------------- /repo/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons/icon.png -------------------------------------------------------------------------------- /repo/chat.revolt.app.twa.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/chat.revolt.app.twa.apk -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Revolt F-droid Repository 2 | 3 | Available at [fdroid.revolt.chat/repo](https://fdroid.revolt.chat/repo/). 4 | -------------------------------------------------------------------------------- /repo/icons/chat.revolt.app.twa.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons/chat.revolt.app.twa.7.png -------------------------------------------------------------------------------- /repo/icons-120/chat.revolt.app.twa.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons-120/chat.revolt.app.twa.7.png -------------------------------------------------------------------------------- /repo/icons-160/chat.revolt.app.twa.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons-160/chat.revolt.app.twa.7.png -------------------------------------------------------------------------------- /repo/icons-240/chat.revolt.app.twa.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons-240/chat.revolt.app.twa.7.png -------------------------------------------------------------------------------- /repo/icons-320/chat.revolt.app.twa.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons-320/chat.revolt.app.twa.7.png -------------------------------------------------------------------------------- /repo/icons-480/chat.revolt.app.twa.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons-480/chat.revolt.app.twa.7.png -------------------------------------------------------------------------------- /repo/icons-640/chat.revolt.app.twa.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/revoltchat/fdroid/HEAD/repo/icons-640/chat.revolt.app.twa.7.png -------------------------------------------------------------------------------- /metadata/chat.revolt.app.twa.yml: -------------------------------------------------------------------------------- 1 | AuthorName: 'Revolt' 2 | Categories: 3 | - Phone & SMS 4 | CurrentVersionCode: 2147483647 5 | IssueTracker: 'https://github.com/revoltchat/android-twa' 6 | Name: Revolt 7 | SourceCode: 'https://github.com/revoltchat' 8 | Summary: 'User-first, privacy focused chat platform.' 9 | WebSite: 'https://revolt.chat' 10 | -------------------------------------------------------------------------------- /repo/status/running.json: -------------------------------------------------------------------------------- 1 | { 2 | "commandLine": [ 3 | "/usr/bin/fdroid update", 4 | "--create-metadata" 5 | ], 6 | "fdroiddata": { 7 | "commitId": "53e0f32004413d31d487ed6259d4aad253e47616", 8 | "isDirty": true, 9 | "modifiedFiles": [ 10 | "repo/icons/icon.png", 11 | "repo/index-v1.jar", 12 | "repo/index-v1.json", 13 | "repo/index.html", 14 | "repo/index.jar", 15 | "repo/index.png", 16 | "repo/index.xml", 17 | "repo/status/running.json", 18 | "repo/status/update.json" 19 | ], 20 | "untrackedFiles": [] 21 | }, 22 | "startTimestamp": 1646424426000, 23 | "subcommand": "update" 24 | } -------------------------------------------------------------------------------- /repo/status/update.json: -------------------------------------------------------------------------------- 1 | {"antiFeatures":{},"apksigner":null,"archivePolicy0":[],"commandLine":["/usr/bin/fdroid update","--create-metadata"],"disabled":[],"endTimestamp":1646424429229,"failedBuilds":{},"fdroiddata":{"commitId":"53e0f32004413d31d487ed6259d4aad253e47616","isDirty":true,"modifiedFiles":["repo/icons/icon.png","repo/index-v1.jar","repo/index-v1.json","repo/index.html","repo/index.jar","repo/index.png","repo/index.xml","repo/status/running.json","repo/status/update.json"],"untrackedFiles":[]},"jarsigner":"/usr/lib/jvm/java-11-openjdk/bin/jarsigner","keytool":"/usr/lib/jvm/java-11-openjdk/bin/keytool","needsUpdate":["chat.revolt.app.twa"],"noPackages":["chat.revolt.app.twa"],"noUpdateCheck":["chat.revolt.app.twa"],"startTimestamp":1646424426000,"subcommand":"update"} -------------------------------------------------------------------------------- /repo/index-v1.json: -------------------------------------------------------------------------------- 1 | {"repo": {"timestamp": 1646424426000, "version": 20001, "name": "Revolt F-Droid Repo", "icon": "icon.png", "address": "https://fdroid.revolt.chat/repo/", "description": "This is a repository offering a distribution of Revolt for Android."}, "requests": {"install": [], "uninstall": []}, "apps": [{"authorName": "Revolt", "categories": ["Phone & SMS"], "suggestedVersionCode": "2147483647", "issueTracker": "https://github.com/revoltchat/android-twa", "license": "Unknown", "name": "Revolt", "sourceCode": "https://github.com/revoltchat", "summary": "User-first, privacy focused chat platform.", "webSite": "https://revolt.chat", "added": 1646423802000, "icon": "chat.revolt.app.twa.7.png", "packageName": "chat.revolt.app.twa", "lastUpdated": 1646423802000}], "packages": {"chat.revolt.app.twa": [{"added": 1646423802000, "apkName": "chat.revolt.app.twa.apk", "hash": "695ab70f57318abd11d55f266d8f57e58c28ad61d312264bec671948591774bf", "hashType": "sha256", "minSdkVersion": 19, "packageName": "chat.revolt.app.twa", "sig": "63bb7f071518d2a4aedcdc6ac964cce1", "signer": "2bc78987bd6288387bc0d75fd110f491d524a6b3253a75c23a91071b63c09867", "size": 285117, "targetSdkVersion": 31, "versionCode": 7, "versionName": "7"}]}} -------------------------------------------------------------------------------- /tmp/apkcache.json: -------------------------------------------------------------------------------- 1 | { 2 | "METADATA_VERSION": 20001, 3 | "allow_disabled_algorithms": false, 4 | "chat.revolt.app.twa.apk": { 5 | "hash": "695ab70f57318abd11d55f266d8f57e58c28ad61d312264bec671948591774bf", 6 | "hashType": "sha256", 7 | "uses-permission": [], 8 | "uses-permission-sdk-23": [], 9 | "features": [], 10 | "icons_src": { 11 | "240": "res/mipmap-hdpi-v4/ic_launcher.png", 12 | "320": "res/mipmap-xhdpi-v4/ic_launcher.png", 13 | "160": "res/mipmap-mdpi-v4/ic_launcher.png", 14 | "640": "res/mipmap-xxxhdpi-v4/ic_launcher.png", 15 | "480": "res/mipmap-xxhdpi-v4/ic_launcher.png", 16 | "-1": "res/mipmap-mdpi-v4/ic_launcher.png" 17 | }, 18 | "icons": { 19 | "640": "chat.revolt.app.twa.7.png", 20 | "480": "chat.revolt.app.twa.7.png", 21 | "320": "chat.revolt.app.twa.7.png", 22 | "240": "chat.revolt.app.twa.7.png", 23 | "160": "chat.revolt.app.twa.7.png", 24 | "0": "chat.revolt.app.twa.7.png" 25 | }, 26 | "antiFeatures": [], 27 | "packageName": "chat.revolt.app.twa", 28 | "versionCode": 7, 29 | "name": "Revolt", 30 | "versionName": "7", 31 | "minSdkVersion": 19, 32 | "targetSdkVersion": 31, 33 | "sig": "63bb7f071518d2a4aedcdc6ac964cce1", 34 | "signer": "2bc78987bd6288387bc0d75fd110f491d524a6b3253a75c23a91071b63c09867", 35 | "size": 285117, 36 | "apkName": "chat.revolt.app.twa.apk", 37 | "icon": "chat.revolt.app.twa.7.png", 38 | "added": 1646423802.23869 39 | } 40 | } -------------------------------------------------------------------------------- /.github/workflows/triage_issue.yml: -------------------------------------------------------------------------------- 1 | name: Add Issue to Board 2 | 3 | on: 4 | issues: 5 | types: [opened] 6 | 7 | jobs: 8 | track_issue: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Get project data 12 | env: 13 | GITHUB_TOKEN: ${{ secrets.PAT }} 14 | run: | 15 | gh api graphql -f query=' 16 | query { 17 | organization(login: "revoltchat"){ 18 | projectV2(number: 3) { 19 | id 20 | fields(first:20) { 21 | nodes { 22 | ... on ProjectV2SingleSelectField { 23 | id 24 | name 25 | options { 26 | id 27 | name 28 | } 29 | } 30 | } 31 | } 32 | } 33 | } 34 | }' > project_data.json 35 | 36 | echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV 37 | echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV 38 | echo 'TODO_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV 39 | 40 | - name: Add issue to project 41 | env: 42 | GITHUB_TOKEN: ${{ secrets.PAT }} 43 | ISSUE_ID: ${{ github.event.issue.node_id }} 44 | run: | 45 | item_id="$( gh api graphql -f query=' 46 | mutation($project:ID!, $issue:ID!) { 47 | addProjectV2ItemById(input: {projectId: $project, contentId: $issue}) { 48 | item { 49 | id 50 | } 51 | } 52 | }' -f project=$PROJECT_ID -f issue=$ISSUE_ID --jq '.data.addProjectV2ItemById.item.id')" 53 | 54 | echo 'ITEM_ID='$item_id >> $GITHUB_ENV 55 | -------------------------------------------------------------------------------- /repo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Revolt F-Droid Repo 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |

22 | Revolt F-Droid Repo 23 |

24 |
25 |

26 | 27 | 28 | QR: test 29 | 30 | 31 | This is a repository offering a distribution of Revolt for Android. 32 |
33 |
34 | Currently it serves 35 | 36 | 1 37 | 38 | apps. To add it to your F-Droid client, scan the QR code (click it to enlarge) or use this URL: 39 |

40 |

41 | 42 | 43 | https://fdroid.revolt.chat/repo/ 44 | 45 | 46 |

47 |

48 | If you would like to manually verify the fingerprint (SHA-256) of the repository signing key, here it is: 49 |
50 | 51 | 0A 9D 2F 61 C8 65 98 01 71 1E 22 17 78 62 F8 4C 81 34 96 6F 42 79 73 03 7A 8F DF AC FF 07 C4 F2 52 | 53 |

54 |
55 | 56 | 57 | -------------------------------------------------------------------------------- /.github/workflows/triage_pr.yml: -------------------------------------------------------------------------------- 1 | name: Add PR to Board 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened, synchronize, ready_for_review, review_requested] 6 | 7 | jobs: 8 | track_pr: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Get project data 12 | env: 13 | GITHUB_TOKEN: ${{ secrets.PAT }} 14 | run: | 15 | gh api graphql -f query=' 16 | query { 17 | organization(login: "revoltchat"){ 18 | projectV2(number: 5) { 19 | id 20 | fields(first:20) { 21 | nodes { 22 | ... on ProjectV2SingleSelectField { 23 | id 24 | name 25 | options { 26 | id 27 | name 28 | } 29 | } 30 | } 31 | } 32 | } 33 | } 34 | }' > project_data.json 35 | 36 | echo 'PROJECT_ID='$(jq '.data.organization.projectV2.id' project_data.json) >> $GITHUB_ENV 37 | echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV 38 | echo 'INCOMING_OPTION_ID='$(jq '.data.organization.projectV2.fields.nodes[] | select(.name== "Status") | .options[] | select(.name=="🆕 Untriaged") |.id' project_data.json) >> $GITHUB_ENV 39 | 40 | - name: Add PR to project 41 | env: 42 | GITHUB_TOKEN: ${{ secrets.PAT }} 43 | PR_ID: ${{ github.event.pull_request.node_id }} 44 | run: | 45 | item_id="$( gh api graphql -f query=' 46 | mutation($project:ID!, $pr:ID!) { 47 | addProjectV2ItemById(input: {projectId: $project, contentId: $pr}) { 48 | item { 49 | id 50 | } 51 | } 52 | }' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectV2ItemById.item.id')" 53 | 54 | echo 'ITEM_ID='$item_id >> $GITHUB_ENV 55 | 56 | - name: Set fields 57 | env: 58 | GITHUB_TOKEN: ${{ secrets.PAT }} 59 | run: | 60 | gh api graphql -f query=' 61 | mutation ( 62 | $project: ID! 63 | $item: ID! 64 | $status_field: ID! 65 | $status_value: String! 66 | ) { 67 | set_status: updateProjectV2ItemFieldValue(input: { 68 | projectId: $project 69 | itemId: $item 70 | fieldId: $status_field 71 | value: { 72 | singleSelectOptionId: $status_value 73 | } 74 | }) { 75 | projectV2Item { 76 | id 77 | } 78 | } 79 | }' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value=${{ env.INCOMING_OPTION_ID }} --silent 80 | -------------------------------------------------------------------------------- /repo/index.xml: -------------------------------------------------------------------------------- 1 | This is a repository offering a distribution of Revolt for Android.chat.revolt.app.twa2022-03-042022-03-04RevoltUser-first, privacy focused chat platform.chat.revolt.app.twa.7.pngNo description availableUnknownPhone & SMSPhone & SMShttps://revolt.chathttps://github.com/revoltchathttps://github.com/revoltchat/android-twaRevolt214748364777chat.revolt.app.twa.apk695ab70f57318abd11d55f266d8f57e58c28ad61d312264bec671948591774bf28511719312022-03-0463bb7f071518d2a4aedcdc6ac964cce1 -------------------------------------------------------------------------------- /repo/index.css: -------------------------------------------------------------------------------- 1 | /* auto-generated - fdroid index updates will overwrite this file */ 2 | BODY { 3 | font-family : Arial, Helvetica, Sans-Serif; 4 | color : #0000ee; 5 | background-color : #ffffff; 6 | } 7 | p { 8 | text-align : justify; 9 | } 10 | p.center { 11 | text-align : center; 12 | } 13 | TD { 14 | font-family : Arial, Helvetica, Sans-Serif; 15 | color : #0000ee; 16 | } 17 | body,td { 18 | font-size : 14px; 19 | } 20 | TH { 21 | font-family : Arial, Helvetica, Sans-Serif; 22 | color : #0000ee; 23 | background-color : #F5EAD4; 24 | } 25 | a:link { 26 | color : #bb0000; 27 | } 28 | a:visited { 29 | color : #ff0000; 30 | } 31 | .zitat { 32 | margin-left : 1cm; 33 | margin-right : 1cm; 34 | font-style : italic; 35 | } 36 | #intro { 37 | border-spacing : 1em; 38 | border : 1px solid gray; 39 | border-radius : 0.5em; 40 | box-shadow : 10px 10px 5px #888; 41 | margin : 1.5em; 42 | font-size : .9em; 43 | width : 600px; 44 | max-width : 90%; 45 | display : table; 46 | margin-left : auto; 47 | margin-right : auto; 48 | font-size : .8em; 49 | color : #555555; 50 | } 51 | #intro > p { 52 | margin-top : 0; 53 | } 54 | #intro p:last-child { 55 | margin-bottom : 0; 56 | } 57 | .last { 58 | border-bottom : 1px solid black; 59 | padding-bottom : .5em; 60 | text-align : center; 61 | } 62 | table { 63 | border-collapse : collapse; 64 | } 65 | h2 { 66 | text-align : center; 67 | } 68 | .perms { 69 | font-family : monospace; 70 | font-size : .8em; 71 | } 72 | .repoapplist { 73 | display : table; 74 | border-collapse : collapse; 75 | margin-left : auto; 76 | margin-right : auto; 77 | width : 600px; 78 | max-width : 90%; 79 | } 80 | .approw, appdetailrow { 81 | display : table-row; 82 | } 83 | .appdetailrow { 84 | display : flex; 85 | padding : .5em; 86 | } 87 | .appiconbig, .appdetailblock, .appdetailcell { 88 | display : table-cell 89 | } 90 | .appiconbig { 91 | vertical-align : middle; 92 | text-align : center; 93 | } 94 | .appdetailinner { 95 | width : 100%; 96 | } 97 | .applinkcell { 98 | text-align : center; 99 | float : right; 100 | width : 100%; 101 | margin-bottom : .1em; 102 | } 103 | .paddedlink { 104 | margin : 1em; 105 | } 106 | .approw { 107 | border-spacing : 1em; 108 | border : 1px solid gray; 109 | border-radius : 0.5em; 110 | padding : 0.5em; 111 | margin : 1.5em; 112 | } 113 | .appdetailinner .appdetailrow:first-child { 114 | background-color : #d5d5d5; 115 | } 116 | .appdetailinner .appdetailrow:first-child .appdetailcell { 117 | min-width : 33%; 118 | flex : 1 33%; 119 | text-align : center; 120 | } 121 | .appdetailinner .appdetailrow:first-child .appdetailcell:first-child { 122 | text-align : left; 123 | } 124 | .appdetailinner .appdetailrow:first-child .appdetailcell:last-child { 125 | float : none; 126 | text-align : right; 127 | } 128 | .minor-details { 129 | font-size : .8em; 130 | color : #555555; 131 | } 132 | .boldname { 133 | font-weight : bold; 134 | } 135 | #appcount { 136 | text-align : center; 137 | margin-bottom : .5em; 138 | } 139 | kbd { 140 | padding : 0.1em 0.6em; 141 | border : 1px solid #CCC; 142 | background-color : #F7F7F7; 143 | color : #333; 144 | box-shadow : 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 2px #FFF inset; 145 | border-radius : 3px; 146 | display : inline-block; 147 | margin : 0px 0.1em; 148 | text-shadow : 0px 1px 0px #FFF; 149 | white-space : nowrap; 150 | } 151 | div.filterline, div.repoline { 152 | display : table; 153 | margin-left : auto; 154 | margin-right : auto; 155 | margin-bottom : 1em; 156 | vertical-align : middle; 157 | display : table; 158 | font-size : .8em; 159 | } 160 | .filterline form { 161 | display : table-row; 162 | } 163 | .filterline .filtercell { 164 | display : table-cell; 165 | vertical-align : middle; 166 | } 167 | fieldset { 168 | float : left; 169 | } 170 | fieldset select, fieldset input, #reposelect select, #reposelect input { 171 | font-size : .9em; 172 | } 173 | .pager { 174 | display : table; 175 | margin-left : auto; 176 | margin-right : auto; 177 | width : 600px; 178 | max-width : 90%; 179 | padding-top : .6em; 180 | } 181 | /* should correspond to .repoapplist */ 182 | .pagerrow { 183 | display : table-row; 184 | } 185 | .pagercell { 186 | display : table-cell; 187 | } 188 | .pagercell.left { 189 | text-align : left; 190 | padding-right : 1em; 191 | } 192 | .pagercell.middle { 193 | text-align : center; 194 | font-size : .9em; 195 | color : #555; 196 | } 197 | .pagercell.right { 198 | text-align : right; 199 | padding-left : 1em; 200 | } 201 | .anti { 202 | color : peru; 203 | } 204 | .antibold { 205 | color : crimson; 206 | } 207 | #footer { 208 | text-align : center; 209 | margin-top : 1em; 210 | font-size : 11px; 211 | color : #555; 212 | } 213 | #footer img { 214 | vertical-align : middle; 215 | } 216 | @media (max-width: 600px) { 217 | .repoapplist { 218 | display : block; 219 | } 220 | .appdetailinner, .appdetailrow { 221 | display : block; 222 | } 223 | .appdetailcell { 224 | display : block; 225 | float : left; 226 | line-height : 1.5em; 227 | } 228 | } --------------------------------------------------------------------------------