{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":104299796,"defaultBranch":"android14","name":"seedvault","ownerLogin":"seedvault-app","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-09-21T04:00:28.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/71791285?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1713292954.0","currentOid":""},"activityList":{"items":[{"before":"6dfc0583e55298ec14668e4f2a1da0fa6864e90f","after":"684ce8201bbaf98ff5ec06661f5742d202a9f404","ref":"refs/heads/android14","pushedAt":"2024-05-14T16:51:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Import translations from Weblate\n\nCo-authored-by: Fjuro \nCo-authored-by: Hosted Weblate \nCo-authored-by: Igor Sorocean \nCo-authored-by: Kristian Nordin \nCo-authored-by: Oğuz Ersen \nCo-authored-by: gallegonovato \nCo-authored-by: ikya91 \nCo-authored-by: lucasmz \nCo-authored-by: lucasmz-dev \nCo-authored-by: rehork \nCo-authored-by: 大王叫我来巡山 \nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/cs/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ro/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/sv/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/sv/\nTranslate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/sv/\nTranslation: CalyxOS/Seedvault\nTranslation: CalyxOS/Seedvault contacts backup\nTranslation: CalyxOS/Seedvault storage backup","shortMessageHtmlLink":"Import translations from Weblate"}},{"before":"bb562a4cb267e62d5e0e5ab57abf262f49e33fd2","after":"6dfc0583e55298ec14668e4f2a1da0fa6864e90f","ref":"refs/heads/android14","pushedAt":"2024-05-14T16:35:25.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #502 from chirayudesai/78-skipapk\n\nSkip installing APKs if not allowed by policy","shortMessageHtmlLink":"Merge pull request #502 from chirayudesai/78-skipapk"}},{"before":"c04ddfa9a0eb06cee5bc9e7bb3c75877180052ef","after":"bb562a4cb267e62d5e0e5ab57abf262f49e33fd2","ref":"refs/heads/android14","pushedAt":"2024-05-14T15:01:15.000Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Catch out 507 HTTP error when using WebDAV\n\nNextcloud has a bug that lets us write chunked transfers over quota:\nhttps://github.com/nextcloud/server/issues/7993\n\nHowever, when we upload small files, we can get the proper 507 response and thus detect out of space situations and warn the user about them.","shortMessageHtmlLink":"Catch out 507 HTTP error when using WebDAV"}},{"before":"d0cf1681983a15fcd1dde6e01199a80ba0e1262b","after":"c04ddfa9a0eb06cee5bc9e7bb3c75877180052ef","ref":"refs/heads/android14","pushedAt":"2024-05-08T13:40:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Add helper text for WebDAV URL field","shortMessageHtmlLink":"Add helper text for WebDAV URL field"}},{"before":"bf40b53863cf5098b95aea8bee115de92312879c","after":"d0cf1681983a15fcd1dde6e01199a80ba0e1262b","ref":"refs/heads/android14","pushedAt":"2024-05-06T16:41:45.000Z","pushType":"pr_merge","commitsCount":19,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #647 from grote/webdav\n\nImplement a native WebDAV plugin","shortMessageHtmlLink":"Merge pull request #647 from grote/webdav"}},{"before":"cc8d3079d21f41d0966dc21e1b039f598226e55f","after":"bf40b53863cf5098b95aea8bee115de92312879c","ref":"refs/heads/android14","pushedAt":"2024-04-29T16:46:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #652 from grote/scheduling-i18n\n\nAlways update next scheduling time in UI","shortMessageHtmlLink":"Merge pull request #652 from grote/scheduling-i18n"}},{"before":"11fbd450da9b9f783dce1b856fd9d83d71121f51","after":"cc8d3079d21f41d0966dc21e1b039f598226e55f","ref":"refs/heads/android14","pushedAt":"2024-04-24T17:45:43.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #618 from weblate/weblate-calyxos-seedvault\n\nTranslations update from Hosted Weblate","shortMessageHtmlLink":"Merge pull request #618 from weblate/weblate-calyxos-seedvault"}},{"before":"adca4ed196f2a658e169073a5ebb589a3db26a9b","after":null,"ref":"refs/heads/user-manager-nullable","pushedAt":"2024-04-16T18:42:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"}},{"before":"c8d21fcf344af990aeb465e3774f2f2e3046414b","after":"11fbd450da9b9f783dce1b856fd9d83d71121f51","ref":"refs/heads/android14","pushedAt":"2024-04-16T18:42:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Fix nullability for UserManager in AOSP build (#646)","shortMessageHtmlLink":"Fix nullability for UserManager in AOSP build (#646)"}},{"before":"2b465f81daa3ad32a76cd293f4f426894a0b91cc","after":"adca4ed196f2a658e169073a5ebb589a3db26a9b","ref":"refs/heads/user-manager-nullable","pushedAt":"2024-04-16T17:18:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Update MetadataManager.kt","shortMessageHtmlLink":"Update MetadataManager.kt"}},{"before":null,"after":"2b465f81daa3ad32a76cd293f4f426894a0b91cc","ref":"refs/heads/user-manager-nullable","pushedAt":"2024-04-16T17:00:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Fix nullability for UserManager in AOSP build","shortMessageHtmlLink":"Fix nullability for UserManager in AOSP build"}},{"before":"5500c63fe1723b14085e0ad3d337cffa425fe937","after":null,"ref":"refs/heads/feature/github-e2e-tests-13","pushedAt":"2024-04-16T13:02:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"}},{"before":"87db20e45f3452f8c1b048e619e0d9b17682050b","after":"c8d21fcf344af990aeb465e3774f2f2e3046414b","ref":"refs/heads/android14","pushedAt":"2024-04-16T13:00:20.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Auto-disable apps that cancel the entire backup\n\nThis can happen when the app process gets killed while its BackupAgent is running. There are several qcom apps in the wild that have this issue. These are DoSing our backups and are non-free, so we are defending ourselves against them.","shortMessageHtmlLink":"Auto-disable apps that cancel the entire backup"}},{"before":"6e63d9bac039010dfc0dc13c0969fb033df7cae1","after":"87db20e45f3452f8c1b048e619e0d9b17682050b","ref":"refs/heads/android14","pushedAt":"2024-04-16T12:51:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Include user profile name in backup name\n\nso it is easier to identify the right backup if more users backup to the same storage medium.\n\nChange-Id: I56fa93899da3764e20b6aee40adfd52722a05a9f","shortMessageHtmlLink":"Include user profile name in backup name"}},{"before":"9557dfd4e763b8738086f0c39a2d3014e6be8315","after":"6e63d9bac039010dfc0dc13c0969fb033df7cae1","ref":"refs/heads/android14","pushedAt":"2024-04-12T13:17:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Update build badge in README","shortMessageHtmlLink":"Update build badge in README"}},{"before":null,"after":"b740bd6272b8c43f88f3961c0e8a0d2121c7625c","ref":"refs/heads/build-badge-update","pushedAt":"2024-04-11T20:11:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Update build badge in README","shortMessageHtmlLink":"Update build badge in README"}},{"before":"e9beb7aae5d00660e4607e21d3c4a66bc2ba4a3f","after":"4f478e9dc354fea1ed381fd52274487909f57105","ref":"refs/heads/webdav","pushedAt":"2024-04-05T12:11:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Ensure root folder exists when using storage\n\nWe use the same root folder for app and files backup. App backup usually creates the root folder, but if only storage backup is used, it will be missing and needs to be created.","shortMessageHtmlLink":"Ensure root folder exists when using storage"}},{"before":"fef6ecc640cd74a57bf8d522f7fcd06d2ef9b91f","after":"9557dfd4e763b8738086f0c39a2d3014e6be8315","ref":"refs/heads/android14","pushedAt":"2024-04-05T11:53:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Fix flakyness in SmallFileBackupIntegrationTest again\n\nSince the chunk gets zipped, the random input data would sometimes differ in size if randomness wasn't truly random, so it could be compressed more.","shortMessageHtmlLink":"Fix flakyness in SmallFileBackupIntegrationTest again"}},{"before":"b95e04bfbab3f8999081860f46076699f50c0483","after":"e9beb7aae5d00660e4607e21d3c4a66bc2ba4a3f","ref":"refs/heads/webdav","pushedAt":"2024-04-05T11:48:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Ensure root folder exists when using storage\n\nWe use the same root folder for app and files backup. App backup usually creates the root folder, but if only storage backup is used, it will be missing and needs to be created.","shortMessageHtmlLink":"Ensure root folder exists when using storage"}},{"before":"d89989153fd6aee713141014a4251a86da6183e8","after":"b95e04bfbab3f8999081860f46076699f50c0483","ref":"refs/heads/webdav","pushedAt":"2024-04-04T23:04:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Ensure root folder exists when using storage\n\nWe use the same root folder for app and files backup. App backup usually creates the root folder, but if only storage backup is used, it will be missing and needs to be created.","shortMessageHtmlLink":"Ensure root folder exists when using storage"}},{"before":"b59e8e67df6f22f9e0e4fad0aed93d517cac4214","after":"d89989153fd6aee713141014a4251a86da6183e8","ref":"refs/heads/webdav","pushedAt":"2024-04-04T23:02:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Ensure root folder exists when using storage\n\nWe use the same root folder for app and files backup. App backup usually creates the root folder, but if only storage backup is used, it will be missing and needs to be created.","shortMessageHtmlLink":"Ensure root folder exists when using storage"}},{"before":"6caa01f8c5069a7c4295fc554b78ff292f4f2393","after":"fef6ecc640cd74a57bf8d522f7fcd06d2ef9b91f","ref":"refs/heads/android14","pushedAt":"2024-04-04T21:26:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chirayudesai","name":"Chirayu Desai","path":"/chirayudesai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/952062?s=80&v=4"},"commit":{"message":"Fix flakyness in SmallFileBackupIntegrationTest","shortMessageHtmlLink":"Fix flakyness in SmallFileBackupIntegrationTest"}},{"before":"8b8424460f59448868c1992140d44f19ff600825","after":"b59e8e67df6f22f9e0e4fad0aed93d517cac4214","ref":"refs/heads/webdav","pushedAt":"2024-04-03T21:46:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Try to use secrets as ENV variables","shortMessageHtmlLink":"Try to use secrets as ENV variables"}},{"before":"ada6601f382d7f027f3bc14c826cdbd073bc92e6","after":"8b8424460f59448868c1992140d44f19ff600825","ref":"refs/heads/webdav","pushedAt":"2024-04-03T21:35:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Try to use secrets as ENV variables","shortMessageHtmlLink":"Try to use secrets as ENV variables"}},{"before":null,"after":"ada6601f382d7f027f3bc14c826cdbd073bc92e6","ref":"refs/heads/webdav","pushedAt":"2024-04-03T20:37:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"WebDAV files backup plugin","shortMessageHtmlLink":"WebDAV files backup plugin"}},{"before":"db1fc905899e920674a72a02d354accc54470ff2","after":"6caa01f8c5069a7c4295fc554b78ff292f4f2393","ref":"refs/heads/android14","pushedAt":"2024-03-26T15:23:49.000Z","pushType":"pr_merge","commitsCount":23,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #628 from grote/583-scheduling\n\nMove to our own scheduling","shortMessageHtmlLink":"Merge pull request #628 from grote/583-scheduling"}},{"before":"64d0c87013464d89dc589cc2b42a0c2df85f9cc2","after":null,"ref":"refs/heads/feature/rclone","pushedAt":"2024-03-18T13:53:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"}},{"before":"178349ff3de02805b9965e3032d6c14d20c66a95","after":"db1fc905899e920674a72a02d354accc54470ff2","ref":"refs/heads/android14","pushedAt":"2024-03-18T13:53:25.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #609 from seedvault-app/feature/rclone\n\nAdd support for RoundSync as a storage provider","shortMessageHtmlLink":"Merge pull request #609 from seedvault-app/feature/rclone"}},{"before":"92c87d3b5a2f7a7728e66c1be5cd165b03912819","after":"178349ff3de02805b9965e3032d6c14d20c66a95","ref":"refs/heads/android14","pushedAt":"2024-03-12T14:53:21.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #633 from theimpulson/localTest\n\nBackupScreen: Don't hardcode model name for internal storage","shortMessageHtmlLink":"Merge pull request #633 from theimpulson/localTest"}},{"before":"fb4e1711f2427b595de0daf09a99a814c0e858ec","after":"92c87d3b5a2f7a7728e66c1be5cd165b03912819","ref":"refs/heads/android14","pushedAt":"2024-03-08T12:48:47.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"grote","name":"Torsten Grote","path":"/grote","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/244947?s=80&v=4"},"commit":{"message":"Merge pull request #631 from grote/aosp_atd\n\nTry aosp_atd emulator for instrumentation tests","shortMessageHtmlLink":"Merge pull request #631 from grote/aosp_atd"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESbXXngA","startCursor":null,"endCursor":null}},"title":"Activity · seedvault-app/seedvault"}