diff --git a/.github/workflows/added_dates.yml b/.github/workflows/added_dates.yml index 6a32fd44..397a7a5b 100644 --- a/.github/workflows/added_dates.yml +++ b/.github/workflows/added_dates.yml @@ -13,6 +13,7 @@ jobs: with: fetch-depth: 0 token: ${{ secrets.YUNOHOST_BOT_TOKEN }} + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: diff --git a/.github/workflows/auto_messages_pot.yml b/.github/workflows/auto_messages_pot.yml index c290b6f8..6640e8e3 100644 --- a/.github/workflows/auto_messages_pot.yml +++ b/.github/workflows/auto_messages_pot.yml @@ -14,25 +14,29 @@ jobs: uses: actions/setup-python@v5 with: python-version: 3.11 + - name: Install dependencies 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/ pybabel extract --ignore-dirs venv -F babel.cfg -o messages.pot . - - shell: pwsh - id: check_files_changed + + - name: Check if files changed run: | - $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" + HAS_DIFF=$(python .github/diff_pot_files.py tools/readme_generator/messages.pot.old tools/readme_generator/messages.pot) + echo "HAS_DIFF=$HAS_DIFF" >> $GITHUB_ENV + - name: Create Pull Request - if: steps.check_files_changed.outputs.files_changed == 'true' + if: ${{ env.HAS_DIFF == 'true' }} uses: peter-evans/create-pull-request@v6 with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/autoblack.yml b/.github/workflows/autoblack.yml index 761222be..25c8e8b3 100644 --- a/.github/workflows/autoblack.yml +++ b/.github/workflows/autoblack.yml @@ -15,15 +15,8 @@ jobs: with: options: "." continue-on-error: true - - shell: pwsh - id: check_files_changed - run: | - # Diff HEAD with the previous commit - $diff = git diff - $HasDiff = $diff.Length -gt 0 - Write-Host "::set-output name=files_changed::$HasDiff" + - name: Create Pull Request - if: steps.check_files_changed.outputs.files_changed == 'true' uses: peter-evans/create-pull-request@v6 with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test_toml.yaml b/.github/workflows/test_toml.yaml index 8cd0e4b4..6c67ec9f 100644 --- a/.github/workflows/test_toml.yaml +++ b/.github/workflows/test_toml.yaml @@ -11,15 +11,8 @@ jobs: - uses: actions/checkout@v4 - uses: uncenter/setup-taplo@v1 - run: taplo fmt - - shell: pwsh - id: check_files_changed - run: | - # Diff HEAD with the previous commit - $diff = git diff - $HasDiff = $diff.Length -gt 0 - Write-Host "::set-output name=files_changed::$HasDiff" + - name: Create Pull Request - if: steps.check_files_changed.outputs.files_changed == 'true' uses: peter-evans/create-pull-request@v6 with: token: ${{ secrets.GITHUB_TOKEN }} @@ -28,4 +21,4 @@ jobs: body: | This pull request uses the [Taplo](https://taplo.tamasfe.dev) formatter. base: ${{ github.head_ref }} # Creates pull request onto pull request or commit branch - branch: actions/toml \ No newline at end of file + branch: actions/toml diff --git a/.gitignore b/.gitignore index a007ae50..30308255 100644 --- a/.gitignore +++ b/.gitignore @@ -11,14 +11,8 @@ __pycache__/ .mypy_cache/ # Github authentication files -/.github_* +/tools/.github_* # yunohost specific cache/output dirs .apps_cache builds* - -tools/bot-repo-cleanup/.github_token -tools/autoupdater-upgrader/.* - -tools/autopatches/login -tools/autopatches/token diff --git a/antifeatures.toml b/antifeatures.toml index 76ae4adc..c7fac365 100644 --- a/antifeatures.toml +++ b/antifeatures.toml @@ -123,7 +123,7 @@ title.it = "Sostituita da un’altra app" [alpha-software] description.en = "Early development stage. May contain changing or unstable features, bugs, and security vulnerability." -description.eu = "Garapenaren hasierako fasean dago. Ezaugarri aldakor edo ezegonkorrak, erroreak eta segurtasuneko arazoak izan ditzazke." +description.eu = "Garapenaren hasierako fasean dago. Ezaugarri aldakor edo ezegonkorrak, erroreak eta segurtasun-arazoak izan ditzazke." description.fr = "Le logiciel est au tout début de son développement. Il pourrait contenir des fonctionnalités changeantes ou instables, des bugs, et des failles de sécurité." description.it = "Questo software è all’inizio della sua fase di sviluppo. Potrebbe dunque essere instabile, contenere bug e vulnerabilità di sicurezza." icon = "flask" diff --git a/apps.toml b/apps.toml index dd2ead64..2e09dc32 100644 --- a/apps.toml +++ b/apps.toml @@ -40,7 +40,9 @@ url = "https://github.com/YunoHost-Apps/abantecart_ynh" [acropolis] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "social_media" +deprecated_date = 1717071136 # 2024/05/30 level = 6 state = "working" subtags = [ "microblogging", "pictures" ] @@ -65,8 +67,10 @@ url = "https://github.com/YunoHost-Apps/adguardhome_ynh" [adminer] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "system_tools" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "db" ] url = "https://github.com/YunoHost-Apps/adminer_ynh" @@ -80,8 +84,10 @@ url = "https://github.com/YunoHost-Apps/aeneria_ynh" [agendav] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "synchronization" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 6 potential_alternative_to = [ "Google Agenda", "Microsoft Outlook" ] state = "working" subtags = [ "calendar" ] @@ -90,7 +96,7 @@ url = "https://github.com/YunoHost-Apps/agendav_ynh" [agora] added_date = 1674232499 # 2023/01/20 category = "wat" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/agora_ynh" @@ -150,7 +156,7 @@ url = "https://github.com/YunoHost-Apps/archivebox_ynh" [archivist] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 7 +level = 6 state = "working" subtags = [ "backup" ] url = "https://github.com/YunoHost-Apps/archivist_ynh" @@ -188,7 +194,7 @@ url = "https://github.com/YunoHost-Apps/automad_ynh" [backdrop] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 8 +level = 6 state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/backdrop_ynh" @@ -196,7 +202,7 @@ url = "https://github.com/YunoHost-Apps/backdrop_ynh" [baikal] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 8 +level = 6 potential_alternative_to = [ "Microsoft Outlook" ] state = "working" subtags = [ "calendar", "contacts" ] @@ -205,14 +211,16 @@ url = "https://github.com/YunoHost-Apps/baikal_ynh" [bazarr] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/bazarr_ynh" [beehive] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "iot" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/beehive_ynh" @@ -234,8 +242,10 @@ url = "https://github.com/YunoHost-Apps/bicbucstriim_ynh" [blogotext] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 6 potential_alternative_to = [ "Blogger", "Coldfusion", "Wix" ] state = "working" subtags = [ "blog" ] @@ -278,7 +288,7 @@ url = "https://github.com/YunoHost-Apps/bookwyrm_ynh" [borg] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 potential_alternative_to = [ "Time Machine", "Veeam" ] state = "working" subtags = [ "backup" ] @@ -305,7 +315,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "synchronization" deprecated_date = 1660401772 # 2022/08/13 -level = 7 +level = 6 potential_alternative_to = [ "WeTransfer" ] state = "working" subtags = [ "files" ] @@ -323,12 +333,20 @@ url = "https://github.com/yunoHost-Apps/cac-proxy_ynh" [cachet] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 potential_alternative_to = [ "StatusHub" ] state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/cachet_ynh" +[caerp] +added_date = 1674232499 # 2023/01/20 +category = "productivity_and_management" +level = 0 +state = "notworking" +subtags = [ "accounting", "business_and_ngos" ] +url = "https://github.com/Yunohost-Apps/caerp_ynh" + [calckey] added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] @@ -379,15 +397,17 @@ url = "https://github.com/YunoHost-Apps/chatonsinfos_ynh" [cheky] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "small_utilities" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/cheky_ynh" [chitchatter] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 6 state = "working" subtags = [ "chat" ] url = "https://github.com/YunoHost-Apps/chitchatter_ynh" @@ -397,7 +417,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "office" deprecated_date = 1660635329 # 2022/08/16 -level = 7 +level = 6 state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/chtickynotes_ynh" @@ -407,7 +427,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "publishing" deprecated_date = 1660635175 # 2022/08/16 -level = 7 +level = 6 state = "working" subtags = [ "wiki" ] url = "https://github.com/YunoHost-Apps/chuwiki_ynh" @@ -423,7 +443,7 @@ url = "https://github.com/YunoHost-Apps/chyrplite_ynh" [cinny] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 1 potential_alternative_to = [ "Discord", "Facebook Messenger", "Signal", "Skype", "Telegram", "Whatsapp" ] state = "working" subtags = [ "chat" ] @@ -496,8 +516,10 @@ url = "https://github.com/YunoHost-Apps/collabora_ynh" [commento] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 potential_alternative_to = [ "Disqus" ] state = "working" subtags = [ "website" ] @@ -521,7 +543,7 @@ url = "https://github.com/YunoHost-Apps/concrete5_ynh" [conduit] added_date = 1691780437 # 2023/08/11 category = "communication" -level = 7 +level = 8 potential_alternative_to = [ "Discord", "Facebook Messenger", "Signal", "Skype", "Telegram", "Whatsapp" ] state = "working" subtags = [ "chat" ] @@ -530,7 +552,7 @@ url = "https://github.com/YunoHost-Apps/conduit_ynh" [converse] 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" ] @@ -540,7 +562,7 @@ url = "https://github.com/YunoHost-Apps/converse_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "package-not-maintained" ] category = "reading" -level = 7 +level = 6 state = "working" subtags = [ "books" ] url = "https://github.com/YunoHost-Apps/cops_ynh" @@ -563,8 +585,9 @@ url = "https://github.com/YunoHost-Apps/couchdb_ynh" [couchpotato] added_date = 1674232499 # 2023/01/20 -antifeatures = [ "package-not-maintained" ] +antifeatures = [ "deprecated-software", "package-not-maintained" ] category = "multimedia" +deprecated_date = 1717071136 # 2024/05/30 level = 0 potential_alternative_to = [ "Netflix" ] state = "notworking" @@ -582,7 +605,7 @@ url = "https://github.com/YunoHost-Apps/cowyo_ynh" [crabfit] added_date = 1710114839 # 2024/03/10 category = "productivity_and_management" -level = 7 +level = 6 potential_alternative_to = [ "Doodle", "OpenSondage" ] state = "working" subtags = [ "poll" ] @@ -647,7 +670,7 @@ url = "https://github.com/YunoHost-Apps/decidim_ynh" [deluge] added_date = 1691487217 # 2023/08/08 category = "multimedia" -level = 7 +level = 6 potential_alternative_to = [ "µTorrent" ] state = "working" subtags = [ "download" ] @@ -657,7 +680,7 @@ url = "https://github.com/YunoHost-Apps/deluge_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "alpha-software" ] category = "communication" -level = 7 +level = 6 potential_alternative_to = [ "Discord", "Facebook Messenger", "Signal", "Skype", "Telegram", "Whatsapp" ] state = "working" subtags = [ "chat" ] @@ -666,7 +689,7 @@ url = "https://github.com/YunoHost-Apps/dendrite_ynh" [dex] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "network" ] url = "https://github.com/YunoHost-Apps/dex_ynh" @@ -674,7 +697,7 @@ url = "https://github.com/YunoHost-Apps/dex_ynh" [diacamma] added_date = 1702911143 # 2023/12/18 category = "productivity_and_management" -level = 7 +level = 6 potential_alternative_to = [ "AssoConnect", "Ciel Associations", "HelloAsso" ] state = "working" subtags = [ "accounting", "business_and_ngos" ] @@ -736,7 +759,7 @@ url = "https://github.com/YunoHost-Apps/digiwords_ynh" [directorylister] added_date = 1688911597 # 2023/07/09 category = "small_utilities" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/directorylister_ynh" @@ -761,7 +784,9 @@ url = "https://github.com/YunoHost-Apps/dispatch_ynh" [distbin] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "small_utilities" +deprecated_date = 1717071136 # 2024/05/30 level = 6 state = "working" subtags = [ "pastebin" ] @@ -880,6 +905,13 @@ level = 8 state = "working" url = "https://github.com/YunoHost-Apps/duniter_ynh" +[dynamicqrcode] +added_date = 1721508308 # 2024/07/20 +category = "small_utilities" +level = 7 +state = "working" +url = "https://github.com/YunoHost-Apps/dynamicqrcode_ynh" + [easyappointments] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" @@ -938,7 +970,7 @@ category = "publishing" level = 8 potential_alternative_to = [ "Blogger", "Blogspot", "Wix" ] state = "working" -subtags = [ "blog", "website" ] +subtags = [ "blog", "static_site_generator", "website" ] url = "https://github.com/YunoHost-Apps/eleventy_ynh" [emailpoubelle] @@ -968,19 +1000,13 @@ url = "https://github.com/YunoHost-Apps/encryptic_ynh" [encryptor-decryptor] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "small_utilities" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/encryptor-decryptor_ynh" -[endi] -added_date = 1674232499 # 2023/01/20 -category = "productivity_and_management" -level = 0 -state = "working" -subtags = [ "accounting", "business_and_ngos" ] -url = "https://github.com/Yunohost-Apps/endi_ynh" - [epicyon] added_date = 1674232499 # 2023/01/20 category = "social_media" @@ -999,8 +1025,10 @@ url = "https://github.com/YunoHost-Apps/ergo_ynh" [ethercalc] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "office" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 potential_alternative_to = [ "G Suite", "Google Sheets", "Microsoft Excel", "Office 365" ] state = "working" subtags = [ "spreadsheet" ] @@ -1027,7 +1055,7 @@ url = "https://github.com/YunoHost-Apps/etherpad_mypads_ynh" [excalidraw] added_date = 1674232499 # 2023/01/20 category = "office" -level = 8 +level = 6 potential_alternative_to = [ "Lucidchart" ] state = "working" subtags = [ "draw" ] @@ -1036,14 +1064,16 @@ url = "https://github.com/YunoHost-Apps/excalidraw_ynh" [fab-manager] added_date = 1674232499 # 2023/01/20 category = "office" -level = 6 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/fab-manager_ynh" [facette] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "system_tools" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/facette_ynh" @@ -1066,7 +1096,7 @@ url = "https://github.com/YunoHost-Apps/fastapi_ynh" [fider] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 3 +level = 7 state = "working" subtags = [ "poll" ] url = "https://github.com/YunoHost-Apps/fider_ynh" @@ -1080,8 +1110,10 @@ url = "https://github.com/YunoHost-Apps/filebrowser_ynh" [filepizza] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "synchronization" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 potential_alternative_to = [ "WeTransfer" ] state = "working" subtags = [ "files" ] @@ -1090,7 +1122,7 @@ url = "https://github.com/YunoHost-Apps/filepizza_ynh" [firefish] added_date = 1691055044 # 2023/08/03 category = "social_media" -level = 0 +level = 6 potential_alternative_to = [ "Calckey", "Mastodon", "Misskey", "Pleroma", "Threads", "X" ] state = "working" url = "https://github.com/YunoHost-Apps/firefish_ynh" @@ -1131,7 +1163,7 @@ url = "https://github.com/YunoHost-Apps/flarum_ynh" [flohmarkt] added_date = 1714137502 # 2024/04/26 -antifeatures = [ "alpha-software", "arbitrary-limitations" ] +antifeatures = [ "alpha-software" ] category = "publishing" level = 7 potential_alternative_to = [ "ClassifiedAds.com", "kleinanzeigen.de" ] @@ -1157,8 +1189,10 @@ url = "https://github.com/YunoHost-Apps/fluffychat_ynh" [fluxbb] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "communication" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 potential_alternative_to = [ "Invision Community", "Vanilla", "XenForo", "vBulletin" ] state = "working" subtags = [ "forum" ] @@ -1185,7 +1219,7 @@ url = "https://github.com/YunoHost-Apps/forgejo_ynh" [framaforms] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 8 +level = 6 potential_alternative_to = [ "Google Forms" ] state = "working" subtags = [ "poll" ] @@ -1202,7 +1236,7 @@ url = "https://github.com/YunoHost-Apps/framagames_ynh" added_date = 1700522075 # 2023/11/20 antifeatures = [ "not-totally-free-upstream" ] category = "productivity_and_management" -level = 6 +level = 7 potential_alternative_to = [ "Zendesk" ] state = "working" subtags = [ "task" ] @@ -1211,7 +1245,7 @@ url = "https://github.com/YunoHost-Apps/freescout_ynh" [freshrss] added_date = 1674232499 # 2023/01/20 category = "reading" -level = 8 +level = 6 potential_alternative_to = [ "Feedly", "Google Reader", "Netvibes" ] state = "working" subtags = [ "rssreader" ] @@ -1239,7 +1273,7 @@ url = "https://github.com/YunoHost-Apps/funkwhale_ynh" added_date = 1674232499 # 2023/01/20 category = "communication" level = 8 -potential_alternative_to = [ "Skype", "Zoom" ] +potential_alternative_to = [ "BigBlueButton", "Skype", "Zoom" ] state = "working" subtags = [ "meeting" ] url = "https://github.com/YunoHost-Apps/galene_ynh" @@ -1247,7 +1281,7 @@ url = "https://github.com/YunoHost-Apps/galene_ynh" [galette] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 6 +level = 8 state = "working" subtags = [ "business_and_ngos" ] url = "https://github.com/YunoHost-Apps/galette_ynh" @@ -1271,7 +1305,7 @@ url = "https://github.com/YunoHost-Apps/gancio_ynh" [garage] added_date = 1674656794 # 2023/01/25 category = "system_tools" -level = 8 +level = 6 state = "working" subtags = [ "backup" ] url = "https://github.com/YunoHost-Apps/garage_ynh" @@ -1279,14 +1313,16 @@ url = "https://github.com/YunoHost-Apps/garage_ynh" [gemserv] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/gemserv_ynh" [getsimple] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "blog", "website" ] url = "https://github.com/YunoHost-Apps/getsimple_ynh" @@ -1321,7 +1357,7 @@ url = "https://github.com/YunoHost-Apps/gitlab_ynh" [gitlab-runner] added_date = 1674232499 # 2023/01/20 category = "dev" -level = 8 +level = 6 state = "working" subtags = [ "forge" ] url = "https://github.com/YunoHost-Apps/gitlab-runner_ynh" @@ -1337,13 +1373,14 @@ url = "https://github.com/YunoHost-Apps/gitlist_ynh" [glance] added_date = 1715979623 # 2024/05/17 category = "reading" +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/glance_ynh" [glitchsoc] added_date = 1674232499 # 2023/01/20 category = "social_media" -level = 6 +level = 8 state = "working" subtags = [ "microblogging" ] url = "https://github.com/YunoHost-Apps/glitchsoc_ynh" @@ -1359,7 +1396,7 @@ url = "https://github.com/YunoHost-Apps/glowingbear_ynh" [glpi] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 6 +level = 8 potential_alternative_to = [ "Cherwell", "Freshdesk", "Ivanti", "Peregrine Systems (AssetCenter)", "Remedy (BMC Software)", "ServiceNow" ] state = "working" subtags = [ "task" ] @@ -1368,7 +1405,7 @@ url = "https://github.com/YunoHost-Apps/glpi_ynh" [gogs] added_date = 1674232499 # 2023/01/20 category = "dev" -level = 8 +level = 6 potential_alternative_to = [ "GitHub" ] state = "working" subtags = [ "forge" ] @@ -1409,7 +1446,7 @@ url = "https://github.com/YunoHost-Apps/grafana_ynh" [grammalecte] added_date = 1674232499 # 2023/01/20 category = "office" -level = 8 +level = 6 state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/grammalecte_ynh" @@ -1463,7 +1500,7 @@ url = "https://github.com/YunoHost-Apps/h5ai_ynh" [halcyon] added_date = 1674232499 # 2023/01/20 category = "social_media" -level = 8 +level = 6 potential_alternative_to = [ "X" ] state = "working" subtags = [ "microblogging" ] @@ -1488,7 +1525,7 @@ url = "https://github.com/YunoHost-Apps/hat_ynh" [headphones] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 8 +level = 6 state = "working" subtags = [ "download" ] url = "https://github.com/YunoHost-Apps/headphones_ynh" @@ -1606,7 +1643,7 @@ url = "https://github.com/YunoHost-Apps/icecoder_ynh" [iceshrimp] added_date = 1703341532 # 2023/12/23 category = "social_media" -level = 0 +level = 7 potential_alternative_to = [ "Calckey", "Mastodon", "Misskey", "Pleroma", "Threads", "X" ] state = "working" url = "https://github.com/YunoHost-Apps/iceshrimp_ynh" @@ -1638,7 +1675,7 @@ url = "https://github.com/YunoHost-Apps/ihatemoney_ynh" added_date = 1711921326 # 2024/03/31 antifeatures = [ "alpha-software" ] category = "multimedia" -level = 6 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/immich_ynh" @@ -1661,7 +1698,7 @@ url = "https://github.com/YunoHost-Apps/indexhibit_ynh" added_date = 1691920584 # 2023/08/13 branch = "main" category = "system_tools" -level = 7 +level = 6 state = "working" subtags = [ "db", "monitoring" ] url = "https://github.com/YunoHost-Apps/influxdb_v2_ynh" @@ -1681,7 +1718,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "productivity_and_management" deprecated_date = 1691394954 # 2023/08/07 -level = 7 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/invoiceninja_ynh" @@ -1695,7 +1732,7 @@ url = "https://github.com/YunoHost-Apps/invoiceninja5_ynh" [isso] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 8 +level = 6 state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/isso_ynh" @@ -1767,7 +1804,7 @@ url = "https://github.com/YunoHost-Apps/jirafeau_ynh" [jitsi] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 6 potential_alternative_to = [ "Google Hangouts", "Skype" ] state = "working" subtags = [ "meeting" ] @@ -1777,7 +1814,7 @@ url = "https://github.com/YunoHost-Apps/jitsi_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "package-not-maintained" ] category = "publishing" -level = 7 +level = 6 state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/joomla_ynh" @@ -1809,7 +1846,7 @@ url = "https://github.com/YunoHost-Apps/jupyterlab_ynh" [kanboard] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 6 +level = 8 potential_alternative_to = [ "Trello" ] state = "working" subtags = [ "task" ] @@ -1845,7 +1882,7 @@ url = "https://github.com/YunoHost-Apps/kimai2_ynh" [kiwiirc] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 6 state = "working" subtags = [ "chat" ] url = "https://github.com/YunoHost-Apps/kiwiirc_ynh" @@ -1869,7 +1906,7 @@ url = "https://github.com/YunoHost-Apps/kodi_ynh" [koel] added_date = 1694978602 # 2023/09/17 category = "multimedia" -level = 7 +level = 8 potential_alternative_to = [ "Airsonic", "Deezer", "SoundCloud", "Spotify" ] state = "working" subtags = [ "music" ] @@ -1910,8 +1947,9 @@ url = "https://github.com/YunoHost-Apps/languagetool_ynh" [laverna] added_date = 1674232499 # 2023/01/20 -antifeatures = [ "package-not-maintained" ] +antifeatures = [ "deprecated-software", "package-not-maintained" ] category = "office" +deprecated_date = 1717071136 # 2024/05/30 level = 7 state = "working" subtags = [ "text" ] @@ -1929,7 +1967,7 @@ url = "https://github.com/YunoHost-Apps/leantime_ynh" [leed] added_date = 1674232499 # 2023/01/20 category = "reading" -level = 8 +level = 6 potential_alternative_to = [ "Feedly", "Google Reader", "Netvibes" ] state = "working" subtags = [ "rssreader" ] @@ -1938,7 +1976,7 @@ url = "https://github.com/YunoHost-Apps/leed_ynh" [lemmy] added_date = 1674232499 # 2023/01/20 category = "social_media" -level = 6 +level = 8 potential_alternative_to = [ "Hacker News", "Lobste.rs", "Reddit" ] state = "working" url = "https://github.com/YunoHost-Apps/lemmy_ynh" @@ -1997,7 +2035,9 @@ url = "https://github.com/YunoHost-Apps/librespeed_ynh" [libreto] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" +deprecated_date = 1717071136 # 2024/05/30 level = 7 state = "working" subtags = [ "wiki" ] @@ -2021,7 +2061,7 @@ url = "https://github.com/YunoHost-Apps/librex_ynh" [lidarr] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/lidarr_ynh" @@ -2038,7 +2078,7 @@ url = "https://github.com/YunoHost-Apps/limesurvey_ynh" added_date = 1685604095 # 2023/06/01 antifeatures = [ "non-free-network" ] category = "small_utilities" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/lingva_ynh" @@ -2051,7 +2091,9 @@ url = "https://github.com/YunoHost-Apps/linkstack_ynh" [linuxdash] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "system_tools" +deprecated_date = 1717071136 # 2024/05/30 level = 6 state = "working" subtags = [ "monitoring" ] @@ -2060,7 +2102,7 @@ url = "https://github.com/YunoHost-Apps/linuxdash_ynh" [lionwiki-t2t] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 8 +level = 6 state = "working" subtags = [ "wiki" ] url = "https://github.com/YunoHost-Apps/lionwiki-t2t_ynh" @@ -2085,7 +2127,7 @@ url = "https://github.com/YunoHost-Apps/loki_ynh" [lstu] added_date = 1674232499 # 2023/01/20 category = "small_utilities" -level = 8 +level = 6 potential_alternative_to = [ "bitly" ] state = "working" subtags = [ "url_shortener" ] @@ -2093,8 +2135,10 @@ url = "https://github.com/YunoHost-Apps/lstu_ynh" [luckysheet] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "office" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 potential_alternative_to = [ "Google Docs", "Microsoft Excel" ] state = "working" subtags = [ "spreadsheet" ] @@ -2153,7 +2197,7 @@ url = "https://github.com/YunoHost-Apps/mailman3_ynh" [mantis] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 8 +level = 6 state = "working" subtags = [ "task" ] url = "https://github.com/YunoHost-Apps/mantis_ynh" @@ -2161,7 +2205,7 @@ url = "https://github.com/YunoHost-Apps/mantis_ynh" [mastodon] added_date = 1674232499 # 2023/01/20 category = "social_media" -level = 6 +level = 8 potential_alternative_to = [ "X" ] state = "working" subtags = [ "microblogging" ] @@ -2170,7 +2214,7 @@ url = "https://github.com/YunoHost-Apps/mastodon_ynh" [matomo] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 6 +level = 8 potential_alternative_to = [ "Google Analytics", "Xiti" ] state = "working" subtags = [ "analytics" ] @@ -2179,22 +2223,11 @@ url = "https://github.com/YunoHost-Apps/matomo_ynh" [matrix-appservice-irc] added_date = 1675621561 # 2023/02/05 category = "communication" -level = 7 +level = 8 state = "working" subtags = [ "chat" ] url = "https://github.com/YunoHost-Apps/matrix-appservice-irc_ynh" -[matrix-puppet-discord] -added_date = 1674232499 # 2023/01/20 -antifeatures = [ "deprecated-software" ] -category = "communication" -deprecated_date = 1711055457 # 2024/03/21 -level = 6 -potential_alternative_to = [ "Discord" ] -state = "working" -subtags = [ "chat" ] -url = "https://github.com/YunoHost-Apps/matrix-puppet-discord_ynh" - [matterbridge] added_date = 1674232499 # 2023/01/20 category = "communication" @@ -2244,7 +2277,7 @@ url = "https://github.com/YunoHost-Apps/mautrix_facebook_ynh" [mautrix_signal] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 3 +level = 7 potential_alternative_to = [ "Signal" ] state = "working" subtags = [ "chat" ] @@ -2262,7 +2295,7 @@ url = "https://github.com/YunoHost-Apps/mautrix_telegram_ynh" [mautrix_whatsapp] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 0 +level = 6 potential_alternative_to = [ "Whatsapp" ] state = "working" subtags = [ "chat" ] @@ -2287,7 +2320,7 @@ url = "https://github.com/YunoHost-Apps/meilisearch_ynh" [metabase] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/metabase_ynh" @@ -2300,18 +2333,30 @@ state = "working" subtags = [ "pastebin" ] url = "https://github.com/YunoHost-Apps/microbin_ynh" +[microblogpub] +added_date = 1717921017 # 2024/06/09 +category = "social_media" +level = 7 +state = "working" +subtags = [ "microblogging" ] +url = "https://github.com/YunoHost-Apps/microblogpub_ynh" + [minchat] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "communication" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 6 state = "working" subtags = [ "chat" ] url = "https://github.com/YunoHost-Apps/minchat_ynh" [mindmaps] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "office" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "mindmap" ] url = "https://github.com/YunoHost-Apps/mindmaps_ynh" @@ -2326,8 +2371,10 @@ url = "https://github.com/YunoHost-Apps/minetest_ynh" [mineweb] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/mineweb_ynh" @@ -2366,7 +2413,7 @@ url = "https://github.com/YunoHost-Apps/misskey_ynh" [mobilizon] added_date = 1674232499 # 2023/01/20 category = "social_media" -level = 8 +level = 6 potential_alternative_to = [ "Eventbrite", "Facebook", "Meetup" ] state = "working" subtags = [ "events" ] @@ -2391,7 +2438,7 @@ url = "https://github.com/YunoHost-Apps/mongo-express_ynh" [monica] added_date = 1674232499 # 2023/01/20 category = "wat" -level = 0 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/monica_ynh" @@ -2422,7 +2469,7 @@ url = "https://github.com/YunoHost-Apps/mopidy_ynh" [mosquitto] added_date = 1674232499 # 2023/01/20 category = "iot" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/mosquitto_ynh" @@ -2453,8 +2500,10 @@ url = "https://github.com/YunoHost-Apps/mstream_ynh" [mumble-web] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "communication" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "meeting" ] url = "https://github.com/YunoHost-Apps/mumble-web_ynh" @@ -2462,7 +2511,7 @@ url = "https://github.com/YunoHost-Apps/mumble-web_ynh" [mumbleserver] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 6 state = "working" subtags = [ "meeting" ] url = "https://github.com/YunoHost-Apps/mumbleserver_ynh" @@ -2490,6 +2539,12 @@ state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/my_webapp_ynh" +[my_webdav] +added_date = 1722234218 # 2024/07/29 +category = "system_tools" +state = "working" +url = "https://github.com/YunoHost-Apps/my_webdav_ynh" + [mybb] added_date = 1674232499 # 2023/01/20 category = "communication" @@ -2518,7 +2573,7 @@ url = "https://github.com/YunoHost-Apps/mytinytodo_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "not-totally-free-upstream" ] category = "iot" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/n8n_ynh" @@ -2542,7 +2597,7 @@ url = "https://github.com/YunoHost-Apps/netdata_ynh" added_date = 1674232499 # 2023/01/20 branch = "stable" category = "wat" -level = 6 +level = 8 state = "working" url = "https://gitlab.domainepublic.net/Neutrinet/neutrinet_ynh" @@ -2585,7 +2640,7 @@ url = "https://github.com/YunoHost-Apps/nocodb_ynh" [nodebb] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 6 +level = 8 state = "working" subtags = [ "forum" ] url = "https://github.com/YunoHost-Apps/nodebb_ynh" @@ -2600,7 +2655,7 @@ url = "https://github.com/YunoHost-Apps/nodered_ynh" [nomad] added_date = 1674232499 # 2023/01/20 category = "dev" -level = 6 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/nomad_ynh" @@ -2634,10 +2689,17 @@ state = "working" subtags = [ "business_and_ngos" ] url = "https://github.com/YunoHost-Apps/ofbiz_ynh" +[olivetin] +added_date = 1718743911 # 2024/06/18 +category = "small_utilities" +level = 7 +state = "working" +url = "https://github.com/YunoHost-Apps/olivetin_ynh" + [ombi] added_date = 1696432145 # 2023/10/04 category = "multimedia" -level = 7 +level = 6 potential_alternative_to = [ "Netflix", "Plex" ] state = "working" subtags = [ "mediacenter" ] @@ -2674,7 +2736,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "office" deprecated_date = 1708403676 # 2024/02/20 -level = 7 +level = 6 state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/opennote_ynh" @@ -2727,7 +2789,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "wat" deprecated_date = 1712777448 # 2024/04/10 -level = 7 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/osjs_ynh" @@ -2758,7 +2820,7 @@ url = "https://github.com/YunoHost-Apps/overleaf_ynh" [owncast] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/owncast_ynh" @@ -2772,7 +2834,7 @@ url = "https://github.com/YunoHost-Apps/owncast-emojiwall_ynh" [owncloud] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 7 +level = 8 potential_alternative_to = [ "Apple iCloud", "Dropbox", "Google Drive", "Microsoft OneDrive" ] state = "working" subtags = [ "files" ] @@ -2814,7 +2876,7 @@ url = "https://github.com/YunoHost-Apps/pairdrop_ynh" [paperless-ngx] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 8 +level = 6 state = "working" subtags = [ "files" ] url = "https://github.com/YunoHost-Apps/paperless-ngx_ynh" @@ -2832,7 +2894,7 @@ url = "https://github.com/YunoHost-Apps/peertube_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "not-totally-free-upstream" ] category = "social_media" -level = 7 +level = 8 state = "working" subtags = [ "videos" ] url = "https://github.com/YunoHost-Apps/peertube-search-index_ynh" @@ -2850,7 +2912,7 @@ added_date = 1674232499 # 2023/01/20 category = "publishing" level = 8 state = "working" -subtags = [ "website" ] +subtags = [ "static_site_generator", "website" ] url = "https://github.com/YunoHost-Apps/pelican_ynh" [penpot] @@ -2889,7 +2951,7 @@ url = "https://github.com/YunoHost-Apps/petrolette_ynh" [pgadmin] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 7 +level = 8 state = "working" subtags = [ "db" ] url = "https://github.com/YunoHost-Apps/pgadmin_ynh" @@ -2966,7 +3028,7 @@ url = "https://github.com/YunoHost-Apps/phpldapadmin_ynh" [phplicensewatcher] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/phplicensewatcher_ynh" @@ -2981,7 +3043,7 @@ url = "https://github.com/YunoHost-Apps/phpmyadmin_ynh" [phpservermon] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/phpservermon_ynh" @@ -2996,16 +3058,19 @@ url = "https://github.com/YunoHost-Apps/phpsysinfo_ynh" [pico] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "blog", "website" ] url = "https://github.com/YunoHost-Apps/pico_ynh" [pihole] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "package-not-maintained" ] category = "system_tools" -level = 8 +level = 6 state = "working" subtags = [ "network" ] url = "https://github.com/YunoHost-Apps/pihole_ynh" @@ -3023,9 +3088,9 @@ url = "https://github.com/YunoHost-Apps/piped_ynh" [piwigo] added_date = 1674232499 # 2023/01/20 category = "multimedia" -level = 8 +level = 0 potential_alternative_to = [ "Google Photos", "Keepeek", "Koken", "Orkis Ajaris", "Orphéa" ] -state = "working" +state = "notworking" subtags = [ "pictures" ] url = "https://github.com/YunoHost-Apps/piwigo_ynh" @@ -3041,7 +3106,7 @@ url = "https://github.com/YunoHost-Apps/pixelfed_ynh" [plainpad] added_date = 1674232499 # 2023/01/20 category = "office" -level = 8 +level = 6 state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/plainpad_ynh" @@ -3107,8 +3172,10 @@ url = "https://github.com/YunoHost-Apps/prestashop_ynh" [prettynoemiecms] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 6 potential_alternative_to = [ "Wix" ] state = "working" subtags = [ "website" ] @@ -3135,7 +3202,7 @@ url = "https://github.com/YunoHost-Apps/processwire_ynh" [prometheus] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/prometheus_ynh" @@ -3143,7 +3210,7 @@ url = "https://github.com/YunoHost-Apps/prometheus_ynh" [prosody] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 8 +level = 0 state = "working" url = "https://github.com/YunoHost-Apps/prosody_ynh" @@ -3165,7 +3232,7 @@ url = "https://github.com/YunoHost-Apps/proxitok_ynh" [psitransfer] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 8 +level = 6 potential_alternative_to = [ "WeTransfer" ] state = "working" subtags = [ "files" ] @@ -3190,7 +3257,7 @@ url = "https://github.com/YunoHost-Apps/pydio_ynh" [pyinventory] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 3 +level = 8 state = "working" subtags = [ "business_and_ngos" ] url = "https://github.com/YunoHost-Apps/pyinventory_ynh" @@ -3205,7 +3272,7 @@ url = "https://github.com/YunoHost-Apps/pyload_ynh" [pytition] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 8 +level = 6 potential_alternative_to = [ "Avaaz", "Change" ] state = "working" subtags = [ "website" ] @@ -3238,7 +3305,7 @@ url = "https://github.com/YunoHost-Apps/question2answer_ynh" [quizzes] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 8 +level = 6 state = "working" subtags = [ "poll" ] url = "https://github.com/YunoHost-Apps/quizzes_ynh" @@ -3267,6 +3334,14 @@ state = "working" subtags = [ "poll" ] url = "https://github.com/YunoHost-Apps/rallly_ynh" +[rclone] +added_date = 1718745783 # 2024/06/18 +category = "system_tools" +level = 1 +state = "working" +subtags = [ "backup" ] +url = "https://github.com/YunoHost-Apps/rclone_ynh" + [readarr] added_date = 1696451897 # 2023/10/04 category = "reading" @@ -3278,7 +3353,7 @@ url = "https://github.com/YunoHost-Apps/readarr_ynh" [readeck] added_date = 1707572608 # 2024/02/10 category = "small_utilities" -level = 6 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/readeck_ynh" @@ -3311,7 +3386,7 @@ url = "https://github.com/YunoHost-Apps/reiverr_ynh" [restic] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "backup" ] url = "https://github.com/YunoHost-Apps/restic_ynh" @@ -3319,7 +3394,7 @@ url = "https://github.com/YunoHost-Apps/restic_ynh" [retroarch] added_date = 1674232499 # 2023/01/20 category = "games" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/retroarch_ynh" @@ -3399,14 +3474,14 @@ url = "https://github.com/YunoHost-Apps/samba_ynh" [satdress] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/satdress_ynh" [scovie] added_date = 1685183203 # 2023/05/27 category = "publishing" -level = 8 +level = 6 state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/scovie_ynh" @@ -3421,8 +3496,10 @@ url = "https://github.com/YunoHost-Apps/scratch_ynh" [scrumblr] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "small_utilities" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/scrumblr_ynh" @@ -3437,7 +3514,7 @@ url = "https://github.com/YunoHost-Apps/scrutiny_ynh" [seafile] added_date = 1674232499 # 2023/01/20 category = "synchronization" -level = 6 +level = 7 potential_alternative_to = [ "Dropbox", "Google Drive", "Mega", "Microsoft OneDrive", "Resilio Sync", "Time Machine" ] state = "working" subtags = [ "files" ] @@ -3455,7 +3532,7 @@ url = "https://github.com/YunoHost-Apps/searx_ynh" [searxng] added_date = 1678310393 # 2023/03/08 category = "small_utilities" -level = 6 +level = 8 potential_alternative_to = [ "Bing", "DuckDuckGo", "Google", "SearX", "Yahoo" ] state = "working" url = "https://github.com/YunoHost-Apps/searxng_ynh" @@ -3489,14 +3566,16 @@ url = "https://github.com/YunoHost-Apps/shaarli_ynh" [sharkey] added_date = 1707378045 # 2024/02/08 category = "social_media" -level = 0 +level = 6 potential_alternative_to = [ "Calckey", "Firefish", "Mastodon", "Misskey", "Pleroma", "Threads", "X" ] state = "working" url = "https://github.com/YunoHost-Apps/sharkey_ynh" [shellinabox] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "system_tools" +deprecated_date = 1717071136 # 2024/05/30 level = 6 state = "working" url = "https://github.com/YunoHost-Apps/shellinabox_ynh" @@ -3519,8 +3598,10 @@ url = "https://github.com/YunoHost-Apps/shlink_ynh" [shuri] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "small_utilities" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 potential_alternative_to = [ "bitly" ] state = "working" subtags = [ "url_shortener" ] @@ -3544,15 +3625,19 @@ url = "https://github.com/YunoHost-Apps/silverbullet_ynh" [simple-file-manager] added_date = 1699776105 # 2023/11/12 +antifeatures = [ "deprecated-software" ] category = "small_utilities" +deprecated_date = 1717071136 # 2024/05/30 level = 7 state = "working" url = "https://github.com/YunoHost-Apps/simple-file-manager_ynh" [simple-hash-generator] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "small_utilities" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/simple-hash-generator_ynh" @@ -3576,24 +3661,29 @@ url = "https://github.com/YunoHost-Apps/simplex_ynh" [simplytranslate] added_date = 1685875056 # 2023/06/04 -antifeatures = [ "non-free-network" ] +antifeatures = [ "deprecated-software", "non-free-network" ] category = "small_utilities" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/simplytranslate_ynh" [sitemagiccms] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "publishing" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "website" ] url = "https://github.com/YunoHost-Apps/sitemagiccms_ynh" [slingcode] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "dev" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "programming" ] url = "https://github.com/YunoHost-Apps/slingcode_ynh" @@ -3610,7 +3700,7 @@ url = "https://github.com/YunoHost-Apps/snappymail_ynh" [snipeit] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 6 +level = 8 state = "working" subtags = [ "business_and_ngos" ] url = "https://github.com/YunoHost-Apps/snipeit_ynh" @@ -3619,7 +3709,7 @@ url = "https://github.com/YunoHost-Apps/snipeit_ynh" added_date = 1674232499 # 2023/01/20 antifeatures = [ "non-free-assets", "package-not-maintained" ] category = "office" -level = 6 +level = 1 state = "working" subtags = [ "text" ] url = "https://github.com/YunoHost-Apps/snserver_ynh" @@ -3658,7 +3748,7 @@ url = "https://github.com/YunoHost-Apps/sonarr_ynh" [spacedeck] added_date = 1674232499 # 2023/01/20 category = "office" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/spacedeck_ynh" @@ -3672,7 +3762,7 @@ url = "https://github.com/YunoHost-Apps/spftoolbox_ynh" [spip] added_date = 1674232499 # 2023/01/20 category = "publishing" -level = 8 +level = 6 potential_alternative_to = [ "Blogger", "Coldfusion", "Wix" ] state = "working" subtags = [ "website" ] @@ -3681,28 +3771,30 @@ url = "https://github.com/YunoHost-Apps/spip_ynh" [squid3] added_date = 1674232499 # 2023/01/20 category = "small_utilities" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/squid3_ynh" [ssbroom] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 7 +level = 8 state = "working" url = "https://github.com/YunoHost-Apps/ssbroom_ynh" [ssh_chroot_dir] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "system_tools" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/ssh_chroot_dir_ynh" [statpingng] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/statpingng_ynh" @@ -3717,7 +3809,7 @@ url = "https://github.com/YunoHost-Apps/streama_ynh" [streams] added_date = 1691216343 # 2023/08/05 category = "social_media" -level = 7 +level = 8 potential_alternative_to = [ "Facebook", "Threads", "Tumblr", "X" ] state = "working" subtags = [ "microblogging" ] @@ -3725,8 +3817,10 @@ url = "https://github.com/YunoHost-Apps/streams_ynh" [strut] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "office" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 potential_alternative_to = [ "Google Slides", "Office 365", "Prezi", "SoZi" ] state = "working" subtags = [ "impress" ] @@ -3742,7 +3836,7 @@ url = "https://github.com/YunoHost-Apps/superset_ynh" [sutom] added_date = 1674232499 # 2023/01/20 category = "games" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/sutom_ynh" @@ -3766,7 +3860,7 @@ url = "https://github.com/YunoHost-Apps/synapse_ynh" [synapse-admin] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 1 +level = 6 state = "working" subtags = [ "chat" ] url = "https://github.com/YunoHost-Apps/synapse-admin_ynh" @@ -3796,8 +3890,9 @@ url = "https://github.com/YunoHost-Apps/tandoor_ynh" [taskboard] added_date = 1674232499 # 2023/01/20 -antifeatures = [ "package-not-maintained" ] +antifeatures = [ "deprecated-software", "package-not-maintained" ] category = "productivity_and_management" +deprecated_date = 1717071136 # 2024/05/30 level = 7 potential_alternative_to = [ "Trello" ] state = "working" @@ -3816,7 +3911,7 @@ url = "https://github.com/YunoHost-Apps/teampass_ynh" [technitium-dns] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 6 +level = 8 state = "working" subtags = [ "network" ] url = "https://github.com/YunoHost-Apps/technitium-dns_ynh" @@ -3874,7 +3969,7 @@ url = "https://github.com/YunoHost-Apps/timemachine_ynh" [timeoff] 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/timeoff_ynh" @@ -3899,7 +3994,7 @@ url = "https://github.com/YunoHost-Apps/tldraw_ynh" added_date = 1674232499 # 2023/01/20 branch = "master" category = "productivity_and_management" -level = 7 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/tooljet_ynh" @@ -3921,7 +4016,7 @@ url = "https://github.com/YunoHost-Apps/traccar_ynh" [tracim] added_date = 1674232499 # 2023/01/20 category = "office" -level = 8 +level = 0 potential_alternative_to = [ "Dropbox", "Google Drive", "Slack", "Trello" ] state = "working" url = "https://github.com/YunoHost-Apps/tracim_ynh" @@ -4003,8 +4098,10 @@ url = "https://github.com/YunoHost-Apps/tvheadend_ynh" [tyto] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "productivity_and_management" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" subtags = [ "task" ] url = "https://github.com/YunoHost-Apps/tyto_ynh" @@ -4035,14 +4132,14 @@ url = "https://github.com/YunoHost-Apps/ums_ynh" [unattended_upgrades] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" url = "https://github.com/YunoHost-Apps/unattended_upgrades_ynh" [uptime-kuma] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/uptime-kuma_ynh" @@ -4076,7 +4173,7 @@ url = "https://github.com/YunoHost-Apps/vikunja_ynh" [vore] added_date = 1690540859 # 2023/07/28 category = "reading" -level = 0 +level = 8 state = "working" subtags = [ "rssreader" ] url = "https://github.com/YunoHost-Apps/vore_ynh" @@ -4123,14 +4220,14 @@ url = "https://github.com/YunoHost-Apps/webmin_ynh" [webtrees] added_date = 1674232499 # 2023/01/20 category = "wat" -level = 1 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/webtrees_ynh" [wekan] added_date = 1674232499 # 2023/01/20 category = "productivity_and_management" -level = 8 +level = 6 potential_alternative_to = [ "Trello" ] state = "working" subtags = [ "task" ] @@ -4138,22 +4235,24 @@ url = "https://github.com/YunoHost-Apps/wekan_ynh" [wemawema] added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] category = "wat" -level = 8 +deprecated_date = 1717071136 # 2024/05/30 +level = 7 state = "working" url = "https://github.com/YunoHost-Apps/wemawema_ynh" [wetty] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 0 state = "working" url = "https://github.com/YunoHost-Apps/wetty_ynh" [whitebophir] added_date = 1674232499 # 2023/01/20 category = "office" -level = 8 +level = 6 state = "working" subtags = [ "draw" ] url = "https://github.com/YunoHost-Apps/whitebophir_ynh" @@ -4320,7 +4419,7 @@ url = "https://github.com/YunoHost-Apps/z-push_ynh" [zabbix] added_date = 1674232499 # 2023/01/20 category = "system_tools" -level = 8 +level = 6 state = "working" subtags = [ "monitoring" ] url = "https://github.com/YunoHost-Apps/zabbix_ynh" @@ -4330,7 +4429,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "social_media" deprecated_date = 1688291572 # 2023/07/02 -level = 7 +level = 6 state = "working" subtags = [ "microblogging" ] url = "https://github.com/YunoHost-Apps/zap_ynh" @@ -4350,7 +4449,7 @@ added_date = 1674232499 # 2023/01/20 antifeatures = [ "deprecated-software" ] category = "wat" deprecated_date = 1714840875 # 2024/05/04 -level = 8 +level = 7 potential_alternative_to = [ "Mullvad" ] state = "working" url = "https://github.com/YunoHost-Apps/zeronet_ynh" @@ -4382,6 +4481,14 @@ state = "working" subtags = [ "files" ] url = "https://github.com/YunoHost-Apps/zipline_ynh" +[zola] +added_date = 1718733357 # 2024/06/18 +category = "publishing" +level = 7 +state = "working" +subtags = [ "static_site_generator", "website" ] +url = "https://github.com/YunoHost-Apps/zola_ynh" + [ztncui] added_date = 1674232499 # 2023/01/20 antifeatures = [ "non-free-dependencies" ] @@ -4394,7 +4501,7 @@ url = "https://github.com/YunoHost-Apps/ztncui_ynh" [zusam] added_date = 1674232499 # 2023/01/20 category = "communication" -level = 7 +level = 8 state = "working" subtags = [ "forum" ] url = "https://github.com/YunoHost-Apps/zusam_ynh" diff --git a/categories.toml b/categories.toml index d6c27352..fa946225 100644 --- a/categories.toml +++ b/categories.toml @@ -89,6 +89,10 @@ title.it = "Pubblicazione" title.fr = "Statistiques" title.it = "Analisi del traffico" + [publishing.subtags.static_site_generator] + title.en = "Static site generator" + title.fr = "Générateur de site statique" + [communication] description.en = "Chat, email, forum, meetings..." description.es = "Chat, email, foro, reuniones en grupo..." diff --git a/cron b/cron index 92d344f3..41b419cc 100644 --- a/cron +++ b/cron @@ -7,8 +7,8 @@ # Every friday at 6 PM UTC 0 17 * * 5 root /bin/bash __BASEDIR__/maintenance.sh update_app_levels -# Every 6 hours -0 */6 * * * root /bin/bash __BASEDIR__/maintenance.sh fetch_main_dashboard +# Every 2 hours +0 */2 * * * root /bin/bash __BASEDIR__/maintenance.sh fetch_main_dashboard # Every day at 2AM 0 2 * * * root /bin/bash __BASEDIR__/maintenance.sh fetch_level_history diff --git a/graveyard.toml b/graveyard.toml index e6d9a22f..a077283d 100644 --- a/graveyard.toml +++ b/graveyard.toml @@ -192,6 +192,16 @@ potential_alternative_to = [ "Google Groups" ] subtags = [ "email" ] url = "https://github.com/yunohost-apps/mailman_ynh" +[matrix-puppet-discord] +added_date = 1674232499 # 2023/01/20 +antifeatures = [ "deprecated-software" ] +category = "communication" +deprecated_date = 1711055457 # 2024/03/21 +killed_date = 1717576274 # 2024/06/05 +potential_alternative_to = [ "Discord" ] +subtags = [ "chat" ] +url = "https://github.com/YunoHost-Apps/matrix-puppet-discord_ynh" + [mediadrop] added_date = 1554588215 # 2019/04/07 category = "multimedia" diff --git a/logos/endi.png b/logos/caerp.png similarity index 100% rename from logos/endi.png rename to logos/caerp.png diff --git a/logos/dynamicqrcode.png b/logos/dynamicqrcode.png new file mode 100644 index 00000000..278acd63 Binary files /dev/null and b/logos/dynamicqrcode.png differ diff --git a/logos/gancio.png b/logos/gancio.png index 0b39d800..13df103f 100644 Binary files a/logos/gancio.png and b/logos/gancio.png differ diff --git a/logos/ghost.png b/logos/ghost.png index 8a513763..1cef19d8 100644 Binary files a/logos/ghost.png and b/logos/ghost.png differ diff --git a/logos/languagetool.png b/logos/languagetool.png index 9d915e45..57f930a5 100644 Binary files a/logos/languagetool.png and b/logos/languagetool.png differ diff --git a/logos/microblogpub.png b/logos/microblogpub.png new file mode 100644 index 00000000..211b3f03 Binary files /dev/null and b/logos/microblogpub.png differ diff --git a/logos/rclone.png b/logos/rclone.png new file mode 100644 index 00000000..77a8e86c Binary files /dev/null and b/logos/rclone.png differ diff --git a/logos/zola.png b/logos/zola.png new file mode 100644 index 00000000..eba6c0fa Binary files /dev/null and b/logos/zola.png differ diff --git a/maintenance.sh b/maintenance.sh index 89cd8c5d..1fe0d4f4 100644 --- a/maintenance.sh +++ b/maintenance.sh @@ -44,15 +44,25 @@ function git_pull_and_update_cron_and_restart_services_if_needed() # Autoreadme pushd tools/readme_generator >/dev/null - modified_after_service_start="$(find *.py translations/ templates/ -newermt "$(systemctl show --property=ActiveEnterTimestamp autoreadme | cut -d= -f2 | cut -d' ' -f2-3)")" + modified_after_service_start="$(find *.py translations/ templates/ -newermt "$(systemctl show --property=ActiveEnterTimestamp webhooks | cut -d= -f2 | cut -d' ' -f2-3)")" if [ -n "$modified_after_service_start" ] then - systemctl restart autoreadme + systemctl restart webhooks sleep 3 fi popd >/dev/null - systemctl --quiet is-active autoreadme || sendxmpppy "[autoreadme] Uhoh, failed to (re)start the autoreadme service?" + # Autoreadme + pushd tools/webhooks >/dev/null + modified_after_service_start="$(find *.py -newermt "$(systemctl show --property=ActiveEnterTimestamp webhooks | cut -d= -f2 | cut -d' ' -f2-3)")" + if [ -n "$modified_after_service_start" ] + then + systemctl restart webhooks + sleep 3 + fi + popd >/dev/null + + systemctl --quiet is-active webhooks || sendxmpppy "[autoreadme] Uhoh, failed to (re)start the autoreadme service?" } function rebuild_catalog() @@ -69,7 +79,7 @@ function autoupdate_app_sources() date >> $log git_pull_and_update_cron_and_restart_services_if_needed tools/autoupdate_app_sources/venv/bin/python3 tools/autoupdate_app_sources/autoupdate_app_sources.py \ - --edit --commit --pr --paste -j1 \ + --latest-commit-weekly --edit --commit --pr --paste -j1 \ &> $log || sendxmpppy "[appsourcesautoupdate] App sources auto-update failed miserably" } diff --git a/schemas/config_panel.v1.schema.json b/schemas/config_panel.v1.schema.json new file mode 100644 index 00000000..abdff180 --- /dev/null +++ b/schemas/config_panel.v1.schema.json @@ -0,0 +1,227 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://raw.githubusercontent.com/YunoHost/apps/master/schemas/config_panel.v1.schema.json", + "title": "Yunohost app config_panel.toml schema", + "version": "0", + "type": "object", + "$defs": { + "translated_string": { + "anyOf": [ + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[a-z]{2}$": { + "type": "string" + } + }, + "minProperties": 1 + }, + { + "type": "string" + } + ] + }, + "boolean_or_string": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "panel": { + "type": "object", + "properties": { + "name": { + "$ref": "#/$defs/translated_string" + }, + "help": { + "$ref": "#/$defs/translated_string" + }, + "services": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": { + "$ref": "#/$defs/section" + } + }, + "section": { + "type": "object", + "properties": { + "name": { + "$ref": "#/$defs/translated_string" + }, + "help": { + "$ref": "#/$defs/translated_string" + }, + "services": { + "type": "array", + "items": { + "type": "string" + } + }, + "visible": { + "$ref": "#/$defs/boolean_or_string" + }, + "optional": { + "type": "boolean" + } + }, + "additionalProperties": { + "$ref": "#/$defs/option" + } + }, + "option": { + "type": "object", + "additionalProperties": false, + "properties": { + "type": { + "type": "string", + "enum": [ + "string", + "text", + "select", + "tags", + "email", + "url", + "date", + "time", + "color", + "password", + "path", + "boolean", + "domain", + "user", + "group", + "number", + "range", + "alert", + "markdown", + "file", + "app", + "button" + ] + }, + "default": { + "type": [ + "string", + "number", + "boolean" + ] + }, + "example": { + "type": [ + "string", + "number", + "boolean" + ] + }, + "optional": { + "type": "boolean" + }, + "ask": { + "$ref": "#/$defs/translated_string" + }, + "help": { + "$ref": "#/$defs/translated_string" + }, + "choices": { + "anyOf": [ + { + "type": "object", + "required": [], + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "type": "string" + } + } + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "pattern": { + "type": "object", + "required": [], + "additionalProperties": false, + "properties": { + "regexp": { + "type": "string", + "format": "regex" + }, + "error": { + "type": "string" + } + } + }, + "yes": { + "$ref": "#/$defs/boolean_or_string" + }, + "no": { + "$ref": "#/$defs/boolean_or_string" + }, + "visible": { + "$ref": "#/$defs/boolean_or_string" + }, + "bind": { + "type": "string" + }, + "style": { + "type": "string", + "enum": ["info", "danger", "success"] + }, + "redact": { + "type": "boolean" + }, + "enabled": { + "$ref": "#/$defs/boolean_or_string" + }, + "readonly": { + "$ref": "#/$defs/boolean_or_string" + }, + "accept": { + "type": "array", + "items": { + "type": "string" + } + }, + "min": { + "type": "integer" + }, + "max": { + "type": "integer" + } + } + } + }, + + "properties": { + "version": { + "description": "config_panel.toml format / version", + "type": "string", + "pattern": "^[0-9]*(\\.[0-9])*$" + }, + "i18n": { + "description": "Translation domain", + "type": "string" + } + }, + "additionalProperties": { + "$ref": "#/$defs/panel" + }, + "required": [ + "version" + ] +} diff --git a/schemas/manifest.v2.schema.json b/schemas/manifest.v2.schema.json index e30bedea..ac38f571 100644 --- a/schemas/manifest.v2.schema.json +++ b/schemas/manifest.v2.schema.json @@ -151,6 +151,10 @@ "type": "string", "pattern": "^>= ?[0-9]{1,2}(\\.[0-9]{1,2}){0,2}$" }, + "helpers_version": { + "type": "string", + "pattern": "^[0-9]*\\.[0-9]*$" + }, "architectures": { "oneOf": [ { diff --git a/store/app.py b/store/app.py index a54a418f..caac4278 100644 --- a/store/app.py +++ b/store/app.py @@ -91,6 +91,14 @@ def days_ago(timestamp): return int((time.time() - timestamp) / (60 * 60 * 24)) +@app.template_filter("hours_ago") +def hours_ago(timestamp): + d = datetime.now() - datetime.fromtimestamp(timestamp) + minutes, _ = divmod(d.total_seconds(), 60) + hours, minutes = divmod(minutes, 60) + return f"{int(hours)}:{int(minutes):02d}h" + + @app.template_filter("format_datetime") def format_datetime(value, format="%d %b %Y %I:%M %p"): if value is None: @@ -464,7 +472,20 @@ Description: {description} @app.route("/dash") def dash(): - return render_template("dash.html", data=get_dashboard_data(), stars=get_stars()) + + # Sort by popularity by default + stars = get_stars() + data = dict( + sorted( + get_dashboard_data().items(), + key=lambda app: len(stars.get(app[0], [])), + reverse=True, + ) + ) + + return render_template( + "dash.html", data=data, stars=stars, last_data_update=get_dashboard_data.mtime + ) @app.route("/charts") diff --git a/store/messages.pot b/store/messages.pot index 7db085c8..9099ee4e 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-05-09 23:14+0200\n" +"POT-Creation-Date: 2024-06-21 14:11+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,16 +17,16 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.14.0\n" -#: app.py:162 +#: app.py:179 #, python-format msgid "App %(app_id)s not found" msgstr "" -#: app.py:165 +#: app.py:182 msgid "You must be logged in to be able to star an app" msgstr "" -#: app.py:167 app.py:212 app.py:530 templates/wishlist_add.html:33 +#: app.py:184 app.py:229 app.py:634 templates/wishlist_add.html:33 msgid "" "Note that, due to various abuses, we restricted login on the app store to" " 'trust level 1' users.

