From 69b4255f955aa3f5d50df4236e97198416841de9 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Tue, 11 May 2021 03:05:59 +0200 Subject: [PATCH 1/6] [autopatch] Update issue and PR templates --- pull_request_template.md | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 pull_request_template.md diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index 6c28fc5..0000000 --- a/pull_request_template.md +++ /dev/null @@ -1,16 +0,0 @@ -## Problem -- *Description of why you made this PR* - -## Solution -- *And how do you fix that problem* - -## PR Status -- [ ] Code finished. -- [ ] Tested with Package_check. -- [ ] Fix or enhancement tested. -- [ ] Upgrade from last version tested. -- [ ] Can be reviewed and tested. - -## Package_check results ---- -* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* From beddbe25b05d2be4c8df6ba342c07ae25e1cf6df Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 11 May 2021 11:08:23 +0200 Subject: [PATCH 2/6] Add templates --- .github/ISSUE_TEMPLATE.md | 55 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) From ee579df0f502dbf889328868f04c3163ed6a4c6f Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Thu, 13 May 2021 17:50:30 +0200 Subject: [PATCH 3/6] [autopatch] Update issue and PR templates --- .github/ISSUE_TEMPLATE.md | 55 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++ pull_request_template.md | 16 ---------- 3 files changed, 71 insertions(+), 16 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index 6c28fc5..0000000 --- a/pull_request_template.md +++ /dev/null @@ -1,16 +0,0 @@ -## Problem -- *Description of why you made this PR* - -## Solution -- *And how do you fix that problem* - -## PR Status -- [ ] Code finished. -- [ ] Tested with Package_check. -- [ ] Fix or enhancement tested. -- [ ] Upgrade from last version tested. -- [ ] Can be reviewed and tested. - -## Package_check results ---- -* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* From c64c3bbd0e2a58bf79c3c19b2601e9b16bd7e7dd Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 26 May 2021 11:37:54 +0200 Subject: [PATCH 4/6] fix --- check_process | 6 +++--- conf/app.src | 4 ++-- doc/DISCLAIMER.md | 0 doc/DISCLAIMER_fr.md | 0 manifest.json | 10 ++++++++-- scripts/install | 23 +++++++++++++---------- scripts/remove | 8 ++++++++ scripts/restore | 25 +++++++++++-------------- scripts/upgrade | 19 ++++++++++++------- 9 files changed, 57 insertions(+), 38 deletions(-) create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md diff --git a/check_process b/check_process index 7970cbc..d20e931 100644 --- a/check_process +++ b/check_process @@ -1,9 +1,9 @@ ;; Test complet auto_remove=1 ; Manifest - domain="domain.tld" (DOMAIN) - path="/path" (PATH) - is_public="Yes" (PUBLIC|public=Yes|private=No) + domain="domain.tld" + path="/path" + is_public=1 ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/conf/app.src b/conf/app.src index 888851a..22e1951 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/apankrat/nullboard/archive/556147be5da1aaac4d86d2ce4dc11a1bbd10738a.tar.gz -SOURCE_SUM=b88e4247e83b998d623f1beb880c3233989ecb513dbe74d1f019f22a49e719fd +SOURCE_URL=https://github.com/apankrat/nullboard/archive/15da6226d3bc9641701a84c89a6ee01c08a416dc.tar.gz +SOURCE_SUM=5143bdedf4c9e7e86e86666e37643a0b775656db80dade826687445d65feb11d SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..e69de29 diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..e69de29 diff --git a/manifest.json b/manifest.json index 406133a..d2e2f0d 100644 --- a/manifest.json +++ b/manifest.json @@ -6,15 +6,21 @@ "en": "Minimalist kanban board, focused on compactness and readability", "fr": "Kanban minimaliste, axé sur la compacité et la lisibilité" }, - "version": "1.0~ynh2", + "version": "1.0~ynh3", "url": "https://nullboard.io/preview", + "upstream": { + "license": "BSD-2-Clause", + "website": "https://nullboard.io/", + "demo": "https://nullboard.io/preview", + "code": "https://github.com/apankrat/nullboard" + }, "license": "BSD-2-Clause", "maintainer": { "name": "eric_G", "email": "" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.4" }, "multi_instance": true, "services": [ diff --git a/scripts/install b/scripts/install index 0d907a7..32e8554 100755 --- a/scripts/install +++ b/scripts/install @@ -43,7 +43,15 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url ynh_script_progression --message="Storing installation settings..." --weight=2 ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=path --value=$path_url +ynh_app_setting_set --app=$app --key=path --value=$path_url + +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Configuring system user..." --weight=1 + +# Create a system user +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # STANDARD MODIFICATIONS @@ -57,6 +65,10 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # NGINX CONFIGURATION #================================================= @@ -65,15 +77,6 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=2 # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# GENERIC FINALIZATION -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -# Set permissions to app files -chown -R root: $final_path - #================================================= # SETUP SSOWAT #================================================= diff --git a/scripts/remove b/scripts/remove index 2123569..0ccc587 100755 --- a/scripts/remove +++ b/scripts/remove @@ -36,6 +36,14 @@ ynh_script_progression --message="Removing NGINX web server configuration..." -- # Remove the dedicated NGINX config ynh_remove_nginx_config +#================================================= +# REMOVE DEDICATED USER +#================================================= +ynh_script_progression --message="Removing the dedicated system user..." --weight=1 + +# Delete a system user +ynh_system_user_delete --username=$app + #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/restore b/scripts/restore index 7680bdd..c05b261 100644 --- a/scripts/restore +++ b/scripts/restore @@ -43,6 +43,14 @@ test ! -d $final_path \ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir="$final_path" + #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -50,20 +58,9 @@ ynh_script_progression --message="Restoring $app main directory..." --weight=2 ynh_restore_file --origin_path="$final_path" -#================================================= -# RECREATE THE DEDICATED USER -#================================================= -ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 - -# Create the dedicated user (if not existing) -ynh_system_user_create --username=$app - -#================================================= -# RESTORE USER RIGHTS -#================================================= - -# Restore permissions on app files -chown -R root: $final_path +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" #================================================= # GENERIC FINALIZATION diff --git a/scripts/upgrade b/scripts/upgrade index e3d475a..16d4ae4 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -43,6 +43,14 @@ if ynh_legacy_permissions_exists; then ynh_app_setting_delete --app=$app --key=is_public fi +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 + +# Create a dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir="$final_path" + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= @@ -69,6 +77,10 @@ then ynh_setup_source --dest_dir="$final_path" fi +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # NGINX CONFIGURATION #================================================= @@ -77,13 +89,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." - # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -# Set permissions on app files -chown -R root: $final_path - #================================================= # RELOAD NGINX #================================================= From 1ca3de3393884a2b4d3fe5eb0dd5332a8e5a7ce9 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 26 May 2021 11:48:34 +0200 Subject: [PATCH 5/6] Create screenshot.png --- doc/screenshots/screenshot.png | Bin 0 -> 41148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/screenshots/screenshot.png diff --git a/doc/screenshots/screenshot.png b/doc/screenshots/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5a41f8900c81c64f1b512c160c2829817d5c4ca5 GIT binary patch literal 41148 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 literal 0 HcmV?d00001 From 236d6fcfeca32644e921116a2c36a1d3c894f271 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 26 May 2021 11:49:47 +0200 Subject: [PATCH 6/6] Fix --- doc/DISCLAIMER.md | 3 +++ doc/DISCLAIMER_fr.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index e69de29..b804ee1 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -0,0 +1,3 @@ +## Limitations + +* :warning: Uses localStorage for storing boards/lists/notes, so be careful around clearing your cache. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index e69de29..726d823 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,3 @@ +## Limitations + +* :warning: Utilise localStorage pour stocker les tableaux/listes/notes, soyez prudent lorsque vous effacez votre cache.