diff --git a/.github/diff_pot_files.py b/.github/diff_pot_files.py new file mode 100644 index 00000000..6d37c5c3 --- /dev/null +++ b/.github/diff_pot_files.py @@ -0,0 +1,29 @@ +#! /usr/bin/env python3 + +""" +Super small script for github action to detect if 2 .pot files have changed for +github/workflows/auto_messages_pot.yml +""" + +import sys +from babel.messages.pofile import PoFileParser + + +def load_pot_file(file_path): + poparser = PoFileParser({}) + poparser.parse(open(file_path)) + return poparser.catalog + + +def main(): + file_1 = load_pot_file(sys.argv[1]) + file_2 = load_pot_file(sys.argv[2]) + + if [x for x in file_1.keys() if x] == [x for x in file_2.keys() if x]: + print("false") + else: + print("true") + + +if __name__ == "__main__": + main() diff --git a/.github/workflows/added_dates.yml b/.github/workflows/added_dates.yml index 49a2544d..6a32fd44 100644 --- a/.github/workflows/added_dates.yml +++ b/.github/workflows/added_dates.yml @@ -12,6 +12,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 + token: ${{ secrets.YUNOHOST_BOT_TOKEN }} - name: Set up Python 3.11 uses: actions/setup-python@v5 with: @@ -30,3 +31,6 @@ jobs: with: commit_message: "Automatically add dates to the catalog files" file_pattern: 'apps.toml wishlist.toml graveyard.toml' + commit_user_name: yunohost-bot + commit_user_email: yunohost-bot@users.noreply.github.com + commit_author: 'yunohost-bot ' diff --git a/.github/workflows/auto_messages_pot.yml b/.github/workflows/auto_messages_pot.yml index 5ab8a60a..c290b6f8 100644 --- a/.github/workflows/auto_messages_pot.yml +++ b/.github/workflows/auto_messages_pot.yml @@ -18,17 +18,18 @@ jobs: run: | cd tools/readme_generator/ pip install -r requirements.txt + - name: Save old messges.pot for diffing later + run: | + cd tools/readme_generator/ + cp messages.pot messages.pot.old - name: Try to generate messages.pot run: | cd tools/readme_generator/ - pip install -r requirements.txt pybabel extract --ignore-dirs venv -F babel.cfg -o messages.pot . - shell: pwsh id: check_files_changed run: | - # Diff HEAD with the previous commit - $diff = git diff - $HasDiff = $diff.Length -gt 0 + $HasDiff = python .github/diff_pot_files.py tools/readme_generator/messages.pot.old tools/readme_generator/messages.pot Write-Host "::set-output name=files_changed::$HasDiff" - name: Create Pull Request if: steps.check_files_changed.outputs.files_changed == 'true' diff --git a/README.md b/README.md index d756dd53..4152e7f5 100644 --- a/README.md +++ b/README.md @@ -31,16 +31,17 @@ them such as their category or maintenance state. This file is regularly read by To add your application to the catalog: -* Fork [this repository](https://github.com/YunoHost/apps) -* Edit the [`apps.toml`](/apps.toml) file - * Add your app's ID and git information at the right alphabetical place - * Indicate the app's functioning state: `notworking`, `inprogress`, or `working` - * Indicate the app category, which you can pick from `categories.toml` - * Indicate any anti-feature that your app may be subject to, see `antifeatures.toml` (or remove the `antifeatures` key if there's none) - * Indicate if your app can be thought of as an alternative to popular proprietary services (or remove the `potential_alternative_to` key if there's none) - * *Do not* add the `level` entry by yourself. Our automatic test suite ("the CI") will handle it. -* Commit and push your modifications to your repository -* Create a [Pull Request](https://github.com/YunoHost/apps/pulls/) +- Fork [this repository](https://github.com/YunoHost/apps) +- Edit the [`apps.toml`](/apps.toml) file + - Add your app's ID and git information at the right alphabetical place + - Indicate the app's functioning state: `notworking`, `inprogress`, or `working` + - Indicate the app category, which you can pick from `categories.toml` + - Indicate any anti-feature that your app may be subject to, see `antifeatures.toml` (or remove the `antifeatures` key if there's none) + - Indicate if your app can be thought of as an alternative to popular proprietary services (or remove the `potential_alternative_to` key if there's none) + - *Do not* add the `level` entry by yourself. Our automatic test suite ("the CI") will handle it. +- Add the app's logo inside the `logos` folder. Please keep this logo as small as possible. It also must be square (or almost square). The filename must be the name of the app in lower case. +- Commit and push your modifications to your repository +- Create a [Pull Request](https://github.com/YunoHost/apps/pulls/) App example addition: diff --git a/antifeatures.toml b/antifeatures.toml index c53af785..ccb734dc 100644 --- a/antifeatures.toml +++ b/antifeatures.toml @@ -8,7 +8,7 @@ description.it = "Ti traccia e/o riporta la tua attività a chi mantiene il codi icon = "user-secret" title.en = "Tracking" title.eu = "Jarraipena" -title.fr = "Pistage" +title.fr = "Pistage " title.it = "Tracciamento" [non-free-network] @@ -19,7 +19,7 @@ description.it = "Promuove o dipende interamente da servizi di rete non liberi." icon = "sitemap" title.en = "Non-free Network Services" title.eu = "Libreak ez diren sareko zerbitzuak" -title.fr = "Services réseau non libres" +title.fr = "Services réseau non libres " title.it = "Servizi di rete non liberi" [non-free-addons] @@ -30,7 +30,7 @@ description.it = "Promoove altre applicazioni o plugin non liberi" icon = "puzzle-piece" title.en = "Non-free Addons" title.eu = "Libreak ez diren gehigarriak" -title.fr = "Extensions non libres" +title.fr = "Extensions non libres " title.it = "Estensioni non libere" [non-free-dependencies] @@ -41,7 +41,7 @@ description.it = "Per funzionare, si basa su dipendenze software non libere." icon = "book" title.en = "Non-free dependencies" title.eu = "Libreak ez diren dependentziak" -title.fr = "Dépendances non libres" +title.fr = "Dépendances non libres " title.it = "Dipendenze non libere" [non-free-assets] @@ -52,7 +52,7 @@ description.it = "Contiene ed utilizza risorse mediatiche non libere. Il caso pi icon = "file-image-o" title.en = "Non-free assets" title.eu = "Libreak ez diren baliabideak" -title.fr = "Ressources non libres" +title.fr = "Ressources non libres " title.it = "Risorse non libere" [bad-security-reputation] @@ -63,7 +63,7 @@ description.it = "Ha una cattiva reputazione in termini di sicurezza (per esempi icon = "bug" title.en = "Bad security reputation" title.eu = "Segurtasun txarreko ospea" -title.fr = "Mauvaise réputation en matière de sécurité" +title.fr = "Mauvaise réputation en matière de sécurité " title.it = "Cattiva reputazione di sicurezza" [deprecated-software] @@ -74,7 +74,7 @@ description.it = "Questo software non è più mantenuto. Ci si può aspettare ch icon = "trash-o" title.en = "Upstream not maintained" title.eu = "Jatorrizko garapena utzita" -title.fr = "Application non maintenue" +title.fr = "Application non maintenue " title.it = "Applicazione non mantenuta" [package-not-maintained] @@ -85,7 +85,7 @@ description.it = "Questo pacchetto di YunoHost non è più mantenuto e necessita icon = "user-times" title.en = "Package not maintained" title.eu = "Mantendu gabeko paketea" -title.fr = "Paquet non maintenu" +title.fr = "Paquet non maintenu " title.it = "Pacchetto non mantenuto" [paid-content] @@ -96,7 +96,7 @@ description.it = "Promuove o dipende, interamente o parzialmente, da un servizio icon = "money" title.en = "Paid content" title.eu = "Ordainpeko edukia" -title.fr = "Contenu payant" +title.fr = "Contenu payant " title.it = "Contenuti a pagamento" [arbitrary-limitations] @@ -107,7 +107,7 @@ description.it = "Contiene limitazioni arbitrarie. Fare riferimento al file “R icon = "star-half-empty" title.en = "Arbitrary limitations" title.eu = "Muga arbitrarioak" -title.fr = "Limitations arbitraires" +title.fr = "Limitations arbitraires " title.it = "Limitazioni arbitrarie" [replaced-by-another-app] @@ -118,7 +118,7 @@ description.it = "Quest’app è stata sostituita da un’altra app. Fare riferi icon = "repeat" title.en = "Replaced by another app" title.eu = "Beste aplikazio batek ordeztu du" -title.fr = "Remplacé par une autre application" +title.fr = "Remplacé par une autre application " title.it = "Sostituita da un’altra app" [alpha-software] @@ -129,25 +129,25 @@ description.it = "Questo software è all’inizio della sua fase di sviluppo. Po icon = "flask" title.en = "Alpha software" title.eu = "Alfa softwarea" -title.fr = "Logiciel en version alpha" +title.fr = "Logiciel en version alpha " title.it = "Software in versione alpha" [not-totally-free-upstream] -description.en = "The packaged app is under an overall free licence, but with clauses that restrict its use." +description.en = "The packaged app is under an overall free license, but with clauses that may restrict its use." description.eu = "Aplikazioak lizentzia librea du orokorrean, baina bere erabilera mugatzen duten klausulekin." description.fr = "L'application packagée est sous une licence globalement libre, mais avec des clauses qui pourraient restreindre son utilisation." description.it = "Quest’applicazione è protetta da licenza generalmente libera, ma con delle clausole che potrebbero limitare il suo utilizzo." icon = "lock" title.en = "Not totally free upstream" title.eu = "Jatorrizkoa ez da erabat librea" -title.fr = "Application sous licence libre restreinte" +title.fr = "Application sous licence libre restreinte " title.it = "Applicazione con licenza parzialmente libera" [not-totally-free-package] -description.en = "The YunoHost package of this app is under an overall free licence, but with clauses that restrict its use." +description.en = "The YunoHost package of this app is under an overall free license, but with clauses that may restrict its use." description.eu = "Aplikazio honen YunoHost paketeak lizentzia librea du orokorrean, baina bere erabilera mugatzen duten klausulekin." description.fr = "Le package YunoHost de cette application est sous une licence globalement libre, mais avec des clauses qui pourraient restreindre son utilisation." icon = "archive" title.en = "Not totally free package" title.eu = "Paketea ez da erabat librea" -title.fr = "Package sous licence libre restreinte" +title.fr = "Package sous licence libre restreinte " diff --git a/apps.toml b/apps.toml index c6069314..9c729d0e 100644 --- a/apps.toml +++ b/apps.toml @@ -49,7 +49,7 @@ url = "https://github.com/YunoHost-Apps/acropolis_ynh" [actual] added_date = 1685962455 # 2023/06/05 category = "productivity_and_management" -level = 7 +level = 8 potential_alternative_to = [ "Bankin", "Budgea", "Linxo", "Microsoft Money", "Mint", "You Need A Budget" ] state = "working" subtags = [ "accounting" ] @@ -173,7 +173,7 @@ url = "https://github.com/YunoHost-Apps/audiobookshelf_ynh" [autobrr] added_date = 1681591997 # 2023/04/15 category = "multimedia" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/autobrr_ynh" @@ -358,7 +358,7 @@ url = "https://github.com/YunoHost-Apps/castopod_ynh" [cesium] added_date = 1674232499 # 2023/01/20 category = "wat" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/cesium_ynh" @@ -366,7 +366,7 @@ url = "https://github.com/YunoHost-Apps/cesium_ynh" added_date = 1684063245 # 2023/05/14 antifeatures = [ "non-free-network" ] category = "small_utilities" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/chatgpt-web_ynh" @@ -448,7 +448,7 @@ url = "https://github.com/YunoHost-Apps/cjdns_ynh" [cloudlog] added_date = 1685981922 # 2023/06/05 category = "small_utilities" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/cloudlog_ynh" @@ -488,7 +488,7 @@ url = "https://github.com/YunoHost-Apps/coin_ynh" [collabora] added_date = 1674232499 # 2023/01/20 category = "office" -level = 6 +level = 8 potential_alternative_to = [ "Apple Pages", "G Suite", "Google Docs", "Microsoft Excel", "Microsoft Office", "Microsoft Word" ] state = "working" subtags = [ "impress", "spreadsheet", "text" ] @@ -582,7 +582,7 @@ url = "https://github.com/YunoHost-Apps/cowyo_ynh" [crabfit] added_date = 1710114839 # 2024/03/10 category = "productivity_and_management" -level = 6 +level = 7 potential_alternative_to = [ "Doodle", "OpenSondage" ] state = "working" subtags = [ "poll" ] @@ -754,7 +754,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "communication" deprecated_date = 1709075769 # 2024/02/27 -level = 8 +level = 7 state = "working" subtags = [ "chat" ] url = "https://github.com/YunoHost-Apps/dispatch_ynh" @@ -785,7 +785,7 @@ url = "https://github.com/YunoHost-Apps/django-for-runners_ynh" [django-fritzconnection] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "network" ] url = "https://github.com/YunoHost-Apps/django-fritzconnection_ynh" @@ -793,7 +793,7 @@ url = "https://github.com/YunoHost-Apps/django-fritzconnection_ynh" [django_example] added_date = 1674232499 # 2023/01/20 category = "dev" -level = 8 +level = 3 state = "working" subtags = [ "programming" ] url = "https://github.com/YunoHost-Apps/django_example_ynh" @@ -926,7 +926,7 @@ url = "https://github.com/YunoHost-Apps/element_ynh" [element-call] added_date = 1697570605 # 2023/10/17 category = "communication" -level = 6 +level = 7 potential_alternative_to = [ "Skype", "Zoom" ] state = "working" subtags = [ "meeting" ] @@ -935,7 +935,7 @@ url = "https://github.com/YunoHost-Apps/element-call_ynh" [eleventy] added_date = 1683960849 # 2023/05/13 category = "publishing" -level = 7 +level = 8 potential_alternative_to = [ "Blogger", "Blogspot", "Wix" ] state = "working" subtags = [ "blog", "website" ] @@ -952,7 +952,7 @@ url = "https://github.com/YunoHost-Apps/emailpoubelle_ynh" [emoncms] added_date = 1674232499 # 2023/01/20 category = "iot" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/emoncms_ynh" @@ -1065,7 +1065,7 @@ url = "https://github.com/YunoHost-Apps/fastapi_ynh" [ffsync] added_date = 1674232499 # 2023/01/20 -antifeatures = [ "deprecated-software" ] +antifeatures = [ "deprecated-software", "replaced-by-another-app" ] category = "synchronization" deprecated_date = 1660842060 # 2022/08/18 level = 6 @@ -1099,7 +1099,7 @@ url = "https://github.com/YunoHost-Apps/filepizza_ynh" [firefish] added_date = 1691055044 # 2023/08/03 category = "social_media" -level = 7 +level = 0 potential_alternative_to = [ "Calckey", "Mastodon", "Misskey", "Pleroma", "Threads", "X" ] state = "working" url = "https://github.com/YunoHost-Apps/firefish_ynh" @@ -1138,6 +1138,16 @@ state = "working" subtags = [ "forum" ] url = "https://github.com/YunoHost-Apps/flarum_ynh" +[flohmarkt] +added_date = 1714137502 # 2024/04/26 +antifeatures = [ "alpha-software", "arbitrary-limitations" ] +category = "publishing" +level = 6 +potential_alternative_to = [ "ClassifiedAds.com", "kleinanzeigen.de" ] +state = "working" +subtags = [ "ecommerce" ] +url = "https://github.com/YunoHost-Apps/flohmarkt_ynh" + [flood] added_date = 1674232499 # 2023/01/20 category = "multimedia" @@ -1184,7 +1194,7 @@ url = "https://github.com/YunoHost-Apps/forgejo_ynh" [framaforms] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 0 +level = 8 potential_alternative_to = [ "Google Forms" ] state = "working" subtags = [ "poll" ] @@ -1246,7 +1256,7 @@ url = "https://github.com/YunoHost-Apps/galene_ynh" [galette] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 8 +level = 6 state = "working" subtags = [ "business_and_ngos" ] url = "https://github.com/YunoHost-Apps/galette_ynh" @@ -1289,7 +1299,7 @@ url = "https://github.com/YunoHost-Apps/garradin_ynh" [gemserv] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/gemserv_ynh" @@ -1339,7 +1349,7 @@ url = "https://github.com/YunoHost-Apps/gitlab-runner_ynh" [gitlist] added_date = 1675002183 # 2023/01/29 category = "dev" -level = 7 +level = 8 state = "working" subtags = [ "forge" ] url = "https://github.com/YunoHost-Apps/gitlist_ynh" @@ -1405,7 +1415,7 @@ url = "https://github.com/YunoHost-Apps/gotosocial_ynh" [grafana] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/grafana_ynh" @@ -1460,7 +1470,7 @@ url = "https://github.com/YunoHost-Apps/guacamole_ynh" [h5ai] added_date = 1674232499 # 2023/01/20 category = "small_utilities" -level = 8 +level = 0 state = "working" url = "https://github.com/YunoHost-Apps/h5ai_ynh" @@ -1500,7 +1510,7 @@ url = "https://github.com/YunoHost-Apps/headphones_ynh" [headscale] added_date = 1686503631 # 2023/06/11 category = "system_tools" -level = 7 +level = 8 potential_alternative_to = [ "Tailscale" ] state = "working" subtags = [ "network" ] @@ -1546,7 +1556,7 @@ url = "https://github.com/YunoHost-Apps/homeassistant_ynh" [horde] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 4 +level = 7 state = "working" subtags = [ "email" ] url = "https://github.com/YunoHost-Apps/horde_ynh" @@ -1569,7 +1579,7 @@ url = "https://github.com/Yunohost-Apps/httpsh_ynh" [hubzilla] added_date = 1674232499 # 2023/01/20 category = "social_media" -level = 6 +level = 8 potential_alternative_to = [ "Facebook" ] state = "working" subtags = [ "microblogging" ] @@ -1638,6 +1648,13 @@ state = "working" subtags = [ "accounting" ] url = "https://github.com/YunoHost-Apps/ihatemoney_ynh" +[immich] +added_date = 1711921326 # 2024/03/31 +category = "multimedia" +level = 7 +state = "working" +url = "https://github.com/YunoHost-Apps/immich_ynh" + [incus] added_date = 1710508401 # 2024/03/15 category = "system_tools" @@ -1666,7 +1683,7 @@ url = "https://github.com/YunoHost-Apps/influxdb_v2_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "non-free-network" ] category = "social_media" -level = 8 +level = 6 potential_alternative_to = [ "YouTube" ] state = "working" subtags = [ "videos" ] @@ -1713,8 +1730,9 @@ url = "https://github.com/YunoHost-Apps/jackett_ynh" [jappix] added_date = 1674232499 # 2023/01/20 -antifeatures = [ "package-not-maintained" ] +antifeatures = [ "deprecated-software", "package-not-maintained" ] category = "communication" +deprecated_date = 1714590228 # 2024/05/01 level = 7 state = "working" subtags = [ "chat" ] @@ -1748,7 +1766,7 @@ url = "https://github.com/YunoHost-Apps/jellyfin-vue_ynh" [jellyseerr] added_date = 1683832079 # 2023/05/11 category = "multimedia" -level = 7 +level = 8 potential_alternative_to = [ "Overseerr" ] state = "working" url = "https://github.com/YunoHost-Apps/jellyseerr_ynh" @@ -1763,7 +1781,7 @@ url = "https://github.com/YunoHost-Apps/jenkins_ynh" [jirafeau] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 6 +level = 8 potential_alternative_to = [ "ImageShack", "Imgur" ] state = "working" subtags = [ "files" ] @@ -1772,7 +1790,7 @@ url = "https://github.com/YunoHost-Apps/jirafeau_ynh" [jitsi] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 6 +level = 8 potential_alternative_to = [ "Google Hangouts", "Skype" ] state = "working" subtags = [ "meeting" ] @@ -1790,11 +1808,19 @@ url = "https://github.com/YunoHost-Apps/joomla_ynh" [joplin] added_date = 1702203874 # 2023/12/10 category = "office" -level = 0 -state = "notworking" +level = 7 +state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/joplin_ynh" +[jump] +added_date = 1714286036 # 2024/04/28 +category = "productivity_and_management" +level = 0 +potential_alternative_to = [ "Dashy", "Heimdall" ] +state = "notworking" +url = "https://github.com/YunoHost-Apps/jump_ynh" + [jupyterlab] added_date = 1674232499 # 2023/01/20 category = "dev" @@ -1917,7 +1943,7 @@ url = "https://github.com/YunoHost-Apps/laverna_ynh" [leantime] added_date = 1683586765 # 2023/05/08 category = "productivity_and_management" -level = 7 +level = 8 potential_alternative_to = [ "Asana", "ClickUp", "Notion" ] state = "working" subtags = [ "task" ] @@ -2035,14 +2061,14 @@ url = "https://github.com/YunoHost-Apps/limesurvey_ynh" added_date = 1685604095 # 2023/06/01 antifeatures = [ "non-free-network" ] category = "small_utilities" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/lingva_ynh" [linkstack] added_date = 1683443449 # 2023/05/07 category = "publishing" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/linkstack_ynh" @@ -2106,7 +2132,7 @@ url = "https://github.com/YunoHost-Apps/luckysheet_ynh" [lufi] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 8 +level = 6 potential_alternative_to = [ "WeTransfer" ] state = "working" subtags = [ "files" ] @@ -2138,7 +2164,7 @@ url = "https://github.com/YunoHost-Apps/lxd-dashboard_ynh" [lychee] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 8 +level = 6 potential_alternative_to = [ "Flickr", "Google Photos" ] state = "working" subtags = [ "pictures" ] @@ -2173,7 +2199,7 @@ url = "https://github.com/YunoHost-Apps/mastodon_ynh" [matomo] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 8 +level = 6 potential_alternative_to = [ "Google Analytics", "Xiti" ] state = "working" subtags = [ "analytics" ] @@ -2218,7 +2244,7 @@ url = "https://github.com/YunoHost-Apps/mattermost_ynh" [mautic] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 6 +level = 8 potential_alternative_to = [ "Marketo", "NetResult", "SalesFusion" ] state = "working" subtags = [ "business_and_ngos" ] @@ -2238,7 +2264,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "communication" deprecated_date = 1709661665 # 2024/03/05 -level = 6 +level = 0 potential_alternative_to = [ "Facebook Messenger" ] state = "working" subtags = [ "chat" ] @@ -2247,7 +2273,7 @@ url = "https://github.com/YunoHost-Apps/mautrix_facebook_ynh" [mautrix_signal] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 6 +level = 0 potential_alternative_to = [ "Signal" ] state = "working" subtags = [ "chat" ] @@ -2256,7 +2282,7 @@ url = "https://github.com/YunoHost-Apps/mautrix_signal_ynh" [mautrix_telegram] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 0 potential_alternative_to = [ "Telegram" ] state = "working" subtags = [ "chat" ] @@ -2265,7 +2291,7 @@ url = "https://github.com/YunoHost-Apps/mautrix_telegram_ynh" [mautrix_whatsapp] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 0 potential_alternative_to = [ "Whatsapp" ] state = "working" subtags = [ "chat" ] @@ -2274,7 +2300,7 @@ url = "https://github.com/YunoHost-Apps/mautrix_whatsapp_ynh" [mediawiki] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 7 +level = 8 state = "working" subtags = [ "wiki" ] url = "https://github.com/YunoHost-Apps/mediawiki_ynh" @@ -2295,6 +2321,14 @@ state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/metabase_ynh" +[microbin] +added_date = 1712237414 # 2024/04/04 +category = "small_utilities" +level = 7 +state = "working" +subtags = [ "pastebin" ] +url = "https://github.com/YunoHost-Apps/microbin_ynh" + [minchat] added_date = 1674232499 # 2023/01/20 category = "communication" @@ -2386,14 +2420,14 @@ url = "https://github.com/YunoHost-Apps/mongo-express_ynh" [monica] added_date = 1674232499 # 2023/01/20 category = "wat" -level = 6 +level = 0 state = "working" url = "https://github.com/YunoHost-Apps/monica_ynh" [monitorix] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/monitorix_ynh" @@ -2440,7 +2474,7 @@ url = "https://github.com/YunoHost-Apps/movim_ynh" [mstream] added_date = 1683054560 # 2023/05/02 category = "multimedia" -level = 7 +level = 8 potential_alternative_to = [ "Anchor", "Deezer", "SoundCloud", "Spotify" ] state = "working" subtags = [ "music" ] @@ -2473,7 +2507,7 @@ url = "https://github.com/YunoHost-Apps/my-mind_ynh" [my_capsule] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 6 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/my_capsule_ynh" @@ -2504,7 +2538,7 @@ url = "https://github.com/YunoHost-Apps/mygpo_ynh" [mytinytodo] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 6 +level = 8 state = "working" subtags = [ "task" ] url = "https://github.com/YunoHost-Apps/mytinytodo_ynh" @@ -2703,7 +2737,7 @@ url = "https://github.com/YunoHost-Apps/opensondage_ynh" [opentracker] added_date = 1674232499 # 2023/01/20 category = "wat" -level = 8 +level = 0 state = "working" url = "https://github.com/YunoHost-Apps/opentracker_ynh" @@ -2719,8 +2753,10 @@ url = "https://github.com/YunoHost-Apps/osada_ynh" [osjs] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "wat" -level = 8 +deprecated_date = 1712777448 # 2024/04/10 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/osjs_ynh" @@ -3016,7 +3052,7 @@ url = "https://github.com/YunoHost-Apps/piped_ynh" [piwigo] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 6 +level = 8 potential_alternative_to = [ "Google Photos", "Keepeek", "Koken", "Orkis Ajaris", "Orphéa" ] state = "working" subtags = [ "pictures" ] @@ -3143,7 +3179,7 @@ url = "https://github.com/YunoHost-Apps/prosody_ynh" [prowlarr] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/prowlarr_ynh" @@ -3348,7 +3384,7 @@ url = "https://github.com/YunoHost-Apps/rocketchat_ynh" [roundcube] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 6 +level = 8 potential_alternative_to = [ "GMail", "Hotmail", "Microsoft Outlook", "Yahoo! Mail" ] state = "working" subtags = [ "email" ] @@ -3410,7 +3446,7 @@ url = "https://github.com/YunoHost-Apps/satdress_ynh" [scovie] added_date = 1685183203 # 2023/05/27 category = "publishing" -level = 7 +level = 8 state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/scovie_ynh" @@ -3541,7 +3577,7 @@ url = "https://github.com/YunoHost-Apps/signaturepdf_ynh" added_date = 1710170758 # 2024/03/11 category = "office" level = 6 -potential_alternative_to = [ "Joplin", "Logreq", "Microsoft OneNote", "Obisian" ] +potential_alternative_to = [ "Joplin", "Logseq", "Microsoft OneNote", "Obsidian" ] state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/silverbullet_ynh" @@ -3549,7 +3585,7 @@ url = "https://github.com/YunoHost-Apps/silverbullet_ynh" [simple-file-manager] added_date = 1699776105 # 2023/11/12 category = "small_utilities" -level = 6 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/simple-file-manager_ynh" @@ -3582,7 +3618,7 @@ url = "https://github.com/YunoHost-Apps/simplex_ynh" added_date = 1685875056 # 2023/06/04 antifeatures = [ "non-free-network" ] category = "small_utilities" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/simplytranslate_ynh" @@ -3632,7 +3668,7 @@ url = "https://github.com/YunoHost-Apps/snserver_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "package-not-maintained" ] category = "office" -level = 6 +level = 7 state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/snweb_ynh" @@ -3655,7 +3691,7 @@ url = "https://github.com/YunoHost-Apps/sogo_ynh" [sonarr] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/sonarr_ynh" @@ -3761,7 +3797,7 @@ url = "https://github.com/YunoHost-Apps/svgedit_ynh" [synapse] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 6 +level = 8 potential_alternative_to = [ "Discord", "Facebook Messenger", "Signal", "Skype", "Telegram", "Whatsapp" ] state = "working" subtags = [ "chat" ] @@ -3770,7 +3806,7 @@ url = "https://github.com/YunoHost-Apps/synapse_ynh" [synapse-admin] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 1 state = "working" subtags = [ "chat" ] url = "https://github.com/YunoHost-Apps/synapse-admin_ynh" @@ -3925,7 +3961,7 @@ url = "https://github.com/YunoHost-Apps/traccar_ynh" [tracim] added_date = 1674232499 # 2023/01/20 category = "office" -level = 7 +level = 8 potential_alternative_to = [ "Dropbox", "Google Drive", "Slack", "Trello" ] state = "working" url = "https://github.com/YunoHost-Apps/tracim_ynh" @@ -4046,7 +4082,7 @@ url = "https://github.com/YunoHost-Apps/unattended_upgrades_ynh" [uptime-kuma] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/uptime-kuma_ynh" @@ -4054,7 +4090,7 @@ url = "https://github.com/YunoHost-Apps/uptime-kuma_ynh" [vaultwarden] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 6 +level = 8 potential_alternative_to = [ "1Password", "Dashlane", "Enpass", "LastPass" ] state = "working" subtags = [ "password" ] @@ -4112,7 +4148,7 @@ url = "https://github.com/YunoHost-Apps/watchdog_ynh" [weblate] added_date = 1674232499 # 2023/01/20 category = "dev" -level = 7 +level = 6 potential_alternative_to = [ "Locize", "Transifex" ] state = "working" url = "https://github.com/YunoHost-Apps/weblate_ynh" @@ -4127,7 +4163,7 @@ url = "https://github.com/YunoHost-Apps/webmin_ynh" [webtrees] added_date = 1674232499 # 2023/01/20 category = "wat" -level = 6 +level = 1 state = "working" url = "https://github.com/YunoHost-Apps/webtrees_ynh" @@ -4207,12 +4243,20 @@ url = "https://github.com/YunoHost-Apps/woodpecker_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "non-free-addons", "paid-content" ] category = "publishing" -level = 6 +level = 8 potential_alternative_to = [ "Blogger", "Blogspot", "Wix" ] state = "working" subtags = [ "blog", "website" ] url = "https://github.com/YunoHost-Apps/wordpress_ynh" +[workout-tracker] +added_date = 1712861274 # 2024/04/11 +category = "small_utilities" +level = 7 +potential_alternative_to = [ "Strava" ] +state = "working" +url = "https://github.com/YunoHost-Apps/workout-tracker_ynh" + [writefreely] added_date = 1674232499 # 2023/01/20 category = "social_media" @@ -4258,7 +4302,7 @@ url = "https://github.com/YunoHost-Apps/yacy_ynh" [yellow] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 6 +level = 8 state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/yellow_ynh" @@ -4282,8 +4326,10 @@ url = "https://github.com/YunoHost-Apps/yourls_ynh" [yunomonitor] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "system_tools" -level = 8 +deprecated_date = 1672947186 # 2023/01/05 +level = 7 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/yunomonitor_ynh" @@ -4306,7 +4352,7 @@ url = "https://github.com/YunoHost-Apps/z-push_ynh" [zabbix] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/zabbix_ynh" @@ -4325,7 +4371,7 @@ url = "https://github.com/YunoHost-Apps/zap_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "replaced-by-another-app" ] category = "small_utilities" -level = 6 +level = 7 potential_alternative_to = [ "Pastebin" ] state = "working" subtags = [ "pastebin" ] @@ -4333,8 +4379,10 @@ url = "https://github.com/YunoHost-Apps/zerobin_ynh" [zeronet] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "wat" -level = 6 +deprecated_date = 1714840875 # 2024/05/04 +level = 8 potential_alternative_to = [ "Mullvad" ] state = "working" url = "https://github.com/YunoHost-Apps/zeronet_ynh" @@ -4352,7 +4400,7 @@ url = "https://github.com/YunoHost-Apps/zerotier_ynh" added_date = 1693093567 # 2023/08/26 antifeatures = [ "non-free-dependencies" ] category = "system_tools" -level = 7 +level = 0 state = "working" subtags = [ "network" ] url = "https://github.com/YunoHost-Apps/zeroui_ynh" diff --git a/logos/flohmarkt.png b/logos/flohmarkt.png new file mode 100644 index 00000000..1b142228 Binary files /dev/null and b/logos/flohmarkt.png differ diff --git a/logos/immich.png b/logos/immich.png index 6fc783ef..d2230625 100644 Binary files a/logos/immich.png and b/logos/immich.png differ diff --git a/logos/incus.png b/logos/incus.png new file mode 100644 index 00000000..bf8e0b21 Binary files /dev/null and b/logos/incus.png differ diff --git a/logos/microbin.png b/logos/microbin.png new file mode 100644 index 00000000..83852035 Binary files /dev/null and b/logos/microbin.png differ diff --git a/schemas/manifest.v2.schema.json b/schemas/manifest.v2.schema.json index fa8fcdb8..e30bedea 100644 --- a/schemas/manifest.v2.schema.json +++ b/schemas/manifest.v2.schema.json @@ -575,6 +575,14 @@ }, "force_version": { "type": "string" + }, + "allow_prereleases": { + "type": "boolean", + "description": "Allow prereleases when using strategy = latest_X_release" + }, + "needs_manual_tweaks": { + "type": "boolean", + "description": "Inform the maintainer of manual steps to make autoupdate PRs work" } } } @@ -633,4 +641,4 @@ "resources" ], "additionalProperties": false -} \ No newline at end of file +} diff --git a/store/app.py b/store/app.py index 318558d2..50c2f5a4 100644 --- a/store/app.py +++ b/store/app.py @@ -84,6 +84,14 @@ def localize(d): return d["en"] +@app.context_processor +def utils(): + return { + "user": session.get("user", {}), + "locale": get_locale(), + } + + ############################################################################### @@ -96,8 +104,6 @@ def favicon(): def index(): return render_template( "index.html", - locale=get_locale(), - user=session.get("user", {}), catalog=get_catalog(), ) @@ -106,12 +112,10 @@ def index(): def browse_catalog(): return render_template( "catalog.html", - locale=get_locale(), init_sort=request.args.get("sort"), init_search=request.args.get("search"), init_category=request.args.get("category"), init_starsonly=request.args.get("starsonly"), - user=session.get("user", {}), catalog=get_catalog(), timestamp_now=int(time.time()), stars=get_stars(), @@ -134,8 +138,6 @@ def app_info(app_id): return render_template( "app.html", - locale=get_locale(), - user=session.get("user", {}), app_id=app_id, infos=infos, catalog=get_catalog(), @@ -184,11 +186,6 @@ def star_app(app_id, action): def browse_wishlist(): return render_template( "wishlist.html", - init_sort=request.args.get("sort"), - init_search=request.args.get("search"), - init_starsonly=request.args.get("starsonly"), - locale=get_locale(), - user=session.get("user", {}), wishlist=get_wishlist(), stars=get_stars(), ) @@ -208,8 +205,6 @@ def add_to_wishlist(): ) return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), csrf_token=None, successmsg=None, errormsg=errormsg, @@ -220,8 +215,6 @@ def add_to_wishlist(): errormsg = _("Invalid CSRF token, please refresh the page and try again") return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), csrf_token=csrf_token, successmsg=None, errormsg=errormsg, @@ -256,7 +249,7 @@ def add_to_wishlist(): checks = [ ( check_wishlist_submit_ratelimit(session["user"]["username"]) is True - and session["user"]["bypass_ratelimit"] is False, + or session["user"]["bypass_ratelimit"] is True, _( "Proposing wishlist additions is limited to once every 15 days per user. Please try again in a few days." ), @@ -315,8 +308,6 @@ def add_to_wishlist(): if not check: return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), csrf_token=csrf_token, successmsg=None, errormsg=errormsg, @@ -337,8 +328,6 @@ def add_to_wishlist(): url = f"https://apps.yunohost.org/wishlist?search={slug}" return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), csrf_token=csrf_token, successmsg=None, errormsg=_( @@ -354,8 +343,6 @@ def add_to_wishlist(): url = f"https://apps.yunohost.org/app/{slug}" return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), csrf_token=csrf_token, successmsg=None, errormsg=_( @@ -389,8 +376,6 @@ def add_to_wishlist(): ) return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), csrf_token=csrf_token, successmsg=None, errormsg=errormsg, @@ -444,8 +429,6 @@ Description: {description} return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), successmsg=successmsg, ) else: @@ -454,8 +437,6 @@ Description: {description} session["csrf_token"] = csrf_token return render_template( "wishlist_add.html", - locale=get_locale(), - user=session.get("user", {}), csrf_token=csrf_token, successmsg=None, errormsg=None, diff --git a/store/messages.pot b/store/messages.pot index 131eee40..6af8cf79 100644 --- a/store/messages.pot +++ b/store/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-03-22 04:59+0100\n" +"POT-Creation-Date: 2024-04-01 00:57+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -202,7 +202,7 @@ msgid "Important infos before installing" msgstr "" #: templates/app.html:124 -msgid "Anti-features" +msgid "Antifeatures" msgstr "" #: templates/app.html:125 diff --git a/store/templates/app.html b/store/templates/app.html index c39413ea..85c039de 100644 --- a/store/templates/app.html +++ b/store/templates/app.html @@ -121,7 +121,7 @@ {% endif %} {% if infos["antifeatures"] %} -

{{ _("Anti-features") }}

+

{{ _("Antifeatures") }}

{{ _("(This app has features you may not like)") }}

    diff --git a/store/templates/catalog.html b/store/templates/catalog.html index d07fd883..3c357a62 100644 --- a/store/templates/catalog.html +++ b/store/templates/catalog.html @@ -89,7 +89,7 @@ type="text" id="search" placeholder="{{ _('Search for…') }}" - {% if init_search %}value="{{ init_search }}"{% endif %} + {% if request.args.get("search") %}value="{{ request.args.get("search") }}"{% endif %} class="w-full rounded-md border-gray-200 shadow-sm sm:text-sm py-2 pe-10" > @@ -106,7 +106,7 @@ > {% for id, category in catalog['categories'].items() %} - + {% endfor %}
@@ -120,15 +120,15 @@ id="selectsort" class="inline-block rounded-md border-gray-200 text-sm ml-1 pl-1 pr-7 h-8 py-0" > - - - + + +