From c1d2f1d0d7ebaa8128757dfb5c340cb87a86de4a Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Fri, 14 Jul 2023 05:39:47 +0200 Subject: [PATCH 1/8] updating the config according to upstream (v0.10.0) --- conf/config.yaml | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/conf/config.yaml b/conf/config.yaml index b88c9f1..c89650f 100644 --- a/conf/config.yaml +++ b/conf/config.yaml @@ -290,6 +290,14 @@ cache: follow-request-ttl: "30m" follow-request-sweep-freq: "1m" + list-max-size: 2000 + list-ttl: "30m" + list-sweep-freq: "1m" + + list-entry-max-size: 2000 + list-entry-ttl: "30m" + list-entry-sweep-freq: "1m" + media-max-size: 1000 media-ttl: "30m" media-sweep-freq: "1m" @@ -426,6 +434,13 @@ accounts-reason-required: __ACCOUNTS_REASON_REQUIRED__ # Default: false accounts-allow-custom-css: __ACCOUNTS_ALLOW_CUSTOM_CSS__ +# Int. If accounts-allow-custom-css is true, this is the permitted length in characters for +# CSS uploaded by accounts on this instance. No effect if accounts-allow-custom-css is false. +# +# Examples: [500, 5000, 9999] +# Default: 10000 +accounts-custom-css-length: 10000 + ######################## ##### MEDIA CONFIG ##### ######################## @@ -800,6 +815,57 @@ tracing-endpoint: "" # Default: false tracing-insecure-transport: false +################################ +##### HTTP CLIENT SETTINGS ##### +################################ + +# Settings for OUTGOING http client connections used by GoToSocial to make +# requests to remote resources (status GETs, media GETs, inbox POSTs, etc). + +http-client: + + # Duration. Timeout to use for outgoing HTTP requests. If the timeout + # is exceeded, the connection to the remote server will be dropped. + # A value of 0s indicates no timeout: this is not advised! + # Examples: ["5s", "10s", "0s"] + # Default: "10s" + timeout: "10s" + + ######################################## + #### RESERVED IP RANGE EXCEPTIONS ###### + ######################################## + # + # Explicitly allow or block outgoing dialing within the provided IPv4/v6 CIDR ranges. + # + # By default, as a basic security precaution, GoToSocial blocks outgoing dialing within most "special-purpose" + # IP ranges. However, it may be desirable for admins with more exotic setups (proxies, funky NAT, etc) to + # explicitly override one or more of these otherwise blocked ranges. + # + # Each of the below allow/block config options accepts an array of IPv4 and/or IPv6 CIDR strings. + # For example, to override the hardcoded block of IPv4 and IPv6 dialing to localhost, set: + # + # allow-ips: ["127.0.0.1/32", "::1/128"]. + # + # You can also use YAML multi-line arrays to define these, but be diligent with indentation. + # + # When dialing, GoToSocial will first check if the destination falls within explicitly allowed IP ranges, + # then explicitly blocked IP ranges, then the default (hardcoded) blocked IP ranges, returning OK on the + # first allowed match, not OK on the first blocked match, or just defaulting to OK if nothing is matched. + # + # As with all security settings, it is better to start too restrictive and then ease off depending on + # your use case, than to start too permissive and try to close the stable door after the horse has + # already bolted. With this in mind: + # - Don't touch these settings unless you have a good reason to, and only if you know what you're doing. + # - When adding explicitly allowed exceptions, use the narrowest possible CIDR for your use case. + # + # For reserved / special ranges, see: + # - https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml + # - https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml + # + # Both allow-ips and block-ips default to an empty array. + allow-ips: [] + block-ips: [] + ############################# ##### ADVANCED SETTINGS ##### ############################# From dbf197f17af123259d49b0044408e1339388d01a Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Fri, 14 Jul 2023 18:10:35 +0200 Subject: [PATCH 2/8] config panel: accounts_custom_css_length --- conf/config.yaml | 2 +- config_panel.toml | 9 +++++++++ scripts/install | 2 ++ scripts/upgrade | 10 ++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/conf/config.yaml b/conf/config.yaml index c89650f..e8fe554 100644 --- a/conf/config.yaml +++ b/conf/config.yaml @@ -439,7 +439,7 @@ accounts-allow-custom-css: __ACCOUNTS_ALLOW_CUSTOM_CSS__ # # Examples: [500, 5000, 9999] # Default: 10000 -accounts-custom-css-length: 10000 +accounts-custom-css-length: __ACCOUNTS_CUSTOM_CSS_LENGTH__ ######################## ##### MEDIA CONFIG ##### diff --git a/config_panel.toml b/config_panel.toml index 3b6b032..2f56854 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -65,6 +65,15 @@ Pour les instances avec des inscriptions publiques, il est **HAUTEMENT RECOMMAND Quelle que soit la valeur de ce paramètre, tout CSS téléchargé ne sera pas fédéré à d'autres instances, il ne sera affiché que sur les profils et les statuts de *cette* instance.""" type = "select" +[main.accounts.accounts_custom_css_length] +ask.en = "Custom CSS length?" +ask.fr = "Longueur du CSS personnalisé ?" +bind = "accounts-custom-css-length:__FINALPATH__/config.yaml" +default = "10000" +help.en = "If accounts-allow-custom-css is 'true', this is the permitted length in characters for CSS uploaded by accounts on this instance. No effect if accounts-allow-custom-css is 'false'. Default: 10000" +help.fr = "Si accounts-allow-custom-css est 'true', il s'agit de la longueur autorisée en caractères pour les feuilles de style CSS qui sont fournies par les comptes sur cette instance. Aucun effet si accounts-allow-custom-css est 'false'. Valeur par défaut : 10000" +type = "number" + ################# #### MEDIA CONFIG ################# diff --git a/scripts/install b/scripts/install index fc5fae9..4f096a4 100755 --- a/scripts/install +++ b/scripts/install @@ -43,6 +43,7 @@ accounts_registration_open=$(convert_bool "$YNH_APP_ARG_ACCOUNTS_REGISTRATION_OP accounts_approval_required=$(convert_bool "$YNH_APP_ARG_ACCOUNTS_APPROVAL_REQUIRED") accounts_reason_required=$(convert_bool "$YNH_APP_ARG_ACCOUNTS_REASON_REQUIRED") accounts_allow_custom_css="false" +accounts_custom_css_length="10000" instance_expose_peers="false" instance_expose_suspended="false" @@ -114,6 +115,7 @@ ynh_app_setting_set --app="$app" --key=accounts_registration_open --value="$acco ynh_app_setting_set --app="$app" --key=accounts_approval_required --value="$accounts_approval_required" ynh_app_setting_set --app="$app" --key=accounts_reason_required --value="$accounts_reason_required" ynh_app_setting_set --app="$app" --key=accounts_allow_custom_css --value="$accounts_allow_custom_css" +ynh_app_setting_set --app="$app" --key=accounts_custom_css_length --value="$accounts_custom_css_length" ynh_app_setting_set --app="$app" --key=instance_expose_peers --value="$instance_expose_peers" ynh_app_setting_set --app="$app" --key=instance_expose_suspended --value="$instance_expose_suspended" diff --git a/scripts/upgrade b/scripts/upgrade index 041e688..dceeffe 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -42,6 +42,7 @@ accounts_registration_open=$(ynh_app_setting_get --app="$app" --key=accounts_reg accounts_approval_required=$(ynh_app_setting_get --app="$app" --key=accounts_approval_required) accounts_reason_required=$(ynh_app_setting_get --app="$app" --key=accounts_reason_required) accounts_allow_custom_css=$(ynh_app_setting_get --app="$app" --key=accounts_allow_custom_css) +accounts_custom_css_length=$(ynh_app_setting_get --app="$app" --key=accounts_custom_css_length) media_image_max_size=$(ynh_app_setting_get --app="$app" --key=media_image_max_size) media_video_max_size=$(ynh_app_setting_get --app="$app" --key=media_video_max_size) @@ -295,6 +296,15 @@ then fi fi +# Upgrade from <0.10.0~ynh1: +if ynh_compare_current_package_version --comparison lt --version 0.10.0~ynh1 || [ -z "$accounts_custom_css_length" ] +then + # declaration of new parameter + accounts_custom_css_length="10000" + # registration of parameter + ynh_app_setting_set --app="$app" --key=accounts_custom_css_length --value="$accounts_custom_css_length" +fi + #================================================= # CREATE DEDICATED USER #================================================= From 4e8499baf7850b4f6ec8f9191e5c64d691c01acb Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Fri, 21 Jul 2023 19:09:46 +0000 Subject: [PATCH 3/8] Upgrade to v0.10.0 --- conf/arm64.src | 6 +++--- conf/armv6.src | 6 +++--- conf/armv7.src | 6 +++--- conf/i386.src | 6 +++--- conf/x86-64.src | 6 +++--- manifest.json | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/conf/arm64.src b/conf/arm64.src index f88a68d..9ef742d 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_arm64.tar.gz -SOURCE_SUM=6b3f543ef9e86953b74b859556996ee533a73fa2ec7ea035b9f392589e3c188b +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_arm64.tar.gz +SOURCE_SUM=90238812b8e398f09c4a42a5b4347e932ea632f921f5b81d6896f35fd032ea0f SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_arm64.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_arm64.tar.gz diff --git a/conf/armv6.src b/conf/armv6.src index 7c588a6..39cd7e6 100644 --- a/conf/armv6.src +++ b/conf/armv6.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_armv6.tar.gz -SOURCE_SUM=6a7508c40309a621246f351e95c2bef763b37fda5a8e1f3fe2485d7805973eb1 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_armv6.tar.gz +SOURCE_SUM=6fd8e981722792104c035d82eb433b62b91489f9aef2bffe9ee86e4caf528b05 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_armv6.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_armv6.tar.gz diff --git a/conf/armv7.src b/conf/armv7.src index 22e74cd..5bc3ffd 100644 --- a/conf/armv7.src +++ b/conf/armv7.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_armv7.tar.gz -SOURCE_SUM=41f932878ed3da809aa80dbfab51f0d84c6edc8283ee1893b46ee0338eb7ac01 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_armv7.tar.gz +SOURCE_SUM=01eaccbe8613669b78aa3995638c5c8d84ea1e2ae715192903d980c363cf687c SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_armv7.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_armv7.tar.gz diff --git a/conf/i386.src b/conf/i386.src index 52ea365..46db766 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_386.tar.gz -SOURCE_SUM=73cf171ae72a06dd3da669ffedd03da545a143c4965dd9585ad3586a25c734c2 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_386.tar.gz +SOURCE_SUM=4883f6f2c80535b059b4147c6f9491e13bbec9b624acf95b1893a168a50f2312 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_386.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_386.tar.gz diff --git a/conf/x86-64.src b/conf/x86-64.src index 8146ec3..250afee 100644 --- a/conf/x86-64.src +++ b/conf/x86-64.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_amd64.tar.gz -SOURCE_SUM=9b802061eb694508f1876486738b3a4062474eb4df9d864c5e293283c1756337 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_amd64.tar.gz +SOURCE_SUM=1618cafe9316d60159b59287e98b4d79d3bb17c4d89ced31f3d325ab59cf5a39 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_amd64.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_amd64.tar.gz diff --git a/manifest.json b/manifest.json index 148712a..7841295 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "ActivityPub social network server", "fr": "Serveur de réseau social basé sur ActivityPub" }, - "version": "0.9.0~ynh2", + "version": "0.10.0~ynh1", "url": "https://github.com/superseriousbusiness/gotosocial", "upstream": { "license": "AGPL-3.0-only", @@ -114,4 +114,4 @@ } ] } -} \ No newline at end of file +} From 3765c06bbeebb231c5be41b7a338dcfadaeb364c Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Fri, 21 Jul 2023 19:09:52 +0000 Subject: [PATCH 4/8] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 21d0168..066712e 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ With GoToSocial, you can keep in touch with your friends, post, read, and share Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). -**Shipped version:** 0.9.0~ynh2 +**Shipped version:** 0.10.0~ynh1 ## Screenshots diff --git a/README_fr.md b/README_fr.md index 88487f1..3851e10 100644 --- a/README_fr.md +++ b/README_fr.md @@ -25,7 +25,7 @@ Avec GoToSocial, vous pouvez rester en contact avec vos amis, publier, lire et p Vous pouvez consulter la documentation à l'adresse : [docs.gotosocial.org](https://docs.gotosocial.org). -**Version incluse :** 0.9.0~ynh2 +**Version incluse :** 0.10.0~ynh1 ## Captures d’écran From 989ccdb3ff72db4821c6ca78dce6575d3a58574d Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Fri, 21 Jul 2023 21:20:05 +0200 Subject: [PATCH 5/8] updating the config according to the final v0.10.0 --- conf/config.yaml | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/conf/config.yaml b/conf/config.yaml index e8fe554..c2b949a 100644 --- a/conf/config.yaml +++ b/conf/config.yaml @@ -232,8 +232,8 @@ db-sqlite-cache-size: "8MiB" # If set to empty string or zero, the sqlite default will be used. # See: https://www.sqlite.org/pragma.html#pragma_busy_timeout # Examples: ["0s", "1s", "30s", "1m", "5m"] -# Default: "5s" -db-sqlite-busy-timeout: "5m" +# Default: "30m" +db-sqlite-busy-timeout: "30m" cache: # Cache configuration options: @@ -247,7 +247,7 @@ cache: #### VISIBILITY CACHES ###### ############################# # - # Configure Status and account + # Configure Status and account # visibility cache. visibility-max-size: 2000 @@ -266,7 +266,7 @@ cache: account-ttl: "30m" account-sweep-freq: "1m" - block-max-size: 100 + block-max-size: 1000 block-ttl: "30m" block-sweep-freq: "1m" @@ -290,6 +290,10 @@ cache: follow-request-ttl: "30m" follow-request-sweep-freq: "1m" + instance-max-size: 2000 + instance-ttl: "30m" + instance-sweep-freq: "1m" + list-max-size: 2000 list-ttl: "30m" list-sweep-freq: "1m" @@ -332,7 +336,7 @@ cache: webfinger-max-size: 250 webfinger-ttl: "24h" - webfinger-sweep-freq: "1m" + webfinger-sweep-freq: "15m" ###################### ##### WEB CONFIG ##### @@ -491,7 +495,7 @@ media-emoji-local-max-size: __MEDIA_EMOJI_LOCAL_MAX_SIZE__ # This strikes a good balance between decent interoperability with instances that have # higher emoji size limits, and not taking up too much space in storage. # Examples: [51200, 102400] -# Default: 51200 +# Default: 102400 media-emoji-remote-max-size: __MEDIA_EMOJI_REMOTE_MAX_SIZE__ ########################## @@ -516,7 +520,7 @@ storage-local-base-path: "__DATADIR__" # String. API endpoint of the S3 compatible service. # Only required when running with the s3 storage backend. # Examples: ["minio:9000", "s3.nl-ams.scw.cloud", "s3.us-west-002.backblazeb2.com"] -# GoToSocial uses "DNS-style" when accessing buckets. +# GoToSocial uses "DNS-style" when accessing buckets. # If you are using Scaleways object storage, please remove the "bucket name" from the endpoint address # Default: "" storage-s3-endpoint: "__STORAGE_S3_ENDPOINT__" @@ -539,12 +543,14 @@ storage-s3-use-ssl: true # Examples: ["AKIAJSIE27KKMHXI3BJQ","miniouser"] # Default: "" storage-s3-access-key: "__STORAGE_S3_ACCESS_KEY__" + # String. Secret key part of the S3 credentials. # Consider setting this value using environment variables to avoid leaking it via the config file # Only required when running with the s3 storage backend. # Examples: ["5bEYu26084qjSFyclM/f2pz4gviSfoOg+mFwBH39","miniopassword"] # Default: "" storage-s3-secret-key: "__STORAGE_S3_SECRET_KEY__" + # String. Name of the storage bucket. # # If you have already encoded your bucket name in the storage-s3-endpoint, this @@ -634,7 +640,7 @@ letsencrypt-email-address: "" ##### MANUAL TLS CONFIG ##### ############################## -# String. Path to a PEM-encoded file on disk that includes the certificate chain +# String. Path to a PEM-encoded file on disk that includes the certificate chain # and the public key # Examples: ["/gotosocial/storage/certs/chain.pem"] # Default: "" @@ -777,7 +783,7 @@ syslog-enabled: false # String. Protocol to use when directing logs to syslog. Leave empty to connect to local syslog. # Options: ["udp", "tcp", ""] -# Default: "tcp" +# Default: "udp" syslog-protocol: "udp" # String. Address:port to send syslog logs to. Leave empty to connect to local syslog. @@ -941,7 +947,7 @@ advanced-throttling-multiplier: 8 # Minimum resolution is 1 second. # # Examples: [30s, 10s, 5s, 1m] -# Default: 30s +# Default: "30s" advanced-throttling-retry-after: "30s" # Int. CPU multiplier for the amount of goroutines to spawn in order to send messages via ActivityPub. From f29289340b8bd1c1e0727b187c5a1285549a0bab Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Fri, 21 Jul 2023 21:30:11 +0200 Subject: [PATCH 6/8] removing the alpha software alert: no longer needed and causes error --- manifest.json | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/manifest.json b/manifest.json index 7841295..d5c2c3a 100644 --- a/manifest.json +++ b/manifest.json @@ -31,14 +31,6 @@ ], "arguments": { "install": [ - { - "name": "alpha_software", - "type": "alert", - "ask": { - "en": "⚠️ Please note that GoToSocial is in early development stage. It may contain changing or unstable features, bugs, and security vulnerability.", - "fr": "⚠️ Veuillez noter que GoToSocial est au début de son développment. Il pourrait contenir des fonctionnalités changeantes ou instables, des bugs, et des failles de sécurité." - } - }, { "name": "domain", "type": "domain" @@ -114,4 +106,4 @@ } ] } -} +} \ No newline at end of file From e8bd5b28ef5273265b36158972f44bd35719add6 Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Fri, 21 Jul 2023 22:56:36 +0200 Subject: [PATCH 7/8] updating the screenshot --- README.md | 2 +- README_fr.md | 2 +- doc/screenshots/screenshot.jpg | Bin 36868 -> 0 bytes doc/screenshots/screenshot.png | Bin 0 -> 32934 bytes 4 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 doc/screenshots/screenshot.jpg create mode 100644 doc/screenshots/screenshot.png diff --git a/README.md b/README.md index 066712e..280334c 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). ## Screenshots -![Screenshot of GoToSocial](./doc/screenshots/screenshot.jpg) +![Screenshot of GoToSocial](./doc/screenshots/screenshot.png) ## Disclaimers / important information diff --git a/README_fr.md b/README_fr.md index 3851e10..bf541a2 100644 --- a/README_fr.md +++ b/README_fr.md @@ -29,7 +29,7 @@ Vous pouvez consulter la documentation à l'adresse : [docs.gotosocial.org](http ## Captures d’écran -![Capture d’écran de GoToSocial](./doc/screenshots/screenshot.jpg) +![Capture d’écran de GoToSocial](./doc/screenshots/screenshot.png) ## Avertissements / informations importantes diff --git a/doc/screenshots/screenshot.jpg b/doc/screenshots/screenshot.jpg deleted file mode 100644 index 1706dbd4e005eaf34387a68e58b72b8adcea6a38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36868 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 diff --git a/doc/screenshots/screenshot.png b/doc/screenshots/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..750c21453bb786fde9330fd6976eb09376a10929 GIT binary patch literal 32934 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π^_YxICqPPHSu*kL3(2y_Qz^O;r? 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 literal 0 HcmV?d00001 From 86a39deb035d14d28c41bca83511ac61ac10fbd0 Mon Sep 17 00:00:00 2001 From: OniriCorpe Date: Sat, 22 Jul 2023 16:47:56 +0200 Subject: [PATCH 8/8] fix the auto updater script (it now places itself on the 'testing' branch) --- .github/workflows/updater.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/updater.sh b/.github/workflows/updater.sh index 218e48e..fe7b121 100755 --- a/.github/workflows/updater.sh +++ b/.github/workflows/updater.sh @@ -16,6 +16,9 @@ # FETCHING LATEST RELEASE AND ITS ASSETS #================================================= +# Access the branch 'testing' +git checkout testing + # Fetching information current_version=$(jq -j '.version|split("~")[0]' manifest.json) repo=$(jq -j '.upstream.code|split("https://github.com/")[1]' manifest.json)