'Trust level 1' is obtained after " @@ -35,71 +35,71 @@ msgid "" "minutes reading posts." msgstr "" -#: app.py:210 +#: app.py:227 msgid "You must be logged in to submit an app to the wishlist" msgstr "" -#: app.py:225 +#: app.py:242 msgid "Invalid CSRF token, please refresh the page and try again" msgstr "" -#: app.py:263 +#: app.py:280 msgid "" "Proposing wishlist additions is limited to once every 15 days per user. " "Please try again in a few days." msgstr "" -#: app.py:267 +#: app.py:284 msgid "App name should be at least 3 characters" msgstr "" -#: app.py:268 +#: app.py:285 msgid "App name should be less than 30 characters" msgstr "" -#: app.py:271 +#: app.py:288 msgid "App description should be at least 5 characters" msgstr "" -#: app.py:275 +#: app.py:292 msgid "App description should be less than 100 characters" msgstr "" -#: app.py:279 +#: app.py:296 msgid "Upstream code repo URL should be at least 10 characters" msgstr "" -#: app.py:283 +#: app.py:300 msgid "Upstream code repo URL should be less than 150 characters" msgstr "" -#: app.py:287 +#: app.py:304 msgid "License URL should be at least 10 characters" msgstr "" -#: app.py:291 +#: app.py:308 msgid "License URL should be less than 250 characters" msgstr "" -#: app.py:293 +#: app.py:310 msgid "Website URL should be less than 150 characters" msgstr "" -#: app.py:296 +#: app.py:313 msgid "App name contains special characters" msgstr "" -#: app.py:303 +#: app.py:320 msgid "" "Please focus on what the app does, without using marketing, fuzzy terms, " "or repeating that the app is 'free' and 'self-hostable'." msgstr "" -#: app.py:313 +#: app.py:330 msgid "No need to repeat the name of the app. Focus on what the app does." msgstr "" -#: app.py:343 +#: app.py:360 #, python-format msgid "" "An entry with the name %(slug)s already exists in the wishlist, instead, " @@ -107,14 +107,14 @@ msgid "" "interest." msgstr "" -#: app.py:358 +#: app.py:375 #, python-format msgid "" "An app with the name %(slug)s already exists in the catalog, you can see its page here." msgstr "" -#: app.py:383 +#: app.py:400 #, python-format msgid "" "Failed to create the pull request to add the app to the wishlist… Maybe " @@ -122,7 +122,7 @@ msgid "" "please report the issue to the YunoHost team." msgstr "" -#: app.py:433 +#: app.py:450 #, python-format msgid "" "Your proposed app has succesfully been submitted. It must now be " @@ -130,7 +130,7 @@ msgid "" "href='%(url)s'>%(url)s" msgstr "" -#: app.py:528 +#: app.py:632 msgid "Unfortunately, login was denied." msgstr "" @@ -147,7 +147,7 @@ msgid "" msgstr "" #: templates/app.html:30 templates/app.html:31 templates/catalog.html:41 -#: templates/catalog.html:42 templates/catalog.html:170 +#: templates/catalog.html:42 templates/catalog.html:172 msgid "" "This is usually a temporary situation which requires packagers to fix " "something in the app." @@ -246,15 +246,15 @@ msgstr "" msgid "YunoHost app store" msgstr "" -#: templates/base.html:31 templates/base.html:154 templates/index.html:3 +#: templates/base.html:31 templates/base.html:163 templates/index.html:3 msgid "Home" msgstr "" -#: templates/base.html:40 templates/base.html:163 templates/dash.html:66 +#: templates/base.html:40 templates/base.html:172 templates/dash.html:83 msgid "Catalog" msgstr "" -#: templates/base.html:46 templates/base.html:172 +#: templates/base.html:46 templates/base.html:181 msgid "Wishlist" msgstr "" @@ -266,114 +266,119 @@ msgstr "" msgid "Charts & history" msgstr "" -#: templates/base.html:71 templates/base.html:182 +#: templates/base.html:71 templates/base.html:191 msgid "YunoHost documentation" msgstr "" -#: templates/base.html:79 templates/base.html:192 +#: templates/base.html:79 templates/base.html:80 +msgid "Toggle light/dark mode" +msgstr "" + +#: templates/base.html:88 templates/base.html:201 msgid "Login using YunoHost's forum" msgstr "" -#: templates/base.html:111 templates/base.html:120 templates/base.html:220 -#: templates/base.html:229 +#: templates/base.html:120 templates/base.html:129 templates/base.html:229 +#: templates/base.html:238 msgid "Packaging boards" msgstr "" -#: templates/base.html:127 templates/base.html:237 +#: templates/base.html:136 templates/base.html:246 msgid "Logout" msgstr "" -#: templates/base.html:140 +#: templates/base.html:149 msgid "Toggle menu" msgstr "" -#: templates/base.html:255 +#: templates/base.html:264 msgid "" "Made with " -"using Flask and TailwindCSS" +"blue-800 dark:text-blue-400' " +"href='https://tailwindcss.com/'>TailwindCSS" msgstr "" -#: templates/base.html:256 +#: templates/base.html:265 msgid "Source" msgstr "" -#: templates/base.html:257 +#: templates/base.html:266 msgid "Terms of Services" msgstr "" -#: templates/catalog.html:75 templates/catalog.html:80 +#: templates/catalog.html:77 templates/catalog.html:82 msgid "Application Catalog" msgstr "" -#: templates/catalog.html:86 templates/wishlist.html:16 +#: templates/catalog.html:88 templates/wishlist.html:16 msgid "Search" msgstr "" -#: templates/catalog.html:91 templates/wishlist.html:21 +#: templates/catalog.html:93 templates/wishlist.html:21 msgid "Search for…" msgstr "" -#: templates/catalog.html:107 +#: templates/catalog.html:109 msgid "All apps" msgstr "" -#: templates/catalog.html:117 templates/dash.html:34 templates/wishlist.html:39 +#: templates/catalog.html:119 templates/dash.html:36 templates/wishlist.html:39 msgid "Sort by" msgstr "" -#: templates/catalog.html:123 templates/wishlist.html:45 +#: templates/catalog.html:125 templates/wishlist.html:45 #: templates/wishlist.html:78 msgid "Popularity" msgstr "" -#: templates/catalog.html:124 +#: templates/catalog.html:126 msgid "Newest" msgstr "" -#: templates/catalog.html:125 templates/dash.html:40 templates/wishlist.html:46 +#: templates/catalog.html:127 templates/dash.html:42 templates/wishlist.html:46 msgid "Alphabetical" msgstr "" -#: templates/catalog.html:128 templates/dash.html:47 templates/wishlist.html:49 +#: templates/catalog.html:130 templates/dash.html:64 templates/wishlist.html:49 msgid "Requires to be logged-in" msgstr "" -#: templates/catalog.html:130 templates/catalog.html:139 templates/dash.html:49 -#: templates/dash.html:58 templates/wishlist.html:51 templates/wishlist.html:60 +#: templates/catalog.html:132 templates/catalog.html:141 templates/dash.html:66 +#: templates/dash.html:75 templates/wishlist.html:51 templates/wishlist.html:60 msgid "Show only apps you starred" msgstr "" -#: templates/catalog.html:155 templates/wishlist.html:154 +#: templates/catalog.html:157 templates/wishlist.html:154 msgid "No results found." msgstr "" -#: templates/catalog.html:158 +#: templates/catalog.html:160 msgid "Not finding what you are looking for?" msgstr "" -#: templates/catalog.html:159 +#: templates/catalog.html:161 msgid "Checkout the wishlist!" msgstr "" -#: templates/catalog.html:166 +#: templates/catalog.html:168 msgid "Applications currently flagged as broken" msgstr "" -#: templates/catalog.html:169 +#: templates/catalog.html:171 msgid "These are apps which failed our automatic tests." msgstr "" -#: templates/catalog.html:184 +#: templates/catalog.html:186 msgid "Deprecated applications" msgstr "" -#: templates/catalog.html:187 +#: templates/catalog.html:189 msgid "These are apps who are not maintained anymore." msgstr "" -#: templates/catalog.html:188 +#: templates/catalog.html:190 msgid "" "This means that the developer will no longer update them. We strongly " "advise against their installation and advise users to find alternatives." @@ -387,76 +392,76 @@ msgstr "" msgid "Apps quality level history" msgstr "" -#: templates/charts.html:14 +#: templates/charts.html:15 msgid "History" msgstr "" -#: templates/charts.html:22 +#: templates/charts.html:27 msgid "Added" msgstr "" -#: templates/charts.html:28 +#: templates/charts.html:33 msgid "Repaired" msgstr "" -#: templates/charts.html:34 +#: templates/charts.html:39 msgid "Broke" msgstr "" -#: templates/charts.html:40 +#: templates/charts.html:45 msgid "Removed" msgstr "" -#: templates/charts.html:80 +#: templates/charts.html:93 msgid "Unknown" msgstr "" -#: templates/charts.html:81 +#: templates/charts.html:94 msgid "Level 0" msgstr "" -#: templates/charts.html:82 +#: templates/charts.html:95 msgid "Level 1" msgstr "" -#: templates/charts.html:83 +#: templates/charts.html:96 msgid "Level 2" msgstr "" -#: templates/charts.html:84 +#: templates/charts.html:97 msgid "Level 3" msgstr "" -#: templates/charts.html:85 +#: templates/charts.html:98 msgid "Level 4" msgstr "" -#: templates/charts.html:86 +#: templates/charts.html:99 msgid "Level 5" msgstr "" -#: templates/charts.html:87 +#: templates/charts.html:100 msgid "Level 6" msgstr "" -#: templates/charts.html:88 +#: templates/charts.html:101 msgid "Level 7" msgstr "" -#: templates/charts.html:89 +#: templates/charts.html:102 msgid "Level 8" msgstr "" -#: templates/charts.html:107 +#: templates/charts.html:122 #, python-format msgid "Level %(level)s:" msgstr "" -#: templates/charts.html:107 +#: templates/charts.html:122 msgid "Total:" msgstr "" -#: templates/charts.html:108 +#: templates/charts.html:123 #, python-format msgid "Level %(level)s" msgstr "" @@ -475,108 +480,129 @@ msgid "" "href='https://yunohost.org/chat_rooms'>app packaging chatroom!" msgstr "" -#: templates/dash.html:17 +#: templates/dash.html:18 msgid "Filter" msgstr "" -#: templates/dash.html:23 +#: templates/dash.html:24 msgid "(None)" msgstr "" -#: templates/dash.html:24 +#: templates/dash.html:25 msgid "Regressions on main CI" msgstr "" -#: templates/dash.html:25 +#: templates/dash.html:26 msgid "Broken / low quality apps" msgstr "" -#: templates/dash.html:26 +#: templates/dash.html:27 msgid "Outdated tests on main CI" msgstr "" -#: templates/dash.html:27 +#: templates/dash.html:28 msgid "Major regressions on Bookworm CI" msgstr "" -#: templates/dash.html:28 +#: templates/dash.html:29 msgid "Apps with testings PRs" msgstr "" -#: templates/dash.html:29 +#: templates/dash.html:30 msgid "Apps with autoupdate PRs" msgstr "" -#: templates/dash.html:30 +#: templates/dash.html:31 +msgid "Apps with issues" +msgstr "" + +#: templates/dash.html:32 msgid "Packaging v1 apps" msgstr "" -#: templates/dash.html:41 +#: templates/dash.html:43 msgid "Quality level" msgstr "" -#: templates/dash.html:42 templates/dash.html:173 +#: templates/dash.html:44 templates/dash.html:214 msgid "Popularity stars" msgstr "" -#: templates/dash.html:43 +#: templates/dash.html:45 msgid "Last update on main/master branch" msgstr "" -#: templates/dash.html:44 +#: templates/dash.html:46 msgid "Last update on testing branch" msgstr "" -#: templates/dash.html:65 +#: templates/dash.html:47 +msgid "Issues number" +msgstr "" + +#: templates/dash.html:53 templates/dash.html:62 +msgid "Hide deprecated/unmaintained apps" +msgstr "" + +#: templates/dash.html:82 msgid "App" msgstr "" -#: templates/dash.html:67 +#: templates/dash.html:84 msgid "Main CI" msgstr "" -#: templates/dash.html:68 +#: templates/dash.html:85 msgid "Bookworm CI" msgstr "" -#: templates/dash.html:69 +#: templates/dash.html:86 msgid "Testing PR" msgstr "" -#: templates/dash.html:70 +#: templates/dash.html:87 msgid "Autoupdate PR" msgstr "" -#: templates/dash.html:102 templates/dash.html:116 templates/dash.html:131 +#: templates/dash.html:88 +msgid "Issues" +msgstr "" + +#: templates/dash.html:128 templates/dash.html:146 templates/dash.html:165 msgid "Broken" msgstr "" -#: templates/dash.html:104 templates/dash.html:118 templates/dash.html:133 +#: templates/dash.html:130 templates/dash.html:148 templates/dash.html:167 msgid "Low quality" msgstr "" -#: templates/dash.html:112 templates/dash.html:127 +#: templates/dash.html:142 templates/dash.html:161 #, python-format msgid "Outdated test (%(days)s days ago)" msgstr "" -#: templates/dash.html:150 templates/dash.html:165 +#: templates/dash.html:184 templates/dash.html:199 #, python-format msgid "Inactive (%(days)s days ago)" msgstr "" -#: templates/dash.html:177 +#: templates/dash.html:218 msgid "Packaging v1" msgstr "" -#: templates/dash.html:180 +#: templates/dash.html:221 msgid "Deprecated" msgstr "" -#: templates/dash.html:183 +#: templates/dash.html:224 msgid "Not maintained" msgstr "" +#: templates/dash.html:238 +#, python-format +msgid "Last data update %(time)s ago" +msgstr "" + #: templates/index.html:10 msgid "Application Store" msgstr "" diff --git a/store/requirements.txt b/store/requirements.txt index 34d15c88..e0701193 100644 --- a/store/requirements.txt +++ b/store/requirements.txt @@ -1,6 +1,6 @@ Babel==2.14.0 blinker==1.8.1 -certifi==2024.2.2 +certifi==2024.7.4 cffi==1.16.0 charset-normalizer==3.3.2 click==8.1.7 @@ -27,6 +27,6 @@ text-unidecode==1.3 toml==0.10.2 tomlkit==0.12.4 typing_extensions==4.11.0 -urllib3==2.2.1 +urllib3==2.2.2 Werkzeug==3.0.3 wrapt==1.16.0 diff --git a/store/templates/dash.html b/store/templates/dash.html index f300b488..b25bfb5e 100644 --- a/store/templates/dash.html +++ b/store/templates/dash.html @@ -8,17 +8,18 @@

