<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/p/scripts, branch 1.27.1</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.1</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.27.1'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2025-09-23T20:12:44+00:00</updated>
<entry>
<title>Lazy-load `&lt;track src&gt;` (#7997)</title>
<updated>2025-09-23T20:12:44+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-09-23T20:12:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=067479a9f16cb91753acfd1fea5d0a18106e1c44'/>
<id>urn:sha1:067479a9f16cb91753acfd1fea5d0a18106e1c44</id>
<content type='text'>
Follow-up of #7636

I found it's the only missing element that needs to be lazy loaded by putting HTML of https://github.com/cure53/HTTPLeaks/blob/main/leak.html into a feed</content>
</entry>
<entry>
<title>Fix another user self-delete regression (#7877)</title>
<updated>2025-09-15T20:17:14+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-09-15T20:17:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ddb51c0e95074c6fbddade547ca267801177bb01'/>
<id>urn:sha1:ddb51c0e95074c6fbddade547ca267801177bb01</id>
<content type='text'>
Regression from #7763 
Earlier regression which was fixed before #7626

In addition:
* get rid of `data-toggle` (refactor)
* show invalid login message if deleting account and entered incorrect password instead of redirect to 403
* remove unused reference to `r` parameter
* `forgetOpenCategories()` on login not on any crypto form
</content>
</entry>
<entry>
<title>Fix JS error when navigating to last article with keyboard (#7957)</title>
<updated>2025-09-12T22:15:03+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-09-12T22:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=08335911313ff98e0a791c5f773078f819519db6'/>
<id>urn:sha1:08335911313ff98e0a791c5f773078f819519db6</id>
<content type='text'>
This error would print in the console if navigating to last article with &lt;kbd&gt;J&lt;/kbd&gt; or &lt;kbd&gt;K&lt;/kbd&gt; key:

&lt;img width="836" height="173" alt="image" src="https://github.com/user-attachments/assets/0ae88d1c-26eb-4ebe-8d15-4bf03c24cef6" /&gt;

---

To reproduce the bug:
&lt;ol&gt;
&lt;li&gt;Select unread + read view, while having all articles marked as read&lt;/li&gt;
&lt;li&gt;Mark two as unread and go to unread only view&lt;/li&gt;
&lt;li&gt;Navigate with either &lt;kbd&gt;J&lt;/kbd&gt; or &lt;kbd&gt;K&lt;/kbd&gt; until you go past the last article or before first article&lt;/li&gt;
&lt;li&gt;See error in console and no navigation with &lt;code&gt;first_feed()&lt;/code&gt; or &lt;code&gt;last_feed()&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

note: I'm not sure if the fix is what the expected behavior is supposed to be
</content>
</entry>
<entry>
<title>Translate the API information page (#7922)</title>
<updated>2025-09-10T05:04:17+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2025-09-10T05:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=a1411c7f2c10ab7c0e3cd49b8ffff38009ade35b'/>
<id>urn:sha1:a1411c7f2c10ab7c0e3cd49b8ffff38009ade35b</id>
<content type='text'>
Closes #6222
Translate the `api/index.php` page

* Update app/i18n/pl/api.php

Co-authored-by: Inverle &lt;inverle@proton.me&gt;

* Update app/i18n/de/api.php

Co-authored-by: maTh &lt;1645099+math-GH@users.noreply.github.com&gt;

* i18n: fr
* &lt;kbd&gt;

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;

---------

Co-authored-by: Inverle &lt;inverle@proton.me&gt;
Co-authored-by: maTh &lt;1645099+math-GH@users.noreply.github.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Improve leave validation (#7830)</title>
<updated>2025-08-31T17:09:02+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-08-31T17:09:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=87879e83927d66332d2d0794bc47eeb55f8c9b46'/>
<id>urn:sha1:87879e83927d66332d2d0794bc47eeb55f8c9b46</id>
<content type='text'>
* Improve leave validation

* array_key_exists -&gt; isset

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;
</content>
</entry>
<entry>
<title>Global view: use generic CSS class to open panel (#7868)</title>
<updated>2025-08-30T19:32:50+00:00</updated>
<author>
<name>maTh</name>
<email>1645099+math-GH@users.noreply.github.com</email>
</author>
<published>2025-08-30T19:32:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=585875cda7e3e261062a9b4f9d836bd8671b838e'/>
<id>urn:sha1:585875cda7e3e261062a9b4f9d836bd8671b838e</id>
<content type='text'>
I found this todo and just did it. 😆 

Changes proposed in this pull request:

- use `open-class` instead of `.box a`


How to test the feature manually:

1. go to global view
2. click on a box title link: it will open the whole category in the panel
3. click on a feed name: it will open the feed articles in the panel
4. nothing will be different for the user as before
</content>
</entry>
<entry>
<title>Fix chart.js support for SeaMonkey (#7816)</title>
<updated>2025-08-11T19:23:50+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-08-11T19:23:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=18536409c02f38c6017ed5ca9a81aa84a0b5654b'/>
<id>urn:sha1:18536409c02f38c6017ed5ca9a81aa84a0b5654b</id>
<content type='text'>
SeaMonkey support was broken by #7752 

Reproduce JS file:
```bash
git clone https://github.com/chartjs/Chart.js &amp;&amp; \
cd Chart.js &amp;&amp; \
git checkout tags/v4.5.0 &amp;&amp; \
sed -i 's/es2022/es2021/g' rollup.config.js &amp;&amp; \
pnpm install &amp;&amp; \
pnpm run build &amp;&amp; \
sha256sum dist/chart.umd.min.js
# SHA256 of dist/chart.umd.min.js should be: 311a5a5e0db077a787b782977f359a72f8584f94d800e324dcc6aefe8a006dd7
```
</content>
</entry>
<entry>
<title>Show warning when unsafe CSP policy is in use (#7804)</title>
<updated>2025-08-09T19:47:39+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-08-09T19:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=2b85a50ed72982ab0c0f9ef98c7ed1e15f21bf5f'/>
<id>urn:sha1:2b85a50ed72982ab0c0f9ef98c7ed1e15f21bf5f</id>
<content type='text'>
* Show warning when unsafe CSP policy is in use

* Fix bare markdown URL

* i18n: fr

* Minor i18n: fr

* Add target="_blank" to i18n strings

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</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>Improve sharing via Print (#7728)</title>
<updated>2025-08-06T19:49:13+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-08-06T19:49:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=149136fbe252cca4cb8dcdb463df135094bc0f87'/>
<id>urn:sha1:149136fbe252cca4cb8dcdb463df135094bc0f87</id>
<content type='text'>
List of changes:
* The temporary document for printing is now in an `&lt;iframe&gt;` instead of a new tab
* The whole `&lt;head&gt;` element is copied to the temporary document, except for `&lt;script&gt;` tags to copy over the `&lt;meta&gt;` tags as well
* URLs that contain the instance base URL are now removed from the printed PDF
* The saved filename (PDF) will now default to the article title
* `&lt;details&gt;` is auto expanded
* Styling:
   * The main document's `&lt;html&gt;` class is copied over to preserve some styling that might use those classes
   * Instead of writing `content_el.innerHTML` to the temporary document, `content_el.outerHTML` is now written instead to apply the styles that select `.content`
   * `.dropdown-menu` is now hidden in the printed document, because it can't be expanded anyway
   * Headers and footers are hidden in the printed document
* The printed document will now display correctly all the time, by waiting for it to load before calling `print()`
   * Before, the stylesheets might've not finished loading and the document was broken
* Better browser support on mobile for this feature
   * Before, the document would fail to print on Chrome Mobile
   
Tested on:
* Firefox - both desktop and mobile, works ✅
* Chrome - both desktop and mobile, works ✅
* Opera - desktop, works (same as Chrome) ✅
* Brave - both desktop and mobile (same as Chrome), works ✅
* Safari - both desktop and mobile, works✅
* Microsoft Edge - both desktop and mobile, works ✅
* GNOME Web - desktop, works ✅
* SeaMonkey - desktop, works ✅

Known issues:
* Images may not finish loading the first time the print dialog is opened

TODO:
* [x] Test on Safari
* [x] Try to fix GNOME Web
</content>
</entry>
</feed>
