<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/lib/core-extensions/UserJS, branch 1.27.0</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.27.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.27.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2025-08-08T15:39:38+00:00</updated>
<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>
</feed>
