<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/p/scripts, branch 1.28.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.28.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.28.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2025-12-21T14:37:23+00:00</updated>
<entry>
<title>Fix dropdown menus in sidebar going under the navigation bar (#8336)</title>
<updated>2025-12-21T14:37:23+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-12-21T14:37:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=672411ca7053345634a63dd3eabed75baf93043f'/>
<id>urn:sha1:672411ca7053345634a63dd3eabed75baf93043f</id>
<content type='text'>
Missed in #8335 because I was testing without having the navigation bar enabled.

&lt;img width="674" height="198" alt="image" src="https://github.com/user-attachments/assets/a1db7f95-f1d9-47e5-a572-20892e6c7abc" /&gt;
</content>
</entry>
<entry>
<title>Display sidebar dropdowns above if no space below (#8335)</title>
<updated>2025-12-21T13:02:27+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-12-21T13:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f387abe2c4b6668cb507ba2377f8b141e5818ca9'/>
<id>urn:sha1:f387abe2c4b6668cb507ba2377f8b141e5818ca9</id>
<content type='text'>
Closes https://github.com/FreshRSS/FreshRSS/issues/7801</content>
</entry>
<entry>
<title>Reverse hash and nonce (#8320)</title>
<updated>2025-12-15T21:06:05+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-12-15T21:06:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=476e57b04646416e24e24c56133c9fadf9e52b95'/>
<id>urn:sha1:476e57b04646416e24e24c56133c9fadf9e52b95</id>
<content type='text'>
Safer password evaluation</content>
</entry>
<entry>
<title>Improve scrolling into filter in sidebar (#8307)</title>
<updated>2025-12-15T14:12:12+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-12-15T14:12:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=36118117f008a5dc91068d0c69a52e43e7928e85'/>
<id>urn:sha1:36118117f008a5dc91068d0c69a52e43e7928e85</id>
<content type='text'>
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8281

todo:
* [x] Include labels (prefix `t_`) too
* [x] Keep sidebar scrollTop when using the nav menu
* [ ] ~~Make this work in the reader view's sidebar too~~ for separate PR
* [x] Prevent whole page from scrolling on `scrollIntoView()` call, just scroll in the sidebar (probably related: https://github.com/FreshRSS/FreshRSS/pull/8306#issuecomment-3647414618)

This TODO will be done in a separate PR since it requires optimizing the sidebar toggle code.
edit: it does work on Chrome already though, but only if `#stream` isn't too large / breaks randomly (Firefox is slower it seems)
</content>
</entry>
<entry>
<title>Scroll into filtered feed/category on page load (#8281)</title>
<updated>2025-12-11T17:33:39+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-12-11T17:33:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=7dd04b00cf1fc2684ac73afe67acaa8e0c664aed'/>
<id>urn:sha1:7dd04b00cf1fc2684ac73afe67acaa8e0c664aed</id>
<content type='text'>
Previously if you were to go to for example *Subscription management* and filter a feed, the feed wouldn't be visible in a sidebar with lots of feeds, since you'd have to scroll to it first. Now, this is no longer the case.
Note that if the navigation comes from the sidebar itself, the original behavior remains. (scroll into previous `scrollTop` value of sidebar)
Also improves experience of using shift+j/k (see https://github.com/FreshRSS/FreshRSS/pull/8057)
</content>
</entry>
<entry>
<title>Keep scroll state of page when closing the slider with JS shortcut (#8301)</title>
<updated>2025-12-09T16:05:05+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-12-09T16:05:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=e85d8053511b12de9296b6acd3e963b3a6e82242'/>
<id>urn:sha1:e85d8053511b12de9296b6acd3e963b3a6e82242</id>
<content type='text'>
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8295</content>
</entry>
<entry>
<title>Fix chart resize regression due to chart.js v4 update (#8298)</title>
<updated>2025-12-08T23:59:10+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-12-08T23:59:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=bb9089aa990a8e1dd228d47aa5b11b3500cdface'/>
<id>urn:sha1:bb9089aa990a8e1dd228d47aa5b11b3500cdface</id>
<content type='text'>
* Fix chart resize regression due to chart.js v4 update

* Update to chart.js v4.5.1 + add .map file for easier debugging

https://github.com/chartjs/Chart.js/releases/tag/v4.5.1

* Delete .map file</content>
</entry>
<entry>
<title>Scaling of user statistics (#8277)</title>
<updated>2025-12-04T18:11:31+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2025-12-04T18:11:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=78e40c6fe3afe7f815ef9d32646610e2d5436ba3'/>
<id>urn:sha1:78e40c6fe3afe7f815ef9d32646610e2d5436ba3</id>
<content type='text'>
Fix https://github.com/FreshRSS/FreshRSS/issues/8268
To better support user management on FreshRSS instance with many users.

SQL speed improved. On a reduced test with 5 users, including some large accounts (PostgreSQL on a very tiny and slow server), improving from ~2.3s to ~1.8s, which gives ~20% speed improvement.

Then tested with 1000 users, with only the default feed (on my old desktop computer):

```sh
for i in {1..1000}; do ./cli/create-user.php --user=freshrss$i --password=freshrss; done
app/actualize_script.php
cli/access-permissions.sh
```

SQLite:

```console
$ time cli/user-info.php | wc -l
1001

real    0m1.366s
user    0m0.908s
sys     0m0.475s
```

PostgreSQL:

```console
$ time cli/user-info.php | wc -l
1001

real    0m28.498s
user    0m12.137s
sys     0m2.217s
```

MariaDB:

```console
# time ./cli/user-info.php | wc -l
1001

real    0m49.485s
user    0m1.276s
sys     0m2.258s
```

Yes, SQLite is much faster - not a surprise for such use-cases, where the TCP connection is not re-used.

I have added some CLI options to disable some statistics:

```sh
cli/user-info.php --no-db-size --no-db-counts
```

For the Web UI, I have disabled detailed user statistics if it takes too long, and retrieve missing user statistics asynchronously via JavaScript. Lazy loading of the user details based on IntersectionObserver, with maximum 10 requests in parallel.
Web UI tested on 1000 users as well. Checked with SeaMonkey.
</content>
</entry>
<entry>
<title>Implement button for toggling sidebar on all views (#8201)</title>
<updated>2025-12-04T07:48:03+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-12-04T07:48:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=d55f017ccd941c135055d7c3a85007b8e7e02449'/>
<id>urn:sha1:d55f017ccd941c135055d7c3a85007b8e7e02449</id>
<content type='text'>
* Implement button for toggling sidebar on all views

Closes https://github.com/FreshRSS/FreshRSS/issues/7673, https://github.com/FreshRSS/FreshRSS/issues/7100, https://github.com/FreshRSS/FreshRSS/issues/6119, https://github.com/FreshRSS/FreshRSS/issues/5338, https://github.com/FreshRSS/FreshRSS/issues/2792, https://github.com/FreshRSS/FreshRSS/issues/4224, https://github.com/FreshRSS/FreshRSS/issues/4136

https://github.com/user-attachments/assets/0629e465-6450-440e-b38b-430e9ff73ef9

Keyboard shortcut for doing the same: &lt;kbd&gt;t&lt;/kbd&gt;

* Partially fix other views

Repartition page looks broken on Swage

* Correction

`close-aside` wasn't meant to be removed

* i18n(conf): fr

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

* make fix-all

* Fix settings slider not opening in reader view

* make readme

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Replace arrow navigation in theme switcher with `&lt;select&gt;` (#8190)</title>
<updated>2025-11-06T19:45:44+00:00</updated>
<author>
<name>Inverle</name>
<email>inverle@proton.me</email>
</author>
<published>2025-11-06T19:45:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=8cb2158a390088738eaa27ed3b01d784c35d9f9d'/>
<id>urn:sha1:8cb2158a390088738eaa27ed3b01d784c35d9f9d</id>
<content type='text'>
Follow-up (or replacement) of https://github.com/FreshRSS/FreshRSS/pull/8167

![gif](https://github.com/user-attachments/assets/96cdeaff-36bc-4d0b-9b75-97bd7ff78ba1)
</content>
</entry>
</feed>
