<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/lib/core-extensions, branch 1.28.1-custom</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.28.1-custom</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.28.1-custom'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2025-11-01T09:15:59+00:00</updated>
<entry>
<title>Fix/improve &lt;textarea&gt; (#8171)</title>
<updated>2025-11-01T09:15:59+00:00</updated>
<author>
<name>maTh</name>
<email>1645099+math-GH@users.noreply.github.com</email>
</author>
<published>2025-11-01T09:15:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=b0a663f6ee9d28c71643d9a18c955a60b90cb7c1'/>
<id>urn:sha1:b0a663f6ee9d28c71643d9a18c955a60b90cb7c1</id>
<content type='text'>
## Feed configuration slider:

### Before:
&lt;img width="747" height="346" alt="grafik" src="https://github.com/user-attachments/assets/37056ef8-1163-48d1-a3dd-99e745418b2d" /&gt;

### After:
&lt;img width="743" height="473" alt="grafik" src="https://github.com/user-attachments/assets/388a0ef6-633e-43ee-8ea5-5cbe7b40e6e4" /&gt;

## CustomCSS, CustomJS extensions
### Before:
&lt;img width="762" height="504" alt="grafik" src="https://github.com/user-attachments/assets/279801fb-06a7-477a-81e7-c681087595a5" /&gt;

### After:
&lt;img width="767" height="922" alt="grafik" src="https://github.com/user-attachments/assets/ca4cf304-03c7-4028-89d0-1c3094086176" /&gt;

And cleaning some CSS

* UserCSS+JS: w100 h50
* clean textarea width height
* feed config slider
* Update base.rtl.css
* fix class="valid-json"
* padding + vertical-align
* fix ansum mapco
</content>
</entry>
<entry>
<title>New JS attribute: `data-auto-leave-validation` (#7785)</title>
<updated>2025-08-08T15:39:38+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-08-08T15:39:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=d9197d7e32a97f29829ffd4cf4371b1853e51fa2'/>
<id>urn:sha1:d9197d7e32a97f29829ffd4cf4371b1853e51fa2</id>
<content type='text'>
Instead of a repeating pattern like: `&lt;input type="text" value="something" data-leave-validation="something"&gt;`, you can now put a `data-auto-leave-validation="1"` attribute on a `&lt;form&gt;` for example, and it will automatically set the `data-leave-validation` attributes inside the form elements.

`data_auto_leave_validation(parent)`  from `extra.js` is called on slider open and page load.

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;
Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;</content>
</entry>
<entry>
<title>Implement sudo mode / reauthentication (#7753)</title>
<updated>2025-07-31T11:53:14+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-07-31T11:53:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=3ce64d271b2b470bd6c9f7294946347dcdfed9b9'/>
<id>urn:sha1:3ce64d271b2b470bd6c9f7294946347dcdfed9b9</id>
<content type='text'>
* Implement sudo mode / reauthentication

* i18n: fr

* generate flags

* Improvements

* Remove HMAC check
* Don't require reauth to access logs when signed in as admin
* Notify user of bad login via notification instead

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Secure serving of user files from extensions (#7495)</title>
<updated>2025-04-07T06:47:42+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-04-07T06:47:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=0c33d2713957eaf6cc0222150df7ebbcb53beaed'/>
<id>urn:sha1:0c33d2713957eaf6cc0222150df7ebbcb53beaed</id>
<content type='text'>
* Secure serving of user files from extensions
fix https://github.com/FreshRSS/FreshRSS/issues/4930

* More fixes

* Typo</content>
</entry>
<entry>
<title>upd: Turkish translations have been completed. Changes have been made to words in previous translations. (#6960)</title>
<updated>2024-11-01T09:42:28+00:00</updated>
<author>
<name>Ramazan Sancar</name>
<email>ramazansancar4545@gmail.com</email>
</author>
<published>2024-11-01T09:42:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=643a31558cf926ff8d2601f779be3a56b9e40192'/>
<id>urn:sha1:643a31558cf926ff8d2601f779be3a56b9e40192</id>
<content type='text'>
* upd: Update Turkish translation

* upd: "Ramazan Sancar" was added to Credits.md.

* upd: Turkish translations have been completed. Changes have been made to words in previous translations.
upd: fixed ellipsis usage.

* Update app/i18n/tr/gen.php

* add: Turkish translations have been made for Core Extensions (User CSS, UserJS).

* Update app/i18n/tr/sub.php

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

* Update app/i18n/tr/sub.php

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

* Update app/i18n/tr/sub.php

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Fix HTML encodings in e.g. cURL options (#6821)</title>
<updated>2024-09-22T09:05:06+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2024-09-22T09:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=1c09408c6459eb8d719d94ba593edfa44883cb85'/>
<id>urn:sha1:1c09408c6459eb8d719d94ba593edfa44883cb85</id>
<content type='text'>
* Fix HTML encodings in e.g. cURL options

* Trim headers whitespace</content>
</entry>
<entry>
<title>Add core extensions: UserCSS, UserJS (#6267)</title>
<updated>2024-06-05T18:58:19+00:00</updated>
<author>
<name>hkcomori</name>
<email>hkcomori@gmail.com</email>
</author>
<published>2024-06-05T18:58:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=99b1d551e61adb5cbd014677f151f443b0c6c35f'/>
<id>urn:sha1:99b1d551e61adb5cbd014677f151f443b0c6c35f</id>
<content type='text'>
* Copy CustomCSS and CustomJS

Original: FreshRSS/Extensions@9f21984

* Rename CustomCSS -&gt; UserCSS

* Rename CustomJS -&gt; UserJS

* Change metadata

The name is used for the directory where the configuration
is stored and should not contain spaces.
Since the name was changed, I reset the version number and
changed to semantic versioning.

* Change data directory

Changed the location of the configuration file to
the user data directory, because it is not `static`.
That way, the user's configurations are gathered
in the user directory, which makes it easier to backup them.

* Edit documentations

Remove procedures to install the extension
because it is no longer necessary.

* Fix wrong variables in the configuration page

Remove permission error indication because the storage location
is now in the user data directory managed by the application.

* Remove the `xExtension-` prefix for core extensions

* Set version to 1.0.0 for UserCSS, UserJS

* Refactoring

* Remove unused variables

* Remove version 0.0.1 in Changelog

Version 0.0.1 will not be merged, so only version 1.0.0 will remain.

* public getFileUrl

* Revert more protected

* Use entrypoint for extension user path instead of name

* Add space to extension name

* Add `#[\Override]`

* Add explains of User CSS and User JS to docs

* Remove README of User CSS and User JS

* Add migration code for extension user path

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Remove core extensions Google Groups and Tumblr (#5457)</title>
<updated>2023-06-12T06:22:02+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-06-12T06:22:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=2f5ef39cf2e0bad6d3a30b02e42d10700d0546a3'/>
<id>urn:sha1:2f5ef39cf2e0bad6d3a30b02e42d10700d0546a3</id>
<content type='text'>
* Remove core extensions Google Groups and Tumblr
* Google Groups seems to have remove support for RSS/ATOM https://github.com/FreshRSS/FreshRSS/pull/2838 (see e.g. https://www.theregister.com/2021/08/16/google_groups_rss/ )
* Tumblr seems to have fixed their RSS/ATOM post-GDPR https://github.com/FreshRSS/FreshRSS/pull/1924

So for both of thems, the extensions have become irrelevant.

* Cleaning</content>
</entry>
<entry>
<title>PHPStan Level 7 complete (#5406)</title>
<updated>2023-05-22T18:55:59+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-22T18:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=445cc23abdda5767b622d70cf7b5eb5310dcf908'/>
<id>urn:sha1:445cc23abdda5767b622d70cf7b5eb5310dcf908</id>
<content type='text'>
* PHPStan Level 7 complete

* Start PHPStan Level 8

* Forgot exclude .phtml</content>
</entry>
<entry>
<title>Fix extensions in actualize_script (#5243)</title>
<updated>2023-04-04T08:23:26+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-04-04T08:23:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=36aa0122e15b6c5a4bf923467b63a577cac5a539'/>
<id>urn:sha1:36aa0122e15b6c5a4bf923467b63a577cac5a539</id>
<content type='text'>
* Fix extension freshrss_user_maintenance in actualize_script
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3440

The hook was called before registering all the extensions for the current user

* PHPStan Level 6 for extensions
And remove 5-year old legacy format of enabled extensions &lt; FreshRSS 1.11.1

* Fix multiple bugs in extensions

* Minor typing

* Don't change signature of methods supposed to be overridden

* PHPStan Level 9 and compatibility Intelliphense

* Set as final the methods not supposed to be overriden</content>
</entry>
</feed>