{{ _("App packaging dashboard") }}

-

{{ _("This is where packagers can monitor the status of automatic tests (CI) and ongoing major pull requests accross all apps. If you want to get started with app packaging in YunoHost, please check out the packaging documentation and come say hi to us on the app packaging chatroom!") }}

+

{{ _("This is where packagers can monitor the status of automatic tests (CI) and ongoing major pull requests accross all apps. If you want to get started with app packaging in YunoHost, please check out the packaging documentation and come say hi to us on the app packaging chatroom!") }}

-
-
+ +
+
{{ _("Filter") }}
-
+
{{ _("Sort by") }}
-
+
+ + {{ _("Hide deprecated/unmaintained apps") }} +
+
{{ _("Show only apps you starred") }}
-
- + +
- + + {% for app, infos in data.items() %} @@ -80,7 +98,10 @@ {% endif %} - - + - - - - - +
{{ _("App") }}{{ _("App") }} {{ _("Catalog") }} {{ _("Main CI") }} {{ _("Bookworm CI") }} {{ _("Testing PR") }} {{ _("Autoupdate PR") }}{{ _("Issues") }}
{{ app }} + + {{ app }} + {{ infos["public_level"] }} {% if infos["public_level"] == "?" %} @@ -105,7 +131,7 @@ {% endif %} + 30 %}opacity-50{% endif %}" href="https://ci-apps.yunohost.org/ci/apps/{{ app }}/"> {% if infos["public_level"] == infos["ci_results"]["main"]["level"] %} = @@ -123,7 +149,7 @@ {% endif %} + 30) %}opacity-50{% endif %}" href="https://ci-apps-bookworm.yunohost.org/ci/apps/{{ app }}/"> {% if infos["ci_results"]["nextdebian"] %} {% if infos["public_level"] == infos["ci_results"]["nextdebian"]["level"] %} @@ -145,7 +171,7 @@ {% endif %} + {% if "testing" in infos %} @@ -160,7 +186,7 @@ {% endif %} + {% if "ci-auto-update" in infos %} @@ -175,7 +201,14 @@ {% endif %} + + {% if infos["nb_issues"] != 0 %} + + {{ infos["nb_issues"] }} + + {% endif %} + {% if this_app_stars > 0 %} {{ this_app_stars }} @@ -202,6 +235,7 @@
+
{{ _("Last data update %(time)s ago", time=last_data_update|hours_ago) }}