diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index dd509d7c46a..00000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "[BUG]" -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -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. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Environment information (please complete the following information):** -- Device: [e.g. iPhone6] -- OS: [e.g. Ubuntu 20.04] -- Browser: [e.g. Firefox 86] -- FreshRSS version: [e.g. 1.17.1] -- Database version: [e.g. Mysql 5.7] -- PHP version: [e.g. PHP 7.4] -- Installation type: [e.g. Yunohost] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug_report_form.yaml b/.github/ISSUE_TEMPLATE/bug_report_form.yaml new file mode 100644 index 00000000000..796edd77b46 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report_form.yaml @@ -0,0 +1,55 @@ +name: Bug Report +description: Create a report to help us improve +title: "[Bug] " +labels: ["Bug (unconfirmed)"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report to help FreshRSS improve! + - type: textarea + id: description + attributes: + label: Describe the bug + description: "A clear and concise description of what the bug is.\n\nIf applicable, add screenshots to help explain your problem." + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: To Reproduce + description: Steps to reproduce the behavior. (Screenshots could help to explain the steps.) + placeholder: "1. Go to '…'\n2. Click on '…'\n3. Scroll down to '…'\n4. See error" + value: "1. Go to '…'\n2. Click on '…'\n3. Scroll down to '…'\n4. See error" + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: A clear and concise description of what you expected to happen. + validations: + required: false + - type: input + id: freshRSS + attributes: + label: FreshRSS version + description: Which FreshRSS version is installed? + placeholder: e.g. 1.23.1 + validations: + required: true + - type: textarea + id: environment + attributes: + label: Environment information + description: Please complete the following information + value: "- Database version: [e.g. Mysql 5.7, SQLite]\n- PHP version: [e.g. PHP 8.1]\n- Installation type: [e.g. Docker, Docker image source, git, Yunohost]\n-Web server type: [e.g. Apache, nginx]\n- Device: [e.g. iPhone13]\n- OS: [e.g. Ubuntu 22.04, Win10, MacOS14]\n- Browser: [e.g. Firefox 124]" + validations: + required: true + - type: textarea + id: context + attributes: + label: Additional context + description: Add any other context about the problem here. + validations: + required: false diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index a7246054234..6ba9a2d8095 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -29,7 +29,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Setup Pages - uses: actions/configure-pages@v4 + uses: actions/configure-pages@v5 - name: Build with Jekyll uses: actions/jekyll-build-pages@v1 with: diff --git a/Makefile b/Makefile index 9c09cb1d9d5..1222ef3eec7 100644 --- a/Makefile +++ b/Makefile @@ -40,6 +40,7 @@ start: ## Start the development environment (use Docker) docker network create --driver bridge $(NETWORK) || true $(foreach extension,$(extensions),$(eval volumes=$(volumes) --volume $(extension):/var/www/FreshRSS/extensions/$(notdir $(extension)):z)) docker run \ + -it \ --rm \ --volume $(shell pwd):/var/www/FreshRSS:z \ $(volumes) \ diff --git a/app/Controllers/tagController.php b/app/Controllers/tagController.php index 091da6a6ff0..d998045a404 100644 --- a/app/Controllers/tagController.php +++ b/app/Controllers/tagController.php @@ -195,6 +195,8 @@ public function renameAction(): void { } public function indexAction(): void { + FreshRSS_View::prependTitle(_t('sub.menu.label_management') . ' · '); + if (!FreshRSS_Auth::hasAccess()) { Minz_Error::error(403); } diff --git a/app/Models/Category.php b/app/Models/Category.php index 13bb184d5de..691ac1066c9 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -214,6 +214,7 @@ public function refreshDynamicOpml(): bool { // The feed does not exist in the current category, so add that feed $dryRunFeed->_category($this); $ok &= ($feedDAO->addFeedObject($dryRunFeed) !== false); + $existingFeeds[$dryRunFeed->url()] = $dryRunFeed; } else { $existingFeed = $existingFeeds[$dryRunFeed->url()]; if ($existingFeed->mute()) { diff --git a/app/Services/ImportService.php b/app/Services/ImportService.php index 2c7d64f80bd..5c6cea8f3f0 100644 --- a/app/Services/ImportService.php +++ b/app/Services/ImportService.php @@ -183,7 +183,7 @@ private function createFeed(array $feed_elt, FreshRSS_Category $category, bool $ if (isset($feed_elt['frss:filtersActionRead'])) { $feed->_filtersAction( 'read', - preg_split('/\R/', $feed_elt['frss:filtersActionRead']) ?: [] + preg_split('/\R/u', $feed_elt['frss:filtersActionRead']) ?: [] ); } @@ -268,7 +268,7 @@ private function createFeed(array $feed_elt, FreshRSS_Category $category, bool $ $curl_params[CURLOPT_FOLLOWLOCATION] = (bool)$feed_elt['frss:CURLOPT_FOLLOWLOCATION']; } if (isset($feed_elt['frss:CURLOPT_HTTPHEADER'])) { - $curl_params[CURLOPT_HTTPHEADER] = preg_split('/\R/', $feed_elt['frss:CURLOPT_HTTPHEADER']) ?: []; + $curl_params[CURLOPT_HTTPHEADER] = preg_split('/\R/u', $feed_elt['frss:CURLOPT_HTTPHEADER']) ?: []; } if (isset($feed_elt['frss:CURLOPT_MAXREDIRS'])) { $curl_params[CURLOPT_MAXREDIRS] = (int)$feed_elt['frss:CURLOPT_MAXREDIRS']; diff --git a/app/views/feed/contentSelectorPreview.phtml b/app/views/feed/contentSelectorPreview.phtml index c8c24419bec..75e9bc5b6db 100644 --- a/app/views/feed/contentSelectorPreview.phtml +++ b/app/views/feed/contentSelectorPreview.phtml @@ -6,14 +6,14 @@ $dir = ''; if (_t('gen.dir') === 'rtl') { $dir = ' dir="rtl"'; - $class = 'rtl '; + $class = ' rtl '; } if (FreshRSS_Context::userConf()->darkMode !== 'no') { - $class .= 'darkMode_' . FreshRSS_Context::userConf()->darkMode; + $class .= ' darkMode_' . FreshRSS_Context::userConf()->darkMode; } ?> - xml:lang="language ?>" class=""> + xml:lang="language ?>"> diff --git a/app/views/tag/index.phtml b/app/views/tag/index.phtml index 3f6cf89457c..9b86b7496a8 100644 --- a/app/views/tag/index.phtml +++ b/app/views/tag/index.phtml @@ -29,10 +29,30 @@ tags) > 0): ?>

-