| Age | Commit message (Collapse) | Author |
|
If NetNewsWire detects that a link points to a footnote within the same
post, then tapping on that link will produce a popover displaying the
text of said footnote. Otherwise, it is treated as a regular link and
opened in the default web browser.
Detecting a footnote requires two things:
1. The link URL must consist only of a fragment (i.e. it begins with
`#`).
2. There must exist another element (typically `<li>`) in the post’s
HTML with an `id` attribute matching the fragment (that is, the text
after `#`).
Because FreshRSS’s web frontend can display multiple articles at once,
all relative URLs (including bare fragments) are automatically converted
to absolute URLs at ingestion time, and `id` attributes are replaced
with `data-sanitized-id` attributes. These changes avoid conflicts in
the web UI, but they break NNW’s footnote detection.
Since I use FreshRSS solely as a backend service for NNW (and other
clients), it is reasonable for me to disable those two sanitization
steps in order to take full advantage of NNW’s features.
Remove `id` from the list of attributes to rename, and add it to the
list of allowed attributes for `<li>` elements (as otherwise, it would
be stripped entirely). Convert the `absolutize_url()` function into a
no-op if the relative URL provided appears to be a local fragment.
|
|
|
|
|
|
fix https://github.com/FreshRSS/FreshRSS/issues/8426
regression from https://github.com/FreshRSS/FreshRSS/pull/8057
|
|
* Update Spanish translation
* make fix-all
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Update README.md
* Update, i18n:fr
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Add closed msg field
i18n
fix
* Display based on registration type
* Save as FreshRSS_Context::systemConf()->closed_registration_message instead
* Improve messages
* Revert unrelated changes
* make fix-all
* Minor whitespace
* Simplify logic
* Fix invalid use of empty() and sympler syntax
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Update README.md
Capy Reader has added podcast support under their Experimental section of the General settings. As such, I'm setting it as supported in the app table, along with a link to its GitHub discussion showing how to enable it.
- Changed Capy Reader podcast support to True, with link to GitHub discussion
* Readme.fr
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
fix https://github.com/FreshRSS/FreshRSS/issues/8455
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8211
|
|
~22% faster analysis since 2.1.34+.
https://github.com/phpstan/phpstan/releases/tag/2.1.34
Before / after:
```console
$ rm -fr /tmp/phpstan/
$ time composer run-script phpstan
> phpstan analyse --memory-limit 512M .
Note: Using configuration file /home/alex/GitHub/FreshRSS/phpstan.dist.neon.
real 1m2.924s
user 4m54.812s
sys 0m16.494s
$ rm -fr /tmp/phpstan/
$ time composer run-script phpstan
> phpstan analyse --memory-limit 512M .
Note: Using configuration file /home/alex/GitHub/FreshRSS/phpstan.dist.neon.
real 0m49.215s
user 3m40.906s
sys 0m18.413s
```
|
|
Closes https://github.com/FreshRSS/FreshRSS/issues/8435
Changes proposed in this pull request:
- update validator links to use the same open-url handler with prefix + encoding
- ensure the validator link reflects the current #url field value before opening
- keep existing open-url behavior for other links unchanged
How to test the feature manually:
1. Open feed edit (or add feed) form.
2. Change the feed URL in the URL field.
3. Click “Check the validity of the feed” and verify it opens the validator with the updated URL.
|
|
fix https://github.com/FreshRSS/FreshRSS/issues/8430
Fix case when `session.cookie-lifetime` is not using the default value of 0 in PHP ini.
Co-authored-by: rioky <rioky@users.noreply.github.com>
|
|
https://github.com/simplepie/simplepie/pull/957
|
|
* Add a reference to the check where the warning is triggered
Note:
This is the place where the admin sees the browser pointing to.
Adding this information here allows the admin to find the matching
documentation entry.
* Update Content-Security-Policy section of english ServerConfig documentation
Note:
This fixes some minor formating/typping issues and adds some clarity to
the fact that this warning is also triggered on correctly configured
hosts, simply due to the nature of how correctness of CSP rules are checked.
* Move CSP infor source-code comment into console.info
Note:
Improve visibility of why this is happening.
* Point towards static website documentation instead of git
This URL should also remain more fixed even accross new branches/releases.
Co-authored-by: Inverle <inverle@proton.me>
* Minor fixes
* Remove overwrite part
---------
Co-authored-by: Inverle <inverle@proton.me>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* https://github.com/FreshRSS/simplepie/pull/68
* https://github.com/FreshRSS/simplepie/pull/69
fix https://github.com/FreshRSS/FreshRSS/issues/8441
|
|
|
|
|
|
Regression from https://github.com/FreshRSS/FreshRSS/pull/8165
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8371
|
|
The string syntax of `strtr()` cannot handle mutibytes characters, so need to be rewritten using an array map approach.
Extend the fallback replacements to include the Windows/ISO charsets of the latin languages for which we have a translation
|
|
* Fix space between 'By:' and the author name
* Use a different approach than sprintf()
* Revert "Use a different approach than sprintf()"
This reverts commit 3ede55f000bb7ef5ed7c1d6ffd060139801838b7.
* Apply a space between By: and the author name
* Apply suggestion from @Alkarex
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
fix https://github.com/FreshRSS/FreshRSS/issues/8424
Regression from https://github.com/FreshRSS/FreshRSS/issues/8329
|
|
|
|
https://github.com/FreshRSS/FreshRSS/pull/8411
|
|
https://github.com/FreshRSS/FreshRSS/pull/8402
|
|
* feat(i18n): Added missing translations and fix others
* feat(i18n): Fix #8401 proposed
* IGNORE
* make fix-all
* feat(i18n): Fix missing TODO
* make fix-all
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
uniformity (#8409)
See <https://github.com/FreshRSS/FreshRSS/pull/8403#discussion_r2662753028>.
|
|
|
|
closes https://github.com/FreshRSS/FreshRSS/issues/8405
- Add documentation on how to trust own CA that issued self-signed certificate as authentik signing key
- Add example in Docker Example
How to test the feature manually:
1. Create your own CA
2. Issue a certificate
3. Use the issued certificate as a signing-key in authentik when configuring FreshRSS provider
4. Add created CA on host's CA store by running `update-ca-certificates`
5. Mount the `/etc/ssl/certs/ca-certificates.crt` file on FreshRSS container
6. Start the container
7. Navigate to FreshRSS in the browser
8. Authentik login form should be displayed and work as normal.
|
|
* Dutch translation
Fixes #8401 for Dutch, plus a few other things.
* todo
* more todo
* more todo
* pdo
* more todo
* gen.php todo
* index.php todo
* update readme
|
|
* fix german translation issues
* Update translation for 'unread' in German
* Update translation for 'unread' in German
* add TODO items in German translation
* make fix-all
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
This OPML method is the one used when exporting a single feed as OPML. Not deprecated.
|
|
* Allow styling entries by category in User CSS
Since we have `data-feed`, it is useful to have `data-category` too.
Example of usage to hide titles in all entries that belong to a specific category ID:
```css
[data-category="6"] {
.title { display: none !important }
.summary {
position: relative;
bottom: 2rem;
}
}
```
* Add `data-link` to entries in `reader.phtml`
|
|
See https://github.com/FreshRSS/FreshRSS/pull/8376
|
|
|
|
- contirbutions → contributions
- runable → runnable
|
|
CURLOPT_ENCODING (#8376)
* Replace deprecated CURLOPT_ENCODING
The CURLOPT_ENCODING setting has been deprecated in favor of
CURLOPT_ACCEPT_ENCODING.
Signed-off-by: Michael Meier <mmeier1986@gmail.com>
* Sync with our SimplePie fork PR
https://github.com/FreshRSS/simplepie/pull/67
https://github.com/simplepie/simplepie/pull/960
https://github.com/simplepie/simplepie/pull/962
* Our SimplePie PR merged
---------
Signed-off-by: Michael Meier <mmeier1986@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Fix Path Traversal vulnerability in UserDAO methods
* Add tests and changelog for UserDAO path traversal fix
* make fix-all
* Fix PHPStan
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* API: add remote user in Apache logs
fix https://github.com/FreshRSS/FreshRSS/discussions/8385
Example:
```
2026-01-01T18:38:28.645486326Z 0.0.0.0 - alex [01/Jan/2026:19:38:28 +0100] "GET /api/greader.php/reader/api/0/subscription/list?output=json HTTP/1.1" 200 9798 "-" "curl/8.14.1"
```
* Fallback mod_rewrite
* Log remote user with same priority as FreshRSS_http_Util::httpAuthUser()
|
|
fix https://github.com/FreshRSS/FreshRSS/issues/8378
|
|
|
|
Bumps [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) from 0.46.0 to 0.47.0.
- [Release notes](https://github.com/igorshubovych/markdownlint-cli/releases)
- [Commits](https://github.com/igorshubovych/markdownlint-cli/compare/v0.46.0...v0.47.0)
---
updated-dependencies:
- dependency-name: markdownlint-cli
dependency-version: 0.47.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps the eslint group with 2 updates in the / directory: [eslint](https://github.com/eslint/eslint) and [globals](https://github.com/sindresorhus/globals).
Updates `eslint` from 9.39.1 to 9.39.2
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2)
Updates `@eslint/js` from 9.39.1 to 9.39.2
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js)
Updates `globals` from 16.5.0 to 17.0.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0)
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 9.39.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: eslint
- dependency-name: "@eslint/js"
dependency-version: 9.39.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: eslint
- dependency-name: globals
dependency-version: 17.0.0
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: eslint
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
* Bump ruby/setup-ruby from 1.268.0 to 1.278.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.268.0 to 1.278.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](https://github.com/ruby/setup-ruby/compare/8aeb6ff8030dd539317f8e1769a044873b56ea71...4c24fa5ec04b2e79eb40571b1cee2a0d2b705771)
---
updated-dependencies:
- dependency-name: ruby/setup-ruby
dependency-version: 1.278.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Remove comment with link to release tag
Not worth updating every time dependabot makes a commit
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Inverle <inverle@proton.me>
|
|
Bumps the stylelint group with 1 update: [stylelint-order](https://github.com/hudochenkov/stylelint-order).
Updates `stylelint-order` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/hudochenkov/stylelint-order/releases)
- [Changelog](https://github.com/hudochenkov/stylelint-order/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hudochenkov/stylelint-order/compare/7.0.0...7.0.1)
---
updated-dependencies:
- dependency-name: stylelint-order
dependency-version: 7.0.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: stylelint
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [phpstan/phpstan-phpunit](https://github.com/phpstan/phpstan-phpunit) from 2.0.10 to 2.0.11.
- [Release notes](https://github.com/phpstan/phpstan-phpunit/releases)
- [Commits](https://github.com/phpstan/phpstan-phpunit/compare/2.0.10...2.0.11)
---
updated-dependencies:
- dependency-name: phpstan/phpstan-phpunit
dependency-version: 2.0.11
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
* changelog: Add entry for updated .gitignore
Adds an entry for https://github.com/FreshRSS/FreshRSS/pull/8372
* Fix Markdown
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
Have the `extensions/.gitignore` ignore all installed extensions so that they don't show up in `git status`
|
|
Closes https://github.com/FreshRSS/FreshRSS/issues/8369
Regression from https://github.com/FreshRSS/FreshRSS/pull/8165
|
|
fix https://github.com/FreshRSS/FreshRSS/issues/8367
Forgotten from https://github.com/FreshRSS/FreshRSS/pull/8324
|