<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/p/api/greader.php, branch 1.16.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.16.1</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.16.1'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2020-05-08T19:54:45+00:00</updated>
<entry>
<title>Fix bad relogging clients (#2961)</title>
<updated>2020-05-08T19:54:45+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-05-08T19:54:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=17539668eac84b9f7b86de036c9e23fa226054d6'/>
<id>urn:sha1:17539668eac84b9f7b86de036c9e23fa226054d6</id>
<content type='text'>
* Fix bad relogging clients

Some clients (like EasyRSS) are still using the old HTTP Authorization
header after having logged to log in with another user.
We should not attempt to process Authorization headers during a login
request

* Typo

* A bit safer

Avoid null exception</content>
</entry>
<entry>
<title>API relaxed detection of short/long item ID forms (#2957)</title>
<updated>2020-05-07T16:33:40+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-05-07T16:33:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=0fc71fdf42d537d996609f2d6a19803f7274a1bd'/>
<id>urn:sha1:0fc71fdf42d537d996609f2d6a19803f7274a1bd</id>
<content type='text'>
#Fix https://github.com/FreshRSS/FreshRSS/issues/2956
Bug/feature introduced by https://github.com/FreshRSS/FreshRSS/pull/2947 (which was following the specification better)

The original code `strpos($e_id, '/') !== null` was wrong (it can never be null, only false or integer), but the idea was to check whether the client was sending a short form (decimal) or long form of the ID (hexadecimal with prefixes including slashes). Since it has not given problem until my recent typo fix, this means that the short form is apparently not used by the clients we tested. But now that we are back to following the specification better, it looks like a client such as Reeder 4 is sending an hexadecimal form without a prefix, which breaks the detection.

This patch changes the detection, which should work in all known cases AND comply with the specification

https://feedhq.readthedocs.io/en/latest/api/terminology.html#items</content>
</entry>
<entry>
<title>Fix warning with FeedReader (#2947)</title>
<updated>2020-05-05T15:13:18+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-05-05T15:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=5e18ca840891cac3087abde47de8481352863602'/>
<id>urn:sha1:5e18ca840891cac3087abde47de8481352863602</id>
<content type='text'>
FeedReader 2.10.0 sends something like
`T=cd3421a73e8a09f955449d02beaf9593b0c0265cZZZZZZZZZZZZZZZZZ&amp;r=user/-/state/com.google/read&amp;i=-/tag%3Agoogle.com&amp;i=-/2005%3Areader/item/0005a4b97779db22`
to `/api/greader.php/reader/api/0/edit-tag`

The first `i=-/tag/google.com` is wrong and cannot be converted to an entry ID.
This resulted in:

&gt; PHP Warning:  gmp_init(): Unable to convert variable to GMP - string is not an integer in /var/www/FreshRSS/p/api/greader.php on line 35</content>
</entry>
<entry>
<title>API Use string type for Usec (#2935)</title>
<updated>2020-04-30T21:17:46+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-04-30T21:17:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f0db70dcb03cef0c53db0ee0b678a64b79c941df'/>
<id>urn:sha1:f0db70dcb03cef0c53db0ee0b678a64b79c941df</id>
<content type='text'>
#Fix https://github.com/FreshRSS/FreshRSS/issues/2934</content>
</entry>
<entry>
<title>Expose podcast in API (#2898)</title>
<updated>2020-04-16T16:11:26+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-04-16T16:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=bdc4da6ad07f2f5dfa7cf397cf3a379199c0a2ed'/>
<id>urn:sha1:bdc4da6ad07f2f5dfa7cf397cf3a379199c0a2ed</id>
<content type='text'>
* Expose podcast in API

Expose RSS enclosures in our API, e.g. for clients supporting podcasts

* PHP CS?

* Annoying linter

* Light optimisation</content>
</entry>
<entry>
<title>API return proper newestItemTimestampUsec (#2854)</title>
<updated>2020-04-01T00:08:45+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-04-01T00:08:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=5858aaf7fc4f4ebfe7cc4036d46a93397b06ccde'/>
<id>urn:sha1:5858aaf7fc4f4ebfe7cc4036d46a93397b06ccde</id>
<content type='text'>
* API return proper newestItemTimestampUsec

#fix https://github.com/FreshRSS/FreshRSS/issues/2853

* Minor naming

* Add newestItemTimestampUsec for labels

* Do not use t.name after all</content>
</entry>
<entry>
<title>API return OK for an empty request (#2855)</title>
<updated>2020-03-30T17:17:12+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-03-30T17:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=c79c7640a257dbe1771079bace85d60829c6f0b9'/>
<id>urn:sha1:c79c7640a257dbe1771079bace85d60829c6f0b9</id>
<content type='text'>
Fix https://framateam.org/freshrss/pl/yozcezrnufno9eut3173d4wpry</content>
</entry>
<entry>
<title>GReader API consistent default category (#2840)</title>
<updated>2020-03-28T11:35:21+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-03-28T11:35:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=cb4d009ebb986b896b181e27d2592837b2a2c3d8'/>
<id>urn:sha1:cb4d009ebb986b896b181e27d2592837b2a2c3d8</id>
<content type='text'>
* GReader API consistent default category

#Fix https://github.com/FreshRSS/FreshRSS/issues/2839

* Also for subscription/list</content>
</entry>
<entry>
<title>GReader remove unsused parameter (#2816)</title>
<updated>2020-02-29T21:30:19+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-02-29T21:30:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=e7c5b03a4d11535ff24671f533bfc5670c83d4dc'/>
<id>urn:sha1:e7c5b03a4d11535ff24671f533bfc5670c83d4dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Better performance with yield (#2588)</title>
<updated>2020-02-29T17:19:09+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-02-29T17:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=0f94402b7e8b7e25ee605f830b7c7becbe78ba8b'/>
<id>urn:sha1:0f94402b7e8b7e25ee605f830b7c7becbe78ba8b</id>
<content type='text'>
* Better performance with yield

Largely decrease the time to first byte, and reduced memory consumtion.
Before, we used to make several copies in memory of the whole list of
articles before sending them to the client. Now streamed as they are
processed.

* Travis
</content>
</entry>
</feed>
